:root {
  --washi: #f4f0e7;
  --paper: #fffdf8;
  --ink: #211f1b;
  --ink-soft: #5d584f;
  --gold: #a78952;
  --gold-pale: #d8c8a5;
  --vermillion: #9e3c2e;
}
body { color: var(--ink); background: var(--washi); background-image: radial-gradient(circle at 16% 9%, rgba(167, 137, 82, .09), transparent 26%), linear-gradient(90deg, rgba(32, 31, 28, .018) 1px, transparent 1px); background-size: auto, 5px 5px; }
.tn-light-header { background: rgba(244, 240, 231, .92); border-bottom: 1px solid rgba(32, 31, 28, .1); }
.tn-light-brand__mark { background: var(--ink); color: var(--washi); }
.tn-light-nav { background: rgba(244, 240, 231, .98); }
.tn-light-eyebrow { color: var(--gold); }
.tn-light-title, .tn-light-section-heading h2, .tn-light-card h3, .tn-light-contact h2 { font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif; }
.tn-light-lead, .tn-light-section-heading p { color: var(--ink-soft); }
.tn-light-button--primary { background: var(--ink); color: var(--paper); box-shadow: 0 .75rem 2rem rgba(32, 31, 28, .16); }
.tn-light-button--secondary { border-color: rgba(32, 31, 28, .23); background: rgba(255, 253, 248, .64); }
.tn-light-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 0 58%, rgba(32, 31, 28, .035) 58% 59%, transparent 59%); pointer-events: none; }
.tn-light-hero__art::before, .tn-light-hero__art::after { content: ""; position: absolute; border: 1px solid rgba(167, 137, 82, .38); border-radius: 50%; }
.tn-light-hero__art::before { width: min(78%, 22rem); aspect-ratio: 1; }
.tn-light-hero__art::after { width: min(55%, 16rem); aspect-ratio: 1; }
.tn-light-hero__kanji { color: var(--ink); text-shadow: .75rem 1rem 0 rgba(167, 137, 82, .1); z-index: 1; }
.tn-light-hero__seal { background: var(--vermillion); color: var(--paper); z-index: 2; box-shadow: 0 .65rem 1.65rem rgba(158, 60, 46, .25); }
.tn-light-section--paper { background: rgba(255, 253, 248, .68); border-block: 1px solid rgba(32, 31, 28, .07); }
.tn-light-card { background: rgba(255, 253, 248, .84); border: 1px solid rgba(167, 137, 82, .22); }
.tn-light-feature-list li::before { background: var(--gold); }
.tn-light-schedule { background: var(--paper); }
.tn-light-schedule th { background: var(--ink); color: var(--paper); }
.tn-light-schedule td { border-color: rgba(32, 31, 28, .09); }
.tn-light-faq details { background: rgba(255, 253, 248, .8); border: 1px solid rgba(167, 137, 82, .2); }
.tn-light-map { filter: grayscale(.85) sepia(.15); border: 1px solid rgba(32, 31, 28, .12); }
.tn-light-contact { background: var(--ink); color: var(--paper); box-shadow: 0 1.8rem 5rem rgba(32, 31, 28, .2); }
.tn-light-contact p { color: rgba(255, 253, 248, .76); }
.tn-light-contact .tn-light-button--primary { background: var(--gold); color: var(--ink); }
.tn-light-footer { background: #171714; color: var(--paper); }
.tn-light-footer small { color: rgba(255, 253, 248, .62); }


/* CHG-0006 interaction accents */
.tn-light-skip-link { background: var(--ink); color: var(--paper); }
.tn-light-nav a[aria-current="location"]:not(.tn-light-button) { color: var(--gold); }
.tn-light-faq details[open] { border-color: rgba(167, 137, 82, .48); }
@media (hover: hover) and (pointer: fine) {
  .tn-light-card:hover { border-color: rgba(167, 137, 82, .48); }
}
