/* Explicit foreground colours: paper cards must never inherit the dark section's ink. */
.price-grid article{color:#173b35;--paper:#173b35;--accent:#335e54;box-shadow:0 8px 30px #061d1810}
.price-grid :is(h4,strong,li,a,.studio-kicker){color:#173b35}.price-grid p,.price-grid .studio-fine{color:#40574e;opacity:1}.price-grid .studio-link{border-color:#496358;min-height:44px}.price-heading>p{color:#d4ded4}.price-heading h3{font-size:28px}.price-grid ul{list-style:disc!important}.plan-tabs button{opacity:1;color:#c6d2c7}.plan-tabs button[aria-selected=true]{color:#fff7df}.studio-plans>.studio-fine,.price-guide>.studio-fine{color:#cfdbd0;opacity:1;line-height:1.8!important}.studio-fine{opacity:1}.studio-block:not(.studio-plans) .studio-kicker{opacity:1}
.idea-summary,.more-worlds{color:#193a36;--paper:#eeeade;--ink:#193a36}.summary-detail :is(dt,dd,.save-note){color:#284b40;opacity:1}.summary-detail .download-button{color:#f3f2e7}.summary-detail .download-button:disabled{opacity:.65}.price-custom p,.infra-note p{color:#d4ded4}.service-tabs button[aria-selected=false]{color:#4e6256}
/* Long reference sections unfold on request. Deep links open the intended panel. */
.journey-disclosure{width:100%;border-top:1px solid currentColor;border-bottom:1px solid #29493c40;padding:0;color:inherit}
.journey-disclosure>summary{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px 25px;list-style:none;cursor:pointer;padding:25px 45px 25px 0;min-height:70px;text-align:left}
.journey-disclosure>summary::-webkit-details-marker{display:none}.journey-disclosure>summary>span{font-size:clamp(19px,2vw,28px);font-weight:400;letter-spacing:-.025em}.journey-disclosure>summary>small{font-size:12px;line-height:1.6;max-width:430px}.journey-disclosure>summary>b{position:absolute;right:5px;top:50%;transform:translateY(-50%);font:300 26px/1 Arial;transition:transform .25s}.journey-disclosure[open]>summary>b{transform:translateY(-50%) rotate(45deg)}.journey-disclosure>summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}.disclosure-content{padding:24px 0 10px}
#examples.business-directory{display:block;padding-top:35px;padding-bottom:35px}#services.studio-pad{padding-top:40px;padding-bottom:65px}#services .studio-heading{margin-top:12px}#services .studio-heading h2{font-size:clamp(36px,4vw,60px)}#catalogDisclosure .catalog-heading{margin:12px 0 28px}#catalogDisclosure .catalog-heading h2{font-size:40px}
#ideaDetailsDisclosure{margin-top:35px;border-color:#d5dfbf60}#ideaDetailsDisclosure>summary>span{font-size:15px}#ideaDetailsDisclosure>summary>small{font-size:11px;color:#d5dec8}#ideaDetailsDisclosure .idea-details{margin-top:0}
#portalDisclosure{grid-column:1/-1;margin-top:0}#portalDisclosure .portal-invite{margin-top:0;border:0;padding:10px 0 25px}.studio-process{gap:45px 8vw;padding-bottom:65px}.process-head h2{font-size:clamp(32px,3.3vw,48px)}
#planDetailsDisclosure{margin:24px 0 35px;border-color:#d2dece60}#planDetailsDisclosure>summary>span{font-size:18px}#planDetailsDisclosure .plan-panel{margin:0;padding:12px 0;min-height:0}#planDetailsDisclosure .plan-price{display:none}#planDetailsDisclosure .plan-panel h3{font-size:34px}.price-guide{margin-top:0;padding-top:24px;border:0}.price-heading h3{display:none}.price-grid{margin-top:24px}.plans-head h2{font-size:clamp(40px,4.8vw,68px)}.plan-tabs{margin-top:30px}.studio-plans{padding-top:75px;padding-bottom:75px}
#startIdea{color:var(--accent);font-weight:500}#quickExamples{align-items:center;flex-wrap:wrap}#quickExamples #heroDirectory{font-size:9px;padding:8px 4px;border-bottom:1px solid #e0d6b8a0;margin-left:6px}.route-hint{font:11px/1.8 Consolas,monospace;color:#d7e2c9;margin-top:28px}.journey-next{display:inline-flex;align-items:center;margin-top:24px;padding:13px 0;border-bottom:1px solid #e4dec08c;font-size:12px}
body[data-world=home] #heroPromise{display:none}.formation-tools{margin-top:13px}.formation-tools>span{flex-basis:auto}#technologyDialog .technology-fine{opacity:.85}.studio-contact .contact-privacy{opacity:1;color:#d2ded4}.studio-contact input::placeholder,.studio-contact textarea::placeholder{color:#bfcfc4}
.photo-world{transition:opacity 1.15s cubic-bezier(.2,.65,.3,1)}body.paused .photo-world{transition:none}body.changing-world .world-veil{opacity:0}
@media(max-width:700px){.journey-disclosure>summary{padding:22px 30px 22px 0;gap:8px}.journey-disclosure>summary>small{flex-basis:100%}.journey-disclosure>summary>span{font-size:21px}#ideaDetailsDisclosure>summary>span,#planDetailsDisclosure>summary>span{font-size:16px}#services.studio-pad{padding-top:25px;padding-bottom:45px}.studio-process{padding-bottom:45px}.studio-plans{padding-top:50px;padding-bottom:50px}.price-grid article{padding:27px 24px}.price-grid h4{font-size:28px}.price-grid .price-amount{font-size:46px}.price-grid :is(p,li,a){font-size:13px}.price-grid .studio-fine{font-size:12px!important}.price-guide>.studio-fine{font-size:12px!important}#quickExamples #heroDirectory{font-size:9px;margin-left:0}.formation-tools{gap:5px 14px}.route-hint{font-size:10px}#portalDisclosure{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.photo-world,.journey-disclosure>summary>b{transition:none!important}}

/* A shorter journey, with ordinary scrolling and no forced wheel interception. */
.journey{height:300svh}.journey-copy.appear{animation:none!important;opacity:1;transform:none;filter:none}
@media(max-width:700px){.journey{height:300svh}}

/* A compact, explicit three-step scene; scrolling no longer rewrites the chapter. */
#journey{height:auto!important;scroll-margin-top:0}
#journey .journey-sticky{position:relative;top:auto;height:100svh;min-height:740px;padding:38px 7% 30px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto minmax(0,1fr) auto auto;column-gap:7%;row-gap:22px;overflow:visible;align-items:center}
#journey .section-meta{grid-column:1/-1;grid-row:1}
#journey .journey-copy{position:relative;top:auto;left:auto;right:auto;max-width:none;grid-column:1;grid-row:2;min-width:0}
#journey .journey-copy h2{font-size:clamp(34px,4.2vw,68px);overflow-wrap:anywhere}
#journey .journey-copy p{max-width:410px}
#journey #blueprint{position:relative;top:auto;left:auto;right:auto;bottom:auto!important;width:100%!important;max-width:420px;grid-column:2;grid-row:2;justify-self:end;transform:none}
#journey .discovery{display:none}
#journey .stage-navigation{position:relative;left:auto;right:auto;bottom:auto;grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 30px;align-items:center}
#stageButtons{gap:10px}
#stageButtons button{width:auto;min-width:120px;height:48px;border-radius:2px;display:flex;align-items:center;gap:13px;padding:12px 18px;text-align:left;font-size:12px}
#stageButtons button b{font:10px Consolas,monospace;opacity:.65}
#journey .journey-track{grid-column:1/-1;grid-row:2;width:100%}
#journey .journey-track i{transition:width .3s}
.chapter-actions{display:flex;align-items:center;gap:20px}
.chapter-actions button{min-height:48px;font-size:12px;padding:12px 0;white-space:nowrap}
#stageForward{background:var(--accent);color:#142e2b;padding:14px 24px;border-radius:2px;min-width:160px}
#stageBack:disabled{opacity:.3}
#journey #stageHint{display:block;grid-column:1/-1;font-size:10px;letter-spacing:0;line-height:1.5;opacity:.75}
#journey .visual-note{position:relative;right:auto;bottom:auto;grid-row:4;grid-column:1/-1;text-align:left;max-width:none;line-height:1.6}
body.in-journey .composer,body.in-journey .idea-pocket{opacity:0!important;visibility:hidden;pointer-events:none}
#experienceTitle:focus{outline:none}
footer>.footer-directory{flex:0 0 100%;order:10;margin-top:10px;color:#e5e9dd;border-color:#d7dfcd40}
footer>.footer-directory>summary{padding:18px 32px 18px 0;min-height:48px;gap:8px 24px}
footer>.footer-directory>summary>span{font-size:13px;letter-spacing:0}
footer>.footer-directory>summary>small{font-size:10px;opacity:.7}
footer>.footer-directory .disclosure-content{padding:10px 0 0}
footer #examples{padding:30px;border-radius:4px;font-size:14px;background:#eeeade}
footer #examples .catalog-heading{gap:30px}
footer #examples .catalog-heading h2{font-size:clamp(28px,3vw,40px);max-width:none}
footer #examples .catalog-heading p{font-size:13px}
@media(max-width:1000px){#stageButtons button{min-width:0;padding:12px;gap:9px}.chapter-actions{gap:12px}#stageForward{padding-inline:18px;min-width:135px}}
@media(max-width:700px){
 #journey .journey-sticky{height:auto;min-height:0;padding:32px 7% 40px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto;gap:26px}
 #journey .stage-navigation{grid-column:1;grid-row:2;grid-template-columns:1fr;gap:14px}
 #stageButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 #stageButtons button{min-width:0;width:100%;height:auto;min-height:48px;padding:10px 8px;gap:6px;font-size:10px;flex-wrap:wrap;line-height:1.3;justify-content:center}
 #journey .journey-track{grid-row:2;grid-column:1}
 .chapter-actions{grid-row:3;justify-content:space-between}
 #journey #stageHint{grid-row:4;font-size:10px}
 #stageForward{min-width:155px}
 #journey .journey-copy{grid-column:1;grid-row:3;min-height:230px}
 #journey .journey-copy h2{font-size:clamp(31px,9vw,43px);margin:16px 0;max-width:none}
 #journey .journey-copy p{font-size:13px;max-width:none}
 #journey #blueprint,#journey #blueprint.visible{grid-column:1;grid-row:4;width:min(100%,300px)!important;max-width:none;justify-self:center;display:block!important;position:relative;top:auto;bottom:auto!important;right:auto;min-height:280px}
 #journey .blueprint-image{height:130px}
 #journey .blueprint-services>span{font-size:10px}
 #journey .blueprint-contact{font-size:10px}
 #journey .visual-note{display:block;grid-column:1;grid-row:5;font-size:9px}
 footer>.footer-directory>summary>small{flex-basis:100%;font-size:10px}
 footer #examples{padding:22px 18px}
 footer #examples .catalog-heading h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){#journey .journey-track i{transition:none}}

footer{flex-wrap:wrap}footer>.footer-directory{min-width:0;max-width:100%}

@media(min-width:701px) and (max-height:800px){#journey .journey-sticky{min-height:680px;padding-block:26px;row-gap:16px}#journey .blueprint-image{height:150px}#journey .blueprint-services>span{font-size:10px;padding:8px}#journey .blueprint-contact{padding:12px;font-size:10px}#journey .journey-copy h2{font-size:clamp(32px,4vw,48px)}#journey .journey-copy p{font-size:12px}}

/* The first screen has one primary action: describe your idea. */
body[data-world] .hero{height:auto;min-height:100svh;padding:210px 7% 76px}
body[data-world] .hero-copy{margin-top:22px;max-width:900px}
body[data-world] .hero-copy h1{font-size:clamp(58px,6.5vw,96px);margin:16px 0;line-height:1.02}
body[data-world] .hero-copy h1 em{font-size:.92em;margin-left:4vw;line-height:1.08}
body[data-world] .hero-copy>p{max-width:540px;margin-left:4vw;font-size:14px;line-height:1.65}
body[data-world] .hero-copy #heroPromise{display:none}
.composer-slot{margin-top:30px;max-width:900px}
body:not(.compact) .hero .composer{position:relative;top:auto!important;bottom:auto;left:auto;width:100%;max-width:none;padding:20px 22px 16px;border:1px solid #eeeade7a;border-radius:5px;background:linear-gradient(115deg,#11272cce,#142a2a88);backdrop-filter:blur(12px);box-shadow:0 12px 44px #0002}
body:not(.compact) .hero .composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px #e4d8b530,0 12px 44px #0002}
body:not(.compact) .hero .composer label{font-size:10px;letter-spacing:.11em}
body:not(.compact) .hero .input-row input,body:not(.compact) .hero .business-prompt{font-size:clamp(18px,2.1vw,28px)}
body:not(.compact) .hero .composer-foot>span{font-size:11px;line-height:1.6}
body:not(.compact) .hero #quickExamples button{font-size:11px;min-height:36px}
body.compact .composer-slot{min-height:var(--composer-height,150px)}
body.compact .hero .composer{position:fixed}
body[data-world] .hero .scroll-invitation{bottom:24px;font-size:9px}
body[data-world] header{min-height:180px}
body[data-world] .wordmark .codavela-brand{width:450px}
.site-menu{margin-left:auto;margin-right:32px;position:relative}
.site-menu>summary{display:flex;align-items:center;gap:18px;min-height:44px;padding:10px 3px;cursor:pointer;list-style:none;font-size:13px}
.site-menu>summary::-webkit-details-marker{display:none}
.site-menu>summary>b{font-size:22px;font-weight:400;transition:transform .2s}
.site-menu[open]>summary>b{transform:rotate(45deg)}
body[data-world] .site-menu nav{position:absolute;top:calc(100% + 12px);right:0;left:auto;display:flex;flex-direction:column;gap:0;min-width:230px;padding:12px 20px;background:#102e2ff5;border:1px solid #e4d8b55c;border-radius:5px;box-shadow:0 20px 50px #0004;font-size:14px}
body[data-world] .site-menu:not([open]) nav{display:none}
body[data-world] .site-menu nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid #eeeade26;padding:8px 2px}
body[data-world] .site-menu nav a:last-child{border:0}
.proposal-links{display:flex;flex-wrap:wrap;gap:12px 25px;margin:16px 0 28px}
.proposal-links a{font-size:13px;padding:10px 0;min-height:44px;border-bottom:1px solid #193a3660}
#services .portfolio-link{margin:28px 0 0;color:#193a36;border-color:#193a3660;font-size:15px}
body[data-world] #services .formation-tools{display:flex;flex-wrap:wrap;gap:14px 25px;margin:22px 0 0;color:#284b40}
#services .formation-tools>span{opacity:1;color:#486055;font-size:11px}
#services #openTechnologies{font-size:13px;color:#284b40;border-color:#284b4070;min-height:44px}
footer #replayFormation{margin-left:0;font-size:11px;min-height:44px}
@media(min-width:701px) and (max-height:800px){
 body[data-world] .hero{padding-top:186px}
 body[data-world] header{min-height:160px}
 body[data-world] .wordmark .codavela-brand{width:410px}
 body[data-world] .hero-copy{margin-top:18px}
 body[data-world] .hero-copy h1{font-size:clamp(54px,5.5vw,76px);margin:12px 0}
 .composer-slot{margin-top:22px}
}
@media(max-width:700px){
 body[data-world] header{height:180px;min-height:0}
 body[data-world] .wordmark .codavela-brand{width:min(350px,95vw)}
 body[data-world] .header-tools{top:132px;right:7%}
 .site-menu{position:absolute;top:132px;left:7%;margin:0}
 .site-menu>summary{font-size:12px;gap:12px}
 body[data-world] .site-menu nav{left:0;right:auto;top:46px;min-width:230px;max-width:86vw}
 body[data-world] .hero{padding:200px 7% 70px;min-height:100svh}
 body[data-world] .hero-copy{margin-top:18px}
 body[data-world] .hero-copy h1{font-size:clamp(40px,12vw,62px);margin:14px 0;line-height:1.02}
 body[data-world] .hero-copy h1 em{font-size:1em;margin-left:0;line-height:1.06}
 body[data-world] .hero-copy>p{font-size:12px;line-height:1.65;margin-left:0;max-width:320px}
 .composer-slot{margin-top:24px}
 body:not(.compact) .hero .composer{padding:16px 14px 13px;backdrop-filter:blur(7px)}
 body:not(.compact) .hero .composer label{font-size:8px;letter-spacing:.07em}
 body:not(.compact) .hero .input-row input,body:not(.compact) .hero .business-prompt{font-size:16px}
 body:not(.compact) .hero .composer-foot>span{font-size:10px;min-height:0;max-width:none}
 body:not(.compact) .hero #quickExamples{margin-top:12px;gap:6px}
 body:not(.compact) .hero #quickExamples button{font-size:10px;padding:7px 10px}
 .proposal-links{gap:8px 20px}
 #services .formation-tools>span{font-size:10px;line-height:1.7}
}
@media(prefers-reduced-motion:reduce){.site-menu>summary>b{transition:none}}
