body{background:#fff;color:#242622}header{height:112px;padding:30px 3.2vw}header .brand{width:180px}nav{gap:33px}nav a{font-size:16px}.atlas{display:grid;grid-template-columns:34% 66%;padding:25px 3.2vw 45px;gap:0;min-height:calc(100svh - 112px)}.atlas-list{padding-right:48px}.atlas-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.atlas-heading h2{font:400 clamp(30px,3vw,46px)/1.1 Arial,sans-serif;letter-spacing:-.05em}.atlas-heading>span{font-size:11px;color:#90938b;white-space:nowrap}.atlas-subtitle{font-size:13px;color:#888e82;margin-top:17px}.search-label{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden}#atlas-search{display:block;width:100%;padding:20px 0 12px;border:0;border-bottom:1px solid #e1e3dc;background:none;color:#333;font:12px Arial;outline-offset:4px;margin-bottom:10px}.atlas-projects{height:440px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d2d5cb transparent;padding-right:12px;overscroll-behavior:contain}.atlas-project{display:flex;width:100%;gap:14px;text-align:left;align-items:baseline;padding:14px 0;color:#95998f;transition:color .2s}.atlas-project .number{font-size:10px;width:20px;flex-shrink:0}.project-name{font-size:clamp(19px,2.1vw,30px);letter-spacing:-.045em;line-height:1.12;flex:1}.project-name small{display:block;font-size:10px;letter-spacing:0;color:#a0a498;margin-top:6px}.atlas-project .project-arrow{font-size:19px;opacity:0}.atlas-project:hover,.atlas-project:focus-visible,.atlas-project[aria-current=true]{color:#22281e}.atlas-project[aria-current=true] .project-arrow{opacity:1}.atlas-project[hidden]{display:none}.atlas-all{display:flex;justify-content:space-between;font-size:12px;border-bottom:1px solid #90968b;padding:17px 0 12px;margin-top:10px}.atlas-tools{display:flex;justify-content:space-between;align-items:baseline;font-size:9px;letter-spacing:.09em;color:#8c9384;gap:20px}.atlas-tools>div{display:flex;gap:15px}.atlas-tools button{font-size:11px;letter-spacing:0;padding:0 0 7px;color:#7d8375}.atlas-tools button[aria-pressed=true]{color:#262d20;border-bottom:1px solid #262d20}#atlas-map{height:430px;margin-top:10px;background:#fff;isolation:isolate;position:relative}.maplibregl-canvas:focus{outline:0}.maplibregl-ctrl-group{box-shadow:none!important;border:1px solid #e9ebe6;border-radius:0!important}.maplibregl-ctrl-attrib{font-size:9px!important;background:#ffffffe8!important}.atlas-pin{border:0;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;cursor:pointer;width:42px;height:70px;filter:drop-shadow(0 1px 1px #ffffff)}.atlas-pin .pin-disc{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:10px;background:#252b21;color:#fff;border:1px solid #252b21;border-radius:50%;transition:transform .2s}.atlas-pin .pin-stem{height:30px;width:1px;background:#525a49}.atlas-pin .pin-base{height:4px;width:14px;border:1px solid #888f80;border-radius:50%;background:#fff}.atlas-pin.approx .pin-disc{background:#fff;color:#282d23;border:1px dashed #4e5844}.atlas-pin.selected .pin-disc{transform:scale(1.2);background:#252b21;color:white}.atlas-pin.selected{z-index:10}.atlas-pin:focus-visible{outline:2px solid #353c2e;outline-offset:4px}.atlas-instructions{font-size:10px;color:#969b8e;margin-top:6px}.atlas-welcome{display:flex;justify-content:space-between;align-items:end;gap:25px}.atlas-welcome h2{font:400 29px/1.18 Arial;letter-spacing:-.045em}.atlas-welcome>span{font-size:11px;color:#8b9282;line-height:1.65}#atlas-detail{min-height:140px;padding:23px 0 20px;border-bottom:1px solid #e2e5dd}.atlas-note{font-size:9px;line-height:1.5;color:#969d8b;margin-top:12px;max-width:600px}.legend-dot{width:8px;height:8px;border:1px dashed #555e4a;display:inline-block;border-radius:50%;vertical-align:middle;margin-right:5px}.detail-card{display:grid;grid-template-columns:110px 1fr auto;gap:20px;align-items:center}.detail-card img{height:112px;width:110px;object-fit:cover}.detail-card h2{font-size:25px;line-height:1.15}.detail-card .detail-address{font-size:11px;color:#747d68;margin-top:8px}.detail-card .detail-precision{font-size:9px;color:#939b86;margin-top:8px;max-width:360px}.detail-card .detail-links{display:flex;flex-direction:column;gap:14px;font-size:11px;white-space:nowrap}.detail-links a{border-bottom:1px solid #a3aa98;padding-bottom:5px}.detail-id{font-size:9px;color:#909884;display:block;margin-bottom:6px}.atlas-intro{margin:80px 6vw 120px;padding-top:60px;border-top:1px solid #e5e8df;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.atlas-intro h2{font-size:52px;letter-spacing:-.05em}.atlas-intro p{font-size:20px;line-height:1.4;margin-bottom:35px}.atlas-intro .line-link{margin-top:20px;max-width:300px}.atlas-project-back{display:inline-block;font-size:13px;padding:30px 0 0;color:#747d67}.atlas-home .services-preview{margin-top:0}.atlas-home footer{background:#f5f6f2}.atlas-home .section-heading h2{color:#8c9480}
@media(min-width:1500px){#atlas-map{height:510px}.atlas-projects{height:520px}}
@media(max-width:1000px){nav{gap:20px}nav a{font-size:14px}.atlas-list{padding-right:28px}.atlas{grid-template-columns:36% 64%}.detail-card{grid-template-columns:80px 1fr;gap:15px}.detail-card img{width:80px;height:95px}.detail-links{grid-column:2;flex-direction:row!important}.detail-card h2{font-size:23px}.project-name{font-size:22px}.atlas-welcome h2{font-size:25px}.atlas-welcome>span{display:none}}
@media(max-width:700px){header{height:95px;padding:24px 6vw}header .brand{width:135px}header nav{z-index:1000}nav.open{padding:25px 6vw}.atlas{display:flex;flex-direction:column;padding:15px 6vw 40px;min-height:0}.atlas-list{padding:0}.atlas-heading h2{font-size:37px}.atlas-subtitle{font-size:12px;margin-top:12px}.atlas-projects{height:190px;padding-right:8px}.atlas-project{padding:10px 0}.project-name{font-size:23px}.project-name small{font-size:10px}.atlas-all{padding-top:12px;margin-top:6px;font-size:11px}.atlas-stage{margin-top:28px}.atlas-tools{font-size:8px;gap:12px}.atlas-tools>div{gap:10px}.atlas-tools button{font-size:10px}#atlas-map{height:340px;margin-left:-6vw;margin-right:-6vw}.atlas-instructions{font-size:9px}.atlas-welcome h2{font-size:27px}.atlas-welcome>span{display:block;font-size:10px}#atlas-detail{min-height:130px}.detail-card{grid-template-columns:80px 1fr;gap:12px}.detail-card .detail-address{font-size:10px}.detail-card .detail-links{font-size:10px;gap:18px}.atlas-intro{margin:30px 6vw 70px;padding-top:35px;grid-template-columns:1fr;gap:30px}.atlas-intro h2{font-size:40px}.atlas-intro p{font-size:18px}.atlas-note{font-size:9px}.atlas-pin .pin-disc{width:29px;height:29px}.atlas-pin .pin-stem{height:25px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-width:700px){.atlas-list{display:contents}.atlas-heading{order:0}.atlas-subtitle{order:1}#atlas-search{order:2}.atlas-stage{order:3;margin-top:14px}.atlas-projects{order:4;margin-top:25px;height:280px}.atlas-all{order:5}.atlas>#atlas-empty{order:5}#atlas-map{height:310px}}
/* Seamless architectural line map, no tile panel or rectangular edge. */
#atlas-map{background:transparent;border:0;box-shadow:none;overflow:visible}
#atlas-map .maplibregl-canvas-container{mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 54%,transparent 96%);-webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 54%,transparent 96%)}
#atlas-map .maplibregl-ctrl-group{display:none}
#atlas-map .maplibregl-ctrl-attrib{opacity:.65;background:transparent!important;font-size:8px!important}
#atlas-map .maplibregl-marker{z-index:3}
#atlas-map .maplibregl-marker.selected{z-index:8}
.atlas-pin{filter:none;width:36px;height:58px}
.atlas-pin .pin-disc{width:23px;height:23px;font-size:8px}
.atlas-pin .pin-stem{height:28px;background:#9ba291}
.atlas-pin .pin-base{width:11px;height:3px;border-color:#b5bba9}
.pin-preview{position:absolute;bottom:70px;left:50%;width:180px;transform:translateX(-50%) scale(0);transform-origin:bottom center;opacity:0;transition:transform .5s ease,opacity .3s;pointer-events:none;background:white;color:#242622;padding:0;text-align:left}
.pin-preview img{height:125px;width:180px;object-fit:cover}
.pin-preview>span{display:block;font:11px Arial;padding:9px 0 5px}
.atlas-pin.selected .pin-preview,.atlas-pin:hover .pin-preview,.atlas-pin:focus-visible .pin-preview{transform:translateX(-50%) scale(1);opacity:1}
.map-pointer-light{position:absolute;width:135px;height:135px;margin:-67.5px 0 0 -67.5px;pointer-events:none;z-index:1;border-radius:50%;background:radial-gradient(circle,#fff 0%,#ffffffd9 15%,#ffffff55 45%,transparent 70%);opacity:0;transition:opacity .25s}
.map-pointer-light.visible{opacity:.9}
.atlas-project{position:relative}
.atlas-project[aria-current=true]:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:1px;background:#333}
.atlas-project[aria-current=true] .number{color:#555}
.name-roll{display:block;position:relative;overflow:hidden}
.name-roll>span{display:block;transition:transform .35s ease}
.name-roll>em{display:block;position:absolute;top:0;left:0;width:100%;transform:translateY(120%);transition:transform .35s ease;font-style:italic}
.atlas-project[aria-current=true] .name-roll>span{transform:translateY(-120%)}
.atlas-project[aria-current=true] .name-roll>em{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.map-pointer-light{display:none}.pin-preview,.name-roll>span,.name-roll>em{transition:none!important}}
#atlas-map .maplibregl-canvas-container{mask-image:none;-webkit-mask-image:none}
#atlas-map .maplibregl-canvas{mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 54%,transparent 96%);-webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 54%,transparent 96%)}

/* Give the map the main share of the viewport. */
@media(min-width:701px){.atlas{grid-template-columns:29% 71%;padding-right:1.5vw}.atlas-list{padding-right:30px}.atlas-stage{min-width:0}#atlas-map{height:clamp(500px,calc(100svh - 340px),820px)}.atlas-projects{height:clamp(440px,calc(100svh - 370px),760px)}}
@media(max-width:700px){#atlas-map{height:clamp(420px,62svh,620px)}}

.atlas-projects{overflow-x:hidden}.project-name{min-width:0;overflow-wrap:normal}


@media(min-width:701px) and (max-width:1000px){.project-name{font-size:18px}.atlas-project{gap:8px}.atlas-heading{gap:8px}.atlas-heading h2{font-size:28px}}

/* AAT-inspired opening, followed by the full-size project map. */
.atlas-home .hero{margin:0 3.2vw 100px;padding-top:0;min-height:calc(100svh - 150px);grid-template-columns:55% 45%}
.atlas-home .hero-copy{padding:120px 45px 0 0;align-self:end}
.atlas-home .hero-photo{min-height:calc(100svh - 150px)}
.atlas-home .hero-copy h1{font-size:clamp(40px,4.6vw,72px)}
.atlas{scroll-margin-top:25px}
.atlas-pin.office{z-index:7}
.atlas-pin.office .pin-disc{width:34px;height:34px;background:#777e63;color:white;border:0;border-radius:3px;font:italic 23px Georgia,serif;box-shadow:0 0 0 5px #777e6318}
.office-label{position:absolute;top:8px;left:44px;white-space:nowrap;font-size:9px;letter-spacing:.06em;color:#687053;background:#fffffff0;padding:3px 5px}
.atlas-project[data-office] .number{color:#777e63}
.atlas-project[data-office] .project-name small{color:#687053}
.map-pointer-light{width:210px;height:210px;margin:-105px 0 0 -105px;background:radial-gradient(circle,#fff 0%,#fffffff5 17%,#ffffff99 36%,#ffffff33 56%,transparent 72%)}
@media(max-width:700px){.atlas-home .hero{margin:0 6vw 70px;display:flex;min-height:0}.atlas-home .hero-photo{height:52svh;min-height:0}.atlas-home .hero-copy{padding:30px 0 0}.atlas-home .hero-copy h1{font-size:41px}.office-label{font-size:7px;left:40px}.atlas-pin.office .pin-disc{width:29px;height:29px}}

.atlas-pin.office{height:112px}.atlas-pin.office .pin-stem{height:72px}.office-label{top:6px}


.atlas-pin.office .pin-preview{bottom:125px}

@media(min-width:701px){.atlas-home .hero{grid-template-columns:1fr 1fr}.atlas-home .hero-copy{padding-right:32px}}
/* ARCUS favicon palette. Alpha applies to colour, keeping labels readable. */
:root{--arcus-map-rgb:0,158,173}
.atlas-pin .pin-disc,.atlas-pin.approx .pin-disc,.atlas-pin.selected .pin-disc{background:rgba(var(--arcus-map-rgb),.5);border-color:rgba(var(--arcus-map-rgb),.5);color:#153c40}
.atlas-pin .pin-stem{background:rgba(var(--arcus-map-rgb),.5)}
.atlas-pin .pin-base{background:rgba(var(--arcus-map-rgb),.12);border-color:rgba(var(--arcus-map-rgb),.5)}
.atlas-pin.office .pin-disc{background:transparent;border:0;box-shadow:none;border-radius:0;width:38px;height:38px}
.office-favicon{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.office-label{color:#007985;background:rgba(255,255,255,.78)}
.atlas-project[data-office] .number,.atlas-project[data-office] .project-name small{color:#007985}
#atlas-detail{background:rgba(159,166,154,.09);border-bottom-color:rgba(159,166,154,.2);padding:23px 20px 20px}
.legend-dot{border-color:rgba(var(--arcus-map-rgb),.5)}
.language-switch{display:inline-flex;gap:9px;align-items:center;white-space:nowrap}
.language-switch a{font-size:12px!important;color:#858585}
.language-switch a[aria-current=true]{color:#222;font-weight:700;border-bottom:1px solid currentColor}
@media(min-width:701px){header nav{gap:clamp(12px,2vw,28px)}}
.office-favicon{opacity:.5}

/* Full original ARCUS signature with its construction-company descriptor. */
.brand img{height:auto;aspect-ratio:1090 / 530;object-fit:contain;object-position:left;filter:grayscale(1) brightness(.3)}
header{height:132px;padding-top:22px;padding-bottom:22px}header .brand{width:180px;flex-shrink:0}.footer-top .brand{width:220px}
@media(max-width:700px){header{height:112px;padding-top:18px;padding-bottom:18px}header .brand{width:155px}header nav{top:105px}.footer-top .brand{width:200px}}
/* Overlay the translucent information band on the map itself. */
.atlas-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;align-content:start}
.atlas-tools{grid-column:1;grid-row:1}
#atlas-map{grid-column:1;grid-row:2;min-width:0}
#atlas-detail{grid-column:1;grid-row:2;align-self:end;position:relative;z-index:4;background:rgba(224,229,222,.5);border:0;backdrop-filter:none}
.atlas-instructions{grid-column:1;grid-row:3}
.atlas-note{grid-column:1;grid-row:4}
#atlas-detail{pointer-events:none}#atlas-detail a{pointer-events:auto}
/* Restore the original compact homepage logo scale, including its descriptor. */
.atlas-home header .brand{width:110px}.atlas-home header .brand img{height:54px;width:110px;aspect-ratio:auto}

/* Service imagery follows the site's restrained editorial layout. */
.service-body:has(.service-visual){margin:35px 0 15px;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:start}
.service-visual{margin:0}.service-visual img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
@media(max-width:700px){.service-body:has(.service-visual){grid-template-columns:1fr;gap:24px;margin:25px 0 10px}}
/* Keep navigation available while scrolling without changing page flow. */
header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.5)}
html{scroll-padding-top:150px}
.atlas{scroll-margin-top:0}
@media(max-width:700px){html{scroll-padding-top:125px}header nav.open{max-height:calc(100dvh - 112px);overflow-y:auto}}
header nav a{color:#242622}header nav a:hover{color:#007985}
/* Compact navigation with per-link contrast against the underlying imagery. */
header{height:76px;padding-top:10px;padding-bottom:10px;align-items:center}
header .brand{width:110px}header .brand img{height:54px;width:110px;aspect-ratio:auto}
header nav{padding-top:0}header nav a,header .menu-toggle{font-weight:700}
header nav a[data-contrast=light],header .menu-toggle[data-contrast=light]{color:#111;text-shadow:none}
header nav a[data-contrast=dark],header .menu-toggle[data-contrast=dark]{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45)}
html{scroll-padding-top:94px}
@media(max-width:700px){header{height:70px;padding-top:8px;padding-bottom:8px}header nav{top:70px}header nav.open{max-height:calc(100dvh - 70px)}html{scroll-padding-top:86px}}
header nav .language-switch a[data-contrast=dark]{color:#fff}header nav .language-switch a[data-contrast=light]{color:#111}
/* The full header yields to a persistent three-line menu when scrolling. */
header.nav-collapsed{background:transparent;pointer-events:none}
header.nav-collapsed>.brand{visibility:hidden}
header.nav-collapsed nav:not(.open){display:none}
header .menu-toggle{width:44px;height:44px;padding:11px;align-items:center;justify-content:center;background:rgba(255,255,255,.85);color:#111!important;pointer-events:auto;text-shadow:none!important;position:fixed;top:15px;right:3.2vw;z-index:1002}
header.nav-collapsed .menu-toggle{display:flex}
.menu-bars{display:flex;flex-direction:column;gap:5px;width:22px}.menu-bars i{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded=true] .menu-bars i:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-bars i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] .menu-bars i:last-child{transform:translateY(-7px) rotate(-45deg)}
header.nav-collapsed nav.open{display:flex;position:fixed;top:68px;right:3.2vw;left:auto;width:min(340px,93.6vw);padding:28px;gap:22px;flex-direction:column;background:rgba(255,255,255,.97);border:1px solid #eee;max-height:calc(100dvh - 90px);overflow-y:auto;pointer-events:auto}
header nav.open a{color:#111!important;text-shadow:none!important}
@media(max-width:700px){header .menu-toggle{display:flex;top:13px;right:6vw}header nav.open,header.nav-collapsed nav.open{position:fixed;top:70px;left:6vw;right:6vw;width:auto;padding:26px;background:rgba(255,255,255,.97);pointer-events:auto}.atlas-stage{min-width:0}#atlas-map .maplibregl-ctrl-group{display:block}#atlas-map .maplibregl-ctrl-bottom-right{bottom:155px}.maplibregl-ctrl button{width:40px;height:40px}}
@media(pointer:coarse){#atlas-map .maplibregl-ctrl-group{display:block}#atlas-map .maplibregl-ctrl-bottom-right{bottom:155px}}
@media(prefers-reduced-motion:reduce){.menu-bars i{transition:none}}
/* Complete compact project list; the map continues below its translucent band. */
.atlas-projects{height:auto;max-height:none;overflow:visible;padding-right:0;overscroll-behavior:auto}
.atlas-project{padding:8px 0;gap:10px}.project-name{font-size:22px;line-height:1.12}.project-name small{margin-top:3px}
#atlas-map{height:clamp(740px,95svh,1080px)}
#atlas-detail{margin-bottom:180px}
#atlas-map .maplibregl-ctrl-bottom-right{bottom:12px}
@media(min-width:701px) and (max-width:1000px){.project-name{font-size:18px}.atlas-project{padding:7px 0}}
@media(max-width:700px){.atlas-projects{height:auto;max-height:none;overflow:visible;margin-top:24px}.atlas-project{padding:7px 0}.project-name{font-size:20px;line-height:1.15}.atlas-tools{flex-wrap:wrap;gap:12px}.atlas-tools>div{flex-wrap:wrap;gap:15px}#atlas-map{height:680px}#atlas-detail{margin-bottom:150px;padding:18px 14px}.atlas-welcome h2{font-size:24px}#atlas-map .maplibregl-canvas{mask-image:none;-webkit-mask-image:none}}
@media(pointer:coarse){#atlas-map .maplibregl-canvas{mask-image:none;-webkit-mask-image:none}#atlas-map:not(.map-touch-active) .maplibregl-canvas{touch-action:pan-y!important}}
.atlas-tools .atlas-touch-toggle{color:#007985;border-bottom:1px solid currentColor;font-weight:700}
/* Carry the map through to the divider of the following introduction. */
.atlas{padding-bottom:0}
.atlas-intro{margin-top:0}
.atlas-instructions,.atlas-note{grid-column:1;grid-row:2;align-self:end;position:relative;z-index:4;pointer-events:none}
.atlas-instructions{margin:0 12px 35px}
.atlas-note{margin:0 12px 8px}
#atlas-map{margin-bottom:0}
#atlas-map .maplibregl-ctrl-attrib{margin-bottom:60px}
@media(max-width:700px){.atlas-projects{order:3}.atlas-all{order:4}.atlas-stage{order:5;margin-top:28px}.atlas-intro{margin-top:0}.atlas-instructions{margin-bottom:48px}.atlas-note{margin-bottom:8px}#atlas-map .maplibregl-ctrl-attrib{margin-bottom:85px}}
#atlas-map .maplibregl-canvas{mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
/* Clip only the moving light at the map edge, avoiding horizontal page scroll. */
.map-pointer-light{clip-path:inset(0);max-width:100%}
body{overflow-x:clip}
#atlas-map .maplibregl-ctrl-group{display:block}
#atlas-map{overflow:hidden}
