:root{
  --ink:#0a0a0a;--ink-2:#121210;--gold:#c8a84b;--gold-soft:#e2bc5a;
  --ivory:#f5f4f0;--ivory-dim:rgba(245,244,240,.62);
  --font-voice:'DM Serif Display',serif;--font-tech:'Barlow Condensed',sans-serif;--font-body:'Barlow',sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--ink);font-family:var(--font-body);overflow-x:hidden;}
.font-voice{font-family:var(--font-voice);}
.font-tech{font-family:var(--font-tech);}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}

.page-hero{position:relative;min-height:56vh;display:flex;align-items:flex-end;overflow:hidden;}
.page-hero-bg{position:absolute;inset:-2%;background-size:cover;background-position:center;}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.97) 0%,rgba(10,10,10,.7) 40%,rgba(10,10,10,.3) 75%,rgba(10,10,10,.15) 100%);}

.spec-card{border-radius:.75rem;padding:1.5rem;background:var(--ink-2);border:1px solid rgba(245,244,240,.09);transition:border-color .3s ease;}
.spec-card:hover{border-color:rgba(200,168,75,.4);}

.gallery-tile{position:relative;overflow:hidden;border-radius:.75rem;min-height:200px;}
.gallery-photo{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.78);transform:scale(1);transition:filter .5s ease,transform .6s cubic-bezier(.2,.7,.2,1);}
.gallery-tile:hover .gallery-photo{filter:brightness(1);transform:scale(1.06);}
.gallery-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.75) 0%,transparent 55%);opacity:.85;transition:opacity .4s ease;}
.gallery-tile:hover .gallery-scrim{opacity:.45;}
.gallery-label{position:absolute;bottom:0;left:0;padding:1rem;opacity:0;transform:translateY(6px);transition:all .35s ease;}
.gallery-tile:hover .gallery-label{opacity:1;transform:translateY(0);}

.contact-card{display:block;border-radius:.75rem;padding:1.5rem;background:var(--ink-2);border:1px solid rgba(245,244,240,.09);text-decoration:none;transition:border-color .3s ease;}
.contact-card:hover{border-color:rgba(200,168,75,.4);}
.contact-card:hover .contact-val{color:var(--gold);}
.contact-val{transition:color .3s ease;}

.btn-gold{background:var(--gold);color:var(--ink);transition:background .25s ease;}
.btn-gold:hover{background:var(--gold-soft);}

/* ===== REDUCED MOTION SUPPORT ===== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
