/* stageT: one site-wide type + color system. Loaded last on every page; overrides older per-page styles. */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fonts/montserrat-var-latin.woff2) format("woff2")}
:root{
  --font:"Montserrat",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI",Meiryo,"Noto Sans JP",sans-serif;
  --h:var(--font);--pixel:var(--font);
  --ink:#0a0a0a;--fg:#0a0a0a;--muted:#4b5563;--line:#e5e7eb;--line-2:#d1d5db;
  --accent:#0a0a0a;--accent-ink:#4b5563;--accent-50:#f7f8fa;
  --surface:#ffffff;--surface-2:#f7f8fa;
  --laser-50:var(--surface-2);--laser-100:#eef1f5;
  --t-radius:12px;--t-btn-radius:10px;
}
html body{font-family:var(--font);font-size:16px;line-height:1.6;color:var(--fg);font-weight:400}
/* One heading family, weight and scale everywhere */
h1,h2,h3,h4,.h3-lg,.hero10 .hx-h,.p5 h3,.pay5 h3,.p5 .price5 b,.pay5 .amt,.pl-price b,.pay-now strong{font-family:var(--font)!important;font-variant:normal;text-transform:none}
h1,.hero10 .hx-h{font-weight:700;letter-spacing:-.022em;line-height:1.1}
h2{font-weight:700;letter-spacing:-.018em;line-height:1.2}
h3,h4{font-weight:600;letter-spacing:-.01em;line-height:1.3}
h1{font-size:clamp(2rem,4.6vw,3.25rem)}
h2{font-size:clamp(1.5rem,2.8vw,2.1rem)}
h3{font-size:1.15rem}
h4{font-size:1rem}
.hero10 .hx-h{font-size:clamp(2.1rem,6vw,4.25rem);text-shadow:0 2px 24px rgba(0,0,0,.45)}
.hv-label{font-family:var(--font);font-variant:normal;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600}
/* Eyebrows / small labels: one style */
.eyebrow,.eyebrow5,.pill-label,.feed-head strong,.term-label,.bubble .who,.show-price b,.ss-eb,.c9-eb,.tc-lbl{font-family:var(--font)!important;font-weight:600;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hero10 .eyebrow,.c9 .c9-eb,.sv-hero2 .eyebrow{color:#d1d5db}
/* Body text */
p,li{font-weight:400}
.muted,.small{color:var(--muted)}
/* Highlighted keywords: no more mixed light-blue text; subtle emphasis only */
.kw{color:inherit!important;font-weight:600!important;background:none!important;padding:0!important}
a.kw,.kw a{color:var(--accent)!important}
.sv-hero2 .kw,.hero10 .kw,.c9 .kw,.dark .kw{color:#fff!important}
/* Links */
main a:not(.btn):not(.prow-a):not(.c9-btn):not(.path9):not(.tc-link):not(.rot-btn){color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
main a:not(.btn):not(.prow-a):not(.c9-btn):not(.path9):hover{color:var(--accent-ink)}
.site-footer a,.foot a{color:var(--muted);text-decoration:none}
.site-footer a:hover,.foot a:hover{color:var(--fg)}
/* Buttons: one shape, two styles */
.btn{font-family:var(--font)!important;font-weight:600!important;border-radius:var(--t-btn-radius)!important;letter-spacing:0;text-transform:none}
.btn-blue{background:#0a0a0a!important;color:#fff!important;border-color:#0a0a0a!important}
.btn-blue:hover{background:#1d1f23!important}
.btn:focus-visible{outline:2px solid #7cd4ff;outline-offset:2px;box-shadow:none}
/* Cards: one look */
.p5,.pay5,.tc-card,.st-card,.gp-card,.actor,.card,.offer-card,.samp5-in{border-radius:var(--t-radius);border-color:var(--line)}
/* Tinted bands: one neutral tint instead of mixed blues */
.band,.tint,.sec-tint{background:var(--surface-2)}
code,kbd,pre,.mono,.addr{font-family:var(--mono)}
@media (max-width:600px){h1{font-size:clamp(1.8rem,8vw,2.4rem)}h2{font-size:clamp(1.35rem,6vw,1.75rem)}}
.sv-hero2 a:not(.btn),.hero10 a:not(.btn):not(.path9),.c9 a:not(.btn):not(.c9-btn),.hv a,.wm a:not(.btn){color:#fff!important}
/* One card surface: neutral silver gradient, no pastel rotation */
.sv-card,.sv-card:nth-child(n){background:linear-gradient(180deg,#fff,#f4f5f7)!important;border-color:#d9dde3}
.sv-card:hover{border-color:#b9c0ca;box-shadow:0 18px 40px -24px rgba(10,20,30,.45)}
.c9-console.c9-purple .c9-media,.c9-show.c9-collectibles .c9-media{background:#eceef1}
/* Accent text -> white on dark, ink on light */
.sv2-acc{color:#fff!important;text-shadow:none!important}
.map10-k,.sv2-tbl th{color:#d1d5db!important}
.pl-eyebrow,.tn-try{color:var(--muted)!important}
.pl-n,.tn-price,.term .k,.caret{color:inherit!important}
.tag.blue{background:#f3f4f6;color:#0a0a0a}
/* Notes / callouts: one neutral style */
.pl-cancel,.pm-pay,.notice{background:var(--surface-2)!important;border-color:var(--line)!important}
.pl-cancel{border-left:3px solid #0a0a0a!important}
.pl-eyebrow{background:#f3f4f6!important;border:1px solid var(--line)!important;font-weight:600;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}

/* TG 205-207 (2026-10-22): one font site-wide, Montserrat (OFL, self-hosted). Bolder geometric headings; only weight/tracking change. */
html body,html[lang="ja"] body{font-family:var(--font);font-weight:450}
button,input,select,textarea{font-family:inherit}
h1,.hero10 .hx-h{font-weight:800;letter-spacing:-.025em}
h2,.h3-lg{font-weight:800;letter-spacing:-.02em}
h3,h4,.p5 h3,.pay5 h3{font-weight:700;letter-spacing:-.01em}
.p5 .price5 b,.pay5 .amt,.pl-price b,.pay-now strong{font-weight:800}
.eyebrow,.eyebrow5,.pill-label,.feed-head strong,.term-label,.bubble .who,.show-price b,.ss-eb,.c9-eb,.tc-lbl,.hv-label{font-weight:700!important;letter-spacing:.14em}
.btn{font-weight:700!important}
strong,b{font-weight:700}
.brand .lockup-img,.nav5 .lockup-img{width:auto}
/* CJK: Montserrat has no Japanese glyphs; they fall back to the system Japanese fonts in --font. Keep JP headings from looking cramped. */
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] .hero10 .hx-h{letter-spacing:0}
/* TG-223 (8:57 PM PT): levelled, lighter wordmark rendered smaller in header */
.brand .lockup-img,.nav5 .lockup-img,.site-header .lockup-img{height:17px;width:auto}
@media (max-width:400px){.nav .lockup-img{height:16px}}
@media (max-width:360px){.brand .lockup-img,.site-header .nav:has(.lang9) .lockup-img{height:15px;width:auto}}
.wm-foot{height:12px;width:auto;vertical-align:-1px}
