/* SkillFoundri website v1 · brand: navy #0C1624, mint #76EEA1, Poppins / DM Sans / IBM Plex Mono */
:root{--mono:'IBM Plex Mono',ui-monospace,monospace}
html{-webkit-text-size-adjust:100%}
body{margin:0}
.sf{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.55;background:var(--ground);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:clip}
.sf,.sf[data-theme="light"]{color-scheme:light;--ground:#F7F9F8;--surface:#FFFFFF;--raised:#EEF3F1;--line:#DCE4E0;--line-strong:#A9B6B0;--ink:#0C1624;--soft:#33414F;--muted:#4F5E6E;--mint-fill:#12864F;--on-mint:#FFFFFF;--mint-text:#0E6E40;--mint-wash:#E3F6EB;--cyan-text:#086A8B;--cyan-wash:#E2F3FA;--amber:#A35A00;--focus:#086A8B;--lift:0 18px 44px rgba(12,22,36,.10);--glass:rgba(247,249,248,.78);--sky-a:#E4F6EC;--sky-b:#E3F2FA;--hill-1:#CFEBDD;--hill-2:#B8E3CC;--hill-3:#9ED8BB;--scene-2:#FFFFFF;--scene-3:#EEF6F2;--edge-shadow:rgba(12,22,36,.08)}
.sf[data-theme="dark"]{color-scheme:dark;--ground:#0C1624;--surface:#121E31;--raised:#1A2840;--line:#26354D;--line-strong:#3B4D6B;--ink:#F1F5F3;--soft:#C9D4DE;--muted:#9FB0C3;--mint-fill:#76EEA1;--on-mint:#0C1624;--mint-text:#76EEA1;--mint-wash:#14303A;--cyan-text:#3AD1FC;--cyan-wash:#132C40;--amber:#FFB86B;--focus:#3AD1FC;--lift:0 18px 40px rgba(0,0,0,.45);--glass:rgba(12,22,36,.78);--sky-a:#10243A;--sky-b:#0E1D30;--hill-1:#15304A;--hill-2:#17394F;--hill-3:#1B4656;--scene-2:#0F1B2C;--scene-3:#122236;--edge-shadow:rgba(0,0,0,.35)}
.sf *{box-sizing:border-box}
.sf [id]{scroll-margin-top:72px}
.sf a{color:inherit}
.sf a.btn,.sf .btn{color:var(--on-mint)}
.sf :focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.sf h1,.sf h2,.sf h3,.sf p,.sf ul,.sf ol,.sf figure{margin:0}
.sf ul,.sf ol{padding:0}
.skip{position:absolute;left:16px;top:-80px;z-index:60;background:var(--surface);padding:12px 16px;border-radius:10px}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Header */
.hd{position:sticky;top:0;z-index:50;background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid var(--line)}
.nav{max-width:1180px;margin:0 auto;padding:6px 24px;display:flex;align-items:center;gap:8px 24px}
.home{display:flex;align-items:center;margin-right:auto;min-height:44px}
.home img{height:26px;width:auto}
.logo-l{display:none}
.sf[data-theme="light"] .logo-l,.sf:not([data-theme]) .logo-l{display:block}
.sf[data-theme="light"] .logo-d,.sf:not([data-theme]) .logo-d{display:none}
.links{display:flex;gap:24px;font-size:14px}
.links a{color:var(--muted);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.links a:hover,.links a[aria-current]{color:var(--ink)}
.ibtn{width:44px;height:44px;flex:none;border:0;border-radius:999px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .12s ease-out}
.ibtn:hover{color:var(--ink);background:var(--raised)}
.ibtn:active{transform:scale(.97)}
.ibtn .i-sun{display:none}
.sf[data-theme="dark"] .ibtn .i-sun{display:block}
.sf[data-theme="dark"] .ibtn .i-moon{display:none}
.menu-btn,.sheet,.mbar{display:none}
.menu-btn .i-x{display:none}
.menu-btn[aria-expanded="true"] .i-x{display:block}
.menu-btn[aria-expanded="true"] .i-bars{display:none}

/* Buttons and type */
.btn{background:var(--mint-fill);font-family:Poppins,sans-serif;font-weight:600;font-size:16px;padding:14px 26px;border:0;border-radius:999px;text-decoration:none;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:filter .15s,transform .12s ease-out}
.btn:hover{filter:brightness(1.08)}
.btn:active{filter:brightness(.94);transform:scale(.97)}
.btn-sm{font-size:14px;padding:8px 18px;min-height:44px}
.btn-line{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:15px;font-weight:500;padding:10px 20px;border-radius:999px;text-decoration:none;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:border-color .15s,transform .12s ease-out}
.btn-line:hover{border-color:var(--mint-fill)}
.btn-line:active,.chip:active,.tab:active{transform:scale(.97)}
.kicker{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:1.4px;color:var(--muted);text-transform:uppercase}
.h{font-family:Poppins,sans-serif;font-weight:600;font-size:clamp(36px,6.4vw,76px);line-height:1.06;letter-spacing:-.03em;text-wrap:balance}
.h2s{font-family:Poppins,sans-serif;font-weight:600;font-size:clamp(28px,3.6vw,40px);line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--soft);max-width:46ch;text-wrap:pretty}
.center{display:flex;flex-direction:column;align-items:center;text-align:center}
.small{font-size:13px;color:var(--muted)}

/* Stacked scenes (home) */
.stack{position:relative;timeline-scope:--t2,--t3,--t4}
.scn{position:relative;min-height:min(100svh,880px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.scn-in{width:100%;max-width:1180px;margin:0 auto;padding:96px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;transform-origin:50% 30%}
.s1{z-index:1;background:linear-gradient(180deg,var(--sky-a) 0%,var(--sky-b) 55%,var(--ground) 100%)}
.s2{z-index:2;background:var(--scene-2);border-radius:36px 36px 0 0;box-shadow:0 -24px 60px var(--edge-shadow);view-timeline-name:--t2}
.s3{z-index:3;background:var(--scene-3);border-radius:36px 36px 0 0;box-shadow:0 -24px 60px var(--edge-shadow);view-timeline-name:--t3}
.rest{position:relative;z-index:4;background:var(--ground);border-radius:36px 36px 0 0;box-shadow:0 -24px 60px var(--edge-shadow);view-timeline-name:--t4}
.h1{font-family:Poppins,sans-serif;font-weight:700;font-size:clamp(46px,9.6vw,124px);line-height:.98;letter-spacing:-.045em}
.h1 span{color:var(--mint-text)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
.hills{position:absolute;left:0;right:0;bottom:0;height:46%;pointer-events:none}
.hills svg{position:absolute;left:-5%;width:110%;bottom:0;height:100%}
.hill-3{fill:var(--hill-3)}.hill-2{fill:var(--hill-2)}.hill-1{fill:var(--hill-1)}
.orb{position:absolute;border-radius:999px;filter:blur(40px);opacity:.55;pointer-events:none}
.orb-a{width:420px;height:420px;left:8%;top:10%;background:var(--sky-a)}
.orb-b{width:360px;height:360px;right:6%;top:18%;background:var(--cyan-wash)}
.badge{position:absolute;display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;box-shadow:var(--lift);pointer-events:none}
.badge i{width:8px;height:8px;border-radius:999px;background:var(--mint-fill)}
.badge-a{left:7%;bottom:30%}
.badge-b{right:8%;bottom:38%}
.badge-b i{background:var(--cyan-text)}
.vcard{width:100%;max-width:980px;position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--lift);background:#0C1624;aspect-ratio:16/9}
.vcard video{display:block;width:100%;height:100%;object-fit:cover}
.sound{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:999px;border:0;background:rgba(12,22,36,.72);color:#F1F5F3;font:inherit;font-size:14px;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.sound .i-on{display:none}
.sound[aria-pressed="true"] .i-on{display:block}
.sound[aria-pressed="true"] .i-off{display:none}
.transcript{width:100%;max-width:980px;text-align:left;font-size:15px;color:var(--muted)}
.transcript summary{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;color:var(--soft);font-weight:500}
.transcript p{padding:4px 0 8px;max-width:70ch}
.say{font-family:Poppins,sans-serif;font-weight:600;font-size:clamp(44px,8.8vw,112px);line-height:1.06;letter-spacing:-.04em;display:flex;flex-direction:column;align-items:center}
.say span{display:block;color:var(--line-strong);animation:lit 9s linear infinite}
.say span:nth-child(2){animation-delay:3s}
.say span:nth-child(3){animation-delay:6s}
@keyframes lit{0%,4%{color:var(--line-strong)}8%,30%{color:var(--ink)}34%,100%{color:var(--line-strong)}}
@keyframes recede{to{transform:scale(.9) translateY(-30px);opacity:.25;filter:blur(3px)}}
@keyframes par-1{to{transform:translateY(60px)}}
@keyframes par-2{to{transform:translateY(120px)}}
@keyframes par-3{to{transform:translateY(190px)}}
@keyframes float{to{transform:translateY(-140px)}}
@keyframes rv{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){
.scn{position:sticky;top:0}
.s1 .scn-in,.s1 .hills{animation:recede linear both;animation-timeline:--t2;animation-range:entry 0% entry 100%}
.s2 .scn-in{animation:recede linear both;animation-timeline:--t3;animation-range:entry 0% entry 100%}
.s3 .scn-in{animation:recede linear both;animation-timeline:--t4;animation-range:entry 0% entry 60%}
.hill-1{animation:par-1 linear both;animation-timeline:scroll(root);animation-range:0px 900px}
.hill-2{animation:par-2 linear both;animation-timeline:scroll(root);animation-range:0px 900px}
.hill-3{animation:par-3 linear both;animation-timeline:scroll(root);animation-range:0px 900px}
.badge,.orb{animation:float linear both;animation-timeline:scroll(root);animation-range:0px 900px}
.rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 32%}
}}

/* Flowing sections */
.sec{max-width:1180px;margin:0 auto;padding:clamp(88px,11vw,150px) 24px}
.sec.tight{padding-top:0}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:56px;align-items:center}
.bo{width:100%;max-width:640px;text-align:left;margin-top:24px}
.bo sf-box-office{--sfbo-font:"DM Sans",system-ui,sans-serif;--sfbo-mono:"IBM Plex Mono",monospace}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{font:inherit;font-size:14px;font-weight:500;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:transform .12s ease-out,border-color .15s}
.chip[aria-pressed="true"]{color:var(--ink);border-color:var(--mint-fill);background:var(--mint-wash)}
.chat{position:relative;width:min(360px,100%);justify-self:center;min-height:380px;padding:20px 16px;border:1px solid var(--line);border-radius:32px;background:var(--surface);box-shadow:var(--lift);display:flex;flex-direction:column;gap:12px;font-size:16px}
.chat[hidden]{display:none}
.chat .sys{align-self:center;font-size:13px;color:var(--muted);animation:m0 11s linear infinite}
.chat .out,.chat .in{max-width:84%;padding:10px 14px;border-radius:16px}
.chat .out{align-self:flex-end;background:var(--mint-fill);color:var(--on-mint);animation:m1 11s linear infinite}
.chat .in{align-self:flex-start;background:var(--raised);animation:m2 11s linear infinite}
.chat .done{align-self:center;margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--mint-text);animation:m3 11s linear infinite}
@keyframes m0{0%,2%{opacity:0;transform:translateY(10px)}6%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes m1{0%,18%{opacity:0;transform:translateY(10px)}22%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes m2{0%,42%{opacity:0;transform:translateY(10px)}46%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes m3{0%,62%{opacity:0;transform:translateY(10px)}66%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
.who{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:12px;width:100%;margin-top:48px;text-align:left}
.who li{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 20px;display:flex;flex-direction:column;gap:6px;min-height:176px;transition:transform .2s ease-out,border-color .2s}
.who li:hover{transform:translateY(-4px);border-color:var(--mint-fill)}
.who svg{width:28px;height:28px;color:var(--mint-text);margin-bottom:auto}
.who h3{font-family:Poppins,sans-serif;font-weight:600;font-size:19px}
.who p{font-size:14px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px;width:100%;margin-top:48px;text-align:left}
.cards a{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;min-height:190px;display:flex;flex-direction:column;gap:6px;text-decoration:none;transition:transform .2s ease-out,border-color .2s}
.cards a:hover{transform:translateY(-4px);border-color:var(--mint-fill)}
.cards h3{font-family:Poppins,sans-serif;font-weight:600;font-size:20px;margin-top:auto}
.cards p{font-size:15px;color:var(--muted)}
.cards .go{font-size:14px;font-weight:500;color:var(--mint-text);margin-top:8px}
.cards .num{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:1px}
.work{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;width:100%;margin-top:48px;text-align:left}
.work figure{display:flex;flex-direction:column;gap:10px}
.work img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:20px;border:1px solid var(--line)}
.work figcaption{font-size:14px;color:var(--muted)}
.work figcaption b{display:block;color:var(--ink);font-weight:500;font-size:15px}
.label{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--muted);margin-top:16px}
.window{width:100%;margin-top:48px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--lift);overflow:hidden}
.wbar{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--line)}
.tabs{display:flex;gap:2px;margin-right:auto;min-width:0}
.tab{font:inherit;font-size:14px;font-weight:500;color:var(--muted);background:transparent;border:0;border-radius:999px;min-height:44px;padding:8px 14px;cursor:pointer;white-space:nowrap;transition:transform .12s ease-out}
.tab:hover{color:var(--ink)}
.tab[aria-pressed="true"]{color:var(--ink);background:var(--raised)}
.ex{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:1px;color:var(--muted);padding-right:4px}
.view{padding:16px;min-height:272px}
.view>[hidden]{display:none}
.board{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.col{background:var(--raised);border-radius:12px;padding:10px;min-height:238px;font-size:14px;font-weight:500}
.static{margin-top:140px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:400;color:var(--muted)}
.mover{position:absolute;left:10px;top:42px;width:calc((100% - 30px) / 4 - 20px);height:124px;background:var(--surface);border:1px solid var(--mint-fill);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px;box-shadow:var(--lift);transform:translateX(calc((100% + 30px) * 2));animation:move-x 14s ease-in-out infinite,fade 14s linear infinite}
.stage,.prog{display:none}
.mtitle{font-size:16px;font-weight:500;line-height:1.3}
.stat{position:relative;height:34px;margin-top:auto}
.stat span{position:absolute;left:0;bottom:0;font-size:14px;font-weight:500;white-space:nowrap;opacity:0}
.stat span:nth-child(1){animation:s1 14s linear infinite;color:var(--muted)}
.stat span:nth-child(2){animation:s2 14s linear infinite;color:var(--cyan-text)}
.stat span:nth-child(3){animation:s3 14s linear infinite;color:var(--mint-text)}
.stat span:nth-child(4){opacity:1;animation:s4 14s linear infinite}
.stat span:nth-child(5){animation:s5 14s linear infinite;color:var(--mint-text)}
.stat b{display:inline-block;background:var(--mint-fill);color:var(--on-mint);font-weight:500;padding:5px 14px;border-radius:999px;animation:press 14s linear infinite}
.week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.day{background:var(--raised);border-radius:12px;padding:10px;min-height:238px;display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500}
.post{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:500;animation:rise .5s ease-out both}
.pst{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--soft);white-space:nowrap}
.pst::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--dot);flex:none}
.flip{position:relative;height:18px}
.flip .pst{position:absolute;left:0;top:0}
.flip .pst:nth-child(1){animation:flip-a 7s linear infinite}
.flip .pst:nth-child(2){opacity:0;animation:flip-b 7s linear infinite}
.files{display:flex;flex-direction:column;gap:8px}
.file{display:flex;align-items:center;gap:12px;background:var(--raised);border-radius:12px;padding:12px 14px;font-size:14px;animation:rise .5s ease-out both}
.file span{margin-left:auto;color:var(--muted);font-size:13px}
.file b{font-weight:500}
.paused *{animation-play-state:paused!important}
@keyframes fade{0%{opacity:0}3%{opacity:1}95%{opacity:1}99%,100%{opacity:0}}
@keyframes move-x{0%,11%{transform:translateX(0)}15%,45%{transform:translateX(calc(100% + 30px))}49%,72%{transform:translateX(calc((100% + 30px) * 2))}76%,100%{transform:translateX(calc((100% + 30px) * 3))}}
@keyframes prog{0%,11%{transform:scaleX(.25)}15%,45%{transform:scaleX(.5)}49%,72%{transform:scaleX(.75)}76%,100%{transform:scaleX(1)}}
@keyframes s1{0%,12%{opacity:1}13%,100%{opacity:0}}
@keyframes s2{0%,14%{opacity:0}15%,30%{opacity:1}31%,100%{opacity:0}}
@keyframes s3{0%,30%{opacity:0}31%,45%{opacity:1}46%,100%{opacity:0}}
@keyframes s4{0%,48%{opacity:0}49%,73%{opacity:1}74%,100%{opacity:0}}
@keyframes s5{0%,75%{opacity:0}76%,100%{opacity:1}}
@keyframes c1{0%,12%{opacity:1}13%,100%{opacity:0}}
@keyframes c2{0%,14%{opacity:0}15%,46%{opacity:1}47%,100%{opacity:0}}
@keyframes c3{0%,48%{opacity:0}49%,73%{opacity:1}74%,100%{opacity:0}}
@keyframes c4{0%,75%{opacity:0}76%,100%{opacity:1}}
@keyframes press{0%,64%{transform:scale(1)}66%,68%{transform:scale(.97)}70%,100%{transform:scale(1)}}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes flip-a{0%,48%{opacity:1}52%,100%{opacity:0}}
@keyframes flip-b{0%,48%{opacity:0}52%,100%{opacity:1}}

/* Pricing */
.plans{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;margin-top:48px;text-align:left;align-items:stretch}
.plan{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px 28px;display:flex;flex-direction:column;gap:12px}
.plan.rec{border:2px solid var(--mint-fill);box-shadow:var(--lift)}
.rec-tag{position:absolute;top:-14px;left:28px;background:var(--mint-fill);color:var(--on-mint);font-size:13px;font-weight:500;padding:4px 12px;border-radius:999px}
.plan h3{font-family:Poppins,sans-serif;font-weight:600;font-size:22px}
.for{font-size:15px;color:var(--muted);min-height:48px}
.price{font-family:Poppins,sans-serif;font-weight:600;font-size:44px;letter-spacing:-.03em;line-height:1.1}
.price small{font-size:16px;font-weight:500;color:var(--muted);letter-spacing:0}
.ticks{list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--soft);margin-bottom:8px}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks svg{flex:none;margin-top:3px;color:var(--mint-text)}
.plan .btn,.plan .btn-line{margin-top:auto}
.one{width:100%;max-width:880px;margin-top:64px;text-align:left}
.one h3{font-family:Poppins,sans-serif;font-weight:600;font-size:22px;margin-bottom:12px}
.rows{list-style:none;border-top:1px solid var(--line)}
.rows li{display:grid;grid-template-columns:180px 1fr auto;gap:8px 24px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}
.rows b{font-weight:500}
.rows span{color:var(--muted)}
.rows strong{font-weight:500;white-space:nowrap;text-align:right}

/* FAQ */
.faq{width:100%;max-width:760px;margin-top:48px;text-align:left;border-bottom:1px solid var(--line)}
.faq details{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;min-height:44px;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;color:var(--muted);transition:transform .2s}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq .a{padding:0 40px 20px 0;color:var(--muted);font-size:16px}
.faq .a p+p,.faq .a p+ul{margin-top:10px}
.faq .a ul{padding-left:20px}

/* About + inner pages */
.portrait{display:block;width:min(420px,100%);height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:32px;justify-self:center;border:1px solid var(--line);box-shadow:var(--lift);background:var(--raised)}
.portrait.sm{width:min(340px,100%)}
.page-hero{background:linear-gradient(180deg,var(--sky-a) 0%,var(--ground) 100%)}
.page-hero .sec{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(56px,7vw,96px)}
.crumbs{font-size:14px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.pricebox{display:inline-flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 22px;box-shadow:var(--lift)}
.pricebox .price{font-size:36px}
.prose{max-width:760px;margin:0 auto;padding:0 24px clamp(88px,11vw,150px);display:flex;flex-direction:column;gap:18px;font-size:18px;color:var(--soft)}
.prose h2{font-family:Poppins,sans-serif;font-weight:600;font-size:clamp(24px,2.6vw,30px);letter-spacing:-.02em;color:var(--ink);margin-top:32px;line-height:1.2}
.prose ul{padding-left:22px;display:flex;flex-direction:column;gap:6px}
.prose a{color:var(--mint-text);font-weight:500}
.prose .btn{color:var(--on-mint)}
.steps{list-style:none;display:flex;flex-direction:column;gap:12px;counter-reset:st;padding:0!important}
.steps li{counter-increment:st;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px}
.steps li::before{content:counter(st);width:36px;height:36px;border-radius:999px;background:var(--mint-wash);color:var(--mint-text);font-weight:500;display:flex;align-items:center;justify-content:center}
.steps b{color:var(--ink);font-weight:500}
.note{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 20px;font-size:16px}
.endcta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* Footer */
.ft{border-top:1px solid var(--line)}
.ft-in{max-width:1180px;margin:0 auto;padding:40px 24px 48px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:24px;font-size:14px;color:var(--muted)}
.ft-in h2{font-size:13px;font-family:var(--mono);font-weight:500;letter-spacing:1px;color:var(--ink);margin-bottom:6px}
.ft-in a{text-decoration:none;min-height:36px;display:flex;align-items:center}
.ft-in a:hover{color:var(--ink)}
.ft-brand{display:flex;flex-direction:column;gap:10px}
.ft-brand img{height:22px;width:auto;align-self:flex-start}

@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){.sf *{animation:none!important;transition:none!important}.flip .pst:nth-child(1){opacity:0}.flip .pst:nth-child(2){opacity:1}.say span{color:var(--ink)}.mover{transform:translateX(calc((100% + 30px) * 2))}}

@media (max-width:900px){
.links,.hd-cta{display:none!important}
.menu-btn{display:inline-flex}
.sheet{position:absolute;left:0;right:0;top:100%;background:var(--ground);border-bottom:1px solid var(--line);padding:8px 16px 16px;gap:4px;flex-direction:column;animation:drop .2s ease-out;transform-origin:top center}
.sheet.open{display:flex}
@keyframes drop{from{opacity:0;transform:translateY(-6px) scale(.95)}to{opacity:1;transform:none}}
.sheet a{text-decoration:none}
.sheet a.sl{font-size:18px;min-height:48px;display:flex;align-items:center}
.mbar{display:flex;position:sticky;bottom:0;z-index:45;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--line);padding:10px 16px;transition:transform .2s}
.mbar .btn{flex:1}
.mbar[data-hidden="true"]{transform:translateY(100%);visibility:hidden}
.plans{grid-template-columns:minmax(0,1fr);max-width:520px}
.plan.rec{order:-1}
.ft-in{grid-template-columns:1fr 1fr}
.badge{display:none}
}
@media (max-width:640px){
.nav,.scn-in,.sec,.ft-in,.prose{padding-left:16px;padding-right:16px}
.scn{min-height:min(100svh,760px)}
.scn-in{padding-top:72px;padding-bottom:72px}
.s2,.s3,.rest{border-radius:24px 24px 0 0}
.vcard{max-width:300px;aspect-ratio:9/16;border-radius:28px}
.sound span{display:none}
.ex{display:none}
.tab{padding:8px 10px}
.view{min-height:340px;padding:12px}
.col{display:none}
.board{display:block}
.mover{position:relative;left:0;top:0;width:100%;height:auto;min-height:316px;padding:20px;transform:none;animation:fade 14s linear infinite;gap:6px;justify-content:center}
.stage{display:block;position:relative;height:20px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:1px;color:var(--muted)}
.stage span{position:absolute;left:0;top:0;opacity:0}
.stage span:nth-child(1){animation:c1 14s linear infinite}
.stage span:nth-child(2){animation:c2 14s linear infinite}
.stage span:nth-child(3){opacity:1;animation:c3 14s linear infinite}
.stage span:nth-child(4){animation:c4 14s linear infinite}
.prog{display:block;height:4px;border-radius:999px;background:var(--raised);overflow:hidden;margin-top:14px}
.prog i{display:block;height:100%;background:var(--mint-fill);transform-origin:left;transform:scaleX(.75);animation:prog 14s ease-in-out infinite}
.mtitle{font-size:24px;font-family:Poppins,sans-serif;font-weight:600;letter-spacing:-.02em}
.stat{margin-top:14px;flex:none}
.week{grid-template-columns:minmax(0,1fr)}
.day{min-height:0;flex-direction:row;align-items:center;gap:12px}
.day.spare{display:none}
.day>span{width:36px;flex:none}
.post{flex:1}
.faq .a{padding-right:0}
.rows li{grid-template-columns:1fr auto}
.rows span{grid-column:1/-1;grid-row:2}
.who{grid-template-columns:repeat(2,minmax(0,1fr))}
.ft-in{grid-template-columns:1fr}
.prose{font-size:17px}
}
