/* Hidden Gems Atlanta: quiet luxury, navy + champagne gold. Serif display, champagne hairlines, square edges. */
:root {
  --ink: #0a1428;
  --ink-2: #0d1931;
  --ink-3: #13223f;
  --champagne: #c8a96a;
  --champagne-light: #e2cc9c;
  --champagne-dark: #8f7442;
  --ivory: #f3ece0;
  --hair: rgba(200, 169, 106, .22);
}

html { scroll-behavior: smooth; }
body { background: var(--ink); color: #d6dbe5; font-family: Inter, sans-serif; font-weight: 300; letter-spacing: .01em; }
section[id] { scroll-margin-top: 90px; }
::selection { background: rgba(200,169,106,.35); color: #fff; }

/* Film grain over everything, very faint. */
body::before {
  content: ""; position: fixed; inset: 0; z-index: 100; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Type */
.display { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 300; letter-spacing: -.005em; line-height: 1.05; }
.display em, .display i { font-style: italic; color: var(--champagne-light); }
.eyebrow { font-family: Inter, sans-serif; font-weight: 400; letter-spacing: .38em; text-transform: uppercase; font-size: .68rem; color: var(--champagne); display: inline-flex; align-items: center; gap: .9rem; }
.eyebrow.lined::before { content: ""; width: 36px; height: 1px; background: var(--champagne); opacity: .7; }
.numeral { font-family: "Cormorant Garamond", serif; font-style: italic; color: var(--champagne); }
.gold-text { background: linear-gradient(100deg, var(--champagne-dark), var(--champagne-light) 45%, var(--champagne)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rule { width: 64px; height: 1px; background: var(--champagne); opacity: .7; }
.ornament { display: flex; align-items: center; justify-content: center; gap: 14px; color: var(--champagne); }
.ornament::before, .ornament::after { content: ""; width: 56px; height: 1px; background: currentColor; opacity: .5; }

/* Nav */
#nav { transition: background .4s, backdrop-filter .4s, border-color .4s; border-bottom: 1px solid transparent; }
#nav.nav-solid { background: rgba(10,20,40,.88); backdrop-filter: blur(12px); border-color: var(--hair); }
.navlink { font-size: .7rem; letter-spacing: .28em; text-transform: uppercase; color: #bfb6a6; transition: color .3s; }
.navlink:hover { color: var(--champagne-light); }
.wordmark { font-family: "Cormorant Garamond", serif; font-weight: 400; color: var(--ivory); line-height: 1; letter-spacing: .04em; }
.wordmark small { display: block; font-family: Inter, sans-serif; font-size: .55rem; letter-spacing: .55em; color: var(--champagne); margin-top: .35rem; font-weight: 400; }

/* Buttons: square, spaced caps, no glow */
.btn-gold, .btn-ghost { display: inline-block; border-radius: 0 !important; font-family: Inter, sans-serif; font-size: .72rem; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; transition: background .35s, color .35s, border-color .35s; }
.btn-gold { background: var(--champagne); color: var(--ink); border: 1px solid var(--champagne); }
.btn-gold:hover { background: var(--champagne-light); border-color: var(--champagne-light); }
.btn-ghost { border: 1px solid rgba(200,169,106,.55); color: var(--champagne-light); background: transparent; }
.btn-ghost:hover { background: var(--champagne); color: var(--ink); }
.btn-gold:disabled { opacity: .6; }

/* Photo slot: placeholder shows until a real image loads on top of it. */
.ph { position: relative; overflow: hidden; background:
  radial-gradient(120% 90% at 20% 10%, rgba(200,169,106,.14), transparent 55%),
  radial-gradient(90% 80% at 90% 100%, rgba(30,58,110,.45), transparent 60%), var(--ink-3); }
.ph::after { content: "Photo coming soon"; position: absolute; inset: 0; display: grid; place-items: center;
  font-family: "Cormorant Garamond", serif; font-style: italic; letter-spacing: .08em; font-size: 1rem; color: rgba(226,204,156,.4); }
.ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; transition: transform 1.6s cubic-bezier(.2,.7,.2,1); }
.ph:hover img { transform: scale(1.04); }
.frame { outline: 1px solid var(--hair); outline-offset: 10px; }

/* Surfaces */
.card { background: linear-gradient(180deg, rgba(19,34,63,.7), rgba(13,25,49,.7)); border: 1px solid var(--hair); border-radius: 2px; }
.rounded-2xl, .rounded-xl { border-radius: 2px !important; }
.hairline-x > * + * { border-left: 1px solid var(--hair); }

/* Reveal */
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity 1.1s cubic-bezier(.2,.7,.2,1), transform 1.1s cubic-bezier(.2,.7,.2,1); }
[data-reveal].in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1; transform: none; transition: none; } .ph img { transition: none; } }

/* Hero scroll cue */
.scroll-cue { width: 1px; height: 56px; background: linear-gradient(var(--champagne), transparent); animation: cue 2.4s ease-in-out infinite; transform-origin: top; }
@keyframes cue { 0% { transform: scaleY(0); opacity: 0; } 40% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1); opacity: 0; } }

/* Forms */
body input:not([type=checkbox]), body select, body textarea { background: transparent; border: 0; border-bottom: 1px solid #2b3d5f; color: var(--ivory); border-radius: 0; padding: .75rem .1rem; width: 100%; font-weight: 300; }
body select option { background: var(--ink-2); }
body input:focus, body select:focus, body textarea:focus { outline: none; border-bottom-color: var(--champagne); box-shadow: none; }
body textarea { border: 1px solid #2b3d5f; padding: .8rem; }
body textarea:focus { border-color: var(--champagne); }
label.lbl { display: block; font-size: .65rem; letter-spacing: .24em; text-transform: uppercase; color: #8d9ab3; margin-bottom: .2rem; font-weight: 400; }
.ph.bg::after { display: none; }
