@layer reset, tokens, base, blocks, motion, theme, solutions, utils;

/* css/00-reset.css */
@layer reset {
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body, h1, h2, h3, p { margin: 0; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { border: 0; }
img, svg { display: block; }
a { color: inherit; text-decoration: none; }
}

/* css/01-tokens.css */
@layer tokens {
:root {
  color-scheme:dark;
  --canvas:#0B1F17;--deep:#0F261C;--surface:#12291F;--surface-2:#143226;--moss:#173A2B;
  --line:#245040;--line-strong:#2F5A45;--hypha:#2FBF71;--spore:#B8F25B;--spore-hover:#D6FF8F;
  --on-spore:#0B1F17;--ink:#E6F2E8;--ink-soft:#B5CDBD;--ink-mute:#9DB8A6;--ink-faint:#7FA08C;
  --error:#FF9B8A;--shadow-card:0 28px 70px rgba(0,0,0,.24);--r-card:24px;--r-btn:999px;--r-chip:999px;
  --font-display:"Literata","Literata Fallback",Georgia,serif;--font-text:"Onest","Onest Fallback",system-ui,sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1);--container:1240px;--gutter:clamp(16px,4vw,40px);
  --focus-width:2px;--focus-offset:3px;--z-header:20;
}
}

/* css/02-base.css */
@layer base {
@font-face{font-family:"Onest";src:url("../assets/fonts/onest/Onest-Variable.subset.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Literata";src:url("../assets/fonts/literata/Literata-Variable.subset.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Literata";src:url("../assets/fonts/literata-italic/Literata-Italic-Variable.subset.woff2") format("woff2");font-style:italic;font-weight:400 500;font-display:swap}
@font-face{font-family:"Onest Fallback";src:local("Segoe UI"),local("system-ui");size-adjust:105.4%;ascent-override:92%;descent-override:28.9%;line-gap-override:0%}
@font-face{font-family:"Literata Fallback";src:local("Georgia");size-adjust:98%;ascent-override:96%;descent-override:25%;line-gap-override:0%}
html{color-scheme:dark;background:var(--canvas);scroll-behavior:smooth}
body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background:var(--canvas);font-family:var(--font-text);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}button,a{touch-action:manipulation}
a{color:inherit}img,svg{max-width:100%}
:focus-visible{outline:var(--focus-width) solid var(--spore);outline-offset:var(--focus-offset)}
::selection{color:var(--on-spore);background:var(--spore)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;left:12px;top:12px;z-index:100;padding:9px 14px;border-radius:10px;color:var(--on-spore);background:var(--spore);transform:translateY(-200%);transition:transform .2s var(--ease-out)}
.skip-link:focus{transform:none}
}

/* css/04-blocks/15-micelij.css */
@layer blocks {
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.section{padding:96px 0}.section-tag{display:inline-flex;padding:6px 13px;border:1px solid var(--line);border-radius:var(--r-chip);background:var(--moss);color:var(--ink-soft);font-size:13px;font-weight:500}.section-title{max-width:850px;margin:14px 0 0;font:700 clamp(36px,4vw,52px)/1.08 var(--font-display);letter-spacing:-.035em}.section-copy{color:var(--ink-soft)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid transparent;border-radius:var(--r-btn);text-decoration:none;font-weight:650;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button--primary{color:var(--on-spore);background:var(--spore)}.button--primary:hover{background:var(--spore-hover)}.button--outline{color:var(--ink);background:transparent;border-color:var(--line-strong)}.button--outline:hover{border-color:var(--spore);color:var(--spore)}
.site-header{position:sticky;top:0;z-index:var(--z-header);height:76px;border-bottom:1px solid rgba(47,90,69,.55);background:rgba(11,31,23,.85);backdrop-filter:blur(12px)}.site-header__inner{height:100%;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:700 17px/1 var(--font-display)}.brand__mark{width:32px;height:32px;display:grid;place-items:center}.brand__mark svg{width:32px;height:32px}.site-nav{display:flex;gap:28px;margin-left:auto}.site-nav a{color:var(--ink-soft);text-decoration:none;font-size:14.5px}.site-nav a:hover{color:var(--spore)}.site-nav a:first-child{color:var(--ink);font-weight:600}.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--ink);font-size:20px}
.hero{position:relative;overflow:hidden;background:var(--canvas)}.hero__main{position:relative;min-height:824px;display:grid;grid-template-columns:minmax(420px,.83fr) minmax(650px,1.17fr);align-items:center}.hero__copy{position:relative;z-index:4;padding:70px 0 92px}.hero__badge{display:inline-flex;align-items:center;gap:9px;color:var(--ink-mute);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--spore);box-shadow:0 0 16px rgba(184,242,91,.65);animation:blink 1.8s ease-in-out infinite}.hero h1{max-width:680px;margin:24px 0 0;font:700 clamp(52px,5vw,76px)/1.03 var(--font-display);letter-spacing:-.045em}.hero h1 em{color:var(--spore);font-weight:400}.hero__lede{max-width:565px;margin:25px 0 0;color:var(--ink-soft);font-size:19px;line-height:1.6}.hero__actions{display:flex;gap:12px;margin-top:30px}.hero__checks{display:flex;gap:26px;margin-top:29px;color:var(--ink-mute);font-size:14px}.hero__checks span{display:flex;align-items:center;gap:9px}.hero__checks span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--spore);box-shadow:0 0 10px rgba(184,242,91,.5)}
.mycelium{position:absolute;z-index:1;inset:0 0 0 36%;pointer-events:none}.mycelium:before{content:"";position:absolute;left:54%;top:52%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(47,191,113,.12),transparent 68%);transform:translate(-50%,-50%)}.mycelium svg{width:100%;height:100%;overflow:visible}.mycelium__path{fill:none;stroke:var(--hypha);stroke-linecap:round;stroke-dasharray:var(--path-length,900);stroke-dashoffset:var(--path-length,900);opacity:var(--path-opacity,.34)}.mycelium__path.is-main{stroke-width:1.8;opacity:.65}.mycelium__path.is-active{stroke:var(--spore);stroke-width:3;opacity:1}.mycelium__flow{fill:none;stroke:var(--spore);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 16;opacity:0;animation:flow 4.5s linear infinite}.mycelium.is-grown .mycelium__flow{opacity:.55}.mycelium__flow.is-active{opacity:1;filter:drop-shadow(0 0 4px var(--spore))}.mycelium__core-halo{fill:rgba(47,191,113,.05);stroke:rgba(184,242,91,.16);transform-origin:1020px 470px;animation:corePulse 3.6s ease-in-out infinite}.mycelium__core{fill:var(--surface);stroke:var(--spore);stroke-width:2;filter:drop-shadow(0 0 26px rgba(184,242,91,.18))}.mycelium__core-title{fill:var(--ink);font:500 34px var(--font-display);text-anchor:middle}.mycelium__core-copy{fill:var(--ink-soft);font:500 14px var(--font-text);text-anchor:middle}.mycelium__node{position:absolute;z-index:3;min-width:150px;min-height:48px;padding:0 17px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);background:var(--surface);font-weight:600;pointer-events:auto;white-space:nowrap;transition:border-color .2s,background .2s,color .2s,box-shadow .2s,opacity .3s}.mycelium__node:before{content:"";width:8px;height:8px;display:inline-block;margin-right:9px;border-radius:50%;background:var(--hypha)}.mycelium__node[data-node="0"]{left:35%;top:24%}.mycelium__node[data-node="1"]{left:72%;top:22%}.mycelium__node[data-node="2"]{left:37%;top:72%}.mycelium__node[data-node="3"]{left:73%;top:73%}.mycelium__node.is-active{border-color:var(--spore);background:#1B4533;color:var(--spore);box-shadow:0 0 0 8px rgba(184,242,91,.08)}.mycelium__node.is-active:before{background:var(--spore);box-shadow:0 0 10px var(--spore)}.mycelium__restart{position:absolute;z-index:3;left:53%;top:69%;width:44px;height:44px;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-soft);background:var(--surface);font-size:20px;pointer-events:auto}.mycelium__spore{fill:var(--spore);opacity:0;animation:sporeRise 5.5s ease-in infinite}.mycelium__spore:nth-child(2n){animation-delay:-2.1s}.mycelium__spore:nth-child(3n){animation-delay:-3.6s}
.integrations{position:relative;z-index:3;border-block:1px solid var(--line);background:var(--deep)}.integrations__inner{min-height:104px;display:flex;align-items:center;gap:36px}.integrations__label{flex:none;color:var(--ink-soft);font-size:13px}.integrations__chips{position:relative;display:flex;flex-wrap:wrap;gap:9px}.integrations__chips:before{content:"";position:absolute;left:8px;right:8px;top:50%;height:1px;background:var(--hypha);opacity:.45}.integrations__chips span{position:relative;height:38px;display:flex;align-items:center;padding:0 15px;border:1px solid var(--line);border-radius:999px;background:var(--moss);color:var(--ink-soft);font-size:13px;font-weight:550}
.services{position:relative;margin-top:36px;padding:34px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--deep)}.services:before{content:"";position:absolute;left:35px;right:35px;top:133px;height:1px;background:var(--hypha);opacity:.45}.services__head{display:flex;justify-content:space-between;align-items:end}.services__head h3{margin:9px 0 0;font:600 30px/1.15 var(--font-display)}.service-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.service-item{display:flex;gap:13px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.service-item b{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--spore);color:var(--on-spore);font-size:11px}.service-item strong{display:block;font-size:14.5px}.service-item small{display:block;margin-top:4px;color:var(--ink-soft);font-size:12.5px}
.day{background:#07180F;transition:background-color .8s var(--ease-out)}.day__head{display:flex;justify-content:space-between;align-items:end}.day__head p{width:440px;margin:0;color:var(--ink-soft)}.day-tabs{position:relative;margin-top:46px;display:flex;justify-content:space-between}.day-tabs:before{content:"";position:absolute;left:60px;right:60px;top:14px;height:2px;background:var(--line-strong)}.day-progress{position:absolute;left:60px;top:14px;height:2px;background:var(--spore);transition:width .6s var(--ease-out)}.day-tabs button{z-index:1;width:120px;min-height:70px;border:0;background:none;color:var(--ink-mute);display:flex;flex-direction:column;align-items:center;gap:8px}.day-tabs button i{width:30px;height:30px;border:2px solid var(--line-strong);border-radius:50%;background:var(--deep)}.day-tabs button[aria-selected=true]{color:var(--spore)}.day-tabs button[aria-selected=true] i{border-color:var(--spore);background:var(--spore);box-shadow:0 0 0 8px rgba(184,242,91,.1)}.day-tabs time{font-weight:650}.day-tabs span{font-size:13px}.day-card{display:grid;grid-template-columns:250px 1fr 300px;gap:42px;margin-top:36px;padding:40px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card)}.day-card__time{font:500 82px/.95 var(--font-display);letter-spacing:-.05em;color:var(--spore)}.day-card__phase{margin-top:10px;color:var(--ink-faint);font-size:12px;letter-spacing:.1em}.day-card h3{margin:0;font:600 28px/1.15 var(--font-display)}.day-card__event{font-size:17px;color:var(--ink-soft)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip-row span{padding:8px 13px;border-radius:999px;background:var(--moss);color:var(--ink-soft);font-size:13px}.channels{color:var(--ink-faint);font-size:11px;letter-spacing:.05em}.day-card__result{padding:26px;border-radius:20px;background:var(--spore);color:var(--on-spore)}.result-box{margin:14px 0 20px;font:500 20px/1.35 var(--font-display)}.day-card__result .button{color:var(--ink);background:var(--canvas)}
.lab{background:var(--deep)}.lab__head{display:flex;justify-content:space-between;align-items:end}.lab__head p{width:440px;margin:0;color:var(--ink-soft)}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.lab-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);cursor:pointer}.lab-demo{height:180px;padding:24px;box-sizing:border-box;background:var(--moss)}.lab-card__body{padding:22px}.lab-label{color:var(--spore);font-size:10px;letter-spacing:.09em}.lab-card h3{margin:9px 0;font:600 20px/1.2 var(--font-display)}.lab-card p{margin:0;color:var(--ink-soft);font-size:13.5px}.mini-chat{display:flex;flex-direction:column;gap:8px}.mini-chat span{padding:8px 12px;border-radius:12px;font-size:12px}.mini-chat span:nth-child(odd){align-self:flex-end;background:var(--surface-2)}.mini-chat span:nth-child(even){align-self:flex-start;color:var(--on-spore);background:var(--spore)}.content-demo{height:180px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.content-demo i{border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.content-demo i:first-child{background:var(--hypha)}.content-demo i:last-child{background:var(--spore)}.content-demo__paper{display:flex;flex-direction:column;justify-content:flex-end;gap:5px;padding:10px}.content-demo__paper span{height:5px;border-radius:3px;background:var(--ink)}.content-demo__paper span+span{width:60%;background:var(--ink-mute)}.bars24{height:100%;display:flex;align-items:flex-end;gap:4px}.bars24 i{flex:1;border-radius:3px 3px 0 0;background:var(--line-strong)}.bars24 i.off{background:var(--spore)}
.calculator{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:30px;padding:38px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.calculator h3{font:600 28px/1.15 var(--font-display)!important}.calc-fields{display:grid;gap:4px}.stepper{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.stepper label{font-size:15px}.stepper__ctrl{display:flex;align-items:center;gap:8px}.stepper button{width:44px;height:44px;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-2);color:var(--ink)}.stepper input{width:105px;border:0;background:transparent;text-align:center;color:var(--ink);font-weight:600}.calc-result{position:relative;overflow:hidden;padding:32px;border-radius:20px;background:var(--canvas)}.calc-result:after{content:"";position:absolute;right:-80px;bottom:-70px;width:250px;height:250px;border:1px solid var(--hypha);border-radius:50%;opacity:.25}.calc-result>*{position:relative;z-index:1}.calc-result output{display:block;margin:10px 0;font:500 clamp(48px,5vw,64px)/1 var(--font-display);letter-spacing:-.04em;color:var(--spore)}.calc-result p{color:var(--ink-soft)}.calc-result small{display:block;color:var(--ink-mute);font-size:12px}
.process{background:var(--canvas)}.process-strip{position:relative;margin-top:34px;padding:32px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:20px;align-items:center}.process-strip:before{content:"";position:absolute;left:16%;right:16%;top:60px;height:2px;background:var(--hypha);opacity:.45}.process-step{position:relative;text-align:center}.process-step i{width:56px;height:56px;display:grid;place-items:center;margin:0 auto 15px;border:2px solid var(--spore);border-radius:50%;background:var(--surface);color:var(--spore);font-style:normal;font-weight:700}.process-step i:after{content:"Спора";position:absolute;top:-18px;left:0;right:0;color:var(--ink-faint);font:italic 400 13px var(--font-display)}.process-step:nth-of-type(2) i:after{content:"Грибница"}.process-step:nth-of-type(3) i:after{content:"Урожай"}.process-step h3{margin:0;font:600 20px var(--font-display)}.process-step p{color:var(--ink-soft);font-size:14px}.process-arrow{color:var(--hypha);font-size:26px}
.about{background:var(--deep)}.about-work{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}.work-grid{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:78px 120px;padding:20px}.work-grid:before{content:"AI";position:absolute;left:50%;top:50%;width:112px;height:112px;display:grid;place-items:center;border:2px solid var(--spore);border-radius:50%;background:var(--surface);color:var(--spore);font:500 34px var(--font-display);transform:translate(-50%,-50%);box-shadow:0 0 45px rgba(184,242,91,.14)}.work-grid:after{content:"";position:absolute;inset:26% 24%;background:linear-gradient(var(--hypha),var(--hypha)) 50% 0/1px 100% no-repeat,linear-gradient(90deg,var(--hypha),var(--hypha)) 0 50%/100% 1px no-repeat;opacity:.35}.work-card{position:relative;z-index:1;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.work-card__icon{display:none}.work-card h3{margin:0;font:600 18px var(--font-display)}.work-card p{margin:8px 0 0;color:var(--ink-soft);font-size:13px}.stack-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.stack-chips span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--moss);color:var(--ink-soft);font-size:12px}.about-stack{grid-column:1/-1}
.faq{background:var(--canvas);padding-bottom:96px}.faq-grid{display:grid;grid-template-columns:4fr 8fr;gap:48px;align-items:start}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:21px}.faq-list details[open]{border:1px solid var(--spore);border-radius:18px;background:var(--surface)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-size:17px;font-weight:650}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:before{content:"";width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--line-strong)}.faq-list details[open] summary:before{background:var(--spore);box-shadow:0 0 12px var(--spore)}.faq-list summary:after{content:"+";width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--spore);font-size:20px}.faq-list details[open] summary:after{content:"−"}.faq-list p{margin:15px 45px 0;color:var(--ink-soft);font-size:15px}
.contact{padding:0 0 90px;background:var(--canvas)}.contact-card{position:relative;overflow:hidden;display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;padding:54px;border:1px solid var(--line);border-radius:32px;background:var(--surface)}.contact-card:before{content:"";position:absolute;left:-180px;bottom:-260px;width:620px;height:620px;border:1px solid var(--hypha);border-radius:50%;opacity:.22}.contact-copy{position:relative;z-index:1}.contact-copy h2{margin:18px 0 0;font:700 clamp(38px,4vw,54px)/1.08 var(--font-display)}.contact-copy p{color:var(--ink-soft)}.contact-copy>.button{margin-top:16px;border-color:var(--line-strong);color:var(--spore)}.lead-form{position:relative;z-index:1;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--surface-2)}.lead-form__fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px;color:var(--ink-soft);font-size:13px}.field input,.field textarea{width:100%;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:13px;background:var(--canvas);color:var(--ink);padding:13px}.interest{margin:18px 0;border:0;padding:0}.interest legend{margin-bottom:10px;color:var(--ink-soft);font-size:13px}.interest__chips{display:flex;flex-wrap:wrap;gap:8px}.interest__chips input{position:absolute;opacity:0}.interest__chips span{display:flex;align-items:center;min-height:44px;padding:0 15px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-soft);cursor:pointer}.interest__chips input:checked+span{border-color:var(--spore);background:var(--spore);color:var(--on-spore)}.consent{display:flex;gap:10px;margin:16px 0;color:var(--ink-mute);font-size:12px}.consent input{width:18px;height:18px;accent-color:var(--spore)}.form-error{min-height:18px;color:var(--error);font-size:12px}.site-footer{border-top:1px solid var(--line);background:var(--canvas)}.site-footer__inner{min-height:150px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.site-footer__inner>b:before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--spore);box-shadow:0 0 10px var(--spore)}.site-footer nav{display:flex;gap:18px;margin-left:auto}.site-footer a{color:var(--ink-soft);font-size:13px}.site-footer small{width:100%;color:var(--ink-faint);font-size:11px}
.modal{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,12,8,.76)}.modal[hidden]{display:none}.modal__dialog{position:relative;width:min(640px,100%)}.modal__close{position:absolute;z-index:2;right:12px;top:12px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink)}.chat{padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.chat__roles,.chat__presets{display:flex;flex-wrap:wrap;gap:7px}.chat button,.chat__input{min-height:44px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink);padding:0 14px}.chat__messages{min-height:180px;margin:16px 0;padding:16px;border-radius:18px;background:var(--canvas)}.chat__composer{display:flex;gap:8px}.chat__input{flex:1}.chat__send{width:44px;padding:0}.bubble{display:block;max-width:86%;padding:9px 12px;border-radius:13px;font-size:13px}.bubble--user{margin-left:auto;background:var(--moss)}.bubble--bot{background:var(--spore);color:var(--on-spore)}
/* Solution, legal and utility pages */
.solution-nav a.is-active{color:var(--spore)}.solution-page,.page-simple{background:var(--canvas)}.solution-hero{position:relative;padding:62px 0 96px}.solution-hero__grid{display:grid;grid-template-columns:1fr 440px;gap:70px;align-items:start}.solution-hero__copy{display:flex;flex-direction:column;gap:23px}.breadcrumbs{display:flex;gap:8px;color:var(--ink-mute);font-size:13px}.breadcrumbs a{color:var(--ink-mute)}.solution-hero h1,.thanks-wrap h1,.notfound h1{margin:0;font:700 clamp(40px,5vw,60px)/1.06 var(--font-display);letter-spacing:-.04em}.solution-hero h1 em,.thanks-wrap h1 em,.notfound h1 em{color:var(--spore);font-weight:400}.solution-hero__lede{color:var(--ink-soft);font-size:19px}.solution-checks{display:flex;gap:24px;padding-top:15px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:14px}.solution-chat,.notfound-chat{overflow:hidden;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow-card)}.solution-chat__head{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--line)}.solution-chat__avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--spore);color:var(--on-spore)}.solution-chat__head div{display:flex;flex-direction:column}.solution-chat__head small{color:var(--spore)}.solution-chat__demo{margin-left:auto;color:var(--ink-mute);font-size:11px}.solution-chat__log{min-height:220px;max-height:360px;overflow:auto;padding:16px;background:var(--canvas)}.solution-chat__hint{color:var(--ink-mute);font-size:12px}.solution-chat__bubble{max-width:86%;padding:10px 13px;margin:8px 0;font-size:13px}.solution-chat__bubble--bot{border-radius:14px 14px 14px 4px;background:var(--spore);color:var(--on-spore)}.solution-chat__bubble--user{margin-left:auto;border-radius:14px 14px 4px 14px;background:var(--moss)}.solution-chat__typing{padding:10px}.solution-chat__presets{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border-top:1px solid var(--line)}.solution-chat__presets button{min-height:40px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-2);color:var(--ink)}
.solution-compare,.solution-features{background:var(--deep)}.solution-pairs,.solution-features__grid,.solution-steps,.solution-others__grid,.thanks-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.solution-pair,.solution-feature,.solution-step,.solution-others__grid a,.thanks-steps article{padding:23px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.solution-pair>div{padding:12px}.solution-pair>div:first-child{background:var(--moss)}.solution-pair small,.solution-step b,.solution-feature>b,.thanks-steps b{color:var(--spore);font-size:11px}.solution-pair p,.solution-step p,.solution-feature p,.thanks-steps p{color:var(--ink-soft)}.solution-steps{grid-template-columns:repeat(4,1fr)}.solution-step h3,.solution-feature h3{font:600 18px var(--font-display)}.solution-section-head{display:flex;justify-content:space-between;align-items:end}.solution-section-head>p{width:430px;color:var(--ink-soft)}.solution-stack{display:flex;gap:18px;align-items:center;margin-top:25px;padding:22px;border:1px dashed var(--line-strong);border-radius:18px}.solution-stack>div{display:flex;flex-wrap:wrap;gap:8px}.solution-stack>div span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--moss)}.solution-launch__grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.solution-included{padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.solution-included>span{display:block;margin:10px 0}.solution-included i{color:var(--spore)}.solution-cta{display:flex;justify-content:space-between;align-items:center;gap:34px;padding:46px;border:1px solid var(--line);border-radius:28px;background:var(--surface)}.solution-cta h2{font:700 40px/1.1 var(--font-display)}.solution-cta p{color:var(--ink-soft)}.solution-others__grid a{display:flex;justify-content:space-between;color:var(--ink);text-decoration:none}.solution-others__grid b{color:var(--spore)}
.page-simple{min-height:100vh;display:flex;flex-direction:column}.page-simple main{flex:1}.page-simple__center{min-height:700px;display:flex;align-items:center;padding:60px 0;text-align:center}.thanks-wrap{max-width:940px;margin:auto}.thanks-check{width:76px;height:76px;display:grid;place-items:center;margin:0 auto 24px;border-radius:50%;background:var(--spore);color:var(--on-spore)}.thanks-actions{display:flex;justify-content:center;gap:12px;margin-top:28px}.notfound{min-height:700px;display:grid;grid-template-columns:1fr 420px;gap:70px;align-items:center}.notfound__label{color:var(--spore)}.notfound__copy>p{color:var(--ink-soft);font-size:18px}.notfound__links{display:grid;gap:8px;margin-top:22px}.notfound__links a{display:flex;justify-content:space-between;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-decoration:none}.notfound-chat{padding:20px}.notfound-chat .u,.notfound-chat .b{padding:10px 13px;border-radius:14px}.notfound-chat .u{margin-left:auto;background:var(--moss)}.notfound-chat .b{background:var(--spore);color:var(--on-spore)}.notfound-chat strong{display:block;color:var(--spore);font:700 110px/1 var(--font-display);text-align:center}.legal-main{max-width:72ch;margin:0 auto;padding:72px 20px;line-height:1.65}.legal-main h1,.legal-main h2{font-family:var(--font-display)}
[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out)}[data-reveal].is-visible{opacity:1;transform:none}@keyframes blink{50%{opacity:.35}}@keyframes flow{to{stroke-dashoffset:-220}}@keyframes corePulse{50%{transform:scale(1.08);opacity:.6}}@keyframes sporeRise{0%{opacity:0;transform:translateY(60px)}25%{opacity:.8}100%{opacity:0;transform:translateY(-150px)}}
@media(max-width:1180px){.hero__main{grid-template-columns:1fr;min-height:auto;padding-top:44px}.hero__copy{max-width:720px;padding:50px 0 0}.mycelium{position:relative;inset:auto;width:100%;height:660px;margin-top:-70px}.service-grid{grid-template-columns:repeat(2,1fr)}.day-card{grid-template-columns:220px 1fr}.day-card__result{grid-column:1/-1}.about-work{grid-template-columns:1fr}.work-grid{max-width:760px}.solution-hero__grid{grid-template-columns:1fr}.solution-chat{max-width:440px}.solution-launch__grid{grid-template-columns:1fr}}
@media(max-width:860px){.site-header{height:64px}.site-nav,.site-header>.container>.button{display:none}.nav-toggle{display:block}.site-nav.is-open{position:absolute;display:flex;left:16px;right:16px;top:70px;flex-direction:column;gap:4px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-card)}.site-nav.is-open a{padding:11px}.hero__copy{padding-top:34px}.hero h1{font-size:clamp(40px,10vw,58px)}.mycelium{height:500px;margin-top:-30px}.mycelium svg{transform:scale(1.45) translate(-13%,-2%)}.mycelium__node{min-width:0;width:43%;padding:0 8px;font-size:12px}.mycelium__node[data-node="0"]{left:2%;top:16%}.mycelium__node[data-node="1"]{left:55%;top:16%}.mycelium__node[data-node="2"]{left:2%;top:78%}.mycelium__node[data-node="3"]{left:55%;top:78%}.mycelium__restart{left:calc(50% - 22px);top:65%}.integrations__inner,.day__head,.lab__head,.services__head{align-items:flex-start;flex-direction:column}.integrations__inner{padding:24px 0}.day__head p,.lab__head p{width:auto}.day-tabs{overflow-x:auto;justify-content:flex-start;gap:4px;padding:8px 0}.day-tabs:before,.day-progress{display:none}.day-tabs button{flex:0 0 105px}.day-card{grid-template-columns:1fr;gap:22px;padding:28px}.day-card__time{font-size:64px}.calculator,.contact-card{grid-template-columns:1fr}.faq-grid{grid-template-columns:1fr}.work-grid{gap:16px;padding:0}.work-grid:before,.work-grid:after{display:none}.process-strip{grid-template-columns:1fr}.process-strip:before,.process-arrow{display:none}.process-step{padding:18px}.solution-steps{grid-template-columns:1fr 1fr}.notfound{grid-template-columns:1fr;padding:70px 0}}
@media(max-width:600px){.container{width:min(calc(100% - 32px),var(--container))}.section{padding:70px 0}.brand{font-size:16px}.hero__badge{font-size:11px}.hero h1{font-size:40px}.hero__lede{font-size:17px}.hero__actions{align-items:stretch;flex-direction:column}.hero__checks{align-items:flex-start;flex-direction:column;gap:8px}.mycelium{height:430px;margin-top:-10px}.mycelium svg{transform:scale(1.8) translate(-20%,-1%)}.integrations__chips{flex-wrap:nowrap;max-width:100%;overflow:auto;padding-bottom:5px}.service-grid,.lab-grid{grid-template-columns:1fr}.services,.calculator{padding:22px}.services:before{display:none}.stepper{align-items:flex-start;flex-direction:column}.stepper__ctrl{width:100%;justify-content:space-between}.day-card{padding:22px}.day-card__time{font-size:54px}.work-grid{grid-template-columns:1fr}.lead-form{padding:20px}.lead-form__fields{grid-template-columns:1fr}.contact-card{padding:26px 20px}.site-footer__inner{align-items:flex-start;flex-direction:column;padding:35px 0}.site-footer nav{margin:0;flex-wrap:wrap}.solution-pairs,.solution-features__grid,.solution-steps,.solution-others__grid,.thanks-steps{grid-template-columns:1fr}.solution-section-head,.solution-cta,.solution-stack{align-items:flex-start;flex-direction:column}.solution-section-head>p{width:auto}.thanks-actions{flex-direction:column}.notfound-chat{width:auto}.faq-list details{padding:18px 12px}.faq-list p{margin-left:0;margin-right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.live-dot,.mycelium__flow,.mycelium__core-halo,.mycelium__spore{animation:none}.mycelium__path{stroke-dashoffset:0!important}.mycelium__flow,.mycelium__spore{display:none}[data-reveal]{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important}}
.contact-network{position:relative;width:min(380px,100%);height:180px;margin:25px 0}.contact-network:before,.contact-network:after{content:"";position:absolute;left:50%;top:50%;width:78%;height:1px;background:var(--line-strong);transform:translate(-50%,-50%) rotate(25deg)}.contact-network:after{transform:translate(-50%,-50%) rotate(-25deg)}.contact-network__core{position:absolute;z-index:2;left:50%;top:50%;width:72px;height:72px;display:grid;place-items:center;border:2px solid var(--spore);border-radius:50%;background:var(--surface);color:var(--spore);transform:translate(-50%,-50%);box-shadow:0 0 25px rgba(184,242,91,.12)}.contact-network>span{position:absolute;z-index:2;padding:6px 11px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink-mute);font-size:12px}.contact-network>span:nth-of-type(1){left:0;top:18px}.contact-network>span:nth-of-type(2){right:0;top:18px}.contact-network>span:nth-of-type(3){left:0;bottom:18px}.contact-network>span:nth-of-type(4){right:0;bottom:18px}.contact-network>span.is-lit{border-color:var(--spore);color:var(--spore);box-shadow:0 0 12px rgba(184,242,91,.12)}.form-success{position:relative;z-index:1;display:grid;place-items:center;align-content:center;min-height:420px;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--surface-2);text-align:center}.form-success[hidden]{display:none}.form-success>span{width:82px;height:82px;display:grid;place-items:center;border:2px solid var(--spore);border-radius:50%;color:var(--spore);font-size:36px;box-shadow:0 0 36px rgba(184,242,91,.2)}.form-success h3{margin:22px 0 4px;font:600 28px var(--font-display)}.form-success p{color:var(--ink-soft)}
}

/* css/04-blocks/16-motion.css */
@layer motion {
/* TZ 16: progressive motion layer. Without JS all content stays visible. */
main{position:relative;isolation:isolate}.section-title,.contact-copy h2,.services__head h3,.lab-card h3,.work-card h3,.solution-section h2{line-height:1.12}.section-title,.contact-copy h2{margin-bottom:20px}.section-title+.section-copy,.contact-copy h2+p{margin-top:0}.lab-card h3,.work-card h3{margin-bottom:10px}.day__head>div,.lab__head>div,.about-copy,.faq-head{display:grid;align-content:start;gap:0}

.cursor-glow{position:fixed;z-index:20;left:0;top:0;width:460px;height:460px;border-radius:50%;pointer-events:none;opacity:.05;background:var(--spore);filter:blur(70px);transform:translate(calc(var(--glow-x,-500px) - 50%),calc(var(--glow-y,-500px) - 50%));transition:transform .5s var(--ease-out)}
.mycelium{transform:translate(var(--parallax-x,0),var(--parallax-y,0));transition:transform .5s var(--ease-out)}.mycelium__path{transition:stroke .35s,stroke-width .35s,opacity .35s}.motion-js .mycelium__path{stroke-dashoffset:var(--path-length,900)}.motion-js .mycelium.is-grown .mycelium__path{animation:threadGrow 1.5s var(--ease-out) var(--path-delay,0ms) forwards}.mycelium__flow{stroke-dasharray:4 30;animation:flow var(--flow-duration,7s) linear var(--flow-delay,0s) infinite;animation-play-state:paused;opacity:.3}.mycelium__flow.is-main{opacity:.5}.mycelium.is-grown.is-motion-active .mycelium__flow{animation-play-state:running}.mycelium__flow.is-active{opacity:1}.mycelium__core{transform-origin:1020px 470px;animation:coreBeat 3.2s ease-in-out infinite;animation-play-state:paused}.mycelium.is-motion-active .mycelium__core{animation-play-state:running}.mycelium__core-halo{animation:coreRipple 3.2s ease-out infinite;animation-play-state:paused}.mycelium.is-motion-active .mycelium__core-halo{animation-play-state:running}.mycelium__core-copy{font-size:13px}.mycelium__node{min-width:0;min-height:48px;height:auto;padding:12px 17px;white-space:normal;line-height:1.18;opacity:1;transform:translateY(0);animation:nodeFloat 5s ease-in-out var(--float-delay,0s) infinite;animation-play-state:paused}.mycelium.is-motion-active .mycelium__node{animation-play-state:running}.motion-js .mycelium__node{opacity:0}.motion-js .mycelium.is-grown .mycelium__node{animation:nodeArrive .6s var(--ease-out) var(--node-delay,0ms) forwards,nodeFloat 5s ease-in-out var(--float-delay,0s) infinite}.mycelium__node.is-active{transform:translateY(-4px)}
.hero-word{display:inline-block;transform-origin:50% 100%}.motion-js .hero-word{opacity:0;filter:blur(6px);transform:translateY(40px) rotate(2deg)}.motion-ready .hero-word{animation:wordReveal .9s var(--ease-out) calc(180ms + var(--word-index) * 120ms) forwards}.motion-js .hero__badge,.motion-js .hero__lede,.motion-js .hero__actions,.motion-js .hero__checks{opacity:0;transform:translateY(18px)}.motion-ready .hero__badge,.motion-ready .hero__lede,.motion-ready .hero__actions,.motion-ready .hero__checks{animation:fadeLift .75s var(--ease-out) forwards}.motion-ready .hero__badge{animation-delay:0ms}.motion-ready .hero__lede{animation-delay:1s}.motion-ready .hero__actions{animation-delay:1.2s}.motion-ready .hero__checks{animation-delay:1.38s}
.hero-spores{position:absolute;inset:12% 6% 8% 36%;z-index:0;pointer-events:none}.hero-spores i{position:absolute;left:8%;bottom:-20px;width:4px;height:4px;border-radius:50%;background:var(--spore);opacity:0;animation:heroSpore 9s ease-in-out infinite;animation-play-state:paused}.mycelium.is-motion-active~.hero-spores i{animation-play-state:running}.hero-spores i:nth-child(1){--spore-i:0;width:2px;height:2px}.hero-spores i:nth-child(2){--spore-i:1}.hero-spores i:nth-child(3){--spore-i:2;width:6px;height:6px}.hero-spores i:nth-child(4){--spore-i:3}.hero-spores i:nth-child(5){--spore-i:4;width:3px;height:3px}.hero-spores i:nth-child(6){--spore-i:5;width:5px;height:5px}.hero-spores i:nth-child(7){--spore-i:6}.hero-spores i:nth-child(8){--spore-i:7;width:2px;height:2px}.hero-spores i:nth-child(9){--spore-i:8;width:6px;height:6px}.hero-spores i:nth-child(10){--spore-i:9;width:3px;height:3px}.scroll-hint{position:absolute;z-index:4;left:50%;bottom:20px;display:flex;align-items:center;gap:9px;color:var(--ink-faint);font-size:11px;letter-spacing:.12em;text-transform:uppercase;transform:translateX(-50%);transition:opacity .35s,transform .35s}.scroll-hint i{width:20px;height:32px;border:1px solid var(--line-strong);border-radius:12px}.scroll-hint i:after{content:"";display:block;width:3px;height:7px;margin:6px auto;border-radius:3px;background:var(--spore);animation:scrollDot 1.6s ease-in-out infinite}.scroll-hint.is-hidden{opacity:0;transform:translate(-50%,12px)}

.site-root{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.site-root path{fill:none;stroke-linecap:round}.site-root__future{stroke:var(--hypha);stroke-width:1.2;stroke-dasharray:2 14;opacity:.22}.site-root__line{stroke:var(--spore);stroke-width:2;filter:drop-shadow(0 0 6px rgba(184,242,91,.25))}.site-root__flow{stroke:var(--spore);stroke-width:2.5;stroke-dasharray:4 28;opacity:0;animation:flow 7s linear infinite}.site-root__flow.is-active{opacity:.5}.site-root__mark{opacity:.24;transition:opacity .45s}.site-root__mark>path{stroke:var(--hypha);stroke-width:1.5;stroke-dasharray:80;stroke-dashoffset:80;transition:stroke-dashoffset .7s var(--ease-out)}.site-root__mark>circle:not(.site-root__ripple){fill:var(--surface);stroke:var(--hypha);stroke-width:2;transform-box:fill-box;transform-origin:center;transition:transform .45s,fill .45s,stroke .45s}.site-root__ripple{fill:none;stroke:var(--spore);opacity:0;transform-box:fill-box;transform-origin:center}.site-root__mark.is-active{opacity:1}.site-root__mark.is-active>path{stroke-dashoffset:0}.site-root__mark.is-active>circle:not(.site-root__ripple){fill:var(--spore);stroke:var(--spore);transform:scale(1.15)}.site-root__mark.is-active .site-root__ripple{animation:markRipple .85s ease-out}

.motion-js [data-root-section] .section-title,.motion-js [data-root-section] .day__head,.motion-js [data-root-section] .lab__head,.motion-js [data-root-section] .about-copy,.motion-js [data-root-section] .faq-head{opacity:0;transform:translateY(40px)}.motion-js [data-root-section].is-in .section-title,.motion-js [data-root-section].is-in .day__head,.motion-js [data-root-section].is-in .lab__head,.motion-js [data-root-section].is-in .about-copy,.motion-js [data-root-section].is-in .faq-head{opacity:1;transform:translateY(0);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.motion-js [data-root-section] :is(.service-item,.lab-card,.process-step,.work-card,.faq-list details){opacity:0;transform:translateY(60px) scale(.94)}.motion-js [data-root-section].is-in :is(.service-item,.lab-card,.process-step,.work-card,.faq-list details){opacity:1;transform:translateY(0) scale(1);transition:opacity .8s var(--ease-out) calc(var(--reveal-index,0) * 120ms),transform .8s var(--ease-out) calc(var(--reveal-index,0) * 120ms),border-color .3s,box-shadow .3s}

.service-item b{transform-origin:center}.is-motion-active .service-item b{animation:serviceWave 2.8s ease-in-out calc(var(--reveal-index,0) * .11s) infinite}.is-motion-active .mini-chat span{animation:chatBubble 5.4s var(--ease-out) infinite}.is-motion-active .mini-chat span:nth-child(2){animation-delay:.7s}.is-motion-active .mini-chat span:nth-child(3){animation-delay:1.4s}.is-motion-active .content-demo>i{animation:contentBranch 5s var(--ease-out) infinite}.is-motion-active .content-demo>i:nth-child(3){animation-delay:.6s}.bars24 i{transform-origin:bottom}.is-motion-active .bars24 i{animation:barBreathe 3.2s ease-in-out calc(var(--reveal-index,0) * -.12s) infinite}.is-motion-active .bars24 i.off{animation:offHour 3.2s ease-in-out infinite}.calculator.is-calculating .calc-result{animation:calcGlow .65s var(--ease-out)}.process-strip:after{content:"";position:absolute;left:16%;right:16%;top:60px;height:2px;background:var(--spore);transform:scaleX(0);transform-origin:left}.process.is-in .process-strip:after{animation:processGrow 2.2s var(--ease-out) .3s forwards}.work-card.is-reached{border-color:var(--spore);box-shadow:0 0 0 8px rgba(184,242,91,.06),0 16px 50px rgba(0,0,0,.18);transform:translateY(-5px)!important}.faq-list p{transform-origin:top;transition:opacity .35s,transform .35s}.faq-list details:not([open]) p{opacity:0;transform:translateY(-10px)}.faq-list details[open] summary:before{animation:faqPulse .7s ease-out}.button,.brand__mark{transition:transform .25s var(--ease-out),box-shadow .25s,border-color .25s,background .25s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(1px) scale(.98)}.brand:hover .brand__mark{transform:rotate(8deg) scale(1.06)}

.contact-network:before,.contact-network:after{display:none}.contact-network svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.contact-network svg path{fill:none;stroke:var(--hypha);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--ease-out),stroke .3s}.contact-network svg circle{fill:var(--surface);stroke:var(--hypha);stroke-width:2;opacity:.4;transform-box:fill-box;transform-origin:center;transition:opacity .35s,transform .35s,fill .35s}.contact-network svg g.is-lit path{stroke:var(--spore);stroke-dashoffset:0}.contact-network svg g.is-lit circle:not(.contact-network__ripple){fill:var(--spore);opacity:1;transform:scale(1.2)}.contact-network__ripple{fill:none!important;stroke:var(--spore)!important;opacity:0!important}.contact-network svg g.is-lit .contact-network__ripple{animation:markRipple .85s ease-out}.contact-network>span[data-contact-label="interest"]{left:0;top:18px}.contact-network>span[data-contact-label="name"]{left:0;right:auto;top:auto;bottom:18px}.contact-network>span[data-contact-label="contact"]{right:0;left:auto;top:18px}.contact-network>span[data-contact-label="message"]{right:0;left:auto;top:auto;bottom:18px}.success-spores{position:absolute;inset:0;pointer-events:none}.success-spores i{position:absolute;left:50%;top:48%;width:5px;height:5px;border-radius:50%;background:var(--spore);animation:successSpore 1.1s var(--ease-out) forwards}.success-spores i:nth-child(2){--sx:70px;--sy:-54px}.success-spores i:nth-child(3){--sx:96px;--sy:7px}.success-spores i:nth-child(4){--sx:65px;--sy:65px}.success-spores i:nth-child(5){--sx:0px;--sy:88px}.success-spores i:nth-child(6){--sx:-70px;--sy:58px}.success-spores i:nth-child(7){--sx:-96px;--sy:0px}.success-spores i:nth-child(8){--sx:-60px;--sy:-62px}

@keyframes threadGrow{from{stroke-dashoffset:var(--path-length,900)}to{stroke-dashoffset:0}}@keyframes wordReveal{to{opacity:1;filter:blur(0);transform:translateY(0) rotate(0)}}@keyframes fadeLift{to{opacity:1;transform:translateY(0)}}@keyframes coreBeat{0%,100%{transform:scale(1)}45%{transform:scale(1.025)}55%{transform:scale(.99)}}@keyframes coreRipple{0%,100%{opacity:.2;transform:scale(.82)}55%{opacity:.55;transform:scale(1.07)}}@keyframes nodeArrive{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes nodeFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes heroSpore{0%{opacity:0;transform:translateY(0) scale(.6)}18%{opacity:.65}80%{opacity:.3}100%{opacity:0;transform:translateY(-340px) scale(1.2)}}@keyframes scrollDot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(10px)}}@keyframes markRipple{0%{opacity:.8;transform:scale(.35)}100%{opacity:0;transform:scale(1.8)}}@keyframes pickSlot{0%,24%,100%{transform:scale(1)}34%,50%{transform:scale(1.08)}}@keyframes confirmPop{0%,40%{opacity:.35;transform:translateY(7px) scale(.96)}55%,100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes barBreathe{0%,100%{transform:scaleY(.86)}50%{transform:scaleY(1)}}@keyframes choiceGlow{0%,100%{box-shadow:none}45%{box-shadow:0 0 0 5px rgba(184,242,91,.12)}}@keyframes checkPop{0%,30%{transform:scale(.7)}50%,100%{transform:scale(1)}}@keyframes serviceWave{0%,100%{transform:scale(1);box-shadow:none}45%{transform:scale(1.12);box-shadow:0 0 0 8px rgba(184,242,91,.08)}}@keyframes chatBubble{0%,14%{opacity:0;transform:translateY(12px)}28%,82%{opacity:1;transform:translateY(0)}100%{opacity:.15}}@keyframes contentBranch{0%,20%{opacity:.25;transform:translateX(0) scale(.9)}45%,85%{opacity:1;transform:translateX(5px) scale(1)}100%{opacity:.25}}@keyframes offHour{0%,100%{opacity:.35}50%{opacity:1}}@keyframes calcGlow{0%{box-shadow:none;transform:scale(.99)}55%{box-shadow:0 0 0 8px rgba(184,242,91,.1);transform:scale(1.01)}100%{box-shadow:none;transform:scale(1)}}@keyframes processGrow{to{transform:scaleX(1)}}@keyframes faqPulse{0%{box-shadow:0 0 0 0 rgba(184,242,91,.35)}100%{box-shadow:0 0 0 12px rgba(184,242,91,0)}}@keyframes successSpore{from{opacity:1;transform:translate(0,0) scale(.5)}to{opacity:0;transform:translate(var(--sx,0),var(--sy,-90px)) scale(1.2)}}

.hero-spores i:nth-child(2){left:17%;animation-delay:-1.1s}.hero-spores i:nth-child(3){left:26%;animation-delay:-2.2s}.hero-spores i:nth-child(4){left:35%;animation-delay:-3.3s}.hero-spores i:nth-child(5){left:44%;animation-delay:-4.4s}.hero-spores i:nth-child(6){left:53%;animation-delay:-5.5s}.hero-spores i:nth-child(7){left:62%;animation-delay:-6.6s}.hero-spores i:nth-child(8){left:71%;animation-delay:-7.7s}.hero-spores i:nth-child(9){left:80%;animation-delay:-8.8s}.hero-spores i:nth-child(10){left:89%;animation-delay:-9.9s}
@media(max-width:860px){.cursor-glow,.site-root,.scroll-hint{display:none}.mycelium{transform:none}.mycelium__node{width:auto;max-width:44%;padding:11px 12px}.hero-spores i:nth-child(n+6){display:none}.process-strip:after{display:none}}
@media(prefers-reduced-motion:reduce){.cursor-glow,.hero-spores,.scroll-hint{display:none}.motion-js .hero-word,.motion-js .hero__badge,.motion-js .hero__lede,.motion-js .hero__actions,.motion-js .hero__checks,.motion-js [data-root-section] *{opacity:1!important;filter:none!important;transform:none!important;animation:none!important;transition:none!important}.mycelium__path{stroke-dashoffset:0!important}.mycelium__flow{display:none}.site-root__line{stroke-dashoffset:0!important}.site-root__mark{opacity:1}.site-root__mark>path{stroke-dashoffset:0}}



/* ---- TZ 16: доработки (Claude) ---- */
/* метки секций не растягиваются на всю ширину */
.products-head,.day__head>div,.lab__head>div,.about-copy,.faq-head{justify-items:start}
/* огоньки в hero — только после роста сети */
.mycelium__flow{opacity:0;transition:opacity .8s}
.mycelium.is-alive .mycelium__flow{opacity:.3}.mycelium.is-alive .mycelium__flow.is-main{opacity:.5}.mycelium.is-alive .mycelium__flow.is-active{opacity:1}
.mycelium.is-grown:not(.is-alive) .mycelium__flow{animation-play-state:paused}
/* FAQ: вопрос по левому краю */
.faq-list summary{justify-content:flex-start;text-align:left}.faq-list summary:after{margin-left:auto}
/* процесс: этапы в разметке, загораются по очереди вслед за нитью */
.process-step i:after{content:none}
.process-step__stage{display:block;margin-bottom:8px;color:var(--spore);font:italic 400 15px var(--font-display)}
.motion-js .process-step i{border-color:var(--line-strong);color:var(--ink-mute);transition:background .5s,border-color .5s,color .5s,box-shadow .5s}
.motion-js .process-step__stage,.motion-js .process-step p{opacity:0;transform:translateY(10px);transition:opacity .6s,transform .6s}
.process.is-in .process-step i{border-color:var(--spore);background:var(--spore);color:var(--on-spore);box-shadow:0 0 0 8px rgba(184,242,91,.12)}
.process.is-in .process-step__stage,.process.is-in .process-step p{opacity:1;transform:none}
.process.is-in .process-step:nth-of-type(1) :is(i,.process-step__stage,p){transition-delay:.3s}
.process.is-in .process-step:nth-of-type(2) :is(i,.process-step__stage,p){transition-delay:1.35s}
.process.is-in .process-step:nth-of-type(3) :is(i,.process-step__stage,p){transition-delay:2.4s}
/* заявка: сеть с пунктирным следом, ветки прорастают */
.contact-network{position:relative;width:min(420px,100%);height:auto;margin:22px 0 18px}
.contact-network:before,.contact-network:after,.contact-network>span{display:none!important}
.contact-network svg{position:static;display:block;width:100%;height:auto;overflow:visible}
.contact-network .cn-trace{fill:none;stroke:var(--line-strong);stroke-width:1.4;stroke-dasharray:4 6}
.contact-network .cn-line{fill:none;stroke:var(--spore);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--ease-out)}
.contact-network .cn-dot{fill:var(--surface);stroke:var(--line-strong);stroke-width:2;opacity:1;transform-box:fill-box;transform-origin:center;transition:fill .4s .5s,stroke .4s .5s,transform .4s .5s}
.contact-network .cn-ripple{fill:none;stroke:var(--spore);opacity:0;transform-box:fill-box;transform-origin:center}
.contact-network .cn-label{fill:var(--ink-faint);font:500 13px var(--font-text);text-anchor:middle;transition:fill .4s .5s}
.contact-network .is-lit .cn-line{stroke-dashoffset:0}
.contact-network .is-lit .cn-dot{fill:var(--spore);stroke:var(--spore);transform:scale(1.25)}
.contact-network .is-lit .cn-ripple{animation:markRipple .9s ease-out .5s}
.contact-network .is-lit .cn-label{fill:var(--ink)}
.contact-network .cn-halo{fill:var(--spore);opacity:.14;transform-box:fill-box;transform-origin:center;animation:cnHalo 3.2s ease-in-out infinite}
.contact-network .cn-core{fill:var(--spore)}
.contact-network .cn-count{fill:var(--on-spore);font:700 14px var(--font-text);text-anchor:middle}
@keyframes cnHalo{0%,100%{opacity:.12;transform:scale(1)}50%{opacity:.32;transform:scale(1.18)}}
/* лаборатория: контент-конвейер — из «акции» прорастают ветки */
.content-demo2{height:180px;display:flex;align-items:center}
.content-demo2 svg{width:100%;height:100%;overflow:visible}
.content-demo2 .cd-b{fill:none;stroke:var(--hypha);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:190;stroke-dashoffset:0}
.content-demo2 .cd-halo{fill:var(--spore);opacity:.16}
.content-demo2 .cd-core{fill:var(--spore)}
.content-demo2 .cd-cap{fill:var(--ink-mute);font:500 12px var(--font-text);text-anchor:middle}
.content-demo2 .cd-t rect{fill:var(--moss);stroke:var(--line)}
.content-demo2 .cd-t text{fill:var(--ink);font:500 12px var(--font-text);text-anchor:middle}
.content-demo2 .cd-t--hot rect{fill:var(--spore);stroke:var(--spore)}.content-demo2 .cd-t--hot text{fill:var(--on-spore);font-weight:600}
.is-motion-active .content-demo2 .cd-b{animation:cdGrow 4.5s var(--ease-out) infinite}
.is-motion-active .content-demo2 .cd-b:nth-of-type(2){animation-delay:.35s}.is-motion-active .content-demo2 .cd-b:nth-of-type(3){animation-delay:.7s}
.is-motion-active .content-demo2 .cd-t{animation:cdPop 4.5s var(--ease-out) infinite}
.is-motion-active .content-demo2 .cd-t:nth-of-type(2){animation-delay:.35s}.is-motion-active .content-demo2 .cd-t:nth-of-type(3){animation-delay:.7s}
.is-motion-active .content-demo2 .cd-halo{transform-box:fill-box;transform-origin:center;animation:cnHalo 2.4s ease-in-out infinite}
@keyframes cdGrow{0%{stroke-dashoffset:190}35%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:.3}}
@keyframes cdPop{0%,30%{opacity:0;transform:translateX(-8px)}45%,88%{opacity:1;transform:none}100%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.mycelium__flow{display:none}.contact-network .cn-halo{animation:none}.process-step__stage,.process-step p{opacity:1!important;transform:none!important}}
.mycelium:not(.is-alive) .mycelium__flow,.mycelium:not(.is-alive) .mycelium__flow.is-main{opacity:0}
/* hero: симметричная сеть; ветки уходят за края, слева мягко растворяются под текстом */
.mycelium__node,.mycelium__restart{right:auto;bottom:auto;margin:0}
@media(min-width:861px){.mycelium svg{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 24%);mask-image:linear-gradient(to right,transparent 0,#000 24%)}}
@media(max-width:860px){.mycelium svg{transform:scale(1.08)}.mycelium__node{width:auto;max-width:none;min-height:38px;padding:7px 11px;font-size:12px;white-space:nowrap}.mycelium__node:before{margin-right:6px}}
/* hero: тонкие «волосяные» гифы — лёгкость и глубина */
.mycelium__fine-g{transform-box:view-box;transform-origin:1020px 470px;animation:hyphaeBreathe 9s ease-in-out infinite;animation-play-state:paused}
.mycelium.is-motion-active .mycelium__fine-g{animation-play-state:running}
.mycelium__fine{fill:none;stroke:var(--hypha);stroke-width:.9;stroke-linecap:round;opacity:.28;stroke-dasharray:var(--path-length,600);stroke-dashoffset:var(--path-length,600);transition:opacity .6s,stroke .6s}
.mycelium__fine.is-hair{stroke-width:.6;opacity:.2}
.mycelium.is-grown .mycelium__fine{animation:threadGrow 1.8s var(--ease-out) var(--path-delay,1500ms) forwards}
.mycelium__fine.is-lit{stroke:var(--spore);opacity:.5}.mycelium__fine.is-hair.is-lit{opacity:.38}
.mycelium__tip{fill:var(--spore);opacity:0;transition:opacity .6s}
.mycelium.is-alive .mycelium__tip{animation:tipTwinkle 4.5s ease-in-out var(--tip-delay,0s) infinite}
.mycelium__tip.is-lit{fill:#E9FFB8}
@keyframes hyphaeBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@keyframes tipTwinkle{0%,100%{opacity:.08}50%{opacity:.75}}
@media(prefers-reduced-motion:reduce){.mycelium__fine{stroke-dashoffset:0!important;animation:none!important}.mycelium__fine-g{animation:none}.mycelium__tip{opacity:.4;animation:none!important}}
/* паутина мицелия через весь сайт (заменяет одиночный корень) */
main>section:not(.hero)>.container{position:relative;z-index:1}
.site-web{position:absolute;z-index:0;left:0;top:0;pointer-events:none;overflow:visible}
.site-web path{fill:none;stroke:var(--hypha);stroke-linecap:round;transition:stroke-dashoffset 2.4s var(--ease-out)}
.site-web__strand{stroke-width:1;opacity:.2}
.site-web__strand.is-lead{opacity:.26}
.site-web__link{stroke-width:.7;opacity:.13;transition-duration:3s!important}
.site-web__hair{stroke-width:.6;opacity:.14;transition-duration:1.6s!important;transition-delay:.4s!important}
.site-web__tie{stroke:var(--spore)!important;stroke-width:.9;opacity:.35;transition-delay:.3s!important}
.site-web path.is-grown{stroke-dashoffset:0!important}
.site-web circle{fill:var(--spore);opacity:0;transition:opacity 1s .9s}
.site-web circle.is-grown{opacity:.35;animation:webTwinkle 5s ease-in-out var(--tw,0s) infinite}
.site-web__knot.is-grown{opacity:.5}
@keyframes webTwinkle{0%,100%{opacity:.15}50%{opacity:.6}}
@media(max-width:860px){.site-root,.site-web{display:block}.site-web__strand{opacity:.14}.site-web__link{opacity:.09}}
@media(prefers-reduced-motion:reduce){.site-web path{transition:none;stroke-dashoffset:0!important}.site-web circle{opacity:.3;animation:none;transition:none}}
/* боковая линия + нити от неё к блокам */
.site-web__trace{stroke:var(--hypha)!important;stroke-width:1;stroke-dasharray:2 12;opacity:.2;transition:none!important}
.site-web__spine{stroke:var(--spore)!important;stroke-width:1.8;opacity:.75;filter:drop-shadow(0 0 5px rgba(184,242,91,.3));transition:stroke-dashoffset .35s linear!important}
.site-web__feed{stroke-width:1;opacity:.28;transition-duration:2.6s!important}
.site-web__branch{stroke-width:1;opacity:.42;transition-duration:1.8s!important;transition-delay:.25s!important}
.site-web__tie{opacity:.55}
@media(max-width:860px){.site-web__spine{stroke-width:1.2;opacity:.55}.site-web__trace{opacity:.12}}
/* ===== живая грибница вдоль сайта ===== */
.site-web .myc-strand,.site-web .myc-h{fill:none;stroke-linecap:round;stroke-linejoin:round}
.myc-cord{filter:drop-shadow(0 0 4px rgba(200,245,150,.35))}
.site-web .myc-strand{stroke:#D6F7A8;transition:stroke-dashoffset .4s linear}
.myc-strand.s0{stroke-width:1.5;opacity:.8}.myc-strand.s1{stroke-width:1.1;opacity:.5}.myc-strand.s2{stroke-width:.8;opacity:.38}
.myc-h.g0{stroke:#D3F4A6;stroke-width:1.15;opacity:.5}
.myc-h.g1{stroke:#BDEB9C;stroke-width:.8;opacity:.36}
.myc-h.g2{stroke:#A5DE92;stroke-width:.55;opacity:.28}
.myc-h.g3{stroke:#8FD38D;stroke-width:.42;opacity:.22}
.myc-h.g4{stroke:#7FC98A;stroke-width:.32;opacity:.18}
.myc-h.is-guided{opacity:.5}
.myc-h.is-grown{stroke-dashoffset:0!important}
.site-web circle{opacity:0}
.site-web .myc-tip{fill:#E4FFC2}.site-web .myc-knot{fill:var(--spore)}.site-web .myc-halo{fill:var(--spore)}
.site-web .myc-tip.is-grown{opacity:.5;animation:webTwinkle 5s ease-in-out var(--tw,0s) infinite}
.site-web .myc-knot.is-grown{opacity:.85}
.site-web .myc-halo.is-grown{opacity:.12;animation:haloBreath 4s ease-in-out var(--tw,0s) infinite}
@keyframes haloBreath{0%,100%{opacity:.07}50%{opacity:.2}}
@media(prefers-reduced-motion:reduce){.site-web .myc-strand,.site-web .myc-h{stroke-dashoffset:0!important;transition:none!important}.site-web circle{opacity:.35;animation:none!important}}
/* ===== грибница v3: мало нитей, но они светятся ===== */
.myc-cord{filter:none}
.site-web .myc-strand.glow{stroke:var(--spore);stroke-width:7;opacity:.1}
.site-web .myc-strand.s0{stroke:#E6FFBF;stroke-width:1.4;opacity:.95}
.site-web .myc-strand.s1{stroke:#CFF79A;stroke-width:.8;opacity:.45}
.site-web .myc-glow{fill:none;stroke:var(--spore);stroke-linecap:round;stroke-linejoin:round}
.site-web .myc-glow.g0{stroke-width:6;opacity:.09}.site-web .myc-glow.g1{stroke-width:4.5;opacity:.08}.site-web .myc-glow.g2{stroke-width:3.5;opacity:.06}
.site-web .myc-h.g0{stroke:#E6FFBF;stroke-width:1.1;opacity:.85}
.site-web .myc-h.g1{stroke:#DDFBB0;stroke-width:.8;opacity:.65}
.site-web .myc-h.g2{stroke:#CFF5A0;stroke-width:.6;opacity:.5}
.site-web .myc-h.is-guided{opacity:.9}.site-web .myc-glow.is-guided{opacity:.12}
.site-web .myc-glow.is-grown{stroke-dashoffset:0!important}
.site-web .myc-tip{fill:#F0FFD6}.site-web .myc-tip.is-grown{opacity:.8;filter:drop-shadow(0 0 3px #B8F25B)}
.site-web .myc-knot.is-grown{opacity:1;filter:drop-shadow(0 0 4px #B8F25B)}
.site-web .myc-halo.is-grown{opacity:.16}
/* ===== паутина: тонкие шёлковые нити ===== */
.site-web .myc-strand.glow{stroke:var(--spore);stroke-width:3;opacity:.07}
.site-web .myc-strand.s0{stroke:#EEFFD8;stroke-width:.9;opacity:.75;filter:drop-shadow(0 0 2px rgba(184,242,91,.45))}
.site-web .silk{fill:none;stroke:#EEFFD8;stroke-linecap:round;transition-property:stroke-dashoffset}
.site-web .silk.tie{stroke-width:.6;opacity:.6}
.site-web .silk.anchor{stroke-width:.5;opacity:.42}
.site-web .silk.drape{stroke-width:.5;opacity:.38}
.site-web .silk.wall{stroke-width:.45;opacity:.34}
.site-web .silk.cross{stroke-width:.35;opacity:.24}
.site-web .silk.is-grown{stroke-dashoffset:0!important}
.site-web .dew{fill:#F4FFE4}.site-web .dew.is-grown{opacity:.85;filter:drop-shadow(0 0 3px rgba(184,242,91,.8));animation:webTwinkle 5s ease-in-out var(--tw,0s) infinite}
.site-web .knot{fill:#E9FFC8}.site-web .knot.is-grown{opacity:.9;filter:drop-shadow(0 0 3px rgba(184,242,91,.7))}
/* ===== блеск нитей ===== */
.site-web .glint{fill:none;stroke:#FFFFFF;stroke-width:1.3;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 3px rgba(214,255,143,.95))}
.site-web .glint.is-grown{opacity:.95}
.site-web .silk.wall{opacity:.28}.site-web .silk.cross{opacity:.2}
/* ===== блок оживает, когда к нему подключается нить ===== */
.is-connected{position:relative}
.conn-sweep{position:absolute;z-index:3;inset:-1px;border-radius:inherit;pointer-events:none;padding:1.5px;background:linear-gradient(90deg,transparent,rgba(240,255,214,.95),rgba(184,242,91,.8),transparent) no-repeat;background-size:40% 100%;background-position:-60% 0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:connSweep 1.8s cubic-bezier(.3,.6,.3,1) forwards}
@keyframes connSweep{0%{background-position:-60% 0;opacity:1}85%{opacity:1}100%{background-position:160% 0;opacity:0}}
:is(.services,.day-card,.lab-card,.calculator,.process-strip,.work-card,.faq-list,.contact-card).is-connected{animation:connPulse 1.6s ease-out;box-shadow:0 0 0 1px rgba(184,242,91,.12),0 18px 60px -30px rgba(184,242,91,.35)}
@keyframes connPulse{0%{box-shadow:0 0 0 0 rgba(184,242,91,.0)}30%{box-shadow:0 0 0 6px rgba(184,242,91,.12),0 0 50px rgba(184,242,91,.2)}100%{box-shadow:0 0 0 1px rgba(184,242,91,.12),0 18px 60px -30px rgba(184,242,91,.35)}}
.section-tag{transition:border-color .6s,color .6s,box-shadow .6s}
.section-tag.is-connected{border-color:rgba(184,242,91,.55);color:var(--spore);box-shadow:0 0 16px rgba(184,242,91,.22);animation:tagPing 1.2s ease-out}
@keyframes tagPing{0%{box-shadow:0 0 0 0 rgba(184,242,91,.5)}100%{box-shadow:0 0 0 12px rgba(184,242,91,0),0 0 16px rgba(184,242,91,.22)}}
/* ===== заявка: живой блок ===== */
.contact-card{overflow:hidden}
.contact-card:before{animation:contactOrbit 14s ease-in-out infinite}
@keyframes contactOrbit{0%,100%{transform:scale(1);opacity:.22}50%{transform:scale(1.06);opacity:.36}}
.contact-spores{position:absolute;inset:0;pointer-events:none;z-index:0}
.contact-spores i{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:var(--spore);opacity:0;animation:heroSpore 10s ease-in-out infinite;animation-play-state:paused}
.is-motion-active .contact-spores i{animation-play-state:running}
.contact-spores i:nth-child(1){left:6%;animation-delay:-1s}.contact-spores i:nth-child(2){left:18%;width:2px;height:2px;animation-delay:-3.4s}.contact-spores i:nth-child(3){left:31%;animation-delay:-6s}.contact-spores i:nth-child(4){left:47%;width:3px;height:3px;animation-delay:-2.2s}.contact-spores i:nth-child(5){left:63%;width:2px;height:2px;animation-delay:-7.5s}.contact-spores i:nth-child(6){left:79%;animation-delay:-4.6s}.contact-spores i:nth-child(7){left:92%;width:3px;height:3px;animation-delay:-8.8s}
.contact-network .cn-trace{animation:traceFlow 3s linear infinite;animation-play-state:paused}
.is-motion-active .contact-network .cn-trace{animation-play-state:running}
@keyframes traceFlow{to{stroke-dashoffset:-20}}
.contact-network .cn-core{transform-box:fill-box;transform-origin:center}
.contact-network.is-pulse .cn-core{animation:cnPop .6s cubic-bezier(.3,1.6,.5,1)}
.contact-network.is-pulse .cn-halo{animation:cnBurst .8s ease-out}
@keyframes cnPop{0%{transform:scale(1)}40%{transform:scale(1.28)}100%{transform:scale(1)}}
@keyframes cnBurst{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
.contact-network.is-full .cn-halo{opacity:.35;animation:cnHalo 1.6s ease-in-out infinite}
.contact-network.is-full .cn-core{filter:drop-shadow(0 0 8px rgba(184,242,91,.9))}
.contact-network .is-lit .cn-label{animation:labelIn .5s ease-out .5s both}
@keyframes labelIn{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
.field input,.field textarea{transition:border-color .3s,box-shadow .3s,background .3s}
.field input:focus,.field textarea:focus{border-color:var(--spore);box-shadow:0 0 0 4px rgba(184,242,91,.12),0 0 24px rgba(184,242,91,.12);outline:none}
.interest__chips input:checked+span{animation:chipPop .4s cubic-bezier(.3,1.6,.5,1)}
@keyframes chipPop{0%{transform:scale(.92)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
.lead-form .button--primary{position:relative;overflow:hidden}
.lead-form .button--primary:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:btnShine 4.5s ease-in-out 1.5s infinite;pointer-events:none}
@keyframes btnShine{0%,70%{transform:translateX(-120%)}90%,100%{transform:translateX(120%)}}
.lead-form{transition:border-color .5s,box-shadow .5s}
.lead-form:focus-within{border-color:rgba(184,242,91,.35);box-shadow:0 0 0 1px rgba(184,242,91,.1),0 30px 80px -40px rgba(184,242,91,.35)}
@media(prefers-reduced-motion:reduce){.conn-sweep,.contact-spores{display:none}.contact-card:before,.contact-network .cn-trace,.lead-form .button--primary:after{animation:none!important}}
/* бегущие огоньки по нитям — как в сети первого экрана */
.site-web .silk-flow,.site-web .cord-flow{fill:none;stroke:var(--spore);stroke-linecap:round;stroke-dasharray:4 30;animation:silkFlow var(--fd,7s) linear var(--fdel,0s) infinite}
.site-web .silk-flow{stroke-width:1.6;opacity:0;transition:opacity 1s}
.site-web .silk-flow.is-grown{opacity:.7;transition-delay:0s!important}
.site-web .cord-flow{stroke-width:2;opacity:.8;--fd:9s;filter:drop-shadow(0 0 3px rgba(184,242,91,.7))}
@keyframes silkFlow{to{stroke-dashoffset:-238}}
@media(prefers-reduced-motion:reduce){.site-web .silk-flow,.site-web .cord-flow{display:none}}
/* ===== финал: одна нить + светящаяся «голова» + узлы разделов ===== */
.site-web .myc-strand.glow{stroke-width:4;opacity:.08}
.site-web .myc-strand.s0{stroke:#EAFFCC;stroke-width:1.1;opacity:.8}
.site-web .silk.tie{stroke:#EAFFCC;stroke-width:.8;opacity:.7}
.site-web .silk.feed{stroke:#EAFFCC;stroke-width:.8;opacity:.45}
.site-web .tip{pointer-events:none;transition:opacity .6s}
.site-web .tip-core{fill:#F6FFE6;filter:drop-shadow(0 0 4px #B8F25B) drop-shadow(0 0 10px rgba(184,242,91,.7))}
.site-web .tip-halo{fill:var(--spore);opacity:.14;transform-box:fill-box;transform-origin:center;animation:tipBreath 2.2s ease-in-out infinite}
.site-web .tip.is-done{opacity:0}
@keyframes tipBreath{0%,100%{transform:scale(.8);opacity:.1}50%{transform:scale(1.2);opacity:.22}}
.site-web .node{fill:#EAFFCC;transform-box:fill-box;transform-origin:center}
.site-web .node.is-grown{opacity:1;filter:drop-shadow(0 0 5px rgba(184,242,91,.9));animation:nodeBloom .7s cubic-bezier(.3,1.6,.5,1)}
.site-web .node-ring{fill:none;stroke:var(--spore);stroke-width:1;transform-box:fill-box;transform-origin:center}
.site-web .node-ring.is-grown{animation:nodeRing 1.4s ease-out forwards}
@keyframes nodeBloom{0%{transform:scale(0)}100%{transform:scale(1)}}
@keyframes nodeRing{0%{opacity:.8;transform:scale(.3)}100%{opacity:0;transform:scale(2.2)}}
/* ===== волшебство нити: дымка, свечение, текущий свет, искры ===== */
.site-web .myc-strand.haze{stroke:var(--spore);stroke-width:14;opacity:.035}
.site-web .myc-strand.glow{stroke:#C9F58A;stroke-width:4.5;opacity:.1}
.site-web .myc-strand.s0{stroke:#F2FFDD;stroke-width:1;opacity:.85}
.site-web .pulses path{fill:none;stroke-linecap:round}
.site-web .p-halo{stroke:var(--spore);stroke-width:12;opacity:.07}
.site-web .p-mid{stroke:#D8FF9C;stroke-width:4;opacity:.28}
.site-web .p-core{stroke:#FFFFFF;stroke-width:1.6;opacity:.95}
.site-web .silk-glow{fill:none;stroke:var(--spore);stroke-width:5;stroke-linecap:round;opacity:.09}
.site-web .silk-glow.is-grown{stroke-dashoffset:0!important}
.site-web .silk.tie{stroke:#F2FFDD;stroke-width:.8;opacity:.8}
.site-web .mote{fill:#F4FFE0}
.site-web .mote.is-grown{opacity:.7;filter:drop-shadow(0 0 3px rgba(184,242,91,.9));animation:moteFloat 6s ease-in-out var(--tw,0s) infinite}
@keyframes moteFloat{0%,100%{opacity:.15;transform:translate(0,0)}50%{opacity:.85;transform:translate(2px,-7px)}}
.site-web .mote{transform-box:fill-box}
.site-web .tip-glow{fill:#E4FFB0;opacity:.35;filter:blur(2px)}
.site-web .tip-halo{opacity:.12}
.site-web .spark{fill:#F6FFE6;opacity:0;transform-box:fill-box;animation:spark 3s ease-out infinite;filter:drop-shadow(0 0 2px #B8F25B)}
@keyframes spark{0%{opacity:0;transform:translate(0,0) scale(.6)}15%{opacity:.95}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(1)}}
.site-web .node.is-grown{filter:drop-shadow(0 0 4px rgba(184,242,91,.95)) drop-shadow(0 0 10px rgba(184,242,91,.5))}
@media(prefers-reduced-motion:reduce){.site-web .pulses,.site-web .spark{display:none}.site-web .mote{animation:none!important}}
}

/* css/04-blocks/17-oranzhereya.css */
@layer theme {
/* ===== Концепт «Оранжерея»: светлый ботанический атлас ===== */
:root{
  color-scheme:light;
  --canvas:#F4F1E8;--deep:#ECE8DB;--surface:#FBFAF4;--surface-2:#FFFFFF;--moss:#E6EDD6;
  --line:#DAD6C6;--line-strong:#C4BDA6;--hypha:#3FA34D;--spore:#0F5132;--spore-hover:#0A3D25;
  --on-spore:#F7F5EC;--ink:#1E3A2B;--ink-soft:#45594B;--ink-mute:#55665A;--ink-faint:#657569;
  --leaf:#2F8A3E;--sprout:#C7E86B;--error:#B3261E;
  --shadow-card:0 24px 60px -30px rgba(30,58,43,.25);--r-card:10px;
}
html,body{background:var(--canvas)}
::selection{background:var(--sprout);color:var(--ink)}
:focus-visible{outline-color:var(--spore)}

/* шапка и типографика */
.site-header{background:rgba(244,241,232,.88)!important;border-bottom:1px solid var(--line)}
.hero h1 em,.section-title em{color:var(--leaf)}
.section-tag{background:var(--moss);border-color:var(--line);color:var(--ink-soft)}
.button--primary{background:var(--spore);color:var(--on-spore);box-shadow:none}
.button--primary:hover{background:var(--spore-hover)}
.button--outline{border-color:var(--spore);color:var(--spore)}

/* карточки как листы гербария */
.lab-card,.day-card,.calculator,.work-card,.services,.process-strip,.contact-card,.lead-form,.faq-list details{border-radius:var(--r-card)}
.lab-card,.day-card,.calculator,.work-card,.process-strip,.contact-card{background:var(--surface);box-shadow:var(--shadow-card)}
.lab-demo{background:var(--moss)!important}
.contact-card:before{border-color:var(--hypha);opacity:.18}

/* ===== первый экран: растение вместо сети ===== */
.mycelium:before{background:radial-gradient(circle,rgba(199,232,107,.28),transparent 68%)}
.mycelium svg{-webkit-mask-image:none!important;mask-image:none!important}
.mycelium__fine-g,.mycelium__flow,[data-mycelium-flows]{display:none!important}
.plant-ground{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:2 6}
.mycelium__path{stroke:var(--spore);stroke-width:1.6;opacity:.9}
.mycelium__path.is-main{stroke:var(--spore);stroke-width:1.7;opacity:.95}
.mycelium__path.is-rib{stroke:var(--spore);stroke-width:1.1;opacity:.7}
.mycelium__path.is-vein{stroke:var(--spore);stroke-width:.8;opacity:.45}
.mycelium__path.is-tendril{stroke:var(--leaf);stroke-width:1.1;opacity:.8}
.mycelium__path.is-bud{stroke:var(--spore);stroke-width:1.4;fill:none}
.mycelium__path.is-active{stroke:var(--spore);stroke-width:2.4;opacity:1}
.leaf-fill{fill:var(--hypha);opacity:0;transition:opacity 1.2s ease,fill .5s}
.mycelium.is-alive .leaf-fill{opacity:.22}
.mycelium.is-alive .leaf-fill[data-owner="1"],.mycelium.is-alive .leaf-fill[data-owner="2"]{fill:#7CC46A}
.mycelium.is-alive .leaf-fill.is-active{opacity:.55;fill:var(--sprout)}
.leaf-fills{transform-box:view-box;transform-origin:1020px 880px;animation:plantSway 7s ease-in-out infinite}
[data-mycelium-paths]{transform-box:view-box;transform-origin:1020px 880px;animation:plantSway 7s ease-in-out infinite}
@keyframes plantSway{0%,100%{transform:rotate(-.25deg)}50%{transform:rotate(.25deg)}}
.specimen-tag rect{fill:var(--surface-2);stroke:var(--line-strong);stroke-width:1;filter:drop-shadow(0 10px 20px rgba(30,58,43,.12))}
.specimen-fig{fill:var(--ink-faint);font:italic 400 13px var(--font-display)}
.mycelium__core-title{fill:var(--ink)!important;font:600 20px var(--font-display)!important;text-anchor:middle}
.mycelium__core-copy{fill:var(--ink-soft)!important;font:500 12.5px var(--font-text)!important;text-anchor:middle}
.specimen-tag{opacity:0;transition:opacity .8s}
.mycelium.is-alive .specimen-tag{opacity:1}
.mycelium__node{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink);box-shadow:0 8px 20px -10px rgba(30,58,43,.25)}
.mycelium__node:before{background:var(--hypha)}
.mycelium__node.is-active{background:var(--spore)!important;border-color:var(--spore)!important;color:var(--on-spore)!important;box-shadow:0 0 0 6px rgba(199,232,107,.45)!important}
.mycelium__node.is-active:before{background:var(--sprout);box-shadow:none}
.mycelium__restart{background:var(--surface-2);border-color:var(--line-strong);color:var(--spore)}
.hero-spores i{background:var(--hypha)!important}
.cursor-glow{background:var(--sprout);opacity:.12}
.integrations{background:var(--deep)}
.integrations__chips span{background:var(--surface-2)}

/* ===== лиана вдоль страницы ===== */
.site-web .myc-strand.haze{display:none}
.site-web .myc-strand.glow{stroke:var(--sprout);stroke-width:5;opacity:.35}
.site-web .myc-strand.s0{stroke:var(--spore);stroke-width:1.5;opacity:.85;filter:none}
.site-web .pulses,.site-web .spark{display:none}
.site-web .vleaf{fill:var(--hypha);opacity:0;transform:scale(0);transform-box:fill-box;transform-origin:0% 50%}
.site-web .vleaf.is-big{fill:#7CC46A}
.site-web .vleaf-rib{stroke:var(--spore);stroke-width:.6;fill:none;opacity:0}
.site-web .vleaf.is-grown{opacity:.75;transform:scale(1)}
.site-web .vleaf-rib.is-grown{opacity:.45}
.site-web .mote{fill:var(--sprout)}
.site-web .mote.is-grown{opacity:.9;filter:none}
.site-web .node{fill:var(--spore)}
.site-web .node.is-grown{filter:none;opacity:1}
.site-web .silk.tie{stroke:var(--leaf)!important;stroke-width:1!important;opacity:.7!important}
.site-web .silk.feed{stroke:var(--leaf)!important;opacity:.5!important}
.site-web .silk-glow{stroke:var(--sprout)!important;opacity:.35!important;stroke-width:4!important}
.site-web .knot{fill:var(--leaf)}.site-web .knot.is-grown{filter:none}
.site-web .tip-halo{fill:var(--sprout);opacity:.35}
.site-web .tip-bud{fill:#7CC46A;stroke:var(--spore);stroke-width:1}
.site-web .tip-core{fill:var(--spore);filter:none}
.site-web .tip-glow{display:none}

/* блок «оживает»: светлые эффекты */
.conn-sweep{background:linear-gradient(90deg,transparent,rgba(199,232,107,.95),rgba(63,163,77,.8),transparent) no-repeat;background-size:40% 100%;background-position:-60% 0}
:is(.services,.day-card,.lab-card,.calculator,.process-strip,.work-card,.faq-list,.contact-card).is-connected{animation:connPulseLight 1.6s ease-out;box-shadow:0 0 0 1px rgba(63,163,77,.25),var(--shadow-card)}
@keyframes connPulseLight{0%{box-shadow:0 0 0 0 rgba(199,232,107,0),var(--shadow-card)}30%{box-shadow:0 0 0 6px rgba(199,232,107,.55),var(--shadow-card)}100%{box-shadow:0 0 0 1px rgba(63,163,77,.25),var(--shadow-card)}}
.section-tag.is-connected{background:var(--sprout);border-color:var(--leaf);color:var(--spore);box-shadow:none;animation:tagPingLight 1.2s ease-out}
@keyframes tagPingLight{0%{box-shadow:0 0 0 0 rgba(63,163,77,.45)}100%{box-shadow:0 0 0 12px rgba(63,163,77,0)}}

/* заявка */
.contact-spores i{background:var(--hypha)}
.contact-network .cn-trace{stroke:var(--line-strong)}
.contact-network.is-full .cn-core{filter:drop-shadow(0 0 8px rgba(199,232,107,.9))}
.field input,.field textarea{background:var(--surface-2)}
.field input:focus,.field textarea:focus{box-shadow:0 0 0 4px rgba(199,232,107,.5)}
.lead-form:focus-within{border-color:rgba(63,163,77,.45);box-shadow:0 30px 80px -40px rgba(30,58,43,.3)}
.lead-form .button--primary:after{background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%)}

/* процесс, FAQ, прочее с жёсткими тёмными цветами */
.process.is-in .process-step i{box-shadow:0 0 0 8px rgba(199,232,107,.45)}
.work-card.is-reached{border-color:var(--leaf);box-shadow:0 0 0 8px rgba(199,232,107,.35),var(--shadow-card)}
.faq-list details[open] summary:before{background:var(--leaf)}

.calc-result{background:var(--moss)!important}
@media(prefers-reduced-motion:reduce){.leaf-fills,[data-mycelium-paths]{animation:none}.site-web .vleaf{transform:none;opacity:.75}}
.day-card__result,.day-card__result b,.result-box{color:var(--on-spore)!important}
.day-card__result .button--primary{background:var(--sprout)!important;color:var(--spore)!important}
.process-step i{color:var(--spore)}
.process.is-in .process-step i{color:var(--on-spore)!important}

/* ===== hero v2: распускающиеся листья и цветы ===== */
.leaf-fills,[data-mycelium-paths]{animation:none!important}
.plant-sway{transform-box:view-box;transform-origin:1020px 880px;animation:plantSway 8s ease-in-out infinite}
@keyframes plantSway{0%,100%{transform:rotate(-.35deg)}50%{transform:rotate(.35deg)}}
.mycelium__path.is-branch{stroke-width:1.4}
.mycelium__path.is-root{stroke:var(--leaf);stroke-width:1;opacity:.5}
/* листья */
.leaf-in{opacity:0;transform:scale(.05) rotate(-55deg);transform-box:fill-box;transform-origin:0% 50%}
.mycelium.is-grown .leaf-in{animation:leafUnfold 1.5s cubic-bezier(.2,1.25,.35,1) var(--d,0ms) forwards}
@keyframes leafUnfold{0%{opacity:0;transform:scale(.05) rotate(-55deg)}25%{opacity:1}100%{opacity:1;transform:scale(1) rotate(0)}}
.leaf-fill{fill:var(--hypha)!important;opacity:.28!important;transition:fill .6s,opacity .6s}
.leaf.is-small .leaf-fill{fill:#7CC46A!important;opacity:.45!important}
.leaf-fill.is-active{fill:var(--sprout)!important;opacity:.85!important}
.leaf-out{fill:none;stroke:var(--spore);stroke-width:1.3}
.leaf.is-small .leaf-out{stroke-width:1}
.leaf-rib{fill:none;stroke:var(--spore);stroke-width:1;opacity:.7}
.leaf-vein{fill:none;stroke:var(--spore);stroke-width:.7;opacity:.4}
.leaf.is-small .leaf-vein{display:none}
.leaf:has(.leaf-fill.is-active) .leaf-out{stroke-width:2}
/* цветы */
.petal{fill:#FFFFFF;stroke:var(--spore);stroke-width:1;transform:scale(0);transform-box:fill-box;transform-origin:50% 100%}
.petal.inner{fill:#F3F9E4;stroke-width:.8}
.mycelium.is-grown .petal{animation:petalOpen 1.1s cubic-bezier(.2,1.35,.4,1) calc(var(--d,0ms) + var(--i,0) * 90ms) forwards}
@keyframes petalOpen{0%{transform:scale(0) rotate(-20deg)}100%{transform:scale(1) rotate(0)}}
.flower-core{fill:#E9D46A;stroke:#B89A2E;stroke-width:.8;transform:scale(0);transform-box:fill-box;transform-origin:center}
.stamen{fill:#B89A2E;transform:scale(0);transform-box:fill-box;transform-origin:center}
.mycelium.is-grown .flower-core,.mycelium.is-grown .stamen{animation:corePop .7s cubic-bezier(.3,1.6,.5,1) calc(var(--d,0ms) + 700ms) forwards}
@keyframes corePop{to{transform:scale(1)}}
.flower-in{transform-box:fill-box;transform-origin:center}
.mycelium.is-alive .flower-in{animation:flowerBreathe 6s ease-in-out infinite}
.flower.is-mid .flower-in{animation-delay:-2s}.flower.is-small .flower-in{animation-delay:-4s}
@keyframes flowerBreathe{0%,100%{transform:rotate(-4deg) scale(1)}50%{transform:rotate(4deg) scale(1.04)}}
/* бутон */
.bud-in{opacity:0;transform:scale(0);transform-box:fill-box;transform-origin:50% 100%}
.mycelium.is-grown .bud-in{animation:budGrow 1s cubic-bezier(.3,1.4,.5,1) var(--d,0ms) forwards}
@keyframes budGrow{to{opacity:1;transform:scale(1)}}
.bud-body{fill:#F3F9E4;stroke:var(--spore);stroke-width:1}
.bud-sepal{fill:none;stroke:var(--leaf);stroke-width:1.2;stroke-linecap:round}
/* опадающие лепестки */
.fall-petal{fill:#FFFFFF;stroke:var(--spore);stroke-width:.6;opacity:0}
.mycelium.is-alive .fall-petal{animation:petalFall 11s ease-in infinite}
@keyframes petalFall{0%{opacity:0;transform:translate(0,0) rotate(0)}8%{opacity:.9}85%{opacity:.7}100%{opacity:0;transform:translate(var(--fx),520px) rotate(var(--fr))}}
.fall-petal{transform-box:fill-box;transform-origin:center}
@media(prefers-reduced-motion:reduce){.leaf-in,.petal,.flower-core,.stamen,.bud-in{opacity:1!important;transform:none!important;animation:none!important}.plant-sway,.flower-in{animation:none!important}.fall-petals{display:none}}
.flower-in{--fs:1.4;transform:scale(var(--fs))}
.flower.is-mid .flower-in{--fs:1.35}.flower.is-small .flower-in{--fs:1.45}
@keyframes flowerBreathe{0%,100%{transform:rotate(-4deg) scale(var(--fs))}50%{transform:rotate(4deg) scale(calc(var(--fs) * 1.04))}}
.petal.inner{fill:#EAF6CF}

/* ===== hero v3: реалистичная прорисовка ===== */
.leaf-fill{fill:url(#gLeafTop)!important;opacity:1!important;stroke:none}
.leaf-half{fill:url(#gLeafBot);stroke:none}
.leaf.is-small .leaf-fill,.leaf.is-small .leaf-half{fill:url(#gLeafSmall)!important;opacity:1!important}
.leaf-fill.is-active{fill:url(#gLeafLit)!important}
.leaf:has(.leaf-fill.is-active) .leaf-half{fill:url(#gLeafLit)}
.leaf-rim{fill:none;stroke:#1F5A31;stroke-width:.6;opacity:.45}
.leaf-out{display:none}
.leaf-rib{stroke:#D9EDBF!important;stroke-width:1.3!important;opacity:.85!important}
.leaf-vein{stroke:#CFE8B0!important;stroke-width:.6!important;opacity:.55!important}
.leaf.is-small .leaf-vein{display:block;opacity:.4!important}
.leaf:has(.leaf-fill.is-active) .leaf-rim{stroke-width:1.2;opacity:.8}
.mycelium__path.stem{stroke:url(#gStem);opacity:1;stroke-linecap:round}
.mycelium__path.stem.s1{stroke-width:7}.mycelium__path.stem.s2{stroke-width:5}.mycelium__path.stem.s3{stroke-width:3.4}
.mycelium__path.is-branch{stroke:#3E8741;stroke-width:2.4;opacity:1}
.mycelium__path.is-tendril{stroke:#5CA04A;stroke-width:1.3;opacity:.9}
.mycelium__path.is-root{stroke:#8A7A5A;stroke-width:1.4;opacity:.45}
.mycelium__path.is-active{stroke-width:3!important}
.plant-ground{stroke:#B9AE8F;stroke-dasharray:none;opacity:.6}
.plant-ground-shadow{fill:#1E3A2B;opacity:.08}
/* цветок */
.petal-body{fill:url(#gPetal)!important;stroke:#D9D0AE;stroke-width:.6}
.petal-vein{fill:none;stroke:#E6DDB8;stroke-width:.6;opacity:.9}
.petal{transform:scale(0);transform-box:fill-box;transform-origin:50% 100%}
.mycelium.is-grown .petal{animation:petalOpen 1.2s cubic-bezier(.2,1.3,.4,1) calc(var(--d,0ms) + var(--i,0) * 110ms) forwards}
.petal.inner,.petal-inner{display:none}
.flower-shadow{fill:#1E3A2B;opacity:0;transition:opacity 1s}
.mycelium.is-alive .flower-shadow{opacity:.06}
.flower-core{fill:url(#gCore)!important;stroke:none!important}
.filament{stroke:#C9A640;stroke-width:.7;fill:none;transform:scale(0);transform-box:view-box}
.stamen{fill:#E7B83A!important}
.pistil{fill:#9DBB4A;transform:scale(0);transform-box:fill-box;transform-origin:center}
.mycelium.is-grown .filament,.mycelium.is-grown .pistil{animation:corePop .7s cubic-bezier(.3,1.6,.5,1) calc(var(--d,0ms) + 800ms) forwards}
.filament{transform-origin:0 0}
.bud-body{fill:#F2EFD9;stroke:#D2C9A5;stroke-width:.6}
.bud-sepal{fill:#4E9447!important;stroke:none!important}
.fall-petal{fill:#FFFDF4;stroke:#D9D0AE}
.mycelium__path.is-rib,.mycelium__path.is-vein{display:none}
.flower-shadow{display:none!important}
/* v4 — photoreal hero: photo cut-outs from assets/plant, animated in SVG */
.plant-sway.photo image{image-rendering:auto}
.hero [data-mycelium-flows]{display:none}
.ph-stem-clip{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0)}
.mycelium.is-grown .ph-stem-clip{animation:stemRise 1.5s cubic-bezier(.4,.1,.25,1) forwards}
@keyframes stemRise{to{transform:scaleY(1)}}
.ph-in{opacity:0;transform-box:view-box;transform-origin:0 0;transform:scale(.04) rotate(-50deg)}
.mycelium.is-grown .ph-in{animation:phUnfold 1.6s cubic-bezier(.2,1.2,.35,1) var(--d,0ms) forwards}
@keyframes phUnfold{0%{opacity:0;transform:scale(.04) rotate(-50deg)}20%{opacity:1}100%{opacity:1;transform:scale(1) rotate(0)}}
.ph-twig .ph-in{transform:scale(0,1)}
.mycelium.is-grown .ph-twig .ph-in{animation:twigGrow 1s cubic-bezier(.4,.1,.3,1) var(--d,0ms) forwards}
@keyframes twigGrow{0%{opacity:1;transform:scale(0,1)}100%{opacity:1;transform:scale(1)}}
.ph-leaf image{transition:filter .6s ease}
.ph-leaf.is-active image{filter:brightness(1.12) saturate(1.3) drop-shadow(0 0 14px rgba(199,232,107,.95))}
.ph-bloom{opacity:0;transform-box:view-box;transform-origin:0 0;transform:scale(0) rotate(-90deg)}
.mycelium.is-grown .ph-bloom{animation:phBloom 1.8s cubic-bezier(.2,1.25,.4,1) var(--d,0ms) forwards}
@keyframes phBloom{0%{opacity:0;transform:scale(0) rotate(-90deg)}30%{opacity:1}100%{opacity:1;transform:scale(1) rotate(0)}}
.ph-breathe{transform-box:view-box;transform-origin:0 0}
.mycelium.is-alive .ph-breathe{animation:phBreathe 7s ease-in-out infinite}
.ph-flower.is-mid .ph-breathe{animation-delay:-2.3s}.ph-flower.is-small .ph-breathe{animation-delay:-4.6s}
@keyframes phBreathe{0%,100%{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.04)}}
/* the top bud opens into the flower */
.mycelium.is-grown .ph-bud.is-top .ph-in{animation:phUnfold 1s cubic-bezier(.2,1.2,.35,1) var(--d,0ms) forwards,budOpen .7s ease-in 2150ms forwards}
@keyframes budOpen{to{opacity:0;transform:scale(1.25,.6)}}
.fall-petal{fill:#FFFFFF;stroke:#E4DCC0;stroke-width:.5;filter:drop-shadow(0 3px 3px rgba(30,58,43,.15))}
@media(prefers-reduced-motion:reduce){.ph-in,.ph-bloom{opacity:1!important;transform:none!important;animation:none!important}.ph-stem-clip{transform:none!important;animation:none!important}.ph-bud.is-top{display:none}.ph-breathe{animation:none!important}}
/* v4 — photoreal vine down the page: a living stem with photo leaves, a flower at every section, a bud at the growing tip */
.site-web .myc-strand.haze{display:block;stroke:#2F6A2E;stroke-width:6.5;opacity:.95}
.site-web .myc-strand.glow{stroke:#6BA548;stroke-width:4.6;opacity:1;filter:none}
.site-web .myc-strand.s0{stroke:#C4E394;stroke-width:1.2;opacity:.9;filter:none;transform:translateX(-1.1px)}
.site-web .pleaf{opacity:0;transform-box:view-box;transform-origin:0 0;transform:scale(.05) rotate(-45deg)}
.site-web .pleaf.is-grown{opacity:1;transform:none}
.site-web .pleaf image,.site-web .pflower image{filter:drop-shadow(1px 3px 3px rgba(30,58,43,.22))}
.site-web .pflower{opacity:0;transform-box:view-box;transform-origin:0 0;transform:scale(0) rotate(-120deg)}
.site-web .pflower.is-grown{opacity:1;transform:none}
.site-web .pflower-in{transform-box:view-box;transform-origin:0 0;animation:phBreathe 7s ease-in-out var(--tw,0s) infinite}
.site-web .tip-halo{fill:var(--sprout);opacity:.3}
.site-web .tip-photo{filter:drop-shadow(0 3px 3px rgba(30,58,43,.25))}
.site-web .silk.tie{stroke:#5E9A43!important;stroke-width:1.6!important;opacity:.85!important}
.site-web .silk-glow{display:none}
.site-web .knot{fill:#5E9A43}
@media(max-width:860px){.site-web .myc-strand.haze{stroke-width:4.4}.site-web .myc-strand.glow{stroke-width:3}.site-web .myc-strand.s0{stroke-width:.8;transform:translateX(-.7px)}}
@media(prefers-reduced-motion:reduce){.site-web .pleaf,.site-web .pflower{opacity:1!important;transform:none!important;transition:none!important}.site-web .pflower-in{animation:none}}
.site-web .myc-strand.haze{stroke:#3D7535;stroke-width:6}
.site-web .myc-strand.glow{stroke:#76AC50;stroke-width:4.4}
.site-web .myc-strand.s0{stroke:#B3D885;stroke-width:1.3;opacity:.55}
.site-web circle.stem-node{fill:#A3B55C;stroke:#5E7F35;stroke-width:.8}
.site-web circle.stem-node.is-grown{opacity:1;animation:none;filter:none}
/* v4 — photo plants in the blocks */
@media(max-width:860px){.site-web .myc-cord,.site-web .tip{display:none}}
/* process: bud → leaf → flower, each appears when the thread reaches its step */
.process-plant{position:absolute;top:10px;left:calc(50% + 34px);height:48px;width:auto;pointer-events:none;filter:drop-shadow(1px 3px 3px rgba(30,58,43,.2));transform-origin:0% 100%}
.process-plant.is-leaf{height:34px;top:18px}
.process-plant.is-flower{height:54px;top:4px;left:calc(50% + 30px)}
.motion-js .process-plant{opacity:0;transform:scale(.2) rotate(-40deg);transition:opacity .6s,transform 1.1s cubic-bezier(.2,1.3,.4,1)}
.process.is-in .process-plant{opacity:1;transform:none}
.process.is-in .process-step:nth-of-type(1) .process-plant{transition-delay:.5s}
.process.is-in .process-step:nth-of-type(2) .process-plant{transition-delay:1.55s}
.process.is-in .process-step:nth-of-type(3) .process-plant{transition-delay:2.6s}
/* about: leaves unfold from the AI core and peek out from under the cards */
.work-plant{position:absolute;left:50%;top:50%;width:0;height:0;z-index:0;pointer-events:none}
.work-grid:before{z-index:2}.work-card{position:relative;z-index:1}
.work-leaf{position:absolute;left:0;top:0;width:190px;height:auto;transform-origin:0 50%;transform:translate(0,-50%) rotate(var(--a)) scale(1);filter:drop-shadow(2px 5px 5px rgba(30,58,43,.2))}
.work-flower{position:absolute;left:-78px;top:-78px;width:156px;height:auto;opacity:.0}
.motion-js .work-leaf{opacity:0;transform:translate(0,-50%) rotate(calc(var(--a) - 40deg)) scale(.1);transition:opacity .6s var(--d),transform 1.4s cubic-bezier(.2,1.2,.35,1) var(--d)}
.about.is-in .work-leaf{opacity:1;transform:translate(0,-50%) rotate(var(--a)) scale(1)}
.about.is-motion-active .work-plant{animation:workSway 8s ease-in-out infinite}
@keyframes workSway{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
@media(max-width:860px){.work-plant{display:none}}
/* contact: leaves on filled branches, the core blooms when all four are filled */
.cn-leaf{opacity:0;transform-box:view-box;transform-origin:0 0;transform:scale(.05) rotate(-50deg);transition:opacity .4s,transform 1s cubic-bezier(.2,1.3,.4,1)}
.cn-branch.is-lit .cn-leaf{opacity:1;transform:none}
.cn-leaf image{filter:drop-shadow(1px 2px 2px rgba(30,58,43,.2))}
.cn-bloom-in{opacity:0;transform-box:view-box;transform-origin:0 0;transform:scale(0) rotate(-120deg);transition:opacity .5s,transform 1.4s cubic-bezier(.2,1.25,.4,1)}
.contact-network.is-full .cn-bloom-in{opacity:1;transform:none}
.contact-network .cn-count{transition:opacity .4s}
.contact-network.is-full .cn-count{opacity:0}
.contact-network.is-full .cn-core{opacity:0;transition:opacity .4s}
@media(prefers-reduced-motion:reduce){.process-plant,.work-leaf,.cn-leaf,.cn-bloom-in{transition:none!important}.work-plant{animation:none!important}}
.work-leaf{width:150px;left:-.4px;top:-94.5px;transform-origin:.25% 97%;transform:rotate(calc(var(--a) + 32.7deg))}
.motion-js .work-leaf{transform:rotate(calc(var(--a) - 10deg)) scale(.1)}
.about.is-in .work-leaf{transform:rotate(calc(var(--a) + 32.7deg)) scale(1)}
.work-leaf[style*="--a:-90"],.work-leaf[style*="--a:90"]{width:120px;top:-75.6px}
.work-leaf{max-width:none}
}

/* css/04-blocks/18-solutions-v2.css */
@layer solutions {
.solutions-v2{--sv2-paper:#F4F1E8;--sv2-card:#FFF;--sv2-card-soft:#FBFAF4;--sv2-ink:#1E3A2B;--sv2-muted:#55665A;--sv2-line:#DAD6C6;--sv2-accent:#0F5132;--sv2-sprout:#B8F25B;color:var(--sv2-ink);background:var(--sv2-paper)}
.solutions-v2 .site-header{border-color:rgba(30,58,43,.12);background:rgba(244,241,232,.9)}
.solutions-v2 .site-nav a{color:var(--sv2-muted)}.solutions-v2 .site-nav a.is-active{color:var(--sv2-accent);font-weight:650}
.solutions-v2 .site-footer{background:#EAE6D9}.solutions-v2 .site-footer__inner>b{color:var(--sv2-ink)}
.atlas-label{display:inline-flex;align-items:center;gap:10px;color:var(--sv2-accent);font-size:12px;font-weight:650;letter-spacing:.13em;text-transform:uppercase}.atlas-label:before{content:"";width:20px;height:1px;background:currentColor}
.solutions-v2 h1,.solutions-v2 h2,.solutions-v2 h3{font-family:var(--font-display);letter-spacing:-.035em}.solutions-v2 h1 em,.solutions-v2 h2 em{color:var(--sv2-accent);font-weight:400}.solution-actions{display:flex;flex-wrap:wrap;gap:12px}.solutions-v2 .button--outline{border-color:#B7B09C;color:var(--sv2-ink)}

.demo-data{display:inline-flex;padding:5px 8px;border-radius:999px;background:#DFF1CC;color:#245533;font-size:10px;font-weight:700}.solution-final-cta h2{max-width:760px;margin:18px 0 12px;font-size:clamp(42px,5vw,72px);font-weight:560;line-height:1}.solution-final-cta p{max-width:650px;color:var(--sv2-muted);font-size:18px}

.solution-v2-hero{padding:70px 0 104px}.solution-v2-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);gap:84px;align-items:center}.solution-v2-hero__copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.solution-v2-hero h1{max-width:780px;margin:0;font-size:clamp(50px,6vw,84px);font-weight:560;line-height:1}.solution-v2-hero__copy>p{max-width:680px;margin:0;color:var(--sv2-muted);font-size:19px;line-height:1.65}.solution-safety{max-width:680px;padding:14px 16px;border:1px solid #ABC28E;border-radius:12px;background:#EDF5E3;color:#2D5333;font-size:14px;line-height:1.5}.breadcrumbs{display:flex;gap:8px;color:var(--sv2-muted);font-size:13px}.breadcrumbs a{color:inherit}
.hero-result-wrap{position:relative;padding:48px 26px}.hero-result-wrap:before,.hero-result-wrap:after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--sv2-line)}.hero-result-wrap:before{top:28px}.hero-result-wrap:after{bottom:28px}.atlas-note{position:absolute;z-index:2;padding:4px 8px;background:var(--sv2-paper);color:var(--sv2-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.atlas-note--top{left:32px;top:18px}.atlas-note--bottom{right:32px;bottom:18px}.result-card{position:relative;z-index:1;padding:24px;border:1px solid var(--sv2-line);border-radius:22px;background:#fff;box-shadow:0 28px 64px rgba(30,58,43,.13)}.result-card__head{display:flex;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--sv2-line)}.result-card__head span:first-child{font:600 22px var(--font-display)}.result-card__status{padding:6px 9px;border-radius:999px;background:#E7F3D8;color:#31593B;font-size:11px;font-weight:700}.result-card__fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.result-card__fields>div{padding:15px 0;border-bottom:1px solid #E5E1D5}.result-card__fields small{display:block;color:var(--sv2-muted);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.result-card__fields b{display:block;margin-top:5px;font-size:14px}.result-card__fields .is-filled b{color:var(--sv2-accent)}
.solution-v2-section{padding:104px 0}.solution-v2-section:nth-of-type(even){background:#EBE7DA}.solution-section-title{display:grid;grid-template-columns:80px 1fr;gap:26px;align-items:start}.atlas-index{color:var(--sv2-accent);font:italic 400 44px var(--font-display)}.solution-section-title h2{max-width:930px;margin:12px 0 0;font-size:clamp(40px,5vw,68px);font-weight:560;line-height:1.03}
.problem-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:56px 0 0;padding:0;list-style:none;border-top:1px solid var(--sv2-line);border-bottom:1px solid var(--sv2-line)}.problem-list li{min-height:128px;padding:32px 22px;border-right:1px solid var(--sv2-line);color:var(--sv2-muted);font-size:17px;line-height:1.55}.problem-list li:last-child{border:0}
.workflow-v2{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:64px;border-top:1px solid #9FAC96}.workflow-v2 article{position:relative;padding:30px 24px 0 0}.workflow-v2 article:before{content:"";position:absolute;left:0;top:-5px;width:9px;height:9px;border:2px solid var(--sv2-accent);border-radius:50%;background:var(--sv2-paper)}.workflow-v2 b{color:var(--sv2-accent);font-size:11px}.workflow-v2 h3{margin:10px 0;font-size:22px}.workflow-v2 p{margin:0;color:var(--sv2-muted);font-size:14px;line-height:1.55}.workflow-v2__dot{position:absolute;left:0;top:-6px;width:12px;height:12px;border-radius:50%;background:var(--sv2-sprout);box-shadow:0 0 0 5px rgba(184,242,91,.24);animation:workflowTravel 9s linear infinite}@keyframes workflowTravel{to{left:calc(100% - 12px)}}
.demo-disclaimer{display:flex;align-items:center;justify-content:center;min-height:44px;margin:44px 0 16px;padding:8px 18px;border:1px solid #9EB383;border-radius:12px;background:#EEF5E5;color:#31593B;font-size:13px;font-weight:650;text-align:center}.demo-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:18px}.demo-chat{display:flex;min-height:620px;flex-direction:column;overflow:hidden;border:1px solid var(--sv2-line);border-radius:22px;background:#fff}.demo-chat__head{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--sv2-line)}.demo-chat__avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--sv2-accent);color:#fff;font-weight:700}.demo-chat__head div{display:grid}.demo-chat__head small{color:var(--sv2-muted)}.demo-chat__head>span:last-child{margin-left:auto}.demo-progress{height:3px;background:#E8E4D8}.demo-progress:before{content:"";display:block;width:var(--progress,0%);height:100%;background:var(--sv2-accent);transition:width .3s}.demo-progress__label{padding:8px 20px;color:var(--sv2-muted);font-size:11px}.demo-log{min-height:300px;max-height:390px;display:flex;flex:1;flex-direction:column;gap:10px;overflow:auto;padding:20px;background:#F7F5EE}.demo-message{max-width:78%;padding:11px 13px;border-radius:15px;font-size:14px;line-height:1.45}.demo-message--bot{align-self:flex-start;border-bottom-left-radius:4px;background:#E5ECD9}.demo-message--user{align-self:flex-end;border-bottom-right-radius:4px;background:var(--sv2-accent);color:#fff}.demo-typing{align-self:flex-start;color:var(--sv2-muted);font-size:12px}.demo-choices{display:flex;flex-wrap:wrap;gap:8px;padding:16px;border-top:1px solid var(--sv2-line)}.demo-choices button,.demo-matches button{min-height:44px;padding:9px 14px;border:1px solid #A9B69E;border-radius:999px;background:#fff;color:var(--sv2-ink);cursor:pointer}.demo-choices button:hover:not(:disabled),.demo-matches button:hover:not(:disabled){border-color:var(--sv2-accent);background:#EFF4E8}.demo-choices button:disabled{opacity:.55}.demo-choice--secondary{border-style:dashed!important}.demo-result{display:flex;flex-direction:column;gap:14px}.demo-result .result-card{box-shadow:none}.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.photo-strip span{height:66px;border-radius:10px;background:linear-gradient(145deg,#CBD3C3,#F1EBDD)}.demo-matches{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.demo-matches[hidden]{display:none}.demo-matches article{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid var(--sv2-line);border-radius:13px;background:#fff}.demo-matches span{color:var(--sv2-muted);font-size:11px}.demo-matches strong{font-size:13px}.demo-matches button{margin-top:7px;border-radius:10px;font-size:12px}
.inside-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin-top:56px}.inside-node{position:relative;min-height:126px;padding:20px;border:1px solid var(--sv2-line);border-radius:18px;background:#fff}.inside-node:not(:last-child):after{content:"→";position:absolute;right:-21px;top:50%;color:var(--sv2-accent);transform:translateY(-50%)}.inside-node b{display:block;color:var(--sv2-accent);font-size:11px}.inside-node span{display:block;margin-top:16px;font-weight:650;line-height:1.4}.integration-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.integration-chips span{padding:8px 12px;border:1px solid #BFC5B6;border-radius:999px;background:rgba(255,255,255,.45);color:var(--sv2-muted);font-size:12px}
.roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px}.roles-grid article{min-height:350px;padding:34px;border:1px solid var(--sv2-line);border-radius:24px;background:#fff}.roles-grid article>span{font:600 28px var(--font-display)}.roles-grid ul{display:grid;gap:0;margin:28px 0 0;padding:0;list-style:none}.roles-grid li{padding:15px 0;border-top:1px solid var(--sv2-line)}.roles-grid li:before{content:"—";margin-right:10px;color:var(--sv2-accent)}.roles-grid .roles-grid__human{color:#F0F5F1;background:#143326;border-color:#214B39}.roles-grid__human li{border-color:#315B47}.roles-grid__human li:before{color:var(--sv2-sprout)}
.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:56px}.scope-grid article{padding:28px;border:1px solid var(--sv2-line);border-radius:18px;background:#fff}.scope-grid span{color:var(--sv2-accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.scope-grid p{margin:12px 0 0;color:var(--sv2-muted);line-height:1.6}
.build-table{margin-top:56px;border-top:1px solid #AFAF9F}.build-table__head,.build-row{display:grid;grid-template-columns:.7fr 1.3fr .45fr;gap:20px;align-items:center;padding:18px 14px;border-bottom:1px solid var(--sv2-line)}.build-table__head{color:var(--sv2-muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.build-row b{font-family:var(--font-display);font-size:18px}.build-row span:nth-child(2){color:var(--sv2-muted)}.build-status{justify-self:start;padding:6px 9px;border-radius:999px;background:#E7EEDB;color:#31593B;font-size:11px;font-weight:700}.build-status--demo{background:#EFE6CF;color:#68572F}
.launch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:56px 0 0;padding:0;counter-reset:launch;list-style:none}.launch-grid li{min-height:190px;padding:24px;border:1px solid var(--sv2-line);border-radius:18px;background:#fff}.launch-grid li:before{counter-increment:launch;content:"0" counter(launch);display:block;margin-bottom:26px;color:var(--sv2-accent);font-size:11px;font-weight:700}.launch-grid b{display:block;font:600 22px var(--font-display)}.launch-grid span{display:block;margin-top:8px;color:var(--sv2-muted);line-height:1.55}
.solution-final-cta{padding:96px 0;background:#E5E1D3}.solution-final-cta__inner{display:grid;grid-template-columns:1fr auto;gap:54px;align-items:end}

.office-demo{display:grid;grid-template-columns:240px 1fr;gap:16px;padding:18px;border:1px solid var(--sv2-line);border-radius:24px;background:#fff}.office-sidebar{display:flex;flex-direction:column;gap:7px;padding:14px;border-radius:16px;background:#F1EFE6}.office-sidebar button{min-height:46px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--sv2-ink);text-align:left;cursor:pointer}.office-sidebar button.is-active{background:var(--sv2-accent);color:#fff}.office-main{padding:6px}.office-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.office-metrics article{padding:14px;border:1px solid var(--sv2-line);border-radius:13px}.office-metrics b{display:block;font:600 30px var(--font-display)}.office-metrics span{color:var(--sv2-muted);font-size:11px}.office-events{display:grid;gap:8px;margin-top:16px}.office-event{opacity:0;display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px;border-bottom:1px solid var(--sv2-line);transform:translateY(8px);transition:.3s}.office-event.is-visible{opacity:1;transform:none}.office-event.is-highlighted{border-radius:10px;background:#EEF4E7}.office-event b{font-size:12px}.office-attention{width:100%;min-height:48px;margin-top:16px;padding:12px;border:1px solid #D6C699;border-radius:12px;background:#F5EDD7;color:#554923;text-align:left;cursor:pointer}.office-attention span{display:none;margin-top:8px;font-size:12px}.office-attention.is-open span{display:block}

@media(max-width:860px){
  .solutions-v2 .site-nav.is-open{background:#fff}.solution-v2-hero__grid,.solution-final-cta__inner{grid-template-columns:1fr;gap:40px}.solution-final-cta{padding:64px 0}.solution-final-cta h2{font-size:44px}.solution-actions{display:grid;width:100%}.solution-actions .button{width:100%;box-sizing:border-box}
  .solution-v2-hero{padding:42px 0 72px}.solution-v2-hero__grid{display:flex;flex-direction:column}.solution-v2-hero h1{font-size:48px}.hero-result-wrap{width:100%;box-sizing:border-box;padding:42px 0}.atlas-note--top{left:6px}.atlas-note--bottom{right:6px}.result-card{padding:18px}.result-card__fields{grid-template-columns:1fr}
  .solution-v2-section{padding:72px 0}.solution-section-title{grid-template-columns:48px 1fr;gap:14px}.atlas-index{font-size:32px}.solution-section-title h2{font-size:40px}.problem-list{grid-template-columns:1fr}.problem-list li{min-height:0;border-right:0;border-bottom:1px solid var(--sv2-line)}
  .workflow-v2{grid-template-columns:1fr;margin-left:12px;padding-left:28px;border-top:0;border-left:1px solid #9FAC96}.workflow-v2 article{padding:0 0 36px 12px}.workflow-v2 article:before{left:-35px;top:4px}.workflow-v2__dot{left:-7px!important;top:0;animation:workflowTravelMobile 9s linear infinite}@keyframes workflowTravelMobile{to{top:calc(100% - 12px)}}
  .demo-layout{grid-template-columns:1fr}.demo-chat{min-height:560px}.demo-log{min-height:280px}.demo-choices{display:grid}.demo-choices button{width:100%;border-radius:12px}.demo-result{order:2}.demo-matches{grid-template-columns:1fr}.inside-flow{grid-template-columns:1fr;margin-left:8px;padding-left:22px;border-left:1px solid var(--sv2-line)}.inside-node{min-height:0}.inside-node:not(:last-child):after{content:"↓";left:-29px;right:auto;top:auto;bottom:-24px}.roles-grid,.scope-grid{grid-template-columns:1fr}.roles-grid article{min-height:0;padding:24px}.scope-grid{margin-top:36px}.build-table{overflow-x:auto}.build-table__head,.build-row{min-width:620px}.launch-grid{grid-template-columns:1fr}.launch-grid li{min-height:0}.office-demo{grid-template-columns:1fr}.office-sidebar{display:grid;grid-template-columns:1fr 1fr}.office-metrics{grid-template-columns:1fr 1fr}.office-event{grid-template-columns:1fr;gap:4px}
}
@media(prefers-reduced-motion:reduce){.workflow-v2__dot{animation:none;left:0}.office-event{opacity:1;transform:none;transition:none}.demo-progress:before{transition:none}}
}

/* css/04-blocks/19-home-solutions.css */
@layer solutions {
.home-solutions{background:var(--canvas);scroll-margin-top:76px}
.home-solutions__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;padding-bottom:48px}
.home-solutions__title{grid-column:span 8;display:flex;flex-direction:column;gap:20px}.home-solutions__eyebrow{display:flex;align-items:center;gap:12px;color:#56635B;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.home-solutions__eyebrow i{width:32px;height:1px;background:#17221D}
.home-solutions__head h2{margin:0;color:#17221D;font:500 60px/1.05 var(--font-display);letter-spacing:-.01em}.home-solutions__head h2 em{color:#1D6B5E;font-weight:500}.home-solutions__head>p{grid-column:span 4;margin:0;padding-left:24px;border-left:1px solid #D6D9CF;color:#3B4640;font-size:16px;line-height:1.55}
.solutions-accordion{display:flex;flex-direction:column;gap:12px}.solution-row{overflow:hidden;border:1px solid #DCDDD4;border-radius:22px;background:transparent}.solution-row.is-open{border-color:#D6D9CF;background:#FFF}
.solution-row__button{appearance:none;width:100%;display:grid;grid-template-columns:80px minmax(0,1fr) 360px 56px;column-gap:24px;align-items:center;margin:0;padding:22px 24px 22px 28px;border:0;background:none;color:#17221D;text-align:left;font:inherit;cursor:pointer;box-sizing:border-box}.solution-row__button:focus-visible{outline:2px solid #1D6B5E;outline-offset:-4px;border-radius:22px}.solution-row__number{color:#1D6B5E;font:500 30px var(--font-display)}.solution-row__heading{display:flex;flex-direction:column;gap:6px}.solution-row__label{display:flex;align-items:center;gap:10px;color:#56635B;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.solution-row__label b{padding:4px 10px;border-radius:999px;background:#17221D;color:#F3F1EA;font-size:11px;font-weight:500;letter-spacing:.08em}.solution-row__title{font:500 28px/1.15 var(--font-display)}.solution-row__features{color:#56635B;font-size:15px}.solution-row__icon{position:relative;width:48px;height:48px;justify-self:end;border:1px solid #17221D;border-radius:50%;color:#17221D;transition:background .25s ease,color .25s ease,border-color .25s ease}.solution-row__icon i{position:absolute;left:15px;top:23px;width:18px;height:1.6px;background:currentColor}.solution-row__icon i:last-child{transform:rotate(90deg);transition:opacity .25s ease}.solution-row.is-open .solution-row__icon i:last-child{opacity:0}.solution-row__button:hover .solution-row__icon{border-color:#1D6B5E;background:#1D6B5E;color:#FFF}
.solution-row__panel[hidden]{display:none}.solution-row__content{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding:8px 28px 28px 132px}.solution-row__copy{grid-column:span 5;display:flex;flex-direction:column;gap:18px;padding-top:8px}.solution-row__copy>p{margin:0;color:#3B4640;font-size:18px;line-height:1.55}.solution-row__takes{display:flex;flex-direction:column;gap:10px}.solution-row__takes>span{color:#56635B;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.solution-row__takes ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.solution-row__takes li{position:relative;padding-left:28px;font-size:16px;line-height:1.45}.solution-row__takes li:before{content:"";position:absolute;left:2px;top:3px;width:14px;height:8px;border-left:2px solid #1D6B5E;border-bottom:2px solid #1D6B5E;transform:rotate(-45deg)}.solution-row__actions{display:flex;gap:12px;margin-top:8px}.solution-row__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;font-size:15px;text-decoration:none}.solution-row__primary{background:#1D6B5E;color:#FFF}.solution-row__primary:hover{background:#14524A;color:#FFF}
.solution-mini{grid-column:span 7;min-width:0;height:300px;display:flex;gap:18px;padding:22px;border-radius:16px;background:#F7F6F1;box-sizing:border-box;color:#17221D}.beauty-chat{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px}.beauty-chat span{max-width:90%;padding:10px 14px;border-radius:14px 14px 4px 14px;background:#17221D;color:#FFF;font-size:14px}.beauty-chat span:nth-child(2){align-self:flex-start;border:1px solid #D6D9CF;border-radius:14px 14px 14px 4px;background:#FFF;color:#17221D;line-height:1.45}.beauty-chat span:nth-child(odd){align-self:flex-end}.beauty-calendar{width:260px;display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #D6D9CF;border-radius:12px;background:#FFF;box-sizing:border-box;font-size:12px}.beauty-calendar__head,.beauty-calendar>div:not(.beauty-calendar__head){display:grid;grid-template-columns:44px repeat(2,minmax(0,1fr));gap:6px}.beauty-calendar__head{color:#56635B;font-weight:500}.beauty-calendar small{color:#56635B}.beauty-calendar i,.beauty-calendar em,.beauty-calendar b{min-height:22px;border-radius:4px;background:#E7E6DF}.beauty-calendar em{border:1px dashed #D6D9CF;background:transparent}.beauty-calendar b{padding:3px 6px;background:#1D6B5E;color:#FFF;font-weight:500}.beauty-calendar>strong{margin-top:auto;color:#1D6B5E;font-weight:500}
.solution-mini--lead{align-items:center}.lead-card{flex:1;display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid #D6D9CF;border-radius:12px;background:#FFF}.lead-card>div{display:flex;justify-content:space-between;align-items:center}.lead-card>div>b{font-size:16px}.lead-card>div>span{padding:4px 10px;border-radius:999px;background:#E2EDE8;color:#14524A;font-size:12px;font-weight:500}.lead-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin:0;font-size:14px}.lead-card dt{color:#56635B;font-size:12px}.lead-card dd{margin:2px 0 0}
.solution-mini--clinic{align-items:center}.clinic-chat{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px}.clinic-chat>span{align-self:flex-start;padding:10px 14px;border-radius:14px 14px 14px 4px;background:#17221D;color:#FFF;font-size:14px}.clinic-chat>span:nth-child(2){border:1px solid #D6D9CF;border-radius:14px;background:#FFF;color:#17221D;line-height:1.45}.clinic-chat small{display:flex;align-items:center;gap:6px;color:#9A5B22}.clinic-chat small i{width:6px;height:6px;border-radius:50%;background:#9A5B22}.clinic-slots{width:150px;display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #D6D9CF;border-radius:12px;background:#FFF;font-size:13px}.clinic-slots>b{color:#56635B}.clinic-slots span{padding:5px 8px;border-radius:4px;background:#E7E6DF;color:#56635B}.clinic-slots .is-active{background:#1D6B5E;color:#FFF}.clinic-slots .is-free{border:1px dashed #B9BFB2;background:transparent;color:#17221D}
.solution-mini--construction{align-items:center}.construction-source{width:260px;display:flex;flex-direction:column;gap:10px}.construction-source p{margin:0;padding:10px 14px;border-radius:14px 14px 14px 4px;background:#17221D;color:#FFF;font-size:14px;line-height:1.4}.construction-source>div{display:flex;gap:6px}.construction-source i,.construction-source span{width:56px;height:44px;border-radius:6px;background:repeating-linear-gradient(135deg,#DCD9CE 0 6px,#E9E7DF 6px 12px)}.construction-source i:nth-child(2){background:repeating-linear-gradient(45deg,#D5DCD3 0 6px,#E6EAE3 6px 12px)}.construction-source span{width:44px;display:grid;place-items:center;background:#E7E6DF;color:#56635B;font-size:12px}.construction-arrow{color:#1D6B5E;font-size:20px}.brief-card{flex:1;display:flex;flex-direction:column;gap:7px;padding:14px 16px;border:1px solid #D6D9CF;border-radius:12px;background:#FFF;font-size:13px}.brief-card>b{font-size:14px}.brief-card dl{display:grid;gap:7px;margin:0}.brief-card dl>div{display:flex;justify-content:space-between;gap:12px}.brief-card dt{color:#56635B}.brief-card dd{margin:0;text-align:right}.brief-card dl>div:last-child{color:#1D6B5E;font-weight:500}.brief-card dl>div:last-child dt{color:inherit}
.solution-mini--shop{flex-direction:column}.shop-query{padding:10px 16px;border:1px solid #D6D9CF;border-radius:999px;background:#FFF;color:#3B4640;font-size:14px}.shop-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:1}.shop-products article{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid #D6D9CF;border-radius:10px;background:#FFF;font-size:13px}.shop-products article.is-best{border:1.5px solid #1D6B5E}.shop-products i{height:60px;border-radius:6px;background:#E7E6DF}.shop-products span{color:#56635B}.shop-products strong{margin-top:auto}
.solution-mini--office{flex:1;flex-direction:column;gap:14px;border-radius:12px;background:#17221D;color:#F3F1EA}.office-board__head{display:flex;justify-content:space-between;align-items:center}.office-board__head>b{font-size:15px}.office-board__head span{color:#E0B27A;font-size:12px}.office-board__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.office-board__metrics article{padding:12px;border-radius:10px;background:#2C3B34}.office-board__metrics b{display:block;font:500 30px var(--font-display)}.office-board__metrics article:last-child b{color:#8FD1BF}.office-board__metrics span{color:#B8C4BB;font-size:12px}.office-board__agents{display:flex;flex-wrap:wrap;gap:8px}.office-board__agents span{padding:5px 10px;border:1px solid #3E4F47;border-radius:999px;font-size:12px}.office-board__agents span:last-child{border-color:#8FD1BF;color:#8FD1BF}
.solutions-custom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;padding:28px 28px 28px 132px;border:1px dashed #B9BFB2;border-radius:22px;background:#FFF}.solutions-custom>div{display:flex;flex-direction:column;gap:6px}.solutions-custom strong{font:500 26px var(--font-display)}.solutions-custom strong em{color:#1D6B5E}.solutions-custom span{color:#56635B;font-size:15px}.solutions-custom>a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;background:#1D6B5E;color:#FFF;font-size:16px;font-weight:500;text-decoration:none;white-space:nowrap}.solutions-custom+a:hover{background:#14524A}
.solutions-custom>a:hover{background:#14524A}
@media(max-width:860px){.home-solutions__head{grid-template-columns:1fr;gap:20px;padding-bottom:36px}.home-solutions__title,.home-solutions__head>p{grid-column:auto}.home-solutions__head>p{padding-left:0;border-left:0}.home-solutions__head h2{font-size:44px}.solution-row__button{grid-template-columns:58px minmax(0,1fr) 48px;gap:14px;padding:20px}.solution-row__features{display:none}.solution-row__content{grid-template-columns:1fr;gap:24px;padding:4px 20px 24px}.solution-row__copy,.solution-mini{grid-column:auto}.solution-row__actions{display:grid}.solution-row__actions a{width:100%;box-sizing:border-box}.solution-mini{height:auto;min-height:300px}.solutions-custom{padding-left:28px}}
@media(max-width:600px){.home-solutions>.container{width:calc(100% - 40px)}.home-solutions__head h2{font-size:36px}.home-solutions__head>p{font-size:15px}.solution-row__button{grid-template-columns:42px minmax(0,1fr) 40px;gap:10px;padding:18px 16px}.solution-row__number{font-size:22px}.solution-row__title{font-size:22px}.solution-row__icon{width:40px;height:40px}.solution-row__icon i{left:12px;top:19px;width:16px}.solution-row__content{padding-left:16px;padding-right:16px}.solution-row__copy>p{font-size:16px}.solution-row__actions{margin-top:2px}.solution-mini{min-height:0;overflow:hidden;padding:16px;gap:12px}.solution-mini--beauty,.solution-mini--clinic,.solution-mini--construction{flex-direction:column}.beauty-calendar,.clinic-slots,.construction-source{width:100%}.beauty-chat span{max-width:88%}.lead-card dl{grid-template-columns:1fr 1fr}.construction-arrow{align-self:center;transform:rotate(90deg)}.shop-products{grid-template-columns:1fr}.shop-products i{height:38px}.office-board__metrics{grid-template-columns:1fr 1fr}.solutions-custom{align-items:stretch;flex-direction:column;padding:24px}.solutions-custom>a{width:100%;box-sizing:border-box}.services{margin-top:36px}}
@media(prefers-reduced-motion:reduce){.solution-row__icon,.solution-row__icon i{transition:none}}
}

/* css/04-blocks/20-marketing-flow.css */
@layer solutions {
.diagnostic{position:relative;background:var(--canvas)}
.diagnostic:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 48%,rgba(47,191,113,.1),transparent 32%);pointer-events:none}
.diagnostic__grid{position:relative;display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:start}
.diagnostic__copy{position:sticky;top:116px}
.diagnostic__copy>p{max-width:540px;margin:24px 0;color:var(--ink-soft);font-size:18px}
.diagnostic__copy ol{display:grid;gap:11px;margin:30px 0 0;padding:0;counter-reset:routine;list-style:none;color:var(--ink-soft)}
.diagnostic__copy li{display:flex;align-items:center;gap:13px;counter-increment:routine}
.diagnostic__copy li:before{content:"0" counter(routine);width:38px;height:38px;display:grid;place-items:center;flex:none;border:1px solid var(--line-strong);border-radius:50%;color:var(--spore);font-size:12px}
.routine-card{min-height:570px;padding:34px;border:1px solid var(--line);border-radius:30px;background:var(--surface);box-shadow:var(--shadow-card)}
.routine-card__progress{display:flex;align-items:center;gap:18px;margin-bottom:32px;color:var(--ink-mute);font-size:13px}
.routine-card__progress>i{height:4px;flex:1;overflow:hidden;border-radius:99px;background:var(--line);font-style:normal}
.routine-card__progress b{display:block;width:25%;height:100%;border-radius:inherit;background:var(--spore);transition:width .35s var(--ease-out)}
.routine-card fieldset{margin:0;padding:0;border:0}.routine-card legend{max-width:620px;margin-bottom:24px;font:600 clamp(28px,3vw,38px)/1.15 var(--font-display);letter-spacing:-.025em}
.routine-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.routine-options label{cursor:pointer}.routine-options input{position:absolute;opacity:0;pointer-events:none}
.routine-options span{min-height:84px;display:flex;flex-direction:column;justify-content:center;padding:17px 19px;border:1px solid var(--line-strong);border-radius:17px;background:var(--deep);font-weight:650;transition:border-color .2s,background .2s,transform .2s}
.routine-options small{margin-top:5px;color:var(--ink-mute);font-size:12px;font-weight:400}
.routine-options input:focus-visible+span{outline:2px solid var(--spore);outline-offset:3px}.routine-options input:checked+span{border-color:var(--spore);background:#1b4533;color:var(--spore);transform:translateY(-2px)}
.routine-card__actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.routine-card__actions [data-routine-next]{margin-left:auto}.routine-card__actions button:disabled{cursor:not-allowed;opacity:.42;transform:none}
.routine-result>span{color:var(--spore);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.routine-result h3{max-width:560px;margin:12px 0 14px;font:600 clamp(32px,4vw,48px)/1.08 var(--font-display);letter-spacing:-.035em}.routine-result p{color:var(--ink-soft)}
.routine-result ul{display:grid;gap:10px;margin:24px 0 30px;padding:0;list-style:none}.routine-result li{display:flex;gap:10px}.routine-result li:before{content:"✓";color:var(--spore);font-weight:700}
.proof-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-top:38px}.proof-demo{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:28px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);cursor:pointer}.proof-demo .lab-demo{height:auto;min-height:270px;border-radius:17px}.proof-demo h3,.proof-stack h3{margin:9px 0;font:600 22px/1.2 var(--font-display)}.proof-demo p,.proof-stack p{color:var(--ink-soft)}.proof-demo .button{margin-top:24px}
.proof-stack{display:grid;gap:12px}.proof-stack article{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:23px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.proof-stack article>b{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--spore);font-size:12px}.proof-stack h3{margin:0 0 6px}.proof-stack p{margin:0;font-size:14px}
.first-step{background:var(--canvas)}.first-step__card{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;padding:54px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(135deg,var(--surface),var(--deep));box-shadow:var(--shadow-card)}.first-step__card h2{margin:16px 0;font:700 clamp(40px,5vw,62px)/1.05 var(--font-display);letter-spacing:-.04em}.first-step__card>div>p{max-width:520px;color:var(--ink-soft);font-size:18px}.first-step__card .button{margin-top:28px}.first-step__deliverables>span{display:block;margin-bottom:14px;color:var(--spore);font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.first-step__deliverables ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.first-step__deliverables li{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.first-step__deliverables b{font-family:var(--font-display)}.first-step__deliverables small{color:var(--ink-soft);font-size:13px}
.fit{background:var(--deep)}.fit__head{max-width:780px}.fit__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}.fit-card{padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.fit-card>span{display:inline-flex;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.fit-card--yes>span{background:var(--spore);color:var(--on-spore)}.fit-card--no>span{border:1px solid var(--line-strong);color:var(--ink-soft)}.fit-card ul{display:grid;gap:13px;margin:24px 0 0;padding:0;list-style:none}.fit-card li{display:flex;gap:11px;color:var(--ink-soft)}.fit-card li:before{content:"";width:7px;height:7px;flex:none;margin-top:.55em;border-radius:50%;background:var(--spore)}.fit-card--no li:before{background:var(--ink-faint)}
.form-note{margin:12px 0 0;color:var(--ink-mute);font-size:12px;line-height:1.45}
[hidden]{display:none!important}
@media(max-width:900px){.diagnostic__grid,.first-step__card{grid-template-columns:1fr}.diagnostic__copy{position:static}.proof-grid{grid-template-columns:1fr}.first-step__card{gap:36px}.proof-demo{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.diagnostic{padding-block:72px}.diagnostic__grid{gap:34px}.routine-card{min-height:0;padding:22px;border-radius:22px}.routine-options{grid-template-columns:1fr}.routine-options span{min-height:68px}.routine-card__actions{position:sticky;bottom:10px;padding-top:14px;background:linear-gradient(transparent,var(--surface) 22%)}.proof-demo{grid-template-columns:1fr;padding:20px}.proof-demo .lab-demo{min-height:210px}.first-step__card{padding:28px}.first-step__deliverables li{grid-template-columns:1fr;gap:3px}.fit__grid{grid-template-columns:1fr}.fit-card{padding:24px}}
}

/* css/04-blocks/21-contact-bouquet.css */
@layer solutions {
/* contact: bouquet — stems grow left to right, a bud on each; a filled field opens its flower */
.contact-bouquet{width:min(420px,100%);margin:18px 0 14px}
.contact-bouquet svg{display:block;width:100%;height:auto;overflow:visible}
.contact-bouquet .cb-ground{fill:var(--moss);stroke:none}
.contact-bouquet .cb-stem,.contact-bouquet .cb-stem-lit{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.contact-bouquet .cb-stem{stroke:#B9C9A6;stroke-width:2;transition:stroke-dashoffset 1s cubic-bezier(.3,.7,.3,1) calc(var(--i)*.35s)}
.contact-bouquet .cb-stem-lit{stroke:var(--leaf);stroke-width:2.6;stroke-dashoffset:1;transition:stroke-dashoffset .8s cubic-bezier(.3,.7,.3,1)}
.contact-bouquet .cb-leaf{fill:#B9C9A6;stroke:none;transition:fill .5s .3s,opacity .5s calc(var(--i)*.35s + .6s)}
.contact-bouquet .cb-bud,.contact-bouquet .cb-flower{transform-box:fill-box}
.contact-bouquet .cb-bud{transform-origin:50% 100%;transition:opacity .45s,transform .6s cubic-bezier(.2,1.3,.4,1)}
.contact-bouquet .cb-flower{transform-origin:50% 55%;opacity:0;transform:scale(.2) rotate(-70deg);transition:opacity .5s .35s,transform .9s cubic-bezier(.2,1.25,.4,1) .35s;filter:drop-shadow(0 3px 5px rgba(30,58,43,.18))}
.contact-bouquet .cb-label{fill:var(--ink-faint);font:500 13px var(--font-text);text-anchor:middle;transition:fill .4s .5s,transform .5s .5s,opacity .5s}
.contact-bouquet .cb-count{fill:var(--ink-faint);font:600 12px var(--font-text);text-anchor:middle;letter-spacing:.04em;opacity:1!important}
/* entrance: strictly left to right */
.js .contact-copy:not(.is-visible) .contact-bouquet .cb-stem{stroke-dashoffset:1}
.js .contact-copy:not(.is-visible) .contact-bouquet :is(.cb-leaf,.cb-bud,.cb-label){opacity:0}
.js .contact-copy:not(.is-visible) .contact-bouquet .cb-bud{transform:scale(.3)}
.js .contact-bouquet .cb-bud{transition:opacity .45s calc(var(--i)*.35s + .75s),transform .6s cubic-bezier(.2,1.3,.4,1) calc(var(--i)*.35s + .75s)}
.js .contact-bouquet .cb-label{transition:fill .4s .5s,transform .5s .5s,opacity .5s calc(var(--i)*.35s + .9s)}
/* filled field: green stem, bud opens into a flower, label darkens */
.contact-bouquet .is-lit .cb-stem-lit{stroke-dashoffset:0}
.contact-bouquet .is-lit .cb-leaf{fill:var(--leaf)}
.contact-bouquet .is-lit .cb-bud{opacity:0!important;transform:scale(.6)!important;transition:opacity .35s .3s,transform .4s .3s!important}
.contact-bouquet .is-lit .cb-flower{opacity:1;transform:none}
.contact-bouquet .is-lit .cb-label{fill:var(--ink);font-weight:650;transform:translateY(-3px)}
.contact-bouquet.is-full .cb-count{fill:var(--leaf)}
@media(prefers-reduced-motion:reduce){.contact-bouquet *{transition:none!important}.js .contact-copy .contact-bouquet :is(.cb-stem,.cb-leaf,.cb-bud,.cb-label){opacity:1;stroke-dashoffset:0}}
}

/* css/04-blocks/22-vine-bloom.css */
@layer solutions {
/* vine: leaves unfurl at the growing tip and keep swaying; flowers appear as buds and open a moment later */
.site-web .pleaf{opacity:0;transform:rotate(-75deg) scale(.06)}
.site-web .pleaf.is-grown{opacity:1;transform:none}
.site-web .pleaf-sway{transform-box:view-box;transform-origin:0 0}
.site-web .pleaf.is-grown .pleaf-sway{animation:vineLeafSway var(--sw,5s) ease-in-out var(--tw,0s) infinite}
@keyframes vineLeafSway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg) scale(1.03)}}
.site-web .pbud,.site-web .pbloom .pflower{transform-box:view-box;transform-origin:0 0}
.site-web .pbud{opacity:0;transform:scale(0) rotate(-30deg);transition:opacity .5s,transform 1.1s cubic-bezier(.2,1.4,.4,1)}
.site-web .pbud image{filter:drop-shadow(1px 3px 3px rgba(30,58,43,.22))}
.site-web .pbloom.is-bud .pbud{opacity:1;transform:none}
.site-web .pbloom.is-open .pbud{opacity:0;transform:scale(.55);transition:opacity .6s .25s,transform .9s}
.site-web .pbloom .pflower{opacity:0;transform:scale(.1) rotate(-110deg);transition:opacity .7s,transform 1.9s cubic-bezier(.2,1.25,.4,1)}
.site-web .pbloom.is-open .pflower{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.site-web .pleaf,.site-web .pbloom .pflower{opacity:1!important;transform:none!important;transition:none!important}.site-web .pbud{display:none}.site-web .pleaf-sway{animation:none!important}}
/* hero: caption card under the flower removed */
.specimen-tag{display:none!important}
}
/* Mobile chat: keep the modal and composer reachable above the virtual keyboard. */
.modal{overflow-y:auto;overflow-x:hidden;align-items:flex-start;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:clamp(12px,3vw,20px) 12px max(12px,env(safe-area-inset-bottom))}
.modal__dialog{margin:auto 0;width:min(640px,100%);max-width:100%}
.chat{display:flex;min-height:0;max-height:none;flex-direction:column}
.chat__messages{min-height:120px;max-height:min(42dvh,360px);overflow-y:auto;overscroll-behavior:contain}
.chat__presets{max-height:min(24dvh,240px);overflow-y:auto;overscroll-behavior:contain}
.chat__composer{position:sticky;bottom:0;z-index:3;padding-top:8px;background:var(--surface)}
@media(max-width:600px){
  .modal{padding:10px 10px max(10px,env(safe-area-inset-bottom))}
  .modal__dialog{margin:0 auto}
  .chat{padding:20px 14px 14px;border-radius:22px}
  .chat h2{margin-top:14px;font-size:28px;line-height:1.1}
  .chat__roles{padding-right:42px}
  .chat__messages{max-height:min(34dvh,280px);margin:12px 0;padding:13px}
  .chat__presets{max-height:min(18dvh,170px);padding:8px 0}
  .chat__composer{padding-top:8px}
  .chat__input{min-width:0;font-size:16px}
}
