html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
.heading-lux { font-family: Georgia, 'Times New Roman', serif; letter-spacing: -0.025em; }
.hero-overlay { background: linear-gradient(110deg, rgba(12,25,40,.82) 0%, rgba(12,25,40,.66) 38%, rgba(12,25,40,.18) 76%, rgba(12,25,40,.06) 100%); }
.section-glow { background: linear-gradient(180deg, rgba(239,233,244,.98) 0%, rgba(248,244,248,.95) 46%, rgba(255,255,255,1) 100%); }
.gold-divider { height: 1px; background: linear-gradient(90deg, rgba(135,104,52,0), rgba(135,104,52,.62), rgba(135,104,52,0)); }
.sparkle-divider { display:flex; align-items:center; justify-content:center; gap:.55rem; margin-top:1.1rem; }
.sparkle-divider::before, .sparkle-divider::after { content:''; height:1px; width:52px; background: linear-gradient(90deg, rgba(135,104,52,0), rgba(135,104,52,.58)); }
.sparkle-divider::after { background: linear-gradient(90deg, rgba(135,104,52,.58), rgba(135,104,52,0)); }
.sparkle-divider span { color:#876834; font-size:.95rem; line-height:1; }
.frost { background: linear-gradient(180deg, rgba(71,60,96,.30) 0%, rgba(29,49,82,.24) 100%); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 18px 46px rgba(23,20,44,.22); }
.balanced-card { border: 1px solid rgba(23, 50, 77, .08); background: linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.95) 100%); box-shadow: 0 16px 40px rgba(23, 50, 77, 0.07); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.balanced-card:hover { transform: translateY(-3px); box-shadow: 0 22px 54px rgba(68, 58, 101, 0.12); border-color: rgba(184,171,204,.34); }
.button-playful { box-shadow: 0 10px 24px rgba(65,58,95,.14); }
.button-playful:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(65,58,95,.18); }
.nav-link { font-weight: 500; }
.nav-link::after { content:''; display:block; height:1px; width:0; background:#876834; transition:width .25s ease; margin-top:4px; }
.nav-link:hover::after, .nav-link.active::after { width:100%; }
.skip-link { position: absolute; left: 1rem; top: -3rem; z-index: 100; border-radius: 9999px; background: #17324d; color: #fff; padding: .75rem 1rem; font-weight: 600; transition: top .2s ease; }
.skip-link:focus { top: 1rem; }
img { -webkit-user-drag: none; }
a, button, input, select, textarea { transition-property: color, background-color, border-color, box-shadow, opacity, transform; transition-duration: .2s; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid rgba(143,166,191,.9);
  outline-offset: 2px;
}
::placeholder { color: rgba(71, 85, 105, .78); }
.header-logo { display:block; max-height:96px; }
.footer-brand-logo { display:block; }
@media (max-width: 640px) {
  .hero-overlay { background: linear-gradient(180deg, rgba(12,25,40,.84) 0%, rgba(12,25,40,.58) 56%, rgba(12,25,40,.24) 100%); }
  .frost { background: linear-gradient(180deg, rgba(38,40,74,.42) 0%, rgba(20,34,58,.34) 100%); }
  .header-logo { max-height:68px; }
  .footer-brand-logo { width:180px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
