/* Self-hosted Satoshi (body). Barlow + Baloo 2 come from Google Fonts in each page head. */
@font-face{font-family:'Satoshi';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/Satoshi-Regular.woff2) format('woff2');}
@font-face{font-family:'Satoshi';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/Satoshi-Medium.woff2) format('woff2');}
@font-face{font-family:'Satoshi';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/Satoshi-Bold.woff2) format('woff2');}


/* SHARED EMBED KIT - paste inside a <style> tag. Satoshi fonts (subset) + optimized real photos as data URIs. */
 
 
 
:root{
  --img-portrait:url(../assets/img/aidan-portrait.jpg);
  --img-nz:url(../assets/img/life-nz.jpg);
  --img-nz-sunrise:url(../assets/img/life-nz-sunrise.jpg);
  --img-tahoe:url(../assets/img/life-tahoe.jpg);
  --img-pinamar:url(../assets/img/life-pinamar.jpg);
  --img-ba:url(../assets/img/life-ba.jpg);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
.root{
  --cream:#FAF7F2; --cream2:#F3ECE0; --sand:#EAE0D2;
  --navy:#1E2A38; --ink:#26333F; --muted:#5F6B72; --soft:#8A7F72;
  --amber:#C9702A; --amber-d:#B25F1F; --orange:#E8871E;
  --rule:#E6DED0; --card:#FFFFFF;
  background:var(--cream); color:var(--ink);
  font-family:"Satoshi", system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing:antialiased; line-height:1.55;
}
.barlow{font-family:"Barlow", system-ui, sans-serif}
.num{font-family:"Barlow", system-ui, sans-serif; font-variant-numeric:tabular-nums}
.root a{color:var(--amber); text-decoration:none}
.wrap{max-width:1160px; margin:0 auto; padding:0 clamp(22px,5vw,60px)}
img{max-width:100%}
section{scroll-margin-top:82px}
.eyebrow{font-family:"Barlow",sans-serif; font-size:15px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--amber)}
.h2{font-family:"Barlow",sans-serif; font-size:clamp(30px,4.8vw,52px); line-height:1.06; font-weight:800; letter-spacing:-0.02em; color:var(--navy); margin:0}
.lead{font-size:clamp(17px,1.9vw,20px); line-height:1.62; color:var(--muted)}
.photo{background-size:cover; background-position:center; background-repeat:no-repeat}

/* buttons */
.root .btn,.root .ghost{display:inline-flex; align-items:center; justify-content:center; gap:10px; white-space:nowrap;
  font-family:"Barlow",sans-serif; font-weight:700; line-height:1; letter-spacing:0.01em; cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease}
.root .btn{color:#fff !important; font-size:18px; padding:17px 32px; border-radius:999px; border:1px solid var(--amber-d);
  background:linear-gradient(180deg,#D9853B 0%,#C9702A 60%,#B96324 100%); box-shadow:0 12px 26px rgba(160,90,30,.28)}
.root .btn:hover{transform:translateY(-2px); box-shadow:0 18px 34px rgba(160,90,30,.34)}
.root .ghost{color:var(--navy) !important; font-size:15px; padding:15px 28px; border-radius:999px; border:1.5px solid var(--navy); background:transparent}
.root .ghost:hover{background:var(--navy); color:#fff !important}
.root a:focus-visible,.root button:focus-visible,.root input:focus-visible{outline:3px solid var(--amber); outline-offset:3px; box-shadow:0 0 0 3px var(--cream),0 0 0 6px var(--amber)}

/* nav */
.nav{position:sticky; top:0; z-index:60; background:rgba(250,247,242,.9); backdrop-filter:blur(12px) saturate(1.2); -webkit-backdrop-filter:blur(12px) saturate(1.2); border-bottom:1px solid var(--rule)}
.nav-in{display:flex; justify-content:space-between; align-items:center; gap:16px; max-width:1160px; margin:0 auto; padding:14px clamp(22px,5vw,60px)}
.brand{display:flex; align-items:center; gap:10px}
.brand .name{font-family:"Barlow",sans-serif; font-size:22px; font-weight:800; letter-spacing:-0.01em; line-height:1; color:var(--navy)}
.brand .tag{font-family:"Barlow",sans-serif; font-size:10px; font-weight:500; letter-spacing:0.05em; color:var(--soft); margin-top:3px; display:block}
.nav-links{display:flex; align-items:center; gap:28px}
.nav-links a.lnk{font-size:15.5px; font-weight:500; color:var(--navy); position:relative; padding:4px 0}
.nav-links a.lnk::after{content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--amber); transition:width .22s ease}
.nav-links a.lnk:hover::after{width:100%}
.nav-toggle{display:none}
.mentor{display:inline-flex; align-items:center; gap:8px; font-family:"Barlow",sans-serif; font-size:16px; font-weight:700; color:var(--navy) !important; border:1.5px solid var(--navy); border-radius:999px; padding:9px 20px}
.mentor:hover{background:var(--navy); color:#fff !important}

/* hero */
.hero{padding:clamp(46px,6vw,76px) 0 clamp(40px,6vw,64px); background:
  radial-gradient(120% 90% at 90% 0%, #F6EEE1 0%, rgba(246,238,225,0) 60%), var(--cream)}
.hero-in{display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(30px,5vw,60px); align-items:center}
.hero .kick{font-family:"Barlow",sans-serif; font-weight:700; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); margin:0 0 18px}
.hero h1{font-family:"Barlow",sans-serif; font-size:clamp(40px,7.2vw,74px); line-height:1.02; font-weight:800; letter-spacing:-0.03em; margin:0 0 20px; color:var(--navy); max-width:15ch; text-wrap:balance}
.hero .sub{font-size:clamp(18px,2.2vw,22px); line-height:1.5; color:var(--muted); margin:0 0 30px; max-width:36ch}
.hero .cta-row{display:flex; gap:14px; align-items:center; flex-wrap:wrap}
.hero .micro{margin:22px 0 0; font-size:14px; color:var(--soft)}
.portrait-frame{position:relative}
.portrait{border-radius:20px; overflow:hidden; aspect-ratio:4/5; background-image:var(--img-portrait); background-size:cover; background-position:50% 20%; box-shadow:0 30px 60px rgba(60,40,20,.20); border:6px solid #fff}
.badge{position:absolute; left:-22px; bottom:26px; background:#fff; border-radius:14px; box-shadow:0 20px 40px rgba(60,40,20,.20); padding:16px 20px; max-width:220px}
.badge .n{font-family:"Barlow",sans-serif; font-weight:800; font-size:26px; color:var(--navy); line-height:1}
.badge .t{font-size:13px; color:var(--muted); margin-top:4px; line-height:1.4}
.dots{position:absolute; right:-16px; top:-16px; width:110px; height:110px; z-index:-1; background-image:radial-gradient(var(--sand) 2px, transparent 2px); background-size:14px 14px}

/* proof */
.proof{padding:clamp(30px,4vw,44px) 0; background:var(--navy); color:#fff}
.proof-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,3vw,30px)}
.pcell{text-align:center; padding:6px 8px; position:relative}
.pcell + .pcell::before{content:""; position:absolute; left:0; top:14%; height:72%; width:1px; background:rgba(255,255,255,.16)}
.pcell .big{font-family:"Barlow",sans-serif; font-weight:800; font-size:clamp(24px,3vw,34px); line-height:1; color:#fff; margin-bottom:8px}
.pcell .big em{color:#F0A24E; font-style:normal}
.pcell .cap{font-size:13.5px; line-height:1.4; color:#C9D2DA}

/* about */
.about{padding:clamp(56px,7vw,86px) 0; background:var(--cream)}
.about-head{max-width:760px; margin-bottom:38px}
.about-head h2{margin:14px 0 0}
.squig{position:relative; display:inline-block; color:var(--amber)}
.squig svg{position:absolute; left:0; bottom:-12px; width:100%; height:14px; overflow:visible}
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,44px); align-items:center}
.about-copy p{font-size:clamp(16px,1.9vw,19px); line-height:1.65; color:var(--muted); margin:0 0 16px}
.about-copy .q{font-family:"Barlow",sans-serif; font-weight:600; font-style:italic; font-size:clamp(19px,2.2vw,24px); color:var(--navy); line-height:1.35; margin:22px 0 0; padding-left:18px; border-left:3px solid var(--amber)}
.about-photos{display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:14px}
.about-photos .p{border-radius:16px; overflow:hidden; box-shadow:0 16px 34px rgba(60,40,20,.14)}
.about-photos .tall{grid-row:span 2; aspect-ratio:3/4; background-image:var(--img-nz-sunrise)}
.about-photos .sq1{aspect-ratio:1; background-image:var(--img-tahoe)}
.about-photos .sq2{aspect-ratio:1; background-image:var(--img-pinamar)}
.mile{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:44px}
.milecard{background:#fff; border:1px solid var(--rule); border-radius:16px; padding:24px 24px; box-shadow:0 10px 24px rgba(60,40,20,.06)}
.milecard .ic{width:40px; height:40px; border-radius:10px; background:var(--cream2); display:flex; align-items:center; justify-content:center; margin-bottom:14px}
.milecard h4{font-family:"Barlow",sans-serif; font-size:20px; font-weight:700; margin:0 0 6px; color:var(--navy)}
.milecard p{font-size:15.5px; line-height:1.55; color:var(--muted); margin:0}

/* lifestyle band */
.band{position:relative; min-height:clamp(220px,32vw,340px); background-image:var(--img-ba); background-size:cover; background-position:center 40%; display:flex; align-items:center}
.band::before{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(20,28,38,.78) 0%, rgba(20,28,38,.34) 70%)}
.band .inner{position:relative; z-index:1; color:#fff; max-width:640px}
.band h3{font-family:"Barlow",sans-serif; font-weight:800; font-size:clamp(24px,3.4vw,38px); line-height:1.1; margin:0 0 12px; text-wrap:balance}
.band p{font-size:clamp(15px,1.8vw,18px); color:#E9E1D6; line-height:1.55; margin:0; max-width:48ch}

/* trap */
.trap{padding:clamp(56px,7vw,86px) 0; background:var(--cream2)}
.trap .wrap{max-width:820px}
.trap p{font-size:clamp(16px,1.95vw,19px); line-height:1.68; color:var(--muted); margin:0 0 18px}
.trap .kick2{font-family:"Barlow",sans-serif; font-size:clamp(18px,2.1vw,22px); color:var(--navy); font-weight:700; margin-top:6px}

/* models */
.models{padding:clamp(56px,7vw,86px) 0; background:var(--cream)}
.models-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:32px}
.model{background:#fff; border:1px solid var(--rule); border-radius:18px; padding:30px 28px; box-shadow:0 10px 24px rgba(60,40,20,.06); transition:transform .2s ease, box-shadow .2s ease}
.model:hover{transform:translateY(-4px); box-shadow:0 22px 44px rgba(60,40,20,.12)}
.model .ic{width:52px; height:52px; border-radius:14px; background:var(--cream2); display:flex; align-items:center; justify-content:center; margin-bottom:18px}
.model h4{font-family:"Barlow",sans-serif; font-size:23px; font-weight:700; margin:0 0 8px; color:var(--navy)}
.model p{font-size:15.5px; line-height:1.6; color:var(--muted); margin:0}

/* testimonials */
.testi{padding:clamp(56px,7vw,86px) 0; background:var(--cream2)}
.testi .note{font-size:14px; color:var(--soft); margin:0 0 28px; font-style:italic}
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.quote{background:#fff; border:1px solid var(--rule); border-radius:18px; padding:30px 28px; box-shadow:0 10px 24px rgba(60,40,20,.06)}
.quote .mark{font-family:"Barlow",sans-serif; font-size:46px; line-height:.5; color:var(--amber)}
.quote p{font-size:clamp(16px,1.85vw,19px); line-height:1.55; color:var(--ink); margin:16px 0 18px}
.quote .who{font-size:13px; color:var(--soft)}

/* opt-in */
.optin{padding:clamp(56px,7vw,88px) 0; background:var(--navy); color:#fff; position:relative; overflow:hidden}
.optin .glow{position:absolute; width:min(46vw,440px); aspect-ratio:1; right:-8%; top:-24%; border-radius:50%; background:var(--amber); opacity:.20; filter:blur(70px)}
.optin-in{position:relative; z-index:1; display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(30px,5vw,56px); align-items:center}
.optin .eyebrow{color:#F0A24E}
.optin h2{color:#fff; max-width:20ch; margin:14px 0 18px}
.statline{display:flex; align-items:stretch; gap:0; border-radius:14px; overflow:hidden; border:1px solid rgba(255,255,255,.18); margin:0 0 22px; background:rgba(255,255,255,.04)}
.statline .c{flex:1; padding:16px 18px; text-align:center}
.statline .c + .c{border-left:1px solid rgba(255,255,255,.16)}
.statline .p{font-family:"Barlow",sans-serif; font-weight:800; font-size:clamp(26px,3.6vw,38px); line-height:1; color:#fff}
.statline .p.hot{color:#F5A85A}
.statline .l{font-size:12px; letter-spacing:.03em; color:#B9C4CE; margin-top:6px; text-transform:uppercase}
.statline .say{flex:1.4; padding:16px 18px; font-size:14.5px; color:#DCE3EA; line-height:1.45; display:flex; align-items:center; text-align:left; border-left:1px solid rgba(255,255,255,.16)}
.optin .desc{font-size:clamp(16px,1.9vw,19px); line-height:1.6; color:#D7DEE5; margin:0 0 18px; max-width:52ch}
.bullets{display:grid; gap:10px; margin:0 0 26px; padding:0; list-style:none}
.bullets li{display:flex; gap:10px; align-items:flex-start; font-size:15.5px; color:#D7DEE5}
.bullets li svg{flex:none; margin-top:2px}
.form{display:flex; gap:12px; align-items:center; flex-wrap:wrap; background:#fff; padding:8px; border-radius:999px; max-width:640px}
.form input{flex:1; min-width:180px; font-family:inherit; font-size:16px; padding:13px 18px; border:0; border-radius:999px; background:transparent; color:#26333F}
.form input:focus{outline:none}
/* phones: signup form becomes a rounded card (box on top, full-width button) instead of a stretched pill */
@media (max-width:520px){ .form{flex-direction:column; align-items:stretch; border-radius:22px} .form .btn{width:100%; justify-content:center} }
/* narrower screens: drop the desktop line break inside proof captions so the text wraps naturally */
@media (max-width:900px){ .cap br{display:none} }

.fineprint{font-size:12.5px; color:#AAB6C1; margin:14px 0 0}
.fineprint a{color:inherit; text-decoration:underline; text-underline-offset:2px}
/* Kit sign-up: thank-you message and error line that replace / follow the form */
.form-done{max-width:640px; margin:0; padding:16px 22px; border-radius:18px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); color:#fff; font-size:17px; font-weight:600; line-height:1.5}
.form-err{margin:10px 0 0; font-size:14px; color:#FFC9A3}
.cover{margin:0 auto; width:min(100%,300px); aspect-ratio:3/4; border-radius:16px; background:linear-gradient(160deg,#2A3B4D,#16222F); border:1px solid rgba(255,255,255,.14); display:flex; flex-direction:column; justify-content:flex-end; padding:28px; box-shadow:0 30px 60px rgba(0,0,0,.4)}
.cover .rule{height:5px; width:72px; background:var(--amber); margin-bottom:16px}
.cover h3{font-family:"Barlow",sans-serif; font-size:26px; font-weight:800; line-height:1.12; color:#fff; margin:0}
.cover .cap{font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:14px}

/* training */
.training{padding:clamp(56px,7vw,86px) 0; background:var(--cream); text-align:center}
.training h2{margin:0 0 14px}
.training p{font-size:clamp(16px,1.9vw,19px); line-height:1.6; color:var(--muted); margin:0 auto 28px; max-width:70ch}

/* footer */
.foot{background:var(--navy); color:#fff}
.foot .top{display:flex; justify-content:space-between; align-items:flex-start; gap:32px; flex-wrap:wrap; padding:52px 0 0}
.foot .name{font-family:"Barlow",sans-serif; font-size:21px; font-weight:800; color:#fff}
.foot .tag{font-family:"Barlow",sans-serif; font-size:11px; font-weight:500; letter-spacing:.06em; color:#9DA9B4; margin-top:4px}
.foot .fnav{display:flex; align-items:center; gap:26px; flex-wrap:wrap}
.foot .fnav a{color:#D7DEE5; font-weight:500}
.foot .fnav a.m{color:#F0A24E; font-weight:700}
.foot .legal{display:flex; gap:12px 22px; flex-wrap:wrap; font-size:13px; margin:0}
.foot .legal a{color:#9DA9B4}
.foot .divider{height:1px; background:rgba(255,255,255,.14); margin:24px 0 16px}
.foot .legalbar{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px 26px}
.foot .copy{font-size:12.5px; color:#9DA9B4; white-space:nowrap}
.foot .disc{font-size:12.5px; line-height:1.5; color:#9DA9B4; margin:16px 0 0; padding-bottom:40px}
.foot .fnav a.yt{display:inline-flex; align-items:center; color:#9DA9B4; transition:color .18s ease}
.foot .fnav a.yt:hover{color:#fff}
.foot .fnav a.yt svg{width:22px; height:22px; display:block}

@keyframes rise{from{opacity:0; transform:translateY(14px)}to{opacity:1; transform:none}}
.rise{animation:rise .8s cubic-bezier(.22,.61,.36,1) both}
.r2{animation-delay:.1s}.r3{animation-delay:.2s}

/* responsive */
@media (max-width:900px){
  .hero-in{grid-template-columns:1fr; gap:38px}
  .portrait-frame{max-width:420px; margin:0 auto}
  .proof-grid{grid-template-columns:repeat(2,1fr); gap:24px 16px}
  .pcell + .pcell::before{display:none}
  .about-grid{grid-template-columns:1fr; gap:30px}
  .mile{grid-template-columns:1fr}
  .models-grid{grid-template-columns:1fr 1fr}
  .testi-grid{grid-template-columns:1fr}
  .optin-in{grid-template-columns:1fr}
  .optin .coverwrap{order:-1}
  .statline{flex-direction:column}
  .statline .c + .c,.statline .say{border-left:0; border-top:1px solid rgba(255,255,255,.16)}
}
@media (max-width:640px){
  .nav-links{position:absolute; top:100%; left:0; right:0; background:var(--cream); border-bottom:1px solid var(--rule); flex-direction:column; align-items:flex-start; gap:0; padding:6px clamp(22px,5vw,60px) 16px; box-shadow:0 18px 30px rgba(40,30,20,.10); clip-path:inset(0 0 100% 0); transition:clip-path .2s ease}
  .nav-links a.lnk{padding:12px 0; width:100%; border-bottom:1px solid var(--rule)}
  .nav-links .mentor{margin-top:12px; width:100%; justify-content:center}
  #navtoggle:checked ~ .nav-links{clip-path:inset(0 0 0 0)}
  .nav-toggle{display:inline-flex; align-items:center; justify-content:center; width:42px; height:38px; border:1px solid var(--rule); border-radius:9px; background:#fff; cursor:pointer}
  .models-grid{grid-template-columns:1fr}
  .about-photos{grid-template-columns:1fr 1fr}
  .badge{left:0; bottom:12px}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.rise{animation:none}}


/* Mentorship nav button: filled orange to match the primary button (Mel, 2026-09-23) */
.mentor{color:#fff !important; border:1px solid #B25F1F !important; background:linear-gradient(180deg,#D9853B 0%,#C9702A 60%,#B96324 100%) !important; box-shadow:0 8px 18px rgba(160,90,30,.28);}
.mentor:hover{color:#fff !important; background:linear-gradient(180deg,#E0904A 0%,#C9702A 55%,#B96324 100%) !important; transform:translateY(-1px); box-shadow:0 12px 24px rgba(160,90,30,.34);}
