.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.container{width:min(100% - 2 * var(--gut),1280px);margin-inline:auto}.header{position:sticky;top:0;z-index:100;height:var(--nav);background:var(--bg);border-bottom:1px solid var(--line)}.header-bar{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.logo{display:inline-flex;align-items:center;gap:10px;justify-self:start;color:var(--ink);text-decoration:none;font-size:20px;font-weight:500;letter-spacing:-.01em;white-space:nowrap}.logo-mark{display:inline-grid;gap:3px;width:18px}.logo-mark i{display:block;height:3px;border-radius:2px;background:currentColor}.logo-mark i:nth-child(2){width:78%}.logo-mark i:nth-child(3){width:56%}.nav{display:flex;align-items:center;gap:32px}.nav a{position:relative;color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap;padding-block:8px}.nav a:after{content:"";position:absolute;inset-inline:0;bottom:2px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:var(--origin-start, right);transition:transform var(--dur) var(--ease)}[dir=ltr] .nav a:after{--origin-start: left}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.header-actions{justify-self:end;display:flex;align-items:center;gap:12px}.language-switcher,.nav-toggle{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;color:var(--ink);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.language-switcher:hover,.nav-toggle:hover{background:var(--surface);border-color:#0f21404d}.nav-toggle{display:none;position:relative}.nav-toggle span{position:absolute;width:18px;height:2px;border-radius:1px;background:currentColor;transition:transform var(--dur) var(--ease)}.nav-toggle span:nth-child(1){transform:translateY(-4px)}.nav-toggle span:nth-child(2){transform:translateY(4px)}.nav-toggle.open span:nth-child(1){transform:rotate(45deg)}.nav-toggle.open span:nth-child(2){transform:rotate(-45deg)}@media (max-width: 1023px){.header-bar{grid-template-columns:1fr auto}.nav-toggle{display:inline-flex}.nav{position:fixed;inset:var(--nav) 0 0 0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut) 32px;background:var(--bg);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),visibility 0s linear var(--dur)}.nav.open{visibility:visible;opacity:1;transform:none;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.nav a{min-height:56px;display:flex;align-items:center;font-size:18px;border-bottom:1px solid var(--line)}.nav a:after{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 24px;border-radius:var(--r-sm);border:1px solid transparent;font-size:16px;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .16s var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--action);color:var(--action-ink)}.btn-primary:hover:not(:disabled){background:var(--action-hover)}.btn-secondary{background:transparent;color:var(--ink);border-color:#0f214059}.btn-secondary:hover{border-color:var(--ink)}.btn-text{padding-inline:8px;color:var(--ink)}.btn-arrow:before,.btn-text:after,.text-link:after,.back-link:before{display:inline-block;transition:transform var(--dur) var(--ease)}.btn-arrow:before,.btn-text:after,.text-link:after{content:"←"}[dir=ltr] .btn-arrow:before,[dir=ltr] .btn-text:after,[dir=ltr] .text-link:after{content:"→"}.btn:hover .btn-arrow:before,.btn-text:hover:after,.text-link:hover:after{transform:translate(-3px)}[dir=ltr] .btn:hover .btn-arrow:before,[dir=ltr] .btn-text:hover:after,[dir=ltr] .text-link:hover:after{transform:translate(3px)}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:#0f21404d;text-underline-offset:4px;white-space:nowrap}.text-link:hover{text-decoration-color:currentColor}.btn-row{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}.hero{padding-block:48px 64px}.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;min-height:calc(100svh - var(--nav) - 112px)}.hero-text{grid-column:1 / span 5;align-self:start;padding-top:24px}.hero-title{margin-top:16px;font-size:clamp(40px,4.6vw,var(--t-h1));line-height:1.02;font-weight:400;letter-spacing:var(--tracking);text-wrap:balance}.hero-facts{margin-top:32px;padding:24px;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line)}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}.hero-stats div{display:flex;flex-direction:column}.hero-stats div+div{padding-inline-start:16px;border-inline-start:1px solid var(--line)}.hero-stats dt{font-size:var(--t-label);color:var(--muted);line-height:1.3}.hero-stats dd{margin-top:auto;padding-top:4px;font-size:36px;line-height:1.05;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.hero-stats div:first-child dd{color:var(--action)}.hero-lines{list-style:none;display:grid;gap:12px;margin-top:20px}.hero-lines li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.hero-lines .line-badge{min-width:40px;padding-inline:6px;font-size:var(--t-small)}.hero-line-track{display:block;height:8px;border-radius:4px;background:var(--surface)}.hero-line-bar{display:block;height:100%;border-radius:inherit}.hero-line-value{font-size:var(--t-small);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.hero-text .btn-row{margin-top:28px}.hero-media{grid-column:7 / span 6;position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);min-height:520px}.hero-media img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}.hero-float{position:absolute;inset-inline-end:24px;bottom:24px;width:min(300px,calc(100% - 48px));padding:16px 20px;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line)}.hero-float-row{display:flex;justify-content:space-between;gap:12px;font-size:var(--t-small);color:var(--muted)}.hero-float-title{margin-top:4px;font-weight:500}@media (max-width: 1023px){.hero-grid{min-height:0}.hero-text,.hero-media{grid-column:1 / -1}.hero-text{padding-top:0}.hero-media{min-height:0;aspect-ratio:16 / 10;margin-top:16px}}@media (max-width: 639px){.hero{padding-block:32px 48px}.hero-media{aspect-ratio:4 / 3}.hero-text .btn-row .btn{width:100%}.hero-facts{padding:16px}.hero-stats{gap:12px}.hero-stats div+div{padding-inline-start:12px}.hero-stats dd{font-size:28px}}.section{padding-block:var(--padt) var(--padb)}.section-surface{background:var(--surface)}.section.page-section{padding-top:96px}.section-head{max-width:760px;margin-bottom:48px}.section-head-row{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap}.section-head-row>div{max-width:760px}.section-title{font-size:var(--t-h2);line-height:1.1;font-weight:400;letter-spacing:var(--tracking);text-wrap:balance}.section-description{margin-top:16px;font-size:var(--t-lead);line-height:1.5;max-width:60ch}.page-section .section-title+.section-description{margin-bottom:48px}@media (max-width: 639px){.section-head{margin-bottom:32px}}.tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}.tile{display:grid;align-content:start;gap:12px;color:inherit;text-decoration:none;transition:transform var(--dur) var(--ease)}.tile:hover{transform:translateY(-2px)}.tile-media{aspect-ratio:4 / 3;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);margin-bottom:4px}.section-surface .tile-media{background:var(--card)}.tile-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.tile:hover .tile-media img{transform:scale(1.03)}.tile-media-empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:20px;font-weight:500}.tile-date{font-size:var(--t-label);font-weight:500;color:var(--muted)}.tile-title{font-size:var(--t-card);line-height:1.4;font-weight:500;letter-spacing:-.01em}.tile-excerpt{color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-load-more{display:flex;justify-content:center;margin-top:64px}@media (max-width: 1023px){.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 639px){.tile-grid{grid-template-columns:1fr;gap:40px}}.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:stretch}.split-text{grid-column:1 / span 5}.split-media,.split>.contact-form{grid-column:7 / span 6}.split-media{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);min-height:560px}.split-media img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.split-media-map{background:#fff;border:1px solid var(--line);min-height:640px}.split-media-map img{object-fit:contain;padding:24px}@media (max-width: 1023px){.split-text,.split-media,.split>.contact-form{grid-column:1 / -1}.split-media{min-height:0;aspect-ratio:4 / 3;margin-top:24px}.split-media-map{aspect-ratio:4 / 5}}.rows{list-style:none}.rows li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding-block:16px;border-bottom:1px solid var(--line)}.rows li:first-child{padding-top:0}.rows-value{font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.rows-spec li{grid-template-columns:minmax(0,1fr) auto}.rows-spec .rows-text{color:var(--muted)}.project-board{display:grid;grid-template-columns:2fr repeat(3,minmax(0,1fr));gap:16px}.project-cost,.project-stat{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line)}.project-stat{justify-content:space-between}.project-label{color:var(--muted);font-size:var(--t-small);line-height:1.4}.project-figure{font-size:48px;line-height:1;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.project-figure span{font-size:var(--t-card);font-weight:400;letter-spacing:0;color:var(--muted)}.project-stat .project-figure{font-size:clamp(28px,2.4vw,40px);white-space:nowrap}.project-bar{margin-top:auto;height:14px;border-radius:7px;background:var(--surface);overflow:hidden}.project-bar span{display:block;height:100%;background:var(--accent)}.project-legend{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:var(--t-small);color:var(--muted)}.project-legend strong{color:var(--ink);font-weight:500}.project-swatch{width:10px;height:10px;border-radius:2px;background:var(--accent)}@media (max-width: 1023px){.project-board{grid-template-columns:repeat(3,minmax(0,1fr))}.project-cost{grid-column:1 / -1}}@media (max-width: 639px){.project-board{grid-template-columns:1fr}.project-cost,.project-stat{padding:20px}.project-figure{font-size:40px}.project-stat .project-figure{font-size:32px}}.line-badge{display:inline-block;min-width:44px;padding:2px 10px;border-radius:6px;font-weight:500;text-align:center;color:#fff}.line-m1{background:var(--m1)}.line-m2{background:var(--m2)}.line-m3{background:var(--m3);color:#1d1a12}.contact-form{display:grid;gap:24px;align-content:start}.form-group label{display:block;margin-bottom:8px;font-size:var(--t-label);font-weight:500}.form-group input,.form-group textarea{width:100%;min-height:48px;padding:12px 16px;border-radius:var(--r-sm);border:1px solid rgba(15,33,64,.25);background:var(--card);color:var(--ink);font-size:16px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.form-group textarea{min-height:140px;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #0f214026}.contact-form>.btn{justify-self:start}.form-message{padding:12px 16px;border-radius:var(--r-sm);font-weight:500}.form-message.success{background:#e2f2e9;color:#145c36}.form-message.error{background:#fbe8e8;color:#9b2424}@media (max-width: 1023px){.contact-form{margin-top:8px}}@media (max-width: 639px){.contact-form>.btn{justify-self:stretch}}.footer{margin-top:auto;background:var(--inv-bg);color:var(--inv-ink);padding-block:72px 32px}.footer .logo{color:var(--inv-ink)}.footer-links{display:flex;justify-content:space-between;align-items:start;gap:32px 48px;flex-wrap:wrap}.footer-lede{margin-top:12px;font-size:18px;color:var(--inv-muted)}.footer-nav{display:grid;grid-template-columns:repeat(3,auto);gap:12px 48px}.footer-link{color:var(--inv-ink);text-decoration:none;font-size:15px}.footer-link:hover{text-decoration:underline;text-underline-offset:4px}.footer-legal{margin-top:48px;padding-top:24px;border-top:1px solid var(--inv-line);display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;font-size:var(--t-label);color:var(--inv-muted)}.footer-legal-links{display:flex;flex-wrap:wrap;gap:8px 24px}.footer-legal .footer-link{font-size:var(--t-label);color:var(--inv-muted)}.footer-legal .footer-link:hover{color:var(--inv-ink)}.footer :focus-visible{outline-color:var(--inv-ink)}@media (max-width: 639px){.footer{padding-block:56px 32px}.footer-nav{grid-template-columns:repeat(2,auto);gap:12px 32px}}.info-content{max-width:70ch;font-size:18px;line-height:1.75}.info-content p{margin-bottom:24px}.section-title+.info-content{margin-top:40px}.timeline-summary{margin-top:64px}.loading,.no-posts,.not-found{padding:64px 0;color:var(--muted);font-size:18px}.not-found h1{font-size:var(--t-h2);font-weight:400;letter-spacing:var(--tracking);color:var(--ink);margin-bottom:24px}.not-found p{margin-bottom:24px}.timeline{list-style:none;border-top:1px solid var(--line)}.section-description+.timeline{margin-top:48px}.timeline-item{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;padding-block:32px;border-bottom:1px solid var(--line)}.timeline-step{font-size:var(--t-card);font-weight:500;font-variant-numeric:tabular-nums;color:var(--muted);line-height:1.4}.timeline-line{display:none}.timeline-title{font-size:28px;line-height:1.25;font-weight:400;letter-spacing:-.02em}.timeline-description{margin-top:12px;max-width:62ch}@media (max-width: 639px){.timeline-item{grid-template-columns:1fr;gap:8px}.timeline-title{font-size:24px}}.post-page .container{width:min(100% - 2 * var(--gut),760px)}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--t-small);font-weight:500;text-decoration:none;margin-bottom:32px}.back-link:before{content:"→"}[dir=ltr] .back-link:before{content:"←"}.back-link:hover{color:var(--ink)}.post-header{margin-bottom:32px}.post-title{font-size:clamp(32px,4vw,48px);line-height:1.15;font-weight:400;letter-spacing:var(--tracking);text-wrap:balance}.post-date{display:block;margin-top:16px;color:var(--muted);font-size:var(--t-small);font-weight:500}.post-image{aspect-ratio:16 / 9;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);margin-bottom:40px}.post-image img{width:100%;height:100%;object-fit:cover}.post-content{font-size:18px;line-height:1.8}.post-content p{margin-bottom:20px}.cookie-notice{position:fixed;inset-inline:16px;bottom:16px;z-index:200;margin-inline:auto;max-width:720px;display:flex;align-items:center;gap:16px 24px;padding-block:16px;padding-inline:24px 16px;border-radius:var(--r-md);background:var(--inv-bg);color:var(--inv-ink);box-shadow:0 12px 32px #0f21403d;font-size:var(--t-small);line-height:1.5}.cookie-notice p{flex:1}.cookie-link{color:var(--inv-ink);text-underline-offset:3px}.cookie-notice .btn{flex:none}.cookie-notice :focus-visible{outline-color:var(--inv-ink)}@media (max-width: 639px){.cookie-notice{flex-direction:column;align-items:stretch;padding:16px}}:root{--bg: #f3f4f6;--surface: #e6e9ef;--card: #ffffff;--ink: #0f2140;--muted: #4b5a73;--line: rgba(15, 33, 64, .14);--action: #c2410c;--action-hover: #9a3412;--action-ink: #ffffff;--accent: #f26b1d;--inv-bg: #0f2140;--inv-surface: #1c3157;--inv-ink: #f3f4f6;--inv-muted: #b4bdcc;--inv-line: rgba(243, 244, 246, .18);--m1: #1b5ca8;--m2: #b8541c;--m3: #d5af32;--font: "Hanken Grotesk", "Heebo", system-ui, sans-serif;--tracking: -.03em;--r-sm: 8px;--r-md: 12px;--r-lg: 20px;--nav: 72px;--gut: 80px;--padt: 120px;--padb: 72px;--t-h1: 72px;--t-h2: 48px;--t-lead: 20px;--t-card: 20px;--t-body: 16px;--t-small: 14px;--t-label: 13px;--ease: cubic-bezier(.16, 1, .3, 1);--dur: .24s}@media (max-width: 1023px){:root{--gut: 48px;--t-h1: 56px;--t-h2: 38px}}@media (max-width: 639px){:root{--nav: 56px;--gut: 24px;--padt: 96px;--padb: 48px;--t-h1: 40px;--t-h2: 30px;--t-lead: 18px;--t-card: 18px}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav);scrollbar-color:rgba(15,33,64,.35) var(--bg)}body{font-family:var(--font);font-size:var(--t-body);line-height:1.625;color:var(--ink);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:block;max-width:100%}button,input,textarea,select{font-family:inherit}::selection{background:#fdba74;color:#0f2140}:focus-visible{outline:2px solid var(--action);outline-offset:3px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
