/* BEGIN /assets/site.css */
/* V30: local, subsetted, licensed variable fonts; no third-party font requests. */
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/manrope/manrope-cyrillic-ext-wght-normal.woff2") format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/manrope/manrope-cyrillic-wght-normal.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/manrope/manrope-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/manrope/manrope-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/dm-sans/dm-sans-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:200 800;font-display:swap;src:url("/assets/fonts/dm-sans/dm-sans-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
:root{--ink:#182333;--muted:#657080;--background:#f8f9f7;--line:#e0e4df;--accent:#37634e;--accent2:#b7dfb9;--shadow:0 24px 65px rgba(12,35,27,.08);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--ink);font:16px/1.65 'DM Sans','Manrope',system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,.brand{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.045em}h1{font-size:clamp(43px,5.9vw,78px);line-height:1.1;max-width:850px;margin:17px 0 25px;font-weight:800}h2{font-size:clamp(29px,3vw,43px);line-height:1.18;margin:0 0 14px;font-weight:800}h3{font-size:20px;line-height:1.3;margin:0 0 12px;font-weight:750}p{margin:0 0 18px}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #80b89b;outline-offset:3px}.container{max-width:1230px;margin:auto;padding:0 32px}.header{position:relative;z-index:5;background:rgba(248,249,247,.95);border-bottom:1px solid var(--line)}.nav{min-height:84px;display:flex;align-items:center;gap:26px}.brand{font-size:19px;letter-spacing:-.05em;text-decoration:none;font-weight:800;white-space:nowrap;display:flex;align-items:center;gap:11px}.brand-mark{height:33px;width:33px;display:grid;place-items:center;border-radius:10px;background:#244c3d;color:#fff;font-size:18px;line-height:1}.nav-links{display:flex;gap:21px;margin-left:auto;align-items:center}.nav-links>a{text-decoration:none;color:#4d5b55;font-size:13px;font-weight:700;white-space:nowrap}.nav-links>a:hover,.nav-links>a[aria-current=page]{color:#1b5d3a}.header-actions{display:flex;gap:14px;align-items:center;margin-left:5px}.lang{font-size:13px;border:1px solid #d6dfd8;text-decoration:none;padding:9px 11px;border-radius:10px;font-weight:800}.nav-contact{text-decoration:none;background:#244c3d;color:#fff;padding:11px 18px;border-radius:10px;font-weight:700;font-size:13px;white-space:nowrap}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:10;background:#fff;padding:12px}.hero-wrap{padding-top:36px}.hero{position:relative;overflow:hidden;background:#143c2e;color:#f4fbf5;border-radius:28px;min-height:520px;display:grid;grid-template-columns:minmax(0,1fr) 39%;gap:20px;align-items:center;padding:72px 72px 70px;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 95% 8%,rgba(147,195,150,.17),transparent 53%),radial-gradient(ellipse at 15% 100%,rgba(0,0,0,.15),transparent 60%);z-index:-1}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(39px,5vw,65px);max-width:750px}.hero p{font-size:18px;line-height:1.75;color:#c6dacd;max-width:600px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#779e84}.hero .eyebrow{color:#b8dfbf}.hero-buttons{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.btn{display:inline-flex;gap:12px;align-items:center;justify-content:center;text-decoration:none;border-radius:12px;padding:15px 23px;font-weight:800;font-size:14px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#183728;background:#c2e8bb}.btn-primary:hover{background:#dcf2d6}.btn-outline{border:1px solid rgba(220,239,223,.32);color:#eff6ee}.hero-art{height:355px;position:relative;display:grid;place-items:center}.orb{height:285px;width:285px;border:1px solid rgba(203,236,205,.26);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 33px rgba(217,240,218,.035),0 0 0 68px rgba(217,240,218,.025)}.orb-inner{height:180px;width:180px;background:linear-gradient(145deg,#5caa79,#1c503a);border:1px solid rgba(239,255,237,.4);border-radius:36px;display:grid;place-items:center;transform:rotate(-12deg);box-shadow:0 30px 70px #0c291e}.orb-inner svg{width:112px;height:112px;transform:rotate(12deg)}.float-note{position:absolute;color:#1b3428;background:#f5fff1;border-radius:14px;box-shadow:0 13px 40px rgba(0,0,0,.21);padding:13px 16px;font-weight:700;font-size:12px;line-height:1.5;display:flex;align-items:center;gap:9px}.float-note b{display:block;font-size:13px}.float-note small{display:block;color:#66766c}.note-one{top:29px;right:-17px}.note-two{bottom:28px;left:-27px}.note-dot{width:12px;height:12px;border-radius:50%;background:#55ba79;box-shadow:0 0 0 5px #ddf6e2}.micro{font-size:13px;color:#94bda1;margin-top:22px}.intro-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:38px 12px;border-bottom:1px solid var(--line);gap:24px}.intro-feature{display:flex;gap:14px;align-items:start}.feature-mark{border:1px solid #dbe6dd;background:#eef4ee;border-radius:12px;padding:11px;font-size:20px;line-height:1;color:#315b42}.intro-feature strong{font-size:14px;display:block}.intro-feature span{font-size:13px;color:var(--muted);display:block;line-height:1.55;margin-top:4px}.section{padding:95px 0 20px}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:33px}.section-head p{max-width:420px;color:var(--muted);font-size:16px;margin:0}.section-head h2{max-width:590px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card{background:white;border:1px solid #e5e8e3;border-radius:18px;padding:29px;min-height:274px;display:flex;flex-direction:column;box-shadow:0 8px 20px rgba(20,50,31,.025);transition:transform .2s,box-shadow .2s,border .2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#bdd5bd}.service-number{display:flex;justify-content:space-between;align-items:center;color:#80958a;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:26px}.service-symbol{height:42px;width:42px;background:#ecf4ee;border-radius:12px;display:grid;place-items:center;color:#427152;font-size:20px}.service-card p{color:var(--muted);font-size:14px;line-height:1.65}.text-link{margin-top:auto;padding-top:12px;text-decoration:none;color:#2a6445;font-weight:800;font-size:14px}.text-link:hover{text-decoration:underline}.service-card:last-child{background:#eaf2e9}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;counter-reset:step}.process-item{padding:28px;background:#fff;border:1px solid var(--line);border-radius:15px}.step-number{display:block;color:#4f8a63;font-weight:800;font-size:13px;letter-spacing:.1em;margin-bottom:26px}.process-item p{font-size:14px;color:var(--muted);margin:0}.scenario{margin-top:75px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:#edf3ec;border-radius:24px;padding:48px}.scenario p{color:#4b6555}.flow-block{background:#fff;border:1px solid #dbe5dc;border-radius:16px;padding:28px;box-shadow:0 15px 30px rgba(21,51,29,.04)}.flow-visual{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin-top:15px}.flow-node{border:1px solid #d6e2d7;border-radius:10px;padding:16px 8px;min-height:72px;text-align:center;display:grid;place-items:center;font-size:12px;font-weight:800;color:#315441;background:#f5f9f4}.flow-arrow{color:#549069;font-size:24px}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:76px;align-items:start}.content-main{min-width:0}.content-side{position:sticky;top:22px}.sidebar-card{border:1px solid #d9e4d9;border-radius:17px;background:#eaf2e9;padding:26px}.sidebar-card h3{font-size:19px}.sidebar-card p{font-size:14px;color:#4b6654}.content-section{padding-top:68px}.content-section>p{font-size:17px;color:#526052}.statement{padding:28px 30px;border-left:4px solid #76a987;background:#ecf3ec;border-radius:0 14px 14px 0;margin-top:20px;color:#314f3b}.steps{margin:24px 0 0;padding:0;list-style:none;counter-reset:step;display:grid;gap:12px}.steps li{counter-increment:step;display:flex;gap:19px;align-items:start;padding:19px 23px;background:#fff;border:1px solid var(--line);border-radius:13px}.steps li:before{content:counter(step,decimal-leading-zero);color:#528263;font-weight:800;font-size:12px;padding-top:4px}.notice{background:#eef3ed;border-radius:15px;padding:23px 27px;color:#385341;margin-top:22px;font-size:15px}.case-card{border:1px solid var(--line);background:white;border-radius:17px;padding:31px}.case-card .eyebrow{margin-bottom:13px;display:block}.case-card p{color:#465c4d}.muted{color:var(--muted);font-size:13px}.faq details{border-bottom:1px solid #dbe2dc;padding:21px 0}.faq summary{cursor:pointer;list-style:none;font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:space-between;gap:15px}.faq summary:after{content:'+';font-size:23px;color:#487958;font-weight:400}.faq details[open] summary:after{content:'−'}.faq details p{margin:14px 0 0;color:var(--muted)}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.related-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column}.related-card h3{font-size:16px}.related-card p{font-size:13px;color:var(--muted)}.related-card a{margin-top:auto;color:#37634e;text-decoration:none;font-size:13px;font-weight:800}.cta{margin:96px 0 65px;background:#193f30;color:#fff;padding:57px 66px;border-radius:26px;display:flex;align-items:center;justify-content:space-between;gap:45px}.cta h2{max-width:540px}.cta p{color:#bfd4c5;max-width:620px}.cta-kicker{color:#b0d9b2;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:15px}.cta-side{flex:0 0 270px}.cta-note{display:block;color:#b6cfc0;font-size:12px;margin-top:14px}.footer{border-top:1px solid var(--line);padding:35px 0 48px}.footer .container{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer p{margin:0;font-size:13px;color:var(--muted)}.footer a{font-size:13px;text-decoration:none;color:#405c4b}.page-hero{min-height:395px;padding-top:55px;padding-bottom:55px}.page-hero h1{font-size:clamp(34px,4.3vw,57px)}.page-hero .hero-art{transform:scale(.77)}@media(max-width:1150px){.nav-links{gap:11px}.nav-links>a{font-size:12px}.hero{padding:57px 45px}.note-one{right:0}.note-two{left:0}}@media(max-width:980px){.nav-links{display:none}.header-actions{margin-left:auto}.service-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:minmax(0,1fr) 32%}.hero-art{transform:scale(.75);transform-origin:center}.intro-strip{grid-template-columns:1fr 1fr}.content-layout{grid-template-columns:1fr}.content-side{display:none}.related-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.container{padding:0 18px}.nav{min-height:70px}.brand{font-size:17px}.brand-mark{width:31px;height:31px}.nav-contact{display:none}.hero-wrap{padding-top:16px}.hero,.page-hero{display:block;padding:39px 26px;min-height:0;border-radius:19px}.hero h1{font-size:clamp(35px,9vw,50px)}.hero p{font-size:16px}.hero-art{height:210px;transform:scale(.60);margin-top:-25px;margin-bottom:-35px}.float-note{font-size:11px}.intro-strip{grid-template-columns:1fr;padding:26px 0;gap:17px}.section{padding-top:65px}.section-head{display:block}.section-head p{margin-top:15px}.service-grid,.process-grid,.related-grid{grid-template-columns:1fr}.service-card{min-height:220px}.scenario{display:block;padding:27px;margin-top:45px}.flow-block{padding:15px;margin-top:25px}.flow-visual{gap:5px}.flow-node{font-size:10px;padding:7px 3px;min-height:65px}.flow-arrow{font-size:14px}.content-section{padding-top:48px}.cta{margin:68px 0 37px;padding:35px 25px;display:block}.cta-side{margin-top:24px}.footer .container{display:block}.footer a{display:inline-block;margin-top:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Prosto Studio visual system v3 */
:root{--ink:#121820;--muted:#626973;--background:#f5f5f1;--line:#e0e2dd;--accent:#baff68;--accent2:#d9f8b3;--shadow:0 25px 80px rgba(7,15,19,.08)}
body{background:var(--background);color:var(--ink)}.container{max-width:1392px}.header{position:sticky;top:0;z-index:100;background:rgba(245,245,241,.91);backdrop-filter:blur(22px);border-bottom:1px solid rgba(21,31,30,.1);transition:box-shadow .25s,background .25s}.header.scrolled{box-shadow:0 10px 32px rgba(0,0,0,.06);background:rgba(245,245,241,.96)}
.nav{min-height:86px}.brand{gap:5px;letter-spacing:-.08em;font-size:23px}.brand-mark{background:#141b22;border-radius:11px;color:#c7ff80;font-size:23px;width:39px;height:39px;margin-right:10px;font-family:Manrope,system-ui,sans-serif;font-weight:800;line-height:1.15}.brand-wordmark{font-weight:800}.brand-studio{font-weight:500;color:#6b7377;letter-spacing:-.065em}.nav-links{gap:15px}.nav-links>a{font-size:12px;letter-spacing:-.01em}.nav-contact,.btn-primary{background:var(--accent)!important;color:#111a15!important;border-radius:100px!important;box-shadow:none!important}.nav-contact:hover,.btn-primary:hover{background:#d4ff9d!important;transform:translateY(-2px)}.lang{border-radius:100px!important}.mobile-nav-toggle{display:none;appearance:none;border:1px solid var(--line);background:#fff;border-radius:12px;width:42px;height:42px;cursor:pointer;font-size:20px}
.hero-wrap{padding-top:22px}.hero{min-height:680px;background:#101820;color:#f8f9f4;border-radius:14px;padding:78px clamp(36px,6vw,92px);grid-template-columns:minmax(0,1.25fr) minmax(300px,.9fr);box-shadow:0 36px 100px rgba(14,26,24,.12)}.hero:before{background:radial-gradient(ellipse at 76% 54%,rgba(153,252,112,.11),transparent 48%),linear-gradient(140deg,#141e27 0%,#0d1219 90%)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.018) 50%,transparent 100%);background-size:140px 100%;pointer-events:none;opacity:.5}.hero-copy{position:relative;z-index:3}.hero h1{font-size:clamp(56px,6vw,102px);line-height:1.02;letter-spacing:-.078em;max-width:760px;margin:30px 0}.hero p{font-size:clamp(17px,1.45vw,20px);color:#b9c4c2;max-width:620px;line-height:1.72}.hero .eyebrow{color:#bbff7e;letter-spacing:.22em;font-size:11px}.hero .btn-outline{border-color:#596866;color:white;border-radius:100px!important}.hero .micro{color:#839b92;letter-spacing:.03em}.hero .btn{transition:transform .2s ease,background .2s ease}.hero-art{height:480px;min-height:440px;display:grid;place-items:center;position:relative;isolation:isolate}.signal-system{height:100%;width:100%;max-width:490px;position:relative;isolation:isolate}.signal-grid{position:absolute;inset:0;opacity:.27;background-image:linear-gradient(#a8ffc51c 1px,transparent 1px),linear-gradient(90deg,#a8ffc51c 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(ellipse at center,black,transparent 75%)}.signal-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:205px;width:205px;display:grid;place-items:center}.signal-core-inner{display:grid;place-items:center;background:linear-gradient(145deg,#c9ff90,#9cf168);box-shadow:0 0 70px #baff6855, inset 0 0 30px #fff5;color:#162018;border-radius:27%;font:800 124px/1 Manrope,sans-serif;letter-spacing:-.12em;width:160px;height:160px;z-index:2;transform:rotate(-9deg);animation:core-hover 7s ease-in-out infinite}.signal-dot{color:#112115;position:absolute;font-size:80px;transform:translate(48px,38px)}.core-ring{position:absolute;inset:0;border:1px solid #b8fa9c5a;border-radius:50%;animation:ring 14s linear infinite}.core-ring-two{inset:-53px;border-style:dashed;border-color:#9dc99b42;animation-duration:22s;animation-direction:reverse}.signal-paths{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.85}.flow-path{stroke:#a4ef98;stroke-width:1.4;stroke-dasharray:8 14;animation:flow 16s linear infinite}.signal-point{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;color:#dae8df;font-size:11px;letter-spacing:.14em}.signal-point i{height:12px;width:12px;border:2px solid #ccff9d;background:#344c39;border-radius:50%;box-shadow:0 0 19px #9eff76}.point-one{top:20%;left:0}.point-two{top:12%;right:0}.point-three{right:0;bottom:15%}.signal-label{position:absolute;color:#82a68a;font-size:9px;letter-spacing:.21em}.signal-label-one{left:7%;top:40%}.signal-label-two{top:10%;left:35%}.signal-label-three{bottom:6%;left:30%}@keyframes ring{to{transform:rotate(360deg)}}@keyframes core-hover{50%{transform:rotate(-5deg) translateY(-10px)}}@keyframes flow{to{stroke-dashoffset:-220}}
.intro-strip{gap:0;padding:34px 0 55px}.intro-feature{padding:15px 26px}.feature-mark{color:#687f67!important;font-size:12px!important}.section{padding-top:105px;padding-bottom:75px}.section h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.07em}.section .eyebrow{letter-spacing:.19em;font-size:11px}.section h3{letter-spacing:-.035em}.section-head{margin-bottom:37px}.cta{background:#baff68!important;color:#121820!important;border-radius:16px!important}.cta .btn{background:#151b21!important;color:#fff!important}.cta-kicker{color:#385d32!important}.scenario{border-radius:18px!important;overflow:hidden}.footer{padding:50px 0!important}.footer a:hover{text-decoration:underline}.reveal{opacity:1}.has-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.has-motion .reveal.is-visible{opacity:1;transform:none}
@media(max-width:1190px){.nav-links{gap:9px}.nav-links>a{font-size:11px}.nav-contact{padding:10px 13px!important}.hero{grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);padding:60px 45px}.signal-core{scale:.85}}
@media(max-width:970px){.mobile-nav-toggle{display:grid;place-items:center;order:3}.nav-links{position:absolute;display:none;top:100%;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 16px 45px #1113;flex-direction:column;align-items:stretch;gap:0;max-height:70vh;overflow:auto}.nav-open .nav-links{display:flex}.nav-links>a{font-size:15px;padding:10px 12px}.header-actions{margin-left:auto}.hero{grid-template-columns:1fr;min-height:auto;padding:65px 45px}.hero-art{height:340px;min-height:340px}.signal-system{width:min(480px,100%)}.signal-core{scale:.75}}
@media(max-width:640px){.container{padding:0 18px}.nav{min-height:73px}.brand{font-size:20px}.brand-mark{height:35px;width:35px}.nav-contact{display:none}.hero-wrap{padding-top:12px}.hero{padding:55px 26px 28px;border-radius:12px;gap:0}.hero h1{font-size:clamp(45px,12vw,65px);letter-spacing:-.075em}.hero p{font-size:16px}.hero-art{height:275px;min-height:275px}.signal-system{transform:scale(.75);transform-origin:center center}.intro-strip{padding:22px 0}.section{padding-top:73px;padding-bottom:43px}.section h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.signal-core-inner,.core-ring,.flow-path{animation:none!important}.has-motion .reveal{opacity:1;transform:none;transition:none}}


/* Prosto Studio V4: interaction design */
html{scroll-behavior:smooth;scroll-padding-top:105px}
.header{will-change:background,box-shadow;transition:background .4s ease,box-shadow .4s ease,border-color .3s ease}
.header .nav{transition:min-height .35s cubic-bezier(.2,.7,.2,1),transform .35s ease}
.header .brand,.header .brand-mark,.header .nav-links a,.header .nav-contact{transition:transform .35s ease,opacity .3s ease,font-size .35s ease}
.header.scrolled{background:rgba(250,251,247,.83);border-color:rgba(24,39,35,.15);box-shadow:0 12px 55px rgba(12,25,21,.1);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4)}
.header.scrolled .nav{min-height:64px}
.header.scrolled .brand-mark{transform:scale(.85)}
.header.scrolled .brand{transform:scale(.94);transform-origin:left center}
.header.scrolled .nav-contact{transform:scale(.94);transform-origin:right center}
.reading-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:transparent;z-index:9;pointer-events:none}
.reading-progress-fill{display:block;width:100%;height:100%;background:linear-gradient(90deg,#8de059,#bdff70,#5eb8a0);box-shadow:0 0 12px rgba(141,224,89,.32);transform:scaleX(0);transform-origin:left;will-change:transform}
.hero{position:relative;overflow:hidden}
.scroll-cue{position:absolute;bottom:28px;left:clamp(36px,6vw,92px);z-index:5;display:flex;gap:12px;align-items:center;color:#b5c9b5;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.21em;transition:color .2s ease}
.scroll-cue:hover{color:#c9ff94}
.scroll-cue-arrow{width:34px;height:48px;display:grid;place-items:center;border:1px solid rgba(182,255,162,.33);border-radius:30px;font-size:22px;animation:scroll-hint 2.2s ease-in-out infinite}
@keyframes scroll-hint{0%,100%{transform:translateY(-3px)}50%{transform:translateY(5px)}}
.back-to-top{position:fixed;right:clamp(17px,2.5vw,38px);bottom:clamp(18px,3vw,40px);z-index:105;display:flex;align-items:center;gap:10px;border:1px solid rgba(187,255,130,.3);padding:13px 16px;background:#14221d;color:#c9ff94;box-shadow:0 12px 36px rgba(2,20,13,.2);border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.12em;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(42px) scale(.88);transition:opacity .35s ease,visibility .35s,transform .55s cubic-bezier(.22,1.3,.36,1),background .3s}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.back-to-top:hover{background:#1e392b;transform:translateY(-6px) scale(1.03)}
.back-to-top.at-footer .top-arrow{animation:top-invite .95s ease-in-out infinite alternate}
@keyframes top-invite{from{transform:translateY(4px)}to{transform:translateY(-6px)}}
.top-arrow{font-size:21px;line-height:1;display:inline-block}
.site-loader{position:fixed;inset:0;z-index:10000;background:#101820;color:#f7f8f3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .55s ease,visibility .55s ease;pointer-events:auto}
.site-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.site-loader-logo{font-size:clamp(37px,7vw,65px);font-weight:850;letter-spacing:-.085em;line-height:1}
.site-loader-logo em{font-style:normal;color:#baff70}
.site-loader-caption{color:#91a69b;font-size:10px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}
.site-loader-track{width:min(240px,65vw);height:2px;background:#35483c;overflow:hidden;border-radius:3px}
.site-loader-track span{width:36%;height:100%;display:block;background:#baff70;animation:loader-progress .9s cubic-bezier(.4,0,.2,1) infinite alternate}
@keyframes loader-progress{0%{transform:translateX(-105%)}100%{transform:translateX(290%)}}
@media(max-width:970px){.scroll-cue{bottom:15px;left:30px}.hero{padding-bottom:95px!important}}
@media(max-width:640px){.header.scrolled .nav{min-height:60px}.scroll-cue{bottom:16px;left:24px}.scroll-cue-label{font-size:9px}.scroll-cue-arrow{height:34px;width:27px}.back-to-top{bottom:16px;right:14px;padding:13px}.back-to-top .top-label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-cue-arrow,.back-to-top.at-footer .top-arrow,.site-loader-track span{animation:none!important}.back-to-top,.site-loader{transition:none!important}}


/* PROSTO STUDIO V5: editorial studio interface, no external animation dependency */
:root{--bg-v5:#f4f5f1;--navy-v5:#0d161c;--lime-v5:#baff70;--violet-v5:#c6bdff}
body{background:var(--bg-v5)}
.container{max-width:1520px;padding-left:clamp(20px,5.2vw,92px);padding-right:clamp(20px,5.2vw,92px)}
.header{background:rgba(246,247,243,.96)}.header .nav{min-height:88px}.header.scrolled{background:rgba(245,246,242,.82)}
.brand{font-size:23px;letter-spacing:-.065em}.brand-mark{height:44px;width:44px;background:#101b21;color:var(--lime-v5);border-radius:13px;font-size:25px;transform:rotate(-6deg)}
.nav-links>a{position:relative;font-size:12px;letter-spacing:-.015em}.nav-links>a:after{content:'';position:absolute;bottom:-11px;left:0;right:100%;height:2px;background:#151d1a;transition:right .3s}.nav-links>a:hover:after,.nav-links>a[aria-current=page]:after{right:0}
.nav-contact,.btn-primary{background:var(--lime-v5);color:#132013;border-radius:100px}.nav-contact:hover,.btn-primary:hover{background:#d1ff91}
.lang{border-radius:100px}.hero-wrap{padding-top:22px}
.hero{min-height:650px;grid-template-columns:minmax(0,51%) minmax(0,49%);gap:0;border-radius:28px;padding:75px clamp(28px,5.3vw,82px) 100px;background:radial-gradient(ellipse at 90% 50%,#192f31 0%,transparent 40%),linear-gradient(135deg,#0c171e 0%,#101e24 65%,#0d171c 100%);box-shadow:0 27px 85px rgba(10,24,24,.10)}
.hero:before{background:radial-gradient(circle at 25% 130%,rgba(175,246,108,.08),transparent 45%),repeating-linear-gradient(90deg,transparent 0,transparent 89px,rgba(255,255,255,.013) 90px)}
.hero h1{font-size:clamp(55px,5.4vw,92px);font-weight:800;line-height:1.015;letter-spacing:-.085em;max-width:900px;margin-top:26px;margin-bottom:32px}
.hero p{font-size:clamp(16px,1.3vw,20px);color:#b1c0c0;line-height:1.72;max-width:570px}.hero .eyebrow{font-size:10px;letter-spacing:.3em;color:var(--lime-v5)}
.hero-buttons{margin-top:37px}.hero .micro{color:#859d98;letter-spacing:.035em}.btn{padding:16px 25px;font-size:13px;border-radius:100px}
.hero-art{height:460px;min-width:0;transform:none!important;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible}
.automation-board{width:100%;max-width:570px;min-height:365px;background:rgba(12,23,30,.88);border:1px solid rgba(205,246,220,.17);border-radius:19px;position:relative;overflow:hidden;box-shadow:0 40px 85px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.08);transform:perspective(1100px) rotateY(-5deg) rotateX(3deg);transition:transform .5s cubic-bezier(.22,1,.36,1);isolation:isolate}
.automation-board:hover{transform:perspective(1100px) rotateY(0) rotateX(0)}
.automation-board:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(188,235,208,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(188,235,208,.04) 1px,transparent 1px);background-size:25px 25px;mask-image:linear-gradient(to bottom,transparent,#000 40%,transparent);pointer-events:none}
.board-chrome,.board-bottom{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;font-size:9px;letter-spacing:.11em;color:#91a99e;position:relative;z-index:2}.board-chrome{border-bottom:1px solid rgba(215,245,220,.1)}.board-bottom{border-top:1px solid rgba(215,245,220,.1)}.chrome-dots{display:flex;gap:5px}.chrome-dots i{display:block;width:6px;height:6px;border-radius:50%;background:#42625a}.chrome-dots i:first-child{background:#baff70}.board-clock{color:#baff70}
.board-main{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr;align-items:center;gap:3px;min-height:284px;padding:24px 16px;position:relative;z-index:2}.board-col{text-align:center;min-width:0}.board-kicker{display:block;font-size:8px;letter-spacing:.12em;font-weight:800;color:#8da49b;white-space:nowrap;margin-bottom:22px}.board-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:124px;padding:9px;border-radius:12px;background:#1d3132;border:1px solid #315151;color:#f3fff3;font-size:11px;font-weight:800}.board-tile small{font-size:8px;color:#89b1a4;font-weight:600}.tile-output{background:#baff70;color:#172519;box-shadow:0 0 45px rgba(186,255,112,.14)}.tile-output small{color:#3b5b38}.tile-glyph{font-size:28px;line-height:1;margin-bottom:5px}.board-stack{margin-top:19px;display:flex;justify-content:center;gap:6px}.board-stack i{width:20px;height:4px;background:#42615c;border-radius:5px}.board-stack i:first-child{background:#baff70}
.board-connector{position:relative;height:2px;background:linear-gradient(90deg,#4e7167,#baff70);margin-bottom:3px}.connector-beam{position:absolute;width:10px;height:10px;border-radius:50%;background:#baff70;top:-4px;left:0;box-shadow:0 0 19px #baff70;animation:beam-travel 2.4s linear infinite}.board-main>.board-connector:nth-child(4) .connector-beam{animation-delay:-1.2s}@keyframes beam-travel{to{left:calc(100% - 8px)}}
.board-engine{height:128px;width:128px;max-width:100%;margin:auto;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,#34583c,#152b2a 61%,transparent 65%)}.engine-ring{position:absolute;width:122px;height:122px;border-radius:50%;border:1px dashed #71946a;animation:engine-spin 20s linear infinite}.engine-center{width:77px;height:77px;border-radius:19px;background:#baff70;display:grid;place-items:center;font-size:60px;font-weight:900;line-height:1;color:#102316;letter-spacing:-.14em;transform:rotate(-8deg);box-shadow:0 14px 32px rgba(153,255,101,.17)}.engine-center span{color:#102316}@keyframes engine-spin{to{transform:rotate(360deg)}}.board-info{color:#91a99e;font-size:9px}.board-bars{height:28px;display:flex;align-items:end;justify-content:center;gap:5px;margin-top:11px}.board-bars i{height:30%;width:9px;border-radius:3px 3px 0 0;background:#466752;animation:bar-rise 2s ease-in-out infinite alternate}.board-bars i:nth-child(2){height:65%;animation-delay:.2s}.board-bars i:nth-child(3){height:100%;background:#baff70;animation-delay:.4s}.board-bars i:nth-child(4){height:50%;animation-delay:.1s}.board-bars i:nth-child(5){height:80%;animation-delay:.3s}@keyframes bar-rise{to{height:75%}}
.page-hero{min-height:475px;grid-template-columns:52% 48%;padding-top:58px;padding-bottom:58px}.page-hero h1{font-size:clamp(42px,4vw,69px)}.page-art{height:350px}.product-canvas{position:relative;width:100%;max-width:465px;height:340px;background:linear-gradient(160deg,#172830,#0b171e);border:1px solid #33474b;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.3);transform:rotate(-3deg);transition:transform .5s}.product-canvas:hover{transform:rotate(0deg)}.canvas-top,.canvas-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-size:9px;letter-spacing:.1em;color:#97afa8;border-bottom:1px solid #2c3e42}.canvas-top{gap:8px}.canvas-led{height:8px;width:8px;border-radius:50%;background:#baff70;box-shadow:0 0 18px #baff70}.canvas-stage{position:relative;height:244px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(110,158,98,.16),transparent 50%)}.canvas-orbit{position:absolute;border:1px dashed rgba(173,221,169,.18);width:210px;height:210px;border-radius:50%}.canvas-orbit-two{width:150px;height:150px}.canvas-message{position:absolute;display:flex;align-items:center;gap:8px;padding:11px 13px;background:#233a3b;border:1px solid #406159;border-radius:9px;color:#edfff0;font-size:10px;line-height:1.2;max-width:58%;box-shadow:0 12px 30px rgba(0,0,0,.23);animation:float-card 5s ease-in-out infinite}.canvas-index{font-size:9px;color:#baff70}.status-pip{width:6px;height:6px;border-radius:50%;background:#baff70;margin-left:auto;flex-shrink:0}.canvas-message-a{top:23px;left:12px}.canvas-message-b{right:12px;top:90px;animation-delay:-1.4s}.canvas-message-c{bottom:10px;left:15px;animation-delay:-2.9s}.canvas-hub{width:87px;height:87px;border-radius:25px;background:#baff70;color:#172317;font-size:70px;font-weight:900;letter-spacing:-.14em;line-height:1;display:grid;place-items:center;transform:rotate(-9deg);box-shadow:0 12px 42px rgba(173,255,103,.2)}.canvas-hub span{display:inline}.canvas-footer{border-top:1px solid #2c3e42;border-bottom:0}.canvas-footer span:last-child{color:#baff70}@keyframes float-card{50%{transform:translateY(-7px)}}
.intro-strip{padding-top:38px;padding-bottom:43px}.intro-feature{gap:19px}.feature-mark{background:transparent;border:0;border-top:2px solid #1c2620;border-radius:0;color:#1e3327;font-size:13px;padding:11px 30px 0 0}.intro-feature strong{font-size:15px}.intro-feature span{font-size:13px}
.editorial-marquee{font-weight:900;font-size:clamp(25px,4vw,58px);letter-spacing:-.065em;color:#d0d8cf;white-space:nowrap;overflow:hidden;padding:45px 0 0;line-height:1.2;user-select:none}
.section{padding-top:110px}.section-head h2,.scenario h2,.usecases h2{font-size:clamp(34px,4.15vw,65px);line-height:1.08;letter-spacing:-.065em;max-width:860px}
.service-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.service-card{grid-column:span 4;min-height:330px;border-radius:18px;box-shadow:none;border:1px solid #e0e4df;padding:31px;position:relative;overflow:hidden;background:#fcfcf9}.service-card:nth-child(1),.service-card:nth-child(6){grid-column:span 6;min-height:340px;background:#18252a;color:#f2f9f5;border-color:#18252a}.service-card:nth-child(3){background:#dceae1}.service-card:nth-child(4){grid-column:span 6;background:#edf0e8}.service-card:nth-child(5){grid-column:span 6}.service-card:nth-child(7){grid-column:span 12;min-height:210px;background:#c7ff93;display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:20px}.service-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(20,29,28,.09)}.service-card:after{content:'';position:absolute;width:225px;height:225px;border:1px solid currentColor;border-radius:50%;right:-133px;bottom:-142px;opacity:.07;transition:transform .5s}.service-card:hover:after{transform:scale(1.25)}.service-card h3{font-size:clamp(20px,1.8vw,28px);line-height:1.18;letter-spacing:-.05em;max-width:440px}.service-card p{max-width:410px;font-size:14px}.service-card:nth-child(1) p,.service-card:nth-child(6) p{color:#b1c7bb}.service-card:nth-child(1) .service-number,.service-card:nth-child(6) .service-number{color:#baff70}.service-card:nth-child(1) .text-link,.service-card:nth-child(6) .text-link{color:#baff70}.service-number{margin-bottom:43px}.service-symbol{background:rgba(130,163,143,.13);color:inherit;border-radius:50%;height:49px;width:49px;font-size:23px}.text-link{color:inherit}.service-card:nth-child(7) .service-number{margin-bottom:0}.service-card:nth-child(7) h3{margin:0}.service-card:nth-child(7) p{display:none}
.usecases{margin-top:125px}.usecase-head{max-width:760px}.usecase-head p{color:#66736b;margin:15px 0 31px}.case-showcase{display:grid;grid-template-columns:265px 1fr;background:#101e24;color:#f3f7ef;border-radius:24px;padding:15px;gap:15px;min-height:465px}.case-switches{display:flex;flex-direction:column;gap:5px;padding:13px 0 13px 13px}.case-switch{display:flex;justify-content:space-between;align-items:center;text-align:left;color:#b0c0b9;border:0;border-left:2px solid transparent;background:transparent;padding:20px 16px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;line-height:1.3;transition:background .25s,color .25s,border-color .25s}.case-switch:hover{color:#fff;background:#1e3030}.case-switch.is-current{border-left-color:#baff70;color:#baff70;background:#1b3030}.case-switch span{font-size:11px;opacity:.55}.case-display{background:#1a2b30;border:1px solid #344747;border-radius:16px;padding:clamp(24px,4vw,57px);display:flex;flex-direction:column}.case-topline{font-size:10px;letter-spacing:.16em;color:#a9caba;display:flex;justify-content:space-between}.case-display h3{font-size:clamp(28px,3.5vw,49px);letter-spacing:-.06em;line-height:1.08;max-width:690px;margin:41px 0 16px}.case-display p{color:#b6c8c1;max-width:590px;line-height:1.65}.case-flow{margin-top:auto;padding-top:35px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px}.case-flow>div{background:#263e41;border:1px solid #3c5751;padding:17px;border-radius:12px;min-height:82px}.case-flow span{display:block;color:#9db9ac;font-size:9px;letter-spacing:.12em;margin-bottom:6px}.case-flow strong{font-size:13px;line-height:1.3}.case-flow i{font-style:normal;color:#baff70}.case-foot{margin-top:28px;color:#81998e;font-size:11px}.case-data{display:none}
.scenario{background:#e3ece2;padding:clamp(30px,5vw,65px);border-radius:26px;margin-top:105px}.scenario h2{font-size:clamp(34px,3.4vw,54px)}.flow-block{background:#132329;color:#fff;border:0;padding:35px}.flow-node{background:#263f3d;border:1px solid #507368;color:#effbed}.flow-arrow{color:#baff70}.process-item{border:0;border-top:2px solid #202f27;border-radius:0;background:transparent;padding:24px 8px}.step-number{font-size:12px;color:#57765b;margin-bottom:32px}.process-item h3{font-size:21px}
.cta{background:#14252b;min-height:350px;overflow:hidden;position:relative}.cta:before{content:'';position:absolute;width:500px;height:500px;border:1px solid rgba(198,255,136,.22);border-radius:50%;right:-180px;top:-220px;box-shadow:0 0 0 70px rgba(186,255,112,.025),0 0 0 140px rgba(186,255,112,.025);pointer-events:none}.cta h2{font-size:clamp(32px,3.5vw,53px);line-height:1.08}.footer{background:#f0f2ec}
@media(max-width:1150px){.hero{padding:60px 40px 95px}.hero h1{font-size:clamp(47px,5.4vw,73px)}.board-main{padding:20px 8px}.board-tile{font-size:10px}.board-engine{width:92px;height:92px}.engine-ring{width:95px;height:95px}.engine-center{width:60px;height:60px;font-size:50px}.service-card:nth-child(7){grid-template-columns:1fr 1.5fr}.service-card:nth-child(7) .text-link{grid-column:2}}
@media(max-width:960px){.hero{grid-template-columns:1fr;gap:25px}.hero h1{max-width:800px}.hero-art{height:auto;min-height:350px}.automation-board{max-width:650px}.page-hero{grid-template-columns:1fr 1fr}.page-art{min-height:300px}.page-hero h1{font-size:clamp(38px,4.3vw,56px)}.service-card{grid-column:span 6}.service-card:nth-child(7){grid-column:span 12}.case-showcase{grid-template-columns:1fr}.case-switches{flex-direction:row;overflow-x:auto;padding:8px}.case-switch{min-width:125px;white-space:nowrap;flex:1;border-left:0;border-bottom:2px solid transparent}.case-switch.is-current{border-color:#baff70}}
@media(max-width:700px){.container{padding-left:18px;padding-right:18px}.hero,.page-hero{padding:48px 26px 88px;border-radius:19px}.hero h1{font-size:clamp(42px,10.8vw,64px);line-height:1.04}.hero p{font-size:16px}.hero-art{min-height:270px;margin:28px 0 -12px;transform:none!important}.automation-board{min-height:260px;transform:none!important}.board-main{min-height:192px;padding:12px 9px}.board-tile{font-size:8px;min-height:85px;padding:5px}.board-tile small{font-size:6px}.board-kicker{font-size:7px;margin-bottom:10px}.board-chrome,.board-bottom{padding:9px;font-size:7px}.tile-glyph{font-size:18px}.board-engine{width:65px;height:65px}.engine-ring{width:67px;height:67px}.engine-center{width:44px;height:44px;border-radius:12px;font-size:33px}.board-bars{height:19px}.board-main{grid-template-columns:1fr 12px 1fr 12px 1fr}.page-hero{display:block}.page-art{height:270px;min-height:270px}.product-canvas{transform:none;height:283px}.canvas-stage{height:191px}.canvas-message{font-size:8px;padding:9px;max-width:62%}.canvas-hub{width:65px;height:65px;border-radius:15px;font-size:53px}.canvas-orbit{width:165px;height:165px}.canvas-orbit-two{width:120px;height:120px}.editorial-marquee{padding-top:20px}.section{padding-top:74px}.section-head h2,.usecases h2{font-size:37px}.service-card,.service-card:nth-child(1),.service-card:nth-child(4),.service-card:nth-child(5),.service-card:nth-child(6),.service-card:nth-child(7){grid-column:span 12;display:flex;min-height:245px}.service-number{margin-bottom:24px}.service-card:nth-child(7) p{display:block}.service-card:nth-child(7) .text-link{grid-column:auto}.usecases{margin-top:75px}.case-showcase{padding:8px}.case-switches{padding:5px}.case-switch{padding:15px 10px;font-size:12px}.case-display{padding:23px}.case-display h3{font-size:31px;margin:25px 0 15px}.case-flow{gap:5px}.case-flow>div{padding:10px 7px;min-height:75px}.case-flow strong{font-size:10px}.case-flow i{font-size:12px}.case-flow span{font-size:7px}.scenario{margin-top:64px}.cta{min-height:0}}
@media(prefers-reduced-motion:reduce){.connector-beam,.engine-ring,.board-bars i,.canvas-message{animation:none!important}.automation-board,.product-canvas{transform:none!important}}

/* V15 — at the exact end of the document, invite the user to return upward. */
.back-to-top{transition:bottom .65s cubic-bezier(.19,1,.22,1),opacity .35s ease,visibility .35s,transform .55s cubic-bezier(.22,1.3,.36,1),background .3s}
.back-to-top.at-page-end{bottom:calc(50dvh - 27px)}
@media (prefers-reduced-motion:reduce){.back-to-top{transition:none!important}}

/* END /assets/site.css */
/* BEGIN /assets/v6.css */
/* PROSTO STUDIO — V6 creative/layout fixes */
:root{--v6-ease:cubic-bezier(.2,.8,.2,1)}
.hero:not(.page-hero){grid-template-columns:minmax(0,52%) minmax(0,48%);padding-bottom:130px;min-height:700px;isolation:isolate}
.hero:not(.page-hero) h1{font-size:clamp(58px,5.25vw,92px);line-height:1.035;letter-spacing:-.083em;max-width:760px;text-wrap:balance;text-shadow:0 12px 45px rgba(0,0,0,.22);margin-bottom:27px}
.hero-accent{display:block;color:#bbff79;text-shadow:0 0 38px rgba(167,255,105,.11),0 15px 44px rgba(0,0,0,.21)}
.hero:not(.page-hero) p{font-size:clamp(16px,1.18vw,19px);line-height:1.7;max-width:570px}
.hero:not(.page-hero) .hero-buttons{margin-top:32px}
.hero:not(.page-hero) .micro{margin-top:13px}
/* Dedicated bottom strip: never collide with the CTA row */
.hero:not(.page-hero)>.scroll-cue{position:absolute!important;left:clamp(28px,5.3vw,82px)!important;right:auto!important;bottom:27px!important;display:inline-flex!important;align-items:center!important;gap:15px!important;width:auto!important;max-width:calc(100% - 50px);height:56px;transform:none!important;z-index:4;color:#b5c9b5;text-decoration:none}
.scroll-cue-track{width:37px;height:52px;border:1px solid rgba(184,255,149,.36);border-radius:30px;display:grid;place-items:center;transition:background .35s,transform .35s,border-color .35s}
.scroll-cue-track .scroll-cue-arrow{width:auto;height:auto;display:inline-block;border:0;border-radius:0;background:none;box-shadow:none;animation:v6-arrow 2.1s var(--v6-ease) infinite;font-size:21px;line-height:1}
.scroll-cue-label{font-size:10px!important;letter-spacing:.16em!important;line-height:1.45;font-weight:800}
.scroll-cue:hover .scroll-cue-track{background:rgba(186,255,112,.14);transform:translateY(3px);border-color:#baff70}
@keyframes v6-arrow{0%,100%{transform:translateY(-4px);opacity:.7}50%{transform:translateY(5px);opacity:1}}
/* No cropped typographic marquees. Intentional editorial identity row. */
.editorial-statement{max-width:1340px;margin:32px auto 0;padding:31px clamp(20px,4vw,42px);display:flex;align-items:center;gap:clamp(14px,2.2vw,32px);flex-wrap:wrap;border-block:1px solid #dce2d9;color:#52675a;overflow:visible;white-space:normal;font-size:clamp(12px,1vw,15px);line-height:1.5}
.editorial-statement strong{font-family:Manrope,system-ui,sans-serif;font-size:clamp(22px,2.3vw,39px);line-height:1.15;color:#18231d;letter-spacing:-.065em;text-wrap:balance;text-shadow:0 13px 32px rgba(35,65,40,.09)}
.statement-index{color:#698a71;font-weight:800;font-size:10px;letter-spacing:.18em;white-space:nowrap}
.statement-divider{height:32px;width:1px;background:#c3ccc1}
/* Avoid featureless headings, apply restrained depth */
.section-head h2,.usecase-head h2,.scenario h2,.cta h2{letter-spacing:-.07em;text-wrap:balance;text-shadow:0 10px 30px rgba(11,30,25,.07)}
.service-card h3{letter-spacing:-.055em;line-height:1.24}
/* Compact hover treatments, no ordinary underline sweep */
.nav-links>a:after{display:none!important;content:none!important}
.nav-links>a{border-radius:12px;padding:8px 9px!important;position:relative;transition:background .26s,color .26s,transform .26s!important}
.nav-links>a:hover,.nav-links>a:focus-visible{background:#e8eee5;color:#0f2719;transform:translateY(-2px)}
.nav-links>a[aria-current=page]{background:#e4ebde;color:#193928}
.text-link{text-decoration:none!important;display:inline-flex!important;align-items:center;gap:10px;width:max-content;max-width:100%;border-bottom:0!important;transition:color .3s var(--v6-ease)}
.text-link:after,.text-link:before{display:none!important}
.link-label{position:relative;line-height:1.35}
.link-label:after{content:'';position:absolute;left:0;right:100%;bottom:-6px;height:2px;border-radius:2px;background:#75bb42;transition:right .32s var(--v6-ease)}
.link-arrow{display:grid;place-items:center;width:29px;height:29px;border-radius:100px;border:1px solid currentColor;transition:background .35s,color .35s,transform .35s,border-color .35s}
.text-link:hover .link-label:after{right:0}
.text-link:hover .link-arrow,.text-link:focus-visible .link-arrow{background:#baff70;color:#14211a;border-color:#baff70;transform:rotate(45deg) translate(2px,-2px)}
.btn{transition:transform .33s var(--v6-ease),box-shadow .33s var(--v6-ease),background .3s!important}
.btn:hover{transform:translateY(-3px);box-shadow:0 13px 25px rgba(0,0,0,.12)}
@media(max-width:1100px){.hero:not(.page-hero){grid-template-columns:1fr;padding-bottom:115px}.hero:not(.page-hero) h1{font-size:clamp(53px,6.8vw,80px)}.hero:not(.page-hero) .hero-art{margin-top:20px}.editorial-statement{margin-top:24px}}
@media(max-width:700px){.hero:not(.page-hero){padding:48px 25px 115px;min-height:0}.hero:not(.page-hero) h1{font-size:clamp(43px,11vw,64px);letter-spacing:-.075em;text-wrap:pretty}.hero:not(.page-hero) p{font-size:15px;line-height:1.6}.hero:not(.page-hero)>.scroll-cue{left:26px!important;bottom:18px!important}.scroll-cue-track{width:31px;height:44px}.scroll-cue-label{font-size:9px!important;letter-spacing:.09em!important}.editorial-statement{padding:23px 4px;gap:12px;margin-inline:18px}.editorial-statement strong{width:100%;font-size:clamp(23px,7vw,31px)}.statement-divider{display:none}.editorial-statement>span:last-child{max-width:36ch}.hero:not(.page-hero) .hero-art{margin-top:16px}.nav-links>a{padding:11px!important}}
@media(prefers-reduced-motion:reduce){.scroll-cue-track .scroll-cue-arrow{animation:none!important}.btn,.text-link,.nav-links>a{transition:none!important}}
/* V6 final: no line/underline animation on text links */
.link-label:after{display:none!important;content:none!important}
.text-link:hover .link-label,.text-link:focus-visible .link-label{color:#3e7440;filter:drop-shadow(0 3px 8px rgba(133,188,96,.20))}

/* END /assets/v6.css */
/* BEGIN /assets/v7.css */
/* PROSTO STUDIO V7: narrowly scoped corrections to V6. */
/* Restore the elegant V5 header-only line animation, without touching content links. */
.nav-links>a{border-radius:0!important;padding:0!important;background:transparent!important;transform:none!important;transition:color .28s ease!important}
.nav-links>a:hover,.nav-links>a:focus-visible,.nav-links>a[aria-current="page"]{background:transparent!important;transform:none!important;color:#162a21!important}
.nav-links>a::after{content:""!important;display:block!important;position:absolute!important;bottom:-12px!important;left:0!important;right:100%!important;height:2px!important;background:#172620!important;transition:right .3s ease!important}
.nav-links>a:hover::after,.nav-links>a[aria-current="page"]::after,.nav-links>a:focus-visible::after{right:0!important}
/* Original massive pale editorial headline; no narrow side-by-side columns. */
.editorial-marquee--v7{display:block;max-width:100%;width:100%;margin:0;padding:42px 0 40px;overflow:visible;white-space:normal;color:#d0d8cf;font-weight:900;text-transform:uppercase;font-family:Manrope,system-ui,sans-serif;font-size:clamp(30px,3.65vw,66px);line-height:1.06;letter-spacing:-.067em}
.editorial-marquee--v7 .marquee-brand,.editorial-marquee--v7 .marquee-slogan{display:block;max-width:100%;overflow-wrap:normal}
.editorial-marquee--v7 .marquee-brand{white-space:nowrap}
.editorial-marquee--v7 .marquee-slogan{white-space:normal;max-width:100%;}
/* Progressive steps: motion adds hierarchy but doesn't obscure text on script failure. */
.process-grid{position:relative;isolation:isolate;--track:0%;gap:clamp(12px,1vw,18px)}
.process-item{position:relative;isolation:isolate;border-top:2px solid #cad4c9!important;padding:31px 13px 28px 10px!important;transition:background .4s ease,border-color .45s ease,transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease!important}
.process-item::before{content:"";position:absolute;top:-2px;left:0;width:var(--step-progress,0%);height:2px;background:#79b94e;transition:width .7s cubic-bezier(.2,.8,.2,1);z-index:2}
.process-item::after{content:"";position:absolute;left:10px;top:20px;width:7px;height:7px;background:#baff70;border:2px solid #1b3226;border-radius:50%;opacity:0;transform:scale(.5);transition:transform .45s ease,opacity .45s ease}
.process-item.is-step-visible{--step-progress:100%;border-color:#bbcfb7!important}
.process-item.is-step-visible::after{opacity:1;transform:scale(1)}
.process-item.is-step-visible .step-number{color:#27703f}
.process-item:hover{background:rgba(194,237,178,.13);transform:translateY(-6px);box-shadow:0 14px 32px rgba(21,43,32,.055)}
.process-item .step-number{display:block;margin-bottom:34px;transition:color .35s}
.process-item h3{transition:transform .3s ease}
.process-item:hover h3{transform:translateY(-2px)}
@media(min-width:781px){.js-process-motion .process-item{opacity:.55;transform:translateY(20px)}.js-process-motion .process-item.is-step-visible{opacity:1;transform:translateY(0)}.js-process-motion .process-item:hover{transform:translateY(-6px)}}
@media(max-width:960px){.editorial-marquee--v7{font-size:clamp(31px,5.1vw,49px)}}
@media(max-width:700px){.editorial-marquee--v7{padding:30px 0;font-size:clamp(28px,7.3vw,42px);line-height:1.1}.editorial-marquee--v7 .marquee-brand{white-space:normal}.process-item{padding:24px 12px!important}.js-process-motion .process-item{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.process-item,.process-item::before,.process-item::after,.process-item h3{animation:none!important;transition:none!important;transform:none!important}.js-process-motion .process-item{opacity:1!important;transform:none!important}}

/* Explicit two-line statement on desktop; gracefully wraps only at smaller widths. */
.editorial-marquee--v7{font-size:clamp(30px,3.45vw,59px)!important}
.editorial-marquee--v7 .marquee-line{display:block;max-width:100%;white-space:nowrap}
@media(max-width:850px){.editorial-marquee--v7 .marquee-line{white-space:normal}.editorial-marquee--v7{font-size:clamp(27px,5.5vw,44px)!important}}

/* END /assets/v7.css */
/* BEGIN /assets/v8.css */
/* V8: ONLY three site-wide user-requested corrections.
   Applies to both languages and every service landing page. */
/* Scroll cue: a single centred and vertically stacked unit, detached from the CTA row. */
.hero > .scroll-cue,
.hero:not(.page-hero) > .scroll-cue,
.hero.page-hero > .scroll-cue {
  position: absolute !important;
  inset: auto auto 20px 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 7px !important;
  width: max-content !important;
  max-width: calc(100% - 36px) !important;
  height: auto !important;
  padding: 7px 12px !important;
  text-align: center !important;
  transform: translateX(-50%) !important;
  z-index: 8;
}
.hero > .scroll-cue .scroll-cue-label {font-size: 10px!important; line-height: 1.3!important; white-space: nowrap; letter-spacing: .13em!important}
.hero > .scroll-cue .scroll-cue-track,
.hero > .scroll-cue > .scroll-cue-arrow {flex: 0 0 auto; order: 2;}
.hero > .scroll-cue .scroll-cue-label {order: 1;}
/* Cue must have a reserved zone in service hero too (no button/cue collision). */
.hero.page-hero {padding-bottom: clamp(128px, 11vw, 155px) !important;}
.hero:not(.page-hero) {padding-bottom: clamp(135px, 11vw, 166px) !important;}
/* The service sidebar starts level with the first content block, not attached to hero. */
.content-layout > .content-side {margin-top: 72px !important;}
/* Lime call-to-action: readable dark copy against bright green. */
.cta {color: #131b16 !important;}
.cta h2 {color: #131b16 !important;}
.cta p, .cta .cta-note {color: #293a2c !important; opacity: 1 !important; text-shadow: none !important;}
.cta .cta-kicker {color: #284725 !important;}
/* Contrast remains legible for non-CTA lime panels as well. */
[style*="background:#baff"], [style*="background: #baff"] {color:#142119;}
@media(max-width:980px){.content-layout > .content-side {margin-top: 0 !important;}}
@media(max-width:700px){
 .hero > .scroll-cue, .hero:not(.page-hero) > .scroll-cue, .hero.page-hero > .scroll-cue {bottom:13px!important; left:50%!important; transform:translateX(-50%)!important;}
 .hero.page-hero, .hero:not(.page-hero) {padding-bottom:125px!important;}
 .hero > .scroll-cue .scroll-cue-label {font-size:9px!important;}
}
@media(prefers-reduced-motion:reduce){.hero > .scroll-cue .scroll-cue-arrow {animation:none!important;}}

/* END /assets/v8.css */
/* BEGIN /assets/v10.css */
/* V10: photographic BACKGROUNDS, preserves V8 original interactive elements. Homepage only. */
.hero:not(.page-hero){position:relative;isolation:isolate;overflow:hidden}
.hero:not(.page-hero) .hero-photo-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-photo-backdrop .backdrop-main{position:absolute;inset:0;display:block;overflow:hidden}
.hero-photo-backdrop .backdrop-main img{display:block;width:100%;height:100%;object-fit:cover;object-position:63% 47%;filter:saturate(.86) contrast(1.035)}
.hero-photo-backdrop .backdrop-secondary{position:absolute;right:-5%;bottom:-14%;width:43%;height:53%;display:block;opacity:.52;transform:rotate(-7deg);filter:saturate(.75);border-radius:45px;overflow:hidden;mask-image:linear-gradient(125deg,transparent 0%,#000 25%,#000 80%,transparent 100%)}
.hero-photo-backdrop .backdrop-secondary img{height:100%;width:100%;object-fit:cover;object-position:center}
.hero-photo-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,24,26,.98) 0%,rgba(9,24,26,.96) 32%,rgba(9,24,26,.78) 54%,rgba(9,24,26,.45) 76%,rgba(9,24,26,.52) 100%)}
/* Keep the original automation board vivid and interactive, hovering over background. */
.hero:not(.page-hero)>.hero-copy,.hero:not(.page-hero)>.hero-art{position:relative;z-index:3}
.hero:not(.page-hero)>.hero-art .automation-board{position:relative;z-index:3;filter:drop-shadow(0 25px 30px rgba(0,0,0,.28))}
.hero:not(.page-hero)>.scroll-cue{z-index:5}
.hero:not(.page-hero)::before,.hero:not(.page-hero)::after{z-index:1;pointer-events:none}
/* Editorial print is a soft image on the right of the EXISTING editorial section; original flow controls remain. */
.scenario{position:relative;isolation:isolate;overflow:hidden}
.scenario>.scenario-photo-backdrop{position:absolute;inset:0;z-index:-1;pointer-events:none}
.scenario-photo-backdrop img{position:absolute;right:0;top:0;width:65%;height:100%;object-fit:cover;object-position:56% 50%;opacity:.78}
.scenario-photo-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#e3ece2 0%,rgba(227,236,226,.98) 36%,rgba(227,236,226,.80) 65%,rgba(227,236,226,.47) 100%)}
.scenario>:not(.scenario-photo-backdrop){position:relative;z-index:1}
.scenario>.flow-block{box-shadow:0 16px 45px rgba(9,27,28,.15)}
/* Photographic surface at right of existing CTA, NOT a new replacement for CTA. */
.cta{position:relative;isolation:isolate;overflow:hidden}
.cta>.cta-photo-backdrop{position:absolute;inset:0;pointer-events:none;z-index:-1}
.cta-photo-backdrop img{position:absolute;right:0;top:0;width:56%;height:100%;object-fit:cover;object-position:60% center;opacity:.7}
.cta-photo-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#14252b 0%,rgba(20,37,43,.98) 48%,rgba(20,37,43,.68) 76%,rgba(20,37,43,.43) 100%)}
.cta>:not(.cta-photo-backdrop){position:relative;z-index:2}
@media(max-width:970px){.hero-photo-backdrop .backdrop-main img{object-position:64% center}.hero-photo-backdrop:after{background:linear-gradient(180deg,rgba(9,24,26,.98) 0%,rgba(9,24,26,.92) 46%,rgba(9,24,26,.6) 75%,rgba(9,24,26,.55) 100%)}.hero-photo-backdrop .backdrop-secondary{width:60%;height:35%;right:-10%;bottom:-7%}.scenario-photo-backdrop img{width:100%;opacity:.30}.scenario-photo-backdrop:after{background:rgba(227,236,226,.75)}.cta-photo-backdrop img{width:75%;opacity:.4}.cta-photo-backdrop:after{background:linear-gradient(90deg,#14252b 0%,rgba(20,37,43,.8) 100%)}}
@media(max-width:700px){.hero-photo-backdrop .backdrop-main img{object-position:center 65%}.hero-photo-backdrop:after{background:linear-gradient(180deg,rgba(9,24,26,.96) 0%,rgba(9,24,26,.91) 40%,rgba(9,24,26,.72) 69%,rgba(9,24,26,.77) 100%)}.hero-photo-backdrop .backdrop-secondary{width:67%;height:28%;bottom:2%;right:-15%;opacity:.35}.scenario-photo-backdrop img{opacity:.22}.cta-photo-backdrop img{width:100%;opacity:.26}.cta-photo-backdrop:after{background:rgba(20,37,43,.80)}}
@media(prefers-reduced-motion:reduce){.hero-photo-backdrop picture{transform:none!important}}

/* END /assets/v10.css */
/* BEGIN /assets/v11.css */
/* V11: Afira-inspired page-level fixed photography. This file changes backgrounds only. */
body{background:#f4f5f1;position:relative}
.site-photo-stage{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#f0f2ea}
.site-photo-stage picture{position:absolute;inset:0;display:block;opacity:0;transition:opacity .75s ease}
.site-photo-stage picture.scene-primary{opacity:1}
.site-photo-stage picture.scene-secondary{opacity:0}
body[data-photo-scene="2"] .site-photo-stage picture.scene-primary{opacity:0}
body[data-photo-scene="2"] .site-photo-stage picture.scene-secondary{opacity:1}
.site-photo-stage img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.78) brightness(1.035)}
.site-photo-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(248,249,246,.18),rgba(243,246,239,.02) 55%,rgba(247,248,244,.17))}
/* Opaque paper-like sections give the background an intentional reveal/recede rhythm. */
main>.container>.intro-strip,
main>.container>.editorial-marquee,
main>.container>section.section,
main>.container>.usecases,
main>.container>.scenario,
main>.container>p.muted{position:relative;background:#f4f5f1}
main>.container>section.section,main>.container>.usecases,main>.container>.scenario{isolation:isolate}
main>.container>.intro-strip{padding-bottom:50px}
main>.container>.editorial-marquee{padding-top:32px;padding-bottom:45px}
main>.container>.scenario{background:#e3ece2}
/* Separate viewport windows show whichever fixed print is selected. */
main>.container>.photo-window{position:relative;display:block;margin:35px 0 50px;min-height:clamp(250px,31vw,470px);border-radius:28px;background:transparent;overflow:hidden;isolation:isolate;box-shadow:0 20px 65px rgba(25,42,37,.09),inset 0 0 0 1px rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.45)}
.photo-window::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,rgba(240,246,235,.04),transparent 50%,rgba(244,247,240,.11))}
.photo-window-mark{position:absolute;left:clamp(22px,4vw,58px);bottom:26px;color:#19352a;font-family:Manrope,system-ui,sans-serif;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;padding:10px 15px;border-radius:20px;background:rgba(255,255,255,.63);backdrop-filter:blur(14px);z-index:1}
/* The CTA is lime, not a darkened photograph; never put unreadable dark text on navy. */
main>.container>.cta{background:#baff70!important;color:#132019!important;isolation:isolate}
main>.container>.cta :is(h2,p,.cta-kicker,.cta-note){color:#132019!important;opacity:1!important;text-shadow:none!important}
main>.container>.cta .cta-kicker{color:#355229!important}
main>.container>.cta .btn{position:relative;z-index:2}
@media(max-width:700px){
 .site-photo-stage img{object-position:center center}
 main>.container>.photo-window{min-height:340px;margin:20px 0 32px;border-radius:18px}
 .photo-window-mark{left:18px;bottom:18px;font-size:9px}
 main>.container>.intro-strip{padding-bottom:30px}
}
@media(prefers-reduced-motion:reduce){.site-photo-stage picture{transition:none}}
/* Explicit stacking: fixed photos ABOVE body paint and BELOW all content. */
.site-photo-stage{z-index:0}
main{position:relative;z-index:1;background:transparent}
.header{z-index:100}
.footer{position:relative;z-index:1;background:#f4f5f1}
main>.container{background:transparent}

/* END /assets/v11.css */
/* BEGIN /assets/v12.css */

/* V12: restore clean content sections and show Afira-like full-bleed photo windows only between chosen blocks. */
.site-photo-stage{display:none!important}
body{background:#f4f5f1}

/* Keep content blocks on solid paper surfaces; never let photography leak into side gutters. */
main>.container>.intro-strip,
main>.container>.editorial-marquee,
main>.container>.section,
main>.container>.usecases,
main>.container>.scenario,
main>.container>p.muted,
.footer{position:relative;background:#f4f5f1}

/* Full-bleed reveal windows between sections. */
main>.container>.photo-window{
  position:relative;
  display:block;
  left:50%;
  right:50%;
  width:100vw;
  margin-left:-50vw;
  margin-right:-50vw;
  margin-top:46px;
  margin-bottom:56px;
  min-height:clamp(280px,34vw,460px);
  overflow:hidden;
  background-color:#eff3ed;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(15,26,21,.07);
  isolation:isolate;
}
main>.container>.photo-window::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(244,246,242,.12) 0%, rgba(244,246,242,.04) 28%, rgba(18,33,28,.00) 52%, rgba(244,246,242,.09) 100%),
    linear-gradient(180deg, rgba(244,246,242,.04), rgba(244,246,242,.18) 100%);
}
main>.container>.photo-window::before{
  content:'';
  position:absolute;
  display:block;
  width:min(30vw, 430px);
  aspect-ratio:4/3;
  border-radius:28px;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  box-shadow:0 30px 80px rgba(16,32,26,.18), 0 4px 18px rgba(16,32,26,.12);
  border:1px solid rgba(255,255,255,.65);
  z-index:1;
}
main>.container>.photo-window--1{
  background-image:linear-gradient(90deg, rgba(244,246,242,.16) 0%, rgba(244,246,242,.00) 45%, rgba(244,246,242,.10) 100%), url('/assets/images/home-editorial-section-print.webp');
  background-position:center center;
}
main>.container>.photo-window--1::before{
  right:clamp(3vw,7vw,120px);
  bottom:clamp(18px,4vw,42px);
  transform:rotate(-6deg);
  background-image:url('/assets/images/home-hero-secondary-desktop.webp');
}
main>.container>.photo-window--2{
  background-image:linear-gradient(90deg, rgba(244,246,242,.10) 0%, rgba(244,246,242,.00) 42%, rgba(244,246,242,.16) 100%), url('/assets/images/home-cta-accent-print.webp');
  background-position:center center;
}
main>.container>.photo-window--2::before{
  left:clamp(5vw,9vw,145px);
  bottom:clamp(20px,4.2vw,48px);
  transform:rotate(5.5deg);
  background-image:url('/assets/images/home-hero-main-desktop.webp');
}
.photo-window-mark{
  position:absolute;
  left:clamp(24px,6vw,84px);
  bottom:24px;
  z-index:2;
  color:rgba(17,35,28,.76);
  font-family:Manrope,system-ui,sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:10px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.54);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(22,34,30,.08);
}

/* Slightly tighten giant pale marquee for better balance over the clean surface. */
.editorial-marquee--v7{
  padding-top:30px;
  padding-bottom:42px;
}
.editorial-marquee--v7 .marquee-line{
  color:#d2d9d0;
  letter-spacing:-.035em;
}

@media (max-width: 900px){
  main>.container>.photo-window{
    min-height:330px;
    margin-top:28px;
    margin-bottom:34px;
  }
  main>.container>.photo-window::before{
    width:min(48vw, 280px);
    border-radius:22px;
  }
  .photo-window-mark{
    left:20px;
    bottom:20px;
  }
}
@media (max-width: 700px){
  main>.container>.photo-window{
    min-height:300px;
    margin-top:20px;
    margin-bottom:28px;
  }
  main>.container>.photo-window--1{
    background-image:linear-gradient(180deg, rgba(244,246,242,.12), rgba(244,246,242,.08)), url('/assets/images/home-hero-main-mobile.webp');
    background-position:center center;
  }
  main>.container>.photo-window--2{
    background-image:linear-gradient(180deg, rgba(244,246,242,.10), rgba(244,246,242,.12)), url('/assets/images/home-hero-secondary-mobile.webp');
    background-position:center center;
  }
  main>.container>.photo-window--1::before,
  main>.container>.photo-window--2::before{
    width:44vw;
    border-radius:18px;
    bottom:18px;
  }
  main>.container>.photo-window--1::before{
    right:18px;
    background-image:url('/assets/images/home-hero-secondary-mobile.webp');
  }
  main>.container>.photo-window--2::before{
    left:18px;
    background-image:url('/assets/images/home-hero-main-mobile.webp');
  }
}

/* V12.1: prevent full-bleed photo windows from creating document-level horizontal scrolling. */
html, body { max-width: 100%; overflow-x: clip; }
main { max-width: 100%; overflow-x: clip; }

/* END /assets/v12.css */
/* BEGIN /assets/v13.css */
/* V13 — structural fix: true full-width photo sections are direct children of main.
   No 100vw, negative margins, document clipping, or changes to approved content blocks. */
html,body,main {max-width:none;overflow-x:visible}
.site-photo-stage{display:none!important}
main {display:block; width:100%;}
main > .container {width:100%;}
main > .photo-window{
  position:relative;display:block;
  left:auto;right:auto;
  width:100%;margin:46px 0 56px;
  min-height:clamp(280px,34vw,460px);
  overflow:hidden;isolation:isolate;
  border:0;border-radius:0;
  background-size:cover;background-repeat:no-repeat;background-position:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(15,26,21,.07);
}
main > .photo-window--1{
  background-image:linear-gradient(90deg,rgba(244,246,242,.16),rgba(244,246,242,0) 45%,rgba(244,246,242,.10)),url('/assets/images/home-editorial-section-print.webp');
}
main > .photo-window--2{
  background-image:linear-gradient(90deg,rgba(244,246,242,.10),rgba(244,246,242,0) 42%,rgba(244,246,242,.16)),url('/assets/images/home-cta-accent-print.webp');
}
main > .photo-window::before{
  content:'';position:absolute;display:block;z-index:1;
  width:min(30%,430px);aspect-ratio:4/3;border-radius:28px;
  background-size:cover;background-position:center;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 30px 80px rgba(16,32,26,.18),0 4px 18px rgba(16,32,26,.12);
}
main > .photo-window--1::before{right:clamp(3%,7%,120px);bottom:clamp(18px,4vw,42px);transform:rotate(-6deg);background-image:url('/assets/images/home-hero-secondary-desktop.webp')}
main > .photo-window--2::before{left:clamp(5%,9%,145px);bottom:clamp(20px,4vw,48px);transform:rotate(5.5deg);background-image:url('/assets/images/home-hero-main-desktop.webp')}
main > .photo-window::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(240,246,235,.04),transparent 50%,rgba(244,247,240,.11))}
main > .photo-window .photo-window-mark{position:absolute;left:clamp(22px,4vw,58px);bottom:26px;z-index:2;color:#19352a;font:900 10px Manrope,system-ui,sans-serif;letter-spacing:.18em;padding:10px 15px;background:rgba(255,255,255,.7);border-radius:20px;backdrop-filter:blur(14px)}
@media(max-width:700px){
 main>.photo-window{min-height:320px;margin:20px 0 32px}
 main>.photo-window--1{background-image:linear-gradient(180deg,rgba(244,246,242,.12),rgba(244,246,242,.08)),url('/assets/images/home-hero-main-mobile.webp')}
 main>.photo-window--2{background-image:linear-gradient(180deg,rgba(244,246,242,.10),rgba(244,246,242,.12)),url('/assets/images/home-hero-secondary-mobile.webp')}
 main>.photo-window::before{width:44%;border-radius:18px;bottom:18px}
 main>.photo-window--1::before{right:18px;background-image:url('/assets/images/home-hero-secondary-mobile.webp')}
 main>.photo-window--2::before{left:18px;background-image:url('/assets/images/home-hero-main-mobile.webp')}
}

/* END /assets/v13.css */
/* BEGIN /assets/lead-form.css */
/* V14: additions scoped to contact CTA; preserves V13 layouts and photography. */
.cta:has(.lead-form){align-items:flex-start;gap:clamp(28px,4vw,58px)}
.cta:has(.lead-form)>div:first-child{flex:1 1 0;min-width:0}
.cta .cta-side:has(.lead-form){flex:0 1 430px;min-width:0;position:relative;z-index:1}
.lead-form{display:grid;gap:12px;width:100%;max-width:100%;text-align:left;color:#fff}
.lead-field{display:grid;gap:5px;min-width:0;font-size:12px;letter-spacing:.015em;color:#d1e7d5}
.lead-field input,.lead-field textarea,.lead-field select{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;border:1px solid rgba(226,250,232,.38);border-radius:10px;padding:11px 13px;background:rgba(255,255,255,.96);color:#172523;font:inherit;font-size:14px;line-height:1.45;outline-offset:3px}
.lead-field textarea{resize:vertical;min-height:100px}.lead-field select{appearance:auto}
.lead-field input:focus-visible,.lead-field textarea:focus-visible,.lead-field select:focus-visible{outline:2px solid #baff68}
.lead-consent{display:flex;align-items:flex-start;gap:10px;color:#d6e7d8;font-size:12px;line-height:1.5}
.lead-consent input{margin-top:3px;flex:0 0 auto;accent-color:#baff68}.lead-consent a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.lead-honey{position:absolute!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;white-space:nowrap!important}
.lead-form .lead-submit{display:block;width:100%;cursor:pointer;min-height:44px;border:0}.lead-form .lead-submit:disabled{cursor:wait;opacity:.75}
.lead-status{font-size:13px!important;line-height:1.5!important;margin:0!important;color:#f2fff1!important;min-height:0}.lead-status:empty{display:none}.lead-status[data-state="error"]{color:#fff0c9!important}.lead-status[data-state="success"]{color:#eaffde!important}
.lead-turnstile{min-height:65px;max-width:100%;overflow:hidden}.lead-turnstile iframe{max-width:100%}
@media(max-width:900px){.cta:has(.lead-form){display:block}.cta .cta-side:has(.lead-form){margin-top:28px;max-width:540px;width:100%}}
@media(max-width:420px){.cta .cta-side:has(.lead-form){max-width:100%}.lead-form{gap:10px}}

/* V15 — accessible text contrast on lime CTA: V14 wrongly used pale text. */
.cta .lead-form,.cta .lead-field,.cta .lead-field>span,.cta .lead-consent,.cta .lead-consent>span{color:#17271b!important;opacity:1!important;text-shadow:none!important}
.cta .lead-field{font-size:14px;font-weight:650;line-height:1.45;letter-spacing:0}
.cta .lead-consent{font-size:13px;line-height:1.55;font-weight:520}
.cta .lead-consent a{color:#132b17!important;text-decoration-thickness:1.5px;text-underline-offset:3px;font-weight:750}
.cta .lead-field input,.cta .lead-field textarea,.cta .lead-field select{border-color:#8fac75;color:#14231b;font-weight:450;font-size:15px;background:#fff}
.cta .lead-field input::placeholder,.cta .lead-field textarea::placeholder{color:#536056;opacity:1}
.cta .lead-field input:focus-visible,.cta .lead-field textarea:focus-visible,.cta .lead-field select:focus-visible,.cta .lead-consent input:focus-visible{outline:3px solid #203d24;outline-offset:2px}
.cta .lead-consent input{accent-color:#172c18;width:17px;height:17px;margin-top:2px}
.cta .lead-status,.cta .lead-status[data-state="pending"]{color:#162b1b!important}
.cta .lead-status[data-state="error"]{color:#8b1720!important}
.cta .lead-status[data-state="success"]{color:#145126!important}

/* END /assets/lead-form.css */
/* BEGIN /assets/v16.css */
/* V16: targeted photography, footer navigation, useful editorial content. */
.page-hero .page-art-v16{transform:none;min-width:0;width:100%;height:clamp(250px,28vw,360px);border-radius:22px;overflow:hidden;background:#f2f5f0;box-shadow:0 26px 55px rgba(1,12,7,.23)}
.page-art-v16 picture,.page-art-v16 img{display:block;width:100%;height:100%}.page-art-v16 img{object-fit:cover;object-position:center}
.page-art-brand{position:absolute;bottom:16px;left:18px;font-weight:800;letter-spacing:.16em;font-size:10px;color:#21382d;background:rgba(255,255,255,.77);padding:8px 12px;border-radius:20px}
.footer-v16{padding:55px 0 60px}.footer-v16 .footer-v16-grid{display:grid;grid-template-columns:minmax(200px,1.3fr) repeat(2,minmax(180px,1fr));gap:clamp(32px,5vw,80px);align-items:start}.footer-v16 .footer-v16-brand{display:inline-flex;color:#14261b;font-size:20px;margin-bottom:20px}.footer-v16-about p{max-width:240px;color:#536257;font-size:14px;line-height:1.65}.footer-v16-about small{font-size:12px;color:#718075}.footer-v16-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-v16-links h3{font-size:14px;letter-spacing:0;margin:0 0 9px}.footer-v16-links a{color:#405a47;text-decoration:none;font-size:14px;line-height:1.45}.footer-v16-links a:hover{text-decoration:underline;color:#1b3524}
.article-preview.section{padding-top:72px}.article-preview .section-head{align-items:center}.article-preview .section-head>a{flex:none}.article-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.article-teaser{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e7df;background:#fff;border-radius:18px}.article-teaser-image{height:190px;background-size:cover;background-position:center}.article-image-1{background-image:url('/assets/images/home-editorial-section-print.webp')}.article-image-2{background-image:url('/assets/images/home-hero-secondary-desktop.webp')}.article-image-3{background-image:url('/assets/images/home-cta-accent-print.webp')}.article-teaser-copy{padding:25px;display:flex;flex-direction:column;flex:1}.article-teaser-copy h3{font-size:19px;margin:11px 0}.article-teaser-copy h3 a{text-decoration:none}.article-teaser-copy h3 a:hover{text-decoration:underline}.article-teaser-copy p{color:#526156;font-size:14px;line-height:1.65;flex:1}.article-teaser-copy .text-link{padding-top:15px}.article-page{padding-top:46px;padding-bottom:95px}.article-heading{max-width:860px;margin:30px 0 12px}.article-heading h1,.editorial-article h1{color:#111e17;font-size:clamp(36px,5vw,68px);line-height:1.1;letter-spacing:-.06em}.article-heading p{max-width:690px;color:#506057;font-size:18px}.article-page .article-preview.section{padding-top:42px}.breadcrumb{font-size:13px;color:#526157;margin:0 0 42px}.breadcrumb a{text-decoration:none}.editorial-article{max-width:860px;margin:auto}.editorial-article-head .eyebrow{color:#53715d}.editorial-lead{font-size:20px;color:#4b5d50;max-width:770px;line-height:1.65}.article-cover{height:clamp(220px,31vw,395px);border-radius:20px;background-size:cover;background-position:center;margin:28px 0 50px}.editorial-body{max-width:720px}.editorial-body h2{font-size:clamp(25px,3vw,34px);margin:38px 0 12px}.editorial-body p{color:#425447;font-size:17px;line-height:1.85}.editorial-related{margin-top:55px;border-top:1px solid #dce5dc;padding-top:25px}.editorial-related h2{font-size:22px}.editorial-related a{font-weight:700;color:#2b623f;text-decoration:none}
@media(max-width:980px){.footer-v16 .footer-v16-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-v16-about{grid-column:span 2}.article-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.page-hero .page-art-v16{height:255px;width:100%;border-radius:15px}.footer-v16 .footer-v16-grid{grid-template-columns:1fr;gap:28px}.footer-v16-about{grid-column:auto}.footer-v16-links{gap:11px}.article-preview-grid{grid-template-columns:1fr}.article-heading{margin-top:12px}.article-cover{margin-bottom:30px}.article-page{padding-top:20px;padding-bottom:55px}.article-teaser-image{height:190px}}

/* END /assets/v16.css */
/* BEGIN /assets/v19.css */
/* V19: restore original interactive product canvases (V15) and decorate BEHIND, as on homepage. */
.page-hero{position:relative;isolation:isolate;overflow:hidden;background:#13282c}
.page-hero>.service-photo-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.page-hero>.service-photo-backdrop picture,.page-hero>.service-photo-backdrop img{display:block;width:100%;height:100%}
.page-hero>.service-photo-backdrop img{object-fit:cover;object-position:65% center;filter:saturate(.82) contrast(1.04)}
.page-hero>.service-photo-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,27,29,.98) 0%,rgba(11,27,29,.95) 29%,rgba(11,27,29,.82) 51%,rgba(11,27,29,.59) 76%,rgba(11,27,29,.68) 100%)}
.page-hero>.hero-copy,.page-hero>.hero-art,.page-hero>.scroll-cue{position:relative;z-index:3}
.page-hero>.hero-art.page-art{transform:none;min-width:0}
.page-hero .product-canvas{position:relative;z-index:3;filter:drop-shadow(0 18px 30px rgba(0,0,0,.25))}
/* A second subtle photo accent INSIDE an existing static example card. No new cards or layout columns. */
.content-main>.content-section .case-card{position:relative;isolation:isolate;overflow:hidden;background:#f0f4ef}
.content-main>.content-section .case-card::before{content:"";position:absolute;inset:0 0 0 auto;width:48%;background-image:var(--service-detail-photo);background-position:center;background-size:cover;opacity:.30;z-index:-1;pointer-events:none}
.content-main>.content-section .case-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f0f4ef 0%,rgba(240,244,239,.98) 44%,rgba(240,244,239,.72) 77%,rgba(240,244,239,.28));z-index:-1;pointer-events:none}
.content-main>.content-section .case-card>*{position:relative;z-index:1}
.content-main>.content-section .case-card p{color:#32473c}
@media(max-width:980px){.page-hero>.service-photo-backdrop::after{background:linear-gradient(180deg,rgba(11,27,29,.97),rgba(11,27,29,.86) 48%,rgba(11,27,29,.65))}}
@media(max-width:700px){.page-hero>.service-photo-backdrop img{object-position:center 62%}.page-hero>.service-photo-backdrop::after{background:linear-gradient(180deg,rgba(11,27,29,.96),rgba(11,27,29,.85) 55%,rgba(11,27,29,.73))}.content-main>.content-section .case-card::before{width:60%;opacity:.18}.content-main>.content-section .case-card::after{background:linear-gradient(90deg,#f0f4ef,rgba(240,244,239,.85))}}
/* The footer and article cards retain the approved brand styling fix, without extra content. */
.footer-v16-links a,.article-teaser-copy h3 a,.article-teaser-copy .text-link{color:#284b39;text-decoration:none;font-weight:800;transition:color .2s ease}
.footer-v16-links a:hover,.article-teaser-copy h3 a:hover,.article-teaser-copy .text-link:hover{color:#247849;text-decoration:none}
.footer-v16-links a::after{content:' ↗';color:#57996b;font-size:.9em}
.article-teaser{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.article-teaser:hover{transform:translateY(-4px);border-color:#c7d8c8;box-shadow:0 16px 40px rgba(19,46,28,.08)}

/* END /assets/v19.css */
/* BEGIN /assets/v20.css */

/* V20: SEO navigation additions. Original visual layers and interactivity untouched. */
.seo-crosslinks{border-top:1px solid #dfe7dd;margin:34px 0 5px;padding-top:24px}
.seo-crosslinks .eyebrow{display:block;margin-bottom:11px}
.seo-crosslinks p{margin:0;color:#4b5d50;font-size:15px;line-height:1.7}
.seo-crosslinks a{font-weight:800;color:#29533b;text-decoration:none;border-bottom:1px solid #a1bca7;padding-bottom:2px}
.seo-crosslinks a:hover{color:#132c1f;border-bottom-color:currentColor}
.seo-links-service{margin-top:26px;padding:20px 22px;background:#f2f6ef;border:1px solid #dee8dd;border-radius:16px}
.seo-links-service p{margin-bottom:0;font-size:14px}

/* END /assets/v20.css */
/* BEGIN /assets/v22-footer.css */
/* V22 — footer only: quiet header-like navigation, no logo underline. */
.footer.footer-v16 .footer-v16-brand,
.footer.footer-v16 .footer-v16-brand:hover,
.footer.footer-v16 .footer-v16-brand:focus-visible,
.footer.footer-v16 .footer-v16-brand *,
.footer.footer-v16 .footer-v16-brand:hover * {
  text-decoration:none!important;
  border-bottom:0!important;
  background-image:none!important;
}
.footer.footer-v16 .footer-v16-brand::before,
.footer.footer-v16 .footer-v16-brand::after {
  content:none!important;
  display:none!important;
}
.footer.footer-v16 .footer-v16-links a {
  position:relative;
  display:inline-block;
  width:max-content;
  max-width:100%;
  color:#4d5b55;
  font-size:13px;
  font-weight:500;
  line-height:1.55;
  letter-spacing:0;
  text-decoration:none!important;
  padding:0 0 2px;
  transition:color .2s ease;
}
.footer.footer-v16 .footer-v16-links a::after {
  content:none!important;
  display:none!important;
}
.footer.footer-v16 .footer-v16-links a::before {
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .24s ease;
}
.footer.footer-v16 .footer-v16-links a:hover,
.footer.footer-v16 .footer-v16-links a:focus-visible {
  color:#1b5d3a;
}
.footer.footer-v16 .footer-v16-links a:hover::before,
.footer.footer-v16 .footer-v16-links a:focus-visible::before {
  transform:scaleX(1);
}
@media(prefers-reduced-motion:reduce){
  .footer.footer-v16 .footer-v16-links a::before {transition:none;}
}

/* END /assets/v22-footer.css */
/* BEGIN /assets/v23-mobile.css */
/* Prosto Studio V23: custom full-screen mobile navigation and clean tap feedback. */
/* Suppress Chromium/WebKit tap rectangles without disabling accessible keyboard focus. */
a,button,summary,input,select,textarea,[role="button"],label{-webkit-tap-highlight-color:transparent;}
.mobile-nav-toggle{min-width:54px!important;width:54px!important;height:54px!important;border-radius:16px!important;border:1px solid #d8e4dc!important;background:#f9fbf6!important;padding:0!important;align-items:center!important;justify-items:center!important;transition:border-color .2s,background .2s,transform .2s!important;}
.mobile-nav-toggle:hover{border-color:#789787!important;background:#ecf6e9!important;}
.mobile-burger-lines{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:26px;height:28px;}
.mobile-burger-lines span{display:block;width:25px;height:2px;border-radius:4px;background:#142620;transition:transform .25s,width .25s;}
.mobile-burger-lines span:last-child{width:18px;align-self:flex-end;}
.mobile-nav-toggle:hover .mobile-burger-lines span:last-child{width:25px;}
html.mobile-menu-lock,html.mobile-menu-lock body{overflow:hidden!important;overscroll-behavior:none;}
.mobile-menu-v23[hidden]{display:none!important;}
.mobile-menu-v23{display:none;position:fixed;inset:0;z-index:20000;color:#e9f4e9;background:#14211c;isolation:isolate;}
.mobile-menu-v23::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 100% 1%,rgba(188,255,124,.13),transparent 52%),linear-gradient(135deg,transparent 45%,rgba(222,255,200,.025));}
.mobile-menu-v23__frame{height:100%;height:100dvh;display:flex;flex-direction:column;}
.mobile-menu-v23__top{padding:18px max(22px,env(safe-area-inset-right)) 17px max(22px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid rgba(232,248,221,.14);flex-shrink:0;}
.mobile-menu-v23__brand{color:#ecf5e9;font-size:20px;letter-spacing:-.055em;text-decoration:none!important;display:inline-flex;align-items:center;gap:12px;font-family:Manrope,system-ui,sans-serif;font-weight:850;}
.mobile-menu-v23__brand:hover{text-decoration:none!important;color:#fff;}
.mobile-menu-v23__brand-light{font-weight:450;color:#bdcfc0;}
.mobile-menu-v23__mark{display:grid;place-items:center;height:42px;width:42px;border-radius:13px;background:#c2ff8e;color:#14211c;font-weight:900;transform:rotate(-7deg)}
.mobile-menu-v23__close{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border:1px solid rgba(228,247,223,.30);border-radius:15px;background:rgba(255,255,255,.05);color:#eafaee;font:400 35px/1 system-ui;cursor:pointer;transition:background .2s,transform .2s;}
.mobile-menu-v23__close:hover{background:rgba(194,255,142,.13);transform:rotate(90deg);}
.mobile-menu-v23__content{padding:clamp(20px,4vh,36px) max(22px,env(safe-area-inset-right)) max(30px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));width:100%;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#45614e #14211c;}
.mobile-menu-v23__eyebrow{color:#bafa89;font-size:11px;letter-spacing:.18em;font-weight:850;margin:0 0 12px;}
.mobile-menu-v23__eyebrow span{color:#879f8d;}
.mobile-menu-v23__links{display:flex;flex-direction:column;}
.mobile-menu-v23__links a{display:grid;grid-template-columns:29px minmax(0,1fr) auto;gap:16px;align-items:center;min-height:62px;padding:10px 0;border-bottom:1px solid rgba(215,245,214,.13);font:750 clamp(21px,5.5vw,33px)/1.17 Manrope,system-ui,sans-serif;letter-spacing:-.045em;text-decoration:none;color:#f0f8ec;transition:color .2s,padding-left .2s;}
.mobile-menu-v23__links a:hover,.mobile-menu-v23__links a[aria-current="page"]{color:#c2ff8e;padding-left:5px;}
.mobile-menu-v23__number{font:750 11px/1 DM Sans,system-ui,sans-serif;letter-spacing:0;color:#6d9376;}
.mobile-menu-v23__arrow{color:#9cd879;font:400 21px/1 system-ui;transition:transform .2s;}
.mobile-menu-v23__links a:hover .mobile-menu-v23__arrow{transform:translate(3px,-3px);}
.mobile-menu-v23__bottom{display:flex;justify-content:space-between;gap:20px;margin:26px 0 22px;}
.mobile-menu-v23__bottom a{font-size:14px;font-weight:700;text-decoration:none;color:#c7d9c9;border-bottom:1px solid rgba(218,237,211,.35);padding-bottom:4px;}
.mobile-menu-v23__bottom a:hover{color:#c2ff8e;border-color:#c2ff8e;}
.mobile-menu-v23__bottom span{font-weight:400;opacity:.7;}
.mobile-menu-v23__cta{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px;padding:15px 19px;background:#c2ff8e;border-radius:16px;font-size:16px;font-weight:850;color:#17251d;text-decoration:none;}
.mobile-menu-v23__cta:hover{background:#e1ffb9;color:#14211c;}
.mobile-menu-v23__signature{margin:24px 0 0;color:#718975;font-size:10px;letter-spacing:.15em;font-weight:800;}
@media(max-width:970px){
 .mobile-menu-v23{display:block;}
 .nav-open .header .nav-links{display:none!important;}
 .mobile-nav-toggle{display:grid!important;}
 .header .nav{gap:10px;}
}
@media(max-width:380px){
 .mobile-menu-v23__links a{min-height:58px;font-size:21px;}
 .mobile-menu-v23__content{padding-top:17px;}
 .mobile-menu-v23__bottom{margin-top:20px;}
}
@media(prefers-reduced-motion:reduce){.mobile-menu-v23 *, .mobile-nav-toggle *{transition:none!important;}}

/* END /assets/v23-mobile.css */
/* BEGIN /assets/v25.css */
/* V24: Mobile only. Keep desktop layout and interactive content intact. */
@media(max-width:700px){
  /* Compact process steps: marker no longer collides with step numbers. */
  .process-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;margin-top:25px!important}
  .process-grid .process-item{
    box-sizing:border-box; min-height:0!important;height:auto!important;
    padding:21px 21px 24px!important; border:1px solid #d9e3d6!important;
    border-radius:17px!important;background:#fbfcf8!important;
    box-shadow:none!important; transform:none!important;
  }
  .process-grid .process-item::before{content:none!important;display:none!important;width:0!important;height:0!important}
  .process-grid .process-item::after{display:none!important}
  .process-grid .process-item .step-number{
    display:inline-flex!important;align-items:center;justify-content:center;
    font-size:12px!important;line-height:1!important;letter-spacing:.08em!important;
    margin:0 0 19px!important;padding:9px 12px!important;
    background:#e6f5dc!important;color:#274b30!important;border-radius:999px!important;
  }
  .process-grid .process-item h3{font-size:clamp(20px,5.7vw,24px)!important;line-height:1.22!important;margin:0 0 9px!important;letter-spacing:-.035em!important}
  .process-grid .process-item p{font-size:14px!important;line-height:1.65!important;color:#506053!important;max-width:36ch;margin:0!important}
  .process-grid .process-item:hover{transform:none!important}
  #solutions.deck-active .service-grid{display:none!important}
  .deck-scroll{position:relative;margin-top:24px;width:100%;isolation:isolate;overflow-anchor:none;overscroll-behavior:contain}
  .deck-stage{position:sticky;top:var(--deck-top,80px);height:var(--deck-stage,600px);min-height:390px;
    width:100%;overflow:hidden;border-radius:22px;
    background:linear-gradient(155deg,#edf4e9 0%,#f8faf5 55%,#ecf0e9 100%);
    border:1px solid #dee7dc;box-shadow:inset 0 1px rgba(255,255,255,.8)}
  .deck-stage:before{content:'';position:absolute;width:70%;aspect-ratio:1;border:1px solid #d6e5d1;border-radius:50%;right:-38%;bottom:-25%;pointer-events:none}
  .deck-status{position:absolute;top:16px;left:17px;right:17px;display:flex;align-items:center;justify-content:space-between;
    font:800 10px/1.35 'DM Sans',system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#54715d;z-index:20;pointer-events:none}
  .deck-status b{color:#223f30;font:800 11px/1 'DM Sans',system-ui,sans-serif;letter-spacing:.05em}
  .deck-pile-label{position:absolute;top:43px;right:17px;font:650 9px/1.2 system-ui,sans-serif;
    color:#6c8270;z-index:21;letter-spacing:.04em;pointer-events:none}
  .deck-track{position:relative;width:100%;height:100%;perspective:1100px;contain:layout style}
  .deck-track .service-card,
  .deck-track .service-card:nth-child(n){position:absolute!important;left:13px!important;top:var(--deck-card-top,160px)!important;
    width:calc(100% - 26px)!important;height:var(--deck-card-height,350px)!important;
    min-height:0!important;max-height:none!important;display:flex!important;grid-column:auto!important;
    grid-template-columns:none!important;flex-direction:column!important;align-items:stretch!important;
    gap:0!important;margin:0!important;box-sizing:border-box!important;
    padding:clamp(18px,5vw,26px)!important;border-radius:20px!important;
    transform-origin:center center!important;transform:var(--deck-transform,translate3d(0,0,0) scale(1))!important;
    opacity:var(--deck-opacity,1)!important;visibility:visible!important;
    pointer-events:var(--deck-pointer,none)!important;
    box-shadow:0 15px 40px rgba(15,34,20,.17)!important;
    transition:none!important;will-change:transform;}
  .deck-track .service-card::after{pointer-events:none}
  .deck-track .service-card .service-number{margin-bottom:clamp(12px,2.5vh,23px)!important}
  .deck-track .service-card h3{font-size:clamp(19px,5.5vw,25px)!important;line-height:1.2!important;letter-spacing:-.045em!important;max-width:none!important;margin-bottom:10px!important}
  .deck-track .service-card p{display:block!important;font-size:clamp(12px,3.3vw,14px)!important;line-height:1.5!important;margin:0 0 12px!important;max-width:none!important}
  .deck-track .service-card .text-link{margin-top:auto!important;padding-top:10px!important}
  .deck-track .service-card .link-label{font-size:13px}
  .deck-track .service-card .service-number .service-symbol{height:38px;width:38px;font-size:18px}
  .deck-track .service-card:nth-child(7){background:#c7ff93!important}
  .deck-empty{position:absolute;top:49%;left:50%;width:85%;transform:translate(-50%,-50%);text-align:center;
    font-size:12px;color:#59735e;line-height:1.5;opacity:0;pointer-events:none}
  .deck-scroll.deck-finished .deck-empty{opacity:0}
}
@media(max-width:350px){.deck-track .service-card h3{font-size:18px!important}.deck-track .service-card p{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){#solutions.deck-active .service-grid{display:grid!important}.deck-scroll{display:none!important}}

/* V25: no accent strokes above process cards; stable scroll scene. */
@media(max-width:700px){.process-grid .process-item{border-top:1px solid #d9e3d6!important}.process-grid .process-item::before,.process-grid .process-item::after{content:none!important;display:none!important}.deck-scroll .deck-stage{overflow-anchor:none}.deck-track .service-card:last-child{backface-visibility:hidden}}

/* V26 mobile process correction: keep the animated green stroke INSIDE the rounded card. */
@media (max-width:700px) {
  .process-grid .process-item {
    position:relative!important;
    overflow:hidden!important;
    border-top:1px solid #d9e3d6!important;
  }
  .process-grid .process-item::before {
    content:""!important;
    display:block!important;
    position:absolute!important;
    top:1px!important;
    left:1px!important;
    width:var(--step-progress,0%)!important;
    max-width:calc(100% - 2px)!important;
    height:3px!important;
    background:#79b94e!important;
    border-radius:16px 16px 0 0!important;
    z-index:2!important;
    opacity:1!important;
    pointer-events:none!important;
    transform:none!important;
    transition:width .7s cubic-bezier(.2,.8,.2,1)!important;
  }
  .process-grid .process-item::after {
    content:none!important;
    display:none!important;
  }
}

/* END /assets/v25.css */
/* BEGIN /assets/v27-slogan.css */
/* V27. Only the decorative home-page slogan. No service/deck/navigation changes. */
main>.container>.editorial-marquee.slogan-v27{
  position:relative; display:flex; align-items:center; justify-content:center;
  width:100%; max-width:100%; margin:0;
  padding:clamp(23px,3vw,38px) 0 clamp(20px,2.7vw,34px);
  min-height:0; overflow:hidden; isolation:isolate;
  border-top:1px solid rgba(34,52,40,.09);
  background:#f4f5f1;
  font-family:Manrope,system-ui,sans-serif;
  font-size:clamp(24px,3.0vw,55px)!important;
  font-weight:900; line-height:1.13; letter-spacing:-.064em;
  color:#b7c5b5; text-transform:uppercase; white-space:normal;
}
.slogan-v27 .slogan-run{display:flex;align-items:baseline;justify-content:center;gap:clamp(8px,1.3vw,19px);white-space:nowrap;max-width:100%;min-width:0}
.slogan-v27 .slogan-part,.slogan-v27 .slogan-separator{display:inline-block;transition:transform .95s cubic-bezier(.18,.8,.2,1),opacity .95s ease,color .95s ease;will-change:transform,opacity}
.slogan-v27.slogan-ready:not(.slogan-in-view) .slogan-part--first{transform:translate3d(-38px,13px,0);opacity:.14}
.slogan-v27.slogan-ready:not(.slogan-in-view) .slogan-part--second{transform:translate3d(38px,13px,0);opacity:.14}
.slogan-v27.slogan-ready:not(.slogan-in-view) .slogan-separator{transform:scale(.7);opacity:.12}
.slogan-v27.slogan-in-view .slogan-part--first{transform:none;opacity:1}
.slogan-v27.slogan-in-view .slogan-part--second{transform:none;opacity:1}
.slogan-v27.slogan-in-view .slogan-separator{transform:none;opacity:1;color:#74a979}
@media(max-width:900px){
 main>.container>.editorial-marquee.slogan-v27{font-size:clamp(24px,4.1vw,37px)!important}
 .slogan-v27 .slogan-run{flex-wrap:wrap;gap:4px 10px;white-space:normal;text-align:center}
}
@media(max-width:700px){
 main>.container>.editorial-marquee.slogan-v27{padding:22px 3px 24px;font-size:clamp(25px,5.4vw,34px)!important}
 .slogan-v27 .slogan-run{gap:1px 9px}
}
@media(prefers-reduced-motion:reduce){
 .slogan-v27 .slogan-part,.slogan-v27 .slogan-separator{transition:none!important;transform:none!important;opacity:1!important;will-change:auto!important}
}

/* END /assets/v27-slogan.css */
/* BEGIN /assets/v28-flow.css */
/* V28: scoped, accessible motion for the two existing flow diagrams. */
/* No changes to layout heights, interaction, or mobile card decks. */
@media (prefers-reduced-motion: no-preference) {
  .case-display.v28-flow-live .case-flow > div,
  .case-display.v28-flow-live .case-flow > i,
  .flow-block.v28-flow-live .flow-visual > .flow-node,
  .flow-block.v28-flow-live .flow-visual > .flow-arrow {
    animation: v28-enter .52s both cubic-bezier(.2,.78,.27,1);
  }
  .case-display.v28-flow-live .case-flow > :nth-child(1),
  .flow-block.v28-flow-live .flow-visual > :nth-child(1) { animation-delay: .06s; }
  .case-display.v28-flow-live .case-flow > :nth-child(2),
  .flow-block.v28-flow-live .flow-visual > :nth-child(2) { animation-delay: .38s; }
  .case-display.v28-flow-live .case-flow > :nth-child(3),
  .flow-block.v28-flow-live .flow-visual > :nth-child(3) { animation-delay: .67s; }
  .case-display.v28-flow-live .case-flow > :nth-child(4),
  .flow-block.v28-flow-live .flow-visual > :nth-child(4) { animation-delay: .98s; }
  .case-display.v28-flow-live .case-flow > :nth-child(5),
  .flow-block.v28-flow-live .flow-visual > :nth-child(5) { animation-delay: 1.22s; }
  .case-display.v28-flow-live .case-flow > i,
  .flow-block.v28-flow-live .flow-visual > .flow-arrow {
    color:#baff70;
    text-shadow:0 0 16px rgba(186,255,112,.36);
  }
  .case-display.v28-flow-live .case-flow > div,
  .flow-block.v28-flow-live .flow-visual > .flow-node {
    box-shadow:inset 0 0 0 1px rgba(186,255,112,.10);
  }
  @keyframes v28-enter {
    from { opacity:.42; filter:brightness(.7); transform:translateY(11px); }
    to { opacity:1; filter:brightness(1); transform:translateY(0); }
  }
  /* Respect keyboard focus and avoid animation triggering on mere hover. */
}
@media (prefers-reduced-motion: reduce) {
  .case-display .case-flow > *, .flow-block .flow-visual > * {animation:none!important;transition:none!important}
}

/* END /assets/v28-flow.css */
/* BEGIN /assets/v29-cards.css */
/* V29 — restrained desktop-only motion for the nine service cards.
   Nothing in the mobile deck or other sections is modified. */
@media (min-width:1024px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  @property --v29-angle {syntax:'<angle>';inherits:false;initial-value:0deg}
  #solutions .service-card.v29-motion {isolation:isolate;--v29-ink:rgba(58,138,90,.7)}
  #solutions .service-card.v29-motion:nth-child(1),
  #solutions .service-card.v29-motion:nth-child(6) {--v29-ink:rgba(192,255,124,.84)}
  #solutions .service-card.v29-motion:nth-child(7) {--v29-ink:rgba(28,87,48,.65)}
  /* Narrow traveling highlight clipped to the existing rounded edge. */
  #solutions .service-card.v29-motion::before {
    content:'';position:absolute;inset:0;border-radius:inherit;padding:1.5px;
    background:conic-gradient(from var(--v29-angle),transparent 0deg,transparent 298deg,var(--v29-ink) 320deg,transparent 343deg,transparent 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    mask-composite:exclude;
    pointer-events:none;opacity:0;z-index:3;
  }
  #solutions .service-card.v29-motion.v29-pulse::before,
  #solutions .service-card.v29-motion:hover::before {animation:v29-border-sweep 1.65s ease-out both}
  #solutions .service-card.v29-motion .service-symbol {
    will-change:auto;transform-origin:center;backface-visibility:hidden;
  }
  /* Distinct personalities, one restrained visual language. */
  #solutions .service-card.v29-motion:nth-child(1).v29-pulse .service-symbol {animation:v29-scan 1.5s ease-in-out both}
  #solutions .service-card.v29-motion:nth-child(2).v29-pulse .service-symbol {animation:v29-signal 1.3s ease-out both}
  #solutions .service-card.v29-motion:nth-child(3).v29-pulse .service-symbol {animation:v29-meter 1.35s ease-out both}
  #solutions .service-card.v29-motion:nth-child(4).v29-pulse .service-symbol {animation:v29-routing 1.45s ease-in-out both}
  #solutions .service-card.v29-motion:nth-child(5).v29-pulse .service-symbol {animation:v29-orbit 1.5s ease-in-out both}
  #solutions .service-card.v29-motion:nth-child(6).v29-pulse .service-symbol {animation:v29-stack 1.3s ease-out both}
  #solutions .service-card.v29-motion:nth-child(7).v29-pulse .service-symbol {animation:v29-system 1.5s ease-in-out both}
  #solutions .service-card.v29-motion:nth-child(8).v29-pulse .service-symbol {animation:v29-frame 1.2s ease-in-out both}
  #solutions .service-card.v29-motion:nth-child(9).v29-pulse .service-symbol {animation:v29-message 1.35s ease-out both}
  #solutions .service-card.v29-motion:hover .service-symbol{filter:drop-shadow(0 0 7px rgba(109,182,92,.17))}
  @keyframes v29-border-sweep {0%{--v29-angle:-55deg;opacity:0}20%{opacity:.72}70%{opacity:.72}100%{--v29-angle:305deg;opacity:0}}
  @keyframes v29-scan{0%,100%{transform:rotate(0)}35%{transform:rotate(-11deg) scale(1.06)}70%{transform:rotate(7deg)}}
  @keyframes v29-signal{0%,100%{transform:translateX(0)}25%{transform:translateX(3px) rotate(6deg)}49%{transform:translateX(-1px)}74%{transform:translateX(2px)}}
  @keyframes v29-meter{0%,100%{transform:scale(1)}28%{transform:scale(1.085)}56%{transform:scale(.965)}76%{transform:scale(1.045)}}
  @keyframes v29-routing{0%,100%{transform:rotate(0)}30%{transform:rotate(10deg)}60%{transform:rotate(-5deg)}85%{transform:rotate(3deg)}}
  @keyframes v29-orbit{0%,100%{transform:rotate(0)}45%{transform:rotate(15deg)}75%{transform:rotate(-4deg)}}
  @keyframes v29-stack{0%,100%{transform:translateY(0)}28%{transform:translateY(-4px)}55%{transform:translateY(2px)}79%{transform:translateY(-2px)}}
  @keyframes v29-system{0%,100%{transform:rotate(0) scale(1)}35%{transform:rotate(8deg) scale(1.08)}72%{transform:rotate(-3deg)}}
  @keyframes v29-frame{0%,100%{transform:scale(1)}42%{transform:scale(1.09,1.045)}70%{transform:scale(.98,1.01)}}
  @keyframes v29-message{0%,100%{transform:translate(0,0) rotate(0)}30%{transform:translate(2px,-3px) rotate(7deg)}65%{transform:translate(-1px,1px) rotate(-4deg)}}
}
@media(prefers-reduced-motion:reduce){#solutions .service-card.v29-motion::before{animation:none!important}}

/* END /assets/v29-cards.css */
/* V32 - single source of truth for visual brand mark: favicon.svg */
img.brand-mark-favicon{display:block;object-fit:contain;object-position:center;background:transparent!important;color:inherit;padding:0!important;border:0!important;box-shadow:none!important;flex:0 0 auto;transform:rotate(-6deg);border-radius:0!important;}

/* V34: preserve original slight icon tilt in scrolled header. */
.header.scrolled img.brand-mark-favicon{transform:rotate(-6deg) scale(.85)}
