@font-face{font-family:Manrope;src:url('assets/manrope-variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
img{height:auto}
.map-box iframe{position:absolute;inset:0;opacity:0;transition:opacity .3s}.map-box.map-loaded iframe{opacity:1}.map-box.map-loaded .map-placeholder{visibility:hidden}
:root{--ink:#103b31;--ink-deep:#082a23;--gold:#b18a4d;--white:#fff;--muted:#66746e;--line:#dce3de;--soft:#f3f6f3;--rail:82px;--pad:clamp(28px,5.5vw,90px);--ease:cubic-bezier(.22,1,.36,1);font-family:Manrope,Arial,sans-serif;color:var(--ink);background:white;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button{color:inherit}img{max-width:100%}::selection{color:white;background:#426857}.skip-link{position:fixed;top:-80px;left:100px;padding:14px;background:var(--ink);color:white;z-index:100}.skip-link:focus{top:12px}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:650;line-height:1.7}.header{height:108px;position:absolute;inset:0 0 auto var(--rail);z-index:20;padding:18px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;flex-shrink:0}.brand-crop{display:block;position:relative;width:174px;height:60px;overflow:hidden}.brand-crop img{max-width:none;width:230px;height:auto;position:absolute;left:-26px;top:-51px;mix-blend-mode:multiply}.header-caption{font-size:12px;margin-left:auto;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:24px}.header-contact{font-size:13px;font-weight:650;border-bottom:1px solid var(--ink);padding:10px 0}.header-contact span{margin-left:18px}.motion-toggle{border:0;background:none;font-size:12px;display:flex;align-items:center;gap:8px;padding:10px}.motion-toggle>span:first-child{font-size:16px}.side-rail{position:fixed;inset:0 auto 0 0;width:var(--rail);border-right:1px solid var(--line);z-index:50;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(14px)}.menu-toggle{position:absolute;top:43%;width:58px;min-height:78px;border:0;background:transparent;display:flex;align-items:center;flex-direction:column;gap:12px}.menu-grid{display:grid;grid-template-columns:5px 5px;gap:5px;transform:rotate(0);transition:transform .4s var(--ease)}.menu-grid i{height:5px;width:5px;background:var(--ink)}.menu-toggle:hover .menu-grid,.menu-toggle[aria-expanded=true] .menu-grid{transform:rotate(90deg)}.menu-word{font-size:11px;letter-spacing:.04em}.rail-progress{position:absolute;bottom:92px;display:flex;flex-direction:column;gap:12px;align-items:center;font-size:10px;letter-spacing:.04em}.progress-track{height:82px;width:1px;background:#d6dfd9;position:relative}.progress-track i{position:absolute;inset:0;width:2px;background:var(--ink);transform:scaleY(0);transform-origin:top}.rail-contact{position:absolute;bottom:24px;font-size:23px}.nav-panel{inset:110px auto auto 96px;margin:0;width:min(400px,calc(100vw - 120px));max-height:calc(100dvh - 140px);overflow:auto;border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px 26px;box-shadow:0 18px 70px #143e3226;opacity:0;transform:translateX(-12px);transition:opacity .25s,transform .35s,display .35s allow-discrete,overlay .35s allow-discrete;color:var(--ink)}.nav-panel:popover-open{opacity:1;transform:none}@starting-style{.nav-panel:popover-open{opacity:0;transform:translateX(-12px)}}.nav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.icon-button{background:none;border:0;font-size:26px;padding:0 4px}.nav-home{display:flex;justify-content:space-between;padding:16px 0;font-size:15px;border-bottom:1px solid var(--line)}.nav-home span{font-size:12px;color:var(--muted)}.nav-group{border-bottom:1px solid var(--line)}.nav-group summary{padding:16px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:15px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'+';font-size:18px;line-height:20px;color:var(--gold)}.nav-group[open] summary:after{content:'−'}.nav-sub{padding:0 0 14px 12px;display:grid;gap:5px}.nav-sub a{padding:7px 8px;font-size:13px;color:#56685f;border-left:1px solid var(--line);transition:.2s}.nav-sub a:hover{color:var(--ink);border-color:var(--gold);background:var(--soft)}.nav-sub .nav-group-link{font-weight:700;color:var(--ink)}.nav-email{display:block;margin-top:22px;font-size:13px;color:var(--muted)}main,.footer{margin-left:var(--rail)}.hero{position:relative;min-height:780px;min-height:100svh;overflow:hidden;padding:150px var(--pad) 30px;display:flex;flex-direction:column;isolation:isolate}.ambient{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.hero-ambient{opacity:.65;mask-image:linear-gradient(90deg,transparent 25%,black 80%)}.hero-topline{position:relative;display:flex;justify-content:space-between;color:var(--muted)}.hero-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:10px;flex:1;padding:38px 0 46px;position:relative}.hero-copy{z-index:2}.hero h1{font-size:clamp(62px,7.3vw,116px);line-height:1.01;letter-spacing:-.075em;font-weight:550;margin:0 0 32px}.hero h1 em{font-style:normal;color:#80968a;font-weight:350}.hero-description{font-size:15px;line-height:1.85;color:#52675e;margin-bottom:30px}.round-link{display:inline-flex;align-items:center;gap:15px;font-size:13px}.round-arrow{width:42px;height:42px;border:1px solid #afc0b6;border-radius:50%;display:grid;place-items:center;font-size:18px;transition:background .3s,color .3s}.round-link:hover .round-arrow{background:var(--ink);color:white}.brand-stage{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:16px 0 28px;min-width:0;isolation:isolate}.hero-logo{width:115%;max-width:none;mix-blend-mode:multiply;z-index:1;transform:translateX(-2%)}.stage-orbit{position:absolute;inset:3% -5% 4%;border:1px solid #afbcad40;border-radius:50%;transform:rotate(-22deg);z-index:-1}.stage-orbit:after{content:'';position:absolute;inset:22px -14px;border:1px solid #afbcad30;border-radius:50%;transform:rotate(28deg)}.stage-caption{width:100%;margin-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.11em;color:var(--muted)}.text-button{border:0;padding:8px 0;background:transparent;font-size:12px;letter-spacing:0}.text-button span{margin-left:10px}.hero-bottom{display:flex;justify-content:space-between;position:relative;border-top:1px solid var(--line);padding-top:24px;gap:24px;font-size:10px;letter-spacing:.1em;color:var(--muted)}.hero-bottom span:last-child{letter-spacing:0;font-size:12px}.hero-bottom span:last-child span{margin-left:30px}.directions{padding:110px var(--pad) 120px;background:var(--soft)}.section-heading{display:grid;grid-template-columns:1fr 1.35fr;gap:24px;margin-bottom:55px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{font-size:clamp(36px,4.1vw,67px);line-height:1.13;font-weight:500;letter-spacing:-.055em;margin:0}.section-heading h2 span{color:#85998e}.section-heading p{font-size:16px;line-height:1.7;color:var(--muted);max-width:260px;align-self:end;justify-self:end;margin-bottom:6px}.direction-index{border-top:1px solid #cbd5cd}.direction-row{display:grid;grid-template-columns:60px 1fr 180px 32px;gap:10px;align-items:center;padding:24px 0;border-bottom:1px solid #cbd5cd;transition:padding .35s,color .35s}.direction-row:hover{padding-left:16px;color:#688673}.direction-row .row-num{font-size:12px;color:var(--muted)}.direction-row h3{font-size:clamp(23px,2.4vw,35px);font-weight:450;margin:0;letter-spacing:-.04em}.direction-row .row-count{font-size:12px;color:var(--muted);text-align:right}.direction-row .row-arrow{font-size:24px;text-align:right}.service-chapter{position:relative;padding:80px var(--pad) 70px;min-height:740px;min-height:90svh;overflow:hidden;isolation:isolate;border-radius:28px 28px 0 0;margin-top:-24px;background:white;box-shadow:0 -1px 0 #ccd7cf66}.service-chapter.dark{background:var(--ink-deep);color:#f2f6ef}.service-chapter .ambient{opacity:.55;mask-image:linear-gradient(90deg,black,transparent 70%)}.service-head{display:flex;justify-content:space-between;position:relative;padding-bottom:35px;border-bottom:1px solid #bccdc733}.service-head .eyebrow:last-child{color:#899d92}.service-layout{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:65px;padding:55px 0 75px;align-items:start}.service-title h2{font-size:clamp(44px,4.8vw,78px);line-height:1.1;letter-spacing:-.06em;font-weight:450;margin:0 0 28px;white-space:pre-line}.service-title p{font-size:15px;line-height:1.8;color:var(--muted);max-width:290px}.dark .service-title p{color:#9eb3a6}.service-number{font-size:clamp(100px,13vw,190px);line-height:1;letter-spacing:-.1em;font-weight:250;opacity:.1;margin-top:30px}.service-list{list-style:none;padding:0;margin:0}.service-list li{position:relative;border-bottom:1px solid #b9c9bf55;padding:20px 0;scroll-margin-top:160px;transition:background .4s,padding .4s}.service-list li:first-child{border-top:1px solid #b9c9bf55}.service-list li:target{background:#bba36d24;padding-left:15px}.service-list span{display:block;font-size:clamp(17px,1.5vw,23px);line-height:1.55;letter-spacing:-.02em}.service-list small{display:block;font-size:10px;color:#718c7b;letter-spacing:.1em;margin-bottom:7px}.dark .service-list small{color:#a4b5a7}.service-bottom{position:absolute;bottom:60px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;border-top:1px solid #b9c9bf33;padding-top:22px}.service-bottom a{font-size:13px}.service-bottom a span{margin-left:20px}.service-bottom .eyebrow{font-size:10px;color:#7d9385}.contact{padding:100px var(--pad) 80px;background:#e9efe9;position:relative;border-radius:28px 28px 0 0;margin-top:-24px}.contact-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;margin-bottom:70px;align-items:end}.contact-heading .eyebrow{grid-column:1/-1;margin-bottom:34px}.contact h2{font-size:clamp(68px,8vw,118px);line-height:1.05;letter-spacing:-.075em;font-weight:500;margin:0}.contact h2 em{font-style:normal;font-weight:350;color:#7c9586}.big-email{font-size:clamp(20px,2.8vw,41px);letter-spacing:-.04em;white-space:nowrap;padding:15px 0;border-bottom:1px solid #afbeb1;margin-bottom:10px;display:flex;justify-content:space-between;gap:12px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.phone{font-size:28px;letter-spacing:-.035em}.contact address{font-style:normal;margin:20px 0 30px;font-size:15px;line-height:1.8;color:#617365}.map-box{height:260px;background:#dce6dc;position:relative;border:1px solid #c6d3c8;overflow:hidden;margin-bottom:15px}.map-placeholder{height:100%;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background-image:linear-gradient(#bccfb752 1px,transparent 1px),linear-gradient(90deg,#bccfb752 1px,transparent 1px);background-size:42px 42px}.map-cross{position:absolute;top:14px;right:18px;color:#799580;font-size:21px}.map-placeholder strong{font-size:23px;font-weight:500}.map-placeholder small{font-size:11px;color:#617365}.map-button{border:1px solid #8da893;padding:12px 20px;background:#eef5ed;font-size:12px}.map-box iframe{width:100%;height:100%;border:0;filter:grayscale(1)}.text-link{font-size:12px;border-bottom:1px solid #acbbaf;padding-bottom:3px}.form-title{font-size:25px;letter-spacing:-.025em;margin-bottom:28px}.contact-form label{font-size:12px;display:block;margin-bottom:21px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #adbfaf;padding:12px 0;font-size:15px;border-radius:0;color:var(--ink);resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#788a7e}.send-button{display:flex;justify-content:space-between;width:100%;border:0;background:var(--ink);color:white;padding:20px 24px;font-size:14px;border-radius:3px;transition:background .2s}.send-button:hover{background:#265d47}.form-note{font-size:12px;color:#677b6b;line-height:1.7}.form-status{font-size:13px;line-height:1.7}.footer{background:var(--ink-deep);color:#d9e2d9;padding:32px var(--pad);display:flex;justify-content:space-between;gap:25px;font-size:11px}.footer>div{display:flex;gap:30px}.intro{position:fixed;inset:0;background:white;z-index:90;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .55s var(--ease),visibility .55s}.intro[hidden]{display:none}.intro.leaving{opacity:0;visibility:hidden}.intro-image{width:min(720px,90vw);overflow:hidden;clip-path:inset(0 100% 0 0);animation:inkReveal 1.35s .15s var(--ease) forwards}.intro-image img{display:block}.intro-line{height:1px;width:0;background:var(--gold);animation:introLine 1.8s var(--ease) forwards}.intro-skip{position:absolute;right:5vw;bottom:6vh}.reveal{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease),transform .9s var(--ease)}.js-ready .reveal.is-visible{opacity:1;transform:none}.motion-paused .intro-image,.motion-paused .intro-line{animation-play-state:paused}.noscript-note{padding:20px;margin-left:var(--rail)}@keyframes inkReveal{to{clip-path:inset(0)}}@keyframes introLine{to{width:90px}}
@media(min-width:1700px){.hero-layout{max-width:1480px;width:100%;margin:auto}.hero{min-height:900px}.service-layout{max-width:1440px;margin:auto}}
@media(max-width:1100px){:root{--rail:66px;--pad:38px}.header-caption{display:none}.header-actions{gap:18px}.hero h1{font-size:78px}.hero{min-height:760px}.hero-layout{grid-template-columns:1fr 1fr}.hero-logo{width:124%}.stage-caption{font-size:9px}.section-heading{grid-template-columns:1.3fr 1fr}.service-layout{gap:35px}.service-title h2{font-size:52px}.contact-grid{gap:40px}.big-email{font-size:27px}.nav-panel{left:80px}.direction-row{grid-template-columns:40px 1fr 120px 25px}.footer>div{gap:15px}}
@media(max-width:760px){:root{--rail:0px;--pad:24px}html{scroll-padding-top:85px}.header{position:absolute;height:90px;padding:13px 22px;gap:10px}.brand-crop{width:133px;height:47px}.brand-crop img{width:178px;left:-20px;top:-40px}.header-actions{gap:5px;margin-right:42px}.header-contact{font-size:11px}.header-contact span{margin-left:7px}.motion-label{display:none}.motion-toggle{padding:9px}.side-rail{inset:17px 14px auto auto;width:42px;height:52px;border:0;border-radius:5px;backdrop-filter:none;background:transparent;z-index:60}.menu-toggle{position:static;width:42px;min-height:50px;gap:7px;justify-content:center}.menu-word{font-size:9px}.rail-progress,.rail-contact{display:none}.nav-panel{inset:86px 12px auto 12px;width:auto;max-height:calc(100dvh - 104px);padding:20px 23px}.hero{padding-top:120px;min-height:auto;padding-bottom:26px}.hero-topline .eyebrow{font-size:10px}.hero-layout{grid-template-columns:1fr;padding:35px 0 20px;gap:20px}.hero h1{font-size:clamp(62px,13.6vw,96px);letter-spacing:-.075em;line-height:1.04;margin-bottom:24px}.hero h1 br:nth-child(2){display:none}.hero h1 em:before{content:' '}.hero-description{font-size:14px;line-height:1.8;margin-bottom:20px}.brand-stage{padding:0 12px 10px;margin:0 18px;min-height:240px}.hero-logo{width:110%;transform:none}.stage-caption{margin-top:0;font-size:9px}.stage-orbit{inset:3% 0 6%}.hero-bottom{padding-top:18px;gap:12px;font-size:9px}.hero-bottom span:last-child{font-size:10px;max-width:135px;text-align:right}.hero-bottom span:last-child span{margin-left:5px}.hero-ambient{mask-image:linear-gradient(180deg,transparent,black)}.directions{padding-top:72px;padding-bottom:90px}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.section-heading .eyebrow{grid-column:auto;font-size:11px}.section-heading h2{font-size:42px}.section-heading p{justify-self:start;margin:0;max-width:310px;font-size:14px}.direction-row{grid-template-columns:27px 1fr 22px;padding:20px 0;gap:8px}.direction-row h3{font-size:22px;line-height:1.35;letter-spacing:-.035em}.direction-row .row-count{display:none}.direction-row .row-arrow{font-size:21px}.service-chapter{padding:45px var(--pad) 110px;min-height:auto;border-radius:20px 20px 0 0}.service-head{gap:20px;align-items:start;padding-bottom:25px}.service-head .eyebrow{font-size:10px;max-width:56%}.service-head .eyebrow:last-child{text-align:right;font-size:9px;max-width:40%}.service-layout{grid-template-columns:1fr;gap:28px;padding-top:36px;padding-bottom:20px}.service-title h2{font-size:clamp(38px,9vw,60px);line-height:1.15;margin-bottom:16px}.service-title p{font-size:14px;max-width:320px;margin:0}.service-number{display:none}.service-list li{padding:17px 0;scroll-margin-top:95px}.service-list span{font-size:17px}.service-list small{font-size:10px}.service-bottom{bottom:44px;padding-top:18px}.service-bottom .eyebrow{max-width:100px;font-size:9px}.service-bottom a{font-size:12px}.service-chapter .ambient{mask-image:linear-gradient(180deg,black,transparent 60%)}.contact{padding-top:65px;padding-bottom:55px}.contact-heading{grid-template-columns:1fr;margin-bottom:36px;gap:20px}.contact-heading .eyebrow{margin-bottom:8px}.contact h2{font-size:76px}.big-email{font-size:30px;margin-top:10px;margin-bottom:0}.contact-grid{grid-template-columns:1fr;gap:48px}.phone{font-size:27px}.contact address{font-size:14px}.map-box{height:240px}.form-title{font-size:25px}.footer{padding:26px var(--pad);flex-wrap:wrap;font-size:11px;gap:22px}.footer>div{flex-basis:100%;order:3;justify-content:space-between}.footer>a{margin-left:auto}.eyebrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro{display:none}.reveal,.js-ready .reveal{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;transition-duration:.01ms!important}.ambient{opacity:.35}}

.hero h1{letter-spacing:-.05em}.contact h2{letter-spacing:-.055em}
@media(max-width:760px){.big-email{font-size:clamp(23px,7vw,30px)}}
@media(max-width:380px){.header-contact{display:none}.service-title h2{font-size:34px}.section-heading h2{font-size:38px}.hero h1{font-size:58px}.direction-row h3{font-size:20px}}

.hero-description,.service-title p,.section-heading p,.contact address{font-size:16px}
.contact-form label,.nav-sub a,.round-link,.service-bottom a{font-size:14px}
.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}
.eyebrow{font-size:12px!important}
.hero-bottom,.hero-bottom span:last-child,.stage-caption,.service-list small,.service-bottom .eyebrow,.rail-progress,.menu-word,.footer,.map-placeholder small{font-size:12px}
.footer>div{flex-wrap:wrap}
@media(max-width:760px){.hero-bottom{font-size:11px}.hero-bottom span:last-child{font-size:11px}.header-actions{gap:3px}.menu-word{font-size:10px}}

.map-box{height:auto;aspect-ratio:1636/550;min-height:150px;background:#f7f8f6}.map-placeholder{display:block;background:none}.map-preview{position:absolute;top:0;left:0;width:100%;aspect-ratio:1636/550;overflow:hidden}.map-preview img{position:absolute;left:0;top:-41.636%;width:100%;max-width:none;height:auto}.map-placeholder>.map-cross,.map-placeholder>.eyebrow,.map-placeholder>strong{display:none}.map-placeholder .map-button{position:absolute;top:10px;right:10px;background:#fffef7f2;font-size:12px;padding:9px 13px;box-shadow:0 2px 12px #18382b12}.map-placeholder small{position:absolute;top:54px;right:10px;background:#fffffff2;padding:3px 6px;max-width:205px;font-size:10px}.map-placeholder .map-preview{pointer-events:none}
.contact-grid>*{min-width:0}.map-box{width:100%;min-width:0;border-radius:28px 28px 64px 28px;overflow:hidden;isolation:isolate}
.contact .contact-heading{display:block}.contact .contact-heading h2{margin-bottom:28px}
.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:13px;border-top:1px solid var(--line);padding-top:23px;margin-bottom:28px}
.contact .contact-direct .phone{font-size:clamp(24px,3vw,38px);margin:0;line-height:1.3;letter-spacing:-.025em}
.contact .contact-direct .big-email{font-size:clamp(21px,2.4vw,30px);margin:0;line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere}
@media(max-width:760px){.map-box{min-height:150px}.map-preview{top:15px}}

/* Website presentation: preserve original art, conceal only its contact strip. */
.hero-logo{clip-path:inset(0 0 21% 0);margin-bottom:-13%}.intro-image{max-height:78vw}.intro-image img{clip-path:inset(0 0 21% 0);margin-bottom:-13%}.header-caption{margin-left:0}.header-actions{margin-left:auto}
/* Version 0.2 — editorial content, multilingual controls and thematic images. */
.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}
.header{gap:24px}.header-caption{margin-left:0;font-size:14px}.header-actions{margin-left:auto;gap:22px}.header-about,.header-contact{font-size:14px;white-space:nowrap}.language-picker select{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);padding:9px 20px 9px 3px;font-size:14px;max-width:142px;cursor:pointer}.nav-home>span:first-child{font-size:15px;color:var(--ink)}
.logo-art{position:relative;aspect-ratio:1596/785;overflow:hidden}.logo-art img{display:block;width:100%;height:auto;max-width:none;clip-path:none;margin:0}.hero-logo{clip-path:none;margin-bottom:0;mix-blend-mode:multiply}.intro-image{max-height:none}.intro-image img{clip-path:none;margin:0}.stage-caption{margin-top:34px}.hero-description{max-width:360px}.hero h1{font-size:clamp(62px,7.1vw,112px)}
.about{padding:110px var(--pad) 100px;display:grid;grid-template-columns:1fr 1.08fr;gap:60px;background:#fff;border-top:1px solid var(--line)}.about-heading h2{font-size:clamp(40px,4.3vw,68px);line-height:1.12;letter-spacing:-.045em;font-weight:450;white-space:pre-line;margin:30px 0}.about-body p{font-size:16px;line-height:1.85;color:#50675b;margin:0 0 22px}.about-body .about-lead{font-size:22px;line-height:1.6;color:var(--ink);letter-spacing:-.02em}.about-principles{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;border-top:1px solid var(--line);padding-top:35px}.about-principles article{border-left:2px solid #b18a4d66;padding-left:22px}.about-principles h3{font-size:20px;font-weight:550;letter-spacing:-.02em;margin:0 0 12px}.about-principles p{font-size:16px;line-height:1.75;color:#617367;margin:0}.about-heading,.about-body{min-width:0}.section-heading h2,.contact h2{white-space:pre-line}
.service-visual{width:min(100%,320px);aspect-ratio:4/3;margin:30px 0 0;overflow:hidden;border-radius:3px;background:#dce3de}.service-visual img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.68)}.service-title{min-width:0}.service-title h2{overflow-wrap:break-word}.service-list{min-width:0}.service-list span{overflow-wrap:anywhere}.service-title p{max-width:370px}.service-layout{padding-bottom:100px}.service-head .eyebrow{max-width:100%}.service-bottom a{max-width:70%;text-align:right}.business-hours{margin:28px 0 32px;border-top:1px solid #c2cec4;padding-top:22px}.business-hours h3{font-size:18px;font-weight:550;margin:0 0 16px}.business-hours p{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;line-height:1.7;margin:7px 0}.business-hours strong{font-weight:600;white-space:nowrap}.business-hours small{display:block;font-size:12px;color:#617365;margin-top:12px}.send-button{justify-content:center}.map-placeholder .map-button{font-size:12px}.contact h2{font-size:clamp(58px,7vw,108px)}
html[lang=de] .hero h1{font-size:clamp(56px,6vw,96px)}html[lang=de] .service-title h2{font-size:clamp(38px,4vw,68px)}html[lang=et] .service-title h2{font-size:clamp(40px,4.4vw,70px)}
@media(max-width:1100px){.header-caption{display:none}.header-actions{width:100%;justify-content:flex-end}.about{gap:32px}.about-principles{gap:22px}.about-heading h2{font-size:46px}.hero h1{font-size:72px}}
@media(max-width:760px){.header{padding:13px 22px}.header-actions{justify-content:flex-start;gap:16px;margin:0 48px 0 0;width:auto;flex:1}.header-about{font-size:14px}.language-picker{margin-left:auto}.language-picker select{width:116px;padding-right:5px}.header-contact{display:none}.motion-toggle{font-size:14px}.hero h1{font-size:clamp(58px,13vw,88px)}html[lang=de] .hero h1{font-size:clamp(50px,11vw,78px)}.hero h1 br:nth-child(2){display:initial}.hero h1 em:before{content:none}.brand-stage{min-height:200px;margin:0 6px}.hero-logo{width:112%}.stage-caption{margin-top:26px;gap:12px}.stage-caption>span{max-width:60%;font-size:11px;line-height:1.6}.stage-caption button{font-size:13px;white-space:nowrap}.hero-layout{gap:26px}.about{display:block;padding:65px var(--pad)}.about-heading h2{font-size:clamp(35px,8.7vw,56px);margin:22px 0 30px}.about-body .about-lead{font-size:20px}.about-principles{grid-template-columns:1fr;gap:26px;margin-top:35px;padding-top:30px}.about-principles h3{font-size:19px}.section-heading h2{font-size:38px}.service-visual{width:min(100%,300px);margin-top:24px;aspect-ratio:3/2}.service-layout{padding-bottom:24px}.service-title h2,html[lang=de] .service-title h2,html[lang=et] .service-title h2{font-size:clamp(33px,8.5vw,52px)}.service-head .eyebrow{max-width:100%}.service-bottom .eyebrow{font-size:11px!important}.service-bottom a{font-size:14px;max-width:65%}.contact h2{font-size:64px}.business-hours p{gap:8px}.form-title{line-height:1.35}}
@media(max-width:380px){.header-actions{gap:8px}.language-picker select{width:104px}.hero h1{font-size:58px}.contact h2{font-size:54px}.section-heading h2{font-size:34px}.hero-topline .eyebrow{font-size:10px!important}.hero-bottom{font-size:10px}.hero-bottom span:last-child{font-size:10px}.service-bottom a{font-size:13px}}
.about-values-block,.cooperation{grid-column:1/-1;border-top:1px solid var(--line);padding-top:36px}.about-values-block>h3,.cooperation>h3{font-size:clamp(28px,3vw,40px);font-weight:450;letter-spacing:-.035em;margin:0 0 32px}.about-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.about-values article{padding-top:20px;border-top:2px solid var(--gold)}.about-values h4{font-size:18px;font-weight:550;line-height:1.4;margin:0 0 14px}.about-values p,.cooperation p{font-size:16px;line-height:1.8;color:#50675b;margin:0}.cooperation-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.cooperation h4{font-size:22px;font-weight:500;letter-spacing:-.025em;margin:0 0 16px}.cooperation small{display:block;font-size:13px;line-height:1.7;color:var(--muted);margin-top:15px}
.faq{padding:100px var(--pad) 120px;display:grid;grid-template-columns:1fr 1.2fr;gap:60px;background:#f3f6f3}.faq h2{font-size:clamp(44px,5vw,72px);font-weight:450;letter-spacing:-.05em;line-height:1.12;white-space:pre-line;margin:26px 0}.faq-heading p{font-size:16px;line-height:1.8;color:var(--muted);max-width:320px}.faq-item{border-bottom:1px solid #c6d2ca;padding:0}.faq-item:first-child{border-top:1px solid #c6d2ca}.faq-item summary{list-style:none;cursor:pointer;padding:24px 32px 24px 0;position:relative;font-size:18px;line-height:1.5;font-weight:500}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:0;top:24px;color:var(--gold);font-size:24px}.faq-item[open] summary:after{content:'−'}.faq-item p{font-size:16px;line-height:1.85;color:#50675b;margin:0 0 25px;padding-right:16px}.faq-heading,.faq-list{min-width:0}
@media(max-width:1100px){.about-values{grid-template-columns:repeat(2,minmax(0,1fr))}.faq{gap:35px;grid-template-columns:1fr 1.3fr}}
@media(max-width:760px){.about-values-block,.cooperation{margin-top:40px;padding-top:30px}.about-values{grid-template-columns:1fr;gap:24px}.about-values article{padding-top:15px}.cooperation-grid{grid-template-columns:1fr;gap:30px}.faq{display:block;padding:65px var(--pad) 90px}.faq h2{font-size:44px}.faq-list{margin-top:32px}.faq-item summary{font-size:17px}.faq-item p{font-size:16px}.about-values-block>h3,.cooperation>h3{font-size:29px}}
/* v0.3 — interactive service studies */
.service-visual.scene{width:100%;max-width:470px;aspect-ratio:auto;margin:32px 0 0;background:#102d27;color:#e8eee8;border:1px solid #55736855;overflow:hidden;border-radius:3px;box-shadow:0 20px 50px #051e2410}
.scene-top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #b9cabb22;font-size:10px;text-transform:uppercase;letter-spacing:.15em}
.scene-led{width:6px;height:6px;border-radius:50%;background:#d7b269;box-shadow:0 0 15px #d7b26988}
.scene-stage{height:285px;position:relative;overflow:hidden}
.scene-stage canvas{display:block;width:100%;height:100%;cursor:grab}
.scene-stage canvas:active{cursor:grabbing}
.scene-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid #b9cabb22}
.scene-controls button{border:1px solid #8ea99a66;color:#e8eee8;background:transparent;padding:8px 11px;font:inherit;font-size:11px;cursor:pointer;border-radius:2px}
.scene-controls button:hover,.scene-controls button[aria-pressed=true]{background:#d5b06c;color:#102d27}
.scene-controls button:focus-visible,.scene-controls input:focus-visible{outline:2px solid #f2d18b;outline-offset:4px}
.scene-controls label{display:flex;align-items:center;gap:8px;flex:1 1 180px;font-size:11px}
.scene-controls input[type=range]{min-width:70px;width:100%;max-width:160px;accent-color:#d6ae64}
.scene figcaption{padding:0 16px 13px;color:#a1b9a9;font-size:10px;letter-spacing:.05em}
.code-demo{margin:0;padding:23px 15px;font:12px/25px Consolas,monospace;color:#beded1;white-space:pre;overflow:hidden}
.code-demo>span{display:block;min-height:25px}
.code-demo i{display:inline-block;width:30px;font-style:normal;color:#577c6b}
.code-demo .active{background:#cfa96014;color:#e7c184}
.video-stage video{width:100%;height:100%;object-fit:cover}
.video-track{position:absolute;bottom:0;left:0;right:0;height:4px;background:#102d27aa}
.video-track i{height:100%;display:block;background:#e0b565}
.service-list li>div{min-width:0}.service-list li>div>span{display:block}
.service-list [data-service-copy]{font-size:14px;line-height:1.7;font-weight:400;letter-spacing:0;margin:12px 0 4px;opacity:.72;max-width:540px}
.service-layout{align-items:start}.service-title{position:sticky;top:110px}
.motion-paused .scene-led{box-shadow:none}
@media(max-width:900px){.service-title{position:static}.scene-stage{height:250px}}
@media(max-width:480px){.service-visual.scene{max-width:100%}.scene-stage{height:230px}.code-demo{font-size:10px;line-height:23px;padding:16px 10px}.scene-controls{padding:10px;gap:8px}.service-list [data-service-copy]{font-size:13px}}
/* Three scenes in each direction; manual navigation avoids forced slide changes. */
.gallery-panel[hidden]{display:none!important}.gallery-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid #b9cabb33}
.gallery-nav button{font:inherit;font-size:13px;color:#dde9df;background:transparent;border:1px solid #8ea99a55;cursor:pointer;min-width:36px;min-height:34px;border-radius:2px}.gallery-tabs{display:flex;gap:7px}.gallery-tabs button[aria-selected=true]{color:#112f27;background:#d4b071;border-color:#d4b071}.gallery-nav button:focus-visible{outline:2px solid #efd39f;outline-offset:3px}.scene-output{font-size:12px;color:#eed08f;min-width:0}.scene-output:empty{display:none}
.scene-stage{height:315px}.scene-controls label{flex:1 1 165px}.scene-controls{min-height:58px}.scene figcaption{padding-top:2px;min-height:30px}.gallery-panel .scene-controls{align-content:start}
@media(max-width:480px){.scene-stage{height:270px}.scene-controls input[type=range]{max-width:135px}.scene-controls label{flex-basis:140px}}
@media(min-width:761px) and (max-width:1000px){.service-layout{grid-template-columns:1fr}.service-title{position:static}.service-visual.scene{max-width:540px}.service-list{margin-top:35px}.service-title h2{max-width:100%;font-size:clamp(42px,6vw,64px)}.about-principles{grid-template-columns:1fr}.faq{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}
.service-detail summary{position:relative;cursor:pointer;font-size:clamp(17px,1.5vw,23px);line-height:1.5;letter-spacing:-.02em;list-style:none;padding-right:28px;overflow-wrap:anywhere}.service-detail summary::-webkit-details-marker{display:none}.service-detail summary:after{content:'+';position:absolute;right:2px;top:1px;font-size:20px;opacity:.65}.service-detail[open] summary:after{content:'−'}.service-detail summary:focus-visible{outline:2px solid #ba9754;outline-offset:6px}.gallery-panel{touch-action:pan-y}.service-title{position:static}
.cinematic{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;border:0;background:#fff;color:#163b30;padding:20px;overflow:hidden}.cinematic::backdrop{background:#fff}.cinematic-stage{width:100%;height:80%}.cinematic-stage canvas{display:block}.cinematic-status{text-align:center;font-size:13px;letter-spacing:.1em}.cinematic progress{display:block;margin:16px auto;width:200px;height:3px;accent-color:#b5924e}.cinematic>button{display:block;margin:auto;border:0;background:none;color:inherit;cursor:pointer;padding:12px;font:inherit;font-size:12px}

/* Older mobile browsers without native Popover keep a functional menu. */
.nav-panel.nav-fallback{position:fixed;z-index:1000;opacity:1;transform:none;max-height:calc(100vh - 140px)}
.nav-panel.nav-fallback[hidden]{display:none}

/* Vector arrows keep Android from substituting colourful emoji glyphs. */
.direction-row .row-arrow{display:flex;align-items:center;justify-content:flex-end}.direction-row .row-arrow svg{display:block;width:1em;height:1em;flex:none}

/* Arabic reading direction; preserve the geometry of demos and code examples. */
html[dir="rtl"] body{font-family:Tahoma,Arial,sans-serif}
html[dir="rtl"] :is(h1,h2,h3,h4,.eyebrow,.hero-topline,.menu-word,.research-top){letter-spacing:0}
html[dir="rtl"] :is(h1,h2){line-height:1.3}
html[dir="rtl"] :is(.hero-copy,.service-title,.service-list,.contact-form,.about-copy){text-align:start}
html[dir="rtl"] .direction-row .row-count{text-align:end}
html[dir="rtl"] .direction-row .row-arrow svg{transform:scaleX(-1)}
html[dir="rtl"] :is(.scene-stage,.research-screen,.generated-screen,.gallery-nav,.research-tabs,.media-tabs,.code-demo,.live-code,.watch-button,.flight-instruments){direction:ltr}
html[dir="rtl"] :is(a[href^="mailto:"],a[href^="tel:"],input[type="email"],.row-num,.service-list small,.footer>span){direction:ltr;unicode-bidi:isolate}
html[dir="rtl"] .nav-sub{padding:0 12px 14px 0}
html[dir="rtl"] .nav-sub a{border-left:0;border-right:1px solid var(--line)}
html[dir="rtl"] .scene-controls{direction:rtl}
html[dir="rtl"] .scene-controls :is(input[type="range"],input[type="number"]){direction:ltr}
html[dir="rtl"] .scene-stage :is(button,label,p,output){unicode-bidi:plaintext}
