:root{--exp-navy:#102c46;--exp-blue:#386487;--exp-aqua:#187c7b;--exp-ink:#172b3a;--exp-muted:#5d6d78;--exp-line:#d7e0e4;--exp-paper:#fff;--exp-canvas:#f6f7f5;--exp-warm:#f1ede5;--exp-display:Georgia,"Times New Roman",serif;--exp-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--exp-container:76rem}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--exp-ink);background:var(--exp-canvas);font-family:var(--exp-sans);line-height:1.6}img{display:block;max-width:100%}a{text-underline-offset:.2em}
.exp-skip{position:absolute;z-index:100;top:-5rem;left:1rem;padding:.7rem 1rem;color:#fff;background:var(--exp-navy)}.exp-skip:focus{top:1rem}
.exp-container{width:min(100% - 2rem,var(--exp-container));margin-inline:auto}
.exp-eyebrow{margin:0;color:var(--exp-aqua);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.exp-title{margin:0;max-width:17ch;font-family:var(--exp-display);font-size:clamp(2.1rem,3.9vw,3.75rem);font-weight:400;letter-spacing:-.045em;line-height:1.06}
.exp-copy{max-width:65ch;color:var(--exp-muted);font-size:1rem;line-height:1.75}
.exp-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--exp-blue);font-size:.9rem;font-weight:760;text-decoration:none}.exp-link:hover{color:var(--exp-aqua);text-decoration:underline}

/* Breadcrumb */
.exp-breadcrumb{padding:1.1rem 0;background:var(--exp-paper);border-bottom:1px solid var(--exp-line)}.exp-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;color:var(--exp-muted);font-size:.76rem}.exp-breadcrumb a{color:var(--exp-muted);text-decoration:none}.exp-breadcrumb a:hover{color:var(--exp-aqua);text-decoration:underline}.exp-breadcrumb li+li:before{content:"/";margin-right:.5rem;color:var(--exp-line)}.exp-breadcrumb [aria-current]{color:var(--exp-ink);font-weight:700}

/* Hero */
.exp-hero{position:relative;overflow:hidden;padding:clamp(2.4rem,5vw,4rem) 0 clamp(3rem,6vw,4.75rem);background:var(--exp-paper)}
.exp-hero:after{content:"";position:absolute;right:-18rem;top:-24rem;width:44rem;height:44rem;border:1px solid rgba(56,100,135,.16);border-radius:50%;box-shadow:0 0 0 4rem rgba(56,100,135,.03),0 0 0 10rem rgba(56,100,135,.018);pointer-events:none}
.exp-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2rem,7vw,7rem);align-items:end}
.exp-hero h1{max-width:12ch;margin:1rem 0 0;font-family:var(--exp-display);font-size:clamp(2.5rem,5.2vw,4.9rem);font-weight:400;letter-spacing:-.06em;line-height:1}
.exp-hero__lead{max-width:58ch;margin:1.7rem 0 0;color:var(--exp-muted);font-size:clamp(1.02rem,1.45vw,1.16rem);line-height:1.72}
.exp-hero__side{padding:1.3rem 0 0 1.4rem;border-left:2px solid var(--exp-aqua);color:var(--exp-muted);font-size:.9rem}
.exp-hero__side strong{display:block;margin-bottom:.45rem;color:var(--exp-navy);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
.exp-hero__side p{margin:0 0 .9rem}
.exp-phones{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}
.exp-phones li{display:flex;align-items:baseline;gap:.6rem}
.exp-phones small{flex:0 0 3.6rem;color:var(--exp-muted);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.exp-phones a{color:var(--exp-blue);font-size:.95rem;font-weight:760;text-decoration:none}
.exp-phones a:hover{color:var(--exp-aqua);text-decoration:underline}
.exp-wa{display:inline-flex;align-items:center;gap:.45rem}
.exp-wa svg{width:1.05rem;height:1.05rem;flex:0 0 auto;fill:#25d366}

/* Purpose strip */
.exp-facts{background:var(--exp-canvas);border-block:1px solid var(--exp-line)}
.exp-facts__list{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}
.exp-facts__list li{padding:1.6rem 1.5rem;border-left:1px solid var(--exp-line)}
.exp-facts__list li:first-child{border-left:0;padding-left:0}
.exp-facts__list li:last-child{padding-right:0}
.exp-facts__list strong{display:block;margin-bottom:.35rem;color:var(--exp-navy);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.exp-facts__list span{color:var(--exp-muted);font-size:.93rem}

/* What it is */
.exp-what{padding:clamp(4rem,8vw,7rem) 0;background:var(--exp-paper)}
.exp-what__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,6.5rem);align-items:start}
.exp-what__grid>:first-child{position:sticky;top:6.5rem}
.exp-what__body .exp-copy+.exp-copy{margin-top:1.15rem}
.exp-rule{width:3.3rem;height:1px;margin:1.6rem 0;background:var(--exp-aqua)}

/* Examinations grid */
.exp-list{padding:clamp(4rem,8vw,7rem) 0;background:var(--exp-canvas)}
.exp-section-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,5vw,4rem);align-items:end;margin-bottom:3rem}
.exp-section-head .exp-copy{margin:0}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,2.5vw,2rem)}
.exp-item{display:flex;flex-direction:column;margin:0;scroll-margin-top:7.5rem}
.exp-item__frame{display:grid;place-items:center;overflow:hidden;min-height:13rem;height:13rem;border:1px solid var(--exp-line);background:#fbfcfc}
.exp-item__frame img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.85) contrast(.98);transition:transform .45s ease}
.exp-item:hover .exp-item__frame img{transform:scale(1.035)}
.exp-item__frame--empty{color:var(--exp-muted);background:#eef1f2;font-size:.75rem;text-align:center;padding:1.5rem}
.exp-item figcaption{padding-top:.9rem}
.exp-item__index{color:var(--exp-aqua);font-size:.7rem;font-weight:800;letter-spacing:.08em}
.exp-item h3{margin:.3rem 0 0;font-family:var(--exp-display);font-size:1.3rem;font-weight:400;letter-spacing:-.03em;line-height:1.15}
.exp-item p{margin:.45rem 0 0;color:var(--exp-muted);font-size:.86rem;line-height:1.55}
.exp-todo{display:inline-block;padding:.12rem .45rem;border:1px dashed #b6a56a;border-radius:.25rem;color:#8a7326;background:#fbf7ea;font-size:.68rem;font-weight:700}

/* Band */
.exp-band{padding:clamp(3.5rem,7vw,6rem) 0;color:#fff;background:var(--exp-navy)}
.exp-band__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,8vw,8rem);align-items:start}
.exp-band .exp-eyebrow{color:#8cd6cf}.exp-band .exp-title{color:#fff}
.exp-band__copy{max-width:60ch;margin:0;color:#d2e0e6;font-size:clamp(1.05rem,1.55vw,1.26rem);line-height:1.7}

/* Commitments */
.exp-commit{padding:clamp(4rem,8vw,7rem) 0;background:var(--exp-warm)}
.exp-commit__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,6.5rem);align-items:start}
.exp-commit__list{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem;margin:0;padding:0;list-style:none;border-top:1px solid rgba(23,43,58,.18)}
.exp-commit__list li{display:flex;gap:.65rem;padding:.9rem 0;border-bottom:1px solid rgba(23,43,58,.18);font-size:.89rem;line-height:1.5}
.exp-commit__list li:before{content:"—";flex:0 0 auto;color:var(--exp-aqua)}

/* Next */
.exp-next{padding:clamp(4rem,8vw,6.5rem) 0;background:var(--exp-canvas)}
.exp-next__head{margin-bottom:2.6rem}
.exp-next__list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--exp-line)}
.exp-next__list a{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1.5rem 1.6rem 0;border-bottom:1px solid var(--exp-line);color:var(--exp-ink);text-decoration:none;transition:background-color .2s ease}
.exp-next__list a:hover{background:#eef2f0}
.exp-next__list strong{font-family:var(--exp-display);font-size:1.3rem;font-weight:400;letter-spacing:-.03em}
.exp-next__list span{color:var(--exp-muted);font-size:.83rem;line-height:1.5}

/* Contact */
.exp-contact{padding:clamp(4rem,7vw,6rem) 0;background:var(--exp-paper)}
.exp-contact__inner{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;padding-bottom:1px;border-bottom:1px solid var(--exp-line)}
.exp-contact h2{margin:.9rem 0 2.3rem;max-width:17ch;font-family:var(--exp-display);font-size:clamp(2rem,3.6vw,3.5rem);font-weight:400;letter-spacing:-.045em;line-height:1.05}
.exp-contact__address{margin:0 0 2.3rem;color:var(--exp-muted);font-size:.9rem}
.exp-contact__links{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.3rem}
.exp-contact__links a{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.7rem 1.1rem;border:1px solid var(--exp-blue);border-radius:999px;color:var(--exp-navy);font-size:.88rem;font-weight:760;text-decoration:none;transition:background-color .2s ease,color .2s ease}
.exp-contact__links a:hover{color:#fff;background:var(--exp-navy)}

/* Footer */
.exp-footer{padding:2.4rem 0;color:#cbdce4;background:var(--exp-navy)}
.exp-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.exp-footer__brand{color:#fff;font-family:var(--exp-display);font-size:2rem;letter-spacing:-.05em}
.exp-footer p{margin:0;font-size:.78rem}
.exp-footer a{color:#fff;font-size:.8rem;font-weight:700;text-decoration:none}.exp-footer a:hover{text-decoration:underline}

/* Motion */
.js [data-about-reveal]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.js [data-about-reveal].is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-about-reveal]{opacity:1;transform:none}.exp-item:hover .exp-item__frame img{transform:none}}

@media(max-width:1024px){.exp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.exp-next__list{grid-template-columns:1fr 1fr}}
@media(max-width:800px){
.exp-hero__grid,.exp-section-head,.exp-what__grid,.exp-commit__grid,.exp-band__grid{grid-template-columns:1fr}
.exp-what__grid>:first-child{position:static;top:auto}
.exp-hero h1{font-size:clamp(2.4rem,10vw,4rem)}
.exp-hero__side{max-width:32rem}
.exp-facts__list{grid-template-columns:1fr}
.exp-facts__list li{padding:1.15rem 0;border-left:0;border-top:1px solid var(--exp-line)}
.exp-facts__list li:first-child{border-top:0}
.exp-commit__list{grid-template-columns:1fr;gap:0}
.exp-next__list a{padding-right:0}
.exp-contact__inner{grid-template-columns:1fr}
.exp-contact__address,.exp-contact__links{margin-bottom:0}
.exp-contact__links{margin-top:1.5rem}
.exp-footer__inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
.exp-grid{grid-template-columns:1fr}
.exp-next__list{grid-template-columns:1fr}
.exp-contact__links{display:grid}
.exp-contact__links a{width:100%}
}

/* --- Hero media (art direction pass): image in the first viewport --- */
.exp-hero__grid{grid-template-columns:1.15fr .85fr;align-items:center}
.exp-hero__media{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:#e8eef1}
.exp-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(.98);transform:scale(1.02);transition:transform 1.4s cubic-bezier(.22,1,.36,1)}
.exp-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(16,44,70,0) 45%,rgba(16,44,70,.34))}
.exp-hero__media figcaption{position:absolute;z-index:1;right:1.1rem;bottom:.95rem;left:1.1rem;color:#fff;font-size:.72rem;letter-spacing:.01em}
.js [data-about-reveal].is-visible .exp-hero__media img{transform:scale(1)}
.exp-hero__aside{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--exp-line)}
@media(max-width:800px){
 .exp-hero__grid{grid-template-columns:1fr}
 .exp-hero__media{aspect-ratio:16/10;order:-1;margin-bottom:1.75rem}
}

/* Hero media: taller, more present; caption clear of the subject */
.exp-hero__grid{grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem)}
.exp-hero__media{aspect-ratio:3/3.4;max-height:32rem}
.exp-hero__media:after{background:linear-gradient(180deg,rgba(16,44,70,0) 62%,rgba(16,44,70,.55))}
.exp-hero__media figcaption{right:1.15rem;bottom:1.05rem;left:1.15rem;font-weight:600;text-shadow:0 1px 2px rgba(16,44,70,.35)}
@media(max-width:800px){.exp-hero__media{aspect-ratio:16/10;max-height:none}}

/* Equipment hero shot sits on its own white ground (product photo, not scene) */
.exp-hero__media{background:#fbfcfc;border:1px solid var(--exp-line);aspect-ratio:3/3.1}
.exp-hero__media img{object-fit:contain;padding:2.25rem;filter:none;transform:none}
.exp-hero__media:after{background:none}
.exp-hero__media figcaption{position:static;padding:0 1.25rem 1.1rem;color:var(--exp-muted);text-shadow:none;font-weight:500}
.js [data-about-reveal].is-visible .exp-hero__media img{transform:none}
@media(max-width:800px){.exp-hero__media{aspect-ratio:16/11}.exp-hero__media img{padding:1.5rem}}

/* Equipment hero: figure as column so caption stays below the image */
.exp-hero__media{display:flex;flex-direction:column;aspect-ratio:auto;max-height:none}
.exp-hero__media img{position:static;flex:1 1 auto;width:100%;height:auto;max-height:23rem;padding:2rem 2rem 1rem}
.exp-hero__media figcaption{order:2;text-align:left}
@media(max-width:800px){.exp-hero__media img{max-height:17rem;padding:1.5rem 1.5rem .75rem}}

/* Mobile hero stack — declared last so it wins the cascade */
@media(max-width:800px){
 .exp-hero__grid{grid-template-columns:1fr!important;gap:0}
 .exp-hero__media{order:-1;margin-bottom:1.75rem;aspect-ratio:16/10;max-height:none}
}

/* Reveal: shorter travel, unified easing, GPU-only properties */
.js [data-about-reveal]{opacity:0;transform:translate3d(0,var(--ocf-reveal-y,14px),0);
 transition:opacity var(--ocf-slow,.62s) var(--ocf-ease,cubic-bezier(.22,1,.36,1)),transform var(--ocf-slow,.62s) var(--ocf-ease,cubic-bezier(.22,1,.36,1));
 }
.js [data-about-reveal].is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js [data-about-reveal]{opacity:1;transform:none;transition:none}}

/* Responsive QA: phone-list labels + targets on touch (declared here so this
   page stylesheet, which loads after site.css, wins the cascade). */
@media(max-width:860px){
 .exp-phones li{align-items:center;gap:.75rem}
 .exp-phones small{flex:0 0 4.4rem;font-size:.75rem;letter-spacing:.07em}
 .exp-phones a{min-height:2.75rem;display:inline-flex;align-items:center;font-size:1rem}
 .exp-wa svg{width:1.2rem;height:1.2rem}
}
/* Desktop: phone-list labels above the legibility floor */
.exp-phones small{font-size:.72rem}
