/* STELLAMORA v9 — "Observatory". One coherent layer (replaces v3–v8 stack).
   Identity Mateo approved live 2026-07-11: Fraunces serif system, gold
   #FFC94D, night hero/configurator/footer + warm gallery bands, Space Mono
   as the data voice, spark scatter, contour footer. Executed clean. */

@font-face { font-family: 'Fraunces'; src: url("../fonts/Fraunces-Medium.e791faf695dd.ttf"); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Fraunces'; src: url("../fonts/Fraunces-SemiBold.27d64e8ad7c9.ttf"); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Plus Jakarta Sans'; src: url("../fonts/PlusJakartaSans-Regular.ec6d5973505b.ttf"); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Plus Jakarta Sans'; src: url("../fonts/PlusJakartaSans-SemiBold.03a280e14937.ttf"); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Space Mono'; src: url("../fonts/SpaceMono-Regular.6bc512e8faad.ttf"); font-weight: 400; font-display: swap; }

/* ── world ─────────────────────────────────────────────────────────── */
body {
  font-weight: 400; line-height: 1.62;
  background:
    radial-gradient(1100px 700px at 78% -10%, #1C3563 0%, transparent 55%),
    radial-gradient(900px 600px at -10% 30%, #122650 0%, transparent 50%),
    #0C1D3F;
  background-attachment: fixed;
}
/* spark scatter — one quiet ambient layer */
body::before {
  content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: 0.8;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='300'%3E%3Cg fill='%23FFC94D'%3E%3Cpath d='M40 30 Q41.2 38 49 39 Q41.2 40 40 48 Q38.8 40 31 39 Q38.8 38 40 30Z' opacity='0.5'/%3E%3Cpath d='M220 80 Q220.7 84.5 225 85 Q220.7 85.5 220 90 Q219.3 85.5 215 85 Q219.3 84.5 220 80Z' opacity='0.35'/%3E%3Cpath d='M120 200 Q120.7 204.5 125 205 Q120.7 205.5 120 210 Q119.3 205.5 115 205 Q119.3 204.5 120 200Z' opacity='0.3'/%3E%3C/g%3E%3Cg fill='%23FFFFFF'%3E%3Ccircle cx='300' cy='40' r='1.2' opacity='0.5'/%3E%3Ccircle cx='80' cy='120' r='1' opacity='0.4'/%3E%3Ccircle cx='260' cy='240' r='1.3' opacity='0.45'/%3E%3Ccircle cx='170' cy='30' r='0.9' opacity='0.35'/%3E%3C/g%3E%3C/svg%3E");
}
main, footer.brandfoot { position: relative; z-index: 1; }
header.site { position: sticky; z-index: 70; }

/* ── type voices: serif display, sans body, mono data ─────────────── */
h1, h2, h3, .price, .card-price, .rating-line .avg { font-family: 'Fraunces', serif; }
h1, h2, h3 { font-weight: 600; letter-spacing: -0.015em; }
.kicker, .trust-line, .readout, .preview-note, .promise, .example-tag,
.intro-badge, .badge, .foot-meta, .eyebrow, .card-pct, .review-stars ~ figcaption {
  font-family: 'Space Mono', monospace; letter-spacing: 0.08em; }
.kicker { color: #FFC94D; opacity: 0.85; }
.band .kicker { color: #B8860B; opacity: 1; }

/* ── header + strip ────────────────────────────────────────────────── */
header.site { background: #0C1D3F; border-bottom: 1px solid rgba(242,244,250,0.08); }
header.site .cart-link { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 600;
  font-size: 0.85rem; text-transform: none; letter-spacing: 0.02em;
  border: 1px solid rgba(242,244,250,0.22); border-radius: 999px; padding: 0.42rem 1.05rem;
  transition: border-color 0.15s, background 0.15s; }
header.site .cart-link:hover { border-color: #FFC94D; background: rgba(245,201,123,0.08); }
.service-strip { --strip-bg: #081228; --strip-text: #C8B98E;
  font-family: 'Space Mono', monospace; border-bottom: 1px solid rgba(255,201,77,0.12); }

/* ── CTA: the one gold identity ────────────────────────────────────── */
.btn-cta {
  background: #FFC94D; color: #171000; border: none; border-radius: 999px;
  font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 600; font-size: 1.02rem;
  text-transform: none; letter-spacing: 0.01em; padding: 0.95rem 2.1rem;
  box-shadow: 0 8px 28px rgba(255,201,77,0.28), inset 0 1px 0 rgba(255,255,255,0.5);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.btn-cta:hover { transform: translateY(-2px);
  box-shadow: 0 12px 36px rgba(255,201,77,0.42), inset 0 1px 0 rgba(255,255,255,0.5); }

/* ── hero: night, glow, mono readout ───────────────────────────────── */
.hero { padding-top: 3.4rem; }
.hero h1 { font-size: clamp(2.4rem, 5vw, 3.7rem); color: #FFFFFF; }
.hero p { color: #B9C2DA; font-size: 1.05rem; }
.hero img { border-radius: 2px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.55), 0 0 0 1px rgba(242,244,250,0.08),
              0 0 90px rgba(245,201,123,0.12); }
.readout { font-size: 0.78rem; color: #8E9BBE; margin: -0.6rem 0 1.4rem;
  letter-spacing: 0.12em; }
.trust-line { font-size: 0.74rem; }

/* ── gallery bands: warm paper, ink text ───────────────────────────── */
.band { --tile-scrim: rgba(12, 29, 63, 0.82); }
.band .view-all { color: #6B7385; }
.band .view-all:hover { color: #B8860B; }

/* ── cards: image-forward, serif title (v7, kept) ──────────────────── */
.product-card img, .product-card .card-abstract { border-radius: 2px;
  border: 1px solid rgba(242,244,250,0.08);
  box-shadow: 0 14px 38px rgba(4,12,30,0.45); transition: box-shadow 0.22s ease; }
.product-card:hover { transform: translateY(-3px); }
.product-card { transition: transform 0.22s ease; }
.product-card:hover img, .product-card:hover .card-abstract {
  box-shadow: 0 22px 52px rgba(4,12,30,0.6); }
.product-card strong { color: #FFC94D; font-size: 1.04rem; font-weight: 500; }
.product-card em { color: #9FACCB; font-family: 'Space Mono', monospace; font-size: 0.7rem; }
.card-price { color: #F5F7FC; font-size: 0.98rem; }
.card-was { color: #9FACCB; opacity: 0.8; }
.card-pct { color: #FFC94D; font-size: 0.66rem; }
.band .product-card img, .band .product-card .card-abstract {
  border: 1px solid rgba(12,29,63,0.08); box-shadow: 0 14px 34px rgba(12,29,63,0.14); }
.band .product-card:hover img { box-shadow: 0 20px 44px rgba(12,29,63,0.2); }
.band .product-card strong { color: #0C1D3F; }
.band .product-card em { color: #6B7385; }
.band .card-price { color: #0C1D3F; }
.band .card-was { color: #8B93A5; }
.band .card-pct { color: #B8860B; }
.badge { background: #FFC94D; color: #171000; border-radius: 999px; }

/* ── configurator surfaces ─────────────────────────────────────────── */
.tile { border-radius: 2px; border-color: rgba(242,244,250,0.18); background: rgba(27,39,66,0.55); }
.tile.active { border-color: #FFC94D; background: rgba(245,201,123,0.12); }
.field input, .field select, .field textarea { border-radius: 2px;
  border-color: rgba(242,244,250,0.18); background: rgba(27,39,66,0.65); }
.field input:focus, .field select:focus { border-color: #FFC94D; }
.buy-bar { border-top: 1px solid rgba(242,244,250,0.1); }
.preview-loading { position: relative; }
.preview-loading::after { content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,0.09) 50%, transparent 70%);
  background-size: 220% 100%; animation: shimmer 1.1s linear infinite; }
@keyframes shimmer { from { background-position: 180% 0; } to { background-position: -60% 0; } }

/* ── reviews on the band ───────────────────────────────────────────── */
.review-card { background: #FFFFFF; border-color: rgba(12,29,63,0.08); }
.review-stars { color: #B8860B; }

/* ── footer: contour orbits ────────────────────────────────────────── */
footer.brandfoot {
  background-color: #091630; border-top: 1px solid rgba(242,244,250,0.08);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='420'%3E%3Cg fill='none' stroke='%23FFC94D' stroke-opacity='0.07' stroke-width='1.4'%3E%3Cpath d='M-50 420 Q450 120 950 420'/%3E%3Cpath d='M-50 470 Q450 170 950 470'/%3E%3Cpath d='M-50 520 Q450 220 950 520'/%3E%3Cpath d='M-50 570 Q450 270 950 570'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center bottom; background-size: cover;
}
.pay-badges span { border-radius: 999px; }
