/*
Theme Name: BrownBunny New Design
Theme URI: https://brownbunny.jp
Author: BrownBunny Inc.
Author URI: https://brownbunny.jp
Description: BrownBunny Inc. Corporate Site - Antique Taisho Victorian Design
Version: 1.0.0
License: Private
Text Domain: brownbunny
*/

/* ============================================================
   BrownBunny Inc. — NEW DESIGN
   コンセプト: アンティーク × 大正浪漫 × ヴィクトリアン
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,700;1,900&family=Shippori+Mincho:wght@400;500;600;700&display=swap');

/* ── Reset ── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  /* Body backdrop — dark espresso brown (clearly brown, not black; leather-bound book × roasted coffee) */
  --paper:        #3d2818;
  --paper-cream:  #ede0c2;        /* original parchment — kept for opt-in accent panels */
  --paper-light:  #f7f0e2;        /* warm cream — primary text on dark */
  --paper-dark:   #d8c9a4;        /* aged cream — secondary text on dark */
  --paper-border: #c0a878;        /* gold-tinted border (original) */

  /* Dark palette */
  --ink:          #2c1500;
  --ink-warm:     #3c1e08;
  --ink-mid:      #5a3a20;
  --ink-muted:    #886848;

  /* Accent: burgundy */
  --burg:         #7a2010;
  --burg-deep:    #5c1808;
  --burg-light:   #a02818;

  /* Accent: gold */
  --gold:         #b88030;
  --gold-light:   #d4a040;
  --gold-pale:    #e8c870;

  /* Accent: forest green */
  --moss:         #2a4a2e;
  --moss-light:   #3a6040;

  /* Accent: navy */
  --navy:         #1e2a48;
  --navy-light:   #2a3a68;

  /* Accent: rust */
  --rust:         #8a3818;
  --rust-light:   #b04c22;

  /* Type system — editorial pairing
     EN1: Playfair Display (drama, headlines, italic accents)
     JP1: Shippori Mincho (light Mincho — Kinfolk/Aesop系の上品な細明朝) */
  --font-en:      'Playfair Display', serif;
  --font-jp:      'Shippori Mincho', serif;
  /* Aliases */
  --font-display: 'Playfair Display', 'Shippori Mincho', serif;        /* hero/sec titles */
  --font-serif:   'Playfair Display', 'Shippori Mincho', serif;        /* italic emphasis */
  --font-sans:    'Shippori Mincho', 'Playfair Display', serif;        /* body — Latin uses Playfair, JP uses Shippori */
  --font-stamp:   'Playfair Display', 'Shippori Mincho', serif;        /* small caps/labels */

  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --transition: 0.4s var(--ease);
}

html { font-size: 16px; scroll-behavior: smooth; }

body {
  background: var(--paper);
  color: var(--paper-light);
  font-family: var(--font-sans);
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.04em;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ── Noise texture ── */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 9000;
  opacity: 0.4;
  mix-blend-mode: multiply;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

/* ── Typography ── */
h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.2;
}

/* ─────────────────────────────────────────────
   NAVIGATION — Vintage Masthead Style
───────────────────────────────────────────── */
.nav-top-bar {
  background: var(--burg-deep);
  color: var(--gold-pale);
  padding: 6px clamp(16px, 4vw, 60px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-family: var(--font-stamp);
  font-size: 0.6rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(232, 200, 112, 0.3);
}

.nav-top-bar span { color: var(--gold-light); }

.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: var(--transition);
}

.nav-masthead {
  background: var(--ink);
  padding: 0 clamp(16px, 5vw, 60px);
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 3px solid var(--gold);
  position: relative;
}

@media (max-width: 768px) {
  .nav-masthead {
    height: 60px;
  }
}

.nav-masthead::before {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gold);
  opacity: 0.4;
}

.nav-logo {
  display: inline-flex;
  align-items: center;
  position: relative;
  line-height: 1;
}

.nav-logo img {
  display: block;
  height: 50px;
  width: auto;
  max-width: 340px;
  object-fit: contain;
}

@media (max-width: 768px) {
  .nav-logo img {
    height: 32px;
    max-width: 220px;
  }
}

.nav-links {
  display: flex;
  gap: 0;
  list-style: none;
}

.nav-links li {
  position: relative;
}

.nav-links li + li::before {
  content: '|';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(184, 128, 48, 0.3);
  font-size: 0.7rem;
}

.nav-links a {
  display: block;
  padding: 0 20px;
  font-family: var(--font-stamp);
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--paper-dark);
  transition: color var(--transition);
  position: relative;
}

.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -22px;
  left: 20px;
  right: 20px;
  height: 2px;
  background: var(--gold);
  transform: scaleX(0);
  transition: transform var(--transition);
}

.nav-links a:hover {
  color: var(--gold-light);
}

.nav-links a:hover::after {
  transform: scaleX(1);
}

/* Scrolled state */
.nav.scrolled .nav-masthead {
  box-shadow: 0 4px 20px rgba(24, 15, 8, 0.5);
}

/* ── Hamburger ── */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 4px;
}

.nav-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--gold);
  transition: var(--transition);
}

/* ── Mobile Nav ── */
.nav-mobile {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--ink);
  z-index: 999;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 40px;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition);
}

.nav-mobile::before {
  content: '';
  position: absolute;
  inset: 20px;
  border: 1px solid rgba(184, 128, 48, 0.3);
  pointer-events: none;
}

.nav-mobile::after {
  content: '';
  position: absolute;
  inset: 24px;
  border: 1px dashed rgba(184, 128, 48, 0.15);
  pointer-events: none;
}

.nav-mobile.open {
  opacity: 1;
  pointer-events: all;
}

.nav-mobile a {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 5vw, 2.4rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--paper-dark);
  transition: color var(--transition);
  position: relative;
}

.nav-mobile a:hover { color: var(--gold-light); }

/* ─────────────────────────────────────────────
   ORNAMENTAL ELEMENTS
───────────────────────────────────────────── */

.orn-rule {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--gold);
  margin: 16px 0;
}

.orn-rule::before,
.orn-rule::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
}

.orn-rule-inner {
  font-family: var(--font-display);
  font-size: 1rem;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.dark .orn-rule { color: var(--gold); }
.dark .orn-rule::before,
.dark .orn-rule::after {
  background: linear-gradient(to right, transparent, var(--gold), transparent);
}

.orn-box {
  position: relative;
  border: 2px solid var(--gold);
  padding: 40px;
}

.orn-box::before {
  content: '';
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(184, 128, 48, 0.4);
  pointer-events: none;
}

.orn-box .corner {
  position: absolute;
  width: 14px;
  height: 14px;
  background: var(--gold);
}

.orn-box .corner-tl { top: -2px; left: -2px; }
.orn-box .corner-tr { top: -2px; right: -2px; }
.orn-box .corner-bl { bottom: -2px; left: -2px; }
.orn-box .corner-br { bottom: -2px; right: -2px; }

.section-stamp {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-stamp);
  font-size: 0.6rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--gold-light);
  border: 1px solid var(--gold);
  padding: 4px 14px;
  margin-bottom: 20px;
}

.dark .section-stamp {
  color: var(--gold);
  border-color: var(--gold);
}

.round-stamp {
  width: 90px;
  height: 90px;
  border: 2px solid var(--gold);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}

.round-stamp::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(184, 128, 48, 0.5);
  border-radius: 50%;
}

/* ─────────────────────────────────────────────
   SECTIONS
───────────────────────────────────────────── */

.section {
  padding: clamp(64px, 10vw, 140px) clamp(20px, 7vw, 100px);
}

.section-dark {
  background: var(--ink);
  color: var(--paper-light);
  padding: clamp(64px, 10vw, 140px) clamp(20px, 7vw, 100px);
}

.section-burg {
  background: var(--burg-deep);
  color: var(--paper-light);
  padding: clamp(64px, 10vw, 140px) clamp(20px, 7vw, 100px);
}

.section-moss {
  background: var(--moss);
  color: var(--paper-light);
  padding: clamp(64px, 10vw, 140px) clamp(20px, 7vw, 100px);
}

.sec-eyebrow {
  font-family: var(--font-stamp);
  font-size: 0.58rem;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: 12px;
}

.sec-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 700;
  color: var(--paper-light);
  line-height: 1.1;
  margin-bottom: 8px;
}

.sec-sub {
  font-size: 0.8rem;
  color: rgba(247, 240, 226, 0.55);
  letter-spacing: 0.15em;
  margin-bottom: 48px;
}

.dark .sec-eyebrow,
.section-dark .sec-eyebrow,
.section-burg .sec-eyebrow,
.section-moss .sec-eyebrow {
  color: var(--gold-light);
}

.dark .sec-title,
.section-dark .sec-title,
.section-burg .sec-title,
.section-moss .sec-title {
  color: var(--paper-light);
}

.dark .sec-sub,
.section-dark .sec-sub,
.section-burg .sec-sub,
.section-moss .sec-sub {
  color: rgba(240, 230, 204, 0.6);
}

/* ─────────────────────────────────────────────
   BUTTONS
───────────────────────────────────────────── */

.btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 28px;
  border: 2px solid var(--gold);
  color: var(--gold);
  font-family: var(--font-stamp);
  font-size: 0.7rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background: transparent;
}

.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gold);
  transform: translateX(-101%);
  transition: transform var(--transition);
  z-index: 0;
}

.btn > * { position: relative; z-index: 1; }

.btn:hover { color: var(--ink); }
.btn:hover::before { transform: translateX(0); }

.btn-dark {
  border-color: var(--ink);
  color: var(--ink);
}
.btn-dark::before { background: var(--ink); }
.btn-dark:hover { color: var(--paper-light); }

.btn-burg {
  border-color: var(--burg);
  color: var(--burg);
}
.btn-burg::before { background: var(--burg); }
.btn-burg:hover { color: var(--paper-light); }

.btn-arrow {
  font-size: 0.8rem;
  transition: transform var(--transition);
}
.btn:hover .btn-arrow { transform: translateX(4px); }

/* ─────────────────────────────────────────────
   PAGE HERO (Subpages)
───────────────────────────────────────────── */

.page-hero {
  background: var(--ink);
  padding: 110px clamp(20px, 7vw, 100px) 80px;
  position: relative;
  overflow: hidden;
  border-bottom: 4px solid var(--gold);
}

.page-hero::before {
  content: '';
  position: absolute;
  bottom: 8px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  opacity: 0.5;
}

.page-hero-eyebrow {
  font-family: var(--font-stamp);
  font-size: 0.6rem;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.page-hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 7vw, 5.5rem);
  font-weight: 900;
  color: var(--paper-light);
  line-height: 1.1;
  margin-bottom: 12px;
}

.page-hero-sub {
  font-size: 0.82rem;
  color: rgba(240, 230, 204, 0.5);
  letter-spacing: 0.15em;
}

.page-hero-deco {
  position: absolute;
  top: 50%;
  right: clamp(20px, 7vw, 100px);
  transform: translateY(-50%);
  font-family: var(--font-display);
  font-size: clamp(80px, 15vw, 180px);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(184, 128, 48, 0.08);
  pointer-events: none;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

/* ─────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────── */

.footer {
  background: var(--ink);
  border-top: 3px solid var(--gold);
  padding: clamp(48px, 8vw, 80px) clamp(20px, 7vw, 100px);
  position: relative;
}

.footer::before {
  content: '';
  position: absolute;
  top: 7px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(184, 128, 48, 0.3), transparent);
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 48px;
  margin-bottom: 48px;
}

.footer-logo {
  margin-bottom: 16px;
  line-height: 1;
}

.footer-logo img {
  display: block;
  height: 50px;
  width: auto;
  max-width: 340px;
  object-fit: contain;
}

@media (max-width: 768px) {
  .footer-logo img {
    height: 42px;
    max-width: 280px;
  }
}

.footer-addr {
  font-size: 0.68rem;
  color: var(--ink-muted);
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.footer-nav-title {
  font-family: var(--font-stamp);
  font-size: 0.55rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(184, 128, 48, 0.3);
}

.footer-nav {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-nav a {
  font-family: var(--font-stamp);
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(240, 230, 204, 0.5);
  transition: color var(--transition);
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-nav a::before {
  content: '›';
  color: var(--gold);
  font-size: 0.9rem;
}

.footer-nav a:hover { color: var(--gold-light); }

.footer-bottom {
  border-top: 1px solid rgba(184, 128, 48, 0.2);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-copy {
  font-family: var(--font-stamp);
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  color: rgba(240, 230, 204, 0.3);
}
.footer-copy.up { text-transform: uppercase; }

/* BrownBunnyブランド名は常に固有の大文字小文字を保持 */
.keep-case {
  text-transform: none !important;
  font-variant: normal !important;
  font-feature-settings: normal !important;
}

.footer-orn {
  font-family: var(--font-display);
  font-size: 0.7rem;
  color: rgba(184, 128, 48, 0.4);
  letter-spacing: 0.3em;
}

/* ─────────────────────────────────────────────
   DIVIDERS & SPACING
───────────────────────────────────────────── */

.divider {
  width: 48px;
  height: 2px;
  background: var(--gold);
  margin: 24px 0 36px;
}

.divider-full {
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, var(--paper-border), transparent);
  margin: 40px 0;
}

.section-dark .divider-full,
.section-burg .divider-full,
.section-moss .divider-full {
  background: linear-gradient(to right, rgba(184, 128, 48, 0.4), transparent);
}

/* ─────────────────────────────────────────────
   ANIMATIONS
───────────────────────────────────────────── */

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.fade-up { opacity: 0; animation: fadeUp 0.9s var(--ease) forwards; }
.fade-up-1 { animation-delay: 0.1s; }
.fade-up-2 { animation-delay: 0.25s; }
.fade-up-3 { animation-delay: 0.4s; }
.fade-up-4 { animation-delay: 0.55s; }

.reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ─────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────── */

@media (max-width: 768px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; }
  .nav-mobile { display: flex; }

  .page-hero-deco { display: none; }

  .footer-inner { flex-direction: column; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* ─────────────────────────────────────────────
   DARK BODY OVERRIDES
   Body is now deep chocolate near-black (#1a0f06).
   Components that previously assumed light parchment
   need their text colors flipped to cream/gold variants.
───────────────────────────────────────────── */

/* btn-dark — was ink-on-light; re-style for dark body */
.btn-dark { border-color: var(--gold); color: var(--gold); }
.btn-dark::before { background: var(--gold); }
.btn-dark:hover { color: var(--ink); }

/* page-business — biz-section without .dark-bg */
.biz-section:not(.dark-bg) { border-bottom-color: rgba(184,128,48,0.2); }
.biz-section:not(.dark-bg) .biz-cat-badge { color: var(--gold-light); border-color: var(--gold); }
.biz-section:not(.dark-bg) .biz-title { color: var(--paper-light); }
.biz-section:not(.dark-bg) .biz-title-ja { color: rgba(247,240,226,0.45); }
.biz-section:not(.dark-bg) .biz-divider-line { background: rgba(184,128,48,0.25); }
.biz-section:not(.dark-bg) .biz-text { color: rgba(247,240,226,0.7); }
.biz-section:not(.dark-bg) .biz-tag { color: rgba(247,240,226,0.42); border-color: rgba(184,128,48,0.22); }
.biz-section:not(.dark-bg) .biz-links { border-top-color: rgba(184,128,48,0.2); }
.biz-section:not(.dark-bg) .biz-link-item { border-bottom-color: rgba(184,128,48,0.15); }
.biz-section:not(.dark-bg) .biz-link-icon { border-color: rgba(184,128,48,0.28); color: var(--gold); }
.biz-section:not(.dark-bg) .biz-link-label { color: rgba(247,240,226,0.42); }
.biz-section:not(.dark-bg) .biz-link-name { color: var(--paper-dark); }
.biz-section:not(.dark-bg) .biz-link-arrow { color: rgba(247,240,226,0.45); }

/* page-jihen — jihen-about, kintsugi-section, jihen-cta */
.jihen-about { border-bottom-color: rgba(184,128,48,0.2) !important; }
.jihen-about-title { color: var(--paper-light) !important; }
.jihen-about-sub { color: rgba(247,240,226,0.45) !important; }
.jihen-about-body p { color: rgba(247,240,226,0.7) !important; }
.kintsugi-section { border-bottom-color: rgba(184,128,48,0.2) !important; }
.kintsugi-title { color: var(--paper-light) !important; }
.kintsugi-subtitle { color: rgba(247,240,226,0.45) !important; }
.kintsugi-body p { color: rgba(247,240,226,0.7) !important; }
.kintsugi-steps { border-top-color: rgba(184,128,48,0.18) !important; }
.kintsugi-step { border-bottom-color: rgba(184,128,48,0.15) !important; }
.kintsugi-step-name { color: var(--paper-light) !important; }
.kintsugi-step-text { color: rgba(247,240,226,0.6) !important; }
.kintsugi-step-label { color: rgba(184,128,48,0.4) !important; }
.kintsugi-kanji { color: var(--paper-light) !important; }
.jihen-cta-title { color: var(--paper-light) !important; }
.jihen-cta-body { color: rgba(247,240,226,0.55) !important; }

/* page-company — overview + location */
.overview-section { border-bottom-color: rgba(184,128,48,0.2) !important; }
.overview-table th, .overview-table td { border-bottom-color: rgba(184,128,48,0.18) !important; }
.overview-table th { color: rgba(247,240,226,0.45) !important; }
.overview-table td { color: rgba(247,240,226,0.7) !important; }
.overview-table td strong { color: var(--paper-light) !important; }
.overview-quote-box { background: rgba(184,128,48,0.08) !important; }
.overview-quote-text { color: var(--paper-light) !important; }
.overview-quote-source { color: rgba(247,240,226,0.45) !important; }
.location-item { border-bottom-color: rgba(184,128,48,0.18) !important; }
.loc-label { color: var(--gold-light) !important; }
.loc-value { color: rgba(247,240,226,0.7) !important; }
.loc-value a { color: var(--gold-light) !important; border-bottom-color: rgba(184,128,48,0.3) !important; }
.location-map-box { background: rgba(184,128,48,0.06) !important; border-color: rgba(184,128,48,0.25) !important; }
.map-pin { color: var(--gold) !important; }
.map-text { color: rgba(247,240,226,0.65) !important; }
.map-link { color: var(--gold) !important; border-color: var(--gold) !important; }

/* page-contact */
.contact-intro { color: rgba(247,240,226,0.7) !important; }
.contact-items { border-top-color: rgba(184,128,48,0.18) !important; }
.contact-item { border-bottom-color: rgba(184,128,48,0.15) !important; }
.contact-icon { border-color: rgba(184,128,48,0.25) !important; color: var(--gold) !important; }
.contact-item-label { color: var(--gold-light) !important; }
.contact-item-value { color: rgba(247,240,226,0.7) !important; }
.sns-link { border-color: rgba(184,128,48,0.2) !important; color: rgba(247,240,226,0.6) !important; }
.sns-link:hover { border-color: var(--gold) !important; color: var(--gold) !important; }
.contact-note { border-top-color: rgba(184,128,48,0.18) !important; color: rgba(247,240,226,0.5) !important; }
.contact-note a { color: var(--gold-light) !important; border-bottom-color: rgba(184,128,48,0.3) !important; }

/* page-privacy — priv-intro keeps its own light bg; only priv-articles need flip */
.priv-article { border-bottom-color: rgba(184,128,48,0.18) !important; }
.priv-article-num { color: var(--gold) !important; }
.priv-article-num-label { color: rgba(247,240,226,0.45) !important; }
.priv-article-heading { color: var(--paper-light) !important; }
.priv-article-heading em { color: var(--gold-light) !important; }
.priv-article-body p { color: rgba(247,240,226,0.7) !important; }
.priv-article-body li { color: rgba(247,240,226,0.65) !important; }
.priv-article-body ul li::marker,
.priv-article-body ol li::marker { color: var(--gold) !important; }

/* front-page — what-do, tok-info accents */
.what-item:hover { background: var(--paper-dark) !important; }
.tok-info { background: var(--paper-cream) !important; color: var(--ink) !important; }
.tok-fact { border-bottom-color: var(--paper-border) !important; }
/* tok-info はクリーム背景なので、内側の見出しは濃色に戻す */
.tok-info .sec-title { color: var(--ink) !important; }
.tok-info .section-stamp { color: var(--burg) !important; border-color: var(--burg) !important; }
.tok-info .tok-fact-label { color: var(--burg) !important; }
.tok-info .tok-fact-text { color: var(--ink-mid) !important; }
