:root{--ink:#252b27;--muted:#676d67;--paper:#f8f8f2;--soft:#efefe6;--line:#dadcd2;--accent:#e3df9c;--accent-strong:#ded780;--dark:#232a25;--white:#fff;--radius:18px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7c8143;outline-offset:6px}img{max-width:100%;display:block}figure,h1,h2,h3,p{margin:0}ul{margin:0;padding:0}button{border:0}::selection{background:var(--accent);color:var(--ink)}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.section{padding-block:112px}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.15em;line-height:1.6;margin-bottom:23px}.eyebrow.light{color:#e9ecdf}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--accent);flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;top:12px;left:12px;background:var(--accent);padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}h1,h2{font-weight:500;letter-spacing:-.045em;line-height:1.13}h2{font-size:clamp(36px,3.45vw,52px)}.button{min-height:56px;padding:16px 23px;display:inline-flex;gap:26px;align-items:center;justify-content:space-between;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:700;line-height:1.5;transition:background .35s,color .35s,transform .35s;position:relative}.button .icon{width:20px;height:20px;transition:transform .35s}.button:hover .icon{transform:translateX(3px)}.button:hover{transform:translateY(-2px)}.button-accent{color:var(--ink);background:var(--accent)}.button-accent:hover{background:#eeebb9}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#3c443a}.button-outline{border-color:#adb2a4;background:transparent}.button-outline:hover{background:var(--soft);border-color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:30px;padding-block:10px;font-size:13px;font-weight:700}.text-link .icon{width:19px;height:19px;transition:transform .3s}.text-link:hover .icon{transform:translateX(5px)}
/* Header */
.site-header{height:96px;position:sticky;top:0;z-index:50;background:rgba(248,248,242,.97);border-bottom:1px solid rgba(37,43,39,.09);backdrop-filter:blur(18px)}.header-inner{height:100%;width:min(1536px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;line-height:1.1}.brand-symbol{display:flex;align-items:center;justify-content:center;gap:4px;width:44px;height:44px}.brand-symbol i{height:12px;width:4px;background:currentColor;border-radius:4px}.brand-symbol i:nth-child(2){height:24px}.brand-symbol i:nth-child(3){height:36px}.brand-symbol i:nth-child(4){height:23px}.brand-symbol i:nth-child(5){height:12px}.brand-text{font-size:20px;letter-spacing:-.055em;font-weight:800}.brand-text>span{display:block;margin-top:8px;font-weight:600;font-size:8px;letter-spacing:.26em}.main-nav{display:flex;align-items:center;gap:28px}.main-nav>a{font-size:12px;font-weight:600;padding-block:13px;position:relative;white-space:nowrap}.main-nav>a:after{content:'';position:absolute;bottom:6px;left:0;width:0;height:2px;background:#979b69;transition:width .25s}.main-nav>a:hover:after,.main-nav>a.is-current:after{width:100%}.header-phone{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:700;padding:12px 16px;border:1px solid var(--line);border-radius:7px;white-space:nowrap;transition:background .3s}.header-phone:hover{background:var(--accent)}.header-phone .icon{width:16px;height:16px}.menu-toggle{display:none}
/* Full-height photographic opening */
.hero{position:relative;isolation:isolate;color:var(--white);min-height:calc(100svh - 96px);min-height:max(690px,calc(100svh - 96px));background:var(--dark);overflow:hidden}.hero-images,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.04);transition:opacity 1.8s ease,transform 8.8s linear}.hero-image.is-active{opacity:1;transform:scale(1.005)}.hero-image:nth-child(2){object-position:center}.hero.is-paused .hero-image{transition:opacity 1.8s ease}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(15,25,22,.82) 0%,rgba(16,26,23,.61) 38%,rgba(21,28,21,.10) 74%),linear-gradient(0deg,rgba(14,24,20,.83),transparent 52%)}.hero-inner{min-height:inherit;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(70px,9vh,120px);padding-bottom:29px}.hero-heading{max-width:760px;padding-bottom:75px}.hero h1{font-size:clamp(68px,7.25vw,110px);line-height:1.03;font-weight:500;letter-spacing:-.055em;margin-bottom:27px}.hero h1 span{color:var(--accent)}.hero-lead{font-size:15px;line-height:1.85;color:#f0f1e9;font-weight:400;max-width:440px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:33px}.hero-link{font-size:12px;font-weight:600;border-bottom:1px solid #aeb2a0;padding:9px 0;display:flex;gap:14px}.hero-link:hover{color:var(--accent)}.hero-footer{display:flex;gap:45px;justify-content:space-between;align-items:end}.hero-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;max-width:850px}.hero-path{background:rgba(250,252,239,.08);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.24);border-radius:10px;display:flex;gap:17px;align-items:center;padding:22px 22px;transition:background .4s,transform .4s}.hero-path>.icon{width:29px;height:29px;color:var(--accent)}.hero-path small{display:block;font-size:8px;font-weight:700;letter-spacing:.12em;margin-bottom:5px;color:#d3d8c8}.hero-path span{font-size:14px;line-height:1.6}.hero-path .path-arrow{margin-left:auto;width:21px;height:21px;color:#fff}.hero-path:hover{background:rgba(250,252,239,.16);transform:translateY(-3px)}.hero-controls{flex:0 0 160px;text-align:right}.slide-label{font-size:11px}.slide-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:6px 0}.slide-dot{padding:7px 4px;min-width:30px;min-height:36px;background:none;color:#d4d7cc;font-size:11px}.slide-dot.is-active{color:var(--accent);font-weight:800}.slide-line{width:35px;height:1px;background:#828d7f}.pause-button{width:35px;height:35px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:50%;font-size:12px;color:#fff;margin-left:8px;line-height:1}.pause-button:hover{background:rgba(255,255,255,.25)}.hero-controls>small{font-size:8px;color:#d5dbcd;letter-spacing:.02em}
/* Services, distinctive accordion and image composition */
.heading-row{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;align-items:end}.heading-row>p{font-size:14px;color:var(--muted);max-width:400px;padding-bottom:4px}.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:64px;align-items:start;scroll-margin-top:120px}.service-list{border-top:1px solid var(--line)}.service-detail{border-bottom:1px solid var(--line)}.service-detail summary{list-style:none;display:flex;align-items:center;gap:19px;cursor:pointer;padding:26px 0;line-height:1.5;font-size:17px;font-weight:600}.service-detail summary::-webkit-details-marker{display:none}.service-number{color:#727762;font-size:10px;font-weight:600;align-self:center}.plus{position:relative;margin-left:auto;flex:0 0 25px;height:25px;border:1px solid #bfc3b5;border-radius:50%}.plus:before,.plus:after{content:'';position:absolute;left:7px;right:7px;height:1px;top:11px;background:var(--ink)}.plus:after{transform:rotate(90deg);transition:transform .3s}.service-detail[open] .plus:after{transform:rotate(0)}.service-detail[open] .plus{background:var(--accent);border-color:var(--accent)}.detail-content{padding:0 24px 24px 32px;font-size:13px;color:var(--muted)}.detail-content p{margin-bottom:17px}.detail-content ul{list-style:none;margin-bottom:13px}.detail-content li{padding-left:17px;position:relative;margin-block:6px}.detail-content li:before{content:'';width:4px;height:4px;border-radius:50%;background:#989e6f;position:absolute;left:0;top:10px}.detail-content .text-link{color:var(--ink)}.service-visual{position:relative;margin-top:0;border-radius:var(--radius);overflow:hidden;min-height:440px;background:#dddece}.service-visual>img{width:100%;height:440px;object-fit:cover;object-position:55% center;transition:transform 1.3s var(--ease)}.service-visual:hover>img{transform:scale(1.03)}.service-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(19,26,22,.68));pointer-events:none}.service-visual figcaption{position:absolute;z-index:2;left:25px;right:25px;bottom:22px;color:#fff;display:flex;justify-content:space-between;gap:12px;align-items:end}.service-visual figcaption>span{display:flex;gap:12px;align-items:center;font-size:13px}.service-visual figcaption small{font-size:8px}.photo-corner{position:absolute;right:22px;top:22px;width:50px;height:50px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(28,35,28,.12);backdrop-filter:blur(12px)}.technology-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:58px;padding:30px 0;display:flex;justify-content:space-between;gap:22px;align-items:center}.technology-strip>span{font-size:11px;color:var(--muted)}.technology-strip>div{display:flex;align-items:center;gap:45px}.technology-strip strong{font-size:23px;letter-spacing:-.035em;font-weight:800}.technology-strip strong>span{font-size:18px;font-weight:500}.technology-strip i{height:24px;width:1px;background:var(--line)}.technology-strip .dexon{letter-spacing:.12em;font-weight:800;font-size:21px}
/* Free survey */
.survey-section{background:var(--accent);overflow:hidden;padding-block:62px}.survey-grid{display:grid;grid-template-columns:.65fr 1.6fr .8fr;gap:48px;align-items:center}.survey-copy .eyebrow{margin-bottom:18px}.survey-copy h2{font-size:38px}.survey-copy p:not(.eyebrow){font-size:13px;max-width:460px;margin-top:22px}.survey-copy .button{margin-top:25px}.survey-art{width:190px;height:190px;position:relative;display:grid;place-items:center}.survey-art>span{position:absolute;inset:0;border:1px solid rgba(65,72,49,.27);border-radius:50%}.survey-art>span:nth-child(2){inset:24px}.survey-art>span:nth-child(3){inset:48px}.survey-art>.survey-core{inset:72px;border:0}.survey-art .icon{width:36px;height:36px}.survey-note{border-left:1px solid rgba(48,55,39,.24);padding-left:34px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:32px}.survey-note>span{font-size:22px;line-height:1.45;letter-spacing:-.025em}.survey-note a{display:flex;align-items:center;gap:20px;font-size:15px;font-weight:700;white-space:nowrap}.survey-note .icon{width:18px;height:18px}
/* ViVis technical editorial */
.vivis-section{background:var(--dark);color:#fff}.vivis-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.vivis-picture{position:relative;overflow:hidden;border-radius:var(--radius);background:#151a17;aspect-ratio:1.17}.vivis-picture>img{width:100%;height:100%;object-fit:cover;opacity:.8}.vivis-picture:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#141b15e6)}.picture-label{position:absolute;top:27px;left:27px;color:#e4e8dc;font-size:8px;letter-spacing:.13em}.waveform{position:absolute;z-index:2;bottom:40px;left:10%;right:10%;height:60px;display:flex;gap:6px;justify-content:space-between;align-items:center;opacity:.8}.waveform i{display:block;width:3px;flex-shrink:1;background:var(--accent);border-radius:3px;height:12px}.waveform i:nth-child(3n){height:33px}.waveform i:nth-child(4n){height:46px}.waveform i:nth-child(5n){height:23px}.waveform i:nth-child(7n){height:58px}.vivis-copy h2{font-size:clamp(43px,4vw,62px)}.vivis-copy>p:not(.eyebrow){font-size:14px;color:#c2cbbf;margin-top:28px;max-width:410px}.vivis-uses{display:flex;gap:26px;border-block:1px solid #485146;margin-block:29px;padding-block:22px}.vivis-uses>span{display:flex;gap:10px;align-items:center;font-size:11px}.vivis-uses .icon{width:21px;height:21px;color:var(--accent)}.light-link{color:var(--accent)}
/* Work at height */
.platform-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:10%;align-items:center}.platform-picture{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius);max-height:665px}.platform-picture>img{width:100%;height:100%;object-fit:cover;object-position:center 43%;transition:transform 1.3s var(--ease)}.platform-picture:hover>img{transform:scale(1.03)}.platform-photo-label{position:absolute;bottom:22px;left:22px;right:22px;border:1px solid rgba(255,255,255,.35);padding:18px 22px;color:white;backdrop-filter:blur(14px);background:rgba(21,28,24,.52);border-radius:10px;display:flex;gap:15px;align-items:center}.platform-photo-label>.icon{width:30px;height:30px;color:var(--accent)}.platform-photo-label span{font-size:15px}.platform-photo-label small{display:block;font-size:9px;color:#e1e5da;margin-top:3px}.platform-intro{font-size:14px;margin-block:25px 22px;color:var(--muted);max-width:440px}.platform-intro strong{font-weight:600;color:var(--ink)}.platform-list{list-style:none;border-top:1px solid var(--line);margin-bottom:30px}.platform-list li{display:flex;gap:18px;align-items:center;padding-block:17px;border-bottom:1px solid var(--line);font-size:13px}.platform-list li>span{font-size:9px;color:#878d7c}.platform-list .icon{margin-left:auto;width:16px;height:16px;color:#778251}
/* Cooperation */
.cooperation-section{background:var(--soft);border-top:1px solid var(--line);padding-block:88px}.cooperation-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10%;margin-bottom:46px}.cooperation-heading>p{font-size:14px;color:var(--muted);padding-bottom:4px;max-width:420px}.municipalities{list-style:none;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:12px 10px}.municipalities li{font-size:16px;font-weight:500;padding:12px 23px;border:1px solid #cfd3c5;border-radius:100px;background:rgba(255,255,255,.18)}.more-municipalities{font-size:12px;color:var(--muted);margin-top:22px}
/* Contact and footer */
.contact-section{background:var(--dark);color:white;position:relative;isolation:isolate;overflow:hidden;padding-block:95px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;position:relative;z-index:1}.contact-heading h2{font-size:clamp(44px,4.4vw,66px)}.contact-heading>p:not(.eyebrow){color:#c7cfc2;font-size:14px;max-width:395px;margin-top:25px}.contact-heading .button{margin-top:30px}.contact-details{padding-left:12px}.contact-name{font-size:21px;display:block;letter-spacing:-.02em}.contact-role{font-size:10px;display:block;color:#b7c1b0;margin-top:5px}.contact-phone{font-size:clamp(25px,2.5vw,39px);font-weight:500;letter-spacing:-.025em;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #55604f;padding-block:35px 25px;gap:20px;white-space:nowrap}.contact-phone:hover,.contact-email:hover{color:var(--accent)}.contact-phone .icon{width:29px;height:29px;color:var(--accent)}.contact-email{display:flex;align-items:center;justify-content:space-between;font-size:20px;padding-block:22px;border-bottom:1px solid #55604f;gap:15px}.contact-email .icon{width:20px;height:20px;color:var(--accent)}.contact-bottom{display:flex;gap:10px;align-items:center;font-size:11px;color:#c3cdbb;margin-top:25px}.contact-rings{position:absolute;width:750px;height:750px;left:-430px;top:15%;z-index:0}.contact-rings i{position:absolute;inset:0;border:1px solid #49533b;border-radius:50%;opacity:.5}.contact-rings i:nth-child(2){inset:65px}.contact-rings i:nth-child(3){inset:130px}.site-footer{padding-top:45px;background:var(--paper)}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:38px;border-bottom:1px solid var(--line)}.brand-footer .brand-text{font-size:17px}.brand-footer .brand-symbol{transform:scale(.85)}.footer-main nav{display:flex;gap:28px;font-size:11px;font-weight:600}.footer-main nav a:hover{color:#747a49}.back-top{display:flex;gap:17px;align-items:center;font-size:10px}.back-top>span{font-size:20px}.footer-bottom{padding-block:20px 24px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.footer-bottom a{font-weight:700;color:var(--ink)}
/* Progressive enhancement: content remains readable if scripts fail */
.reveal.is-pending{opacity:0;transform:translateY(25px)}.reveal{transition:opacity .9s var(--ease),transform .9s var(--ease)}
@media(min-width:1700px){.hero-inner{padding-top:115px}.hero-heading{padding-bottom:100px}}
@media(max-width:1180px){.wrap{width:calc(100% - 72px)}.header-inner{width:calc(100% - 48px);gap:16px}.main-nav{gap:18px}.main-nav>a{font-size:11px}.brand-text{font-size:18px}.brand-symbol{gap:3px;width:36px}.header-phone{padding:11px;font-size:12px}.header-phone .icon{display:none}.hero-footer{gap:25px}.hero-path{padding:20px 16px;gap:12px}.hero-path span{font-size:12px}.hero-path>.icon{width:24px}.hero-controls{flex-basis:135px}.hero-path .path-arrow{width:17px}.survey-grid{grid-template-columns:.5fr 1.6fr .8fr;gap:28px}.survey-art{width:130px;height:130px}.survey-art>span:nth-child(2){inset:18px}.survey-art>span:nth-child(3){inset:36px}.survey-art>.survey-core{inset:49px}.survey-art .icon{width:30px;height:30px}.survey-copy h2{font-size:34px}.survey-note{padding-left:23px}.survey-note>span{font-size:20px}.survey-note a{font-size:12px}.vivis-grid,.platform-grid{gap:7%}.technology-strip>div{gap:24px}.technology-strip>span:last-child{display:none}.vivis-uses{flex-wrap:wrap;gap:16px}.contact-grid{gap:7%}.contact-email{font-size:17px}.footer-main nav{gap:20px}}
@media(max-width:960px){.site-header{height:80px}.header-inner{gap:18px}.header-phone{margin-left:auto;padding:10px 14px}.header-phone .icon{display:block}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;padding:12px 0;order:3;font-size:11px;font-weight:700;z-index:52}.menu-lines{width:21px;height:12px;position:relative;border-top:1px solid;border-bottom:1px solid;transition:border .3s}.menu-lines:after{content:'';position:absolute;left:0;right:0;top:4px;border-top:1px solid}.menu-open .menu-lines{border-bottom:0;transform:rotate(45deg);height:1px}.menu-open .menu-lines:after{top:-1px;transform:rotate(90deg)}.main-nav{position:fixed;top:80px;inset-inline:0;height:calc(100svh - 80px);background:var(--paper);display:none;padding:42px 36px;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:0;overflow-y:auto}.main-nav.is-open{display:flex}.main-nav>a{font-size:25px;padding:20px 0;border-bottom:1px solid var(--line);font-weight:500;white-space:normal}.main-nav>a:after{display:none}.hero{min-height:max(720px,calc(100svh - 80px))}.hero h1{font-size:80px}.hero-footer{gap:20px}.hero-paths{gap:10px}.hero-path{padding:17px 15px}.hero-path>.icon{display:none}.hero-path .path-arrow{display:block}.hero-controls{flex-basis:120px}.hero-path small{font-size:7px}.section{padding-block:82px}.heading-row{gap:6%}.heading-row h2{font-size:38px}.service-layout{gap:5%;margin-top:45px}.service-detail summary{font-size:15px;gap:12px;padding-block:22px}.service-visual,.service-visual>img{min-height:405px;height:405px}.service-visual figcaption{flex-direction:column;align-items:start;gap:10px}.detail-content{padding-left:26px;padding-right:0}.survey-grid{grid-template-columns:120px 1fr}.survey-note{display:none}.survey-art{width:120px;height:120px}.survey-art>.survey-core{inset:44px}.survey-copy h2{font-size:38px}.platform-copy h2{font-size:38px}.platform-picture{aspect-ratio:3/5;min-height:530px}.platform-photo-label{padding:16px;left:15px;right:15px;bottom:15px}.platform-photo-label span{font-size:12px}.contact-phone{font-size:28px}.contact-email{font-size:16px}.contact-role{max-width:245px;line-height:1.8}.footer-main{flex-wrap:wrap}.footer-main nav{order:3;flex-basis:100%;justify-content:center}.back-top{margin-left:auto}}
@media(max-width:760px){.wrap{width:calc(100% - 44px)}.section{padding-block:65px}h2{font-size:37px;line-height:1.17}.eyebrow{font-size:9px;margin-bottom:20px;letter-spacing:.12em}.site-header{height:76px}.header-inner{width:calc(100% - 36px);gap:12px}.brand-text{font-size:17px}.brand-text>span{font-size:7px;letter-spacing:.22em}.brand-symbol{width:31px;gap:3px}.brand-symbol i{width:3px}.brand-symbol i:nth-child(3){height:30px}.brand-symbol i:nth-child(2),.brand-symbol i:nth-child(4){height:21px}.brand{gap:8px}.header-phone{border:0;padding:10px 4px;margin-left:auto}.header-phone>span{display:none}.header-phone .icon{width:20px;height:20px}.menu-word{display:none}.menu-toggle{padding:12px 4px}.main-nav{top:76px;height:calc(100svh - 76px);padding:25px 25px}.hero{min-height:max(735px,calc(100svh - 76px))}.hero-inner{padding-top:70px;padding-bottom:19px}.hero-heading{padding-bottom:56px}.hero h1{font-size:clamp(61px,11.6vw,82px);line-height:1.05;margin-bottom:24px}.hero .eyebrow{font-size:8px;letter-spacing:.1em}.hero-lead{font-size:13px;line-height:1.85;max-width:335px}.hero-actions{gap:22px;flex-wrap:wrap;margin-top:28px}.hero-actions .button{font-size:12px;padding:15px 20px;min-height:52px;gap:24px}.hero-link{font-size:11px}.hero-image{object-position:65% center}.hero-image:nth-child(2){object-position:53% center}.hero-shade{background:linear-gradient(90deg,rgba(13,25,20,.81),rgba(13,25,20,.42) 74%,rgba(13,25,20,.16)),linear-gradient(0deg,rgba(14,24,20,.9),transparent 65%)}.hero-footer{display:block}.hero-paths{grid-template-columns:1fr 1fr;gap:10px}.hero-path{padding:16px 13px;gap:5px}.hero-path span{font-size:11px}.hero-path small{font-size:6px;letter-spacing:.09em;margin-bottom:7px}.hero-path .path-arrow{width:15px;height:15px}.hero-controls{display:flex;align-items:center;gap:13px;text-align:left;margin-top:16px}.hero-controls>small{margin-left:auto;font-size:7px}.slide-label{font-size:9px}.slide-buttons{gap:4px;margin:0}.slide-dot{min-height:30px;min-width:26px;font-size:9px}.slide-line{width:18px}.pause-button{height:30px;width:30px;margin-left:4px}.heading-row,.service-layout,.vivis-grid,.platform-grid,.cooperation-heading,.contact-grid{grid-template-columns:1fr;gap:30px}.heading-row h2{font-size:37px}.heading-row>p{font-size:13px;max-width:480px}.service-layout{margin-top:30px;gap:35px}.service-detail summary{font-size:16px;padding-block:24px;gap:17px}.service-number{font-size:9px}.detail-content{font-size:13px;padding-left:29px;padding-right:17px}.service-visual,.service-visual>img{height:330px;min-height:330px}.service-visual figcaption{flex-direction:row;align-items:end;left:20px;right:20px}.service-visual figcaption>span{font-size:12px;gap:9px}.service-visual figcaption small{font-size:7px;max-width:70px;text-align:right}.technology-strip{margin-top:32px;padding:25px 0;align-items:start;flex-direction:column;gap:18px}.technology-strip>span{font-size:10px}.technology-strip>div{width:100%;justify-content:space-between;gap:24px}.technology-strip strong{font-size:23px}.survey-section{padding-block:55px}.survey-grid{display:block;position:relative}.survey-art{position:absolute;right:-70px;top:-55px;width:160px;height:160px;opacity:.26}.survey-art .survey-core{inset:62px}.survey-copy{position:relative}.survey-copy h2{font-size:36px}.survey-copy p:not(.eyebrow){max-width:400px}.survey-copy .eyebrow{font-size:8px}.survey-copy .button{font-size:12px}.vivis-grid{gap:36px}.vivis-picture{order:2;aspect-ratio:1.55}.picture-label{font-size:7px;top:20px;left:20px}.waveform{bottom:25px;height:45px;gap:4px}.waveform i{width:2px;max-height:45px}.vivis-copy h2{font-size:44px}.vivis-copy>p:not(.eyebrow){font-size:13px;margin-top:22px;max-width:440px}.vivis-uses{margin-block:22px;padding-block:20px;gap:25px}.vivis-uses>span{font-size:11px}.platform-grid{gap:35px}.platform-picture{order:2;aspect-ratio:1.05;min-height:0;max-height:490px}.platform-picture>img{object-position:center 57%}.platform-copy h2{font-size:37px}.platform-intro{font-size:13px;max-width:480px}.platform-list li{font-size:13px;padding-block:17px}.platform-photo-label{left:19px;right:19px;bottom:19px;max-width:310px}.platform-photo-label span{font-size:14px}.cooperation-section{padding-block:60px}.cooperation-heading{gap:25px;margin-bottom:33px}.cooperation-heading>p{font-size:13px}.municipalities{gap:9px 7px}.municipalities li{padding:9px 14px;font-size:12px}.more-municipalities{font-size:11px}.contact-section{padding-block:65px}.contact-grid{gap:52px}.contact-heading h2{font-size:44px}.contact-heading>p:not(.eyebrow){font-size:13px;max-width:400px}.contact-details{padding-left:0}.contact-name{font-size:21px}.contact-role{max-width:100%;font-size:9px}.contact-phone{padding-top:24px;font-size:clamp(27px,7.4vw,40px)}.contact-email{font-size:18px}.contact-bottom{font-size:10px}.contact-rings{left:auto;right:-640px;top:15%}.site-footer{padding-top:31px}.footer-main{gap:30px;padding-bottom:26px}.footer-main nav{gap:25px;font-size:9px}.brand-footer .brand-text{font-size:16px}.footer-bottom{font-size:8px;padding-block:20px}.back-top{font-size:8px;gap:9px}.back-top>span{font-size:18px}}
@media(max-width:375px){.wrap{width:calc(100% - 36px)}.hero h1{font-size:59px}.hero-actions{gap:13px}.hero-link{font-size:10px}.hero-path{padding:14px 10px}.hero-path span{font-size:10px}.hero-path small{font-size:5.6px}.hero-controls{gap:7px}.slide-label{font-size:8px}.hero-controls>small{font-size:6px}.contact-email{font-size:16px}.brand-footer .brand-text{font-size:14px}.footer-main nav{gap:17px}.service-detail summary{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-image{transform:none}.reveal.is-pending{opacity:1;transform:none}}
@media print{.site-header,.hero-controls,.hero-images,.hero-shade,.survey-art,.contact-rings,.menu-toggle,.button,.back-top{display:none!important}body,section,.contact-section,.vivis-section{background:#fff!important;color:#000!important}.hero{min-height:0;color:#000;background:#fff}.hero-inner{padding:30px 0}.hero-heading{padding:0}.hero h1{font-size:46px}.hero h1 span,.hero-lead,.eyebrow.light{color:#000}.hero-footer{display:none}.wrap{width:100%}.section{padding-block:30px}.reveal{opacity:1!important;transform:none!important}.service-detail .detail-content{display:block!important}.service-layout,.platform-grid,.vivis-grid,.contact-grid{display:block}.service-visual,.platform-picture,.vivis-picture{display:none}.contact-details{padding-top:20px}.contact-phone,.contact-email{color:#000;font-size:23px}a{color:#000}.contact-heading>p:not(.eyebrow),.vivis-copy>p:not(.eyebrow){color:#000}}
