/* Fonts: Newsreader, Geist, Geist Mono (SIL Open Font License), self-hosted from @fontsource-variable 5.3.0 */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url(../assets/fonts/newsreader-latin-ext-opsz-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;font-display:swap;src:url(../assets/fonts/newsreader-latin-ext-opsz-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/fonts/geist-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/fonts/geist-mono-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url(../assets/fonts/newsreader-latin-opsz-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;font-display:swap;src:url(../assets/fonts/newsreader-latin-opsz-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/fonts/geist-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/fonts/geist-mono-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


body{margin:0;background:#F6F6F4}
a{color:#1C1C1C}a:hover{color:#555552}
:root,:host,#top{--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-8:32px;--s-12:48px;--s-16:64px;--s-24:96px;--s-32:128px;--section-gap:clamp(64px,9vw,128px);--gutter:clamp(16px,4vw,48px);--eyebrow-gap:16px;--heading-gap:clamp(32px,4vw,48px);--card-pad:clamp(24px,3vw,32px);--card-gap:24px;--btn-pad:16px 24px;--btn-pad-header:12px 24px}
html{scroll-behavior:smooth}
.fx-u2:hover{opacity:.6}

.fx-sk svg :is(circle,rect,path,line){stroke-dasharray:1;stroke-dashoffset:1}
.fx-sk.on svg :is(circle,rect,path,line){stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.4,.1,.2,1) var(--d,0s)}
.fx-sk .mk,.fx-sk .leg{opacity:0}
.fx-sk.on .mk{opacity:1;transition:opacity .5s ease var(--d,0s)}
.fx-sk.on .leg{opacity:1;transition:opacity .6s ease 4.3s}
@media (prefers-reduced-motion: reduce){.fx-sk svg :is(circle,rect,path,line){stroke-dashoffset:0 !important;transition:none !important}.fx-sk .mk,.fx-sk .leg{opacity:1 !important;transition:none !important}}
.fx-hscroll::-webkit-scrollbar{display:none}
.fx-hscroll.fx-drag{cursor:grabbing}
.fx-sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fx-vid .fx-pill{opacity:0;transform:translate(-50%,8px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.fx-vid:hover .fx-pill,.fx-vid:focus-within .fx-pill{opacity:1;transform:translate(-50%,0);pointer-events:auto}
@media (hover: none){.fx-vid .fx-pill{opacity:1;transform:translate(-50%,0);pointer-events:auto}}
@media (max-width: 860px){.fx-track{display:none !important}.fx-list{display:flex !important}}
.fx-btn:hover{background:#3A3A38 !important;color:#FFFFFF !important}
.fx-ghost:hover{background:#ECECE9 !important}
.fx-nav:hover{color:#1C1C1C !important}
.fx-row:hover .fx-title{color:#1C1C1C !important}
.fx-u:hover{color:#1C1C1C !important}
button:focus-visible,a:focus-visible{outline:2px solid #1C1C1C;outline-offset:3px}
@keyframes fxblink{0%,49%{opacity:1}50%,100%{opacity:0}}
.fx-cursor{animation:fxblink 1.1s steps(1) infinite}
@keyframes fxrise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.fx-b{animation:fxrise .8s cubic-bezier(.2,.7,.2,1) both}
.fx-b1{animation-delay:.25s}.fx-b2{animation-delay:.45s}.fx-b3{animation-delay:.65s}.fx-b4{animation-delay:.85s}
@keyframes fxpop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.fx-pop{animation:fxpop .35s ease-out both}
@keyframes fxfade{from{opacity:0}to{opacity:1}}
.fx-fade{animation:fxfade 1.2s ease-out both}
@keyframes fxdot{0%,80%,100%{opacity:.25}40%{opacity:1}}
.fx-dot{animation:fxdot 1.2s infinite}
.fx-dot2{animation-delay:.2s}.fx-dot3{animation-delay:.4s}
@media (prefers-reduced-motion: reduce){.fx-cursor,.fx-b,.fx-pop,.fx-dot,.fx-fade{animation:none !important}html{scroll-behavior:auto}}

/* ===== Footing components used by every size ===== */
.ft-def-rows,.ft-ph-rows{display:grid;min-height:0 !important}
.ft-def-rows>.ft-real,.ft-def-rows>.ft-ghost-d,.ft-ph-rows>.ft-real,.ft-ph-rows>.ft-ghost-s{grid-area:1/1}
.ft-ghost{visibility:hidden;pointer-events:none}
.ft-ph-only,.ft-menu,.ft-burger{display:none}
@keyframes fxpop2{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fx-pop2{animation:fxpop2 .45s ease-out both}
.ft-dvtrack::-webkit-scrollbar{display:none}
.ft-bars{display:flex;gap:var(--s-2)}
.ft-bars span{flex:1;height:4px;border-radius:2px}
.ft-stage>.ft-bars{display:none}
#top.bp-p .ft-stage>.ft-bars{display:flex}
.ft-rule{height:4px;border-radius:2px;background:#1C1C1C}
/* ===== Tablet and phone: shared stacking ===== */
#top.bp-tp .ft-hero-grid{grid-template-columns:1fr !important}
#top.bp-tp .ft-coach-text p{max-width:494px !important}
#top.bp-tp .ft-steps-grid{flex-direction:column !important;flex-wrap:nowrap !important;align-items:stretch !important;gap:var(--s-8) !important}
#top.bp-tp .ft-steps-col{display:contents !important}
#top.bp-tp .ft-steps-list{order:1}
#top.bp-tp .ft-chat-panel{order:2;flex:0 0 auto !important;width:min(100%,460px) !important;align-self:center}
#top.bp-tp .ft-steps-cta{order:3;margin-top:0 !important}
#top.bp-tp .ft-about-grid{flex-direction:column !important;flex-wrap:nowrap !important;align-items:stretch !important;gap:var(--s-12) !important}
#top.bp-tp .ft-about-left{position:static !important;flex:0 0 auto !important;flex-direction:row !important;align-items:center !important;gap:var(--s-8) !important}
#top.bp-tp .ft-about-fig,#top.bp-tp .ft-about-quote{flex:1 1 0 !important;min-width:0}
#top.bp-tp .ft-about-right{flex:0 0 auto !important}
#top.bp-tp .ft-stage{padding-bottom:var(--section-gap) !important}
#top.bp-tp .ft-stage-last{padding-bottom:0 !important}
/* ===== Phone: every section is its own screen-sized page ===== */
html:has(#top.bp-p){scroll-snap-type:y proximity}
#top.bp-p .ft-ph-only{display:block}
#top.bp-p .ft-hide-p{display:none !important}
#top.bp-p [id]{scroll-margin-top:0 !important}
#top.bp-p .ft-page{min-height:var(--page-h,100svh) !important;box-sizing:border-box !important;display:flex !important;flex-direction:column !important;justify-content:center;scroll-snap-align:start;max-width:none !important;margin:0 !important;padding:var(--s-24) var(--gutter) var(--s-8) !important}
#top.bp-p .ft-aboutsec{padding:0 !important;max-width:none !important;margin:0 !important}
#top.bp-p .ft-about-grid,#top.bp-p .ft-about-right{display:block !important}
#top.bp-p .ft-about-right>div{margin-left:0 !important}
.ft-tlpage,.ft-tltrack{display:contents}
#top.bp-p .ft-tlpage{display:flex;flex-direction:column;justify-content:center;min-height:var(--page-h,100svh);box-sizing:border-box;padding:var(--s-24) var(--gutter) var(--s-8);scroll-snap-align:start}
#top.bp-p .ft-tltrack{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
#top.bp-p .ft-tltrack::-webkit-scrollbar{display:none}
#top.bp-p .ft-tltrack .ft-page.ft-stage{flex:0 0 100%;min-width:0;min-height:0 !important;padding:0 !important;display:block !important;scroll-snap-align:start}
#top.bp-p .ft-tltrack .ft-stage>div:first-of-type{margin:0}
#top.bp-p .ft-aboutsec .ft-bars:not(.ft-swbars){display:none !important}
#top.bp-p .ft-stage{border-left:0 !important}
#top.bp-p .ft-stage>div:first-of-type{margin:auto 0}
#top.bp-p .ft-stage>.ft-bars{margin-top:var(--s-8)}
#top.bp-p .ft-tl-dot{display:none !important}
#top.bp-p .ft-page-hero{justify-content:space-between !important}
#top.bp-p .ft-aboutA{justify-content:center}
#top.bp-p .ft-aboutA .ft-bars,#top.bp-p .ft-steppage .ft-bars{margin-top:var(--s-8)}
/* header */
#top.bp-p .ft-hd-inner{flex-wrap:nowrap !important}
#top.bp-p .ft-hd-sep,#top.bp-p .ft-hd-name,#top.bp-p .ft-hd-nav{display:none !important}
#top.bp-p .ft-burger{display:inline-flex !important}
#top.bp-p .ft-menu{display:flex;flex-direction:column;position:fixed;inset:0;z-index:60;background:#F6F6F4;padding:var(--s-4) var(--gutter) var(--s-8);box-sizing:border-box}
#top.bp-p .ft-menu-bar{display:flex;align-items:center;justify-content:space-between}
#top.bp-p .ft-menu-nav{flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:var(--s-4);padding-top:var(--s-12)}
#top.bp-p .ft-menu-nav a{font-family:'Newsreader',Georgia,serif;font-size:26px !important;line-height:1.1;letter-spacing:-0.02em;color:#1C1C1C;text-decoration:none}
/* buttons: one call to action per page, sized to its label (not full width) */
#top.bp-p .ft-hero-cta a.ft-hero-ghost{display:none !important}
#top.bp-p .ft-hero-cta{flex-direction:column !important;align-items:flex-start !important}
#top.bp-p .ft-hero-cta a,#top.bp-p .ft-cta{display:inline-flex !important;justify-content:center;align-items:center;text-align:center;width:auto !important;align-self:flex-start;box-sizing:border-box}
#top.bp-p .ft-cta-row{display:inline-flex !important;flex:0 0 auto !important;justify-content:center;align-items:center;text-align:center}
/* statement: its own beat, not its own page */
#top.bp-p .ft-stmt{padding:var(--s-16) var(--gutter) var(--s-4) !important}
#top.bp-p .ft-stmt p{max-width:24ch !important}
/* phone: tighter corners */
#top.bp-p [style*="border-radius: 14px"]{border-radius:6px !important}
#top.bp-p [style*="border-radius: 12px"]{border-radius:5px !important}
#top.bp-p [style*="border-radius: 8px"]{border-radius:4px !important}
/* hero: thin landscape video, small overlay */
#top.bp-p .ft-hero-grid{gap:var(--s-6) !important}
#top.bp-p .fx-vid{height:auto !important;aspect-ratio:2 / 1;margin-top:var(--s-8) !important}
#top.bp-p .ft-vid-ov{--bh:24px;--og:12px}
#top.bp-p .ft-vid-play{width:48px !important;height:48px !important}
#top.bp-p .ft-vid-logo{height:20px !important;width:auto !important}
#top.bp-p .ft-hero-h2{white-space:nowrap !important;font-size:24px !important}
#top.bp-p .ft-pill-time{display:none !important}
/* problem + known defects log */
#top.bp-p .ft-prob-main{text-align:left !important;align-items:flex-start !important}
#top.bp-p .ft-def-panel{padding:var(--s-12) var(--s-4) var(--s-4) !important;min-height:0 !important;margin-top:var(--s-8) !important}
#top.bp-p .ft-def-title{flex-wrap:wrap !important}
#top.bp-p .ft-def-count{flex:0 0 100% !important;margin-left:0 !important}
#top.bp-p .ft-def-row{grid-template-columns:auto minmax(0,1fr) !important}
/* how I coach: thin landscape sketch, no Fig. 3 */
/* what AI unlocks: one-screen carousel */
#top.bp-p .ft-unl-head{display:contents !important}
#top.bp-p .ft-unl-title{order:1;margin-bottom:var(--heading-gap)}
#top.bp-p .ft-dayp{display:block;order:2}
#top.bp-p .ft-unl-head .ft-cta{display:none !important}
/* four steps: intro page + one page per step */
#top.bp-p .ft-steps-grid{display:none !important}
#top.bp-p .ft-stwrap{margin-top:var(--s-12)}
#top.bp-p .ft-sttrack{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
#top.bp-p .ft-sttrack::-webkit-scrollbar{display:none}
#top.bp-p .ft-stslide{flex:0 0 100%;min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;gap:var(--s-6)}
#top.bp-p .ft-stcta{margin-top:var(--s-6)}
#top.bp-p .ft-steppage .ft-cta{margin-top:var(--s-2)}
/* start here */
#top.bp-p .ft-band{padding:0 !important;justify-content:space-between !important}
#top.bp-p .ft-band-main{flex:1;justify-content:center;width:100%;max-width:none !important;box-sizing:border-box;padding:var(--s-24) var(--gutter) var(--s-8) !important}
#top.bp-p .ft-foot{padding:var(--s-8) var(--gutter) var(--s-8) !important}
/* phone type scale: smaller than desktop */
#top.bp-p [style*="font-size: 19px"],#top.bp-p [style*="font-size: 18px"]{font-size:16px !important}
#top.bp-p [style*="font-size: 17px"],#top.bp-p [style*="font-size: 16px"]{font-size:15px !important}
#top.bp-p [style*="font-size: 15px"]{font-size:13px !important}
#top.bp-p [style*="font-size: 13px"]{font-size:12px !important}
#top.bp-p [style*="font-size: 26px"],#top.bp-p [style*="font-size: 24px"],#top.bp-p [style*="font-size: 22px"]{font-size:20px !important}
#top.bp-p [style*="clamp(34px, 3.8vw, 52px)"]{font-size:28px !important}
#top.bp-p [style*="clamp(18px, 1.6vw, 22px)"]{font-size:16px !important}
#top.bp-p [style*="clamp(26px, 2.6vw, 36px)"]{font-size:22px !important}
#top.bp-p [style*="clamp(28px, 2.6vw, 36px)"]{font-size:26px !important}
#top.bp-p [style*="clamp(28px, 3vw, 40px)"]{font-size:24px !important}
#top.bp-p [style*="clamp(40px, 5vw, 72px)"]{font-size:36px !important}
#top.bp-p #hero-h{font-size:32px !important}
#top.bp-p .ft-hero-h2{font-size:22px !important}
/* ===== Phone spacing follows the Harvey and AfterQuery references (overrides the 4-based scale on phones) ===== */
html:has(#top.bp-p){scroll-padding-top:var(--s-24)}
#top.bp-p .ft-page,#top.bp-p .ft-tlpage{justify-content:flex-start;min-height:0 !important;padding:var(--section-gap) var(--gutter) 0 !important}
#top.bp-p .ft-page-hero{padding-top:var(--section-gap) !important;justify-content:flex-start !important}
#top.bp-p .ft-band{padding:0 !important}
#top.bp-p .ft-stmt{padding:var(--section-gap) var(--gutter) 0 !important}
#top.bp-p [style*="line-height: 1.65"],#top.bp-p [style*="line-height: 1.75"]{line-height:1.55 !important}
/* buttons: label width, 48px tall */
#top.bp-p .ft-hero-cta a,#top.bp-p .ft-cta{min-height:48px;padding:0 24px !important}
#top.bp-p .ft-band-main .ft-cta{align-self:center}
#top.bp-p .ft-menu .ft-cta{width:100% !important;align-self:stretch}
/* hero */
#top.bp-p .ft-hero-grid{gap:32px !important}
#top.bp-p .ft-hero-col{gap:var(--s-12) !important;padding-bottom:0 !important}
#top.bp-p .fx-vid{margin-top:var(--heading-gap) !important}
/* problem */
#top.bp-p .ft-prob-main p[style*="font-size: 18px"]{margin-bottom:16px !important}
#top.bp-p .ft-prob-main p[style*="font-size: 18px"]:last-of-type{margin-bottom:var(--s-8) !important}
/* how I coach */
#top.bp-p .ft-coach-text p[style*="font-size: 19px"]{margin-bottom:16px !important}
/* what AI unlocks */
#top.bp-p .ft-unl-title{margin-bottom:var(--heading-gap) !important}
.ft-dayp{padding:var(--s-12) var(--card-pad) var(--s-6) !important}
.ft-dayp>div[style*="height: 2px"]{margin-top:var(--s-6) !important}
.ft-dayp .ft-dvtrack{margin-top:var(--s-6) !important}
.ft-dayp>div[style*="min-height: 44px"]{margin-top:12px !important}
/* four steps: heading 40, list, then the swipe block 56 below */
#top.bp-p #steps-h{margin-bottom:var(--heading-gap) !important}
#top.bp-p .ft-stwrap{margin-top:0 !important}
#top.bp-p .ft-stslide{gap:0 !important}
#top.bp-p .ft-stslide .ft-rule{margin-bottom:var(--s-6)}
#top.bp-p .ft-stslide>div:nth-of-type(2){margin-bottom:var(--s-12)}
#top.bp-p .ft-stslide h3{margin-bottom:var(--s-6) !important}
#top.bp-p .ft-stslide .ft-step-panel{padding:var(--s-6) var(--s-6) 0 !important;margin-bottom:var(--s-8) !important}
#top.bp-p .ft-stslide:first-child .ft-step-panel{padding-top:var(--s-12) !important}
#top.bp-p .ft-stcta{margin-top:0 !important}
#top.bp-p .ft-bars{gap:var(--s-4)}
#top.bp-p .ft-swbars{margin-top:24px !important}
/* about */
#top.bp-p .ft-aboutA{justify-content:flex-start}
#top.bp-p .ft-aboutA h2{margin-bottom:var(--heading-gap) !important}
#top.bp-p .ft-aboutA figure{margin-bottom:var(--s-12) !important}
#top.bp-p .ft-aboutA .ft-bars{margin-top:auto !important;padding-top:32px}
#top.bp-p .ft-tltrack .ft-stage p[style*="font-size: 13px"]{margin-bottom:var(--s-6) !important}
#top.bp-p .ft-tltrack .ft-stage p[style*="clamp(26px"]{margin-bottom:var(--s-12) !important}
/* start here */
#top.bp-p .ft-band-main{padding:var(--section-gap) var(--gutter) 0 !important;justify-content:flex-start}
#top.bp-p .ft-band-main h2{margin-bottom:var(--heading-gap) !important}
#top.bp-p .ft-band-main p[style*="font-size: 18px"]{margin-bottom:var(--s-8) !important}
#top.bp-p .ft-band footer{margin:0 var(--gutter);border-top:1px solid rgba(246,246,244,0.22)}
#top.bp-p .ft-foot{padding:var(--s-16) 0 var(--s-8) !important}
#top.bp-p .ft-stage>div:first-of-type{margin:0}
#top.bp-p .ft-band{justify-content:flex-start !important}
/* menu: list pitch 52px, button 40px below the list (AfterQuery) */
#top.bp-p .ft-menu-nav{flex:0 0 auto !important;padding-top:var(--s-12) !important;gap:var(--s-6) !important}
#top.bp-p .ft-menu-foot{margin-top:var(--s-12)}

@media (prefers-reduced-motion: reduce){.fx-pop2{animation:none !important}}
/* tablet: phone page-flow (one screen per section) at desktop scale */
#top.bp-t.bp-p .ft-hd-nav{display:flex !important}
#top.bp-t.bp-p .ft-burger{display:none !important}
#top.bp-t.bp-p [style*="border-radius: 14px"]{border-radius:14px !important}
#top.bp-t.bp-p [style*="border-radius: 12px"]{border-radius:12px !important}
#top.bp-t.bp-p [style*="border-radius: 8px"]{border-radius:8px !important}
#top.bp-t.bp-p .ft-page-hero{justify-content:center !important}
#top.bp-t.bp-p .ft-hero-cta{flex-direction:row !important;align-items:center !important}
#top.bp-t.bp-p .ft-hero-cta a.ft-hero-ghost{display:inline-flex !important}
#top.bp-t.bp-p .fx-vid{aspect-ratio:16 / 9 !important}
#top.bp-t.bp-p .ft-vid-ov{--bh:32px;--og:clamp(16px,2.2vw,32px)}
#top.bp-t.bp-p .ft-vid-play{width:64px !important;height:64px !important}
#top.bp-t.bp-p .ft-vid-logo{height:clamp(30px,3.4vw,48px) !important;width:auto !important}
#top.bp-t.bp-p .ft-hero-h2{font-size:clamp(40px,6.4vw,92px) !important;white-space:nowrap !important}
#top.bp-t.bp-p .ft-pill-time{display:inline !important}
#top.bp-t.bp-p .ft-aboutA figure{max-width:440px}

/* ===== Added for the live site ===== */
/* Live page replaces the no-JavaScript copy in one step. */
#page[data-prerendered]{visibility:hidden}

/* Skip link: hidden until it receives keyboard focus. */
.skip-link{position:absolute;left:var(--s-4);top:var(--s-4);z-index:100;transform:translateY(-200%);background:#1C1C1C;color:#FFFFFF;padding:var(--s-3) var(--s-6);border-radius:8px;font-family:'Geist',ui-sans-serif,system-ui,sans-serif;font-size:16px;text-decoration:none}
.skip-link:focus{transform:none}
.skip-link:hover{color:#FFFFFF}
main:focus{outline:none}

/* Visible focus on every focusable element (canvas covered buttons and links only). */
input:focus-visible,[tabindex]:focus-visible{outline:2px solid #1C1C1C;outline-offset:3px}
.ft-band a:focus-visible,.ft-band button:focus-visible,.fx-vid button:focus-visible,.fx-vid input:focus-visible,.ft-def-screen a:focus-visible{outline-color:#F6F6F4}

/* Touch targets at least 44px tall, without moving the layout. */
.ft-hd-logo,.ft-hd-link,.ft-menu-nav a,.ft-band-main a:not(.ft-cta),.ft-def-screen a,button.fx-u2{position:relative}
.ft-hd-logo::after,.ft-hd-link::after,.ft-menu-nav a::after,.ft-band-main a:not(.ft-cta)::after,.ft-def-screen a::after,button.fx-u2::after{content:"";position:absolute;left:0;right:0;top:min(0px,calc(50% - 22px));bottom:min(0px,calc(50% - 22px))}
.fx-pill button{width:44px !important;height:44px !important}
.fx-pill input[type=range]{height:44px}
.ft-day-arrows button{min-width:44px !important;min-height:44px !important}


/* The Start here band keeps its section gap on tablet and phone too. */
#top.bp-p .ft-page.ft-band{margin-top:var(--section-gap) !important}
/* Phone and tablet footer: 64px to the footer, counting its 1px top rule (optical nudge). */
#top.bp-p .ft-foot{padding:calc(var(--s-16) - 1px) 0 var(--s-8) !important}
/* Header button at least 44px tall. */
.ft-hd-cta{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
.ft-burger{padding:0}
/* Phone: the hero headline runs as one sentence, as on the phone board. */
#top.bp-p:not(.bp-t) #hero-h br{display:none}

/* Four steps, landscape tablets (about 1025-1204px wide): the panel drops under the list, so it spans the full width. */
@media (min-width:1025px) and (max-width:1204px){
  .ft-chat-panel{flex:1 1 100% !important}
  .ft-chat-panel .ft-ph-screen{width:100% !important}
}
/* What AI unlocks: the day carousel on every screen size, draggable with a mouse. */
.ft-dvtrack{user-select:none;-webkit-user-select:none}
@media (hover:hover) and (pointer:fine){.ft-dvtrack{cursor:grab}}
.ft-dvtrack.fx-drag{cursor:grabbing}

/* How I coach: sketch left and text right on desktop and tablet; on phones the sketch is centred above the heading. */
.ft-coach-text p[style*="font-size: 19px"]{max-width:494px}
/* What AI unlocks: the swipe markers use the same spacing at every size. */
.ft-dvbars{gap:var(--s-4)}
#top.bp-p .ft-dvbars{order:3}
/* Tablet (portrait and landscape): sketch and text share one row. */
#top.bp-t .ft-coach{flex-direction:row !important;flex-wrap:nowrap !important;align-items:center !important;gap:var(--s-12) !important}
#top.bp-t .ft-coach-fig{flex:4 1 0 !important;max-width:none !important;min-width:0}
#top.bp-t .ft-coach-text{flex:5 1 0 !important;min-width:0}
/* Phone: smaller sketch, centred, above the heading, so sketch to Book a call fits one screen. */
#top.bp-p:not(.bp-t) .ft-coach{flex-direction:column !important;flex-wrap:nowrap !important;align-items:stretch !important;gap:var(--s-8) !important}
#top.bp-p:not(.bp-t) .ft-coach-fig{flex:0 0 auto !important;width:min(100%,240px);max-width:none !important;align-self:center}
#top.bp-p:not(.bp-t) .ft-coach-text{flex:0 0 auto !important}
/* How I coach on tablet and phone: the last paragraph keeps the 32px gap before the button. */
#top.bp-p .ft-coach-text p:last-of-type{margin-bottom:var(--s-8) !important}
