/* Shared corporate identity for Origine Labs and Astrotechnica */
.ol-site-header{background:#050505;color:#fff}.ol-site-header .ol-logo{color:#fff}.ol-site-header .ol-logo span{color:#f00020}.ol-site-header nav a{color:#fff}.ol-site-header nav .ol-outline{border-color:#f00020}.ol-site-header .ol-head{padding-top:20px;padding-bottom:20px}.astro-hero{padding-top:60px;padding-bottom:58px}.astro-hero>img{height:410px}.astro-intro{font-size:21px!important;color:#111827!important;line-height:1.5;margin-bottom:20px!important}.astro-split{display:grid;grid-template-columns:1.25fr 1fr;gap:80px}.astro-feature{background:#f8f9fb;padding:28px 30px;border:1px solid #e2e5ea}.astro-single{columns:1}.astro-projects{margin-top:30px}.astro-card{border:1px solid #e2e5ea;padding-bottom:22px}.astro-card img{height:205px}.astro-card h3,.astro-card p,.astro-card .astro-link,.astro-card .astro-note{margin-left:20px;margin-right:20px}.astro-card p{font-size:14px}.astro-card .astro-meta{font-size:10px;letter-spacing:1.4px;color:#e40022;margin-top:22px;margin-bottom:5px}.astro-link{color:#d9001d!important;font-weight:600;font-size:14px}.astro-note{font-size:13px;color:#6b7280}.astro-focus{margin-top:28px}.astro-panel{border-top:2px solid #f00020;padding:10px 4px}.astro-store,.astro-bottom{display:flex;justify-content:space-between;align-items:center;gap:45px}.astro-store>div,.astro-bottom>div{max-width:690px}.astro-store .ol-button,.astro-bottom .ol-outline{white-space:nowrap}.astro-bottom{padding-bottom:65px}@media(max-width:850px){.astro-split{grid-template-columns:1fr;gap:20px}.astro-hero{padding-top:35px}.astro-hero>img{height:300px}.astro-store,.astro-bottom{align-items:flex-start;flex-direction:column;gap:12px}}@media(max-width:550px){.astro-hero>img{height:230px}.astro-card img{height:190px}.ol-site-header .ol-head{padding-top:18px;padding-bottom:18px}.ol-site-header nav{gap:13px}}

/* V3 project detail pages */
.ol-project-detail{padding-top:64px;padding-bottom:72px;max-width:1050px}
.ol-project-detail h1{font-size:clamp(2.5rem,6vw,4.5rem);margin:10px 0 24px}
.ol-project-detail .project-content{padding-top:20px;padding-bottom:24px}
.ol-project-detail .project-content .container{max-width:860px;margin:0 auto}
.ol-project-detail img{max-width:100%;height:auto;display:block;margin:24px auto}
.ol-project-detail a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.astro-card h3 a{color:inherit;text-decoration:none}
.astro-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.astro-card a[href$=".html"]:not(:first-child){margin-right:12px}

/* Expertise navigation and technical service pages */
.ol-list a{color:inherit;text-decoration:none}.ol-list a:hover,.ol-grid h3 a:hover{color:#d9001d;text-decoration:underline;text-underline-offset:4px}.ol-grid h3 a{color:inherit;text-decoration:none}.ol-mini-link{display:inline-block;margin-top:8px;color:#d9001d;font-size:13px;text-decoration:none;font-weight:600}.ol-mini-link:hover{text-decoration:underline}.ol-service-page{max-width:1120px}.ol-service-page h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.12;margin:18px 0}.ol-service-lead{max-width:780px;font-size:20px!important;line-height:1.65!important}.ol-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 60px;margin-top:50px}.ol-service-grid article{border-top:1px solid #d9dfe7;padding-top:20px}.ol-service-grid h2{font-size:21px;margin:0 0 12px}.ol-service-grid p{font-size:15px;line-height:1.8}.ol-service-grid a{color:#c6001a}.ol-service-contact{border-top:1px solid #d9dfe7}.ol-service-contact .ol-outline{display:inline-block;margin:16px 0}.ol-social{display:flex;gap:9px;align-items:center;justify-content:center;flex-basis:100%;margin:16px auto 8px}.ol-social a{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;background:#0b1d3b;color:white!important;text-decoration:none;font-size:14px;font-weight:800;border-radius:3px;font-family:Arial,sans-serif}.ol-social a:hover{background:#d9001d}.ol-social .social-youtube{font-size:12px}.ol-social .social-pinterest{font-family:Georgia,serif;font-style:italic;font-size:18px}.ol-social .social-facebook{font-size:18px}@media(max-width:700px){.ol-service-grid{grid-template-columns:1fr;gap:18px}.ol-service-page h1{font-size:2.6rem}}

/* V4.1 — centered footer across every page */
.ol .ol-foot.ol-foot-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0;text-align:center;border-top:1px solid #d9dde3;padding:38px 20px 35px;margin-top:24px}
.ol-foot-centered .ol-logo{display:inline-block;font-size:25px;line-height:1.1;letter-spacing:-.8px;margin:0 0 11px;text-decoration:none}
.ol-foot-centered .ol-foot-tagline{font-size:13px;color:#56647a;margin:0 0 20px}
.ol-foot-centered nav{display:flex;align-items:center;justify-content:center;gap:23px;flex-wrap:wrap;margin:0 0 23px;font-size:13px}
.ol-foot-centered nav a{color:#15253d;text-decoration:none}
.ol-foot-centered nav a:hover{color:#d9001d;text-decoration:underline;text-underline-offset:4px}
.ol-foot-centered .ol-social{display:flex;flex-basis:auto;justify-content:center;align-items:center;gap:10px;margin:0 0 19px;width:auto}
.ol-foot-centered .ol-social a{width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center}
.ol-foot-centered .ol-foot-copy{display:block;color:#68758a;font-size:12px;line-height:1.5}
@media(max-width:550px){.ol .ol-foot.ol-foot-centered{padding:30px 15px}.ol-foot-centered nav{gap:13px 19px}}

/* V4 footer refinement: two rows, original social network pictograms */
.ol .ol-foot.ol-foot-two-row{display:block;text-align:left;border-top:1px solid #d9dde3;padding-top:22px;padding-bottom:25px;margin-top:24px}
.ol-footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:45px}
.ol-footer-brand{font-size:20px;line-height:1.1;white-space:nowrap;color:#ed001d!important;font-weight:400;letter-spacing:-.6px;text-decoration:none}
.ol-footer-brand strong{color:#0b1d3b;font-weight:700}
.ol-footer-top nav{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px 24px;font-size:13px}
.ol-footer-top nav a{color:#0b1d3b;text-decoration:none}
.ol-footer-top nav a:hover{color:#d9001d;text-decoration:underline}
.ol-footer-social{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:18px}
.ol-footer-social a{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#0b1d3b;border-radius:2px;transition:background .15s}
.ol-footer-social a:hover{background:#d9001d}
.ol-footer-social img{width:17px;height:17px;display:block;filter:brightness(0) invert(1)}
@media(max-width:600px){.ol .ol-foot.ol-foot-two-row{padding-left:16px;padding-right:16px}.ol-footer-top{gap:12px}.ol-footer-brand{font-size:16px}.ol-footer-top nav{gap:8px 11px;font-size:11px}.ol-footer-social{margin-top:20px}}

/* Expertise keywords on consultancy page */
.ol-service-keywords { font-size: .85rem; line-height: 1.65; margin-top: .85rem; color: #52627d; }
.ol-service-keywords strong { color: #0b1d3b; font-weight: 600; }

/* OL-SH16P development page */
.wfs-subtitle{font-size:clamp(1.15rem,2vw,1.6rem);color:#455c7d;margin:-10px 0 34px}
.wfs-figure{margin:26px 0 36px}.wfs-figure img{width:100%;height:auto}
.wfs-figure figcaption,.wfs-gallery figcaption{font-size:.85rem;color:#53647a;line-height:1.6;margin-top:8px}
.wfs-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:20px 0 30px}
.wfs-gallery figure{margin:0;min-width:0}.wfs-gallery img{width:100%;height:auto;border:1px solid #e1e5eb}
.wfs-notice{border-left:3px solid #c72a36;background:#f6f7f9;padding:16px 20px;line-height:1.7}
.wfs-links{line-height:2;padding-left:22px}

/* V4.1 — OL-SH16P engineering gallery and development updates */
.wfs-hero-figure { margin: 0; }
.wfs-hero-figure img { display:block; width:100%; height:auto; border:1px solid #e1e5ea; }
.wfs-hero-figure figcaption, .wfs-photo-grid figcaption { margin-top:9px; color:#53647c; font-size:0.88rem; line-height:1.5; }
.wfs-slide-wide { margin: 22px 0 30px; }
.wfs-slide-wide img { display:block; max-width:100%; height:auto; }
.wfs-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:24px 0 32px; }
.wfs-photo-grid figure { margin:0; min-width:0; }
.wfs-photo-grid img { display:block; width:100%; height:200px; object-fit:cover; border:1px solid #e1e5ea; }
.wfs-photo-grid a:hover img, .wfs-hero-figure a:hover img { opacity:0.9; }
.wfs-links li { margin-bottom:17px; }
.wfs-post-desc { display:block; margin-top:4px; color:#53647c; line-height:1.55; }
@media(max-width:780px) { .wfs-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } .wfs-photo-grid img {height:170px;} }
@media(max-width:460px) { .wfs-photo-grid { grid-template-columns:1fr; } .wfs-photo-grid img {height:auto; max-height:320px;} }

/* V4.2 – C8 accessory project */
.c8-lead{font-size:1.18rem;max-width:740px;line-height:1.65}.c8-status{border-left:3px solid #db123a;background:#f7f8fa;padding:18px 22px;margin:24px 0}.c8-status strong{color:#0e1a30}.c8-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.c8-card{border:1px solid #e0e5ea;padding:20px;background:#fff}.c8-card h3{margin:0 0 10px}.c8-card p{margin:0 0 10px}.c8-card small{color:#58677c}.c8-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.c8-gallery figure{margin:0;border:1px solid #e0e5ea;background:#fafafa}.c8-gallery a{display:block}.c8-gallery img{display:block;width:100%;height:210px;object-fit:contain;background:#eceff2}.c8-gallery figcaption{padding:12px;font-size:.85rem;color:#48566b}.c8-callout{padding:18px 22px;border:1px solid #d7dce3;background:#f8f9fa}.c8-links a{display:inline-block;margin:8px 20px 8px 0}.c8-meta{color:#5b6c83}.c8-warning{border-left:3px solid #b82020;padding:12px 18px;background:#fff6f5}.ol-project-detail .c8-section{padding-top:25px;padding-bottom:25px;border-top:1px solid #e0e5ea}.ol-project-detail .c8-section p{line-height:1.7}@media(max-width:720px){.c8-grid{grid-template-columns:1fr}.c8-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.c8-gallery img{height:160px}}@media(max-width:440px){.c8-gallery{grid-template-columns:1fr}}

/* V4.3 — Heartly product case study */
.heartly-feature{margin-top:32px;padding:26px;border:1px solid #e0e4e9;border-left:3px solid #df193a;background:#fafbfc}
.heartly-feature h2{margin-top:0}.heartly-feature-img{display:block;max-width:540px;width:100%;max-height:280px;object-fit:contain;margin-top:22px;background:#f4f4f4}
.heartly-page{padding-top:50px;padding-bottom:50px}.heartly-lead{font-size:1.18rem;color:#45536b;max-width:780px}.heartly-status{padding:20px 24px;background:#f6f7f9;border-left:3px solid #d81b3b;margin:25px 0 38px}.heartly-status p{margin:8px 0 0}.heartly-section{padding:25px 0;border-top:1px solid #e2e5ea}.heartly-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;margin-top:22px}.heartly-gallery figure{margin:0;border:1px solid #e0e4e9;background:#fff}.heartly-gallery img{display:block;width:100%;height:190px;object-fit:contain;background:#f6f7f8}.heartly-gallery figcaption{font-size:.8rem;color:#58657a;padding:9px 12px;overflow-wrap:anywhere}.heartly-gallery a:hover img{opacity:.88}@media(max-width:600px){.heartly-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.heartly-gallery img{height:125px}.heartly-gallery figcaption{font-size:.72rem}}
