@font-face{font-family:Sporks;src:url('assets/DejaVuSans.ttf')}@font-face{font-family:Sporks;src:url('assets/DejaVuSans-Bold.ttf');font-weight:700}@font-face{font-family:Editorial;src:url('assets/CormorantGaramond.ttf')}
:root{--bg:#052f38;--deep:#03242c;--ink:#f2f1e9;--muted:#b5c7c9;--accent:#48c9c2;--gold:#caa371;--line:#ffffff25}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--bg);font-family:Sporks,Arial,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:700;line-height:1.45}h1{font-size:clamp(2.5rem,4.5vw,4.6rem)}h2{font-size:clamp(2rem,3.6vw,3.6rem)}h3{font-size:1.35rem;line-height:1.6}html[lang=en] h1,html[lang=en] h2{font-family:Editorial,Georgia,serif;font-weight:500;line-height:1.03}html[lang=en] h1{font-size:clamp(3.6rem,6vw,6.6rem)}html[lang=en] h2{font-size:clamp(2.8rem,4.5vw,4.8rem)}.skip{position:absolute;top:-100px;z-index:10;padding:12px;background:var(--deep)}.skip:focus{top:0}.header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 5.5%;border-bottom:1px solid var(--line);background:#032a33f5;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;direction:ltr}.brand img{object-fit:contain}.brand span{font-family:Georgia,serif;font-size:1.9rem;letter-spacing:.06em;line-height:1.2}.brand small{display:block;font-family:Sporks,Arial;font-size:.75rem;letter-spacing:0;color:var(--muted);margin-top:6px}.header nav{display:flex;gap:30px;font-size:.875rem}.header nav a{transition:color .2s}.header nav a:hover{color:var(--accent)}.header-actions{display:flex;gap:10px}.language,.menu{border:1px solid var(--line);background:none;color:var(--ink);padding:6px 13px;min-height:44px;min-width:44px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 100px)}.hero-copy{padding:clamp(55px,7vw,110px) 11% 30px;display:flex;flex-direction:column;justify-content:center;position:relative;background:linear-gradient(#052f38b8,#052f38e8),url('assets/blueprint.webp') center/cover}.eyebrow{font-size:.875rem;color:var(--gold);margin-bottom:24px}.hero-intro{color:var(--muted);max-width:500px;margin-top:25px;font-size:1rem}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}.button{padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;min-height:52px;font-size:.875rem;transition:background .2s}.primary{background:var(--accent);color:var(--deep);border:1px solid var(--accent)}.primary:hover{background:#88e0d9}.outline{border:1px solid var(--gold);color:var(--ink)}.outline:hover{background:#ffffff0b}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:65px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.small-mark{direction:ltr}.hero-image{position:relative;min-height:680px;overflow:hidden}.hero-image>img{height:100%;width:100%;position:absolute;object-position:63% center}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#001d29cc)}figcaption{position:absolute;bottom:30px;inset-inline:30px;z-index:1;display:flex;justify-content:space-between;gap:20px;font-size:.875rem}figcaption span:last-child{color:var(--accent)}.section{padding:100px 7%;scroll-margin-top:20px}.about{display:grid;grid-template-columns:1fr 1.4fr;gap:10%;border-bottom:1px solid var(--line)}.lead{font-size:1.125rem;color:var(--muted);line-height:2}.heritage{display:grid;grid-template-columns:145px 1fr;gap:28px;padding:35px 0;border-block:1px solid var(--line);margin:35px 0}.heritage>div{display:flex;flex-direction:column;gap:8px;font-size:.75rem;color:var(--muted)}.year{font-family:Editorial,Georgia;font-size:4rem;color:var(--gold);line-height:1}.heritage p{font-size:.875rem;color:var(--muted)}.text-link{display:inline-block;padding-bottom:6px;border-bottom:1px solid var(--gold);font-size:.875rem}.services{display:grid;grid-template-columns:1fr 1.4fr;gap:10%;background:var(--deep)}.service-list article{display:flex;gap:30px;padding:25px 0;border-top:1px solid var(--line)}.service-list article>span{color:var(--accent);font-size:.875rem;direction:ltr}.service-list p{color:var(--muted);font-size:.875rem;margin-top:10px}.projects{background:linear-gradient(#052f38f5,#052f38f5),url('assets/blueprint.webp') center/cover}.projects-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:45px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid var(--line);padding:7px 17px;background:none;color:var(--muted);font-size:.875rem;min-height:44px}.filters .active{border-color:var(--gold);color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px}.project-card{border:0;background:none;color:var(--ink);text-align:start;padding:0;width:100%}.project-photo{height:390px;overflow:hidden;position:relative}.project-photo img{width:100%;height:100%;transition:transform .45s}.project-card:hover img{transform:scale(1.035)}.badge{position:absolute;top:18px;inset-inline-start:18px;padding:5px 13px;background:#03242ce8;color:var(--ink);font-size:.75rem}.project-info{padding-top:20px;display:flex;justify-content:space-between;gap:20px;align-items:start}.project-info h3{font-size:1.25rem}.project-info p{font-size:.875rem;color:var(--muted);margin-top:7px}.project-number{font-family:Editorial,Georgia;font-size:1.8rem;color:var(--gold)}.project-card:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 15px)}.approach{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center;background:var(--deep)}.approach figure{height:440px;overflow:hidden}.approach img{width:100%;height:100%}.approach .lead{margin-top:24px}.steps{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:23px;margin-top:30px;font-size:.875rem;color:var(--gold)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:linear-gradient(#052f38c9,#052f38f2),url('assets/blueprint.webp') center/cover}.contact .lead{margin:24px 0 30px}.contact-details>div{border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:23px}.contact-details span{display:block;font-size:.875rem;color:var(--gold);margin-bottom:9px}.contact-details a{font-size:1.15rem;overflow-wrap:anywhere;display:inline-block}.contact-details p{color:var(--muted);font-size:1rem}.contact-details>.text-link{font-size:.875rem}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px 7%;border-top:1px solid var(--line);background:var(--deep)}footer>p,footer>span{font-size:.75rem;color:var(--muted)}dialog{color:var(--ink);background:var(--deep);border:1px solid var(--line);max-width:950px;width:calc(100% - 32px);max-height:90svh;padding:45px;overflow:auto}dialog::backdrop{background:#001219d9;backdrop-filter:blur(6px)}.close{color:var(--ink);background:none;border:1px solid var(--line);padding:7px 18px;float:inline-end;margin-bottom:25px}.dialog-meta{color:var(--gold);font-size:.875rem;margin:12px 0 20px}.dialog-description{color:var(--muted);margin-bottom:30px}.dialog-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog-gallery img{width:100%;max-height:480px;object-fit:contain;background:#0002}.dialog-note{font-size:.875rem;color:var(--muted);margin-top:20px}
@media(max-width:1050px){.header{gap:16px}.header nav{gap:18px}.hero-copy{padding:60px 9% 30px}.hero-image{min-height:620px}.hero-bottom{margin-top:40px}.section{padding:75px 6%}.about,.services,.contact{gap:6%}.project-photo{height:330px}}
@media(max-width:760px){.header{padding:13px 5%}.brand span{font-size:1.55rem}.brand img{width:40px;height:40px}.brand small{font-size:.75rem}.menu{display:block;font-size:.875rem}.header nav{display:none;position:absolute;top:100%;inset-inline:0;background:var(--deep);padding:24px 6%;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;gap:20px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:50px 6% 32px}.hero h1{font-size:2.65rem}.hero-intro{max-width:100%}.hero-bottom{margin-top:35px}.hero-image{min-height:430px}.hero-image img{object-position:center 60%}.eyebrow{margin-bottom:18px}.section{padding:65px 6%}.about,.services,.approach,.contact{grid-template-columns:1fr;gap:32px}.about h2,.services h2,.projects h2,.approach h2,.contact h2{font-size:2.2rem}.heritage{grid-template-columns:105px 1fr;gap:20px}.year{font-size:3.5rem}.projects-head{align-items:start;flex-direction:column;gap:24px}.project-grid{grid-template-columns:1fr;gap:35px}.project-photo{height:380px}.project-card:last-child:nth-child(odd){grid-column:auto;max-width:100%}.approach figure{height:300px}.contact-details a{font-size:1.125rem}footer{align-items:flex-start;flex-direction:column;gap:22px}dialog{padding:24px}.dialog-gallery{grid-template-columns:1fr}html[lang=en] .hero h1{font-size:3.6rem}html[lang=en] h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.project-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}.project-videos figure{margin:0}.project-videos video{display:block;width:100%;max-height:580px;background:#03242c;border:1px solid #caa37155;object-fit:contain}.project-videos figcaption{font-size:.875rem;margin-top:10px;color:#c2d1d1}@media(max-width:600px){.project-videos{grid-template-columns:1fr}}
