/* Impeccable Adapt: the approved desktop world, composed for touch. */
.landing-menu-toggle{display:none}
@media(max-width:900px){
 html{scroll-padding-top:24px}
 body{overflow-wrap:break-word}
 header{gap:8px;padding:16px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left));align-items:center}
 header .brand{width:auto;font-size:28px;margin-right:auto;order:0}
 header .account{order:1}.account .button.signin{font-size:16px;min-height:44px;padding:10px 12px;border:0}
 .landing-menu-toggle{order:2;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #ffffff40;border-radius:50%;background:#0C0E11;color:#ECEAE4;cursor:pointer}
 .landing-menu-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
 header nav{display:none;position:absolute;top:76px;left:20px;right:20px;max-height:calc(100svh - 100px);overflow:auto;border-radius:20px;padding:12px;background:#14171C;font-size:17px;box-shadow:0 16px 40px #0006}
 header nav[data-open=true]{display:grid;gap:2px;animation:mobile-menu-in .2s ease-out}
 header nav a{display:flex;align-items:center;min-height:48px;padding:10px 16px;border-radius:10px}
 header nav a:active{background:#191D23;color:#E6D5A8}
 .story{height:460svh}.stage{height:100svh;min-height:650px}
 .copy{left:6vw;right:6vw;top:auto;bottom:max(64px,env(safe-area-inset-bottom));transform:none;width:auto}
 h1{font-size:clamp(34px,8.4vw,52px);max-width:600px;line-height:1.08}
 .subtitle{font-size:.76em;line-height:1.22;margin-top:10px}
 .description{font-size:17px;line-height:1.5;margin:20px 0 10px;max-width:40ch}
 .support{font-size:15px;line-height:1.5;margin:0 0 20px;max-width:40ch}
 .actions{gap:10px}.actions .button{min-height:48px;font-size:15px;padding:12px 18px}
 .note{font-size:13px;line-height:1.5;margin-top:12px}
 .scroll-cue{bottom:max(18px,env(safe-area-inset-bottom));left:6vw;right:6vw;font-size:12px;gap:16px}
 .scroll-cue>span:last-child{display:none}.progress{width:72px;flex:none}
 .shade{background:linear-gradient(0deg,#060c0f 0%,rgba(6,12,15,.98) 27%,rgba(6,12,15,.85) 50%,rgba(6,12,15,.12) 78%,rgba(6,12,15,.3))}
 .scene canvas{mask-image:none}
 .content-section{padding:64px 6vw}.chapter{padding-block:48px;border-radius:24px 24px 0 0}
 .chapter-practice,.chapter-tools,.chapter-ai{background:#14171C;border-color:#eceae414}
 .chapter-inner{width:88%}.chapter-heading{margin-bottom:28px;gap:24px;grid-template-columns:1fr}
 .continuation h2{font-size:clamp(32px,7.8vw,48px);line-height:1.12;letter-spacing:-.03em}
 .chapter-tools .chapter-heading h2 em{font-size:1.45em;line-height:1;margin-top:0}
 .chapter-heading>p{font-size:17px;line-height:1.65;max-width:48ch}
 .chapter-services,.audience-list{grid-template-columns:1fr;gap:12px;margin-bottom:32px}
 .motion-box{padding:16px 18px;background:#191D23;border-color:#eceae414;border-radius:16px}
 .motion-box summary{min-height:44px;gap:12px}.motion-box summary::after{display:none}
 .motion-box h3{font-size:20px;line-height:1.35}.motion-box p{font-size:16px;line-height:1.65;margin-top:12px}
 .motion-box[open],.motion-ready .motion-box.is-revealed[open]{transform:none;border-color:#e6d5a866;background:#191D23}
 .screen-film{padding-top:32px}.film-window{gap:20px}
 .screen-track{margin:0;width:100%;padding:0 6vw 12px;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;transform:none!important}
 .screen-track .product-screen{width:min(82vw,560px);scroll-snap-align:center}
 .product-screen figcaption,.screen-note{font-size:13px;line-height:1.5}
 .mobile-preview-viewport{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #eceae426;border-radius:16px;scrollbar-width:thin;scrollbar-color:#766a50 #14171C}
 .mobile-preview-viewport img{width:680px;max-width:none;border:0;border-radius:0}
 .mobile-preview-hint{font-size:13px;color:#A3A5A8;margin:12px 0 0}
 .intro,.motion-ready .intro.reveal-on-scroll{position:relative;isolation:isolate;min-height:560px;height:85svh;max-height:780px;overflow:clip;opacity:1;transform:none;background:#0C0E11}
 .intro .intro-light-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
 .intro::after{content:'';position:absolute;inset:0;z-index:-1;background:#0C0E1173}
 .intro h2>span,.intro h2>em{display:block}
 .intro h2>em{margin-top:16px;font-size:1.25em}
 .intro .text-link{font-size:23px;min-height:52px;margin-top:40px;gap:24px}
 .motion-ready .intro:not(.is-revealed) h2,.motion-ready .intro:not(.is-revealed) .text-link{opacity:0;transform:translateY(24px)}
 .intro h2,.intro .text-link{transition:opacity .6s ease-out,transform .6s cubic-bezier(.16,1,.3,1)}
 .intro .text-link{transition-delay:.15s}
 .motion-ready .scroll-story{height:calc(100svh + var(--story-count)*38svh)}
 .story-pin{height:100svh;min-height:0;max-height:none;padding-block:32px;gap:24px}
 .story-pin h2{font-size:clamp(30px,7vw,42px)}
 .stage-slides{min-height:220px}.stage-slide h3{font-size:26px}.stage-slide p{font-size:17px}
 .stage-markers{gap:8px;overflow-x:auto;justify-content:flex-start;padding:8px;width:100%;margin:0}
 .stage-markers button{width:44px;height:44px;flex:none;font-size:15px}
 .stage-markers::before,.stage-markers::after{left:30px;right:auto;width:calc((var(--story-count) - 1)*52px)}
 .story-pin .journey-close{font-size:14px;line-height:1.55}
 .tool-choice .tool-label{font-size:14px;min-height:42px}
 .tool-detail{min-height:240px}.tool-detail p{font-size:17px}.tool-controls span{font-size:14px}
 .accordion-band{border-color:#eceae426;padding:20px 0;transition:opacity .4s,transform .4s}
 .accordion-band summary h3,.privacy .accordion-band summary strong{font-size:23px;line-height:1.3}
 .accordion-band>p,.privacy .accordion-band>span{font-size:17px;line-height:1.65;margin-top:16px}
 .accordion-band.mobile-current summary{color:#E6D5A8}
 .accordion-band.mobile-current{transform:translateX(4px)}
 .privacy{background:#0C0E11}.privacy .privacy-intro{font-size:17px;line-height:1.65}
 .privacy .privacy-links{gap:12px;flex-direction:column}.privacy-links a{display:flex;align-items:center;min-height:44px;font-size:15px}
 .ai-connection{position:relative;isolation:isolate;display:flex;align-items:flex-end;width:calc(100% / .88);margin:40px calc((100% - 100% / .88) / 2) -48px;padding:280px 6vw 48px;min-height:780px;border:0;background:#0C0E11;overflow:clip}
 .mcp-render{position:absolute;inset:0;margin:0;z-index:-2;width:100%;height:100%}
 .mcp-render img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% top;border-radius:0}
 .mcp-render .mcp-on{opacity:var(--mobile-power,0)}
 .ai-connection::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0C0E11 0%,rgba(12,14,17,.96) 35%,rgba(12,14,17,.7) 60%,rgba(12,14,17,.08) 85%)}
 .mcp-copy{width:100%;max-width:540px}.ai-connection h3{font-size:36px;line-height:1.1;letter-spacing:-.025em;margin:0 0 24px}
 .ai-connection h3 em{font-family:var(--landing-display);font-size:1.3em;display:block;line-height:1.1}
 .ai-connection .mcp-lead{font-size:21px;line-height:1.45;margin:0 0 20px;color:#ECEAE4}
 .ai-connection .mcp-description{font-size:17px;line-height:1.6;margin:0 0 20px;color:#C3C5C8}
 .ai-connection .mcp-consent{font-size:16px;line-height:1.6;color:#E6D5A8;margin:0}
 .ai-connection .mcp-scroll-hint{font-size:13px;color:#A3A5A8;margin-top:24px}
 .plans-section{background:#0C0E11}.plans-intro{font-size:18px;color:#A3A5A8;max-width:45ch;margin:24px 0 32px}
 .plans-grid{display:grid;grid-template-columns:1fr;gap:16px}
 .plan-card{min-width:0;padding:24px;border:1px solid #eceae426;border-radius:20px;background:#14171C}
 .plan-card h3{font-size:23px;margin:0 0 20px}.plan-card .plan-limit{font-family:var(--landing-display);font-size:38px;line-height:1.1;color:#E6D5A8;margin:0 0 16px}
 .plan-card>p:not(.plan-limit),.plan-card li{font-size:17px;line-height:1.6;color:#C3C5C8}
 .plan-card ul{list-style:none;margin:20px 0 0;padding:20px 0 0;border-top:1px solid #eceae414}.plan-card li+li{margin-top:12px}
 .plans-note{font-size:15px;color:#A3A5A8;margin-top:24px}
 .getting-started{gap:40px}.faq h2{font-size:30px}.faq details{padding:16px 0}.faq summary{min-height:48px;font-size:18px;line-height:1.5}.faq p{font-size:17px}
 .closing .button{min-height:52px;width:100%;max-width:360px;font-size:17px}.closing>p{font-size:18px}
 .continuation footer{padding:32px 6vw max(32px,env(safe-area-inset-bottom));align-items:flex-start;flex-direction:column;gap:20px}
 .continuation footer>div{gap:8px;flex-direction:column;font-size:15px}.continuation footer>div a{min-height:44px;display:flex;align-items:center}
 dialog.modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:0}dialog.modal input{font-size:16px}dialog.modal .m-head,dialog.modal .m-body{padding:20px}
}
@media(min-width:600px) and (max-width:900px){
 .plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card:last-child{grid-column:1 / -1}
 .chapter-services,.audience-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .copy{width:70%;bottom:80px}.scene canvas{mask-image:linear-gradient(90deg,transparent,#000 70%)}
 .ai-connection{padding-top:220px;min-height:760px}.mcp-copy{max-width:480px}
}
@media(max-height:640px) and (max-width:900px){
 .story{height:auto}.stage{position:relative;height:auto;min-height:720px}
 .motion-ready .scroll-story{height:auto;padding-block:48px}.story-pin{position:relative;height:auto;gap:24px}
 .stage-slides{display:flex;flex-direction:column;gap:32px}.stage-slides>.stage-slide{position:relative;opacity:1;visibility:visible;transform:none}
 .stage-markers{display:none}
}
@media(hover:none){.brand:hover .vowel{width:.56em;opacity:1;transform:none}.tool-choice:active .tool-art{background:color-mix(in srgb,var(--tool-color) 17%,#0d1516)}}
@keyframes mobile-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce) and (max-width:900px){
 .story,.motion-ready .scroll-story{height:auto}.stage{position:relative}
 .motion-ready .intro:not(.is-revealed) h2,.motion-ready .intro:not(.is-revealed) .text-link{opacity:1;transform:none}
 .intro h2,.intro .text-link,header nav[data-open=true]{transition:none;animation:none}
 .accordion-band.mobile-current{transform:none}.mcp-render .mcp-on{opacity:1}
}

/* Native mobile captures replace wide screenshots; desktop keeps its own sources. */
.product-screen picture{display:contents}.plan-controls{display:none}
@media(max-width:900px){
 .assembly-piece{display:none}.assembly-canvas .assembly-base{opacity:1}
 .screen-track:empty{display:none}
 .screen-track .product-screen{width:min(78vw,320px);align-self:start}
 .screen-track .product-screen img{width:100%;aspect-ratio:390/844;object-fit:cover;object-position:top;border-radius:22px}
 .chapter-practice .product-screen{width:min(100%,360px);max-width:360px;margin:32px auto 0}
 .chapter-practice .product-screen img{width:100%;height:auto;border-radius:22px}
 .plans-grid{position:relative;display:flex;align-items:stretch;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:6vw;scrollbar-width:thin;scrollbar-color:#766a50 #14171C;margin-inline:-6vw;padding:4px 6vw 16px}
 .plan-card{flex:0 0 calc(100% - 24px);max-width:390px;scroll-snap-align:start;scroll-snap-stop:always}
 .plan-card:last-child{grid-column:auto}.plan-card.is-current{border-color:#e6d5a866}
 .plan-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:16px}
 .plan-controls button{width:48px;height:48px;border:1px solid #ffffff40;border-radius:50%;display:grid;place-items:center;background:transparent;color:#E6D5A8;cursor:pointer}
 .plan-controls button:disabled{opacity:.35;cursor:default}.plan-controls button:active:not(:disabled){background:#191D23}
 .plan-controls svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .plan-controls span{min-width:48px;text-align:center;font-size:15px;color:#A3A5A8;font-variant-numeric:tabular-nums}
}

.mcp-render picture{display:contents}

/* The intro follows the hero on phones; the only product screenshot stays in the practice section. */
@media(max-width:900px){
 .screen-film{display:none}
 .accordion-band.mobile-current{transform:none}
 .mobile-mcp-scene{position:relative;width:calc(100% / .88);margin:40px calc((100% - 100% / .88) / 2) -48px;height:165svh;min-height:calc(780px + 65svh)}
 .mobile-mcp-scene .ai-connection{position:sticky;top:0;width:100%;height:100svh;min-height:780px;margin:0;opacity:1;transform:none;transition:none}
 .mobile-mcp-scene .mcp-render .mcp-on{opacity:var(--mobile-power,0);clip-path:inset(0 calc((1 - var(--mobile-power,0))*100%) 0 0)}
 .mobile-mcp-scene .mcp-copy{transition:opacity .4s ease-out,transform .5s cubic-bezier(.16,1,.3,1)}
 .mobile-mcp-scene .ai-connection:not(.is-revealed) .mcp-copy{opacity:0;transform:translateY(16px)}
}
@media(max-width:900px) and (max-height:699px){
 .mobile-mcp-scene{height:auto;min-height:0}
 .mobile-mcp-scene .ai-connection{position:relative;height:auto}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){
 .mobile-mcp-scene{height:auto;min-height:0}
 .mobile-mcp-scene .ai-connection{position:relative;height:auto}
 .mobile-mcp-scene .mcp-render .mcp-on{opacity:1;clip-path:none}
 .mobile-mcp-scene .mcp-copy,.mobile-mcp-scene .ai-connection:not(.is-revealed) .mcp-copy{opacity:1;transform:none;transition:none}
}
