/* Brand fonts (files in fonts/). Canastra ships in one weight, so it's mapped across the whole weight range to stop browsers faking a bold. */
@font-face{font-family:"Canastra";src:url(../fonts/Canastra-Regular.otf) format("opentype");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Canastra";src:url(../fonts/Canastra-Italic.otf) format("opentype");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Headstock Sans";src:url(../fonts/headstocksansregular-webfont.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Headstock Sans";src:url(../fonts/headstocksanssemibold-webfont.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Headstock Sans";src:url(../fonts/headstocksansbold-webfont.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Headstock Sans";src:url(../fonts/headstocksansextrabold-webfont.woff2) format("woff2");font-weight:800 900;font-display:swap}
@font-face{font-family:"Cutedrop";src:url(../fonts/cutedrop-script-webfont.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Cutedrop Caps";src:url(../fonts/cutedrop-caps-webfont.woff2) format("woff2");font-display:swap}

/* Layout: a bold, single-look brand site. Arched photo hero, a 2am "lock screen" of notifications, offset-shadow cards, checkerboard dividers. Brand fonts (Canastra, Headstock Sans, Cutedrop) load from fonts/. */
:root{
  color-scheme:light;
  --paper:#FFFFFF;
  --blush:#FDEFFB;          /* F9D9F6 lightened, section bands */
  --lilac:#F8C8FC;
  --pink:#EF5EB1;           /* brand pink, shapes only */
  --pink-ink:#B8287A;       /* pink that passes AA as text and button fill */
  --orange:#F99564;
  --orange-ink:#B9542A;
  --navy:#2F3763;           /* body text, from 3F4E74 family */
  --muted:#5E6488;
  --green:#4EBE74;
  --mint:#8CE5DC;
  --line:#F1D3EC;
  --display:"Canastra","Cooper Black",Georgia,serif;
  --caps:"Headstock Sans","Montserrat",Arial,sans-serif;
  --script:"Cutedrop","Brush Script MT",cursive;
  --body:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --gutter:max(16px,env(safe-area-inset-left,0px));
  --gutter-r:max(16px,env(safe-area-inset-right,0px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--pink-ink);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.02;letter-spacing:-.01em;text-wrap:balance;margin:0}
.caps{font-family:var(--caps);font-weight:600;font-size:14px;letter-spacing:.2em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;gap:10px;font:700 15px/1 var(--body);text-decoration:none;padding:17px 26px;border-radius:999px;border:2px solid var(--navy);transition:transform .15s ease, box-shadow .15s ease}
.btn-primary{background:var(--pink-ink);border-color:var(--pink-ink);color:#fff;box-shadow:4px 4px 0 var(--navy)}
.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--navy)}
.btn-ghost{background:#fff;color:var(--navy)}
.btn-ghost:hover{background:var(--blush)}
.sparkle{position:absolute;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .float{animation:float 6s ease-in-out infinite}
  .spin{animation:spin 40s linear infinite}
}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(8deg)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* review ribbon (not part of the real site) */
.review{background:var(--navy);color:#fff;font-size:13px;text-align:center;padding-block:9px;padding-left:var(--gutter);padding-right:var(--gutter-r)}
.review b{color:var(--lilac)}

/* stay bar + nav */
.staybar{background:var(--blush);font-size:13px;text-align:center;padding-block:8px;padding-left:var(--gutter);padding-right:var(--gutter-r)}
.staybar a{font-weight:600;color:var(--pink-ink)}
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px}
.logo img{height:60px;width:auto}
.menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0;font-weight:600;font-size:15px}
.menu a{text-decoration:none;white-space:nowrap}
.menu a:hover{color:var(--pink-ink)}
.menu .btn{padding:12px 20px;font-size:14px}
.burger{display:none}
@media (max-width:1100px){
  .menu{display:none}
  .burger{display:block;position:relative}
  .burger summary{list-style:none;cursor:pointer;font-weight:700;font-size:14px;border:2px solid var(--navy);border-radius:999px;padding:9px 16px}
  .burger summary::-webkit-details-marker{display:none}
  .burger[open] .menu{display:flex;position:absolute;right:0;top:52px;flex-direction:column;align-items:flex-start;gap:16px;background:#fff;border:2px solid var(--navy);border-radius:18px;padding:20px;box-shadow:6px 6px 0 var(--lilac);min-width:220px}
}

/* hero */
.hero{position:relative;overflow:hidden;padding-block:56px 72px}
.hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.hero-grid .arch{order:-1}
.meet{position:relative;z-index:2;display:flex;gap:14px;align-items:flex-start;margin:-72px -56px 0 22%;padding:16px 18px;background:#fff;border:2.5px solid var(--navy);border-radius:20px;box-shadow:6px 6px 0 var(--pink)}
.meet img{width:34px;flex:none;margin-top:4px}
.meet p{margin:0;font-size:14px;line-height:1.5}
.meet b{font-family:var(--display);font-size:19px;display:block;margin-bottom:2px}
.hero .caps{color:var(--pink-ink);display:flex;align-items:center;gap:10px}
.hero .caps img{width:18px}
.hero h1{font-size:clamp(42px,6.4vw,80px);margin-top:18px}
.hero h1 .hl{position:relative;white-space:nowrap;color:var(--pink-ink)}
.hero h1 .hl::after{content:"";position:absolute;left:-4px;right:-4px;bottom:.06em;height:.22em;background:var(--lilac);z-index:-1;border-radius:4px}
.hero p.lede{font-size:clamp(17px,1.6vw,19px);max-width:52ch;margin:24px 0 0;color:var(--navy)}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.proof{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:30px;font-size:14px;color:var(--muted)}
.proof b{color:var(--navy)}
.arch{position:relative;justify-self:center;width:min(100%,430px)}
.arch .photo{aspect-ratio:3/4;border-radius:999px 999px 28px 28px;overflow:hidden;border:3px solid var(--navy);box-shadow:12px 12px 0 var(--orange)}
.arch .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.arch .badge{position:absolute;width:120px;right:-40px;top:24%}
.arch .s1{width:44px;left:-14px;top:40px}
.arch .s2{width:30px;left:30px;top:-10px;animation-delay:-2s}
.hero .tag{position:absolute;right:-18px;bottom:18px;background:#fff;border:2px solid var(--navy);border-radius:14px;padding:10px 14px;font-size:13px;line-height:1.35;box-shadow:4px 4px 0 var(--lilac);max-width:190px}
.hero .tag b{display:block;font-family:var(--display);font-size:22px}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .arch{width:min(100%,360px);margin-top:12px}
  .hero-grid .arch{order:0}
  .arch .badge{width:90px;right:-10px}
  .meet{margin:-56px 0 0 8%}
  .hero .tag{right:-4px}
}

/* checker divider */
.checker{height:48px;background:conic-gradient(#F9AFEE 25%,#EA7F54 0 50%,#F9AFEE 0 75%,#EA7F54 0) 0 0/48px 48px;border-block:2px solid var(--navy)}

/* sound familiar */
.familiar{background:var(--blush);padding-block:88px}
.fam-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
/* phone: a real-looking handset. Dark bezel, dynamic island, status bar at 3% battery, side buttons, home bar. */
.phone{position:relative;justify-self:center;width:min(100%,330px);border:11px solid #161A2E;border-radius:54px;padding:12px 14px 14px;background:linear-gradient(170deg,#3F4EB5,#2F3763 70%);box-shadow:0 0 0 2.5px var(--navy),12px 12px 0 2.5px var(--pink);color:#fff}
.phone::before,.phone::after{content:"";position:absolute;width:4px;border-radius:3px;background:#161A2E;box-shadow:0 0 0 1.5px var(--navy)}
.phone::before{left:-17px;top:110px;height:44px;box-shadow:0 0 0 1.5px var(--navy),0 60px 0 0 #161A2E,0 60px 0 1.5px var(--navy)}
.phone::after{right:-17px;top:150px;height:70px}
.phone .status{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;padding:2px 8px 0}
.phone .island{width:92px;height:26px;border-radius:20px;background:#0B0D18}
.phone .icons{display:flex;align-items:center;gap:5px;font-size:11px}
.phone .bars{width:16px;height:10px;background:linear-gradient(90deg,#fff 0 3px,transparent 3px 4.3px,#fff 4.3px 7.3px,transparent 7.3px 8.6px,#fff 8.6px 11.6px,transparent 11.6px 12.9px,rgba(255,255,255,.35) 12.9px);clip-path:polygon(0 100%,100% 0,100% 100%)}
.phone .batt{position:relative;width:22px;height:11px;border:1.5px solid #fff;border-radius:3px}
.phone .batt b{position:absolute;left:1.5px;top:1.5px;bottom:1.5px;width:3px;border-radius:1px;background:#FF5A5F}
.phone .lock{width:18px;height:22px;margin:16px auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Cpath d='M4.5 10V6.5a4.5 4.5 0 0 1 9 0V10' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'/%3E%3Crect x='1.5' y='9.5' width='15' height='11' rx='3' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat}
.phone .home-bar{width:110px;height:5px;border-radius:5px;background:rgba(255,255,255,.85);margin:18px auto 2px}
.phone .time{text-align:center;font-family:var(--display);font-size:64px;font-weight:600;line-height:1;margin:10px 0 2px;font-variant-numeric:tabular-nums}
.phone .date{text-align:center;font-size:13px;opacity:.8;margin-bottom:20px}
.note{background:rgba(255,255,255,.93);color:var(--navy);border-radius:16px;padding:10px 13px;margin-top:9px;font-size:13.5px;line-height:1.35}
.note .who{display:flex;justify-content:space-between;font-size:13.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.familiar h2{font-size:clamp(36px,4.6vw,58px)}
.thoughts{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px}
.thoughts li{display:flex;gap:14px;align-items:flex-start;font-size:18px}
.thoughts img{width:20px;flex:none;margin-top:6px}
.turn{margin-top:30px;font-family:var(--display);font-size:clamp(24px,2.6vw,30px);font-weight:700;line-height:1.2}
.turn em{font-style:normal;color:var(--pink-ink)}
@media (max-width:860px){.fam-grid{grid-template-columns:1fr}.phone{order:2}}

/* fit */
.fit{padding-block:88px}
.fit h2{font-size:clamp(34px,4.2vw,52px);max-width:16ch}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:36px}
.fit-card{border:2px solid var(--navy);border-radius:24px;padding:28px}
.fit-card.yes{background:#fff;box-shadow:8px 8px 0 var(--lilac)}
.fit-card.no{background:var(--paper);border-style:dashed;border-color:#A9ADC8}
.fit-card h3{font-size:26px;margin-bottom:12px}
.fit-card ul{margin:0;padding-left:20px;display:grid;gap:8px}
.fit-card.no{color:var(--muted)}
@media (max-width:760px){.fit-grid{grid-template-columns:1fr}}

/* offers */
.offers{padding-block:88px 96px;position:relative;background:linear-gradient(rgba(255,255,255,.45),rgba(255,255,255,.45)),url(../img/pattern-squiggle.svg) center/cover no-repeat,var(--blush);border-top:2px solid var(--navy);border-bottom:2px solid var(--navy)}
.offers-head > div{background:#fff;border:2px solid var(--navy);border-radius:20px;padding:20px 26px;width:100%}
.offers-head > div p{color:var(--navy);max-width:62ch;margin:12px 0 0;font-size:17px}
.offers .va-line{display:block;width:100%;max-width:none;background:#fff;border:2px solid var(--navy);border-radius:20px;padding:16px 22px;color:var(--navy);font-size:16px;box-shadow:5px 5px 0 var(--orange)}
.offers .va-line b{font-family:var(--display);font-size:19px}
.offers .va-line .btn{color:#fff;margin-top:14px;font-size:14px;padding:13px 22px}
.offers-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px}
.offers-head h2{font-size:clamp(34px,4.2vw,52px)}
.offers-head p{max-width:44ch;color:var(--muted);margin:0}
.offer-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:36px}
.offer{position:relative;border:2.5px solid var(--navy);border-radius:28px;padding:34px;display:flex;flex-direction:column;gap:14px;min-width:0}
.offer.main{background:var(--pink-ink);color:#fff;box-shadow:10px 10px 0 var(--orange)}
.offer.side{background:#fff;box-shadow:10px 10px 0 var(--lilac)}
.offer .caps{opacity:.9}
.offer h3{font-size:clamp(32px,3.4vw,44px)}
.offer .price{font-family:var(--display);font-size:22px;font-weight:700}
.offer ul{margin:0;padding-left:20px;display:grid;gap:6px}
.offer .btn{align-self:flex-start;margin-top:auto}
.offer.main .btn{background:#fff;color:var(--navy);border-color:var(--navy);box-shadow:4px 4px 0 var(--navy)}
.offer.main .s{width:54px;right:26px;top:-24px}
.va-line{margin-top:28px;font-size:15px;color:var(--muted)}
.va-line a{color:var(--pink-ink);font-weight:600}
@media (max-width:860px){.offer-grid{grid-template-columns:1fr}}

/* results */
.results{background:var(--navy);color:#fff;padding-block:96px;position:relative;overflow:hidden}
.results h2{font-size:clamp(34px,4.4vw,56px);max-width:18ch}
.results .caps{color:var(--lilac)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.stat{background:#fff;color:var(--navy);border:2.5px solid #fff;border-radius:22px;padding:20px 20px 18px;box-shadow:7px 7px 0 var(--lilac);transform:rotate(-1.5deg)}
.stat:nth-child(2){box-shadow:7px 7px 0 var(--orange);transform:rotate(1.2deg)}
.stat:nth-child(3){box-shadow:7px 7px 0 var(--mint);transform:rotate(-.8deg)}
.stat:nth-child(4){box-shadow:7px 7px 0 var(--pink);transform:rotate(1.6deg)}
.stat .who{font-style:normal;font-weight:700;color:var(--pink-ink)}
.stat b{display:block;font-family:var(--display);font-size:clamp(30px,3.4vw,42px);line-height:1;color:var(--navy);font-variant-numeric:tabular-nums;margin-bottom:8px}
.stat span{font-size:14px;color:var(--muted)}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.q{margin:0;display:flex;flex-direction:column;gap:22px;min-width:0}
.q blockquote{position:relative;margin:0;padding:30px 28px 28px;border-radius:40px 40px 40px 8px;background:var(--lilac);color:var(--navy);font-family:var(--display);font-weight:600;font-size:21px;line-height:1.3}
.q blockquote::after{content:"";position:absolute;left:0;bottom:-18px;width:34px;height:20px;background:inherit;clip-path:polygon(0 0,100% 0,0 100%)}
.q:nth-child(2) blockquote{background:#FFD7C4}
.q:nth-child(3) blockquote{background:var(--mint)}
.q:nth-child(2){margin-top:34px}
.q .by{margin-top:auto;padding-left:44px;font-size:14px;color:var(--lilac)}
.q .by b{display:block;font-size:16px;color:#fff}
.results .s{width:220px;right:-60px;top:-40px;opacity:.12}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.quotes{grid-template-columns:1fr;gap:44px}.q:nth-child(2){margin-top:0}}

/* about */
.about{padding-block:100px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.stack{position:relative;display:grid;grid-template-columns:repeat(12,1fr);padding-bottom:48px}
.stack .p1{grid-column:1/11;grid-row:1;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:24px;border:3px solid var(--navy);box-shadow:8px 8px 0 var(--lilac)}
.facts{grid-column:7/13;grid-row:1;align-self:end;margin:0 0 -48px;padding:20px 22px;list-style:none;background:#fff;border:3px solid var(--navy);border-radius:24px;box-shadow:8px 8px 0 var(--orange);position:relative;display:grid;gap:12px;font-size:14px;line-height:1.35;color:var(--muted)}
.facts b{display:block;font-family:var(--display);font-size:21px;color:var(--navy)}
.stack .s{width:56px;right:14%;top:12%}
.about h2{font-size:clamp(34px,4.2vw,52px)}
.about .sec-title{display:flex;justify-content:flex-start;align-items:center;gap:16px;font-size:clamp(40px,5.4vw,68px);color:var(--pink-ink);margin-bottom:48px}
.about-head{position:relative;margin-bottom:28px}
.about .about-head .sec-title{margin-bottom:0}
.about .sec-title .blob{position:relative;z-index:0;padding:0 .25em}
.bounce i{color:var(--pink-ink);text-shadow:4px 4px 0 var(--lilac)}
.hello-note{position:absolute;left:clamp(330px,34vw,470px);top:-6px;display:flex;align-items:flex-end;gap:2px;transform:rotate(-4deg)}
.hello-note .arrow{width:92px;height:54px;transform:scaleX(-1) rotate(10deg)}
.hello-note span{font-family:var(--script);font-size:clamp(28px,2.8vw,38px);color:var(--pink-ink);line-height:1;white-space:nowrap;margin-bottom:26px}
.meet-sticker{position:absolute;right:4%;top:-18px;width:118px;height:118px;display:grid;place-items:center;transform:rotate(10deg);animation:wobble 4s ease-in-out infinite}
.meet-sticker img{position:absolute;inset:0;width:100%;height:100%;filter:hue-rotate(0deg)}
.meet-sticker b{position:relative;max-width:62%;font:800 13px/1.15 var(--caps);letter-spacing:.05em;text-transform:uppercase;color:var(--navy);text-align:center}
@keyframes wobble{0%,100%{rotate:0deg}50%{rotate:-8deg}}
.about-head .mini{position:absolute;width:26px}
.about-head .m1{left:-6px;top:-34px;width:34px}.about-head .m2{left:47%;bottom:-20px}
.about-head .heart{position:absolute;color:var(--pink);font-size:22px;line-height:1;animation:floaty 3.4s ease-in-out infinite}
.about-head .h1{left:62%;top:-14px}.about-head .h2{left:70%;top:30px;font-size:16px;color:var(--orange);animation-delay:-1.6s}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -10px}}
/* more fun: bouncing letters, confetti, squiggle, washi tape */
.bounce{display:inline-flex}
.bounce i{font-style:normal;display:inline-block}
.hello-note span{position:relative}
.hello-note .squig{position:absolute;left:0;right:0;bottom:-14px;width:100%;height:12px}
.meet-sticker{width:156px;height:156px;cursor:default;transition:scale .3s}
.meet-sticker:hover{scale:1.15;animation-duration:.6s}
.cf{position:absolute;display:block;width:12px;height:12px;border-radius:50%;animation:floaty 3.8s ease-in-out infinite}
.cf1{left:28%;top:-26px;background:var(--orange)}
.cf2{left:40%;top:56px;background:var(--mint);width:9px;height:9px;animation-delay:-1s}
.cf3{left:55%;top:-30px;background:var(--pink);border-radius:2px;rotate:20deg;animation-delay:-2s}
.cf4{left:76%;top:52px;background:var(--lilac);width:16px;height:16px;animation-delay:-.6s}
.cf5{left:84%;top:-28px;background:var(--green);width:8px;height:8px;animation-delay:-1.4s}
.cf6{left:93%;top:84px;background:var(--orange);border-radius:2px;rotate:-25deg;animation-delay:-2.4s}
.cf7{left:-2%;top:62px;background:var(--pink);width:9px;height:9px;animation-delay:-.3s}
.cf8{left:63%;top:70px;background:var(--orange);width:7px;height:7px;animation-delay:-3s}
.stack .tape{position:absolute;z-index:3;width:92px;height:28px;border-radius:3px;opacity:.92;background:repeating-linear-gradient(45deg,var(--pink) 0 8px,#F9AFEE 8px 16px);box-shadow:0 2px 4px rgba(0,0,0,.08)}
.stack .t1{left:-22px;top:10px;rotate:-38deg}
.stack .t2{left:calc(66.66% - 70px);top:-8px;rotate:32deg;background:repeating-linear-gradient(45deg,var(--orange) 0 8px,#FCB497 8px 16px)}
@media (max-width:860px){.cf3,.cf4,.cf5,.cf6,.cf8{display:none}}
@media (prefers-reduced-motion:reduce){.bounce i,.cf{animation:none}}
@media (max-width:860px){.hello-note{left:auto;right:0;top:auto;bottom:-46px}.hello-note .arrow{display:none}.hello-note span{margin:0}.meet-sticker{display:none}.about-head{margin-bottom:70px}.about-head .h1,.about-head .h2{display:none}}
@media (prefers-reduced-motion:reduce){.meet-sticker,.about-head .heart{animation:none}}
.about .sec-title img{width:32px;animation:twinkle 2.8s ease-in-out infinite}
.about .sec-title img:last-child{animation-delay:1.4s}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0deg);opacity:1}50%{transform:scale(1.25) rotate(18deg);opacity:.75}}
@media (prefers-reduced-motion:reduce){.about .sec-title img{animation:none}}
.about p{max-width:58ch;margin:18px 0 0;font-size:17px}
.about .sig{width:180px;margin-top:22px;filter:saturate(1.6) brightness(.82)}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}.stack{max-width:460px}}

/* steps */
.steps{background:var(--blush);padding-block:88px}
.steps h2{font-size:clamp(32px,4vw,48px);text-align:center}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;counter-reset:s}
.step{background:#fff;border:2px solid var(--navy);border-radius:22px;padding:26px;counter-increment:s}
.step::before{content:counter(s);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--orange);color:var(--navy);font-family:var(--display);font-weight:800;font-size:22px;border:2px solid var(--navy);margin-bottom:14px}
.step h3{font-size:24px;margin-bottom:6px}
.step p{margin:0;color:var(--muted);font-size:15.5px}
@media (max-width:860px){.step-grid{grid-template-columns:1fr}}

/* podcast: a navy "on air" band. Tilted cover art with a sticker, orange show logo, a play bar, and a slim guest/sponsor strip. */
.podcast{position:relative;overflow:hidden;padding-block:96px 72px;background:var(--navy);color:#fff}
.pod-spark{position:absolute;width:46px;opacity:.9}
.pod-spark.a{top:48px;left:6%}
.pod-spark.b{bottom:120px;right:5%;width:64px}
.pod-stage{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,80px);align-items:center}
.pod-cover{position:relative;transform:rotate(-3deg);max-width:470px;justify-self:center;width:100%}
.pod-cover img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:26px;border:4px solid #fff;box-shadow:14px 14px 0 var(--orange)}
.pod-sticker{position:absolute;top:-30px;right:-24px;display:grid;place-items:center;text-align:center;width:124px;height:124px;border-radius:50%;background:var(--pink);color:#fff;border:3px solid #fff;font:800 15px/1.1 var(--caps);letter-spacing:.1em;text-transform:uppercase;transform:rotate(12deg);box-shadow:4px 4px 0 var(--navy)}
.pod-copy .caps{color:#fff}
.pod-logo{display:block;width:min(360px,85%);margin:14px 0 18px}
.podcast h2{font-size:clamp(34px,4.4vw,56px);color:#fff}
.podcast p{font-size:17px;max-width:48ch;color:#E6E8F5;margin:16px 0 0}
.podcast .pod-hand{font-family:var(--script);font-size:clamp(26px,2.8vw,34px);line-height:1.1;color:var(--lilac);margin-top:14px}
.pod-player{display:flex;align-items:center;gap:16px;margin-top:28px;max-width:520px;background:#fff;color:var(--navy);border-radius:999px;padding:10px 24px 10px 10px;text-decoration:none;box-shadow:6px 6px 0 var(--pink);transition:transform .15s}
.pod-player:hover{transform:translate(-2px,-2px)}
.pod-player .play{flex:none;width:52px;height:52px;border-radius:50%;background:var(--orange);border:2px solid var(--navy);position:relative}
.pod-player .play::after{content:"";position:absolute;left:20px;top:15px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent var(--navy)}
.pod-player .wave{display:flex;align-items:center;gap:3px;height:34px;flex:1;min-width:0;overflow:hidden}
.pod-player .wave i{display:block;width:4px;border-radius:4px;background:var(--pink-ink);flex:none}
.pod-player .wave i:nth-child(3n+1){height:40%}.pod-player .wave i:nth-child(3n+2){height:90%}.pod-player .wave i:nth-child(3n){height:60%}
.pod-player .wave i:nth-child(4n){height:25%}
.pod-player .lbl{font-weight:700;font-size:14px;white-space:nowrap}
.pod-involve{margin-top:72px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;border-top:2px dashed rgba(255,255,255,.35);padding-top:32px}
.pod-ask{flex-basis:100%;text-align:center;font-family:var(--display);font-size:26px;margin-bottom:4px}
.pod-involve a{background:#fff;color:var(--navy);text-decoration:none;border:2px solid #fff;border-radius:999px;padding:12px 20px;font-size:14px;box-shadow:4px 4px 0 var(--orange);transition:transform .15s}
.pod-involve a b{color:var(--pink-ink);margin-right:6px}
.pod-involve a:hover{transform:translate(-2px,-2px)}
@media (max-width:860px){.pod-stage{grid-template-columns:1fr}.pod-cover{max-width:360px}.pod-sticker{width:92px;height:92px;font-size:13px;right:-8px}}
@media (max-width:560px){.pod-player .wave{display:none}.pod-player .lbl{white-space:normal}.pod-involve a{width:100%;text-align:center}}

/* blog */
.blog{padding-block:24px 96px}
.blog-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px}
.blog h2{font-size:clamp(32px,4vw,48px)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}
.post{border:2px solid var(--navy);border-radius:22px;padding:24px;text-decoration:none;display:flex;flex-direction:column;gap:12px;background:#fff;transition:transform .15s, box-shadow .15s}
.post:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--lilac)}
.post .caps{color:var(--orange-ink);font-size:11px}
.post h3{font-size:22px;line-height:1.15}
.post span.read{margin-top:auto;font-weight:600;font-size:14px;color:var(--pink-ink)}
@media (max-width:860px){.posts{grid-template-columns:1fr}}

/* final cta */
.final{background:var(--pink-ink);color:#fff;position:relative;overflow:hidden}
.final-grid{display:grid;justify-items:center;text-align:center;padding-block:68px}
.final-grid > div{max-width:780px}
.final-grid p{margin-left:auto !important;margin-right:auto !important}
.final .ctas{justify-content:center}
.final h2{font-size:clamp(38px,5vw,66px)}
.final p{font-size:18px;max-width:46ch;margin:18px 0 0}
.final .ctas .btn-primary{background:#fff;color:var(--navy);border-color:var(--navy)}
.final .ctas .btn-ghost{background:transparent;color:#fff;border-color:#fff}
.final-photo{border-radius:999px 999px 26px 26px;overflow:hidden;border:3px solid var(--navy);box-shadow:10px 10px 0 var(--orange);aspect-ratio:4/5;width:min(100%,380px);justify-self:center}
.final-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.final .s{width:300px;left:-90px;bottom:-110px;opacity:.16}
.final .s2{width:240px;right:-70px;top:-80px;opacity:.16}
.final .s3{width:70px;right:12%;bottom:18%}
.final .s4{width:46px;left:12%;top:20%;opacity:.7;animation-delay:-3s}
@media (max-width:860px){.final .s3,.final .s4{display:none}}

/* footer */
footer{background:#fff;padding-block:56px 40px;font-size:14.5px}
.foot-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:28px}
.foot-grid h4{font:800 14px/1 var(--caps);letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px;color:var(--navy)}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-grid a{text-decoration:none}
.foot-grid a:hover{color:var(--pink-ink)}
.foot-logo{width:150px}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}

/* shared FAQ accordion */
.faq{padding-block:96px}
.faq h2{font-size:clamp(32px,4vw,48px);text-align:center;margin-bottom:32px}
.faq-list{max-width:820px;margin:0 auto;display:grid;gap:14px}
.faq details{background:#fff;border:2px solid var(--navy);border-radius:20px;padding:18px 22px}
.faq details[open]{box-shadow:6px 6px 0 var(--lilac)}
.faq summary{cursor:pointer;font-family:var(--display);font-weight:700;font-size:20px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--pink-ink);font-size:26px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0;color:var(--navy)}


/* homepage results: short testimonial cards */
.tcards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px}
.tcard{background:#fff;color:var(--navy);border-radius:22px;padding:24px 26px;display:flex;flex-direction:column;gap:10px;box-shadow:7px 7px 0 var(--lilac)}
.tcard:nth-child(2){box-shadow:7px 7px 0 var(--orange)}
.tcard:nth-child(3){box-shadow:7px 7px 0 var(--pink)}
.tcard:nth-child(4){box-shadow:7px 7px 0 var(--orange)}
.tc-badge{align-self:flex-start;background:var(--blush);color:var(--pink-ink);border-radius:999px;padding:7px 14px;font:700 13px/1 var(--caps);letter-spacing:.08em;text-transform:uppercase}
.tcard h3{font-size:clamp(21px,2vw,25px);line-height:1.25;margin:4px 0 0}
.tcard h3 em{font-style:italic}
.tcard p{margin:0;font-size:15.5px;color:var(--muted)}
.tc-who{margin-top:auto;padding-top:6px;font-size:14.5px;color:var(--muted)}
.tc-who b{color:var(--pink-ink)}
@media (max-width:760px){.tcards{grid-template-columns:1fr}}
