@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/Archivo-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/Archivo-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/Archivo-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/Archivo-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/Archivo-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/Archivo-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Titillium Web;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/TitilliumWeb-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Titillium Web;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/TitilliumWeb-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Titillium Web;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/TitilliumWeb-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Titillium Web;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/TitilliumWeb-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Titillium Web;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/TitilliumWeb-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Titillium Web;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/TitilliumWeb-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#0a0909;--accent:#e91d26;--paper:#fff;--paper-2:#f9f9f9;--gray:#4e4e4e;--line:#e5e5e5;--heading:"Titillium Web", sans-serif;--body:"Archivo", sans-serif;--container:1200px;--header-h:84px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--body);color:var(--gray);background:var(--paper);margin:0;font-size:16px;line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:var(--heading);color:var(--ink);margin:0 0 .5em;font-weight:700;line-height:1.1}h1{font-size:clamp(45px,6vw,80px);line-height:1.02}h2{font-size:clamp(35px,4.5vw,64px);line-height:1.06}h3{font-size:clamp(24px,2.6vw,32px)}h4{font-size:clamp(20px,1.8vw,24px);line-height:1.3}h5{font-size:18px}h6{letter-spacing:.12em;text-transform:uppercase;font-size:12px}p{margin:0 0 1em}img{max-width:100%;height:auto;display:block}a{color:var(--ink)}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.container.narrow{max-width:860px}.kicker{font-family:var(--heading);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:14px;font-weight:600}section{padding:72px 0}.section-head{max-width:760px;margin-bottom:42px}.section-intro{font-size:18px}.btn-cta{background:var(--ink);color:#fff;border:1px solid var(--ink);font-family:var(--heading);letter-spacing:.04em;cursor:pointer;padding:13px 30px;font-size:15px;font-weight:600;text-decoration:none;transition:background .25s,color .25s;display:inline-block}.btn-cta:hover{color:var(--ink);background:#fff}.btn-cta.big{padding:16px 40px;font-size:16px}.btn-cta.light{color:var(--ink);background:#fff;border-color:#fff}.btn-cta.light:hover{color:#fff;background:0 0}.site-header{z-index:40;background:var(--paper);border-bottom:1px solid var(--line);transition:background .3s,border-color .3s;position:sticky;top:0}.header-inner{min-height:var(--header-h);align-items:center;gap:28px;display:flex}.brand{align-items:center;text-decoration:none;display:inline-flex}.brand-text{font-family:var(--heading);color:var(--ink);font-size:24px;font-weight:700}.brand-logo{width:auto;height:42px}.brand-logo-light{display:none}.main-nav{margin-left:auto}.main-nav>ul{gap:4px;margin:0;padding:0;list-style:none;display:flex}.main-nav a{font-family:var(--heading);color:var(--ink);padding:10px 14px;font-size:15px;font-weight:600;text-decoration:none;transition:color .2s;display:block}.main-nav a:hover{color:var(--accent)}.main-nav .caret{opacity:.55;margin-left:4px;font-size:10px}.main-nav li{position:relative}.main-nav .submenu{background:var(--ink);opacity:0;visibility:hidden;min-width:260px;margin:0;padding:10px 0;list-style:none;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:100%;left:0;transform:translateY(8px)}.main-nav li:hover>.submenu,.main-nav li:focus-within>.submenu{opacity:1;visibility:visible;transform:translateY(0)}.main-nav .submenu a{color:#ffffffd9;padding:9px 22px;font-weight:400}.main-nav .submenu a:hover{color:#fff;background:#ffffff0f}.header-actions{align-items:center;gap:14px;display:flex}.lang-switch{font-family:var(--heading);border:1px solid var(--line);padding:6px 10px;font-size:13px;font-weight:700;text-decoration:none}.lang-switch:hover{border-color:var(--ink)}.site-header.is-stuck{background:var(--ink);border-color:#0000}.site-header.is-stuck .main-nav>ul>li>a{color:#fff}.site-header.is-stuck .main-nav>ul>li>a:hover{color:var(--accent)}.site-header.is-stuck .brand-text{color:#fff}.site-header.is-stuck .brand-logo-dark{display:none}.site-header.is-stuck .brand-logo-light{display:block}.site-header.is-stuck .lang-switch{color:#fff;border-color:#ffffff4d}.site-header.is-stuck .btn-cta{color:var(--ink);background:#fff;border-color:#fff}.site-header.is-stuck .nav-toggle span{background:#fff}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:6px;display:none}.nav-toggle span{background:var(--ink);height:2px;transition:transform .25s,opacity .25s;display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-nav{background:var(--ink);padding:18px 24px 28px;display:none}.mobile-nav ul{margin:0 0 16px;padding:0;list-style:none}.mobile-nav ul ul{margin:0;padding-left:18px}.mobile-nav a{color:#fff;font-family:var(--heading);border-bottom:1px solid #ffffff14;padding:9px 0;font-weight:600;text-decoration:none;display:block}.mobile-nav ul ul a{color:#fffc;font-weight:400}.mobile-nav.is-open{display:block}@media (width<=1020px){.main-nav{display:none}.nav-toggle{display:flex}.header-actions .btn-cta{display:none}}.block-hero{background:var(--paper-2);padding:110px 0 96px;position:relative;overflow:hidden}.block-hero.is-dark{background:var(--ink)}.block-hero.is-dark h1,.block-hero.is-dark .hero-subtitle{color:#fff}.hero-bg{position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%}.block-hero.has-image:after{content:"";background:linear-gradient(90deg,#0a0909d1 0%,#0a090973 60%,#0a090933 100%);position:absolute;inset:0}.block-hero.has-image h1,.block-hero.has-image .hero-subtitle,.block-hero.has-image .kicker{color:#fff}.hero-inner{z-index:1;max-width:900px;position:relative}.hero-subtitle{max-width:620px;margin:18px 0 26px;font-size:19px}.rotating{color:var(--accent);min-height:1.05em;display:block}.block-hero.has-image .rotating,.block-hero.is-dark .rotating{color:#fff}.rotating-word{display:inline-block}.rotating-word.leaving{animation:.35s forwards word-out}.rotating-word.entering{animation:.45s forwards word-in}@keyframes word-out{to{opacity:0;transform:translateY(-40%)}}@keyframes word-in{0%{opacity:0;transform:translateY(40%)}to{opacity:1;transform:none}}.prose{font-size:16.5px}.prose h3{margin-top:1.4em}.prose ul{padding-left:22px}.prose a{color:var(--accent)}.block-rich-text.is-centered .container{text-align:center}.ti-grid{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.block-text-image.image-left .ti-text{order:2}.ti-media img{object-fit:cover;width:100%}.ti-text .btn-cta{margin-top:10px}@media (width<=900px){.ti-grid{grid-template-columns:1fr;gap:30px}.block-text-image.image-left .ti-text{order:0}}.block-services{background:var(--paper-2)}.services-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.service-card{border:1px solid var(--line);background:#fff;flex-direction:column;text-decoration:none;transition:box-shadow .25s,transform .25s;display:flex}.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0a09091f}.service-media{aspect-ratio:4/3;display:block;overflow:hidden}.service-media img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.service-card:hover .service-media img{transform:scale(1.06)}.service-body{padding:22px 24px 26px;display:block}.service-body h3{margin-bottom:8px;font-size:clamp(20px,1.8vw,24px);line-height:1.3}.service-body p{margin:0;font-size:14.5px}.service-arrow{color:var(--accent);margin-top:12px;font-size:20px;transition:transform .25s;display:inline-block}.service-card:hover .service-arrow{transform:translate(6px)}@media (width<=980px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.services-grid{grid-template-columns:1fr}}.sectors-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.block-sectors{padding:56px 0}.block-sectors .section-head{margin-bottom:26px}.sector-card{text-align:center;padding:10px 12px}.sector-icon{margin:0 auto 16px}.sector-card h3{font-size:clamp(20px,1.8vw,24px);line-height:1.3}.sector-card p{margin:0;font-size:14.5px}@media (width<=980px){.sectors-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.sectors-grid{grid-template-columns:1fr}}.block-stats{background:var(--paper-2);padding:56px 0}.block-stats.is-dark{background:var(--ink)}.block-stats.is-dark .stat-label{color:#ffffffb3}.block-stats.is-dark .stat-number,.block-stats.is-dark .stat-suffix{color:#fff}.stats-grid{text-align:center;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:28px;display:grid}.stat-number,.stat-suffix{font-family:var(--heading);color:var(--ink);font-size:clamp(40px,5vw,64px);font-weight:700;line-height:1}.stat-suffix{color:var(--accent)}.stat-label{margin-top:8px;font-size:15px;display:block}.block-logos{padding:48px 0}.block-logos h3{margin-bottom:28px}.logos-track{flex-wrap:wrap;align-items:center;gap:48px;display:flex}.logos-track img{width:auto;height:56px}.block-cta{background:var(--ink);color:#fff;text-align:center;padding:88px 0;position:relative;overflow:hidden}.cta-bg{position:absolute;inset:0}.cta-bg img{object-fit:cover;opacity:.35;width:100%;height:100%}.cta-inner{z-index:1;max-width:780px;position:relative}.block-cta h2,.block-cta p{color:#fff}.block-cta p{margin-bottom:28px;font-size:18px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.gallery-grid figure{margin:0}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}.gallery-grid figcaption{color:var(--gray);padding-top:6px;font-size:13.5px}@media (width<=900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.gallery-grid{grid-template-columns:1fr}}.projects-grid{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.project-card{text-decoration:none;display:block}.project-media{aspect-ratio:16/10;display:block;overflow:hidden}.project-media img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-media img{transform:scale(1.05)}.project-body{padding-top:18px;display:block}.project-year{font-family:var(--heading);letter-spacing:.12em;color:var(--accent);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.project-body p{font-size:14.5px}@media (width<=760px){.projects-grid{grid-template-columns:1fr}}.team-grid{grid-template-columns:repeat(4,1fr);gap:28px;display:grid}.team-card img{aspect-ratio:3/4;object-fit:cover;width:100%;margin-bottom:14px}.team-card h3{margin-bottom:2px;font-size:clamp(20px,1.8vw,24px);line-height:1.3}.team-role{color:var(--accent);font-family:var(--heading);font-size:14px;font-weight:600}@media (width<=980px){.team-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.team-grid{grid-template-columns:1fr}}.timeline{border-left:2px solid var(--ink);margin:0;padding:0;list-style:none}.timeline li{gap:24px;padding:0 0 34px 26px;display:flex;position:relative}.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:8px;left:-7px}.timeline-year{font-family:var(--heading);color:var(--ink);min-width:74px;font-size:22px;font-weight:700}.accordion details{border-bottom:1px solid var(--line)}.accordion summary{cursor:pointer;font-family:var(--heading);color:var(--ink);padding:16px 34px 16px 0;font-size:18px;font-weight:600;list-style:none;position:relative}.accordion summary:after{content:"+";color:var(--accent);font-size:22px;position:absolute;right:4px}.accordion details[open] summary:after{content:"–"}.accordion summary::-webkit-details-marker{display:none}.accordion .prose{padding-bottom:18px}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.contact-list{margin:0 0 20px;padding:0;list-style:none}.contact-list a{font-weight:500;text-decoration:none}.contact-list a:hover{color:var(--accent)}.contact-map iframe{border:0;width:100%;min-height:420px}@media (width<=860px){.contact-grid{grid-template-columns:1fr}}.contact-form label{font-family:var(--heading);color:var(--ink);margin-bottom:14px;font-size:14px;font-weight:600;display:block}.contact-form input,.contact-form textarea{width:100%;font:inherit;background:#fff;border:1px solid #ccc;margin-top:5px;padding:11px 13px;font-size:15px;display:block}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--ink)}.form-row{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}@media (width<=620px){.form-row{grid-template-columns:1fr}}.hp-field{opacity:0;width:1px;height:1px;left:-9999px;position:absolute!important}.form-feedback{margin-top:12px;font-weight:600}.form-feedback.ok{color:#1a7f37}.form-feedback.err{color:var(--accent)}.contact-modal{z-index:60;position:fixed;inset:0}.contact-modal-backdrop{background:#0a0909b3;position:absolute;inset:0}.contact-modal-panel{z-index:1;background:#fff;max-width:640px;max-height:88vh;margin:6vh auto;padding:40px 42px;position:relative;overflow:auto}.contact-modal-close{cursor:pointer;color:var(--gray);background:0 0;border:0;font-size:30px;line-height:1;position:absolute;top:12px;right:16px}.contact-modal-info{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:14.5px}.contact-modal-info a{font-weight:600;text-decoration:none}@media (width<=700px){.contact-modal-panel{height:100%;max-height:100vh;margin:0}}.block-divider.size-s{padding:14px 0}.block-divider.size-m{padding:32px 0}.block-divider.size-l{padding:64px 0}.block-divider hr{border:0;border-top:1px solid var(--line);margin:0}.pre-footer{background:var(--ink);color:#fff;border-bottom:4px solid var(--accent);padding:84px 0}.pre-footer h2{color:#fff;margin:0 0 26px}.pre-footer .pf-line{white-space:nowrap;height:1.2em;line-height:1.15;display:block}.pre-footer .rotating{color:#fff;display:inline}.pre-footer .rotating-word{border-bottom:3px solid var(--accent);color:#fff;padding-bottom:2px;text-decoration:none}.pre-footer a.rotating-word:hover{color:var(--accent)}.site-footer{background:var(--paper);color:var(--gray)}.footer-grid{grid-template-columns:1.4fr 1.1fr 1fr 1fr .9fr;gap:40px;padding:64px 24px 48px;display:grid}.site-footer h3{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:16px;font-size:13px;font-weight:700}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin-bottom:8px}.site-footer a{color:var(--gray);text-decoration:none}.site-footer a:hover{color:var(--accent)}.footer-about img{margin-bottom:14px}.footer-about p{font-size:14.5px}.footer-bottom{border-top:1px solid var(--line)}.footer-bottom-inner{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 24px;font-size:13.5px;display:flex}@media (width<=900px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}@media (width<=540px){.footer-grid{grid-template-columns:1fr}}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}body.header-overlay .site-header{background:0 0;border-bottom:0;position:fixed;top:0;left:0;right:0}body.header-overlay .site-header:not(.is-stuck) .main-nav>ul>li>a,body.header-overlay .site-header:not(.is-stuck) .brand-text,body.header-overlay .site-header:not(.is-stuck) .lang-switch{color:#fff}body.header-overlay .site-header:not(.is-stuck) .lang-switch{border-color:#ffffff59}body.header-overlay .site-header:not(.is-stuck) .nav-toggle span{background:#fff}body.header-overlay .site-header:not(.is-stuck) .brand-logo-dark{display:none}body.header-overlay .site-header:not(.is-stuck) .brand-logo-light{display:block}body.header-overlay .site-header:not(.is-stuck) .btn-cta{color:#fff;background:0 0;border-color:#fff}body.header-overlay .site-header.is-stuck{background:var(--ink);position:fixed}body.header-overlay .block-hero{padding-top:calc(var(--header-h) + 80px)}.block-hero.has-image{align-items:center;min-height:66vh;display:flex}.block-contact-card{z-index:2;position:relative}.contact-card{background:#fff;max-width:380px;margin:-96px 0 0 auto;padding:34px 38px 30px;box-shadow:0 24px 60px #0a090924}.contact-card h2{margin-bottom:14px;padding-bottom:14px;font-size:clamp(24px,2.6vw,32px);position:relative}.contact-card h2:after{content:"";background:var(--accent);width:44px;height:3px;position:absolute;bottom:0;left:0}.contact-card-link{cursor:pointer;font-family:var(--heading);color:var(--gray);background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.contact-card-link:hover{color:var(--accent)}@media (width<=700px){.contact-card{max-width:none;margin-top:-40px}}.text-columns{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;display:grid}.kicker.small{color:var(--gray);letter-spacing:.16em;font-size:12px}.text-col .prose{font-size:15.5px}.block-services-list{background:var(--ink);color:#fff;padding:88px 0}.sl-grid{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.sl-head h2{color:#fff}.sl-head .kicker{color:#ffffffa6}.sl-list{margin:0;padding:0;list-style:none}.sl-list li{border-bottom:1px solid #ffffff29}.sl-list li:first-child{border-top:1px solid #ffffff29}.sl-list a,.sl-list span{color:#fff;font-family:var(--heading);padding:17px 4px 17px 26px;font-size:19px;font-weight:600;text-decoration:none;display:block;position:relative}.sl-list li::marker{content:none}.sl-list a:before,.sl-list span:before{content:"–";color:var(--accent);position:absolute;left:0}.sl-list a:hover{color:var(--accent)}@media (width<=860px){.sl-grid{grid-template-columns:1fr;gap:30px}}.sl-media{aspect-ratio:16/10;max-width:480px;margin-top:28px;position:relative;overflow:hidden}.sl-media img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.sl-media img.is-active{opacity:1}@media (width<=860px){.sl-media{display:none}}.site-map-section{background:var(--paper-2);padding:0;position:relative}.site-map-section .map-canvas{height:440px}.map-canvas{z-index:0;background:#eee;width:100%;height:100%;min-height:360px}.map-card{top:40px;left:max(24px, calc((100vw - var(--container)) / 2 + 24px));z-index:5;background:var(--ink);color:#fff;border-top:3px solid var(--accent);max-width:320px;padding:26px 30px;position:absolute}.map-card h3{color:#fff;margin-bottom:8px}.map-card p{color:#ffffffbf;font-size:14.5px}.map-card a{color:#fff;font-family:var(--heading);font-weight:600;text-decoration:none}.map-card a:hover{color:var(--accent)}@media (width<=700px){.map-card{max-width:none;position:static}.site-map-section .map-canvas{height:320px}}.map-pin{position:relative}.map-pin-dot{background:var(--accent);border:2px solid #fff;border-radius:50%;position:absolute;inset:4px}.map-pin-pulse{background:#e91d2680;border-radius:50%;animation:1.8s ease-out infinite map-pulse;position:absolute;inset:0}@keyframes map-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}.leaflet-container{font-family:var(--body)}.leaflet-popup-content-wrapper{color:var(--ink);border-top:3px solid var(--accent);background:#fff;border-radius:4px;box-shadow:0 10px 30px #0a09092e}.leaflet-popup-content{margin:14px 18px;font-size:14px;line-height:1.5}.leaflet-popup-content strong{font-family:var(--heading);font-size:15px}.leaflet-popup-tip{background:#fff}.leaflet-container a.leaflet-popup-close-button{color:var(--gray)}.leaflet-container .leaflet-control-attribution{color:var(--gray);background:#fffc}.leaflet-marker-icon.map-pin{background:0 0;border:0}.leaflet-marker-icon.map-pin:focus{outline:none}.leaflet-marker-icon.map-pin:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.block-hero:not(.has-image):not(.is-dark){padding:44px 0 40px}.block-hero:not(.has-image):not(.is-dark) h1{font-size:clamp(32px,3.6vw,52px);line-height:1.08}.block-hero:not(.has-image):not(.is-dark) .kicker{margin-bottom:8px;font-size:13px}.block-hero:not(.has-image):not(.is-dark) .hero-subtitle{margin:10px 0 0;font-size:17px}.block-project-header{padding:0 0 40px}.ph-banner{max-height:62vh;overflow:hidden}.ph-banner img{object-fit:cover;width:100%;height:100%;max-height:62vh}.ph-grid{grid-template-columns:minmax(200px,300px) 1fr;align-items:start;gap:56px;padding-top:56px;display:grid}.ph-meta-item{margin-bottom:20px}.ph-meta-label{font-family:var(--heading);letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:2px;font-size:12px;display:block}.ph-meta-value{color:var(--ink);font-size:16px;font-weight:500}.ph-body h1{margin-bottom:18px;font-size:clamp(32px,3.6vw,52px);line-height:1.08}.ph-body .prose{max-width:560px}@media (width<=860px){.ph-grid{grid-template-columns:1fr;gap:24px;padding-top:32px}.ph-meta{flex-wrap:wrap;gap:20px 36px;display:flex}.ph-meta-item{margin:0}}.block-gallery.is-editorial .gallery-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:56px}.block-gallery.is-editorial .gallery-grid img{aspect-ratio:auto}.block-gallery.is-editorial .gallery-grid figure:nth-child(2n){margin-top:72px}.block-gallery.is-editorial figcaption{color:var(--gray);border-top:1px solid var(--line);margin-top:10px;padding-top:10px;font-size:13px}@media (width<=700px){.block-gallery.is-editorial .gallery-grid{grid-template-columns:1fr;gap:28px}.block-gallery.is-editorial .gallery-grid figure:nth-child(2n){margin-top:0}}
