/* Shared geometry; palettes are scoped so the outgoing wave keeps its own colours. */
:root{--radius:6px;--space:clamp(24px,5vw,80px)}
:root,[data-theme="light"]{color-scheme:light;--bg:#f2f3f1;--paper:#ffffff;--ink:#222c2b;--muted:#596460;--green:#355e4d;--line:#c9d2cb;--control-line:#758176;--header:#f2f3f1;--project:#e8ece7;--field:#f8faf7;--placeholder:#657169;--grid:#dce3dc;--action:#355e4d;--action-hover:#274737;--on-action:#ffffff;--selected:#222c2b;--on-selected:#ffffff;--soft-hover:#e4e8e3;--panel:#222c2b;--panel-ink:#ffffff;--panel-muted:#c3cec6;--panel-line:#58675e;--panel-accent:#afc8b7;--scrim:#12241dc4;--photo-label:#19261fdb;--photo-ink:#ffffff;--thumb:#ffffff;--switch-track:#dce3dc;--switch-line:#aebcb1}
[data-theme="dark"]{color-scheme:dark;--bg:#171e1b;--paper:#222c27;--ink:#eef2ed;--muted:#b4c1b7;--green:#a3c4ae;--line:#506057;--control-line:#7e9585;--header:#1b231f;--project:#1f2923;--field:#18221c;--placeholder:#a1b0a5;--grid:#35453a;--action:#a8c9b4;--action-hover:#bddac7;--on-action:#17271d;--selected:#dce8df;--on-selected:#17231c;--soft-hover:#2d3d32;--panel:#26372c;--panel-ink:#eef4ed;--panel-muted:#c0d0c3;--panel-line:#586d5e;--panel-accent:#bdd8c5;--scrim:#050c08d9;--photo-label:#14241ce6;--photo-ink:#ffffff;--thumb:#b9d3c2;--switch-track:#26372c;--switch-line:#60796a}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Manrope,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button,a,input,textarea,select{outline-offset:5px} :focus-visible{outline:3px solid var(--green)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Golos Text',Arial,sans-serif;font-weight:500;line-height:1.12}h1{font-size:clamp(42px,5.6vw,86px);letter-spacing:-.055em}h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.045em}h3{font-size:24px;letter-spacing:-.025em}p{color:var(--muted)}img{display:block;width:100%;object-fit:cover}button{border:0} .wrap{width:min(1440px,100% - var(--space)*2);margin:auto}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--paper);color:var(--ink);padding:12px}.skip:focus{top:12px}.header{position:sticky;top:0;z-index:30;background:var(--header);border-bottom:1px solid var(--line)}.header-inner{min-height:96px;display:flex;align-items:center;gap:32px}.brand{display:flex;gap:12px;align-items:center;margin-right:auto;white-space:nowrap}.brand-symbol{font:600 36px/1 'Golos Text',sans-serif;letter-spacing:-5px;padding-right:5px}.brand-name{font:600 15px/1.2 'Golos Text',sans-serif;letter-spacing:.07em}.brand-name small{display:block;font-size:9px;letter-spacing:.12em;margin-top:5px;font-weight:400}.nav{display:flex;gap:28px;font-size:13px;font-weight:600}.nav a{padding:12px 0}.nav a:hover{color:var(--green)}.languages{display:flex;gap:4px}.languages button{background:transparent;color:var(--muted);min-width:44px;min-height:44px;border-radius:4px;font-size:12px}.languages button[aria-pressed=true]{background:var(--selected);color:var(--on-selected)}.menu{display:none;background:none;color:var(--ink);min-height:44px;padding:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;background:var(--action);color:var(--on-action);padding:16px 23px;min-height:52px;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.btn:hover{background:var(--action-hover)}.btn:active{transform:translateY(1px)}.btn.light{background:transparent;border-color:var(--line);color:var(--ink)}.btn.light:hover{background:var(--soft-hover)}.arrow{font-size:21px;line-height:1}.eyebrow{font:11px/1.5 monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';width:7px;height:7px;background:var(--green)}.hero{padding-top:52px}.hero-top{display:grid;grid-template-columns:1.45fr .7fr;gap:9%;align-items:end;margin:27px 0 42px}.hero h1 span{color:var(--green)}.hero-description{padding-bottom:7px}.hero-description p{max-width:390px;font-size:15px}.hero-description .btn{margin-top:26px}.hero-image{position:relative}.hero-image>img{height:clamp(320px,37vw,540px);object-position:center 58%;clip-path:polygon(0 0,100% 0,100% 86%,94% 100%,0 100%)}.image-tag{position:absolute;bottom:28px;left:28px;color:var(--photo-ink);background:var(--photo-label);padding:9px 14px;font-size:11px}.hero-bottom{display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:11px;color:var(--muted)}.hero-bottom span:last-child{font-family:monospace}.section{padding:100px 0;scroll-margin-top:10px}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:32px;margin-bottom:48px}.section-head h2{max-width:800px}.intro{max-width:600px;margin-top:24px}.services{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:64px 1fr 1.05fr 44px;gap:24px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.service .number{font:12px monospace;color:var(--muted);padding-top:7px}.service h3{padding-top:2px}.service p{font-size:14px;max-width:440px}.service .service-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;transition:.2s}.service-link:hover{background:var(--action);color:var(--on-action)}.project-section{background:var(--project)}.project-header{display:flex;justify-content:space-between;align-items:end;gap:32px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.filter{padding:9px 18px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:30px;font-size:12px}.filter[aria-pressed=true]{background:var(--selected);color:var(--on-selected);border-color:var(--selected)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}.project-card{min-width:0}.project-open{display:block;text-align:left;background:none;color:inherit;width:100%;padding:0}.project-photo{overflow:hidden;border-radius:4px}.project-photo img{height:290px;transition:transform .35s}.project-open:hover img{transform:scale(1.035)}.project-title{display:flex;justify-content:space-between;gap:12px;margin-top:19px}.project-title h3{font-size:21px}.project-card p{font-size:12px;margin-top:8px}.project-card .tag{font:10px monospace;letter-spacing:.06em;margin-top:12px;color:var(--green);display:block;text-transform:uppercase}.note{font-size:12px;max-width:900px;margin-top:28px}.supply{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.supply h2{margin:22px 0}.supply p{font-size:14px}.map{position:relative;min-height:440px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(90deg,transparent 49.5%,var(--grid) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,var(--grid) 50%,transparent 50.5%);background-size:40px 40px;overflow:hidden}.map svg{position:absolute;inset:0;width:100%;height:100%;color:var(--green)}.map .city{position:absolute;font:600 14px 'Golos Text',sans-serif;line-height:1.5}.map .city small{display:block;font:11px Manrope,sans-serif;color:var(--muted)}.city.north{left:13%;top:15%}.city.stock{left:41%;top:45%;background:var(--action);color:var(--on-action);padding:12px 17px;border-radius:4px}.city.stock small{color:var(--on-action)}.city.south{left:67%;top:77%}.map-label{position:absolute;bottom:16px;left:18px;font:10px monospace;color:var(--muted)}.supply-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0}.supply-stats strong{font:500 clamp(26px,3vw,42px) 'Golos Text',sans-serif;letter-spacing:-.04em;display:block}.supply-stats span{font-size:12px;display:block;margin-top:10px;color:var(--muted)} .partnership{background:var(--panel);color:var(--panel-ink);border-radius:6px;padding:48px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;margin-top:64px}.partnership h3{font-size:30px;margin-bottom:18px}.partnership p{color:var(--panel-muted);font-size:14px}.partnership ul{padding:0;margin:0;list-style:none}.partnership li{padding:12px 0;border-bottom:1px solid var(--panel-line);font-size:13px;display:flex;gap:20px}.partnership li:before{content:'↗';color:var(--panel-accent)}.partnership a{margin-top:24px}.group-section{border-top:1px solid var(--line)}.group-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.group-card{border-top:2px solid var(--green);padding-top:25px}.group-card small{font:10px monospace;color:var(--muted);text-transform:uppercase}.group-card h3{font-size:22px;margin:20px 0 12px}.group-card p{font-size:13px}.faq{margin-top:70px;display:grid;grid-template-columns:1fr 2fr;gap:32px}.faq h3{font-size:30px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{padding:20px 28px 20px 0;cursor:pointer;font-size:14px;font-weight:600}.faq details p{padding:0 0 20px;font-size:14px}.contact-section{background:var(--paper)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-layout h2{margin:20px 0 30px}.contact-person{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px}.contact-person h3{font-size:18px}.contact-person>a{font-size:15px}.contact-person .whatsapp{font-size:12px;color:var(--green);grid-column:2}.contact-address{margin-top:25px;font-size:13px}.contact-address a{display:block;font-size:18px;color:var(--ink);margin-bottom:10px}.form{padding-top:12px}.form label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}.field{margin-bottom:18px}.form input,.form textarea,.form select{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:4px;background:var(--field);color:var(--ink)}.form textarea{resize:vertical;min-height:112px}.form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form .hint{font-size:11px;margin:16px 0}.form .btn{width:100%;justify-content:space-between}.status{font-size:13px;color:var(--green);margin-top:15px}.footer{padding:34px 0;border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;color:var(--muted)}.footer-links{display:flex;gap:24px}.text-button{background:none;padding:0;color:inherit;font-size:inherit;text-decoration:underline;min-height:44px}.dialog{width:min(760px,calc(100% - 32px));max-height:90dvh;border:0;border-radius:8px;padding:0;color:var(--ink);background:var(--paper)}.dialog::backdrop{background:var(--scrim)}.dialog-close{position:absolute;right:14px;top:14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:50%;width:44px;height:44px;font-size:25px;z-index:1}.dialog img{height:330px}.dialog-body{padding:32px}.dialog h2{font-size:32px;margin:14px 0}.dialog p{font-size:14px;margin:14px 0}.dialog .source{font-size:12px;text-decoration:underline}.dialog .btn{margin-top:20px}[hidden]{display:none!important}.reveal{animation:enter .5s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(min-width:1600px){.wrap{width:min(1440px,100% - 160px)}}@media(max-width:1100px){.nav{gap:18px}.header-inner{gap:20px}.header .contact-nav{display:none}.hero-top{gap:5%}.project-grid{grid-template-columns:repeat(2,1fr)}.group-grid{grid-template-columns:repeat(2,1fr)}.service{grid-template-columns:40px 1fr 1fr 44px;gap:16px}}@media(max-width:760px){:root{--space:24px}.header-inner{min-height:76px;gap:12px}.brand-symbol{font-size:30px}.brand-name{font-size:12px}.brand-name small{font-size:8px}.menu{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px 24px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;gap:8px}.nav.open{display:flex}.nav a{min-height:44px}.hero{padding-top:30px}.hero-top{grid-template-columns:1fr;gap:25px;margin:22px 0 30px}.hero h1{max-width:650px}.hero-description{display:flex;flex-direction:column;align-items:start}.hero-description p{max-width:520px;font-size:14px}.hero-description .btn{margin-top:20px}.hero-image>img{height:330px}.image-tag{left:14px;bottom:18px;right:30px;font-size:10px}.hero-bottom{font-size:10px;flex-direction:column;gap:4px}.section{padding:64px 0}.section-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.service{grid-template-columns:28px 1fr 44px;gap:12px;padding:24px 0}.service h3{font-size:21px}.service p{grid-column:2;grid-row:2}.service-link{grid-column:3;grid-row:1}.project-header{display:block}.project-grid{gap:28px 16px}.project-photo img{height:220px}.project-title h3{font-size:18px}.filters{gap:8px}.filter{padding:9px 13px}.supply{grid-template-columns:1fr;gap:32px}.map{min-height:400px;grid-row:2}.partnership{padding:28px;grid-template-columns:1fr;gap:28px;margin-top:36px}.partnership h3{font-size:26px}.group-grid{gap:32px 20px}.group-card h3{font-size:20px}.faq{grid-template-columns:1fr;gap:24px;margin-top:48px}.contact-layout{grid-template-columns:1fr;gap:36px}.footer-inner{flex-wrap:wrap}.footer-links{gap:16px;flex-wrap:wrap}.dialog img{height:240px}.dialog-body{padding:24px}}@media(max-width:440px){.project-grid{grid-template-columns:1fr}.project-photo img{height:260px}.group-grid{grid-template-columns:1fr}.form .two{grid-template-columns:1fr;gap:0}.contact-person{grid-template-columns:1fr}.contact-person .whatsapp{grid-column:1}.map .city{font-size:12px}.map .city.stock{left:35%}.city.south{left:65%}.languages{gap:0}.languages button{min-width:44px}.header-inner{gap:8px}.hero h1{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Theme control: a 44px target around a compact, two-position track. */
.theme-toggle{position:relative;flex:0 0 68px;width:68px;height:44px;padding:7px 0;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;isolation:isolate;background:transparent;color:var(--muted);border-radius:24px}
.theme-toggle:before{content:"";position:absolute;inset:7px 0;border:1px solid var(--switch-line);border-radius:20px;background:var(--switch-track);z-index:-2}
.theme-toggle:after{content:"";position:absolute;left:4px;top:10px;width:24px;height:24px;border-radius:50%;background:var(--thumb);box-shadow:0 1px 3px #0002;z-index:-1;transform:translateX(0);transition:transform 260ms cubic-bezier(.4,0,.2,1),background-color 260ms ease}
.theme-toggle[aria-checked="true"]:after{transform:translateX(36px)}
.theme-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:color 180ms ease,transform 260ms ease}
.theme-toggle[aria-checked="false"] .theme-sun{color:#355e4d;transform:rotate(0)}
.theme-toggle[aria-checked="true"] .theme-moon{color:#17271d;transform:rotate(-12deg)}
.theme-toggle:active:after{scale:.92}
.form input::placeholder,.form textarea::placeholder{color:var(--placeholder);opacity:1}
.partnership{border:1px solid var(--panel-line)}
/* Outgoing, inert DOM layer. The real page remains scrollable and interactive. */
.theme-wave{position:fixed;inset:0;z-index:80;overflow:hidden;pointer-events:none;user-select:none;background:var(--bg);color:var(--ink);contain:paint;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;will-change:mask-position;-webkit-mask-position:100% 0;mask-position:100% 0}
.theme-wave-content{width:100%;transform:translate3d(0,0,0);transform-origin:top left;will-change:transform}
.theme-wave-content .header{position:relative;top:auto;will-change:transform}
.theme-wave-content *,.theme-wave-content *:before,.theme-wave-content *:after{animation:none!important}
.theme-wave-content .reveal{opacity:1;transform:none}
@media(max-width:960px){.header-inner{gap:16px;min-height:76px}.menu{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px 24px;background:var(--header);border-bottom:1px solid var(--line);flex-direction:column;gap:8px}.nav.open{display:flex}.nav a{min-height:44px}}
@media(max-width:440px){.header-inner{gap:8px}.brand{gap:8px}.brand-symbol{font-size:28px}.brand-name{font-size:11px}.brand-name small{display:none}.theme-toggle{flex-basis:64px;width:64px}.theme-toggle[aria-checked="true"]:after{transform:translateX(32px)}}
@media(prefers-reduced-motion:reduce){.theme-toggle:after,.theme-toggle svg{transition:none!important}.theme-wave{display:none!important}}

/* Quiet structural dividers, stronger boundaries on interactive controls. */
.form input,.form textarea,.form select,.filter,.service .service-link,.btn.light,.dialog-close,.theme-toggle:before{border-color:var(--control-line)}
