/* Full approved hero. All reference content is live HTML; the supplied MP4
   replaces only the laboratory photograph. SVG canvas: 1672 × 835. */
.hero{height:auto;min-height:0;aspect-ratio:2;max-height:none;max-width:1440px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 18% 37%,#ffffff 0%,var(--mist) 45%,var(--mist) 75%)}
.hero-defs{position:absolute;pointer-events:none}
.hero-visual{position:absolute;inset:0;z-index:-2;clip-path:url(#hero-video-clip);border-radius:0}
.hero video,.hero .hero-video-fallback{position:absolute;left:34%;top:0;width:66%;height:78%;max-width:none;object-fit:cover;object-position:35% center;display:block}
.hero-shapes{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero-shapes path{display:block}
.hero-copy{position:absolute;top:12.5%;left:6.25%;width:36%;max-width:none;padding:0;z-index:1}
.hero .eyebrow{font-size:clamp(12px,1.25vw,19px);letter-spacing:clamp(4px,.67vw,10px);line-height:1.5;margin:0 0 16px;white-space:nowrap}
.hero h1{font-size:clamp(40px,4.65vw,69px);line-height:1.01;letter-spacing:-.052em;font-weight:800;margin:0 0 17px;white-space:nowrap}
.hero h1>span{color:var(--petrol)}
.hero-description{font-size:clamp(16px,1.56vw,23px);line-height:1.2;color:var(--petrol);margin:0 0 28px;letter-spacing:-.3px;max-width:100%}
.hero-actions{display:flex;align-items:center;gap:16px;white-space:nowrap}
.hero .button{min-height:50px;padding:12px 26px;gap:20px;font-size:16px;white-space:nowrap}
.hero .button-outline{background:#ffffff66;border:1.5px solid var(--petrol);color:var(--petrol);padding:12px 27px}
.hero .button-outline:hover{background:white}
.hero-services{position:absolute;left:6.7%;top:70.5%;width:74.2%;height:18.2%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;background:linear-gradient(120deg,#fff,var(--paper));border-radius:34px;box-shadow:0 12px 40px #0F2D4B05;z-index:3;padding:20px 24px}
.hero-service{position:relative;display:flex;align-items:center;justify-content:center;gap:20px;height:100%;font-size:17px;line-height:1.18;font-weight:700;letter-spacing:-.5px;transition:color .2s}
.hero-service:not(:last-child):after{content:'';position:absolute;right:0;top:25%;height:50%;width:1px;background:var(--mist)}
.hero-service-icon{width:82px;height:82px;border-radius:50%;background:var(--cream);display:grid;place-items:center;flex:none}
.hero-service .icon{width:49px;height:49px}
.hero-service i{display:block;width:29px;height:3px;background:var(--gold);margin-top:14px}
.hero-service:hover{color:var(--green)}
.hero-promise{position:absolute;z-index:2;left:83.4%;top:63.6%;width:14.5%;text-align:center;color:#fff}
.hero-promise>svg{width:58px;height:58px;display:block;margin:0 auto 9px}
.promise-line{display:block;height:2px;background:var(--gold);width:30px;margin:0 auto 12px}
.hero-promise h2{font-size:27px;letter-spacing:-.8px;font-weight:750;line-height:1.08;margin:0 0 9px}
.hero-promise p{font-size:21px;line-height:1.1}
@media(min-width:1440px){.hero h1{font-size:69px}.hero .eyebrow{font-size:19px}}
@media(min-width:1001px) and (max-width:1280px){.hero .button{font-size:14px;padding:11px 21px;min-height:46px;gap:15px}.hero-actions{gap:13px}.hero-description{margin-bottom:24px}.hero .eyebrow{margin-bottom:12px}.hero-services{padding:16px 18px;border-radius:28px}.hero-service{gap:13px;font-size:15px}.hero-service-icon{width:67px;height:67px}.hero-service .icon{width:40px;height:40px}.hero-promise h2{font-size:24px}.hero-promise p{font-size:18px}.hero-promise>svg{width:50px;height:50px}.promise-line{margin-bottom:10px}}
@media(min-width:641px) and (max-width:1000px){.hero{aspect-ratio:1.72}.hero-copy{top:10%;width:38%;left:6%}.hero h1{font-size:4.6vw;margin-bottom:16px}.hero .eyebrow{font-size:12px;letter-spacing:4px;margin-bottom:13px}.hero-description{font-size:16px;line-height:1.25;margin-bottom:20px}.hero-actions{flex-wrap:wrap;gap:9px}.hero .button{font-size:13px;gap:14px;padding:11px 20px;min-height:44px}.hero-services{left:5%;width:75%;top:74%;height:18%;padding:12px;border-radius:23px}.hero-service{gap:8px;font-size:12px;letter-spacing:-.3px}.hero-service-icon{width:45px;height:45px}.hero-service .icon{width:30px;height:30px}.hero-service i{width:20px;margin-top:9px;height:2px}.hero-promise{left:82.5%;width:16%;top:66%}.hero-promise>svg{height:39px;width:39px;margin-bottom:7px}.promise-line{width:24px;margin-bottom:9px}.hero-promise h2{font-size:20px}.hero-promise p{font-size:16px}.hero video,.hero .hero-video-fallback{object-position:30% center}}
@media(max-width:640px){.hero{height:auto;min-height:0;aspect-ratio:auto;max-height:none;padding-bottom:0;background:radial-gradient(ellipse at 25% 25%,white,var(--mist))}.hero-copy{position:relative;top:auto;left:auto;width:100%;max-width:none;padding:34px 7% 0}.hero .eyebrow{font-size:13px;letter-spacing:5px;margin-bottom:17px}.hero h1{font-size:clamp(36px,10.8vw,66px);line-height:1;letter-spacing:-.045em;margin-bottom:20px}.hero-description{font-size:17px;line-height:1.35;max-width:390px;margin-bottom:24px}.hero-actions{display:flex;flex-wrap:wrap;gap:11px}.hero .button{font-size:14px;padding:12px 21px;min-height:48px;gap:16px}.hero-visual{position:relative;inset:auto;margin:22px 0 0;height:310px;width:100%;clip-path:ellipse(86% 85% at 78% 87%);z-index:-2}.hero video,.hero .hero-video-fallback{position:absolute;left:0;top:0;width:100%;height:100%;object-position:35% center}.hero-shapes{inset:auto 0 0;height:570px;width:100%}.hero-shapes .hero-frame-main,.hero-shapes .hero-frame-secondary,.hero-shapes .hero-frame-gold,.hero-shapes .hero-frame-cream,.hero-shapes .hero-side-gold,.hero-shapes .hero-side-green,.hero-shapes .hero-side-deep,.hero-shapes .hero-bottom-edge{display:none}.hero-shapes .hero-wave-cream,.hero-shapes .hero-wave-gold,.hero-shapes .hero-wave-green,.hero-shapes .hero-wave-deep{display:block}.hero-services{position:relative;left:auto;top:auto;width:90%;height:auto;margin:-6px auto 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:13px;border-radius:25px;box-shadow:0 8px 30px #0F2D4B0c}.hero-service{justify-content:flex-start;min-height:95px;gap:10px;font-size:13px;line-height:1.25;padding:11px 5px;letter-spacing:-.3px}.hero-service-icon{width:44px;height:44px}.hero-service .icon{width:29px;height:29px}.hero-service:nth-child(2):after{display:none}.hero-service:nth-child(-n+2){border-bottom:1px solid var(--mist)}.hero-service i{width:21px;height:2px;margin-top:8px}.hero-promise{position:relative;left:auto;top:auto;width:100%;margin:0;padding:29px 7% 34px;background:linear-gradient(120deg,var(--petrol),var(--petrol));border-radius:0 50px 0 0;margin-top:25px;display:grid;grid-template-columns:58px 1fr;column-gap:18px;text-align:left;align-items:center}.hero-promise>svg{grid-row:1/4;margin:0;width:54px;height:54px}.promise-line{display:none}.hero-promise h2{font-size:24px;line-height:1.12;margin:0 0 7px}.hero-promise h2 br,.hero-promise p br{display:none}.hero-promise p{font-size:17px;line-height:1.25}}
@media(max-width:360px){.hero .eyebrow{font-size:12px;letter-spacing:4px}.hero h1{font-size:36px}.hero-service{font-size:12px;gap:7px}.hero-service-icon{width:36px;height:36px}.hero-service .icon{width:25px;height:25px}.hero-services{padding:9px}}
@media(max-width:640px){.hero{display:flex;flex-direction:column}.hero-copy{order:1}.hero-visual{order:2;flex:none}.hero-services{order:3}.hero-promise{order:4}.hero-shapes .hero-wave-cream{display:block}}
@media(min-width:641px) and (max-width:820px){.hero{aspect-ratio:1.45}.hero-copy{top:8%}.hero-services{width:76%;left:4%}.hero-service{flex-direction:column;text-align:center;justify-content:center;gap:6px}.hero-service i{margin:7px auto 0}.hero-service-icon{width:38px;height:38px}.hero-service .icon{width:27px;height:27px}.hero-promise h2{font-size:18px}.hero-promise p{font-size:14px}}
@media(min-width:1001px){.hero-promise{top:61%}}
@media(min-width:641px) and (max-width:1000px){.hero-promise{top:61%}}
@media(min-width:641px) and (max-width:820px){.hero-services{top:72%;height:21%;padding:8px 12px}.hero-service i{margin-top:5px}}
@media(prefers-reduced-motion:reduce){.hero *{animation:none!important;transition:none!important}}
/* Keep the video inside the hero's visible stacking context on every viewport. */
.hero .hero-visual{z-index:0}
.hero .hero-shapes{z-index:1}
.hero .hero-copy{z-index:2}
