/* Release: full-screen video background · 2026-11-11 */
:root { --ink:#0b0c0d; --paper:#f5f1e9; --gold:#c4a56c; }
* { box-sizing:border-box; }
html, body { min-height:100%; margin:0; background:var(--ink); color:var(--paper); }
body { font-family:Manrope, Arial, sans-serif; }
.site-loader { position:fixed; inset:0; z-index:50; display:grid; place-items:center; overflow:hidden; background:#000; color:var(--paper); transition:visibility .1s linear 2.1s; }.is-loading { overflow:hidden; }.loader__core { position:relative; z-index:1; width:min(82vw,480px); text-align:center; animation:loader-rise 1.35s cubic-bezier(.2,.8,.2,1) both; }.loader__kicker,.loader__message { margin:0; font:500 10px/1.4 "DM Mono",monospace; letter-spacing:.27em; }.loader__kicker { margin-bottom:26px; color:rgba(245,241,233,.48); }.loader__logo { display:block; width:min(100%,410px); margin:0 auto; filter:drop-shadow(0 12px 28px rgba(0,0,0,.5)); }.loader__track { width:100vw; height:2px; margin:18px 0 0 50%; overflow:hidden; transform:translateX(-50%); }.loader__track span { display:block; width:100%; height:100%; background:linear-gradient(90deg,#8e111d,#ef3542 50%,#8e111d); box-shadow:0 0 17px rgba(218,38,52,.75); transform:scaleX(0); animation:loader-expand 1.78s cubic-bezier(.15,.75,.25,1) forwards; }.loader__message { margin-top:22px; color:rgba(245,241,233,.86); animation:loader-text 1.9s ease-in-out both; }.loader__footer { position:absolute; right:clamp(24px,4vw,72px); bottom:clamp(37px,5.3vw,78px); z-index:1; color:rgba(245,241,233,.55); font:10px "DM Mono",monospace; letter-spacing:.16em; }.site-loader.is-complete { opacity:0; pointer-events:none; transform:scale(1.025); transition:opacity .45s ease,transform .65s cubic-bezier(.25,.8,.25,1),visibility 0s linear .65s; visibility:hidden; }
@keyframes loader-expand { to { transform:scaleX(1); } } @keyframes loader-rise { 0% { opacity:0; transform:translateY(22px) scale(.95); } 55% { opacity:1; } 100% { transform:translateY(0) scale(1); } } @keyframes loader-text { 0%,28% { opacity:0; letter-spacing:.47em; } 65%,100% { opacity:1; letter-spacing:.27em; } }
.landing { min-height:100svh; overflow:hidden; position:relative; isolation:isolate; background:#151618; }
.video-background { position:absolute; inset:0; z-index:-2; overflow:hidden; background:#151618; }
.video-background::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,8,9,.58),rgba(8,9,10,.12) 43%,rgba(7,8,9,.42)),linear-gradient(0deg,rgba(7,8,9,.42),transparent 45%); pointer-events:none; }
.video-background__media { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:center; opacity:0; transform:scale(1.08); will-change:opacity,transform; transition:opacity 1.1s ease-in-out; }
.video-background__media.is-active { opacity:1; }
.topbar, .footer { position:absolute; left:clamp(24px,4vw,72px); right:clamp(24px,4vw,72px); display:flex; justify-content:space-between; align-items:center; z-index:4; }
.topbar { top:clamp(24px,4.4vw,62px); }.footer { bottom:clamp(22px,4vw,55px); color:rgba(245,241,233,.68); font:10px/1.3 "DM Mono", monospace; letter-spacing:.11em; text-transform:uppercase; }.footer p { margin:0; text-transform:none; letter-spacing:.02em; }
.wordmark { display:block; width:clamp(116px,9.4vw,166px); line-height:0; }.wordmark img { display:block; width:100%; height:auto; }
.language { display:flex; gap:8px; align-items:center; font:10px "DM Mono",monospace; letter-spacing:.13em; }.language button { appearance:none; border:0; padding:2px 0; color:rgba(245,241,233,.54); background:transparent; cursor:pointer; font:inherit; transition:color .25s ease; }.language button:hover,.language .is-active { color:var(--paper); }
.choices { display:grid; grid-template-columns:1fr 1fr; min-height:100svh; }.choice { position:relative; display:flex; padding:clamp(93px,14vh,156px) clamp(24px,4vw,72px) clamp(95px,15vh,150px); color:inherit; text-decoration:none; overflow:hidden; }.choice + .choice { border-left:1px solid rgba(245,241,233,.22); }.choice::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,6,8,.12),rgba(4,6,8,.02) 38%,rgba(4,6,8,.55) 100%); transition:background .5s ease; }.choice:hover::before,.choice:focus-visible::before { background:linear-gradient(180deg,rgba(4,6,8,.04),rgba(4,6,8,0) 40%,rgba(4,6,8,.34) 100%); }.choice:focus-visible { outline:1px solid var(--gold); outline-offset:-8px; }.choice__content { position:relative; z-index:1; align-self:flex-end; }.choice--services .choice__content { margin-left:auto; text-align:right; }.eyebrow { margin:0 0 20px; font:10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.14em; color:rgba(245,241,233,.77); }.choice h1 { margin:0; font:500 clamp(34px,4.8vw,74px)/1.04 Cinzel,serif; letter-spacing:-.065em; text-shadow:0 4px 22px rgba(0,0,0,.55); }.choice h1 em { font-style:normal; font-weight:400; }.h-mark { color:#b51f28; text-shadow:0 0 22px rgba(181,31,40,.2); }.enter { display:inline-flex; align-items:center; margin-top:30px; padding-bottom:8px; border-bottom:1px solid rgba(245,241,233,.55); font:10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.14em; transition:border .3s ease; }.choice:hover .enter { border-color:var(--gold); }
@media (max-width:700px) { .choices { grid-template-columns:1fr; grid-template-rows:1fr 1fr; }.choice { min-height:50svh; padding-top:82px; padding-bottom:68px; }.choice + .choice { border-left:0; border-top:1px solid rgba(245,241,233,.22); }.footer p { display:none; }.choice h1 { font-size:clamp(39px,12vw,58px); }.loader__location { display:none; }.loader__footer { bottom:33px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } .site-loader { display:none; } body.is-loading { overflow:auto; } }
