:root {
  --nami-soft-shadow: 0 14px 38px rgba(15,27,45,.07);
  --nami-fine-gold: rgba(173,139,76,.28);
}
.site-header {
  box-shadow: 0 1px 0 rgba(15,27,45,.04);
  transition: box-shadow 240ms ease, background-color 240ms ease;
}
.site-header.nami-header-scrolled {
  background: rgba(251,250,248,.98);
  box-shadow: 0 8px 24px rgba(15,27,45,.08);
}
.nami-reading-progress {
  position: fixed;
  inset: 0 0 auto;
  height: 3px;
  z-index: 110;
  background: linear-gradient(90deg, var(--gold-600), var(--gold-400));
  transform: scaleX(0);
  transform-origin: right center;
  pointer-events: none;
}
main .hero::before {
  background: radial-gradient(ellipse at 78% 0%,rgba(173,139,76,.22),transparent 58%),
    radial-gradient(ellipse at 0% 90%,rgba(58,81,112,.52),transparent 62%),
    linear-gradient(130deg,var(--navy-950),var(--navy-800));
  pointer-events: none;
}
main .hero::after {
  content: '';
  position: absolute;
  width: min(48vw,580px);
  aspect-ratio: 1;
  left: -12%;
  top: 6%;
  border: 1px solid rgba(199,169,104,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(199,169,104,.025), 0 0 0 96px rgba(199,169,104,.018);
  pointer-events: none;
}
main .hero-grid { z-index: 1; }
main .hero h1 { line-height: 1.55; text-wrap: balance; }
main .hero .lead { line-height: 2.1; color: rgba(255,255,255,.82); }
main .hero-eyebrow { letter-spacing: .01em; }
main .portrait-frame {
  border-radius: 110px 14px 14px 14px;
  background: rgba(255,255,255,.035);
  border-color: rgba(199,169,104,.42);
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
}
main .portrait-frame::after { border-radius: 96px 7px 7px 7px; opacity: .55; }
main .portrait-img-real { border-radius: 96px 7px 7px 7px; }
main .portrait-caption { border-radius: 10px; border-bottom: 3px solid var(--gold-500); }
main .section-tag {
  padding: 5px 12px;
  border: 1px solid var(--nami-fine-gold);
  border-radius: 30px;
  background: rgba(241,230,204,.26);
}
main .section-head h2 { text-wrap: balance; line-height: 1.7; }
main .section-head p { line-height: 2; }
main .alt-bg {
  background: linear-gradient(135deg,#f3f1ec,#f8f6f1);
  border-block: 1px solid rgba(173,139,76,.08);
}
main .pillars { gap: 20px; border: 0; background: transparent; }
main .pillar,
main .split-cards article,
main .feature-grid article,
main .book-card,
main .insight-card,
main .assessment-choice {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--nami-soft-shadow);
}
main .pillar { border-top: 3px solid var(--gold-500); }
main .pillar .num { color: var(--gold-600); opacity: .85; }
main .pillar h3 { margin-bottom: 12px; }
main .trust-grid { border-radius: 12px; overflow: hidden; box-shadow: 0 6px 24px rgba(15,27,45,.035); }
main .insight-thumb { border-radius: 13px 13px 0 0; }
main .publication-cover { border-radius: 5px; box-shadow: 4px 6px 14px rgba(15,27,45,.13); }
main .process-line > div {
  border-radius: 12px;
  border: 1px solid var(--nami-fine-gold);
  background: rgba(255,255,255,.65);
}
main .process-line strong { color: var(--gold-600); }
main :is(.btn-primary,.btn-dark,.btn-ghost),
.site-header .nav-cta { border-radius: 8px; }
main .btn-primary {
  background: linear-gradient(115deg,#b9985b,#c7a968);
  color: var(--navy-950);
  box-shadow: 0 6px 18px rgba(173,139,76,.15);
}
main .btn-dark, .site-header .nav-cta {
  background: linear-gradient(115deg,var(--navy-900),var(--navy-700));
}
main .cta-band {
  position: relative;
  background: radial-gradient(ellipse at 10% 80%,rgba(173,139,76,.14),transparent 65%),var(--navy-900);
  border-block: 1px solid rgba(173,139,76,.2);
}
main .cta-band h2 { text-wrap: balance; }
main .consultation-layout { border-radius: 16px; overflow: hidden; box-shadow: var(--nami-soft-shadow); }
main .field :is(input,textarea,select) { border-radius: 8px; }
main .field :is(input,textarea,select):focus-visible {
  outline: 2px solid var(--gold-500);
  outline-offset: 2px;
}
main .assessment-question, main .assessment-guide, main .assessment-result { border-radius: 12px; }
.site-footer { border-top: 3px solid var(--nami-fine-gold); }
.site-footer .footer-grid a:hover { color: var(--gold-400); }
@media (hover:hover) and (pointer:fine) {
  main :is(.pillar,.book-card,.insight-card,.assessment-choice):hover { border-color: rgba(173,139,76,.55); }
  main .btn-primary:hover { background: linear-gradient(115deg,#c7a968,#d5b97a); }
}
@media (max-width:640px) {
  main .hero h1 { font-size: clamp(1.9rem,7vw,2.5rem); }
  main .hero .lead { font-size: .98rem; }
  main .hero::after { width: 80vw; top: 50%; left: -45%; }
  main .pillars { gap: 16px; }
  main .portrait-frame { max-width: 330px; }
  main .portrait-caption { right: 22px; }
  .nami-reading-progress { height: 2px; }
}
@media (prefers-reduced-motion:reduce) {
  .site-header { transition: none; }
}
@media print {
  .nami-reading-progress, main .hero::after { display: none; }
  .site-header, main .portrait-frame,
  main :is(.pillar,.book-card,.insight-card,.assessment-choice) { box-shadow: none; }
}
