@font-face{font-family:Spectral;src:url(/fonts/spectral.ttf) format("truetype");font-display:swap;font-weight:400}:root{font-family:Spectral,Georgia,serif;color:#b7aa9f;background:#000;font-synthesis:none;--gold: #b49c64;--muted: #9c8b7e;--paper: #e6dfd5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button{color:inherit}a:hover,button:hover{color:var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{max-width:100%;display:block}button{border:0;background:none}h1,h2,h3,h4{font-weight:400;line-height:1.3}p{line-height:1.65}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:#000}.skip:focus{top:12px}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 7.1%;background:#000;position:sticky;top:0;z-index:20}.brand img{object-fit:contain;width:62px;height:62px}.site-header nav{display:flex;align-items:center;gap:23px;color:#9c8b7e;font-size:17px;letter-spacing:1.83px;line-height:1.3}.services{position:relative}.services>button{letter-spacing:inherit;font-size:inherit;padding:0}.service-menu{position:absolute;top:100%;left:-20px;background:#000;padding:24px 20px 20px;min-width:240px;display:grid;gap:18px;font-size:16px;letter-spacing:1px}.socials{display:flex;align-items:center;gap:20px;letter-spacing:0}.socials a{display:flex;padding:5px 0}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px}.mobile-toggle{display:none}.hero{position:relative;width:100%;aspect-ratio:1.6;background:#090c1a;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease}.hero>img.active{opacity:1}.hero-controls{position:absolute;bottom:18px;right:30px;display:flex;align-items:center;gap:8px;background:#0009;color:#e5ded1;opacity:0;transition:opacity .2s;font-family:Arial,sans-serif;font-size:12px}.hero:hover .hero-controls,.hero:focus-within .hero-controls{opacity:1}.portfolio{display:grid;grid-template-columns:repeat(3,1fr);padding:60px 7.1%}.project-card{position:relative;aspect-ratio:1.022;overflow:hidden}.project-card>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:24px;opacity:0;background:#000b;color:#e8ded3;transition:opacity .25s}.project-card:hover .project-caption,.project-card:focus-visible .project-caption{opacity:1}.project-card:hover img{transform:scale(1.035)}.project-caption strong{font-weight:400;font-size:23px;text-transform:uppercase;letter-spacing:2px}.project-caption em{font-size:13px;font-style:normal;text-transform:uppercase;letter-spacing:1.5px;margin-top:13px}.showcase{position:relative}.showcase-rail{display:flex;gap:8px;height:30.3vw;max-height:480px;min-height:230px;overflow:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.showcase-rail img{height:100%;width:auto;flex:none;scroll-snap-align:start}.showcase-prev,.showcase-next{position:absolute;top:50%;transform:translateY(-50%);background:#0009;color:#fff;border-radius:100%}.showcase-prev{left:16px}.showcase-next{right:16px}footer{position:relative;text-align:center;padding:36px 30px;color:#9c8b7e;font-size:12px}footer p{margin:0;line-height:1.7}.back-top{display:inline-flex;margin-top:16px}.page-modal{border:0;padding:40px 0;background:#0b0b0b;color:#c6b9ac;width:94vw;max-width:1440px;max-height:94dvh;margin:auto;overscroll-behavior:contain}.page-modal::backdrop{background:#000d}.modal-close{position:sticky;top:0;float:right;z-index:5;margin-right:20px;background:#111e;border-radius:50%;color:#cabea9}.news-grid{max-width:1200px;margin:60px auto;display:grid;grid-template-columns:repeat(2,1fr);gap:70px 50px;padding:0 30px}.news-grid article img{width:100%;height:350px;object-fit:cover;margin-bottom:25px}.news-grid time{font-size:13px;color:var(--muted)}.news-grid h2{font-size:28px;margin:12px 0}.news-grid p{font-size:17px}.read-more{text-decoration:underline}.not-found{text-align:center;padding:20vh 25px}.load-state{padding:20vh;text-align:center}@media(max-width:950px){.site-header{padding:0 5%;height:82px}.site-header nav{gap:15px;font-size:15px;letter-spacing:1px}.socials{gap:12px}.brand img{width:55px;height:55px}.portfolio{padding:40px 5%}.hero{aspect-ratio:1.4}.project-caption strong{font-size:18px}}@media(max-width:720px){.site-header{height:78px}.mobile-toggle{display:flex}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:28px 8% 36px;flex-direction:column;align-items:flex-start;background:#000;font-size:20px;gap:22px}.site-header nav.open{display:flex}.service-menu{position:static;padding:18px 0 0 18px;font-size:16px}.socials{gap:25px;padding-top:8px}.hero{aspect-ratio:.94}.hero-controls{opacity:1;bottom:10px;right:10px}.portfolio{padding:28px 5%;grid-template-columns:repeat(2,1fr)}.project-caption{opacity:1;inset:auto 0 0;background:linear-gradient(transparent,#000d);padding:35px 12px 12px}.project-caption strong{font-size:13px;letter-spacing:1px}.project-caption em{display:none}.project-card:last-child{grid-column:1/-1;aspect-ratio:2}.news-grid{grid-template-columns:1fr;margin:35px auto;gap:50px;padding:0 7%}.news-grid article img{height:auto;max-height:450px}.page-modal{width:100vw;max-height:100dvh;padding:12px 0}.modal-close{margin-right:12px}footer{font-size:12px;padding:30px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}.site-header.inner-header{background:#35254f}.socials svg{width:28px;height:28px}.brand img{transition:filter .4s}.brand:hover img{filter:drop-shadow(0 0 10px #d4bc7e80)}.site-header nav a:hover{text-shadow:0 0 10px #c0bbd8}.news-grid{color:#d5d2cd}.news-grid h2{font-family:Bodoni Moda,Georgia,serif}.news-grid:before{content:none}body:has(dialog[open]){overflow:hidden}.hero-fade-enter-active,.hero-fade-leave-active{transition:opacity 1.5s ease}.hero>img.hero-fade-enter-from,.hero>img.hero-fade-leave-to{opacity:0}
