/* ===========================================================
   Escape Hatch — Homepage styles
   Palette & type per approved mock-up / website-design-spec.md
   =========================================================== */
@font-face{font-family:EscapeHeading;src:url('../assets/fonts/heading.otf') format('opentype');font-weight:700 900;font-display:swap}

:root{
  --navy:#0B2034;
  --ink:#13293f;
  --orange:#F45B24;
  --orange-dark:#D94A17;
  --gold:#FFBE39;
  --teal:#00B6CE;
  --skylight:#DDF4FC;
  --cream:#FFF7EA;
  --olive:#576944;
  --muted:#5A6B7E;
  --line:#e6eef2;
  --shadow:0 10px 26px rgba(11,32,52,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#eef3f7;color:var(--ink);font:16px/1.55 'Segoe UI',Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3{margin:0}

.page{max-width:1190px;margin:0 auto;background:#fff;box-shadow:0 0 44px rgba(11,32,52,.16)}
.wrap{width:min(1036px,100% - 52px);margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- typography ---------- */
.display,.section-title,.hero h1,.cta-strip h2,.feature-card h3,.service-card h3{font-family:'Manrope','Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:.01em;line-height:1.08}
.section-title{font-size:clamp(27px,2.9vw,35px);text-align:center;color:var(--navy)}
.section-intro{text-align:center;color:var(--muted);font-size:15px;margin:8px auto 26px}
.accent{width:52px;height:4px;border-radius:2px;background:var(--orange);margin:10px auto 0}
.left-accent{margin:11px 0 0;text-align:left}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 20px;border-radius:8px;font-weight:700;font-size:14px;border:2px solid transparent;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.btn-lg{padding:13px 24px;font-size:15px;border-radius:9px}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 6px 16px rgba(244,91,36,.32)}
.btn-primary:hover{background:var(--orange-dark)}
.btn-gold{background:var(--gold);color:var(--navy);border-color:var(--gold);box-shadow:0 6px 16px rgba(255,190,57,.35)}
.btn-gold:hover{background:#e8a820}
.btn-care{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 6px 16px rgba(0,182,206,.32)}
.btn-care:hover{background:#0097ab}
.btn-outline{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{box-shadow:0 6px 16px rgba(11,32,52,.14)}
.btn-dark{background:#0D3853;color:#fff}
.btn-dark:hover{background:#0a2c42;box-shadow:0 6px 16px rgba(11,32,52,.28)}
.btn .icon{width:17px;height:17px;flex:none}
.btn .play{width:20px;height:20px}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{min-height:64px;display:flex;align-items:center;gap:26px;padding:0 22px}
.brand img{height:46px;width:auto}
.nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.nav a{font-size:13.5px;font-weight:600;color:var(--ink);padding:6px 0;position:relative;white-space:nowrap}
.nav a:hover{color:var(--orange)}
.nav a.active{color:var(--navy)}
.nav a.active::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:2px;background:var(--orange)}
.nav-dropdown{position:relative;display:flex;align-items:center;gap:3px}
.nav-dropdown-toggle{display:grid;place-items:center;width:20px;height:26px;padding:0;border:0;background:transparent;color:var(--navy);font-size:14px}
.nav-dropdown-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:1px;border-radius:4px}
.nav-submenu{position:absolute;z-index:50;top:100%;left:-12px;min-width:172px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 24px rgba(11,32,52,.16);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(5px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.nav-dropdown.open .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.nav .nav-submenu a,.nav .nav-submenu .nav-coming-soon{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px;border-radius:6px;font-size:12px;color:var(--navy)}
.nav .nav-submenu a:hover,.nav .nav-submenu a.active{background:#eafaff;color:var(--navy)}
.nav .nav-submenu a.active::after{display:none}
.nav-coming-soon{color:#73808a!important;cursor:not-allowed}
.nav-coming-soon small{font-size:9px;white-space:nowrap;color:#8c969d}
.header-cta{gap:8px;padding:10px 18px;border-radius:8px;white-space:nowrap;flex-shrink:0}
.nav-escape{display:none}
.icon{width:16px;height:16px}
.nav-toggle{display:none;margin-left:auto;background:#fff;border:2px solid var(--navy);border-radius:8px;padding:8px 9px}
.nav-toggle .bar{display:block;width:20px;height:2px;background:var(--navy);margin:4px 0;border-radius:1px}
.nav-toggle:focus-visible{outline:3px solid var(--teal)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;min-height:452px;background:#f4fbfe url('../assets/hero.jpg') no-repeat center 44%/cover}
.hero-copy{position:relative;z-index:2;padding:56px 0 44px;width:min(560px,100% - 64px);margin-left:max(32px,calc((100% - 1036px)/2))}
.hero h1{font-size:clamp(38px,4.6vw,55px);color:var(--navy);line-height:1.04;letter-spacing:.005em;margin-bottom:16px;max-width:520px}
.hero p{font-size:17px;line-height:1.5;color:#3A4E63;max-width:500px;margin:0 0 24px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.highlights{display:flex;align-items:center;justify-content:center;gap:clamp(20px,5vw,78px);padding:16px 28px;background:#FFF8F1;border-top:1px solid #f3e6d6;list-style:none}
.highlights li{display:flex;align-items:center;gap:10px;min-width:0;color:var(--navy)}
.highlights img{width:34px;height:34px;flex:none;display:block}
.highlights span{font-family:'Archivo','Manrope','Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.03em;line-height:1.2;text-transform:uppercase}

/* ---------- next chapter ---------- */
.next-chapter{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;background:#fff;padding:36px 0;gap:0}
.next-chapter-copy{min-width:0;padding:0 18px 0 32px}
.next-chapter-eyebrow{display:flex;flex-wrap:wrap;gap:12px;color:var(--orange);font-family:'Archivo','Segoe UI',sans-serif;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}
.next-chapter h2{font-family:'Archivo','Manrope','Segoe UI',sans-serif;font-weight:800;font-size:clamp(28px,3.3vw,42px);line-height:1.12;letter-spacing:-.035em;color:var(--navy);margin:0 0 18px}
.next-chapter-copy>p:not(.next-chapter-eyebrow){font-size:15px;line-height:1.55;margin:0 0 18px}
.next-chapter-copy .btn{gap:14px}
.next-chapter-art{margin:0;min-width:0;width:100%}
.next-chapter-art img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:760px){
  .next-chapter{grid-template-columns:minmax(0,1fr);padding:30px 24px;gap:24px}
  .next-chapter-copy{padding:0}
  .next-chapter-art{width:100%;justify-self:end}
}

/* ---------- why section ---------- */
.why{position:relative;padding:38px 0 40px;background:#eefaff}
.why::before{content:'';position:absolute;inset:0;background:url('../assets/bg-why.jpg') center/cover no-repeat,linear-gradient(#f3fbfe,#e9f7fb)}
.why::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,253,255,.55),rgba(250,253,255,.28) 30%,rgba(250,253,255,.34))}
.why .wrap{position:relative;z-index:2}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.feature-card{background:#fff;border:1px solid #eaf0f4;border-radius:12px;box-shadow:var(--shadow);padding:22px 18px 20px;text-align:center;min-height:212px}
.feature-card img{height:82px;width:auto;max-width:100%;margin:0 auto 13px}
.feature-card h3{font-family:'Manrope','Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:18.5px;color:var(--navy);margin-bottom:7px}
.feature-card p{font-size:13.5px;line-height:1.4;color:#4d5f73;margin:0}

/* ---------- services section ---------- */
/* Compact package presentation; reuse the existing card, type and button language. */
.packages{background:#fff;padding:36px 0 38px}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.package-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:24px}
.package-primary{border-top:4px solid var(--orange);padding-top:21px}
.package-care{border-top:4px solid var(--teal);background:linear-gradient(180deg,#fff,#f3fbfe);padding-top:21px}
.package-care h3,.package-care .package-tagline{color:#0a6f82}
.package-settle{border-top:4px solid var(--gold);padding-top:21px}
.package-settle h3,.package-settle .package-tagline{color:#8a6410}
.package-focus{font-size:14px;line-height:1.45;color:var(--navy);margin:0 0 18px}
.package-focus span{font-weight:800}
.package-card h3{font-family:'Manrope','Segoe UI',sans-serif;font-size:24px;line-height:1.1;color:var(--navy)}
.package-card p{font-size:15px;line-height:1.5;color:var(--muted);margin:0 0 20px}
.package-card .package-tagline{font-weight:700;color:var(--navy);margin:8px 0 12px}
.package-card .btn{margin-top:auto;max-width:100%}
.package-note{font-size:12px;line-height:1.5;color:var(--muted);text-align:center;max-width:760px;margin:18px auto 0}

.services{background:linear-gradient(180deg,#FFFDF8,#FAF0DE);padding:36px 0 38px}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.service-card{background:#fff;border:1px solid #f6ecdc;border-radius:10px;box-shadow:var(--shadow);padding:17px 12px 18px;text-align:center;min-height:196px}
.service-card img{height:74px;width:auto;max-width:100%;margin:0 auto 10px}
.service-card h3{font-family:'Manrope','Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:16.5px;color:var(--navy);margin-bottom:6px}
.service-card p{font-size:12px;line-height:1.38;color:#55677c;margin:0}

/* ---------- veteran stories video preview ---------- */
.veteran-video{padding:28px 0;color:#fff;background:linear-gradient(90deg,rgba(0,14,22,.78),rgba(0,14,22,.42)),url('../assets/bg-sunset.jpg') center 45%/cover no-repeat;scroll-margin-top:80px}
.veteran-video-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px}
.video-preview{position:relative;display:block;width:100%;padding:0;border:4px solid #FBFBF3;border-radius:7px;background:var(--navy);box-shadow:0 8px 22px rgba(0,0,0,.25);overflow:hidden}
.video-preview iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}
.veteran-video-copy h2{font-family:'Archivo','Segoe UI',sans-serif;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#FBFBF3}
.veteran-video-copy blockquote{font-family:'Manrope','Segoe UI',sans-serif;font-size:clamp(20px,2.2vw,26px);font-style:italic;font-weight:800;line-height:1.35;margin:8px 0;color:#fff;max-width:650px}
.veteran-video-copy p{font-size:12px;margin:8px 0 12px;color:#FBFBF3}
.veteran-video-copy .btn-outline{background:rgba(0,14,22,.25);color:#fff;border-color:#FBFBF3;padding:7px 16px;font-size:13px}
.veteran-video-copy .btn-outline:hover{background:rgba(0,14,22,.6)}
@media(max-width:760px){
  .veteran-video-inner{grid-template-columns:minmax(0,1fr);gap:24px;text-align:center}
  .video-preview{margin:0 auto}
  .veteran-video-copy blockquote{margin:8px auto}
}

/* ---------- testimonials ---------- */
.stories{position:relative;overflow:hidden;background:#fbf7f0;padding:34px 0 30px}
.stories::before{content:'';position:absolute;right:0;top:0;width:520px;height:230px;background:url('../assets/bg-why.jpg') center 35% no-repeat;opacity:.15;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 85% 10%,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse 70% 70% at 85% 10%,#000 25%,transparent 75%)}
.stories::after{content:'';position:absolute;left:0;bottom:0;width:200px;height:70%;background:url('../assets/bg-why.jpg') center/cover no-repeat;opacity:.12;-webkit-mask-image:linear-gradient(90deg,#000 40%,transparent);mask-image:linear-gradient(90deg,#000 40%,transparent)}
.stories .wrap{position:relative;z-index:2}
.stories-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}
.stories-head .section-title{text-align:left}
.stories-head p{margin:7px 0 0;color:#5d6d7f;font-size:14.5px}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.story-card{display:flex;align-items:flex-start;gap:15px;background:#fff;border:1px solid #eef1f0;border-radius:10px;box-shadow:var(--shadow);padding:20px 18px}
.avatar{width:72px;height:72px;flex:none;border-radius:50%;object-fit:cover;border:2px solid #123652}
.story-body blockquote{margin:0 0 9px;font-size:13.5px;line-height:1.45;color:#32465C}
.story-body strong{display:block;font-size:13px;color:var(--navy)}
.story-body small{display:block;font-size:11px;color:#69798b;margin:1px 0 5px}
.stars{color:#F5A62E;font-size:14px;letter-spacing:2px}
.sample-notice{margin:16px 0 0;color:#78889a;font-size:11.5px;text-align:center}

/* ---------- membership ---------- */
.membership{background:linear-gradient(100deg,#fff 0%,#fff 42%,#d9f3fb 100%);padding:0}
.member-grid{display:grid;grid-template-columns:40% 60%;min-height:224px;align-items:stretch}
.membership .member-grid{width:100%;padding-left:max(26px,calc((100% - 1036px)/2))}
.member-copy{padding:30px 0}
.member-copy .section-title{text-align:left}
.member-copy .accent{margin-left:0}
.member-copy p{font-size:14px;line-height:1.5;color:#4c5e72;max-width:430px;margin:12px 0 18px}
.member-copy .btn-dark{border-radius:8px}
.member-art{position:relative;background:url('../assets/bg-support.jpg') right center/cover no-repeat}
.member-art::before{content:'';position:absolute;inset:0 auto 0 0;width:26%;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.member-art ul{position:absolute;top:14px;left:14px;width:max-content;max-width:calc(100% - 28px);padding:13px 17px;border-radius:10px;background:rgba(255,255,255,.82);box-shadow:0 6px 18px rgba(11,32,52,.12);font-size:12.5px;font-weight:600;color:var(--navy)}
.member-art li{display:flex;align-items:center;gap:8px;margin:8px 0}
.member-art li::before{content:'';flex:none;width:16px;height:16px;border-radius:50%;background:#5f9e4c url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 8'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- final cta ---------- */
.cta-strip{position:relative;text-align:center;padding:34px 16px 36px;color:var(--navy);overflow:hidden;background:linear-gradient(180deg,rgba(255,198,76,.14),rgba(255,198,76,.30)),url('../assets/bg-sunset.jpg') center 30%/cover no-repeat}
.cta-strip h2{font-size:clamp(27px,3vw,36px)}
.cta-strip p{margin:6px 0 18px;font-size:14.5px;color:#12314b}
.cta-actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap}

/* ---------- footer ---------- */
footer{background:linear-gradient(180deg,#0B2A3B,#06202E);color:#fff;padding:34px 0 12px}
.footer-grid{display:grid;grid-template-columns:max-content minmax(0,1.6fr) minmax(0,1.4fr) max-content;column-gap:56px;row-gap:28px;align-items:start}
.footer-brand{text-align:center}
.footer-brand img{width:120px;height:auto;display:block;margin-inline:auto}
.footer-slogan{margin:10px 0 0;font-size:12px;font-weight:700;letter-spacing:.06em;color:#d7e6ef}
.footer-title{font-size:13px;font-weight:800;margin-bottom:12px}
.footer-links ul{columns:2;column-gap:20px;font-size:12.5px}
.footer-links li{margin-bottom:8px}
.footer-links a,.footer-contact a,.footer-contact p:last-child{color:#c8d9e4;font-size:12.5px;line-height:1.4;display:inline-flex;align-items:center;gap:7px}
.footer-links a:hover,.footer-contact a:hover{color:#ffb066}
.footer-contact p{margin:0 0 10px}
.footer-contact .icon{width:13px;height:13px;opacity:.85}
.footer-social{justify-self:end;text-align:right}
.footer-social .icons{display:flex;gap:10px;justify-content:flex-end}
.footer-social a{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;background:rgba(255,255,255,.10);transition:background-color .16s}
.footer-social a:hover{background:rgba(255,255,255,.22)}
.footer-social .icon{width:16px;height:16px;color:#fff}
.footer-social .tagline{margin-top:14px;font-size:11.5px;color:#bfd3e0}
.footer-bottom{border-top:1px solid #2e4a5c;margin-top:26px;padding-top:12px;padding-bottom:4px;display:flex;justify-content:space-between;gap:14px;color:#93a9b8;font-size:11.5px}
.footer-bottom p{margin:0}

/* ---------- shared contact modal ---------- */
.contact-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(5,20,33,.72);overflow-y:auto;opacity:0;transition:opacity .18s ease}
.contact-modal[hidden]{display:none}
.contact-modal.is-visible{opacity:1}
.contact-panel{position:relative;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);width:min(860px,100%);max-height:min(92vh,820px);overflow:auto;border-radius:16px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.34);transform:translateY(8px);transition:transform .18s ease}
.contact-modal.is-visible .contact-panel{transform:translateY(0)}
.contact-about{padding:42px 34px;background:linear-gradient(150deg,#0b2034,#10445a);color:#fff}
.contact-eyebrow{margin:0 0 12px;color:#ffc64c;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.contact-about h2{font-family:'Manrope','Segoe UI',sans-serif;font-size:clamp(25px,3vw,34px);line-height:1.12;margin:0 0 14px}
.contact-about>p:not(.contact-eyebrow){margin:0;color:#d8e7ee;font-size:14px;line-height:1.6}
.contact-direct{display:grid;gap:18px;margin-top:30px}
.contact-direct>div{display:grid;gap:7px}
.contact-direct span{color:#9fc0ce;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.contact-direct img{width:157px;height:15px;object-fit:contain;object-position:left center}
.contact-direct a{color:#fff;font-size:16px;font-weight:700}
.contact-form{padding:34px 36px 30px;display:grid;align-content:start;gap:12px}
.contact-form-heading{margin:0;color:var(--navy);font-family:'Manrope','Segoe UI',sans-serif;font-size:21px;font-weight:800}
.contact-required-note{margin:-8px 0 2px;color:var(--muted);font-size:12px}
.contact-required-note span,.contact-field label span{color:var(--orange);font-weight:800}
.contact-field{display:grid;gap:5px}
.contact-field label{color:var(--navy);font-size:12px;font-weight:700}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-width:0;border:1px solid #cbd6df;border-radius:7px;background:#fff;padding:10px 11px;color:var(--ink);font:inherit;font-size:14px}
.contact-field textarea{resize:vertical;min-height:88px}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:3px solid rgba(0,182,206,.25);border-color:#008fa5}
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-submit{width:100%;margin-top:2px}
.contact-result{border-radius:8px;padding:11px 13px;background:#e8f6ee;color:#175c35;font-size:13px;font-weight:600}
.contact-result.is-error{background:#fff0ed;color:#9b301a}
.contact-close{position:absolute;z-index:2;top:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);font-size:28px;line-height:1}
.contact-close:hover{background:#fff}
body.contact-modal-open{overflow:hidden}
@media(max-width:680px){
  .contact-modal{align-items:start;padding:12px}
  .contact-panel{grid-template-columns:minmax(0,1fr);max-height:calc(100dvh - 24px)}
  .contact-about{padding:30px 24px 24px}
  .contact-about h2{max-width:90%}
  .contact-direct{grid-template-columns:1fr 1fr;margin-top:20px;gap:12px}
  .contact-form{padding:24px}
}
@media(prefers-reduced-motion:reduce){
  .contact-modal,.contact-panel{transition-duration:0s}
}

/* ---------- responsive ---------- */
@media(max-width:1090px){
  .wrap{width:min(100% - 44px,1036px)}
  .hero-copy{width:min(100% - 64px,1036px);margin-left:32px}
  .nav{gap:15px}
  .nav a{font-size:12.5px}
  .header-cta{padding:9px 14px}
  .feature-grid{gap:10px}
  .feature-card{min-height:196px;padding:18px 12px 16px}
  .feature-card img{height:72px}
  .member-grid{grid-template-columns:44% 56%}
  .membership .member-grid{padding-left:22px}
}
@media(max-width:860px){
  .highlights{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch;gap:14px 18px;padding:16px 20px}
  .highlights li{flex:none}
  .header-inner{gap:14px}
  .nav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 0;box-shadow:0 18px 30px rgba(11,32,52,.14);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .17s ease,visibility .17s ease}
  .nav.open{opacity:1;visibility:visible;pointer-events:auto}
  .nav a{padding:12px 22px;border-bottom:1px solid var(--line);font-size:14px}
  .nav-dropdown{display:block;padding-right:18px;border-bottom:1px solid var(--line)}
  .nav-dropdown>.nav-services{padding:12px 0 12px 22px;border-bottom:0}
  .nav-dropdown-toggle{display:none}
  .nav-submenu{position:static;min-width:0;margin:0 14px 10px 22px;padding:4px;box-shadow:none;background:#f7fbfc;border-color:#e8f0f2;transform:none;display:block;opacity:1;visibility:visible;pointer-events:auto}
  .nav .nav-submenu a,.nav .nav-submenu .nav-coming-soon{padding:10px 12px;border-bottom:0}
  .nav a.active::after{display:none}
  .header-cta{display:none}
  .nav-escape{display:block;color:var(--orange);font-weight:800}
  .nav-toggle{display:block}
  .hero{background-position:center top;background-size:contain;min-height:0;aspect-ratio:1916/821}
  .feature-grid,.story-grid{grid-template-columns:1fr 1fr}
  .service-grid{grid-template-columns:repeat(3,1fr)}
  .stories-head{flex-direction:column;align-items:flex-start;gap:12px}
  .member-grid{grid-template-columns:1fr}
  .membership .member-grid{padding-left:0}
  .member-copy{padding-left:22px;padding-right:22px}
  .member-art{min-height:210px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
  .footer-social{justify-self:start;text-align:left}
  .footer-social .icons{justify-content:flex-start}
}
@media(max-width:560px){
  .member-copy{padding-left:16px;padding-right:16px}
  .package-grid{grid-template-columns:minmax(0,1fr)}
  .wrap{width:calc(100% - 32px)}
  .hero{min-height:0;background-image:none;background:#f3f8fc}
  .hero::after{content:'';display:block;height:250px;margin:0 0 26px;background:url('../assets/hero.jpg') no-repeat 60% 30%/cover}
  .hero-copy{width:auto;margin:0 24px;padding:40px 0 26px}
  .hero::before{display:none}
  .feature-grid,.service-grid,.story-grid{grid-template-columns:1fr}
  .feature-card{min-height:0}
  .service-card{min-height:0}
  
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:6px}
  .hero-actions{justify-content:center}.hero-actions .btn{width:auto;min-width:220px;max-width:100%}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
