:root {
  --ink: #071727;
  --ink-2: #0c2238;
  --gold: #d4aa45;
  --gold-soft: #f0d58c;
  --paper: #f7f4ed;
  --white: #ffffff;
  --text: #26394a;
  --muted: #6f7c87;
  --line: rgba(7, 23, 39, .12);
  --radius: 28px;
  --shadow: 0 24px 70px rgba(4, 20, 34, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--ink);
  -webkit-font-smoothing: antialiased;
}
img, video { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
  border-bottom: 1px solid transparent;
}
.site-header.scrolled {
  background: rgba(7, 23, 39, .88);
  backdrop-filter: blur(18px);
  border-color: rgba(255,255,255,.08);
}
.nav-wrap { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--white); }
.brand-mark { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(212,170,69,.42); border-radius: 50%; background: rgba(255,255,255,.04); }
.brand-mark svg { width: 28px; fill: var(--gold); }
.brand-mark .brand-cut { fill: var(--ink); opacity: .8; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.02; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
.brand-copy strong { font-size: 15px; letter-spacing: .13em; }
.brand-copy span { color: var(--gold-soft); margin-top: 4px; }
.main-nav { display: flex; align-items: center; gap: 28px; color: rgba(255,255,255,.78); font-size: 14px; font-weight: 700; }
.main-nav a { transition: color .2s ease, border-color .2s ease; }
.main-nav a:hover { color: var(--white); }
.nav-cta { border: 1px solid rgba(212,170,69,.58); border-radius: 999px; padding: 10px 17px; color: var(--gold-soft) !important; }
.nav-cta:hover { border-color: var(--gold); }
.nav-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.14); background: transparent; border-radius: 12px; padding: 11px; cursor: pointer; }
.nav-toggle span { display: block; height: 2px; margin: 4px 0; background: #fff; border-radius: 10px; }

.hero {
  position: relative;
  overflow: hidden;
  min-height: 790px;
  padding: 170px 0 55px;
  color: var(--white);
  background:
    radial-gradient(circle at 78% 28%, rgba(212,170,69,.10), transparent 30%),
    linear-gradient(135deg, #061521 0%, #0a2135 55%, #071727 100%);
}
.hero::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); border: 1px solid rgba(212,170,69,.14); }
.hero-glow-one { width: 640px; height: 640px; right: -240px; top: 80px; }
.hero-glow-two { width: 400px; height: 400px; right: 70px; top: 210px; }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 70px; }
.eyebrow { margin: 0 0 22px; color: var(--gold-soft); font-size: 12px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.eyebrow.dark { color: #9b7623; }
.hero h1 { max-width: 820px; margin: 0; font-size: clamp(54px, 7vw, 88px); line-height: .98; letter-spacing: -.055em; font-weight: 800; }
.hero h1 span { color: var(--gold-soft); font-weight: 500; }
.hero-text { max-width: 690px; margin: 32px 0 0; color: rgba(255,255,255,.69); font-size: 19px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.btn { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; border-radius: 999px; padding: 0 24px; font-size: 14px; font-weight: 800; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--gold); color: #0d1c28; }
.btn-primary:hover { background: #e1ba5b; }
.btn-ghost { color: #fff; border: 1px solid rgba(255,255,255,.19); background: rgba(255,255,255,.03); }
.btn-outline-light { color:#fff; border:1px solid rgba(255,255,255,.2); }
.hero-art { min-height: 430px; position: relative; display: grid; place-items: center; }
.heart-card { position: relative; z-index: 3; width: 280px; height: 330px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 140px 140px 34px 34px; border: 1px solid rgba(212,170,69,.36); background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); box-shadow: var(--shadow); backdrop-filter: blur(10px); }
.hero-heart { width: 118px; fill: var(--gold); filter: drop-shadow(0 18px 30px rgba(212,170,69,.18)); }
.heart-card p { margin: 18px 0 0; text-align: center; color: rgba(255,255,255,.68); line-height: 1.45; }
.heart-card strong { color: #fff; }
.heart-orbit { position: absolute; border: 1px solid rgba(212,170,69,.19); border-radius: 50%; }
.orbit-one { width: 360px; height: 360px; }
.orbit-two { width: 470px; height: 470px; }
.hero-bottom { position: relative; z-index: 2; display: flex; gap: 16px; align-items: center; margin-top: 85px; color: rgba(255,255,255,.42); text-transform: uppercase; letter-spacing: .2em; font-size: 10px; font-weight: 800; }
.dot { width: 4px; height: 4px; border-radius: 50%; background: var(--gold); }

.section { padding: 120px 0; }
.section-light { background: var(--paper); }
.split-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 110px; }
.section-heading h2 { max-width: 720px; margin: 0; color: var(--ink); font-size: clamp(38px, 5vw, 62px); line-height: 1.06; letter-spacing: -.045em; }
.about-copy { padding-top: 4px; }
.about-copy p { margin: 0 0 22px; font-size: 17px; line-height: 1.8; color: #536575; }
.about-copy .lead { color: var(--ink); font-size: 24px; line-height: 1.5; font-weight: 650; }
.signature { display: flex; gap: 18px; align-items: center; margin-top: 36px; }
.signature-line { width: 60px; height: 1px; background: var(--gold); }
.signature div { display: flex; flex-direction: column; }
.signature strong { color: var(--ink); }
.signature small { margin-top: 3px; color: var(--muted); }

.gallery-section { background: #091b2c; color:#fff; }
.section-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 55px; }
.section-heading-row h2 { color: #fff; }
.section-note { max-width: 370px; margin: 0; color: rgba(255,255,255,.54); line-height: 1.7; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.poster { margin: 0; position: relative; overflow: hidden; border-radius: 22px; min-height: 430px; background: #102940; border: 1px solid rgba(255,255,255,.08); }
.poster img { height: 100%; min-height: 430px; object-fit: cover; object-position: center; transition: transform .45s ease, filter .45s ease; }
.poster:hover img { transform: scale(1.035); filter: saturate(1.05); }
.poster figcaption { position: absolute; inset: auto 0 0; display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 50px 22px 20px; background: linear-gradient(transparent, rgba(4,16,28,.94)); }
.poster figcaption span { font-weight: 800; }
.poster figcaption small { color: var(--gold-soft); text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }

.video-section { background: #f4f1e9; }
.section-heading.center { text-align: center; margin-bottom: 55px; }
.section-heading.center h2 { margin-inline: auto; }
.dark-note { color: var(--muted); margin: 18px auto 0; }
.video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.video-card { overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 18px 50px rgba(16,36,52,.10); }
.video-frame { aspect-ratio: 16 / 10; background: #071727; overflow: hidden; }
.video-frame video { height: 100%; object-fit: cover; }
.video-meta { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 22px; align-items: start; }
.video-meta span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: #f4edda; color: #8e6b1f; font-size: 12px; font-weight: 900; }
.video-meta h3 { margin: 4px 0 0; color: var(--ink); font-size: 17px; line-height: 1.4; }

.contact-section { position: relative; overflow:hidden; background: #071727; color: #fff; }
.contact-section::after { content:"♥"; position:absolute; right:-35px; bottom:-155px; font-size: 520px; color: rgba(212,170,69,.035); line-height:1; pointer-events:none; }
.contact-grid { position:relative; z-index:2; display:grid; grid-template-columns:.9fr 1.1fr; gap: 90px; align-items:center; }
.contact-copy h2 { margin:0; max-width:590px; font-size:clamp(42px,5.5vw,68px); line-height:1.04; letter-spacing:-.045em; }
.contact-copy > p:last-child { max-width:570px; color:rgba(255,255,255,.61); font-size:17px; line-height:1.75; margin-top:25px; }
.contact-panel { border:1px solid rgba(255,255,255,.1); border-radius:30px; padding:18px 28px 28px; background:rgba(255,255,255,.035); box-shadow:var(--shadow); }
.contact-item { display:flex; align-items:center; gap:18px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.09); }
.contact-icon { width:46px; height:46px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:rgba(212,170,69,.12); color:var(--gold-soft); font-size:19px; }
.contact-item div { min-width:0; display:flex; flex-direction:column; gap:4px; }
.contact-item small { color:rgba(255,255,255,.47); text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:800; }
.contact-item strong { font-size:17px; overflow-wrap:anywhere; }
.contact-actions { display:flex; gap:12px; flex-wrap:wrap; padding-top:26px; }

.site-footer { background:#04111d; color:rgba(255,255,255,.48); border-top:1px solid rgba(255,255,255,.06); }
.footer-inner { min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:12px; }
.footer-brand { color:#fff; font-weight:800; }
.mini-heart { color:var(--gold); margin-right:6px; }
.site-footer a { color:var(--gold-soft); font-weight:700; }

.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in-view { opacity:1; transform:none; }

@media (max-width: 980px) {
  .hero { min-height:auto; padding-top:145px; }
  .hero-grid, .split-grid, .contact-grid { grid-template-columns:1fr; gap:60px; }
  .hero-art { min-height:380px; }
  .gallery-grid, .video-grid { grid-template-columns:repeat(2, 1fr); }
  .section-heading-row { align-items:start; flex-direction:column; gap:24px; }
  .main-nav { position:absolute; top:72px; right:20px; width:min(330px, calc(100vw - 40px)); display:none; flex-direction:column; align-items:stretch; gap:4px; padding:14px; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:rgba(7,23,39,.97); box-shadow:var(--shadow); }
  .main-nav.open { display:flex; }
  .main-nav a { padding:13px 14px; }
  .nav-cta { border-radius:12px; }
  .nav-toggle { display:block; }
}

@media (max-width: 680px) {
  .container { width:min(100% - 28px, 1180px); }
  .nav-wrap { min-height:72px; }
  .brand-copy { display:none; }
  .hero { padding-top:130px; }
  .hero h1 { font-size:48px; }
  .hero-text { font-size:17px; }
  .hero-art { min-height:330px; transform:scale(.88); margin:-20px 0; }
  .hero-bottom { margin-top:40px; }
  .section { padding:82px 0; }
  .section-heading h2 { font-size:38px; }
  .about-copy .lead { font-size:21px; }
  .gallery-grid, .video-grid { grid-template-columns:1fr; }
  .poster, .poster img { min-height:500px; }
  .contact-panel { padding:10px 18px 22px; border-radius:22px; }
  .contact-item strong { font-size:15px; }
  .contact-actions .btn { width:100%; }
  .footer-inner { flex-direction:column; justify-content:center; padding:28px 0; text-align:center; }
}
