/* v9: keep the v7 forest/orange direction; concentrate craft on the story. */
:root{--tint:#F5F9F6;--ease-out:cubic-bezier(.22,1,.36,1)}
.site-header{border-bottom-color:var(--line);transition:box-shadow .22s ease}
.site-header.is-scrolled{box-shadow:0 3px 0 rgba(8,62,42,.08)}
.site-header:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--green);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.primary-navigation>a{position:relative;transition:border-color .2s ease}
.chapter-menu a{position:relative;border-radius:0 0 12px 12px;transition:background .2s ease,box-shadow .2s ease}
.chapter-menu a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
.chapter-menu a:hover:after,.chapter-menu a:focus-visible:after{transform:scaleX(1)}
.hero.wrap{border-width:2px;box-shadow:0 8px 0 var(--tint);overflow:hidden;isolation:isolate}
.hero.wrap:after{content:"";position:absolute;z-index:-1;right:-60px;top:-60px;width:330px;height:330px;background:url("assets/garden-contours.svg") center/contain no-repeat;opacity:.7;pointer-events:none}
.hero-copy,.hero-bottom,.hero-foot{position:relative;z-index:2}
.hero .marked{background-repeat:no-repeat;background-size:100% 100%}
.hero-canvas{--scene-x:0px;--scene-y:0px}
.hero-scene,.hero-visual .mascot{transform:translate(var(--scene-x),var(--scene-y));transition:transform .45s var(--ease-out)}
.hero-canvas:before{background:radial-gradient(circle at 38% 33%,#FFCE16 0 70%,#FF7A00 100%);box-shadow:0 0 0 10px #FFFFFF,0 0 0 11px var(--line)}
.hero-signal{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.hero-signal path{stroke:var(--orange);fill:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.hero-signal .hero-frame{stroke-width:3}
.hero-foot{border-top-color:var(--line)}
.button{position:relative;isolation:isolate;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),background .2s ease}
.button span{display:inline-block;transition:transform .25s var(--ease-out)}
.button:hover span,.button:focus-visible span{transform:translate(3px,-3px)}
.hero-actions .button:hover span,.hero-actions .button:focus-visible span{transform:translateY(4px)}
.button.outline:hover{background:var(--gold)}
.text-link{text-decoration-thickness:1px;transition:text-decoration-color .2s ease}
.text-link:hover{ text-decoration-thickness:2px;text-underline-offset:7px}
.topic-poster{border-radius:28px 9px 44px 9px}
.topic-poster .eyebrow{letter-spacing:.08em}
.poster-service .eyebrow{border-left:3px solid var(--orange);padding-left:12px}
.poster-article .eyebrow{border-left:3px solid var(--gold);padding-left:12px}
.poster-tools .eyebrow,.poster-roadmap .eyebrow,.poster-pricing .eyebrow{border-left:3px solid var(--green);padding-left:12px}
.feature{box-shadow:0 3px 0 var(--green);border-radius:21px}
.feature-icon{color:var(--ink)}
.phone-stage,.benefit-art{background-color:var(--tint);background-image:linear-gradient(rgba(189,235,203,.36) 1px,transparent 1px),linear-gradient(90deg,rgba(189,235,203,.36) 1px,transparent 1px);background-size:28px 28px}
.phone-stage{box-shadow:inset 0 0 0 1px var(--line)}
.field-note{overflow:hidden}
.field-note:after{content:"";position:absolute;right:-105px;bottom:-115px;width:550px;height:550px;background:url("assets/garden-contours.svg") center/contain no-repeat;opacity:.14;pointer-events:none}
.field-inner{position:relative;z-index:1}
.field-note:before{width:68px;height:8px;top:0;border-radius:0 0 5px 5px;transform:none;left:calc(50% - 34px)}
.poster-service:before{background:var(--tint);box-shadow:0 0 0 1px var(--line)}
.poster-article:before{background:rgba(189,235,203,.08);box-shadow:0 0 0 1px rgba(189,235,203,.25)}
.example-grid{position:relative}
.note-sheet{box-shadow:4px 5px 0 var(--gold)}
.example-result{border:1px solid var(--green);box-shadow:7px 7px 0 var(--gold);overflow:hidden}
.sample-tabs button{transition:background .18s ease,box-shadow .18s ease}
.sample-tabs button:focus-visible{outline-offset:-4px}
.sample-body{border-left:4px solid var(--orange)}
.article-flow{position:relative}
.article-flow:before{content:"";position:absolute;left:10%;right:10%;top:110px;border-top:2px dashed var(--line);pointer-events:none}
.article-flow li{position:relative;z-index:1}
.flow-picture{box-shadow:0 4px 0 var(--tint)}
.flow-number{background:var(--orange);color:var(--ink);border:1px solid var(--green)}
.flow-picture:after{transition:transform .3s var(--ease-out)}
.benefit-art{position:relative;isolation:isolate;box-shadow:inset 0 0 0 1px var(--line),0 5px 0 var(--tint)}
.benefit-art:after{content:"";position:absolute;right:13px;top:13px;width:18px;height:18px;border-top:2px solid var(--green);border-right:2px solid var(--green);border-radius:0 4px 0 0;pointer-events:none}
.benefit-number b{color:var(--green);font-variant-numeric:tabular-nums}
.benefit-copy h3{text-wrap:balance}
.poster-tools{box-shadow:0 6px 0 var(--tint)}
.tools-legend>span{border-color:var(--green)}
.use-label{border-left:3px solid var(--orange);padding-left:12px}
.bundle{background:var(--tint);border-block:1px solid var(--line)}
.bundle-tile{box-shadow:0 3px 0 rgba(8,62,42,.04)}
.poster-pricing{position:relative;overflow:hidden}
.poster-pricing:after{content:"";position:absolute;right:4%;top:-80px;width:330px;height:330px;background:url("assets/garden-contours.svg") center/contain no-repeat;pointer-events:none;opacity:.8}
.plan-comparison{box-shadow:0 6px 0 var(--tint)}
.plan-comparison tbody tr:hover th,.plan-comparison tbody tr:hover td:not(.monthly-cell){background:var(--tint)}
.materials-panel{box-shadow:0 4px 0 var(--tint)}
.faq-list details[open]{background:var(--tint);box-shadow:12px 0 0 var(--tint),-12px 0 0 var(--tint)}
.faq-list summary{padding-block:2px}
.consult{position:relative;overflow:hidden}
.consult:before{content:"";position:absolute;left:-110px;bottom:-130px;width:440px;height:440px;background:url("assets/garden-contours.svg") center/contain no-repeat;pointer-events:none;opacity:.11}
.consult-inner{position:relative;z-index:1}
.consult-mascot{box-shadow:8px 8px 0 rgba(189,235,203,.2)}
.motion-ready .reveal{transition:opacity .5s ease,transform .65s var(--ease-out)}
.motion-ready .reveal:not(.visible){transform:translateY(12px)}

/* Every automatic effect finishes once; decorative layers never capture input. */
.craft-motion [data-craft="hero"].is-crafted .hero-copy{animation:craft-arrive .75s var(--ease-out) both}
.craft-motion [data-craft="hero"].is-crafted .marked{animation:craft-mark .8s var(--ease-out) .28s both}
.craft-motion [data-craft="hero"].is-crafted .hero-signal .hero-trace{stroke-dasharray:1;animation:craft-trace .85s var(--ease-out) .42s both}
.craft-motion [data-craft="hero"].is-crafted .hero-signal .hero-frame{stroke-dasharray:1;animation:craft-trace .9s var(--ease-out) .62s both}
.craft-motion [data-craft="example"].is-crafted .source-photos figure{animation:craft-arrive .65s var(--ease-out) both}
.craft-motion [data-craft="example"].is-crafted .source-photos figure:nth-child(2){animation-delay:.12s}
.craft-motion [data-craft="example"].is-crafted .note-sheet{animation:craft-arrive .7s var(--ease-out) .18s both}
.craft-motion [data-craft="result"].is-crafted{animation:craft-arrive .7s var(--ease-out) both}
.craft-motion [data-craft="flow"].is-crafted .flow-picture{animation:craft-arrive .65s var(--ease-out) both}
.craft-motion [data-craft="flow"].is-crafted li:nth-child(2) .flow-picture{animation-delay:.14s}
.craft-motion [data-craft="flow"].is-crafted li:nth-child(3) .flow-picture{animation-delay:.28s}
.craft-motion [data-craft="tool"].is-crafted .benefit-art{animation:craft-arrive .75s var(--ease-out) both}
.craft-motion [data-craft="tool"].is-crafted .benefit-copy{animation:craft-arrive .8s var(--ease-out) .14s both}
@keyframes craft-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes craft-mark{from{background-size:0% 100%}to{background-size:100% 100%}}
@keyframes craft-trace{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@media(max-width:980px){.poster-pricing:after{right:-75px;width:250px;opacity:.5}.hero.wrap:after{width:245px;height:245px}}
@media(max-width:760px){.hero.wrap{border-width:1px;box-shadow:0 5px 0 var(--tint)}.hero.wrap:after{right:-75px;top:-85px;width:220px;height:220px;opacity:.65}.hero-canvas:before{box-shadow:0 0 0 7px #FFFFFF,0 0 0 8px var(--line)}.hero-signal .hero-frame{stroke-width:4}.topic-poster{border-radius:23px 7px 32px 7px}.phone-stage,.benefit-art{background-size:22px 22px}.field-note:after{width:330px;height:330px;opacity:.1;bottom:-80px;right:-110px}.article-flow:before{display:none}.sample-body{border-left-width:3px}.poster-pricing:after{width:205px;height:205px;top:-65px;right:-65px;opacity:.45}.consult:before{width:320px;height:320px;left:-130px;bottom:-75px}.consult-mascot{box-shadow:5px 5px 0 rgba(189,235,203,.2)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-scene,.hero-visual .mascot{transform:none!important}.site-header:after{display:none}.hero-signal path{stroke-dasharray:none;stroke-dashoffset:0}.reveal{opacity:1!important;transform:none!important}.button span{transform:none!important}}

.hero-art-stage{position:relative}
.craft-motion [data-craft="article"].is-crafted .art-input{animation:craft-arrive .65s var(--ease-out) both}
.craft-motion [data-craft="article"].is-crafted .art-output{animation:craft-arrive .75s var(--ease-out) .22s both}
.poster-pricing{border-radius:0;overflow:visible}
.poster-pricing:after{right:0;top:0;width:40%;height:100%;max-height:260px}
.consult .other-industries{max-width:590px;font-size:13px;line-height:1.9;margin-top:22px;padding-left:14px;border-left:2px solid var(--gold);color:#FFFFFF}
.other-industries strong{font-size:14px}
@media(max-width:760px){.consult .other-industries{font-size:11px;line-height:1.95;margin-top:20px;padding-left:12px}.other-industries strong{font-size:12px}}
@media(max-width:760px){.hero-canvas:before{top:auto;bottom:22px}}
