@font-face{font-family:Quinn;src:url('assets/fonts/Quinn-Bold.otf') format('opentype');font-weight:700;font-display:swap}@font-face{font-family:Montreal;src:url('assets/fonts/PPNeueMontreal-Medium.otf') format('opentype');font-weight:500 800;font-display:swap}
:root{--blue:#4ad8ff;--brown:#301e1c;--cream:#faf8f4;--ease:cubic-bezier(.16,1,.3,1);color-scheme:dark}*{box-sizing:border-box}html{margin:0;scrollbar-width:thin;scrollbar-color:var(--blue) var(--brown)}body{margin:0;background:var(--brown);color:var(--blue);font-family:Montreal,Arial,sans-serif;font-weight:500;-webkit-font-smoothing:antialiased;min-width:1024px}body.intro-playing{overflow:hidden}h1,h2,h3,p{margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{color:var(--brown);background:var(--blue)}.cream ::selection{background:var(--brown);color:var(--cream)}.display{font-family:Quinn,Impact,sans-serif;font-weight:700;line-height:.72;text-transform:uppercase;letter-spacing:0}.shell,.hero-shell{width:calc(100% - 60px);max-width:1380px;margin-inline:auto;container-type:inline-size}.shell{padding-bottom:53px}.inner{width:86.4%;margin-inline:auto}.panel{border-radius:26px;position:relative;overflow:hidden}.cream{background:var(--cream);color:var(--brown)}.blue{background:var(--blue);color:var(--brown)}.clip-defs{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:14px;left:20px;transform:translateY(-160%);z-index:100;background:var(--cream);color:var(--brown);padding:12px 20px;border-radius:24px}.skip-link:focus{transform:none}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:273px;height:49px;padding:0 30px;border:0;border-radius:100px;background:var(--blue);color:#000;text-decoration:none;font-family:Quinn,Impact,sans-serif;font-size:20px;line-height:1;text-transform:uppercase;overflow:hidden;isolation:isolate;transition:color .3s,box-shadow .3s,transform .4s var(--ease)}.button:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--cream);transform:translateY(105%);transition:transform .4s var(--ease)}.button>span:first-child{transition:transform .4s var(--ease)}.button-arrow{position:absolute;right:25px;opacity:0;transform:translate(-8px,8px);font-family:Montreal;font-size:24px;transition:opacity .3s,transform .4s var(--ease)}.button:hover:before{transform:none}.button:hover>span:first-child{transform:translateX(-8px)}.button:hover .button-arrow{opacity:1;transform:none}.button:active{transform:scale(.98)}.blue .button,.footer .button{background:var(--brown);color:var(--cream)}.blue .button:hover,.footer .button:hover{color:var(--brown)}.footer .button:before{background:var(--blue)}.eyebrow{display:inline-block;border:1px solid currentColor;border-radius:100px;padding:9px 15px;font-size:10px;line-height:1;text-transform:uppercase}
/* Opening: one sticky stage for the two panels and the first story section. */
#opening-stage{height:215vh;position:relative}.stage-viewport{height:100vh;height:100svh;position:sticky;top:0;overflow:hidden;background:var(--brown)}.intro-panel{position:absolute;inset:0;z-index:4;background:var(--blue);color:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}.opening-eye{position:absolute;top:3.2%;left:50%;transform:translateX(-50%);width:87px;height:auto}.intro-title{font-size:min(23.44vh,240px);line-height:.7;text-align:center;position:relative;z-index:2;padding-top:3vh;pointer-events:none}.intro-word{display:block;line-height:.7;padding:.13em .12em;margin:-.13em 0;will-change:clip-path,transform}.skip-intro{position:absolute;bottom:26px;right:32px;z-index:8;border:0;border-bottom:1px solid transparent;background:none;color:var(--brown);font-size:14px;padding:5px 0;cursor:pointer;transition:border-color .2s}.skip-intro:hover{border-color:currentColor}.skip-intro span{display:inline-block;margin-left:12px}.image-trail{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}.trail-card{position:absolute;top:0;left:0;width:clamp(150px,16.5vw,245px);height:auto;border-radius:18px;will-change:transform,opacity;pointer-events:none}.bridge-enter{position:absolute;inset:0;z-index:5;clip-path:url(#bridge-enter);pointer-events:none}.bridge-panel{width:100%;height:100%;position:relative;clip-path:url(#bridge-exit);background:var(--cream)}.bridge-art{width:100%;height:100%;object-fit:cover;display:block}.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:40px;align-items:center;background:var(--cream);color:var(--brown);border-radius:50px;padding:15px 22px;font-size:15px;text-decoration:none;pointer-events:auto;transition:gap .3s}.scroll-cue:hover{gap:52px}.scroll-cue span:last-child{font-size:22px}.frustration{position:absolute;inset:0;z-index:1}.hero-shell{position:relative;height:100%}.hero-word{position:absolute;left:-5%;top:29%;font-size:min(38.33cqw,529px);color:#000;white-space:nowrap}.hero-scribble{position:absolute;width:63.77%;height:auto;left:2.7%;top:-1%;max-height:110vh}.hero-copy{position:absolute;left:38.62%;top:36.8%;width:59.13%;z-index:2}.hero-copy h1{font-size:clamp(28px,2.9cqw,40px);line-height:.96;letter-spacing:-.045em;font-weight:500;margin:16px 0 34px}.connector{position:absolute;left:52.5%;top:65.3%;width:3px;height:34.7%;z-index:0}.connector path{stroke:var(--blue);stroke-width:2;fill:none}.ink-trace,.ink-finish{opacity:1}.raster-draw{display:block}.draw-icon{display:block;max-width:100%;height:auto}.js .ink-finish{opacity:0}
/* The exported desktop composition, held in a centred 1380px container. */
.offer-intro{height:50.725cqw;min-height:560px;padding:4.13cqw 3.7cqw}.offer-intro h2{font-size:5.8cqw;width:56%;line-height:.85;position:relative;z-index:2}.pointing-art{position:absolute;left:-13.3%;top:29%;width:62%;height:110%;pointer-events:none}.pointing-art svg{width:100%;height:auto}.offer-intro-copy{position:absolute;left:54.86%;top:38.7%;width:40.6%;z-index:2}.offer-intro-copy p{font-size:1.74cqw;line-height:1.02;letter-spacing:-.025em}.offer-intro-copy p+p{margin-top:16px}.price-line{display:flex;gap:3.48cqw;font-size:5.8cqw;line-height:.85;margin-top:2.9cqw;margin-bottom:1.65cqw}.problems{margin-top:18.4cqw}.problem{display:flex;align-items:center;justify-content:space-between;gap:20px;height:7.54cqw;border-bottom:1px solid var(--blue)}.problem:first-child{height:5.07cqw;padding-bottom:1.3cqw}.problem h2{font-size:2.9cqw;line-height:.9;font-weight:500;letter-spacing:-.035em}.problem p{font-size:1.45cqw;line-height:1.1;text-align:right;letter-spacing:-.025em}.together{margin-top:15.3cqw;position:relative}.together-title{font-size:17.39cqw;line-height:.7;text-align:center}.together-title span{display:block;padding:.07em 0;margin:-.07em 0}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.52cqw;position:relative;margin-top:-6.9cqw;z-index:2}.benefit{min-height:21.81cqw;border-radius:24px;padding:2.17cqw 1.74cqw 2.17cqw;display:flex;flex-direction:column;align-items:flex-start}.card-icon{height:5.8cqw;display:flex;align-items:flex-start}.card-icon svg{width:6.4cqw;max-height:5.8cqw;object-fit:contain}.benefit:first-child .card-icon svg{width:4.5cqw}.benefit:nth-child(2) .card-icon svg{width:7.1cqw}.benefit h3,.change-copy h3{font-size:2.32cqw;line-height:.9;font-weight:500;letter-spacing:-.06em;margin-top:1.45cqw}.benefit p{margin-top:2.25cqw;font-size:1.45cqw;line-height:1.02;letter-spacing:-.025em;max-width:97%}.changes{margin-top:24.55cqw}.changes h2{font-size:12.17cqw;color:var(--cream);text-align:center;line-height:.7;margin-bottom:6cqw}.change-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.95cqw}.change-card{border-radius:24px;background:var(--cream);overflow:hidden;display:flex;flex-direction:column;min-height:30cqw}.change-image{height:13.55cqw;flex:1;display:grid;place-items:center;padding:16px 20px;color:#100603}.outcome-art{display:block;width:82%;max-width:290px;height:100%;max-height:180px;overflow:visible}.change-copy{background:#22c6e9;border-radius:24px;padding:2.03cqw 1.74cqw 2.6cqw;min-height:15.3cqw;color:var(--brown)}.change-copy h3{margin-top:0;font-size:2.1cqw}.change-copy p{font-size:1.45cqw;line-height:1.05;letter-spacing:-.02em;margin-top:2.1cqw}.testimonial{position:relative;width:73%;margin:19.1cqw auto 0;text-align:center;min-height:20.3cqw;padding-top:5.8cqw}.quote-avatar{position:absolute;top:0;left:50%;transform:translateX(-50%);width:4.35cqw;height:4.35cqw;border-radius:50%}.quote-placeholder{font-size:2.9cqw;line-height:.96;letter-spacing:-.04em;max-width:60cqw;margin:0 auto 3.55cqw}.quote-credit{font-size:10px;line-height:1.2}.quote-mark{position:absolute;font-family:Montreal;font-size:11cqw;line-height:1}.quote-open{top:1.3cqw;left:0}.quote-close{right:0;bottom:4.2cqw}.workshop{margin-top:19.1cqw;height:57.97cqw}.workshop h2{position:absolute;left:2.68%;top:5.12%;font-size:12.17cqw;line-height:.7}.workshop-question{position:absolute;left:55.5%;top:1%;width:12.5%;height:22%;}.workshop-question svg{width:100%;height:100%}.workshop-format{position:absolute;left:68.48%;top:28%;font-size:1.74cqw;line-height:.95;letter-spacing:-.04em}.workshop-tagline{position:absolute;left:2.68%;top:41.25%;font-size:2.32cqw;line-height:1;letter-spacing:-.04em}.price-circle{position:absolute;width:55.65%;left:-18.8%;top:39%;pointer-events:none}.price-circle svg{width:100%;height:auto}.workshop-price{position:absolute;left:2.68%;bottom:4.125%;z-index:1}.workshop-price p{font-size:5.8cqw;line-height:.75;margin-bottom:2.9cqw;color:#000}.deliverables{position:absolute;left:40.2%;top:70.8%;list-style:disc;font-size:1.74cqw;line-height:1.85;letter-spacing:-.025em;padding-left:25px;margin:0}.workshop-photo{position:absolute;right:2.61%;bottom:4.125%;width:28.84%;aspect-ratio:1;border-radius:26px;overflow:hidden}.workshop-photo img{display:block;width:100%;height:100%;object-fit:cover}.about{position:relative;margin-top:12.68cqw;height:57.17cqw}.about h2{position:absolute;left:2.68%;top:0;font-size:13.04cqw;line-height:.7}.about h2 span{display:block;padding:.07em 0;margin:-.07em 0}.about-texture{position:absolute;left:-2.17%;width:104.34%;height:17.61cqw;top:25.1cqw;border-radius:25px;overflow:hidden}.about-texture img{width:100%;height:100%;object-fit:cover}.about-photo{position:absolute;left:58.48%;top:8.15cqw;width:32.75%;aspect-ratio:1;overflow:hidden;border-radius:26px}.about-photo img{width:100%;height:100%;object-fit:cover}.about-name{position:absolute;left:2.68%;top:47.39cqw;font-size:5.8cqw;color:var(--cream);line-height:.8}.about-bio{position:absolute;left:50.36%;right:5.68%;top:48.55cqw;display:flex;align-items:center;gap:2.32cqw}.about-bio img{width:5.8cqw;height:5.8cqw;border-radius:14px;object-fit:cover;flex-shrink:0}.about-bio p{font-size:1.74cqw;line-height:1.02;letter-spacing:-.035em}.about-bio a,.footer-owner a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:opacity .2s}.about-bio a:hover,.footer-owner a:hover{opacity:.65}.faq{margin-top:15cqw}.faq h2{font-size:13.04cqw;line-height:.7;margin-left:2.68%;margin-bottom:8cqw}.faq h2 span{display:block;padding:.07em 0;margin:-.07em 0}.faq-list{margin-inline:1.38%;}.faq-item{border-bottom:1px solid var(--blue)}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;border:0;background:transparent;color:var(--blue);width:100%;padding:30px 9px;min-height:98px;text-align:left;font-size:24px;font-weight:500;letter-spacing:-.035em;transition:padding .35s var(--ease),background .3s}.faq-question:hover{padding-left:19px;background:rgba(74,216,255,.035)}.faq-toggle{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--blue);transition:transform .5s var(--ease),background .3s}.faq-toggle svg{width:22px;height:22px;fill:none;stroke:var(--brown);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.faq-question[aria-expanded=true] .faq-toggle{transform:rotate(180deg);background:var(--cream)}.faq-answer{overflow:hidden;height:0}.faq-answer-inner{padding:0 9px 32px;max-width:900px}.faq-answer p{font-size:23px;line-height:1.4;color:var(--cream);letter-spacing:-.015em}.footer{margin-top:11.52cqw;min-height:51.02cqw;padding:3.05cqw 2.68cqw 0}.footer-top{display:grid;grid-template-columns:58% 37%;gap:5%}.footer h2{font-size:3.77cqw;line-height:.95;font-weight:500;letter-spacing:-.06em;margin-bottom:2.32cqw}.footer-owner{display:flex;gap:3.5cqw;align-items:center;align-self:center;padding-top:20px}.footer-owner img{flex:0 0 54px;width:54px;height:54px;object-fit:cover;border-radius:8px}.footer-owner p{font-size:1.45cqw;line-height:1.03;color:var(--brown);letter-spacing:-.025em}.footer-bottom{position:relative;margin-top:8.8cqw;min-height:22.2cqw;display:grid;grid-template-columns:38% 24% 38%;align-items:end}.footer-brand{position:relative;display:block;align-self:end;margin-left:-1.3cqw}.footer-brand>img{width:100%;height:auto;display:block;transition:transform .6s var(--ease)}.footer-brand:hover>img{transform:rotate(-3deg)}.footer-scribble{position:absolute;width:70%;left:18%;top:51%;pointer-events:none}.footer-tagline{font-size:1.74cqw;letter-spacing:-.04em;padding-bottom:16px}.footer-links{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding-bottom:18px}.footer-links nav{display:flex;flex-direction:column;gap:20px;align-items:flex-start;font-size:20px}.footer-links nav a{position:relative;text-decoration:none}.footer-links nav a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.footer-links nav a:hover:after{transform:scaleX(1)}.hotline{font-size:2.6cqw;line-height:1;letter-spacing:-.045em;text-decoration:none;transition:opacity .3s}.hotline:hover{opacity:.6}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}.js [data-reveal]{will-change:clip-path,transform}.js.motion-ready [data-reveal]{clip-path:polygon(0 0,100% 0,100% 0,0 0)}
@media(min-width:1600px){.hero-copy h1{font-size:40px}.hero-word{top:28%}}@media(max-width:1200px){.button{min-width:225px;height:46px;font-size:18px}.offer-intro{min-height:510px}.faq-question{font-size:22px;min-height:84px}.quote-credit{font-size:9px}.footer-owner{gap:20px}.footer-owner img{width:44px;height:44px;flex-basis:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.intro-panel,.bridge-enter{display:none!important}#opening-stage{height:100vh}.hero-copy{opacity:1!important;visibility:visible!important;clip-path:none!important}.hero-word{opacity:1!important}.ink-finish{opacity:1!important}[data-reveal]{clip-path:none!important;transform:none!important}.connector path{stroke-dashoffset:0!important}}
/* Refinements from the first desktop comparison. */
.cream:not(.footer) .button:before{background:var(--brown)}.cream:not(.footer) .button:hover{color:var(--cream)}
.pointing-art{top:22%}.benefit{padding-bottom:1.55cqw}.benefit p{max-width:21.01cqw}.together-title,.about h2,.faq h2{display:flex;flex-direction:column}

.intro-title{display:flex;flex-direction:column}

/* Desktop motion refinement: readable first paint and quieter transitions. */
.js .intro-word{visibility:hidden;clip-path:polygon(0 0,100% 0,100% 0,0 0)}
.js .typed-char{visibility:hidden}
.intro-panel{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.image-trail{z-index:1}.intro-title{z-index:2}
.trail-card{width:clamp(105px,9vw,150px);border-radius:12px}
.skip-intro{opacity:0;pointer-events:none}.skip-intro:focus-visible{opacity:1;pointer-events:auto}
.bridge-panel{overflow:hidden}
.bridge-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.bridge-type{position:absolute;left:6.25%;right:19.44%;top:30.8%;display:flex;justify-content:space-between;align-items:baseline;color:var(--blue);font-family:Montreal,Arial,sans-serif;font-weight:500;font-size:clamp(70px,7.9vw,152px);line-height:1;letter-spacing:-.075em;white-space:nowrap}
.bridge-dots{display:flex;gap:3.2vw;font-size:1.2em;letter-spacing:0}
.hero-copy h1{font-weight:500}
.offer-intro h2{line-height:.76}
#opening-stage{height:200vh}
.benefit{will-change:transform,clip-path}
@media(prefers-reduced-motion:reduce){.js .typed-char{visibility:visible}.js .intro-word{visibility:visible}}

.faq h2{font-variant-ligatures:none;font-feature-settings:"liga" 0,"dlig" 0,"calt" 0}
.footer-scribble{overflow:visible}

/* Desktop revision: Medium typography, a consistent section rhythm and layered story. */
:root{--section-gap:240px;--ease:cubic-bezier(.25,1,.5,1)}
body{font-weight:500}
body *,body *:before,body *:after{transition-timing-function:var(--ease)!important}
.problems,.together,.changes,.proof-offer,.about,.faq,.footer{margin-top:var(--section-gap)}
.hero-copy{top:30.5%}
.hero-copy h1{line-height:1;letter-spacing:-.035em}
.hero-copy h1 span{display:block}
.hero-copy h1 span+span{margin-top:1em}
.hero-copy h1{margin-bottom:42px}
.offer-intro-copy>div:last-child{margin-top:30px}
.proof-offer{position:relative;isolation:isolate}
.testimonial{position:sticky;top:calc(50vh - 140px);margin:0 auto;padding-top:0;z-index:0}
.testimonial-inner{position:relative;min-height:20.3cqw;padding-top:5.8cqw}
.workshop{position:relative;z-index:1;margin-top:var(--section-gap)}
.about-texture img{position:absolute;left:0;top:-35px;width:100%;height:calc(100% + 70px);object-fit:cover;will-change:transform}
.faq-question{font-weight:500;transition:none}
.faq-question:hover{padding-left:9px;background:transparent}
.faq-answer p{font-size:19px;line-height:1.45;font-weight:500}
.footer-top{grid-template-columns:56% 40%;gap:4%}
.footer h2{font-weight:500;line-height:.87;letter-spacing:-.035em;margin-bottom:38px}
.footer-owner{padding-top:0}
.footer-owner p{color:var(--blue);font-weight:500;line-height:.95;letter-spacing:-.03em}
.footer-bottom{grid-template-columns:38% 22% 40%;margin-top:120px}
.footer-tagline,.footer-links,.hotline{font-weight:500}
@media(prefers-reduced-motion:reduce){.testimonial{position:relative;top:auto}.about-texture img{transform:none!important}}

.shell{position:relative;padding-top:var(--section-gap)}
.shell:before{content:"";position:absolute;top:0;left:52.5%;height:var(--section-gap);width:2px;background:var(--blue)}

.faq-item h3{font-weight:500}

/* Clip the decorative overflow without creating a second scrollable area. */
.footer{overflow:clip}

/* The frustration section is revealed in discrete reading-order steps. */
.js .ink-trace{opacity:0}
.js .hero-message,.js .hero-cta{visibility:hidden;clip-path:polygon(0% 0%,100% 0%,100% 0%,0% 0%)}
.js.motion-ready .shell:before{transform:scaleY(var(--connector-extension,0));transform-origin:top}
@media(prefers-reduced-motion:reduce){.js .hero-message,.js .hero-cta{visibility:visible;clip-path:none}}

/* Hide the entire raster layer, not only its mask, until its own sequence step. */
.js .hero-scribble{opacity:0;visibility:hidden}
@media(prefers-reduced-motion:reduce){.js .hero-scribble{opacity:1;visibility:visible}}

/* Let the full lower contour finish naturally inside the 240px section gap. */
.stage-viewport{overflow:visible}
.hero-scribble{width:min(63.77%,calc((100svh + 160px)*.845341));max-height:none;overflow:visible;pointer-events:none}

/* Keep related card copy even, and avoid short last lines in running text. */
p,.hero-copy h1 span{text-wrap:pretty}
.benefit p,.change-copy p{text-wrap:balance}

/* Real client proof, with enough room for the full quote before the overlay. */
.testimonial{width:min(86%,1040px);top:max(32px,calc(50svh - 260px))}
.testimonial-inner{padding:100px 45px 0;min-height:0}
.quote-avatar{width:76px;height:76px;overflow:hidden}
.quote-avatar img{position:absolute;width:469%;height:auto;max-width:none;left:-211%;top:-134%}
.quote-text{font-size:clamp(26px,2.55cqw,35px);line-height:1.22;letter-spacing:-.025em;margin:0 auto 30px;max-width:28em;text-wrap:pretty}
.quote-open{top:84px;left:-12px}.quote-close{right:-12px;bottom:32px}
.quote-credit{font-size:12px;line-height:1.4}

/* Use the full panel at natural scale; avoid magnifying the fur texture. */
@media(min-width:700px){.bridge-art{object-position:center top}}
