:root {
  --bg: #0a0a0a;
  --elev: #101010;
  --text: #e7e7e7;
  --muted: #b8b8b8;
  --gold: #c9a227;
  --gold-2: #e4c66a;
  --line: #1a1a1a;
  --focus: 0 0 0 3px rgba(233, 205, 115, 0.35);
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  background: radial-gradient(1200px 800px at 120% -20%, rgba(233, 205, 115, 0.06), transparent 40%), var(--bg);
  color: var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  line-height: 1.5;
  letter-spacing: 0.01em;
}
img,svg,video,canvas {display:block;max-width:100%;}
button {appearance: none;border: none;background: none;color: inherit;cursor: pointer;font: inherit;}
a {color: inherit;text-decoration: none;}
.container {max-width: 1200px;margin-inline: auto;padding: 0 24px;}
.tiny {max-width: 1200px;margin-inline: auto;padding: 0 24px 40px;}

.site-header {position: sticky;top: 0;z-index: 50;background: rgba(10,10,10,0.4);backdrop-filter: blur(8px);border-bottom: 1px solid var(--line);transition: background-color .4s ease, box-shadow .4s ease;}
.header-row {display: flex;align-items: center;justify-content: space-between;min-height: 68px;gap: 24px;}
.brand {font-family: "Garamond", "Times New Roman", Times, serif;font-weight: 500;letter-spacing: .04em;font-size: 20px;color: var(--text);}
.nav {display: flex;gap: 28px;align-items: center;}
.nav a {color: var(--muted);font-size: 14px;letter-spacing: .08em;text-transform: uppercase;}
.nav a:hover {color: var(--text);} 
.btn {display: inline-flex;align-items: center;justify-content: center;gap: .6em;padding: 12px 18px;border-radius: 999px;font-size: 14px;letter-spacing: .06em;text-transform: uppercase;}
.btn-link {border: 1px solid var(--line);}
.btn-primary {background: linear-gradient(135deg, var(--gold), var(--gold-2));color: #141414;}
.btn-outline {border: 1px solid var(--gold);color: var(--gold);} 
.btn-primary:hover {filter: brightness(1.05);} 
.btn-outline:hover {background: rgba(201,162,39,0.1);} 

.hero {position: relative;isolation: isolate;padding: min(12vh,120px) 0 min(18vh,180px);}
.hero-inner {display: grid;grid-template-columns: 1.1fr .9fr;align-items: center;gap: 40px;}
.hero-copy .display {font-family: "Garamond", "Times New Roman", Times, serif;font-weight: 500;letter-spacing: .02em;line-height: 1.05;font-size: clamp(36px, 6vw, 72px);} 
.lead {margin-top: 16px;font-size: clamp(16px, 2.2vw, 20px);color: var(--muted);max-width: 54ch;}
.cta-row {display: flex;gap: 14px;margin-top: 28px;flex-wrap: wrap;}
.hero-media {height: clamp(280px, 48vh, 520px);border-radius: 18px;background:
  radial-gradient(160% 120% at 90% 10%, rgba(233,205,115,.18), transparent 60%),
  linear-gradient(180deg, #141414, #0c0c0c);
box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04), 0 30px 80px rgba(0,0,0,0.5);
}
.hero-media{position: relative;overflow: hidden;}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.05);}
.parallax {will-change: transform;}

.section {padding: 88px 0;border-top: 1px solid var(--line);} 
.section.alt {background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0) 40%);} 
.section-title {font-family: "Garamond", "Times New Roman", Times, serif;font-weight: 500;letter-spacing: .04em;font-size: clamp(24px, 3.6vw, 40px);} 

.features {display: grid;grid-template-columns: repeat(3, 1fr);gap: 28px;margin-top: 28px;}
.feature {background: linear-gradient(180deg, #111, #0c0c0c);border: 1px solid var(--line);border-radius: 16px;padding: 24px 22px;}
.feature h3 {font-size: 18px;margin-bottom: 8px;color: var(--text);} 
.feature p {color: var(--muted);} 

.grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 18px;margin-top: 28px;}
.card {position: relative;display: grid;place-items: end;height: 280px;border-radius: 16px;overflow: hidden;border: 1px solid var(--line);background:
  radial-gradient(120% 100% at 80% 0%, rgba(233,205,115,.14), rgba(0,0,0,0) 60%),
  linear-gradient(180deg, #161616, #0e0e0e);
}
.card::before {content: "";position: absolute;inset: 0;background: repeating-linear-gradient(120deg, rgba(255,255,255,0.03) 0 2px, transparent 2px 4px);mix-blend-mode: overlay;opacity: .35;}
.card figcaption {position: relative;width: 100%;padding: 14px 16px;background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.7));font-size: 14px;letter-spacing: .08em;text-transform: uppercase;color: var(--text);} 
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.05);}

.measure {max-width: 68ch;color: var(--muted);margin-top: 12px;}

.quotes {display: grid;grid-template-columns: repeat(2, 1fr);gap: 24px;margin-top: 24px;}
.quote {background: #101010;border: 1px solid var(--line);border-radius: 16px;padding: 22px;color: var(--text);} 
.quote footer {margin-top: 10px;color: var(--muted);} 

.contact {display: grid;grid-template-columns: 1.2fr .8fr;gap: 40px;align-items: start;}
.form {display: grid;gap: 10px;}
.form label {font-size: 12px;letter-spacing: .12em;text-transform: uppercase;color: var(--muted);} 
.form input,.form textarea {background: #0f0f0f;border: 1px solid var(--line);border-radius: 12px;color: var(--text);padding: 12px 14px;}
.form input:focus,.form textarea:focus,.btn:focus,.nav a:focus,.brand:focus {outline: none;box-shadow: var(--focus);} 

.site-footer {border-top: 1px solid var(--line);padding: 28px 0 0;margin-top: 24px;background: #0a0a0a;}
.footer-row {display: flex;align-items: center;justify-content: space-between;gap: 24px;padding-bottom: 16px;}
address {font-style: normal;color: var(--muted);} 

.reveal {opacity: 0;transform: translateY(16px);transition: transform .7s cubic-bezier(.2,.7,0,1), opacity .7s ease;}
.reveal.is-visible {opacity: 1;transform: translateY(0);} 
.header-solid {background: rgba(10,10,10,0.8);box-shadow: 0 10px 30px rgba(0,0,0,0.35);} 

@media (max-width: 1000px) {
  .hero-inner {grid-template-columns: 1fr;}
  .contact {grid-template-columns: 1fr;}
}
@media (max-width: 760px) {
  .features {grid-template-columns: 1fr;}
  .grid {grid-template-columns: 1fr 1fr;}
  .quotes {grid-template-columns: 1fr;}
}
@media (max-width: 480px) {
  .grid {grid-template-columns: 1fr;}
}

@media (prefers-reduced-motion: reduce) {
  * {animation: none !important;transition: none !important;}
}

.media-banner .banner{height: clamp(260px, 50vh, 560px);border-radius: 18px;overflow: hidden;border: 1px solid var(--line);background: #111;position: relative;box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04), 0 30px 80px rgba(0,0,0,0.5);} 
.media-banner .banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.05);}