/* Hellenurm / TDHG visual identity v2.  No external requests from this file. */
@font-face{font-family:"Outfit Local";src:local("Outfit"),local("Outfit Regular");font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#f6f5f1;--white:#fff;--ink:#000;--graphite:#34383e;--mist:#e4e7ea;--signal:#5267ff;--line:#d5d5cf;--muted:#52565d;--max:1344px;--gutter:56px;--consent-height:0px;--font:"Outfit Local","Outfit",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-block:24px calc(var(--consent-height) + 24px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.5;padding-bottom:var(--consent-height);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}[hidden]{display:none!important}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{border-radius:0}svg{width:1.25em;height:1.25em;flex-shrink:0;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08;font-weight:600;letter-spacing:-.048em;overflow-wrap:break-word}p{overflow-wrap:break-word}h1{font-size:clamp(3.25rem,6.3vw,6.75rem)}h2{font-size:clamp(2.5rem,4vw,4.25rem)}h3{font-size:1.625rem;letter-spacing:-.03em}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--signal);outline-offset:5px;box-shadow:0 0 0 2px var(--paper)}.dark a:focus-visible,.dark button:focus-visible{outline-color:var(--signal);box-shadow:0 0 0 2px #000}::selection{background:var(--signal);color:#000}.wrap{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:12px;z-index:2000;transform:translateY(-180%);background:#000;color:#fff;padding:12px 20px}.skip:focus{transform:translateY(0)}.site-header{background:var(--paper)}.header-inner{min-height:106px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:18px;text-decoration:none;min-height:48px;flex-shrink:0}.brand img{width:30px;height:40px;object-fit:contain}.brand span{font-size:29px;font-weight:550;letter-spacing:-1.1px}.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.main-nav a{display:flex;align-items:center;min-height:48px;text-decoration:none;font-size:15px;border-bottom:2px solid transparent;padding-block:8px}.main-nav a:hover,.main-nav a[aria-current="page"]{border-color:var(--ink)}.header-tools{display:flex;align-items:center;gap:22px}.language{display:flex;gap:4px;align-items:center}.language a{width:44px;min-height:44px;display:grid;place-items:center;font-size:13px;text-decoration:none;font-weight:600;border:1px solid transparent}.language a[aria-current="true"]{border-color:var(--ink)}.language a:hover{background:var(--white)}.menu-toggle{display:none;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid var(--line);padding:9px 12px;min-height:44px;font-size:14px}.arrow{font-size:1.5em;line-height:1}.btn{display:inline-flex;min-height:52px;padding:14px 23px;align-items:center;justify-content:space-between;gap:25px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;font-size:16px;font-weight:500;line-height:1.3;transition:background .15s,border-color .15s}.btn:hover{background:var(--graphite);border-color:var(--graphite)}.btn.outline{color:#000;background:transparent}.btn.outline:hover{background:#fff}.btn.small{font-size:14px;padding:11px 18px;min-height:46px}.btn.light{background:var(--paper);color:#000;border-color:var(--paper)}.btn.light:hover{background:#fff;border-color:#fff}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:48px;font-size:16px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--ink)}.text-link:hover{border-bottom-color:var(--signal)}.kicker{display:flex;align-items:center;gap:12px;color:var(--graphite);font-size:12px;font-weight:550;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}.kicker::before{content:"";width:8px;height:8px;background:var(--signal);flex-shrink:0}.label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:550;color:var(--muted)}.lead{font-size:21px;line-height:1.6;color:var(--graphite);max-width:640px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:32px}.home-hero{padding:96px 0 62px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);gap:88px;align-items:center}.home-hero .kicker{margin-bottom:30px}.home-hero h1{margin-bottom:29px;line-height:1.035}.home-hero h1 span{display:block}.home-hero h1 .secondary{color:var(--graphite)}.home-hero .lead{max-width:630px}.hero-credit{margin-top:30px;font-size:14px;color:var(--muted)}.hero-credit strong{color:var(--ink);font-weight:550}.system-stack{align-self:center;margin-top:22px;position:relative;padding-block:16px}.stack-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:27px;border-bottom:1px solid var(--ink);gap:18px}.stack-top .label{color:var(--ink)}.stack-square{display:block;width:15px;height:15px;background:var(--signal)}.stack-row{padding:27px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:36px 1fr;gap:15px}.stack-index{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);padding-top:6px}.stack-row h2{font-size:25px;font-weight:500;letter-spacing:-.025em}.stack-row p{font-size:14px;color:var(--muted);line-height:1.5;margin-top:8px}.stack-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);gap:12px;margin-top:22px}.stack-bottom span:first-child{display:inline-flex;gap:9px;align-items:center}.stack-bottom span:first-child::before{content:"";height:5px;width:5px;background:#000}.section{padding:100px 0}.section.top-line{border-top:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin:18px 0 44px}.section-title p{max-width:370px;font-size:17px;color:var(--graphite)}.directions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.direction{display:flex;flex-direction:column;padding:34px 46px 33px 0;text-decoration:none}.direction+.direction{border-left:1px solid var(--line);padding-left:46px;padding-right:0}.direction-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:23px}.direction .label{color:var(--graphite)}.direction h3{font-size:32px;font-weight:500;margin-bottom:14px}.direction p{font-size:17px;line-height:1.6;color:var(--graphite);max-width:530px}.direction .direction-link{display:inline-flex;align-items:center;gap:18px;margin-top:24px;font-size:15px;font-weight:500}.direction:hover .direction-link{gap:27px}.direction:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.direction-link{transition:gap .18s}.work-section{padding-top:96px}.work-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:55px 32px}.work-card{min-width:0}.project-link{display:block;text-decoration:none}.project-art{position:relative;overflow:hidden;background:#e9e9e4;min-width:0;height:362px;border:1px solid rgba(0,0,0,.055)}.project-art .art-note{position:absolute;top:20px;left:23px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#34383e;z-index:2}.project-art .device{position:absolute;box-shadow:0 18px 40px -18px #0005;transition:transform .25s;overflow:hidden}.device img{width:100%;height:auto;display:block}.device.phone{border:5px solid #22252a;border-radius:22px;background:#fff}.device.browser{background:#fff;border:1px solid #ced0d4;border-radius:6px;padding-top:12px}.device.browser:before{content:"";position:absolute;top:5px;left:8px;width:3px;height:3px;border-radius:50%;background:#afb2b7;box-shadow:6px 0 #afb2b7,12px 0 #afb2b7}.art-tripibuss{background:#e4e7ea}.art-tripibuss .browser{width:81%;left:7%;top:62px}.art-tripibuss .phone{width:24%;max-width:160px;right:6%;top:116px}.art-formalot{background:#e7e9f5}.art-formalot .phone{width:41%;max-width:210px;left:19%;top:48px;transform:rotate(-5deg)}.art-formalot .mini-caption{position:absolute;left:66%;top:151px;right:14px;color:#34383e;font-size:14px;line-height:1.4;letter-spacing:-.015em}.art-formalot .mini-caption .line{display:block;width:30px;height:2px;background:var(--signal);margin-bottom:16px}.art-mpdfly{background:#e4ebe6}.art-mpdfly .phone{width:35%;max-width:186px;top:40px;left:13%;transform:rotate(-5deg)}.art-mpdfly .phone:nth-of-type(2){top:88px;left:51%;transform:rotate(5deg)}.art-balticopen{background:#dcdedc}.art-balticopen .browser{width:89%;top:78px;left:6%}.art-partners{background:#eae6dd}.art-partners .browser{width:91%;top:55px;left:5%}.art-progress{background:#e9e9f2;display:flex;align-items:center;justify-content:center;padding:50px 28px}.progress-view{background:#f6f5f1;padding:23px 20px 8px;border:1px solid #d5d5cf;box-shadow:0 20px 38px -29px #0005;max-width:100%;width:100%}.progress-view .progress-title{font-size:15px;letter-spacing:-.02em;margin:4px 0 15px}.progress-view img{width:100%;height:auto}.work-meta{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin-top:23px}.work-meta h3{font-size:27px;font-weight:550}.work-meta .arrow{font-size:24px}.work-card p{color:var(--graphite);font-size:16px;line-height:1.55;max-width:580px;margin-top:10px}.work-type{font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:17px}.project-link:hover .work-meta h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.project-link:focus-visible{outline-offset:8px}.work-end{display:flex;justify-content:flex-end;margin-top:42px}.dark{background:#000;color:var(--paper)}.dark .kicker{color:#d1d3d5}.dark .label{color:#b9bdc4}.dark p{color:#d1d3d5}.about-band{padding:80px 0;margin-top:0}.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:center}.about-band h2{font-size:clamp(2.5rem,4.2vw,4.5rem);margin-top:23px;max-width:620px}.about-band p{font-size:19px;line-height:1.7}.signature{display:block;margin-top:26px;font-size:18px;font-weight:500;color:#fff}.signature small{display:block;font-size:13px;font-weight:400;color:#c7cacf;letter-spacing:0;margin-top:4px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:45px}.process-step{border-top:1px solid var(--line);padding-top:22px}.process-step .label{font-size:12px}.process-step h3{font-size:23px;margin:20px 0 12px}.process-step p{font-size:16px;color:var(--graphite);line-height:1.6}.contact{padding:98px 0 84px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:center}.contact h2{font-size:clamp(2.75rem,4.7vw,5rem);margin-top:23px}.contact p{font-size:19px;color:var(--graphite);line-height:1.65;max-width:560px}.contact-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:25px}.email-line{display:flex;align-items:center;gap:15px;margin-top:20px;flex-wrap:wrap}.email-line>a{font-size:19px}.copy-button{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:10px 12px;background:transparent;font-size:13px;gap:8px}.copy-button:hover{background:#fff}.site-footer{padding:0 0 28px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:36px;padding-top:34px;border-top:1px solid var(--ink)}.footer-top .brand img{width:25px;height:34px}.footer-top .brand span{font-size:24px}.footer-company{font-size:13px;color:var(--graphite);margin-top:17px;line-height:1.7}.footer-nav{display:flex;gap:28px;align-items:center;flex-wrap:wrap;font-size:14px}.footer-nav a{display:inline-flex;align-items:center;min-height:44px}.footer-bottom{margin-top:29px;padding-top:15px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px}.legal-nav{display:flex;flex-wrap:wrap;gap:5px 21px;align-items:center}.legal-nav a,.legal-nav button{min-height:44px;display:inline-flex;align-items:center;font-size:12px;line-height:1.4;background:none;border:0;padding:4px 0;text-decoration:none;color:var(--graphite)}.legal-nav a:hover,.legal-nav button:hover{text-decoration:underline}.copyright{font-size:12px;color:var(--graphite);white-space:nowrap}.service-hero{padding:75px 0 66px}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:44px;font-size:14px;color:var(--graphite)}.breadcrumb a{min-height:44px;display:inline-flex;align-items:center}.service-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:75px;align-items:end}.service-hero h1{font-size:clamp(3.3rem,5.8vw,6.2rem);margin-top:25px}.service-hero .lead{font-size:20px}.service-intro{padding-bottom:8px}.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 65px}.scope-item{border-top:1px solid var(--line);padding-top:25px;display:grid;grid-template-columns:34px 1fr;gap:14px}.scope-item h3{font-size:26px;margin-bottom:13px}.scope-item p{font-size:17px;color:var(--graphite)}.scope-item .label{padding-top:7px}.service-note{margin-top:43px;padding:24px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);font-size:18px;line-height:1.7}.service-note strong{font-weight:550}.infra-pipeline{padding:55px 48px;background:#000;color:#fff;position:relative}.infra-pipeline .kicker{color:#d0d3d7}.pipeline-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px}.pipeline-step{position:relative;padding:22px 26px;border-left:1px solid #53565b}.pipeline-step:first-child{border-left:0;padding-left:0}.pipeline-step .label{color:#c3c8d2}.pipeline-step h3{font-size:25px;color:#fff;margin:18px 0 12px}.pipeline-step p{font-size:15px;color:#c3c8d2}.pipeline-footer{font-size:13px;color:#c3c8d2;margin-top:28px;padding-top:20px;border-top:1px solid #53565b}.cross-link{display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--line);gap:24px;padding:25px 0;margin-top:40px}.cross-link p{font-size:16px;color:var(--graphite)}.case-head{padding:66px 0 47px}.case-head .breadcrumb{margin-bottom:34px}.case-head h1{font-size:clamp(3.4rem,6.4vw,6.7rem);margin-top:22px}.case-intro{display:grid;grid-template-columns:1.45fr 1fr;gap:70px;margin-top:34px;align-items:start}.case-intro .lead{max-width:780px}.case-meta{border-top:1px solid var(--ink);font-size:15px;display:grid;gap:0}.case-meta div{padding:17px 0;border-bottom:1px solid var(--line)}.case-meta dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.case-meta dd{margin:0}.case-body{padding:35px 0 80px}.case-body .case-copy{max-width:760px;font-size:19px;line-height:1.7;color:var(--graphite);margin-bottom:40px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.gallery.single{grid-template-columns:1fr}.gallery figure{min-width:0}.gallery-button{border:1px solid var(--line);padding:28px;background:#e9e9e4;width:100%;display:grid;place-items:center;min-height:230px;position:relative}.gallery-button img{max-height:580px;width:auto;max-width:100%;object-fit:contain;box-shadow:0 13px 30px -22px #0005}.gallery-button.landscape img{width:100%;max-height:none}.gallery-button .zoom-label{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:9px 11px;background:#fff;color:#000;border:1px solid var(--line);font-size:12px;min-height:44px}.gallery-button:hover{border-color:var(--ink)}.gallery figcaption{font-size:15px;color:var(--graphite);line-height:1.6;margin-top:13px}.work-page{padding-top:65px}.work-page h1{margin:25px 0 27px}.work-page>.lead{margin-bottom:42px}.document{padding:63px 0 85px;display:grid;grid-template-columns:260px minmax(0,760px);gap:68px}.document-aside{font-size:14px}.document-aside .label{display:block;margin-bottom:23px}.doc-nav{display:grid;gap:6px}.doc-nav a{min-height:44px;display:flex;align-items:center;text-decoration:none;padding:8px 0;color:var(--graphite)}.doc-nav a[aria-current="page"]{font-weight:600;color:#000;text-decoration:underline}.document h1{font-size:clamp(2.75rem,4.5vw,4.7rem);margin:0 0 22px}.document h2{font-size:27px;margin:40px 0 16px;letter-spacing:-.025em}.document h3{font-size:21px;margin:26px 0 12px}.document p{font-size:17px;color:var(--graphite);line-height:1.75;margin:0 0 17px}.document ul{padding-left:23px;color:var(--graphite);font-size:17px;line-height:1.7}.document li{padding-left:4px;margin-bottom:8px}.doc-date{font-size:13px!important;color:var(--muted)!important;margin-bottom:31px!important}.document .contact-box{margin-top:27px;border:1px solid var(--line);padding:22px}.storage-list{margin:20px 0;display:grid;gap:16px}.storage-list div{border:1px solid var(--line);padding:19px 22px}.storage-list dt{font-size:15px;font-weight:600;overflow-wrap:anywhere}.storage-list dd{font-size:15px;color:var(--graphite);line-height:1.65;margin:10px 0 0}.notice{border-left:3px solid var(--signal);padding-left:20px}.consent-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid #9da0a4;padding:19px 0}.consent-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px}.consent-text h2{font-size:17px;letter-spacing:-.015em;margin-bottom:5px}.consent-text p{font-size:13px;color:var(--graphite);max-width:580px;line-height:1.55}.consent-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.consent-actions .btn{font-size:13px;min-height:46px;padding:12px 15px;background:white;color:black}.consent-actions .btn:hover{background:var(--paper)}.consent-settings{font-size:13px;min-height:46px;background:none;border:0;text-decoration:underline;text-underline-offset:4px;padding:10px 8px}.consent-banner .no-track{display:none}.modal{padding:0;border:1px solid var(--ink);color:#000;background:var(--paper);max-width:min(650px,calc(100% - 32px));width:650px;max-height:calc(100dvh - 40px);overflow:auto}.modal::backdrop{background:rgba(0,0,0,.6)}.modal-inner{padding:32px}.modal-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:22px}.modal-head h2{font-size:31px;letter-spacing:-.03em;line-height:1.2}.close-modal{background:transparent;border:1px solid var(--line);min-width:44px;min-height:44px;display:grid;place-items:center;flex-shrink:0;padding:8px}.close-modal:hover{background:#fff}.modal p{font-size:16px;color:var(--graphite);line-height:1.65;margin-bottom:17px}.choice{border-top:1px solid var(--line);padding:23px 0;display:grid;grid-template-columns:1fr auto;gap:20px}.choice h3,.choice label{font-size:17px;letter-spacing:0;font-weight:550;display:block;cursor:pointer}.choice p{font-size:14px;line-height:1.65;margin:8px 0 0;max-width:465px}.choice .always{font-size:12px;font-weight:550;align-self:start;padding:5px 8px;border:1px solid var(--line);white-space:nowrap}.switch-box{display:flex;align-items:flex-start;justify-content:center;min-width:48px;padding-top:4px}.switch-box input{height:24px;width:24px;accent-color:#000;cursor:pointer;margin:0}.choice .switch-box:has(input:focus-visible){outline:3px solid var(--signal);outline-offset:4px}.consent-bottom{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.consent-bottom .btn{font-size:14px;flex:1;justify-content:center;min-width:180px}.consent-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:20px}.consent-links a{font-size:13px;display:inline-flex;align-items:center;min-height:44px}.reset-consent{min-height:44px;font-size:13px;text-decoration:underline;background:none;border:0;padding:8px 0}.consent-footnote{font-size:13px!important;margin-top:13px!important;margin-bottom:0!important}.image-modal{width:1200px;max-width:calc(100% - 32px)}.image-modal .modal-inner{padding:22px}.image-modal .modal-head{margin-bottom:16px}.image-modal .modal-head h2{font-size:20px;padding-top:8px;letter-spacing:-.01em}.image-modal img{margin:auto;max-height:70dvh;max-width:100%;object-fit:contain;width:auto}.image-modal p{font-size:14px;margin:16px 0 0}.image-modal-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px}.image-modal-nav .btn{font-size:13px;min-height:44px;padding:10px 16px}.image-counter{font-size:13px}.no-js-note{margin:20px 0;font-size:15px}.js-only{display:none}.js .js-only{display:inline-flex}.js .js-only.block{display:block}.js .no-js-only{display:none}.toast{position:fixed;bottom:calc(var(--consent-height) + 18px);left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);z-index:45;background:#000;color:#fff;padding:12px 20px;font-size:14px;text-align:center;pointer-events:none}.standalone-page[hidden]{display:none!important}.no-motion *{scroll-behavior:auto!important}
.js .menu-toggle{display:none}
@media(min-width:1700px){.home-hero{padding-top:116px;padding-bottom:78px}.home-hero h1{font-size:108px}.project-art{height:385px}}
@media(max-width:1200px){:root{--gutter:36px}.header-inner{gap:20px}.main-nav{gap:20px}.header-tools{gap:12px}.header-cta{display:none}.home-hero{gap:54px;grid-template-columns:1.45fr .85fr;padding-top:74px}.home-hero h1{font-size:clamp(3.5rem,6.5vw,5.5rem)}.home-hero .lead{font-size:19px}.project-art{height:310px}.section{padding-block:76px}.work-section{padding-top:76px}.about-grid{gap:65px}.contact-grid{gap:55px}.consent-inner{grid-template-columns:1fr}.consent-inner{gap:13px}.consent-text p{max-width:none}.consent-text{display:flex;align-items:baseline;gap:16px}.consent-text h2{white-space:nowrap}.consent-actions{justify-content:flex-end}.consent-banner{padding-block:15px}.footer-bottom{align-items:flex-start}.document{gap:40px;grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:900px){:root{--gutter:28px}.header-inner{flex-wrap:wrap;gap:16px;min-height:90px;padding-block:20px}.header-tools{margin-left:auto}.brand span{font-size:26px}.brand{gap:15px}.brand img{width:26px;height:35px}.js .menu-toggle{display:inline-flex}.menu-toggle{display:inline-flex}.main-nav{order:3;width:100%;margin-left:0;display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid var(--line);padding-top:14px}.js .main-nav:not(.is-open){display:none}.home-hero{grid-template-columns:1fr;gap:36px;padding-top:58px}.home-hero h1{font-size:clamp(3.8rem,9vw,6rem)}.home-hero .lead{max-width:700px}.hero-credit{margin-top:22px}.system-stack{margin:0;padding:0}.stack-top{padding-bottom:18px}.stack-rows{display:grid;grid-template-columns:repeat(3,1fr)}.stack-row{border-bottom:0;border-right:1px solid var(--line);padding:23px 19px;grid-template-columns:1fr;gap:7px}.stack-row:first-child{padding-left:0}.stack-row:last-child{border-right:0}.stack-row h2{font-size:22px}.stack-row p{font-size:13px}.stack-bottom{border-top:1px solid var(--line);padding-top:16px;margin-top:0}.section-title{gap:25px;align-items:flex-start;flex-direction:column;margin-bottom:33px}.section-title p{max-width:600px}.direction{padding-right:28px}.direction+.direction{padding-left:28px}.direction h3{font-size:27px}.direction p{font-size:16px}.work-grid{gap:37px 25px;grid-template-columns:1fr 1fr}.project-art{height:270px}.art-tripibuss .browser{top:60px;left:5%;width:83%}.art-tripibuss .phone{top:104px;width:29%;right:4%}.art-formalot .phone{width:44%;left:13%}.art-formalot .mini-caption{left:63%;top:117px;font-size:12px}.art-balticopen .browser{top:83px}.art-progress{padding:35px 17px}.progress-view{padding:18px 13px 8px}.about-grid{grid-template-columns:1fr;gap:30px}.about-band{padding-block:66px}.about-band p{max-width:740px}.process-grid{grid-template-columns:1fr 1fr;gap:32px}.contact-grid{grid-template-columns:1fr;gap:31px}.contact{padding:74px 0}.footer-top{flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:12px}.service-hero-grid{grid-template-columns:1fr;gap:30px}.service-hero h1{font-size:clamp(3.5rem,7.5vw,5rem)}.service-hero .lead{max-width:720px}.pipeline-steps{grid-template-columns:1fr 1fr;gap:30px}.pipeline-step:nth-child(3){padding-left:0;border-left:0}.case-intro{grid-template-columns:1fr;gap:24px}.case-meta{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.document{grid-template-columns:1fr;gap:40px}.document-aside .doc-nav{display:flex;flex-wrap:wrap;gap:8px 25px;border-bottom:1px solid var(--line);padding-bottom:16px}.document-aside .label{margin-bottom:10px}.gallery-button{padding:18px}.consent-text{display:block}.consent-actions{justify-content:flex-start}.consent-text h2{font-size:16px}.scope-grid{gap:34px}}
@media(max-width:600px){:root{--gutter:22px}body{font-size:17px}.header-inner{min-height:82px;padding-block:15px;gap:8px}.brand span{font-size:23px;letter-spacing:-.8px}.brand{gap:13px}.brand img{width:24px;height:32px}.header-tools{gap:4px}.language{gap:0}.language a{width:38px;min-height:44px;font-size:12px}.menu-toggle{border:0;padding:9px;min-width:44px}.menu-toggle .menu-word{display:none}.home-hero{padding:48px 0 43px;gap:36px}.home-hero .kicker{font-size:10px;letter-spacing:.1em;margin-bottom:23px}.home-hero h1{font-size:clamp(2.85rem,10.25vw,3.8rem);line-height:1.075;margin-bottom:22px;letter-spacing:-.055em}.home-hero .lead{font-size:18px;line-height:1.6}.actions{gap:18px;margin-top:26px}.actions .btn{padding-inline:18px}.text-link{font-size:15px;gap:14px}.hero-credit{font-size:12px;line-height:1.7}.stack-top{padding-bottom:15px}.stack-top .label{font-size:10px}.stack-row{padding:19px 11px;gap:5px}.stack-row h2{font-size:18px;letter-spacing:-.03em}.stack-row p{font-size:11px;line-height:1.5}.stack-index{font-size:10px}.stack-bottom{font-size:10px;gap:8px}.section{padding-block:58px}.section-title{margin-top:15px;margin-bottom:29px;gap:19px}h2{font-size:34px}.kicker{font-size:11px}.directions{grid-template-columns:1fr}.direction{padding:27px 0}.direction+.direction{border-left:0;border-top:1px solid var(--line);padding:27px 0}.direction-head{margin-bottom:16px}.direction h3{font-size:28px;margin-bottom:13px}.direction p{font-size:16px}.direction .direction-link{margin-top:17px;font-size:14px}.work-section{padding-top:57px}.work-grid{grid-template-columns:1fr;gap:34px}.project-art{height:310px}.art-formalot .phone{width:41%;left:20%;max-width:170px;top:40px}.art-formalot .mini-caption{top:130px;left:66%;font-size:13px}.art-mpdfly .phone{max-width:155px;top:40px}.art-mpdfly .phone:nth-of-type(2){top:71px}.art-balticopen .browser{top:64px}.art-tripibuss .browser{top:52px}.art-tripibuss .phone{top:91px;width:26%}.art-partners .browser{top:48px}.art-progress{padding:45px 24px}.work-meta{margin-top:19px}.work-meta h3{font-size:26px}.work-card p{font-size:15px}.work-type{font-size:10px;margin-top:12px}.work-end{justify-content:flex-start;margin-top:28px}.about-band{padding:51px 0}.about-band h2{font-size:39px;letter-spacing:-.047em}.about-band p{font-size:17px}.about-grid{gap:28px}.signature{font-size:17px}.process-grid{grid-template-columns:1fr;gap:23px;margin-top:27px}.process-step{display:grid;grid-template-columns:34px 1fr;column-gap:12px;padding-top:19px}.process-step .label{grid-row:1 / 3;padding-top:4px}.process-step h3{font-size:23px;margin:0 0 11px}.process-step p{grid-column:2;font-size:16px}.contact{padding:58px 0}.contact h2{font-size:43px}.contact p{font-size:17px}.contact-grid{gap:23px}.contact-actions{gap:17px}.email-line{gap:12px}.footer-top{padding-top:28px;gap:21px}.footer-company{font-size:12px;margin-top:12px}.footer-nav{gap:5px 22px;font-size:13px}.footer-bottom{margin-top:17px;padding-top:12px}.legal-nav{gap:2px 19px}.legal-nav a,.legal-nav button{font-size:12px}.copyright{font-size:11px}.service-hero{padding:28px 0 46px}.breadcrumb{font-size:12px;gap:9px;margin-bottom:23px}.service-hero h1{font-size:44px;margin-top:23px;letter-spacing:-.05em}.service-hero-grid{gap:26px}.service-hero .lead{font-size:18px}.scope-grid{grid-template-columns:1fr;gap:26px}.scope-item{padding-top:20px;grid-template-columns:29px 1fr;gap:11px}.scope-item h3{font-size:24px}.scope-item p{font-size:16px}.service-note{font-size:16px;padding:21px 0;margin-top:29px}.infra-pipeline{padding:29px 24px}.pipeline-steps{grid-template-columns:1fr;gap:24px;margin-top:29px}.pipeline-step{padding:0 0 0 19px!important;border-left:1px solid #53565b!important}.pipeline-step h3{font-size:24px;margin:9px 0}.pipeline-footer{font-size:12px}.cross-link{flex-direction:column;align-items:flex-start;gap:11px;padding:22px 0}.case-head{padding:27px 0 30px}.case-head h1{font-size:45px;margin-top:17px;overflow-wrap:anywhere}.case-head .breadcrumb{margin-bottom:20px}.case-intro{gap:18px;margin-top:24px}.case-intro .lead{font-size:18px}.case-meta{grid-template-columns:1fr;gap:0;margin:0}.case-meta div{padding:14px 0}.case-meta dt{font-size:10px}.case-meta dd{font-size:14px}.case-body{padding:8px 0 42px}.case-body .case-copy{font-size:17px;line-height:1.65;margin-bottom:26px}.gallery{grid-template-columns:1fr;gap:29px}.gallery-button{padding:20px;min-height:220px}.gallery-button img{max-height:520px}.gallery figcaption{font-size:14px}.gallery-button .zoom-label{font-size:11px;padding:9px}.work-page{padding-top:44px}.work-page h1{font-size:46px}.document{padding-top:34px;padding-bottom:49px;gap:29px}.document-aside{font-size:12px}.document-aside .doc-nav{gap:3px 18px}.document h1{font-size:40px;letter-spacing:-.04em}.document h2{font-size:25px;margin-top:29px}.document p,.document ul{font-size:16px}.doc-date{font-size:12px!important}.storage-list div{padding:17px}.storage-list dd{font-size:14px}.consent-banner{padding:13px 0}.consent-inner{gap:10px}.consent-text h2{font-size:15px;margin-bottom:5px}.consent-text p{font-size:12px}.consent-actions{gap:7px;display:grid;grid-template-columns:1fr 1fr}.consent-actions .consent-settings{grid-column:1 / -1;grid-row:2;min-height:32px;padding:5px 0;text-align:left;justify-self:start}.consent-actions .btn{font-size:12px;padding:10px 12px;justify-content:center;min-height:44px}.modal{max-width:calc(100% - 22px);max-height:calc(100dvh - 24px)}.modal-inner{padding:23px}.modal-head{gap:18px}.modal-head h2{font-size:27px}.modal p{font-size:15px}.choice{gap:15px;padding:20px 0}.choice h3,.choice label{font-size:16px}.choice p{font-size:13px}.choice .always{font-size:10px;padding:5px}.consent-bottom .btn{min-width:100%;font-size:14px}.consent-links{gap:4px 19px}.consent-footnote{font-size:12px!important}.image-modal .modal-inner{padding:17px}.image-modal .modal-head h2{font-size:18px}.image-modal-nav .btn{font-size:12px;padding:10px}.image-modal img{max-height:63dvh}.image-modal-nav{gap:8px}}
@media(max-width:360px){:root{--gutter:17px}.brand span{font-size:21px}.brand{gap:10px}.brand img{width:21px;height:29px}.language a{width:34px}.header-tools{gap:0}.header-inner{gap:4px}.home-hero h1{font-size:42px}.stack-row h2{font-size:16px}.project-art{height:276px}.art-formalot .mini-caption{font-size:11px;left:65%}.actions{gap:14px}.contact h2{font-size:38px}.consent-text p{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.btn,.btn.light,.btn.outline,.close-modal,.gallery-button{border:1px solid ButtonText}.kicker::before,.stack-square{background:CanvasText}.project-art{border:1px solid CanvasText}.dark{background:Canvas;color:CanvasText}.dark p,.dark .kicker{color:CanvasText}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid Highlight;box-shadow:none}.device{border:1px solid CanvasText}.language a[aria-current]{border-color:CanvasText}.switch-box input{forced-color-adjust:auto}}
@media print{.site-header,.site-footer,.consent-banner,.modal,.copy-button,.actions,.contact,.js-only{display:none!important}body{padding:0;color:#000;background:#fff;font-size:12pt}.wrap{width:100%}.section{padding-block:24px}.work-grid{grid-template-columns:1fr 1fr}.project-art{height:220px}.home-hero{padding:0 0 30px;grid-template-columns:1fr}.system-stack{display:none}.home-hero h1{font-size:46pt}.about-band{background:#fff;color:#000;padding:25px 0}.about-band p,.signature{color:#000}.work-card,.scope-item,.process-step{break-inside:avoid}.document{grid-template-columns:1fr;padding:0}.document-aside{display:none}.gallery-button .zoom-label{display:none}a{text-decoration:none}}
/* Allow long translated text and user-defined text spacing to reflow in grids. */
.home-hero>*,.system-stack,.stack-row>*,.stack-row,.service-hero-grid>*,.contact-grid>*,.about-grid>*,.document>*{min-width:0}
.btn{max-width:100%;overflow-wrap:anywhere}
@media(max-width:900px){.home-hero,.document{grid-template-columns:minmax(0,1fr)}.stack-rows{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.stack-rows{grid-template-columns:minmax(0,1fr)}.stack-row,.stack-row:first-child,.stack-row:last-child{grid-template-columns:25px minmax(0,1fr);padding:16px 0;border-right:0;border-bottom:1px solid var(--line);gap:14px}.stack-row:last-child{border-bottom:0}.stack-row h2{font-size:20px}.stack-row p{font-size:14px;margin-top:5px}.stack-index{font-size:11px;padding-top:5px}.stack-top .label{font-size:11px}.stack-bottom{font-size:11px}.document article{min-width:0}}
