:root{color-scheme:light;--cyan:#27c9ee;--green:#38bd91;--green-deep:#177a64;--navy:#103f4c;--hero-position-desktop:center center;--hero-position-mobile:center center}
*{box-sizing:border-box}
html{scroll-behavior:smooth;min-width:320px}
body{margin:0;min-width:320px;background:var(--navy);color:#fff;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.page-shell{position:relative;min-height:100svh;isolation:isolate;overflow:hidden;background:#205a64}
.hero-media,.hero-wash{position:absolute;inset:0;pointer-events:none}
.hero-media{z-index:-2;background:#95bcc5 url('../img/hero-poster-desktop.webp') var(--hero-position-desktop)/cover no-repeat;filter:saturate(.88) contrast(.94)}
.hero-video{width:100%;height:100%;object-fit:cover;object-position:var(--hero-position-desktop);opacity:0;transition:opacity .65s ease}
.video-ready .hero-video{opacity:1}
.hero-wash{z-index:-1;background:radial-gradient(ellipse 60% 78% at 50% 45%,rgba(6,48,62,.56),rgba(7,60,72,.29) 70%,transparent 100%),linear-gradient(180deg,rgba(13,68,77,.23),rgba(8,57,67,.38) 42%,rgba(5,43,54,.80) 100%),linear-gradient(110deg,rgba(39,201,238,.10),transparent 48%,rgba(56,189,145,.12))}
.hero{min-height:100svh;display:grid;place-items:center;padding:52px 24px 97px;position:relative;text-align:center}
.hero-panel{width:min(100%,840px);margin:auto;background:none;border:0;border-radius:0;box-shadow:none;padding:0;backdrop-filter:none}
.brand{display:block;width:clamp(190px,19vw,220px);height:auto;max-width:100%;margin:0 auto 21px;filter:drop-shadow(0 4px 13px rgba(0,33,42,.18))}
.panel-rule{width:50px;height:2px;margin:0 auto 19px;border-radius:3px;background:linear-gradient(90deg,var(--cyan),var(--green))}
.eyebrow{margin:0 0 13px;text-transform:uppercase;letter-spacing:.18em;font-size:.77rem;font-weight:700;color:#b4f3ec;text-shadow:0 2px 10px #082f3c60}
h1{max-width:790px;margin:0 auto;font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.6rem,4.25vw,4rem);font-weight:760;letter-spacing:-.045em;line-height:1.13;text-wrap:balance;color:#fff;text-shadow:0 3px 28px #0028317d}
.hero-panel h1{max-width:790px;font-size:clamp(2.35rem,3.5vw,3.4rem);line-height:1.1}
.hero-subtitle{max-width:740px;margin:13px auto 0;font-size:clamp(1.45rem,2.2vw,2.05rem);font-weight:700;letter-spacing:-.035em;line-height:1.15;text-wrap:balance;color:#fff;text-shadow:0 3px 28px #0028317d}
.hero-panel h1 em,.hero-subtitle em{font-style:normal;color:var(--cyan)}
.hero-description{max-width:645px;margin:20px auto 0;font-size:clamp(1.05rem,1.45vw,1.2rem);line-height:1.52;color:#f2fcfc;text-wrap:balance;text-shadow:0 2px 18px #0028318f}
.choices{display:grid;gap:10px;width:min(100%,443px);margin:33px auto 0}
.choice{position:relative;display:flex;align-items:center;justify-content:center;min-height:59px;padding:12px 52px 12px 25px;border:1px solid #ffffffe8;border-radius:11px;background:#f9fffff5;box-shadow:0 9px 24px #05313a29,inset 0 1px #fff;color:#164f5d;font-size:.95rem;font-weight:700;line-height:1.3;text-decoration:none;text-align:center;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.choice:hover{transform:translateY(-2px);background:#fff;border-color:var(--cyan);box-shadow:0 13px 28px #022c3b4a}
.choice:active{transform:translateY(0)}
.choice-accent{background:#e7faf3f5;border-color:#dcfaee}
.choice-accent:hover{background:#f1fff9;border-color:var(--green)}
.choice svg{position:absolute;top:50%;right:19px;transform:translateY(-50%);width:23px;height:23px;fill:none;stroke:var(--green-deep);stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.choice svg path+path{fill:var(--green-deep);stroke:none}
.microcopy{display:flex;align-items:center;justify-content:center;gap:8px;margin:17px 0 0;color:#d4f4f1;font-size:.83rem;line-height:1.4;text-shadow:0 2px 12px #00283180}
.microcopy svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.noscript-note{font-size:.86rem;color:#fff}
.legal-links{position:absolute;bottom:22px;left:16px;right:16px;display:flex;justify-content:center;align-items:center;gap:12px;color:#e4f4f4;font-size:.78rem;text-shadow:0 2px 8px #002c3780}
.legal-links a{color:inherit;text-decoration:none;border-bottom:1px solid #e4f4f47a}
.legal-links a:hover{border-bottom-color:currentColor}
.contact-toggle{position:fixed;z-index:10;bottom:max(25px,env(safe-area-inset-bottom));right:max(26px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:center;gap:10px;min-width:157px;min-height:50px;border:1px solid #baffeb88;border-radius:11px;padding:9px 15px;background:linear-gradient(140deg,#32b98d,#168564 85%);color:#fff;box-shadow:0 10px 30px #032c3080,inset 0 1px #ffffff6b;font-size:.88rem;font-weight:750;letter-spacing:.01em;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease;animation:heartbeat 5.8s ease-in-out 1s infinite}
.contact-toggle:hover{animation:none;transform:translateY(-2px);box-shadow:0 14px 35px #032c30a0}
.contact-toggle[aria-expanded=true]{animation:none}
.wa-mark,.widget-link svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wa-mark path+path,.widget-link path+path{fill:currentColor;stroke:none}
@keyframes heartbeat{0%,4%,11%,22%,100%{transform:scale(1)}7%{transform:scale(1.065)}15%{transform:scale(1.1)}}
.contact-widget{position:fixed;z-index:11;bottom:89px;right:max(26px,env(safe-area-inset-right));width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 105px);overflow:auto;border:1px solid #ddf5f0;border-radius:17px;background:#fff;box-shadow:0 21px 59px #082c3a66;color:var(--navy);opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease;scrollbar-width:thin}
.contact-widget[hidden],.notice[hidden]{display:none}
.contact-widget.is-open{opacity:1;transform:translateY(0)}
.widget-image-wrap{height:141px;overflow:hidden;background:linear-gradient(135deg,#ddf7fc,#d7f2e7)}
.widget-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block}
.widget-close{position:absolute;top:11px;right:11px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #fffffff0;border-radius:50%;background:#164b5ad9;color:#fff}
.widget-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.widget-content{padding:20px 23px 22px}
.widget-kicker{margin:0 0 7px;color:#188d79;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:700}
.widget-content h2{margin:0;color:#164d5b;font-size:1.46rem;letter-spacing:-.035em}
.widget-content>p:not(.widget-kicker){margin:10px 0 18px;color:#4d6970;font-size:.9rem;line-height:1.55}
.widget-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:9px;text-decoration:none;background:#177a64;color:#fff;font-size:.87rem;font-weight:700;transition:background .2s ease}
.widget-link:hover{background:#105d51}
.widget-link svg{width:21px;height:21px}
.notice{position:fixed;z-index:13;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(92vw,440px);border-radius:11px;background:#113f4d;color:#fff;padding:11px 18px;text-align:center;font-size:.9rem;box-shadow:0 9px 25px #05263099}
@media(max-width:760px){
 .hero-media{background-image:url('../img/hero-poster-mobile.webp');background-position:var(--hero-position-mobile)}
 .hero-video{object-position:var(--hero-position-mobile)}
}
@media(max-width:700px){
 .hero-wash{background:radial-gradient(ellipse 92% 74% at 50% 49%,rgba(6,47,59,.59),rgba(6,50,62,.34) 87%,transparent),linear-gradient(180deg,rgba(11,63,76,.30),rgba(7,54,66,.45) 47%,rgba(5,40,51,.88)),linear-gradient(120deg,#27c9ee22,transparent 55%,#38bd9122)}
 .hero{padding:max(30px,env(safe-area-inset-top)) 19px calc(118px + env(safe-area-inset-bottom))}
 .brand{width:clamp(180px,52vw,200px);margin-bottom:18px}
 .panel-rule{margin-bottom:16px}
 .eyebrow{font-size:.68rem;margin-bottom:11px}
 .hero-panel h1{font-size:clamp(2.1rem,8.3vw,2.75rem);line-height:1.1;max-width:560px}
 .hero-subtitle{font-size:clamp(1.55rem,6vw,2rem);margin-top:11px;max-width:480px}
 .hero-description{font-size:1rem;margin-top:15px;max-width:440px;line-height:1.47}
 .choices{margin-top:26px;gap:9px;width:min(100%,420px)}
 .choice{min-height:56px;font-size:.9rem;padding-inline:14px 45px}
 .choice svg{right:14px;width:21px;height:21px}
 .microcopy{margin-top:14px;font-size:.78rem}
 .legal-links{bottom:calc(85px + env(safe-area-inset-bottom));font-size:.73rem}
 .contact-toggle{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));min-width:150px;min-height:49px}
 .contact-widget{right:calc(16px + env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.brand{width:180px;margin-bottom:12px}.panel-rule{margin-bottom:12px}.eyebrow{margin-bottom:9px}.hero-panel h1{font-size:2rem}.hero-subtitle{font-size:1.45rem;margin-top:9px}.hero-description{font-size:.94rem;margin-top:12px}.choices{margin-top:20px}.choice{min-height:52px;font-size:.84rem}.microcopy{font-size:.73rem}}
@media(max-height:650px){.hero{padding-top:24px}.brand{width:min(200px,48vw);margin-bottom:10px}.panel-rule{margin-bottom:10px}.eyebrow{margin-bottom:7px}.hero-subtitle{margin-top:8px}.hero-description{margin-top:10px}.choices{margin-top:17px}.choice{min-height:49px}.microcopy{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-video{display:none}.contact-toggle{animation:none}}
.document-page{min-height:100svh;background:linear-gradient(140deg,#edfaff,#fff 65%,#eaf8ef);color:var(--navy)}
.document-wrap{max-width:760px;margin:0 auto;padding:clamp(24px,6vw,70px) 22px 90px}
.document-wrap .brand{width:242px;margin:33px 0 32px;filter:none}
.document-wrap h1{font-size:clamp(2.1rem,5vw,3.5rem);color:var(--navy);text-shadow:none}
.document-wrap h2{font-size:1.5rem;color:var(--green-deep);margin:33px 0 10px}
.document-wrap p{font-size:1rem;line-height:1.7;color:#476872}
.document-wrap .document-intro{font-size:1.07rem}
.back-link{display:inline-block;color:var(--green-deep);font-size:.93rem;text-underline-offset:4px}
