/* ==========================================================
   MIRAIESTA — Editorial Renewal 2026-09
   Ivory x Deep Forest Green / Shippori Mincho x Cormorant
   Applied globally; overrides legacy palettes via later cascade.
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;600;700;800&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&display=swap');

:root{
  --paper:#f7f5ef; --paper2:#f1eee4; --ink:#15181a; --muted:#6c6d63;
  --line:#dcd8ca; --brand:#2f5233; --brand-deep:#1d3a22; --brand-soft:#e7ebe0;
  --brass:#9a7b3f; --brass-deep:#7d6431;
  /* legacy var remap (pr.html etc.) */
  --bg:#f7f5ef; --bg2:#f1eee4; --panel:#fffdf8;
  --gold:#2f5233; --gold-bright:#1d3a22; --gold-deep:#9a7b3f;
}
html{scroll-behavior:smooth}
body{background:var(--paper)!important;color:var(--ink)!important;
  font-feature-settings:"palt";letter-spacing:.015em;}
::selection{background:var(--brand);color:#fff}

/* --- editorial typography --- */
h1,h2,h3,h4{
  font-family:'Shippori Mincho',serif!important;
  font-weight:600;letter-spacing:.03em;line-height:1.5;color:var(--brand-deep);
}
h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.tag,.lab,.en,.c-cat{letter-spacing:.16em}
a{transition:color .25s ease,background .25s ease,border-color .25s ease}
a:hover{color:var(--brand)}

/* --- rules & tags --- */
.tag{color:var(--brand)!important;border-left-color:var(--brass)!important}

/* --- hero areas (legacy hardcoded gradients) --- */
.hero{background:linear-gradient(180deg,#f1eee4 0%,#e9e4d4 100%)!important}
.hero h1{color:var(--brand-deep)}
.hero .jp,.hero-sub,.lead{color:var(--muted)}
.hero-sub b,.lead b{color:var(--brand-deep)}

/* --- buttons: editorial square --- */
.btn,.h-cta,a.btn{
  border:1px solid var(--brand)!important;border-radius:0!important;
  color:var(--brand)!important;background:transparent!important;
  padding:1.05rem 2.1rem!important;letter-spacing:.18em!important;font-size:.74rem!important;
}
.btn:hover,a.btn:hover{background:var(--brand)!important;color:#fff!important}
.btn.solid{background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important}
.btn.solid:hover{background:var(--brand-deep)!important;border-color:var(--brand-deep)!important}

/* --- sections & panels --- */
section{background:transparent}
section[style*="background"]{background:var(--paper2)!important}
.stat-row,.stat-strip{border-color:var(--line)!important}
.stat .n,.stat-cell .num{color:var(--brand)!important;font-family:'Cormorant Garamond',serif!important}

/* --- case cards (pr.html matrix) --- */
.case{background:#fffdf8!important;border:1px solid var(--line)!important;border-radius:0!important;
  box-shadow:none!important;transition:border-color .25s ease}
.case:hover{border-color:var(--brand)!important}
.case .c-cat{background:var(--brand)!important;border-radius:0!important}
.case h4{color:var(--ink)}
.case .m .lab,.case .ft .lab{color:var(--brass-deep)!important}
.case .ft{border-top:1px solid var(--line)!important}
.case-note{background:var(--brand-soft)!important;border:1px solid var(--line)!important;border-radius:0!important;color:var(--muted)!important}

/* --- header / footer unification --- */
header{background:rgba(247,245,239,.92)!important;border-bottom:1px solid var(--line)!important}
.logo .mk,.logo .en{color:var(--brand)!important;font-family:'Cormorant Garamond',serif!important}
nav a{color:var(--ink)}
footer{background:var(--paper2)!important;border-top:1px solid var(--line)!important;color:var(--muted)}

/* --- forms --- */
input,textarea,select{background:#fffdf8;border:1px solid var(--line);border-radius:0;padding:.9rem 1rem;font-size:.9rem}
input:focus,textarea:focus,select:focus{border-color:var(--brand);outline:none}

/* mobile safety: decorative glows must not extend layout */
html,body{overflow-x:hidden}
.glow{max-width:100vw;right:0}
