:root { --ink:#090a09; --paper:#f4f0e8; --gold:#d9a71c; --green:#94bd16; --muted:#cfc9be; --line:rgba(255,255,255,.17); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--ink); color:var(--paper); font-family:"DM Sans", Arial, sans-serif; line-height:1.45; }
a { color:inherit; text-decoration:none; } .site-header { height:76px; padding:0 clamp(24px,5vw,80px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; background:rgba(9,10,9,.93); backdrop-filter:blur(12px); }
.brand { font:400 35px/1 "Bebas Neue", Impact, sans-serif; letter-spacing:1px; color:white; }.brand span,.eyebrow,.services h3 { color:var(--green); }.site-nav { display:flex; gap:28px; align-items:center; font-size:14px; font-weight:700; }.site-nav a:not(.nav-call):hover,.text-link:hover { color:var(--gold); }.nav-call { border:1px solid var(--gold); padding:9px 15px; color:var(--gold); }.menu-button { display:none; }
.hero { min-height:680px; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; background:linear-gradient(110deg,#0a0b0a 52%,#17180f); }.hero-copy { align-self:center; padding:90px clamp(24px,8vw,130px); position:relative; z-index:1; }.eyebrow { margin:0 0 15px; text-transform:uppercase; letter-spacing:2.5px; font-size:12px; font-weight:700; }.hero h1,.section h2,.visit h2 { margin:0; font:400 clamp(56px,7.3vw,112px)/.88 "Bebas Neue", Impact, sans-serif; letter-spacing:.5px; text-transform:uppercase; }.hero h1 em,.section h2 span,.visit h2 { font-family:"Playfair Display", Georgia, serif; color:var(--gold); text-transform:none; }.hero-text { color:var(--muted); max-width:460px; font-size:18px; margin:28px 0; }.hero-actions { display:flex; flex-wrap:wrap; gap:13px; }.button { display:inline-flex; justify-content:center; align-items:center; min-height:49px; padding:13px 20px; text-transform:uppercase; letter-spacing:.8px; font-size:13px; font-weight:700; }.button-primary { background:var(--green); color:#081000; }.button-primary:hover { background:#b7df26; }.button-secondary { border:1px solid var(--line); }.button-secondary:hover { border-color:var(--gold); color:var(--gold); }.hero-art { min-height:480px; position:relative; overflow:hidden; }.hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0a0b0a 0%, transparent 30%),linear-gradient(0deg,rgba(0,0,0,.22),transparent); }.hero-art img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.section { padding:110px clamp(24px,8vw,130px); }.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:54px; }.section h2 { font-size:clamp(52px,6vw,88px); }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.service-grid article { min-height:190px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(150deg,#11130e,#0a0b0a); transition:background .2s,transform .2s; }.service-grid article:hover { background:#1d2112; transform:translateY(-4px); }.service-grid span { color:var(--gold); font-size:12px; font-weight:700; }.service-grid h3 { margin:26px 0 8px; text-transform:uppercase; font:400 35px/1 "Bebas Neue", Impact,sans-serif; letter-spacing:1px; }.service-grid p { margin:0; color:var(--muted); font-size:14px; }
.about { background:var(--paper); color:var(--ink); display:grid; grid-template-columns:minmax(270px,.75fr) 1.25fr; gap:clamp(35px,8vw,120px); align-items:center; }.portrait-wrap { height:600px; overflow:hidden; border-left:8px solid var(--green); }.portrait-wrap img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:saturate(.88) contrast(1.04); }.about-copy { max-width:680px; }.about-copy p:not(.eyebrow) { font-size:18px; line-height:1.65; max-width:620px; margin:28px 0; }.about-copy .eyebrow { color:#66810d; }.text-link { color:#657f10; font-weight:700; border-bottom:2px solid var(--gold); padding-bottom:5px; }.text-link span { margin-left:6px; }
.showcase { padding:110px clamp(24px,8vw,130px); display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:center; background:#12150c; }.showcase h2 { font:400 clamp(48px,5.4vw,80px)/.92 "Bebas Neue", Impact,sans-serif; margin:0; text-transform:uppercase; }.showcase h2 span { font-family:"Playfair Display",Georgia,serif; color:var(--gold); text-transform:none; }.showcase-copy > p:last-child { color:var(--muted); font-size:17px; }.showcase-video { width:100%; border:1px solid rgba(217,167,28,.45); display:block; background:#000; }
.visit { text-align:center; padding:115px clamp(24px,6vw,100px); background:radial-gradient(circle at center,#272a13 0%,#0a0b09 62%); }.visit h2 { font-size:clamp(54px,7vw,100px); }.visit-grid { max-width:1000px; margin:55px auto; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); text-align:left; }.visit-grid > div { min-height:125px; padding:23px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.visit-grid h3 { margin:0 0 10px; color:var(--green); font:400 26px/1 "Bebas Neue",Impact,sans-serif; text-transform:uppercase; letter-spacing:1px; }.visit-grid a { font-weight:700; font-size:15px; }.visit-grid a:hover { color:var(--gold); }.visit-grid p { margin:3px 0; color:var(--muted); font-size:12px; }.large-button { min-width:min(100%,390px); } footer { padding:25px; border-top:1px solid var(--line); text-align:center; color:var(--muted); font-size:13px; }
@media (max-width:800px) { .site-header { height:66px; }.menu-button { display:block; background:transparent; border:1px solid var(--line); color:white; padding:8px 10px; text-transform:uppercase; letter-spacing:1px; font-size:11px; font-weight:700; }.site-nav { position:absolute; left:0; right:0; top:65px; padding:20px 24px; background:#11130e; border-bottom:1px solid var(--line); display:none; flex-direction:column; align-items:flex-start; gap:17px; }.site-nav.open { display:flex; }.hero { grid-template-columns:1fr; min-height:0; }.hero-copy { padding:74px 24px 55px; }.hero-art { min-height:430px; }.hero-art::after { background:linear-gradient(0deg,#0a0b0a 0%,transparent 30%); }.section { padding:75px 24px; }.service-grid { grid-template-columns:1fr 1fr; }.section-heading { display:block; margin-bottom:35px; }.about { grid-template-columns:1fr; gap:35px; }.portrait-wrap { height:430px; }.showcase { grid-template-columns:1fr; gap:35px; padding:75px 24px; }.visit { padding:80px 24px; }.visit-grid { grid-template-columns:1fr; margin:40px 0; }.visit-grid > div { min-height:0; }.hero h1 { font-size:66px; } }
@media (max-width:430px) { .service-grid { grid-template-columns:1fr; }.hero h1 { font-size:56px; }.brand { font-size:30px; } }
