/* The Private Island System: deep ocean, lagoon, sand and gold */
:root{
  --ocean:#0B2236;
  --ocean-2:#12324D;
  --ocean-3:#1B4566;
  --lagoon:#1F8A80;
  --lagoon-lt:#5FC4BA;
  --sand:#F6EFE3;
  --sand-2:#EDE2CE;
  --gold:#C8962E;
  --gold-dk:#A87A1C;
  --ink:#16222E;
  --mute:#566474;
  --line:#DCD2C0;
  --white:#fff;
  --serif:"Fraunces", Georgia, serif;
  --sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --r:16px;
  --shadow:0 18px 40px -22px rgba(11,34,54,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(30px,4vw,46px)}
h2 em,h1 em{font-style:italic;font-weight:400;color:var(--lagoon)}
.deep h2 em,.hero h1 em{color:var(--lagoon-lt)}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--ocean);padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:12px}

.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:14px}
.eyebrow.light{color:#E8C27A}
.lead{font-size:19px;color:var(--mute);max-width:720px}
.deep .lead,.hero .lead{color:#B9CCDB}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:16px;text-decoration:none;padding:14px 24px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease;font-family:var(--sans)}
.btn:hover{transform:translateY(-1px)}
.btn-gold{background:var(--gold);color:var(--ocean)}
.btn-gold:hover{background:#D9A740}
.btn-ink{background:var(--ocean);color:#fff}
.btn-ink:hover{background:var(--ocean-3)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-sm{padding:9px 18px;font-size:14px}
.btn-block{width:100%}

/* Nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;background:rgba(11,34,54,.0);transition:background .25s ease,box-shadow .25s ease}
.nav.scrolled{background:rgba(11,34,54,.96);box-shadow:0 8px 24px -16px rgba(0,0,0,.6);backdrop-filter:blur(8px)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-family:var(--serif);font-size:19px}
.brand b{font-weight:600;color:#E8C27A}
.brand-mark{width:36px;height:36px;flex:none}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-links a{color:#D6E2EC;text-decoration:none;font-size:15px;font-weight:500}
.nav-links a:hover{color:#fff}
.nav-links a.active{color:#E8C27A}
.nav-links .btn{color:var(--ocean)}
.nav-login{opacity:.85}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:10px}
.burger span{display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:transform .2s,opacity .2s}

/* Hero */
.hero{position:relative;background:radial-gradient(120% 90% at 85% 10%,#1B4E6E 0%,var(--ocean) 55%,#081A29 100%);color:#fff;padding:140px 0 90px;overflow:hidden}
.hero-waves{position:absolute;inset:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='24' viewBox='0 0 120 24'%3E%3Cpath d='M0 12c15-8 30-8 45 0s30 8 45 0 30-8 30-4' fill='none' stroke='%235FC4BA' stroke-width='1.2'/%3E%3C/svg%3E");background-size:120px 24px;mask-image:linear-gradient(to bottom,transparent,#000 40%,#000 80%,transparent)}
.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(40px,5.6vw,68px);margin-bottom:22px}
.hero-sub{font-size:19px;color:#C6D6E3;max-width:560px}
.hero-sub b{color:#fff;font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 40px}
.hero-facts{list-style:none;padding:0;margin:0;display:flex;gap:34px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);padding-top:24px}
.hero-facts li{display:flex;flex-direction:column}
.hero-facts b{font-family:var(--serif);font-size:34px;font-weight:600;color:#E8C27A;line-height:1}
.hero-facts span{font-size:14px;color:#A9BFD0;margin-top:6px}
.hero-map{margin:0}
.hero-map svg{width:100%;height:auto;overflow:visible}
.route{fill:none;stroke:#E8C27A;stroke-width:2;stroke-dasharray:2 9;stroke-linecap:round;opacity:.85}
.map-name{font-family:var(--sans);font-size:14px;font-weight:600;fill:#fff;text-anchor:middle}
.map-name.start{text-anchor:start}
.map-name.end{text-anchor:end}
.map-q{font-family:var(--serif);font-style:italic;font-size:13px;fill:#A9BFD0}
.map-small{font-family:var(--sans);font-size:10px;letter-spacing:.18em;fill:#6E8BA6;font-weight:700}
.badge{fill:var(--ocean);stroke:#E8C27A;stroke-width:1.5}
.letter{font-family:var(--serif);font-weight:600;font-size:14px;fill:#E8C27A;text-anchor:middle}
.isle{transition:transform .3s}
@media (prefers-reduced-motion:no-preference){
  .route{animation:sail 30s linear infinite}
  @keyframes sail{to{stroke-dashoffset:-220}}
}

/* Sections */
.section{padding:110px 0}
.sand{background:var(--sand)}
.deep{background:var(--ocean);color:#fff}
.center-head{text-align:center;max-width:820px;margin:0 auto 56px}
.center-head .lead{margin:20px auto 0}
.split-head{max-width:860px;margin-bottom:48px}
.split-head .lead{margin-top:20px}

/* Lists */
.clist,.xlist{list-style:none;padding:0;margin:0 0 28px}
.clist li,.xlist li{position:relative;padding-left:32px;margin:12px 0}
.clist li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--lagoon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.xlist li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:#B9B2A6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M7 7l6 6M13 7l-6 6' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* Mainland vs island */
.contrast{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contrast-col{border-radius:var(--r);padding:34px 34px 10px}
.contrast-col h3{font-size:24px;margin-bottom:10px}
.mainland-col{background:#E6DDCD;color:#4A5561}
.island-col{background:#fff;box-shadow:var(--shadow);border:1px solid #E7DECF}
.island-col h3{color:var(--lagoon)}
.test{margin-top:40px;border-left:4px solid var(--gold);padding:6px 0 6px 28px;max-width:820px}
.test-label{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dk)}
.test ol{margin:12px 0 14px;padding-left:22px;font-family:var(--serif);font-size:21px;line-height:1.4}
.test ol li{margin:8px 0}
.test p{color:var(--mute);margin:0}

/* Pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pillar{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px 30px 28px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.pillar:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#CDBF9F}
.pillar-num{position:absolute;top:26px;right:28px;font-family:var(--serif);font-size:15px;color:#B9AA88}
.pillar-ico{width:48px;height:48px;color:var(--lagoon);margin-bottom:18px}
.pillar h3{font-size:27px}
.pillar-tag{font-weight:600;color:var(--gold-dk);font-size:15px;margin:6px 0 14px}
.pillar p:not(.pillar-tag){color:var(--mute);font-size:16px}
.pillar-go{margin-top:auto;font-weight:700;color:var(--ocean);font-size:15px}
.pillar-go::after{content:" →";transition:margin .2s}
.pillar:hover .pillar-go::after{margin-left:4px}

.rhythm{margin-top:48px;background:var(--ocean);color:#fff;border-radius:var(--r);padding:26px 30px;display:flex;align-items:center;gap:30px}
.rhythm-label{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#E8C27A;flex:none}
.rhythm ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;flex:1;counter-reset:r}
.rhythm li{counter-increment:r;display:flex;flex-direction:column;padding-left:40px;position:relative}
.rhythm li::before{content:counter(r);position:absolute;left:0;top:2px;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--lagoon-lt);color:var(--lagoon-lt);font-size:13px;font-weight:700;display:grid;place-items:center}
.rhythm b{font-family:var(--serif);font-size:20px;font-weight:600}
.rhythm span{font-size:14px;color:#A9BFD0}

/* Islands */
.isle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.isle-card{background:var(--ocean-2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:26px 24px 20px;transition:background .2s,transform .2s}
.isle-card:hover{background:var(--ocean-3);transform:translateY(-3px)}
.isle-letter{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--lagoon);color:#fff;font-family:var(--serif);font-weight:600;font-size:22px;margin-bottom:16px}
.isle-letter.gold{background:var(--gold);color:var(--ocean);font-family:var(--sans);font-size:18px}
.isle-card h3{font-size:22px;margin-bottom:6px}
.isle-q{font-family:var(--serif);font-style:italic;color:#E8C27A;font-size:16px;margin-bottom:10px}
.isle-card p:last-child{color:#B9CCDB;font-size:15px;margin:0}
.isle-map{background:linear-gradient(150deg,#2A4A2F00,#C8962E22),var(--ocean-2);border-color:rgba(232,194,122,.35)}

/* Course */
.course-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.course-copy{position:sticky;top:110px}
.course-copy .lead{margin:20px 0 24px}
.weeks{list-style:none;margin:0;padding:0;position:relative}
.weeks::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:repeating-linear-gradient(to bottom,var(--gold) 0 3px,transparent 3px 10px)}
.weeks li{position:relative;padding:14px 0 14px 46px;display:grid;grid-template-columns:120px 1fr;column-gap:16px;border-bottom:1px solid #EFE8DA}
.weeks li::before{content:"";position:absolute;left:4px;top:21px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--lagoon)}
.weeks .wk{font-size:13px;font-weight:700;color:var(--gold-dk);letter-spacing:.06em;text-transform:uppercase;padding-top:3px;grid-row:span 2}
.weeks b{font-family:var(--serif);font-size:21px;font-weight:600}
.weeks .wd{color:var(--mute);font-size:15px}
.weeks .wk-route{background:var(--sand);border-radius:12px;border-bottom:0;margin:6px 0}
.weeks .wk-route::before{border-color:var(--gold)}
.weeks .wk-final::before{background:var(--gold);border-color:var(--gold)}

/* Coaching */
.coach-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.coach-photo{margin:0;position:relative}
.coach-photo::before{content:"";position:absolute;inset:22px -22px -22px 22px;background:var(--sand-2);border-radius:var(--r);z-index:0}
.coach-photo img{position:relative;border-radius:var(--r);box-shadow:var(--shadow);aspect-ratio:4/3.4;object-fit:cover;object-position:52% 30%;width:100%}
.coach-copy .lead{margin:20px 0 28px}
.coach-points{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}
.coach-points div{display:flex;flex-direction:column;border-top:2px solid var(--gold);padding-top:12px}
.coach-points b{font-size:16px}
.coach-points span{color:var(--mute);font-size:15px}
.coach-bio{margin-top:80px;display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center;background:#fff;border-radius:var(--r);padding:34px;box-shadow:var(--shadow)}
.coach-bio img{border-radius:12px;aspect-ratio:1;object-fit:cover;object-position:64% 20%;width:100%}
.coach-bio h3{font-size:32px;margin-bottom:12px}
.coach-bio p{color:var(--mute)}
.bio-line{font-family:var(--serif);font-size:22px;color:var(--ocean)!important;margin:0}
.bio-line span{font-style:italic;color:var(--gold-dk)}

/* Platform */
.plat-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center}
.plat-copy .lead{margin:20px 0 30px}
.feat-list{display:grid;gap:18px}
.feat-list div{display:flex;flex-direction:column;padding-left:20px;border-left:2px solid var(--lagoon)}
.feat-list b{font-size:17px}
.feat-list span{color:#B9CCDB;font-size:15px}

.tmap{background:#F8F5EE;color:var(--ink);border-radius:14px;box-shadow:0 30px 60px -24px rgba(0,0,0,.6);overflow:hidden;font-size:14px;transform:perspective(1400px) rotateY(-4deg) rotateX(2deg)}
.tmap-bar{display:flex;align-items:center;gap:6px;padding:11px 14px;background:#E9E2D4;border-bottom:1px solid #DDD3C0}
.tmap-bar span{width:10px;height:10px;border-radius:50%;background:#CFC4AE}
.tmap-bar em{font-style:normal;font-weight:600;margin-left:10px;font-size:13px;color:#4A5561}
.tmap-body{padding:18px;display:grid;gap:12px}
.tmap-k{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:4px}
.tmap-goal{background:var(--ocean);color:#fff;border-radius:10px;padding:14px 16px}
.tmap-goal b{font-family:var(--serif);font-size:19px;font-weight:600}
.tmap-goal .tmap-k{color:#E8C27A}
.tmap-line{height:6px;background:rgba(255,255,255,.15);border-radius:6px;margin:10px 0 6px;overflow:hidden}
.tmap-line i{display:block;height:100%;background:linear-gradient(90deg,var(--lagoon-lt),#E8C27A);border-radius:6px}
.tmap-s{font-size:12px;color:#A9BFD0}
.tmap-row{display:grid;gap:10px}
.tmap-row.two{grid-template-columns:1fr 1fr}
.tmap-row.four{grid-template-columns:repeat(4,1fr)}
.tcard{background:#fff;border:1px solid #E5DCCB;border-radius:10px;padding:12px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}
.tcard .tl{grid-row:span 2;width:26px;height:26px;border-radius:7px;background:var(--lagoon);color:#fff;font-family:var(--serif);font-weight:600;display:grid;place-items:center;font-size:14px}
.tcard b{font-size:14px}
.tcard small{grid-column:2;color:var(--mute);font-size:12px;line-height:1.3}
.tcard .dots{grid-column:1/-1;display:flex;gap:4px;margin-top:8px}
.tcard.sm{grid-template-columns:auto 1fr;padding:10px}
.tcard.sm .tl{grid-row:auto;width:22px;height:22px;font-size:12px}
.tcard.sm b{font-size:12.5px}
.dots i{width:8px;height:8px;border-radius:50%;background:#DDD3C0}
.dots i.on{background:var(--lagoon)}
.dots i.warn{background:var(--gold)}
.tmap-q{background:#fff;border:1px solid #E5DCCB;border-radius:10px;padding:12px 14px}
.qrow{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid #F0EAE0;font-size:13.5px}
.qrow:first-of-type{border-top:0}
.qrow em{margin-left:auto;font-style:normal;font-size:12px;font-weight:600;color:var(--lagoon)}
.qrow em.late{color:#B8641B}
.qd{width:8px;height:8px;border-radius:50%;flex:none}
.qd.ok{background:var(--lagoon)}
.qd.late{background:#D9822B}

.tool-strip{margin-top:70px;border-top:1px solid rgba(255,255,255,.12);padding-top:30px;display:flex;gap:26px;align-items:baseline}
.tool-k{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#E8C27A;flex:none}
.tool-strip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tool-strip li{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 13px;font-size:14px;color:#D6E2EC}

/* Fit */
.fit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;max-width:1000px;margin:0 auto}
.fit-card{border-radius:var(--r);padding:32px 32px 6px}
.fit-card h3{font-size:24px;margin-bottom:8px}
.fit-card.yes{background:var(--sand)}
.fit-card.no{border:1px solid var(--line)}
.fit-card.no li{color:var(--mute)}

/* FAQ */
.faq-wrap{max-width:860px}
.faq details{background:#fff;border-radius:12px;margin-bottom:12px;border:1px solid #E7DECF}
.faq summary{cursor:pointer;list-style:none;padding:20px 56px 20px 24px;font-weight:600;font-size:18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:24px;top:50%;width:12px;height:12px;border-right:2px solid var(--gold-dk);border-bottom:2px solid var(--gold-dk);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 24px 20px;margin:0;color:var(--mute)}

/* Apply */
.apply{background:radial-gradient(100% 80% at 10% 100%,#1B4E6E 0%,var(--ocean) 60%)}
.apply-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:start}
.apply-copy .lead{margin:20px 0 30px}
.apply-alt{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:30px}
.apply-alt span{color:#B9CCDB}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.contact-list a{color:#E8C27A;text-decoration:none;font-weight:600}
.contact-list a:hover{text-decoration:underline}
.apply-form{background:#fff;color:var(--ink);border-radius:var(--r);padding:32px;box-shadow:0 30px 60px -28px rgba(0,0,0,.6)}
.frow{display:grid;gap:16px;margin-bottom:16px}
.frow.two{grid-template-columns:1fr 1fr}
.apply-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#33414F}
.apply-form small{font-weight:400;color:var(--mute)}
.apply-form input,.apply-form select,.apply-form textarea{font:inherit;font-size:16px;font-weight:400;padding:12px 14px;border:1px solid #D5CCBB;border-radius:10px;background:#FCFAF6;color:var(--ink);width:100%}
.apply-form textarea{resize:vertical}
.apply-form input:focus,.apply-form select:focus,.apply-form textarea:focus{outline:2px solid var(--lagoon);outline-offset:1px;border-color:var(--lagoon)}
.hp{position:absolute;left:-9999px}
.form-status{margin:14px 0 0;font-size:15px;min-height:1px}
.form-status.ok{color:var(--lagoon);font-weight:600}
.form-status.err{color:#A3361B}
.form-status a{color:inherit}

/* Footer */
.footer{background:#071725;color:#A9BFD0;padding:60px 0 30px;font-size:15px}
.foot-in{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-tag{margin:14px 0 0;max-width:360px}
.foot-nav{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center}
.foot-nav a,.foot-base a{color:#D6E2EC;text-decoration:none}
.foot-nav a:hover,.foot-base a:hover{color:#fff}
.foot-base{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:22px;font-size:14px}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* Responsive */
@media (max-width:1080px){
  .nav-links{gap:16px}
  .isle-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:980px){
  .burger{display:block}
  .nav-links{position:fixed;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--ocean);padding:8px 24px 24px;transform:translateY(-120%);transition:transform .3s ease;box-shadow:0 20px 30px -20px rgba(0,0,0,.6);max-height:calc(100vh - 72px);overflow:auto}
  .nav-links.open{transform:none}
  .nav-links a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:17px}
  .nav-links .btn{margin-top:16px;border-bottom:0;padding:14px}
  .nav.menu-open{background:var(--ocean)}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero-grid,.course-grid,.coach-grid,.plat-grid,.apply-grid{grid-template-columns:1fr}
  .hero{padding:120px 0 70px}
  .hero-map{max-width:620px;margin:0 auto;width:100%}
  .course-copy{position:static}
  .pillars{grid-template-columns:1fr}
  .rhythm{flex-direction:column;align-items:flex-start}
  .rhythm ol{grid-template-columns:1fr 1fr;width:100%}
  .tmap{transform:none}
  .coach-photo::before{inset:14px -10px -14px 14px}
  .tool-strip{flex-direction:column;gap:14px}
  .fit-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .section{padding:76px 0}
  .lead{font-size:17px}
  .contrast,.frow.two,.coach-points{grid-template-columns:1fr}
  .contrast-col{padding:26px 22px 4px}
  .isle-grid{grid-template-columns:1fr}
  .rhythm ol{grid-template-columns:1fr}
  .weeks li{grid-template-columns:1fr;padding-left:40px}
  .weeks .wk{grid-row:auto}
  .coach-bio{grid-template-columns:1fr;padding:24px;margin-top:60px}
  .coach-bio img{max-width:220px}
  .tmap-row.four{grid-template-columns:1fr 1fr}
  .tmap-row.two{grid-template-columns:1fr}
  .apply-form{padding:22px}
  .test ol{font-size:18px}
  .hero-facts{gap:18px;flex-wrap:nowrap}
  .hero-facts b{font-size:28px}
  .hero-facts span{font-size:13px}
  .brand{font-size:17px}
  .faq summary{font-size:16px}
}
