/* ══════════════════════════════════════════════════════════════════
   G │ A  —  GÖKÇEN & AZİZ  —  Premium Digital Davetiye v3
   ══════════════════════════════════════════════════════════════════ */

:root {
  --ink:       #060608;
  --ink-s:     #0c0b0e;
  --ink-card:  #0f0e11;
  --g0: #4A360A; --g1: #6E500E; --g2: #8C6A20;
  --g3: #A88436; --g4: #C9A84C; --g5: #D4B870;
  --g6: #E4CE96; --g7: #F2E2B0;
  --grad-foil: linear-gradient(118deg,
    var(--g0) 0%, var(--g2) 14%, var(--g4) 30%,
    var(--g7) 48%, var(--g5) 60%, var(--g3) 76%,
    var(--g1) 90%, var(--g0) 100%);
  --grad-foil-h: linear-gradient(90deg,
    transparent, var(--g3) 20%, var(--g6) 50%, var(--g3) 80%, transparent);
  --ivory:   #F2EDE4;
  --ivory-d: #C8C0B4;
  --f-cinzel:  'Cinzel', Georgia, serif;
  --f-serif:   'Cormorant Garamond', Georgia, serif;
  --f-display: 'Cormorant', serif;
  --f-sans:    'Jost', sans-serif;
  --pad: clamp(28px, 8vw, 52px);
  --gap: clamp(40px, 10vh, 72px);
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body {
  background: var(--ink); color: var(--ivory);
  font-family: var(--f-serif);
  min-height: 100dvh; overflow-x: hidden; cursor: none;
}

body::before {
  content:''; position:fixed; inset:0; z-index:1; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='280' height='280' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  background-size:280px; mix-blend-mode:overlay;
}

#particleCanvas {
  position:fixed; inset:0; z-index:0; pointer-events:none;
}

.light-beam {
  position:fixed; top:-40%; left:50%; transform:translateX(-50%);
  width:clamp(100px,28vw,200px); height:160%;
  background:linear-gradient(to bottom,transparent 0%,rgba(201,168,76,.05) 35%,rgba(201,168,76,.09) 50%,rgba(201,168,76,.05) 65%,transparent 100%);
  filter:blur(28px); pointer-events:none; z-index:0;
  animation:beamDrift 16s ease-in-out infinite alternate;
}
@keyframes beamDrift {
  from { transform:translateX(-50%) scaleX(.8); opacity:.5; }
  to   { transform:translateX(-47%) scaleX(1.2); opacity:1; }
}

/* ── CURSOR ────────────────────────────────────────────────────── */
.cursor-dot {
  position:fixed; width:4px; height:4px;
  background:var(--g4); border-radius:50%;
  pointer-events:none; z-index:10000;
  transform:translate(-50%,-50%);
}
.cursor-ring {
  position:fixed; width:26px; height:26px;
  border:1px solid rgba(201,168,76,.35); border-radius:50%;
  pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .35s cubic-bezier(.2,1,.4,1),height .35s cubic-bezier(.2,1,.4,1),border-color .35s;
}
.cursor-ring.h { width:48px; height:48px; border-color:rgba(201,168,76,.65); }
@media (hover:none) { .cursor-dot,.cursor-ring { display:none; } body { cursor:auto; } }

/* ══════════════════════════════════════════════════════════════════
   SPLASH SCREEN
   ══════════════════════════════════════════════════════════════════ */
#splashScreen {
  position:fixed; inset:0; z-index:5000; overflow:hidden;
  background:var(--ink);
}

/* Photo */
.splash-photo { position:absolute; inset:0; z-index:0; }
.splash-photo img {
  width:100%; height:100%;
  object-fit:cover; object-position:center 18%;
  filter:brightness(.52) contrast(1.1) saturate(.75);
  animation:kbz 24s ease-in-out infinite;
}
@keyframes kbz { 0%,100%{transform:scale(1.07);} 50%{transform:scale(1.0);} }

/* Overlays — heavy for readability */
.sph-gradient-top {
  position:absolute; inset:0;
  background:linear-gradient(to bottom,
    rgba(6,6,8,.92) 0%, rgba(6,6,8,.45) 28%, rgba(6,6,8,.08) 50%, transparent 62%);
}
.sph-gradient-bottom {
  position:absolute; inset:0;
  background:linear-gradient(to top,
    rgba(6,6,8,1) 0%, rgba(6,6,8,.9) 20%, rgba(6,6,8,.5) 40%, transparent 62%);
}
.sph-vignette {
  position:absolute; inset:0;
  background:radial-gradient(ellipse 110% 72% at 50% 50%, transparent 22%, rgba(6,6,8,.58) 100%);
}

/* UI grid — 3 zones */
.splash-ui {
  position:relative; z-index:1;
  width:100%; height:100%;
  display:grid;
  grid-template-rows:auto 1fr auto;
  padding:clamp(28px,8vw,52px) clamp(20px,6vw,44px);
}

/* ── Zone 1: Monogram TOP ── */
.splash-mono {
  display:flex; align-items:center; justify-content:center;
  gap:clamp(12px,4vw,22px);
  opacity:0;
  animation:fadeUp 1.4s cubic-bezier(.16,1,.3,1) forwards .2s;
}
.sm-letter {
  font-family:var(--f-cinzel);
  font-size:clamp(48px,15vw,82px);
  font-weight:400; line-height:1; letter-spacing:-.02em;
  background:var(--grad-foil);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 0 22px rgba(201,168,76,.55));
  position:relative;
}
.sm-letter::after {
  content:attr(data-l); position:absolute; inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(242,226,176,.7) 50%,transparent 65%);
  background-size:300% 100%;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  animation:shimmer 5s ease-in-out infinite;
}
.sm-g::after { animation-delay:0s; }
.sm-a::after { animation-delay:2.5s; }
@keyframes shimmer { 0%{background-position:200% center;} 100%{background-position:-200% center;} }

.sm-bar {
  display:flex; flex-direction:column; align-items:center;
  gap:5px; height:clamp(48px,15vw,82px);
}
.sm-bar-line {
  flex:1; width:.5px;
  background:linear-gradient(to bottom,transparent,var(--g5),transparent);
  opacity:.65; box-shadow:0 0 8px rgba(201,168,76,.35);
}
.sm-bar-gem { font-size:6px; color:var(--g6); opacity:.8; line-height:1; }

/* ── Zone 2: Countdown MIDDLE ── */
.splash-countdown {
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:18px;
  opacity:0;
  animation:fadeUp 1.3s cubic-bezier(.16,1,.3,1) forwards .6s;
}

/* Glass card */
.cd-card {
  width:100%; max-width:380px;
  background:rgba(4,4,6,.78);
  border:.5px solid rgba(201,168,76,.25);
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  padding:clamp(22px,6vw,34px) clamp(18px,5vw,30px) clamp(18px,5vw,26px);
  display:flex; flex-direction:column; align-items:center; gap:16px;
  position:relative;
}
/* Corner brackets on card */
.cd-card::before,.cd-card::after {
  content:''; position:absolute;
  width:20px; height:20px;
  border-color:var(--g4); border-style:solid; opacity:.5;
}
.cd-card::before { top:-1px; left:-1px; border-width:1px 0 0 1px; }
.cd-card::after  { bottom:-1px; right:-1px; border-width:0 1px 1px 0; }

.cd-eyebrow {
  font-family:var(--f-cinzel);
  font-size:clamp(7px,2vw,9.5px);
  font-weight:400; letter-spacing:.68em;
  color:var(--g6); opacity:.85;
  text-align:center;
}

.cd-row {
  display:flex; align-items:flex-start;
  gap:clamp(8px,2.5vw,16px);
}
.cd-unit-block {
  display:flex; flex-direction:column; align-items:center; gap:8px;
  min-width:clamp(54px,17vw,76px);
}
.cd-num {
  font-family:var(--f-cinzel);
  font-size:clamp(32px,10.5vw,56px);
  font-weight:400; line-height:1; letter-spacing:.06em;
  background:var(--grad-foil);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 2px 16px rgba(201,168,76,.6));
  font-variant-numeric:tabular-nums;
}
.cd-label {
  font-family:var(--f-cinzel);
  font-size:clamp(6.5px,1.9vw,8.5px);
  font-weight:400; letter-spacing:.55em;
  color:var(--g5); opacity:.65;
}
.cd-colon {
  font-family:var(--f-cinzel);
  font-size:clamp(24px,8vw,44px);
  font-weight:300; color:var(--g5);
  line-height:1; margin-top:clamp(5px,1.8vw,10px);
  animation:blinkColon 1s ease-in-out infinite alternate;
  opacity:.4;
}
@keyframes blinkColon { from{opacity:.15;} to{opacity:.6;} }

.cd-wedding-date {
  font-family:var(--f-sans);
  font-size:clamp(9.5px,2.6vw,12px);
  font-weight:200; letter-spacing:.42em;
  color:var(--g5); opacity:.6;
  text-align:center;
}

/* ── Zone 3: Couple + CTA BOTTOM ── */
.splash-bottom {
  display:flex; flex-direction:column;
  align-items:center; gap:0;
  padding-bottom:clamp(6px,2vw,12px);
}
.splash-couple {
  display:flex; align-items:baseline;
  gap:clamp(10px,3.5vw,18px);
  margin-bottom:clamp(18px,5.5vw,30px);
  opacity:0;
  animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) forwards 1.05s;
}
.sc-name {
  font-family:var(--f-cinzel);
  font-size:clamp(13px,4.2vw,20px);
  font-weight:400; letter-spacing:.38em;
  background:var(--grad-foil);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 2px 14px rgba(201,168,76,.45));
}
.sc-amp {
  font-family:var(--f-display);
  font-size:clamp(20px,6.5vw,34px);
  font-weight:300; font-style:italic;
  color:var(--g5); opacity:.85;
}

/* CTA — centered column layout */
.splash-cta-wrap {
  display:flex; flex-direction:column;
  align-items:center; gap:14px;
  width:100%;
  opacity:0;
  animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) forwards 1.42s;
}
.sctaw-deco {
  display:flex; align-items:center; gap:12px;
  width:100%; max-width:300px;
}
.sctaw-line {
  flex:1; height:.5px;
  background:var(--grad-foil-h); opacity:.35;
  transition:opacity .45s ease;
}
.sctaw-gem { font-size:5px; color:var(--g4); opacity:.5; line-height:1; }
.splash-cta-wrap:hover .sctaw-line { opacity:.65; }

.sctaw-btn {
  background:rgba(201,168,76,.06);
  border:.5px solid rgba(201,168,76,.28);
  cursor:none; padding:clamp(10px,3vw,14px) clamp(24px,7vw,36px);
  font-family:var(--f-cinzel);
  font-size:clamp(8.5px,2.5vw,11px);
  font-weight:400; letter-spacing:.48em;
  color:var(--g5);
  transition:background .4s,border-color .4s,color .4s;
  white-space:nowrap;
}
.sctaw-btn:hover {
  background:rgba(201,168,76,.13);
  border-color:rgba(201,168,76,.55);
  color:var(--g7);
}

/* ══════════════════════════════════════════════════════════════════
   INVITATION MAIN
   ══════════════════════════════════════════════════════════════════ */
.inv-main {
  position:relative; z-index:2;
  width:100%; max-width:480px;
  margin:0 auto;
  padding:clamp(48px,12vh,96px) var(--pad) clamp(60px,14vh,120px);
  display:flex; flex-direction:column;
  align-items:center; gap:var(--gap);
  opacity:0; visibility:hidden;
}

.inv-sec {
  width:100%;
  display:flex; flex-direction:column; align-items:center;
  gap:clamp(20px,5vw,32px);
}

/* Reveal items */
.ri {
  opacity:0; transform:translateY(24px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);
}
.ri.visible { opacity:1; transform:translateY(0); }

/* ── RULES & DIVIDERS ── */
.top-rule {
  width:100%; height:.5px;
  background:var(--grad-foil-h); opacity:.3;
}
.thin-divider {
  width:100%; display:flex; align-items:center; gap:14px;
}
.td-line {
  flex:1; height:.5px;
  background:var(--grad-foil-h); opacity:.38;
}
.td-gem { font-size:10px; color:var(--g5); opacity:.6; line-height:1; }

/* ── HERO ── */
.monogram {
  display:flex; align-items:center;
  gap:clamp(14px,5vw,26px);
}
.mono-g,.mono-a {
  font-family:var(--f-cinzel);
  font-size:clamp(64px,21vw,108px);
  font-weight:400; line-height:1; letter-spacing:-.025em;
  background:var(--grad-foil);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  position:relative;
  filter:drop-shadow(0 0 28px rgba(201,168,76,.32));
}
.mono-g::after,.mono-a::after {
  content:attr(data-l); position:absolute; inset:0;
  background:linear-gradient(108deg,transparent 30%,rgba(242,226,176,.6) 50%,transparent 70%);
  background-size:300% 100%;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  animation:shimmer 7s ease-in-out infinite;
}
.mono-a::after { animation-delay:3.5s; }

.mono-sep {
  display:flex; flex-direction:column; align-items:center;
  gap:5px; height:clamp(64px,21vw,108px);
}
.mono-sep-line {
  flex:1; width:.5px;
  background:linear-gradient(to bottom,transparent,var(--g5) 40%,var(--g6) 60%,transparent);
  opacity:.5; box-shadow:0 0 6px rgba(201,168,76,.2);
}
.mono-sep-gem { font-size:7px; color:var(--g6); opacity:.7; line-height:1; }

.hero-eyebrow {
  font-family:var(--f-cinzel);
  font-size:clamp(6.5px,2vw,9px);
  font-weight:400; letter-spacing:.65em;
  color:var(--g4); opacity:.55; text-align:center;
}

.hero-names {
  display:flex; align-items:baseline; flex-wrap:wrap; justify-content:center;
  gap:clamp(10px,3.5vw,18px); text-align:center;
}
.hn-first,.hn-second {
  font-family:var(--f-display);
  font-size:clamp(40px,13vw,68px);
  font-weight:400; font-style:italic; line-height:1;
  background:var(--grad-foil);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 2px 22px rgba(201,168,76,.28));
  position:relative; overflow:hidden;
}
.hn-first::after,.hn-second::after {
  content:attr(data-n); position:absolute; inset:0;
  background:linear-gradient(108deg,transparent 30%,rgba(242,226,176,.55) 50%,transparent 70%);
  background-size:300% 100%;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  animation:shimmer 8s ease-in-out infinite;
}
.hn-second::after { animation-delay:4s; }
.hn-amp {
  font-family:var(--f-display);
  font-size:clamp(30px,9.5vw,50px);
  font-weight:300; font-style:italic;
  color:var(--g5); opacity:.72; letter-spacing:.05em;
}

.hero-date {
  font-family:var(--f-sans);
  font-size:clamp(10px,2.8vw,13px);
  font-weight:200; letter-spacing:.45em;
  color:var(--ivory-d); opacity:.55; text-align:center;
}

/* ── SEC LABEL ── */
.sec-label {
  font-family:var(--f-cinzel);
  font-size:clamp(7px,2vw,9px);
  font-weight:400; letter-spacing:.7em;
  color:var(--g4); opacity:.55; text-align:center;
}

/* ── MESSAGE ── */
.message-card {
  width:100%; padding:clamp(28px,8vw,46px) clamp(24px,7vw,38px);
  border:.5px solid rgba(201,168,76,.14);
  background:rgba(201,168,76,.025); text-align:center;
  position:relative;
}
.message-card::before,.message-card::after {
  content:''; position:absolute;
  width:22px; height:22px;
  border-color:var(--g4); border-style:solid; opacity:.3;
}
.message-card::before { top:-1px; left:-1px; border-width:1px 0 0 1px; }
.message-card::after  { bottom:-1px; right:-1px; border-width:0 1px 1px 0; }
.message-body {
  font-family:var(--f-display);
  font-size:clamp(17px,5vw,23px);
  font-weight:300; font-style:italic;
  line-height:2.1; letter-spacing:.02em;
  color:var(--ivory-d); opacity:.75;
}

/* ── FAMILIES ── */
.families-row {
  display:flex; align-items:stretch; justify-content:center;
  gap:clamp(18px,5vw,32px); width:100%;
}
.fam-block {
  flex:1; display:flex; flex-direction:column; align-items:center; gap:10px;
}
.fam-name {
  font-family:var(--f-display);
  font-size:clamp(18px,5.8vw,26px);
  font-weight:300; font-style:italic; text-align:center; line-height:1.2;
  background:var(--grad-foil);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.fam-dot { color:var(--g4); opacity:.35; font-size:11px; line-height:1; }
.fam-vdiv {
  display:flex; flex-direction:column; align-items:center;
  gap:6px; align-self:stretch; padding:4px 0;
}
.fvd-line {
  flex:1; width:.5px;
  background:linear-gradient(to bottom,transparent,var(--g4),transparent); opacity:.22;
}
.fvd-gem { font-size:6px; color:var(--g4); opacity:.3; line-height:1; }

/* ── VENUE ── */
.venue-block { text-align:center; display:flex; flex-direction:column; gap:10px; }
.venue-city {
  font-family:var(--f-cinzel);
  font-size:clamp(8px,2.2vw,10px);
  font-weight:400; letter-spacing:.65em; color:var(--g4); opacity:.5;
}
.venue-hotel {
  font-family:var(--f-display);
  font-size:clamp(30px,9.5vw,50px);
  font-weight:300; font-style:italic; line-height:1.1;
  background:var(--grad-foil);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 2px 18px rgba(201,168,76,.22));
}
.venue-country {
  font-family:var(--f-sans);
  font-size:clamp(9px,2.4vw,11px);
  font-weight:200; letter-spacing:.45em; color:var(--ivory-d); opacity:.42;
}

/* ── TIME ── */
.time-block {
  display:flex; flex-direction:column; align-items:center; gap:12px;
  padding:clamp(28px,7vw,44px) 0; width:100%;
  border-top:.5px solid rgba(201,168,76,.1);
  border-bottom:.5px solid rgba(201,168,76,.1);
}
.time-label-txt {
  font-family:var(--f-cinzel);
  font-size:clamp(7px,2vw,9px); font-weight:400; letter-spacing:.6em;
  color:var(--g4); opacity:.45;
}
.time-digits {
  font-family:var(--f-cinzel);
  font-size:clamp(52px,17vw,88px);
  font-weight:400; line-height:1; letter-spacing:.06em;
  background:var(--grad-foil);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 4px 26px rgba(201,168,76,.35));
  display:flex; align-items:center; gap:.08em;
}
.time-colon {
  opacity:.6; animation:timeBlink 1s ease-in-out infinite alternate;
}
@keyframes timeBlink { from{opacity:.2;} to{opacity:.75;} }
.time-place {
  font-family:var(--f-sans);
  font-size:clamp(8.5px,2.4vw,11px);
  font-weight:200; letter-spacing:.42em;
  color:var(--ivory-d); opacity:.4; text-align:center;
}

/* ── MAP ── */
.map-card {
  width:100%;
  border:.5px solid rgba(201,168,76,.14);
  background:rgba(201,168,76,.018);
  overflow:hidden;
}
.map-header {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:clamp(14px,4vw,20px) clamp(16px,4.5vw,24px);
  border-bottom:.5px solid rgba(201,168,76,.1);
}
.map-hdr-info { display:flex; flex-direction:column; gap:4px; }
.map-hdr-name {
  font-family:var(--f-cinzel);
  font-size:clamp(10px,2.8vw,13px); font-weight:500; letter-spacing:.12em;
  background:var(--grad-foil);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.map-hdr-addr {
  font-family:var(--f-sans);
  font-size:clamp(8px,2.2vw,10.5px); font-weight:200; letter-spacing:.28em;
  color:var(--ivory-d); opacity:.42;
}
.map-hdr-btn {
  display:flex; align-items:center; gap:8px; flex-shrink:0;
  padding:clamp(8px,2.5vw,12px) clamp(12px,3.5vw,18px);
  border:.5px solid rgba(201,168,76,.28); background:transparent;
  color:var(--g5); font-family:var(--f-cinzel);
  font-size:clamp(7.5px,2vw,9.5px); font-weight:400; letter-spacing:.35em;
  text-decoration:none; white-space:nowrap; cursor:pointer;
  transition:background .3s,border-color .3s,color .3s;
}
.map-hdr-btn:hover { background:rgba(201,168,76,.08); border-color:var(--g5); color:var(--g7); }
.map-hdr-btn svg { opacity:.65; flex-shrink:0; }

.map-wrap {
  position:relative; width:100%;
  height:clamp(240px,58vw,340px); overflow:hidden;
}
.map-corner {
  position:absolute; width:16px; height:16px;
  border-color:var(--g4); border-style:solid;
  opacity:.45; z-index:3; pointer-events:none;
}
.map-corner--tl { top:7px; left:7px;  border-width:1px 0 0 1px; }
.map-corner--tr { top:7px; right:7px; border-width:1px 1px 0 0; }
.map-corner--bl { bottom:7px; left:7px;  border-width:0 0 1px 1px; }
.map-corner--br { bottom:7px; right:7px; border-width:0 1px 1px 0; }
.map-iframe {
  width:100%; height:100%; border:0; display:block;
  filter:grayscale(.35) contrast(1.06) brightness(.86) sepia(.1);
  transition:filter .55s ease;
}
.map-wrap:hover .map-iframe { filter:grayscale(.04) contrast(1.04) brightness(.95); }
.map-tint {
  position:absolute; inset:0; pointer-events:none; z-index:2;
  background:rgba(201,168,76,.022);
}
.map-apps {
  display:flex; border-top:.5px solid rgba(201,168,76,.1);
}
.map-app-btn {
  flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
  padding:clamp(12px,3.5vw,16px) 6px;
  background:transparent; color:var(--ivory-d); opacity:.45;
  font-family:var(--f-sans); font-size:clamp(8.5px,2.2vw,10.5px);
  font-weight:300; letter-spacing:.18em; text-decoration:none;
  border-right:.5px solid rgba(201,168,76,.08);
  transition:background .3s,opacity .3s;
}
.map-app-btn:last-child { border-right:none; }
.map-app-btn:hover { background:rgba(201,168,76,.05); opacity:.88; }
.map-app-btn svg { opacity:.6; flex-shrink:0; }

/* ── CLOSING ── */
.closing-names {
  display:flex; align-items:baseline; gap:clamp(10px,3.5vw,20px);
}
.cn-name {
  font-family:var(--f-display);
  font-size:clamp(32px,10vw,52px);
  font-weight:400; font-style:italic;
  background:var(--grad-foil);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 2px 18px rgba(201,168,76,.38));
}
.cn-amp {
  font-family:var(--f-display);
  font-size:clamp(26px,8vw,40px);
  font-weight:300; font-style:italic; color:var(--g5); opacity:.82;
}
.closing-date {
  font-family:var(--f-sans);
  font-size:clamp(10px,2.8vw,13px);
  font-weight:200; letter-spacing:.6em; color:var(--g5); opacity:.55;
}
.closing-mono {
  display:flex; align-items:center; gap:clamp(8px,3vw,14px);
  opacity:.14 !important; transform:translateY(0) !important;
}
.cm-g,.cm-a {
  font-family:var(--f-cinzel);
  font-size:clamp(56px,18vw,94px);
  font-weight:400; line-height:1; color:var(--g5);
}
.cm-sep {
  display:flex; flex-direction:column; align-items:center;
  gap:5px; height:clamp(56px,18vw,94px);
}
.cm-line { flex:1; width:.5px; background:var(--g5); opacity:.5; }
.cm-gem  { font-size:6px; color:var(--g5); opacity:.6; line-height:1; }

/* ══════════════════════════════════════════════════════════════════
   ANIMATIONS
   ══════════════════════════════════════════════════════════════════ */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(22px); }
  to   { opacity:1; transform:translateY(0); }
}

/* Gold ring on open */
.gold-ring {
  position:fixed; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:2px; height:2px; border-radius:50%;
  border:1px solid rgba(201,168,76,.85);
  background:transparent; z-index:4900; pointer-events:none;
  animation:ringExpand 1.5s cubic-bezier(.12,.5,.25,1) forwards;
}
@keyframes ringExpand {
  0%   { width:2px; height:2px; opacity:1; border-width:1px; }
  100% { width:220vmax; height:220vmax; opacity:0; border-width:.5px; }
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width:2px; }
::-webkit-scrollbar-track { background:var(--ink); }
::-webkit-scrollbar-thumb { background:var(--g2); border-radius:2px; }

/* ── RESPONSIVE ── */
@media (max-width:380px) {
  .cd-row { gap:5px; }
  .cd-unit-block { min-width:46px; }
  .families-row { gap:12px; }
}
@media (min-width:600px) { .inv-main { max-width:540px; } }
@media (min-width:900px) { .inv-main { max-width:600px; } }
