@font-face{font-family:Onest;src:url('assets/onest-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Onest;src:url('assets/onest-semibold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--bg:#131211;--surface:#1c1b1a;--text:#f3f0ed;--muted:#a3a09c;--line:#363330;--acid:#f2bd78;--ink:#1a1814;--gutter:clamp(22px,4vw,88px);--radius:11px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--text);font-family:Onest,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--acid);outline-offset:6px}::selection{background:var(--acid);color:var(--ink)}.wrap{width:calc(100% - var(--gutter)*2);max-width:1800px;margin-inline:auto}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skip{position:fixed;top:-80px;left:20px;z-index:20;background:var(--acid);color:var(--ink);padding:12px}.skip:focus{top:10px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}h2{font-size:clamp(36px,4.1vw,76px);line-height:1.06;letter-spacing:-.055em}h3{font-size:clamp(23px,2vw,34px);line-height:1.2;letter-spacing:-.035em}.muted{color:var(--muted)}.section{padding-block:clamp(86px,9vw,170px)}
.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:20px;letter-spacing:-.07em;line-height:1;display:flex;align-items:baseline;gap:5px}.brand b{font-size:36px;font-weight:600}.brand b span{font-size:22px;color:var(--acid);margin-left:3px}.header nav{display:flex;gap:36px;font-size:14px;color:#c5c2be}.header nav a{transition:color .2s}.header nav a:hover{color:var(--acid)}.nav-cta{display:flex;align-items:center;gap:24px;font-size:14px}.nav-cta svg{width:19px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:20px 24px;min-height:64px;border-radius:var(--radius);font-size:16px;font-weight:600;transition:background .2s,color .2s;position:relative;isolation:isolate;overflow:hidden}.button svg{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.button:hover svg{transform:translateX(5px)}.button.primary{background:var(--acid);color:var(--ink)}.button.primary:hover{background:#ffd39a}.button.secondary{border:1px solid #54514d;color:var(--text)}
.hero{position:relative;min-height:calc(100svh - 100px);padding-top:clamp(46px,5vw,88px);padding-bottom:38px;overflow:hidden}.hero-title{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.hero h1{font-size:clamp(56px,7.6vw,146px);line-height:.98;letter-spacing:-.065em;max-width:78%;font-weight:600}.line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.line>span{display:block}.period{color:var(--acid)}.hero-promise{font-size:clamp(15px,1.4vw,22px);line-height:1.4;max-width:290px;padding-bottom:10px;letter-spacing:-.025em}.hero-promise>span{color:var(--muted)}.hero-lower{display:grid;grid-template-columns:.86fr 1.14fr;gap:9%;margin-top:clamp(38px,4vw,70px);align-items:center}.hero-copy{padding-bottom:18px;max-width:470px}.hero-copy>p{color:#b8b4af;font-size:clamp(17px,1.45vw,22px);line-height:1.55;max-width:450px}.hero-copy .button{margin-top:30px}.hero-facts{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px;color:#aba7a1;font-size:13px}.hero-facts span+span{position:relative}.hero-facts span+span:before{content:'/';position:absolute;left:-13px;color:#64605a}.hero-visual{min-height:clamp(220px,21vw,390px);position:relative;background:#181715;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #3a352e;border-radius:var(--radius);box-shadow:inset 0 0 75px #070706}.hero-visual:after{content:'';position:absolute;inset:14px;border:1px solid #2a2722;pointer-events:none}.media-center{display:flex;flex-direction:column;gap:18px;align-items:center;color:#a29a8f;font-size:13px;z-index:1}.placeholder-icon{width:45px;height:45px;stroke-width:1;opacity:.7}.visual-light{position:absolute;width:65%;height:1px;background:linear-gradient(90deg,transparent,#f2bd78aa,transparent);top:35%;transform:rotate(-30deg);box-shadow:0 0 28px 8px #e8af620b;opacity:.4}.visual-corner{position:absolute;width:28px;height:28px;border-color:var(--acid);opacity:.6;z-index:2}.corner-a{left:-1px;top:-1px;border-left:1px solid;border-top:1px solid}.corner-b{bottom:-1px;right:-1px;border-bottom:1px solid;border-right:1px solid}.visual-bottom{position:absolute;bottom:32px;left:32px;right:32px;display:flex;align-items:center;gap:20px;font-size:12px;color:#979086;z-index:1}.visual-track{height:1px;flex:1;background:#413a31;overflow:hidden}.visual-track i{display:block;width:100%;height:100%;background:var(--acid);transform:scaleX(.12);transform-origin:left}.scroll-cue{display:flex;justify-content:space-between;align-items:center;margin:36px var(--gutter) 0;color:#938e87;font-size:12px}.scroll-cue span:last-child{font-size:22px}.section-intro{display:grid;grid-template-columns:1.45fr .55fr;gap:10%;align-items:end}.section-intro>p{color:var(--muted);font-size:18px;max-width:360px}.who{border-top:1px solid var(--line)}.audiences{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;gap:5%}.audiences article{border-top:1px solid #4f4b45;padding-top:24px}.tiny-cross{font-size:23px;display:block;color:var(--acid);margin-bottom:32px}.audiences h3{margin-bottom:20px}.audiences p{color:#aca8a2;max-width:350px;line-height:1.65}.boundary{margin-top:46px;font-size:14px;color:#a09b95;max-width:650px}
@media(min-width:2000px){.hero-content{padding-top:1vh}.hero h1{font-size:146px}.hero-lower{margin-top:80px}}@media(max-width:1100px){.header{height:84px}.hero{min-height:auto;padding-bottom:30px}.hero-title{display:block}.hero h1{max-width:none;font-size:9vw}.hero-promise{margin-top:28px;max-width:none}.hero-promise br{display:none}.hero-promise span{margin-left:8px}.hero-lower{gap:7%;grid-template-columns:1fr 1fr}.section-intro{grid-template-columns:1fr;gap:26px}.section-intro>p{max-width:540px}.header nav{gap:22px}}
@media(max-width:700px){.header{height:76px}.brand{font-size:15px}.brand b{font-size:29px}.header nav{display:none}.nav-cta{font-size:13px;gap:12px}.hero{padding-top:47px}.hero h1{font-size:clamp(39px,9vw,64px);letter-spacing:-.055em;line-height:1.06}.hero-promise{font-size:17px;line-height:1.5;margin-top:24px;padding:0}.hero-promise br{display:block}.hero-promise span{margin:0}.hero-lower{grid-template-columns:1fr;margin-top:27px;gap:28px}.hero-copy{max-width:none;padding:0}.hero-copy>p{font-size:16px;max-width:440px}.hero-copy .button{width:100%;margin-top:25px;min-height:60px}.hero-facts{font-size:12px;gap:20px;margin-top:21px}.hero-visual{min-height:210px}.visual-bottom{bottom:25px;left:25px;right:25px}.media-center{gap:10px}.placeholder-icon{width:35px;height:35px}.scroll-cue{display:none}.hero{padding-bottom:36px}.audiences{grid-template-columns:1fr;gap:28px;margin-top:38px}.audiences article{display:grid;grid-template-columns:25px 1fr;column-gap:15px;padding-top:22px}.audiences h3{font-size:25px;margin-bottom:12px}.audiences h3 br{display:none}.audiences p{grid-column:2;max-width:none;font-size:16px}.tiny-cross{grid-row:1/3;margin:0}.boundary{font-size:13px}.section-intro>p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}
.process{background:#ebe9e6;color:var(--ink)}.process .section-intro>p{color:#5f5b55}.process-table{margin-top:65px}.process-head,.process-row{display:grid;grid-template-columns:.7fr 1fr 1fr}.process-head{font-size:14px;font-weight:600}.process-head>span{padding:22px 30px}.process-head>span:first-child{padding-left:0}.ai-way{background:var(--acid)}.process-head>.ai-way{border-radius:4px 4px 0 0;display:flex;justify-content:space-between}.process-row{border-top:1px solid #cac7c2}.process-row h3{font-size:clamp(20px,1.8vw,29px);padding:30px 30px 30px 0;max-width:260px}.process-row>div{padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:26px}.process-row p{max-width:360px;color:#67635e;font-size:16px;line-height:1.6}.process-row .ai-way p{color:#3a3124}.process-row strong{font-size:clamp(26px,2.5vw,42px);font-weight:400;letter-spacing:-.05em}.process-row .old-way strong{color:#7c7872}.process-row:last-child .ai-way{border-radius:0 0 4px 4px}.estimate{max-width:800px;font-size:12px;color:#6d6862;margin-top:28px;line-height:1.6}.mobile-label{display:none}.program{display:grid;grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr);gap:6%;align-items:start}.program-side h2{font-size:clamp(36px,3.4vw,64px)}.program-side{position:sticky;top:45px}.program-side>p{color:var(--muted);max-width:400px;margin-top:28px;font-size:17px}.program-visual{position:relative;margin-top:40px;max-width:440px;min-height:250px;background:#1c1a18;border:1px solid #39352f;border-radius:4px;padding:28px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:22px}.stage-count{position:absolute;top:18px;left:22px;font-size:12px;color:#837c73;display:flex;gap:5px}.stage-count span:first-child{color:var(--acid)}.program-visual>p{font-size:14px;text-align:center;max-width:265px;color:#c3bcb2}.program-visual .placeholder-icon{color:#978e82}.stage-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#3a342d}.stage-progress i{display:block;width:100%;height:100%;background:var(--acid);transform:scaleX(.1667);transform-origin:left;transition:transform .4s ease}.program-side>.program-note{font-size:13px;color:#8e8981;max-width:360px;margin-top:22px}.week{padding:32px 0 46px;border-top:1px solid #47433d}.week+.week{margin-top:20px}.week-top{display:flex;justify-content:space-between;color:#a5a098;font-size:12px;margin-bottom:28px;gap:15px}.week-top>span:first-child{color:var(--acid)}.week h3{font-size:clamp(29px,3vw,49px);letter-spacing:-.045em}.week-lead{font-size:18px;color:#bdb8b2;margin-top:18px;max-width:680px}.week details{margin-top:27px;border-block:1px solid #35312c}.week summary,.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:25px}.week summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.week summary{padding:16px 0;font-size:14px;color:#cbc7c2}.week summary svg{width:18px;height:18px;flex-shrink:0}.week-details{padding:4px 0 24px;font-size:15px;color:#b1aca4}.week-details h4{font-weight:400;color:var(--text);font-size:13px;margin:18px 0 8px}.week-details p{line-height:1.7}.week-result{font-size:15px;color:#dad4cb;margin-top:25px}.week-result span{display:block;color:#80796f;font-size:12px;margin-bottom:6px}details[open]>summary svg{transform:rotate(45deg)}summary svg{transition:transform .25s ease}.tariffs{background:#1d1b18;border-block:1px solid #36322c}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:55px}.price-card{padding:clamp(28px,3.5vw,64px);background:#24221e;border:1px solid #443f38;border-radius:4px}.price-card.accent-card{border-color:#b88b52;background:#2b2620}.price-description{color:#979087;margin-top:12px;font-size:14px}.price{font-size:clamp(64px,6vw,100px);letter-spacing:-.06em;line-height:1;margin-block:50px 35px}.price-lines{display:grid;gap:12px;font-size:15px;color:#afa89e;border-top:1px solid #4d463d;padding-top:25px}.price-card .button{width:100%;margin-top:40px}.price-card button:disabled{cursor:default}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:start}.faq-list{border-top:1px solid #47433d}.faq-item{border-bottom:1px solid #39352f}.faq summary{font-size:clamp(18px,1.6vw,25px);line-height:1.35;padding-block:28px;letter-spacing:-.02em}.faq summary svg{flex-shrink:0;width:23px;height:23px;color:#b3aca3}.faq-item>p{padding:0 40px 30px 0;color:#aea79e;font-size:16px;line-height:1.75}.closing{padding-block:clamp(75px,8vw,150px);border-top:1px solid #39352f;background:linear-gradient(140deg,#231f19,#131211 65%)}.closing h2{font-size:clamp(42px,7.2vw,130px);letter-spacing:-.06em;line-height:1.08}.closing h2 span{color:var(--acid)}.closing-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:55px;gap:35px}.closing-bottom p{color:#afaaa2;font-size:clamp(16px,1.5vw,22px)}.closing .button{min-width:300px}.footer{border-top:1px solid #39352f;display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:35px;color:#928b81;font-size:13px}.footer .brand{color:var(--text)}
@media(min-width:1800px){.program{gap:6%}.program-visual{max-width:540px;min-height:310px}}
@media(max-width:1000px){.process-head,.process-row{grid-template-columns:.65fr 1fr 1fr}.process-row>div,.process-head>span{padding:24px 20px}.process-row p{font-size:14px}.program{gap:5%}.program-side{top:30px}.program-visual{min-height:230px}.week-lead{font-size:16px}.faq{gap:7%}.price-lines{font-size:13px}}
@media(max-width:700px){.process-table{margin-top:35px}.process-head{display:none}.process-row{grid-template-columns:1fr 1fr;border:0;margin-top:32px;gap:0}.process-row h3{grid-column:1/-1;max-width:none;padding:0 0 17px;font-size:23px}.process-row>div{padding:22px 16px;gap:18px}.process-row .old-way{border:1px solid #cfccc7;border-right:0}.process-row .ai-way{border-radius:0 3px 3px 0}.process-row p{font-size:13px}.process-row strong{font-size:27px}.mobile-label{display:block;font-size:11px;font-weight:600}.estimate{font-size:11px;margin-top:25px}.program{grid-template-columns:1fr;gap:40px}.program-side{position:static}.program-side>p{font-size:16px;margin-top:22px}.program-visual{display:none}.program-side>.program-note{max-width:100%}.week{padding-top:24px;padding-bottom:24px}.week+.week{margin-top:12px}.week-top{margin-bottom:20px}.week h3{font-size:31px}.week-lead{margin-top:13px}.week details{margin-top:22px}.week-result{margin-top:20px}.pricing-grid{grid-template-columns:1fr;margin-top:35px;gap:16px}.price-card{padding:28px}.price{font-size:70px;margin-block:35px 28px}.price-card .button{font-size:14px;padding-inline:18px}.faq{grid-template-columns:1fr;gap:36px}.faq summary{padding-block:24px;font-size:19px}.faq-item>p{padding-right:16px;font-size:15px}.closing h2{font-size:clamp(34px,8.2vw,57px)}.closing-bottom{display:block;margin-top:30px}.closing .button{margin-top:28px;width:100%;min-width:0}.footer{flex-wrap:wrap;padding-block:28px}.footer>span{order:3;width:100%;font-size:12px}.footer .brand b{font-size:29px}}
/* Approved Word copy: fit the full offer rather than shortening its meaning. */
.hero h1{font-size:clamp(48px,6.5vw,124px);max-width:85%}.hero-copy{max-width:540px}.hero-copy>p{font-size:clamp(16px,1.25vw,20px);max-width:540px}.hero-facts{display:grid;gap:5px}.hero-facts span+span:before{content:none}.who .section-intro{display:block;max-width:1100px}.audiences article>p{font-size:clamp(18px,1.6vw,25px);color:#c5c1bc;line-height:1.5}.closing h2{font-size:clamp(38px,5.6vw,100px);max-width:1350px}.closing-bottom p{max-width:720px}.process-row strong{font-size:clamp(23px,2.1vw,35px)}
@media(max-width:1100px){.hero h1{font-size:7.8vw;max-width:none}.hero-promise br{display:none}}
@media(max-width:700px){.hero h1{font-size:clamp(29px,7.4vw,52px)}.hero-promise{font-size:16px}.audiences article>p{font-size:20px}.process-row strong{font-size:21px}.closing h2{font-size:clamp(35px,8vw,55px)}}

/* Related text sits closer than the next content group. */
:root{--gap-related:20px;--gap-content:48px}
.hero-lower{margin-top:var(--gap-related);align-items:start}
.hero-copy{padding-bottom:0}
.hero-copy .button{margin-top:var(--gap-content)}
.hero-facts{margin-top:24px}
.hero-visual{margin-top:var(--gap-content)}
.hero-promise{margin-top:var(--gap-related)}
.section-intro{row-gap:var(--gap-related)}
.process-table,.pricing-grid,.audiences{margin-top:var(--gap-content)}
.program-side>p{margin-top:var(--gap-related)}
.program-visual{margin-top:var(--gap-content)}
.week-lead{margin-top:16px}
.closing-bottom{margin-top:calc(var(--gap-related) * 3);column-gap:var(--gap-content)}
@media(max-width:700px){
 :root{--gap-related:16px;--gap-content:36px}
 .hero-lower{row-gap:var(--gap-content)}
 .hero-visual{margin-top:0}
 .hero-copy .button{margin-top:var(--gap-content)}
 .hero-facts{margin-top:20px}
 .program{row-gap:var(--gap-content)}
 .week-lead{margin-top:12px}
 .closing .button{margin-top:var(--gap-content)}
}

.hero-facts{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px 24px;margin-top:28px}
.hero-facts>span{display:flex;align-items:flex-start;gap:9px;flex:1 1 125px;min-width:0}
.hero-facts>span>svg{flex:0 0 20px;width:20px;height:20px;color:var(--acid);stroke-width:1.4}
.hero-facts>span>span{max-width:155px;line-height:1.5}
.hero-facts span+span:before{content:none}
@media(max-width:700px){.hero-facts{gap:18px 16px;margin-top:24px}.hero-facts>span{flex-basis:130px}}

/* Outline keeps the AI route prominent without a large accent fill. */
.process{--process-accent:var(--acid)}
.process-table{position:relative}
.process-table::after{content:'';position:absolute;right:0;top:0;bottom:0;width:calc(100% / 2.7);border:3px solid var(--process-accent);border-radius:4px;pointer-events:none}
.process .ai-way{background:transparent}
.process-head>.ai-way,.process-row .ai-way,.process-row .ai-way p,.process-row .ai-way strong,.process-row .ai-way .mobile-label{color:#000}
@media(max-width:1000px){.process-table::after{width:calc(100% / 2.65)}}
@media(max-width:700px){.process-table::after{display:none}.process-row .ai-way{border:2px solid var(--process-accent);border-radius:3px}}
/* Supporting copy remains readable instead of dropping to caption size. */
.hero-facts,.boundary,.estimate,.price-description,.price-lines{font-size:17px;line-height:1.6}
.hero-facts>span{flex-basis:140px}
.hero-facts>span>span{max-width:none}
.hero-facts>span>svg{width:22px;height:22px;flex-basis:22px;margin-top:2px}
.boundary{max-width:780px}
.estimate{max-width:1000px}
.week-top,.process-head,.media-center,.visual-bottom,.stage-count,.footer,.footer>span{font-size:15px}
.program-visual>p,.program-side>.program-note{font-size:16px;line-height:1.6}
@media(max-width:700px){
 .hero-facts,.boundary,.estimate,.price-description,.price-lines{font-size:16px}
 .hero-facts>span{flex-basis:135px}
 .week-top,.mobile-label,.media-center,.visual-bottom,.footer,.footer>span{font-size:14px}
 .process-row p{font-size:15px}
 .process-row>div{padding-inline:14px}
 .visual-bottom{gap:12px}
}

/* Smaller hero title leaves room for a future right-hand visual. */
.hero h1{font-size:clamp(44px,5vw,92px)}
@media(max-width:1100px){.hero h1{font-size:6.4vw}}
@media(max-width:700px){.hero h1{font-size:clamp(27px,6.5vw,44px)}}

.price-lines{list-style:none;margin:0;padding:25px 0 0;gap:16px}
.price-lines li{display:flex;align-items:baseline;gap:12px}
.feature-mark{flex:0 0 18px;color:var(--acid);font-size:16px}
.price-lines .unavailable{color:#827c74}
.price-lines .unavailable>span:nth-child(2){text-decoration:line-through;text-decoration-thickness:1px}
.price-lines .unavailable .feature-mark{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.price-card .button{width:fit-content;max-width:50%;gap:16px;padding-inline:20px;text-align:left}
.price-card .button svg{flex-shrink:0}
@media(max-width:700px){.price-card .button{max-width:100%;width:fit-content}}

.footer{display:block;padding-block:56px 28px;color:#b3aca3}
.footer-main{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:clamp(32px,6vw,100px)}
.footer .brand img{display:block;width:90px;height:auto;transition:opacity .2s ease}
.footer .brand:hover img,.footer .brand:focus-visible img{opacity:.72}
.footer-identity>p{margin-top:18px;max-width:250px;font-size:16px}
.footer h3{font-size:16px;letter-spacing:0;color:var(--text);margin-bottom:8px}
.footer-nav,.footer-docs{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:16px}
.footer-nav a,.footer-docs a{line-height:1.5}
.footer a[href]:hover{color:var(--acid)}
.social-links{display:flex;gap:12px;margin-top:28px}
.social-link{width:44px;height:44px;border:1px solid #514940;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#d5c7b5}
.social-link svg{width:23px;height:23px}
.pending-link{cursor:default}
.footer-support{display:inline-flex;gap:14px;align-items:center;margin-top:14px;color:var(--acid)}
.footer-support svg{width:20px;height:20px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:14px}
@media(max-width:700px){.footer{padding-top:40px}.footer-main{grid-template-columns:1fr;gap:36px}.footer-identity>p{max-width:none}.footer-nav{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.footer-nav h3{grid-column:1/-1}.footer-bottom{align-items:flex-start;font-size:14px}.footer-bottom p{max-width:240px}.footer-bottom>a{white-space:nowrap}}

.footer-nav,.footer-docs{gap:10.5px}
a[href],summary{transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.social-link{transition:background-color .2s ease,border-color .2s ease,color .2s ease;cursor:pointer}
.hero-content{display:flex;flex-direction:column}
.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,72px);width:100%;max-width:1100px;margin-top:56px;align-items:end}
.hero-facts>span{align-items:baseline;gap:14px}
.hero-facts>span>svg{align-self:flex-start;margin-top:3px}
.hero-facts>span>span{max-width:260px}
@media(hover:hover){
 .social-link:hover{background:#f2bd7824;border-color:var(--acid);color:var(--acid)}
 .nav-cta:hover,.brand:hover,.footer a[href]:hover{color:var(--acid)}
 .header nav a:hover,.footer-nav a:hover,.footer-docs a:hover,.footer-bottom a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
 .button.secondary:not(:disabled):hover{background:#f2bd781a;border-color:var(--acid)}
 .button.primary:not(:disabled):hover{background:#ffd39a}
 .faq summary:hover,.week summary:hover{color:var(--acid)}
}
.social-link:focus-visible{background:#f2bd7824;border-color:var(--acid)}
@media(max-width:700px){.hero-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:36px;gap:24px}.hero-facts>span{gap:10px}.hero-facts>span:last-child{grid-column:1/-1}.hero-facts>span>span{max-width:250px}.footer-nav,.footer-docs{row-gap:10.5px}}

/* Portrait anchors the right side of the hero; the label sits on glass. */
.hero-content{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:4%;row-gap:24px;align-items:start}
.hero-title{grid-column:1;grid-row:1;display:block}
.hero h1{font-size:clamp(40px,4.1vw,74px);max-width:none;line-height:1.04}
.hero-lower{display:contents}
.hero-copy{grid-column:1;grid-row:2;max-width:580px}
.hero-copy>p{max-width:560px}
.hero-portrait{grid-column:2;grid-row:1/3;align-self:stretch;min-height:540px;max-height:780px;margin:0;border:0;border-radius:0;box-shadow:none;background:none;overflow:visible;position:relative}
.hero-portrait::after{display:none}
.hero-portrait>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center top;mask-image:linear-gradient(to bottom,#000 88%,transparent 100%)}
.hero-portrait .hero-promise{position:absolute;right:0;bottom:32px;z-index:2;margin:0;padding:20px 26px;max-width:none;border:1px solid #ffffff30;border-radius:12px;background:linear-gradient(125deg,#ffffff19,#ffffff08);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);box-shadow:inset 0 1px 0 #ffffff18,0 12px 32px #0002;font-size:clamp(17px,1.5vw,23px);line-height:1.4;color:var(--text)}
.hero-portrait .hero-promise br{display:block}
.hero-portrait .hero-promise>span{margin:0;color:#ded8cf}
.hero-facts{grid-column:1/-1;grid-row:3;margin-top:24px}
@media(max-width:1000px){.hero-content{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px}.hero h1{font-size:clamp(34px,4.5vw,46px)}.hero-portrait{min-height:500px}.hero-portrait .hero-promise{padding:16px 20px;right:0}}
@media(max-width:700px){.hero-content{display:flex;gap:0}.hero h1{font-size:clamp(27px,6.5vw,44px)}.hero-copy{margin-top:16px}.hero-portrait{width:100%;height:auto;min-height:0;aspect-ratio:1/1.05;margin-top:32px;align-self:auto}.hero-portrait .hero-promise{bottom:20px;font-size:18px}.hero-facts{margin-top:32px}}
/* The supplied square portrait must fit in its box in full. */
.hero-portrait{height:clamp(360px,37vw,560px);min-height:0;max-height:none;align-self:start;overflow:hidden}
.hero-portrait>img{object-fit:contain;object-position:center center;mask-image:none;-webkit-mask-image:none}
@media(max-width:1000px){.hero-portrait{height:clamp(320px,42vw,460px);min-height:0}}
@media(max-width:700px){.hero-portrait{height:auto;aspect-ratio:1;min-height:0;max-height:390px;overflow:hidden}.hero-portrait>img{object-fit:contain}}
/* Tighter editorial crop: larger subject, shorter visual area. */
.hero-portrait{height:clamp(300px,28vw,420px);min-height:0;max-height:none}
.hero-portrait>img{width:145%;height:auto;max-width:none;left:50%;right:auto;top:-8px;bottom:auto;transform:translateX(-50%);object-fit:initial;object-position:initial}
.hero-portrait .hero-promise{bottom:16px}
@media(max-width:1000px){.hero-portrait{height:clamp(290px,34vw,390px)}}
@media(max-width:700px){.hero-portrait{height:clamp(260px,78vw,340px);aspect-ratio:auto;max-height:none}.hero-portrait>img{width:130%;top:0}.hero-portrait .hero-promise{bottom:12px}}
.scroll-word{display:inline}
@media(prefers-reduced-motion:reduce){.scroll-word{color:inherit!important}}

/* Floating navigation: two independent islands, with the section menu reduced on scroll. */
html{scroll-padding-top:112px}
html.lenis{scroll-behavior:auto!important}
.header{position:sticky;top:16px;z-index:30;height:72px;margin-top:16px;border:0;align-items:stretch;pointer-events:none}
.header-island{display:flex;align-items:center;min-width:0;pointer-events:auto;background:rgba(37,34,30,.96);border:0;border-radius:16px;box-shadow:0 12px 34px rgba(0,0,0,.24);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.header-island-main{position:relative;width:fit-content;max-width:calc(100% - 230px);padding:0 34px 0 28px;gap:clamp(24px,3vw,54px);transition:background-color .24s ease,box-shadow .24s ease,padding .28s cubic-bezier(.77,0,.175,1),gap .28s cubic-bezier(.77,0,.175,1)}
.header .brand{white-space:nowrap;font-size:17px}
.header .brand b{font-size:30px}
.header .brand b span{font-size:17px}
.header .brand img,.footer .brand img{display:block;width:63px;height:auto}
.header .header-nav{display:flex;align-items:center;gap:clamp(15px,2vw,30px);max-width:620px;white-space:nowrap;overflow:hidden;opacity:1;transition:max-width .28s cubic-bezier(.77,0,.175,1),opacity .16s ease,margin .28s cubic-bezier(.77,0,.175,1)}
.header .header-nav a{font-size:14px;color:#d0c9bf}
.header.is-compact .header-nav{max-width:0;opacity:0;pointer-events:none;margin-left:-38px}
.menu-toggle{display:none;flex:0 0 44px;align-items:center;justify-content:center;gap:4px;width:44px;height:44px;padding:0;border:0;border-radius:11px;background:transparent;color:var(--text);cursor:pointer;transition:background-color .18s ease,color .18s ease}
.menu-toggle svg{width:18px;height:18px;stroke-width:1.7;transition:transform .2s ease}
.menu-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.header.is-compact .menu-toggle{display:flex}
.header .header-popover{position:absolute;top:calc(100% + 10px);left:0;display:grid;gap:2px;min-width:240px;padding:10px;background:#29251f;border:0;border-radius:15px;box-shadow:0 18px 40px #0008}
.header .header-popover[hidden]{display:none}
.header-popover a{padding:11px 14px;border-radius:8px;font-size:15px;color:var(--text)}
.header-island-action{margin-left:auto;padding:6px;background:rgba(230,226,220,.18);border:0;box-shadow:0 12px 34px rgba(0,0,0,.17);transition:background-color .2s ease,box-shadow .24s ease}
.header .nav-cta{height:100%;min-height:56px;gap:18px;padding:0 20px;background:var(--acid);border-radius:11px;color:var(--ink);font-size:14px;font-weight:600;white-space:nowrap;transition:background-color .18s ease}
.header .nav-cta svg{width:17px;height:17px;transition:transform .18s ease}
@media(hover:hover) and (pointer:fine){.menu-toggle:hover,.header-popover a:hover{background:#f2bd7822;color:var(--acid)}.header .nav-cta:hover{background:#ffd39a;color:var(--ink)}.header .nav-cta:hover svg{transform:translateX(4px)}}
.menu-toggle:focus-visible,.header-popover a:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
/* Only the scrolled header turns into a compact, readable glass surface. */
.header.is-compact .header-island-main{background:rgba(31,28,25,.72);border:1px solid rgba(255,255,255,.18);box-shadow:none;backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}
.header.is-compact .header-island-action{box-shadow:none}
.header.is-compact .header-nav a{color:#f6f1ea}
.header.is-compact .header-nav a:hover,.header.is-compact .header-nav a:focus-visible{color:#ffd39a}
@media(hover:hover) and (pointer:fine) and (min-width:1051px){.header.is-compact .header-island-main:not(:hover):not(:focus-within){padding-inline:18px;gap:16px}}
@media(max-width:1050px){.header .header-nav{display:none}.menu-toggle{display:flex}.header-island-main{max-width:calc(100% - 190px)}.header{height:64px}.header .nav-cta{min-height:50px}}
@media(max-width:580px){.header{top:10px;margin-top:10px;height:56px;gap:8px}.header-island{border-radius:12px}.header-island-main{padding:0 8px 0 14px;gap:6px;max-width:calc(100% - 145px)}.header .brand img,.footer .brand img{width:56px}.menu-toggle{width:34px;height:38px;flex-basis:34px}.header-island-action{padding:4px}.header .nav-cta{font-size:12px;min-height:46px;padding:0 12px;gap:8px}.header .nav-cta svg{width:15px}.header-popover{min-width:220px}}

/* One worked example turns the comparison from a claim into a visible workflow. */
.process-demo{margin-top:clamp(56px,7vw,110px);border-top:1px solid #c5c0b8;padding-top:clamp(30px,4vw,54px)}
.process-demo-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:28px}
.process-demo-heading h3{font-size:clamp(28px,3vw,48px);line-height:1.1;max-width:680px}
.process-demo-heading p{max-width:390px;color:#615b53;font-size:17px;line-height:1.5}
.process-demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:360px}
.demo-input,.demo-result{overflow:hidden;padding:clamp(22px,2.5vw,38px);border-radius:12px}
.demo-input{background:#dcd8d1;border:1px solid #bbb5aa;color:#27231f}
.demo-result{background:#211e1a;border:2px solid var(--acid);color:#f8f3ec;box-shadow:0 18px 36px #51402b23}
.demo-top{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid currentColor;font-size:14px;font-weight:600}
.demo-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 8px}
.demo-result .demo-dot{background:var(--acid)}
.demo-message{max-width:78%;margin-top:26px;padding:13px 16px;background:#eeeae3;border:1px solid #ccc7be;border-radius:13px 13px 13px 3px;font-size:15px}
.demo-message.second{margin-top:10px;margin-left:auto;border-radius:13px 13px 3px 13px}
.demo-message b{display:block;margin-bottom:4px;font-size:12px;color:#7b746a}
.demo-message p{line-height:1.45}
.demo-loose{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}
.demo-loose span{padding:6px 9px;border:1px solid #b7b0a5;border-radius:4px;font-size:12px;color:#5d584f}
.demo-document{display:grid;gap:0;margin-top:21px}
.demo-document>div{display:grid;grid-template-columns:135px 1fr;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid #5b5348}
.demo-document small{font-size:11px;letter-spacing:.06em;color:var(--acid)}
.demo-document strong{font-size:16px;font-weight:400;line-height:1.35}
.demo-check{display:inline-flex;margin-top:25px;color:var(--acid);font-size:15px}
.process .estimate{margin-top:26px}
@media(max-width:800px){.process-demo-heading{display:block}.process-demo-heading p{margin-top:12px}.process-demo-grid{grid-template-columns:1fr}.demo-input,.demo-result{min-height:300px}.demo-message{max-width:87%}}
@media(max-width:580px){.process-demo-heading p{font-size:16px}.demo-message{font-size:14px}.demo-document>div{grid-template-columns:105px 1fr}.demo-document strong{font-size:14px}.demo-input,.demo-result{padding:19px}}

/* Author: the portrait connects the course to products built with the same process. */
.author{border-top:1px solid var(--line);background:#201d19}
.author-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:stretch;gap:clamp(44px,5vw,100px)}
.author-portrait{position:relative;min-height:clamp(540px,45vw,720px);overflow:hidden;background:radial-gradient(circle at 52% 42%,#4d3c2b 0,#2a241d 46%,#191715 83%);border:1px solid #55483a;border-radius:13px}

.author-portrait>span{position:absolute;left:clamp(20px,2vw,34px);bottom:clamp(20px,2vw,34px);z-index:1;padding:9px 14px;border:1px solid #ffffff38;border-radius:7px;background:#201b16ad;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:15px;color:#f5eee5}
.author-socials{position:absolute;right:clamp(20px,2vw,34px);bottom:clamp(20px,2vw,34px);z-index:2;display:flex;gap:5px;padding:6px;border-radius:9px;background:#201b16a8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.author-socials .social-link{width:38px;height:38px;border:0;border-radius:6px;background:#ffffff14;color:#f5eee5}
.author-socials .social-link svg{width:20px;height:20px}
.author-socials .social-link:hover,.author-socials .social-link:focus-visible{background:var(--acid);color:var(--ink)}
.author-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:16px}
.author-content h2{max-width:770px}
.author-lead{max-width:700px;margin-top:23px;color:#d2cbc2;font-size:clamp(19px,1.75vw,27px);line-height:1.4;letter-spacing:-.02em}
.author-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;margin-top:clamp(28px,3vw,40px)}
.author-project{position:relative;display:grid;grid-template-columns:minmax(72px,28.5%) minmax(0,1fr);align-items:stretch;gap:16px;min-height:156px;padding:18px;border-radius:12px;background:#2b2620;transition:background-color .22s ease}
.author-project-copy{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-width:0}
.author-project-shot{display:block;align-self:center;aspect-ratio:12/9;overflow:hidden;border-radius:7px;background:#f1f0ed;box-shadow:0 7px 20px #0005}
.author-project-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.author-project strong{font-size:clamp(21px,1.65vw,29px);line-height:1.1;letter-spacing:-.04em;font-weight:600}
.author-project small{font-size:clamp(14px,1vw,16px);line-height:1.4;color:#a9a196}
.author-project-link{position:absolute;top:15px;right:15px;width:22px;height:22px;color:var(--acid);opacity:0;transform:translate(-4px,4px);transition:opacity .2s ease,transform .2s cubic-bezier(.23,1,.32,1)}
.author-outro{max-width:680px;margin-top:28px;color:#c7b9a8;font-size:clamp(16px,1.2vw,19px);line-height:1.55}
@media(hover:hover) and (pointer:fine){.author-project:hover{background:#352e26}.author-project:hover .author-project-link{opacity:1;transform:translate(0,0)}}
.author-project:focus-visible .author-project-link{opacity:1;transform:translate(0,0)}
@media(hover:none){.author-project-link{opacity:1;transform:none}}
@media(max-width:950px){.author-projects{grid-template-columns:1fr}}
@media(max-width:900px){.author-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:38px}.author-portrait{min-height:530px}.author-project{grid-template-columns:83px minmax(0,1fr);gap:13px}}
@media(max-width:700px){.author-layout{grid-template-columns:1fr;gap:38px}.author-portrait{min-height:0;height:clamp(350px,94vw,520px)}.author-content{padding:0}.author-lead{font-size:19px;margin-top:18px}.author-projects{margin-top:30px}.author-project{grid-template-columns:84px minmax(0,1fr);gap:14px;padding:16px}.author-project small{font-size:15px}.author-outro{margin-top:24px;font-size:16px}}
@media(max-width:430px){.author-project strong{font-size:24px}}

/* Static hero background; portrait rendering is managed by hero-3d.js. */
.hero{background:#000}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url('assets/hero-gradient-oblex.webp') center/cover no-repeat}
.hero-content{position:relative;z-index:1}
@media(max-width:700px){.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.53),rgba(0,0,0,.24))}}

/* On desktop the hero portrait uses the available first-screen height without sizing the grid. */
@media(min-width:1001px){
  .hero-content{min-height:calc(100svh - 88px - clamp(46px,5vw,88px) - 38px);grid-template-rows:auto auto minmax(0,1fr) auto}
  .hero-portrait{position:absolute;grid-row:1/-1;top:0;right:var(--gutter);bottom:auto;left:auto;width:min(46vw,840px);height:100%;max-height:none;z-index:1;overflow:hidden}
  .hero-portrait>img{top:0;left:50%;right:auto;width:auto;height:100%;max-width:none;transform:translateX(-50%);object-fit:contain}
  .hero-portrait .hero-promise{bottom:24px}
  .hero-title,.hero-copy,.hero-facts{position:relative;z-index:2}
  .hero-facts{grid-row:4;width:min(760px,calc(100vw - min(42vw,760px) - var(--gutter)*2 - 48px));max-width:760px;gap:22px;margin-top:0;align-self:end}
}

/* Six illustrated outputs for one sample project. */
.program-side{top:104px}
.program-visual{--visual-pad:18px;display:block;width:100%;max-width:600px;min-height:0;margin-top:var(--gap-content);padding:18px 18px 30px;background:#24201b;border:1px solid #66533e;border-radius:12px;box-shadow:0 20px 45px #0003}
.artifact-canvas{height:clamp(205px,20vw,285px);overflow:hidden}
.program-visual #stage-caption{max-width:none;margin-top:16px;color:#e6d9c7;text-align:left;font-size:17px;line-height:1.3}
.program-visual .stage-progress{left:var(--visual-pad);right:var(--visual-pad);bottom:14px;height:3px;background:#514538;border-radius:999px;overflow:hidden}
.artifact-window{height:100%;overflow:hidden;background:#e6e0d6;border:1px solid #645a4f;border-radius:8px;color:#211e1a;box-shadow:0 8px 24px #0003}
.artifact-toolbar{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#f3eee6;border-bottom:1px solid #c8bfb1;font-size:10px;color:#6d6257}
.artifact-dots{font-size:8px;letter-spacing:2px;color:#be9b6f}
.brief-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:12px;padding:16px;height:calc(100% - 34px)}
.brief-source,.brief-sheet{display:flex;flex-direction:column;gap:8px;min-width:0;border:1px solid #d2c8ba;border-radius:5px;padding:12px;background:#f8f4ee}
.brief-source small,.brief-sheet small{color:#9a734d;font-size:9px;letter-spacing:.06em}
.brief-source span{padding:7px 8px;background:#e8e0d6;border-radius:3px;color:#645a51;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brief-sheet b{font-size:13px;line-height:1.15;margin-bottom:2px}
.brief-sheet i{font-style:normal;border-top:1px solid #ddd5cb;padding-top:4px;color:#655d54;font-size:10px}
.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;height:calc(100% - 34px);padding:16px;background:#ddd5c8}
.concept-card{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:13px;border-radius:4px;background:#332e29;color:#f2ede5;opacity:.58}
.concept-card.selected{opacity:1;border:2px solid var(--acid);background:#181615;box-shadow:0 8px 20px #0004}
.concept-card small{font-size:9px;color:var(--acid)}
.concept-card b{font-size:clamp(15px,1.5vw,23px);line-height:1.05;letter-spacing:-.04em}
.concept-card i{display:block;width:70%;height:35%;border-radius:2px;background:linear-gradient(135deg,#806b53,#c3a074)}
.concept-card:nth-child(1) i{background:linear-gradient(135deg,#b7aca0,#695f54)}
.concept-card:nth-child(3) i{background:linear-gradient(135deg,#57453c,#b0a398)}
.scene-page{background:#e9e2d7}
.page-mock{height:calc(100% - 34px);padding:10px 14px;overflow:hidden}
.mock-nav{display:flex;justify-content:space-between;align-items:center;padding-bottom:9px;border-bottom:1px solid #bdb2a3;font-size:9px}
.mock-nav b{font-size:12px;letter-spacing:-.04em}
.mock-nav span{color:#766b5f}
.mock-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;margin-top:12px;height:68%}
.mock-hero>div:first-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}
.mock-hero strong{font-size:clamp(18px,2vw,31px);line-height:1.03;letter-spacing:-.06em}
.mock-hero span{font-size:10px;color:#766b5f}
.mock-hero i{font-size:9px;font-style:normal;background:var(--acid);padding:6px 9px;border-radius:2px}
.mock-portrait{background:linear-gradient(145deg,#7a6a5b,#c1ab91);border-radius:3px}
.mock-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.mock-sections span{height:35px;background:#cfc5b7;border-radius:2px}
.scene-review{background:#dfd8cd}
.review-grid{position:relative;display:grid;grid-template-columns:1.3fr .6fr .8fr;align-items:end;gap:12px;height:calc(100% - 34px);padding:17px}
.review-desktop{height:78%;padding:9px;background:#f4eee5;border:5px solid #4b4339;border-bottom-width:10px;border-radius:5px}
.review-band{height:13%;background:#bdad98}
.review-lines{display:grid;gap:5px;width:62%;margin-top:15px}
.review-lines i{height:8px;background:#3a332c;border-radius:2px}
.review-lines i:nth-child(2){width:70%}
.review-lines i:nth-child(3){width:45%;background:var(--acid)}
.review-photo{width:30%;height:40%;margin-left:auto;margin-top:-35px;background:#ad9275}
.review-phone{height:95%;padding:8px;background:#f5efe5;border:5px solid #4b4339;border-radius:13px;display:flex;flex-direction:column;gap:7px}
.review-phone>div{height:5px;width:35%;margin:0 auto;background:#4b4339;border-radius:5px}
.review-phone strong{font-size:12px;line-height:1.1}
.review-phone i{width:80%;height:40%;background:#bba48b}
.review-phone span{height:5px;background:#d0c6b7}
.review-list{align-self:center;display:flex;flex-direction:column;gap:8px;padding:10px;background:#28241f;color:#ece4d8;border-radius:5px;font-size:10px}
.review-list b{color:var(--acid);font-size:11px}
.publish-body{height:calc(100% - 34px);padding:18px 22px;background:#25211c;color:#f3eee6}
.publish-url{display:flex;gap:10px;align-items:center;width:100%;padding:7px 12px;border:1px solid #80715f;border-radius:6px;background:#f0ebe4;color:#25211c;font-size:11px}
.publish-url span:first-child{color:#6b945f}
.publish-url span:last-child{margin-left:auto}
.publish-body>strong{display:block;margin-top:21px;font-size:clamp(16px,1.7vw,25px);line-height:1.05}
.publish-body>p{margin-top:5px;font-size:10px;color:#b9ac9e}
.publish-devices{position:relative;display:flex;align-items:end;gap:9px;height:45%;margin-top:8px}
.publish-desktop,.publish-phone{display:flex;flex-direction:column;gap:6px;padding:9px;background:#e9e1d6;border:4px solid #a99d8e;border-radius:4px}
.publish-desktop{width:63%;height:100%}
.publish-phone{width:17%;height:80%;border-radius:8px}
.publish-desktop i,.publish-phone i{display:block;height:48%;background:#a88c6e}
.publish-desktop span,.publish-phone span{display:block;height:8px;background:#bfb4a7}
.publish-desktop span:last-child{width:66%}
.scene-final{background:#27221d;color:#f0e8da}
.scene-final .artifact-toolbar{background:#393128;color:#d1bfa9;border-color:#5d5043}
.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 16px 8px;height:75%}
.final-grid>div{min-width:0}
.final-grid small{font-size:9px;color:var(--acid)}
.final-preview{display:flex;flex-direction:column;gap:8px;height:80%;margin-top:5px;padding:12px;background:#e6ded1;border-radius:3px}
.final-preview span{display:block;height:45%;background:#aaa093}
.final-preview i{display:block;height:7px;background:#c5b9a9}
.final-preview i:last-child{width:65%}
.final-preview.live span{background:#ab8761}
.final-mark{display:flex;justify-content:space-between;margin:0 16px;padding-top:9px;border-top:1px solid #6c5945;color:var(--acid);font-size:11px}
.week-artifact{display:none}
@media(max-width:1150px){.program-side{top:94px}.program-visual{--visual-pad:13px;padding:13px 13px 24px}.artifact-canvas{height:205px}.brief-grid,.concept-grid{padding:10px;gap:7px}.brief-source,.brief-sheet{padding:7px}.brief-source span{font-size:9px;padding:5px}}
@media(max-width:700px){.program-visual{display:none}.week-artifact{display:block;height:230px;margin-top:24px;overflow:hidden;border:1px solid #66533e;border-radius:8px;background:#24201b;padding:10px}.week-artifact .artifact-window{height:100%}.concept-card b{font-size:18px}}
@media(max-width:420px){.week-artifact{height:205px}.review-grid{gap:6px;padding:10px}.review-list{padding:6px;font-size:8px}.review-list b{font-size:9px}.concept-card{padding:8px}.concept-card b{font-size:15px}}

/* Pointer navigation opens inside the same island, never in a second row. */
.nav-hint{display:none;align-items:center;justify-content:center;flex:0 0 20px;color:var(--acid)}
.nav-hint svg{width:18px;height:18px;stroke-width:1.7}
@media (hover:hover) and (pointer:fine) and (min-width:800px){
  .header-island-main{gap:clamp(18px,2vw,34px)}
  .header .menu-toggle,.header.is-compact .menu-toggle{display:none}
  .header .header-popover{display:none!important}
  .header.is-compact .nav-hint{display:flex}
  .header.is-compact .header-nav{visibility:hidden;max-width:0;opacity:0;pointer-events:none;margin-left:0}
  .header.is-compact .header-island-main:hover .header-nav,
  .header.is-compact .header-island-main:focus-within .header-nav{visibility:visible;max-width:620px;opacity:1;pointer-events:auto}
  .header.is-compact .header-island-main:hover .nav-hint,
  .header.is-compact .header-island-main:focus-within .nav-hint{display:none}
}
@media (hover:hover) and (pointer:fine) and (min-width:800px) and (max-width:1050px){
  .header-island-main{gap:12px;padding-left:18px;padding-right:20px}
  .header .header-nav{display:flex;visibility:hidden;max-width:0;opacity:0;pointer-events:none;margin-left:0}
  .header .header-nav{gap:11px}
  .header .header-nav a{font-size:12px}
  .header .nav-hint{display:flex}
  .header .header-island-main:hover .header-nav,
  .header .header-island-main:focus-within .header-nav{visibility:visible;max-width:620px;opacity:1;pointer-events:auto}
  .header .header-island-main:hover .nav-hint,
  .header .header-island-main:focus-within .nav-hint{display:none}
}

/* One short, direct transformation: a loose request becomes a live page. */
.process-demo-heading h3{max-width:790px}
.process-demo-grid{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;min-height:clamp(450px,34vw,620px);isolation:isolate}
.demo-input,.demo-result{display:flex;flex-direction:column;min-width:0;padding:clamp(22px,2.4vw,40px);overflow:hidden}
.demo-input{border-radius:14px 0 0 14px;background:#dcd8d1;border:1px solid #bbb5aa}
.demo-result{border-radius:0 14px 14px 0;background:#201c17;border:2px solid var(--acid)}
.demo-chat{display:flex;align-items:flex-end;gap:13px;margin:auto 0 22px}
.demo-avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;background:#2c2925;color:#f2e9dc;font-size:16px}
.demo-chat .demo-message{max-width:590px;margin:0;padding:clamp(20px,2vw,30px);background:#f3eee7;border:1px solid #beb6a9;border-radius:18px 18px 18px 5px;box-shadow:0 8px 24px #27201817}
.demo-chat .demo-message b{font-size:13px;margin-bottom:12px}
.demo-chat .demo-message p{font-size:clamp(17px,1.45vw,22px);line-height:1.42;letter-spacing:-.015em}
.demo-input .demo-loose{margin:0 0 auto 55px}
.demo-bridge{position:absolute;z-index:3;left:50%;top:50%;display:grid;place-items:center;width:78px;height:78px;border:10px solid #ebe9e6;border-radius:50%;background:var(--acid);color:#211d18;transform:translate(-50%,-50%);box-shadow:0 8px 28px #0003}
.demo-bridge svg{width:28px;height:28px;stroke-width:1.8}
.demo-browser{display:flex;flex-direction:column;min-height:0;flex:1;margin-top:20px;overflow:hidden;border:1px solid #74624c;border-radius:9px;background:#f2ece3;box-shadow:0 15px 35px #0005}
.demo-browser-bar{display:flex;align-items:center;gap:14px;min-height:41px;padding:0 15px;background:#eee8df;border-bottom:1px solid #cfc3b2;color:#695d51;font-size:12px}
.demo-browser-dots{font-size:9px;letter-spacing:2px;color:#ac9070}
.demo-browser-url{min-width:0;flex:1;padding:5px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #d0c6b9;border-radius:4px;background:#faf7f2;color:#4c4138}
.demo-site{display:flex;flex-direction:column;min-height:0;flex:1;padding:clamp(17px,2.2vw,34px);background:radial-gradient(circle at 83% 20%,#473674 0,transparent 50%),radial-gradient(circle at 18% 90%,#2b684b 0,transparent 63%),#1c292e;color:#fff}
.demo-site-content{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;align-items:center;min-height:0;flex:1}
.demo-site-content>div:first-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.demo-site-content strong{display:block;font-size:clamp(35px,3.45vw,66px);line-height:.98;letter-spacing:-.065em}
.demo-site-content p{max-width:360px;margin-top:18px;color:#f1ecf5;font-size:clamp(11px,1.05vw,16px);line-height:1.43}
.demo-site-button{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:21px;padding:10px 15px;border-radius:100px;background:#fff;color:#201d21;font-size:12px;font-weight:600}
.demo-site-button b{font-weight:400}
.demo-site-comment{align-self:center;padding:clamp(12px,1.5vw,22px);border-radius:17px;background:#fff;color:#27232a;box-shadow:0 12px 24px #1113;transform:rotate(3deg)}
.demo-site-comment>span{display:block;padding-bottom:10px;border-bottom:1px solid #ddd;font-size:11px;font-weight:700}
.demo-site-comment b{display:block;margin-top:13px;font-size:12px}
.demo-site-comment i{margin-left:5px;color:#9f9ba4;font-size:10px;font-style:normal;font-weight:400}
.demo-site-comment p{margin-top:9px;color:#27232a;font-size:12px}
.demo-site-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.demo-site-pills span{padding:6px 11px;border-radius:30px;background:#433b76;color:#fff;font-size:11px}
.demo-site-pills span:last-child{background:#345e50}
@media(max-width:800px){
  .process-demo-grid{display:grid;grid-template-columns:1fr;min-height:0;gap:0}
  .demo-input,.demo-result{min-height:0}
  .demo-input{border-radius:13px;padding-bottom:52px}
  .demo-result{border-radius:13px;padding-top:48px}
  .demo-chat{margin:34px 0 20px}
  .demo-bridge{position:relative;left:auto;top:auto;justify-self:center;width:62px;height:62px;margin:-31px 0;transform:rotate(90deg);border-width:7px}
  .demo-browser{min-height:350px}
}
@media(max-width:580px){
  .demo-chat .demo-message{padding:18px}
  .demo-chat .demo-message p{font-size:16px}
  .demo-avatar{width:34px;height:34px;flex-basis:34px}
  .demo-input .demo-loose{margin-left:47px}
  .demo-browser{min-height:310px}
  .demo-site{padding:13px}
  .demo-site-content{grid-template-columns:1.12fr .88fr;gap:8px}
  .demo-site-content strong{font-size:clamp(27px,7vw,36px)}
  .demo-site-content p{font-size:10px;margin-top:9px}
  .demo-site-comment{padding:10px;border-radius:10px}
  .demo-site-comment>span,.demo-site-comment b{font-size:9px}
  .demo-site-comment i{display:none}
  .demo-site-comment p{font-size:9px}
  .demo-site-pills span{font-size:8px;padding:5px 8px}
  .demo-site-button{font-size:10px;padding:8px;margin-top:12px;gap:6px}
  .demo-browser-bar{padding:0 8px;gap:6px;font-size:10px}
  .demo-browser-url{padding:4px 7px}
}
@media(prefers-reduced-motion:reduce){.header .header-nav{transition:none}}

/* Recorded lesson names make each course week scannable. */
.week-chips{display:flex;flex-wrap:wrap;gap:8px;max-width:720px;margin-top:25px}
.lesson-chip{display:inline-flex;align-items:center;max-width:100%;padding:6px 11px;border:0;border-radius:7px;background:#2b2723;color:#e4ddd4;font-size:15px;line-height:1.3}
.lesson-chip.live-chip{background:rgba(242,189,120,.16);color:var(--acid)}
@media(max-width:700px){.week-chips{gap:7px;margin-top:20px}.lesson-chip{padding:6px 10px;font-size:14px}}

/* Native cursor stays visible; a small amber aura follows only a fine pointer. */
.cursor-aura{display:none;position:fixed;top:0;left:0;z-index:40;width:0;height:0;pointer-events:none;opacity:0;transition:opacity .18s ease}
.cursor-aura.is-visible{opacity:1}
.cursor-aura span{position:absolute;top:-117px;left:-117px;display:block;width:234px;height:234px;border-radius:50%;background:radial-gradient(circle,rgba(242,189,120,.27) 0%,rgba(242,189,120,.11) 35%,rgba(242,189,120,0) 72%);transform:scale(1);opacity:.8;transition:opacity .22s ease}
.cursor-aura.is-light span{opacity:.5}
@media(hover:hover) and (pointer:fine){.cursor-aura{display:block}}
@media(prefers-reduced-motion:reduce){.cursor-aura{display:none}}

/* Hero rhythm and a single grouped strip for the three course facts. */
.hero-content{row-gap:40px}
.hero-copy .button{margin-top:64px}
.hero-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:stretch;width:100%;max-width:840px;margin-top:0;padding:10px 0;border:1px solid #4a4036;border-radius:14px;background:#24211e;color:#d4ccc3;font-size:clamp(15px,1vw,17px);line-height:1.35}
.hero-facts>span{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;min-width:0;min-height:94px;padding:10px clamp(12px,1.2vw,22px)}
.hero-facts>span+span{border-left:1px solid #4a4036}
.hero-facts>span>svg{box-sizing:border-box;flex:0 0 30px;width:30px;height:30px;margin:0;padding:6px;border-radius:7px;background:#f2bd7818;color:var(--acid);stroke-width:1.5}
.hero-facts>span>span{max-width:none;text-wrap:balance}
.hero-facts span+span:before{content:none}
@media(min-width:1001px){
  .hero-facts{width:min(840px,calc(100vw - min(46vw,840px) - var(--gutter)*2 - 44px));max-width:840px;gap:0;margin-top:0}
}
@media(min-width:1001px) and (max-width:1400px){
  .hero{padding-top:46px}
  .hero-content{row-gap:32px}
  .hero-copy .button{margin-top:56px}
}
@media(max-width:1100px){
  .hero-facts{grid-template-columns:1fr;padding:0}
  .hero-facts>span{flex-direction:row;align-items:center;justify-content:flex-start;min-height:58px;padding:10px 16px}
  .hero-facts>span+span{border-left:0;border-top:1px solid #4a4036}
  .hero-facts .fact-break{display:none}
}
@media(max-width:700px){
  .hero-content{row-gap:0}
  .hero-copy{margin-top:28px}
  .hero-copy .button{margin-top:44px}
  .hero-facts{margin-top:32px}
}

/* Animate UI inspired details, adapted to the existing static site. */
.faq-answer{overflow:hidden}
.faq-item>.faq-answer>p{padding:0 40px 30px 0;color:#aea79e;font-size:16px;line-height:1.75}
.author-project-shot img{transition:transform 350ms cubic-bezier(.23,1,.32,1)}
@media(hover:hover) and (pointer:fine){
  .author-project:hover .author-project-shot img{transform:scale(1.06)}
}
.author-project:focus-visible .author-project-shot img{transform:scale(1.06)}
@media(max-width:700px){.faq-item>.faq-answer>p{padding-right:16px;font-size:15px}}
@media(prefers-reduced-motion:reduce){
  .author-project:hover .author-project-shot img,
  .author-project:focus-visible .author-project-shot img{transform:none}
}

/* Keep the complete desktop hero inside the visible viewport on shorter screens. */
@media(min-width:1001px) and (max-height:1100px){
  .hero{padding-top:clamp(28px,4vh,44px);padding-bottom:clamp(20px,2.7vh,30px)}
  .hero-content{min-height:calc(100svh - 88px - clamp(28px,4vh,44px) - clamp(20px,2.7vh,30px));row-gap:clamp(14px,1.9vh,21px)}
  .hero h1{font-size:clamp(40px,min(4.1vw,6.5vh),74px)}
  .hero-copy .button{margin-top:clamp(24px,3.6vh,40px)}
}

@media(max-width:700px){
  .hero::after{background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.43))}
  .hero-portrait{height:clamp(320px,90vw,390px);max-height:none}
  .hero-portrait>img{top:0;left:50%;width:auto;height:100%;max-width:none;transform:translateX(-50%);object-fit:contain}
}

/* One continuous hero background behind the floating header. */
:root{--header-space:88px;--hero-top-gap:clamp(46px,5vw,88px)}
.hero{margin-top:calc(-1 * var(--header-space));padding-top:calc(var(--header-space) + var(--hero-top-gap));min-height:100svh}
.hero::before{filter:brightness(.7) saturate(.65)}
@media(max-width:1400px) and (min-width:1001px){:root{--hero-top-gap:46px}}
@media(min-width:1001px) and (max-height:1100px){:root{--hero-top-gap:clamp(28px,4vh,44px)}}
@media(max-width:1050px){:root{--header-space:80px}}
@media(max-width:700px){:root{--hero-top-gap:47px}}
@media(max-width:580px){:root{--header-space:66px}}

/* Fill the desktop viewport and anchor the portrait to its lower edge. */
@media(min-width:1001px){
  .hero{--hero-bottom-gap:clamp(20px,2.7vh,38px);--hero-top-gap:clamp(52px,7vh,100px);height:100dvh;min-height:100dvh;padding-bottom:var(--hero-bottom-gap)}
  .hero-content{height:100%;min-height:0;padding-top:0}
  .hero-copy,.hero-copy>p{width:100%;max-width:none}
  .hero-portrait{height:calc(100% + var(--hero-bottom-gap))}
  .hero-portrait .hero-promise{bottom:calc(var(--hero-bottom-gap) + 24px)}
}
@media(min-width:1001px) and (max-height:760px){
  .hero{--hero-top-gap:36px}
}

/* Quiet hero: centered copy, narrower description and a larger portrait. */
.hero{background:var(--bg)}
.hero::before,.hero::after{content:none;display:none}
@media(min-width:1001px){
  .hero-content{grid-template-rows:minmax(0,1fr) auto auto minmax(0,1fr) auto;row-gap:0}
  .hero-title{grid-row:2}
  .hero-copy{grid-row:3;margin-top:clamp(24px,3.5vh,40px)}
  .hero-copy>p{width:90%;max-width:680px}
  .hero-facts{grid-row:5}
  .hero-portrait{grid-row:1/-1;top:auto;bottom:calc(-1 * var(--hero-bottom-gap));height:85dvh;overflow:visible}
  .hero-portrait>img{height:100%;width:auto}
}
@media(min-width:1001px) and (max-height:760px){
  .hero-copy{margin-top:20px}
}

/* A dim permanent grid with independently phased, scattered pulse layers. */
.hero-dots{display:block;position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(circle,rgba(242,189,120,.025) 1px,transparent 1.5px);
  background-size:28px 28px;background-position:0 0}
.hero-dot-layer{position:absolute;inset:0;opacity:0;background-repeat:repeat;
  animation:hero-dot-breathe var(--dot-duration,12s) cubic-bezier(.77,0,.175,1) var(--dot-delay,0s) infinite;
  animation-play-state:paused}
.hero-dots.is-animating .hero-dot-layer{animation-play-state:running}
@keyframes hero-dot-breathe{0%,100%{opacity:0}50%{opacity:.13}}
@media(prefers-reduced-motion:reduce){.hero-dot-layer{animation:none;opacity:.035}}
body.has-hero-pointer .cursor-aura{opacity:0;transition:none}

/* The sticky column stops at the grid's content bottom. No trailing space
   after the last chip row: both outer column edges share this exact boundary. */
@media(min-width:701px){
  .weeks>.week:last-child{padding-bottom:0}
}

/* Keep service previews at the same 4:3 crop across every breakpoint. */
.author-project-shot{position:relative;align-self:center;width:100%;aspect-ratio:4/3;min-height:0}
.author-project-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(min-width:901px){
  .author-project{grid-template-columns:minmax(90px,34%) minmax(0,1fr);min-height:180px}
}

/* Shared minimum corner radius, matching the floating tariff CTA. */
:root{--radius-control:var(--radius)}
.button,.header .nav-cta,.menu-toggle,.header-popover a,
.price-card,.social-link,.author-socials .social-link,.author-socials,
.author-portrait>span,.author-project-shot,.lesson-chip,.hero-facts>span>svg,
.week-artifact,.demo-loose span,.demo-browser,.demo-browser-url{border-radius:var(--radius-control)}
.process-table::after{border-radius:var(--radius-control)}
@media(max-width:700px){.process-row .ai-way{border-radius:var(--radius-control)}}

/* Give the primary copy more breathing room above the benefits. */
@media(min-width:1001px){
  .hero-title,.hero-copy{top:calc(-1 * clamp(20px,3vh,36px))}
}

/* Artifact container uses a fill without an outer outline. */
.program-visual{border-color:transparent}

/* Lower navigation, enlarge the portrait and align its label with the benefits. */
:root{--header-space:90px;--hero-label-size:clamp(15px,1vw,17px)}
.header{top:18px;margin-top:18px}
.hero-facts{font-size:var(--hero-label-size)}
.hero-portrait .hero-promise{font-size:var(--hero-label-size);line-height:1.35;letter-spacing:normal;padding:16px 20px;color:#d4ccc3}
.hero-portrait .hero-promise>span{color:inherit}
@media(min-width:1001px){
  .hero{--hero-top-gap:clamp(32px,5vh,80px)}
  .hero-portrait{height:98dvh;width:46vw;max-width:1400px}
  .hero-portrait .hero-promise{bottom:var(--hero-bottom-gap)}
}
@media(min-width:1001px) and (max-height:760px){.hero{--hero-top-gap:16px}}
@media(max-width:1050px){:root{--header-space:100px}}
@media(max-width:580px){
  :root{--header-space:86px}
  .header{top:30px;margin-top:30px}
}

@media(min-width:2000px){.hero-content,.header{max-width:none}}

/* Animate measured navigation width; the hint never changes the flex layout. */
@media(hover:hover) and (pointer:fine) and (min-width:701px){
  .header-island-main{transition:width .42s cubic-bezier(.23,1,.32,1),padding .42s cubic-bezier(.23,1,.32,1),gap .42s cubic-bezier(.23,1,.32,1),background-color .24s ease}
  .header .header-nav{flex:0 0 auto;width:var(--nav-width,400px);max-width:none;margin-left:0;transition:width .42s cubic-bezier(.23,1,.32,1),opacity .2s ease,visibility 0s}
  .header .header-nav a{flex-shrink:0}
  .header .nav-hint,.header.is-compact .nav-hint{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:flex;opacity:0;pointer-events:none;transition:opacity .16s ease}
  .header.is-compact .header-nav{width:20px;max-width:none;visibility:hidden;opacity:0;pointer-events:none;transition:width .42s cubic-bezier(.23,1,.32,1),opacity .16s ease,visibility 0s .42s}
  .header.is-compact .header-island-main:not(:hover):not(:focus-within) .nav-hint{opacity:1}
  .header.is-compact .header-island-main:hover .header-nav,
  .header.is-compact .header-island-main:focus-within .header-nav{width:var(--nav-width,400px);max-width:none;visibility:visible;opacity:1;pointer-events:auto;transition:width .42s cubic-bezier(.23,1,.32,1),opacity .2s ease .06s,visibility 0s}
  .header.is-compact .header-island-main:hover .nav-hint,
  .header.is-compact .header-island-main:focus-within .nav-hint{display:flex;opacity:0}
}
@media(hover:hover) and (pointer:fine) and (min-width:701px) and (max-width:1050px){
  .header .header-nav{width:20px;max-width:none}
  .header .header-island-main:hover .header-nav,.header .header-island-main:focus-within .header-nav{width:var(--nav-width,400px);max-width:none}
  .header .header-island-main:not(:hover):not(:focus-within) .nav-hint{opacity:1}
  .header .header-island-main:hover .nav-hint,.header .header-island-main:focus-within .nav-hint{display:flex;opacity:0}
}
@media(prefers-reduced-motion:reduce){.header-island-main,.header .header-nav,.header .nav-hint{transition:none!important}}

/* Square bust: size the visible silhouette within the right-hand column. */
@media(min-width:1001px){
  .hero-portrait>img{height:auto;width:min(98dvh,60vw);max-width:none;top:auto;bottom:0;left:50%;transform:translateX(-50%)}
}
@media(max-width:1000px){
  .hero-portrait>img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
}

/* Benefits float over the enlarged portrait on translucent glass. */
@media(min-width:1001px){
  .hero-facts{background:rgba(36,33,30,.68);backdrop-filter:blur(22px) saturate(115%);-webkit-backdrop-filter:blur(22px) saturate(115%)}
}
/* Mobile sequence: portrait, headline, copy and CTA, benefits. */
@media(max-width:700px){
  .hero-content{display:flex;flex-direction:column}
  .hero-portrait{order:-1;margin-top:0;margin-bottom:32px;height:clamp(300px,90vw,390px);flex-shrink:0}
  .hero-title{order:0}
  .hero-copy{order:1}
  .hero-facts{order:2}
}

/* Hide the uneven mesh base 10px beyond the clipped hero edge. */
.hero-model{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);width:min(112dvh,68vw);height:98dvh;display:block;pointer-events:none;opacity:0;transition:opacity .65s cubic-bezier(.23,1,.32,1)}
.hero-portrait.has-model>img{opacity:0}
.hero-portrait{user-select:none;-webkit-user-select:none}
.hero-portrait>img{pointer-events:none;-webkit-user-drag:none;user-select:none;transition:opacity .65s cubic-bezier(.23,1,.32,1)}
/* Keep the poster visible until the first rendered 3D frame. */
.hero-portrait.has-model .hero-model{opacity:1}
@media(max-width:700px){
  .hero-model{display:block;width:100%;height:100%}
}
@media(prefers-reduced-motion:reduce){.hero-model{display:none}.hero-portrait>img{transition:none}}


/* A narrow desktop window keeps the bust anchored to the hero floor.
   Let shoulders leave the right edge rather than shrinking the entire figure. */
@media(min-width:701px) and (max-width:1000px){
  .hero{--hero-height:max(100dvh,740px);--hero-bottom-gap:24px;height:var(--hero-height);min-height:var(--hero-height);padding-top:140px;padding-bottom:var(--hero-bottom-gap)}
  .hero-content{position:relative;display:grid;height:100%;min-height:0;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto minmax(32px,1fr) auto;gap:0}
  .hero-title{grid-column:1;grid-row:2;position:relative;top:0;z-index:2}
  .hero h1{font-size:clamp(30px,4.5vw,45px);line-height:1.04}
  .hero-copy{grid-column:1;grid-row:3;position:relative;top:0;z-index:2;margin-top:24px;width:100%;max-width:none}
  .hero-copy>p{width:94%;max-width:none;font-size:15px;line-height:1.5}
  .hero-copy .button{margin-top:28px;min-height:56px}
  .hero-portrait{position:absolute;grid-area:auto;top:auto;bottom:calc(-1 * var(--hero-bottom-gap));right:-6vw;left:auto;width:44vw;height:calc(var(--hero-height) - 60px);min-height:0;max-height:none;overflow:visible;z-index:1}
  .hero-model{width:calc((var(--hero-height) - 60px) * 1.14);height:100%;display:block}
  .hero-portrait>img{inset:auto;bottom:-10px;left:50%;width:calc(var(--hero-height) - 60px);height:auto;max-width:none;transform:translateX(-50%)}
  .hero-portrait .hero-promise{right:6vw;bottom:var(--hero-bottom-gap);font-size:var(--hero-label-size)}
  .hero-facts{grid-column:1;grid-row:5;position:relative;z-index:2;width:100%;margin-top:0;background:rgba(36,33,30,.68);backdrop-filter:blur(22px) saturate(115%);-webkit-backdrop-filter:blur(22px) saturate(115%)}
  .hero-facts>span{min-height:44px;padding:8px 12px;font-size:14px}
}


/* The transparent poster uses exactly the same neutral framing as the canvas. */
@media(min-width:1001px){
  .hero-portrait>img{width:min(112dvh,68vw);height:98dvh;bottom:-10px;object-fit:contain;object-position:center bottom;margin-left:min(0px,calc((100% + var(--gutter)*2 - min(112dvh,68vw)) / 2))}
}
@media(min-width:701px) and (max-width:1000px){
  .hero-portrait>img{width:calc((var(--hero-height) - 60px) * 1.14);height:100%;margin-left:0;object-fit:contain;object-position:center bottom}
}
@media(max-width:700px){
  .hero-portrait>img{top:auto;bottom:-10px;left:50%;width:100%;height:100%;object-fit:contain;object-position:center bottom}
}


/* Keep benefit icons aligned when the longer labels wrap to three lines. */
@media(min-width:1001px){.hero-facts>span{justify-content:flex-start}}

/* Related copy stays closer to the heading than the primary action. */
.hero{--hero-copy-gap:clamp(20px,2.5vh,28px)}
.hero-copy{margin-top:var(--hero-copy-gap)}
.hero-copy .button{margin-top:calc(var(--hero-copy-gap)*1.8)}
@media(max-width:700px){.hero{--hero-copy-gap:20px}}

.hero-portrait .hero-promise{display:flex;align-items:flex-start;gap:12px}
.hero-promise .start-calendar{flex:0 0 22px;width:22px;height:22px;color:var(--acid);stroke-width:1.5}
.hero-promise .start-copy strong{font-weight:600;color:var(--text)}

/* Compact horizontal facts; icons align with the first text line. */
.hero h1{line-height:1}
.hero-copy>p{line-height:1.45}
.hero-facts{padding:6px 0}
.hero-facts>span{flex-direction:row;align-items:flex-start;justify-content:flex-start;min-height:0;gap:10px;padding:10px 12px}
.hero-facts>span>svg{flex:0 0 22px;width:22px;height:22px;padding:0;border-radius:0;background:none}
.hero-facts>span>span{min-width:0;text-wrap:pretty}
.hero-facts .fact-break{display:none}
@media(max-width:1100px){.hero-facts{padding:0}.hero-facts>span{padding:12px 16px}}

/* Inset separators and borderless glass surfaces. */
.hero-facts{border:0}
.hero-facts>span+span{border:0;position:relative}
.hero-facts>span+span::after{content:'';position:absolute;left:0;top:10px;bottom:10px;width:1px;background:#4a4036;pointer-events:none}
.hero-portrait .hero-promise{border:0;box-shadow:0 12px 32px #0002}
@media(max-width:1100px){
  .hero-facts>span+span::after{top:0;bottom:auto;left:16px;right:16px;width:auto;height:1px}
}

/* Let the benefits use the hero width instead of the narrow copy column. */
.hero-facts{line-height:1.2}
@media(min-width:1001px){
  .hero-facts{grid-column:1/-1;width:min(840px,calc(100vw - var(--gutter)*2 - 240px));max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px 0}
  .hero-facts>span{padding:10px 12px}
  .hero-facts>span+span::after{left:0;right:auto;top:10px;bottom:10px;width:1px;height:auto}
}
@media(min-width:701px) and (max-width:1000px){
  .hero-facts{grid-column:1/-1;width:calc(100% - 220px);max-width:560px}
}
.hero-facts>span,.hero-facts>span>span{line-height:1.2}
@media(min-width:1001px) and (max-width:1100px){
  .hero-portrait .hero-promise{right:calc(-1 * var(--gutter))}
}

/* Five-week curriculum: textless, responsive wireframe scenes. */
.program-wireframe{display:block;width:100%;height:100%}
.program-visual{padding-bottom:30px}

/* Trial artwork: ?program-art=wireframe restores the previous presentation. */
.program-stage-image{display:block;width:100%;height:100%;object-fit:contain}
.program-image-mode .program-visual{padding:0 0 24px;overflow:hidden}
.program-image-mode .artifact-canvas{height:auto;aspect-ratio:5/3}
.program-image-mode .week-artifact{height:auto;aspect-ratio:5/3;padding:0;overflow:hidden}
