/* Shared informational pages and footer. Not loaded by the app. */
.support-footer { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:38px; margin-top:76px; padding:42px 0 26px; border-top:1px solid var(--line); }
.footer-brand p { margin:18px 0 0; color:var(--muted-ink); font-size:14px; line-height:1.8; }
.footer-links { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.footer-links h2 { margin:2px 0 10px; color:#f5f4ee; font-size:13px; font-weight:750; }
.footer-links a { display:flex; align-items:center; min-height:44px; padding:7px 0; color:var(--muted-ink); font-size:13px; line-height:1.65; }
.footer-links a:hover { color:var(--yellow); text-decoration:underline; text-underline-offset:4px; }
.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 30px; grid-column:1/-1; padding-top:22px; border-top:1px solid #2c2c2c; color:#a9a9a4; font-size:11px; line-height:1.8; }
.footer-bottom p { margin:0; }
.support-header { border-bottom:1px solid #303030; }
.support-header .main-nav { gap:20px; }
.support-header [aria-current="page"] { color:var(--yellow); }
.english-only-label { color:var(--muted-ink); font-size:12px; }
.support-main { padding-top:28px; }
.support-hero { max-width:850px; margin:54px auto 42px; }
.support-hero.has-character { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:35px; align-items:center; max-width:980px; }
.support-hero .section-kicker { margin-bottom:16px; font-size:11px; }
.support-hero h1 { margin:0; max-width:760px; font-size:clamp(32px,4.2vw,52px); line-height:1.4; letter-spacing:-.045em; font-weight:800; text-wrap:balance; }
.support-lead { max-width:750px; margin:22px 0 0; color:var(--muted-ink); font-size:16px; line-height:1.9; text-wrap:pretty; }
.support-character { width:190px; height:190px; object-fit:contain; filter:drop-shadow(0 10px 12px #0005); }
.support-content { max-width:850px; margin-inline:auto; }
.content-section { padding:34px 0; border-top:1px solid #343434; scroll-margin-top:24px; }
.content-section h2 { margin:0 0 20px; font-size:22px; line-height:1.6; letter-spacing:-.02em; text-wrap:balance; }
.content-section p, .content-list { margin:0 0 18px; color:#c6c6c1; font-size:14px; line-height:2; overflow-wrap:anywhere; }
.content-section p:last-child { margin-bottom:0; }
.content-list { padding-left:23px; }
.content-list li { padding-left:5px; margin-bottom:13px; }
.content-list li::marker { color:var(--yellow); font-weight:750; }
.section-links { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:12px; }
.section-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--yellow); font-size:14px; line-height:1.8; text-decoration:underline; text-underline-offset:5px; }
.section-links a::after { content:'→'; margin-left:8px; }
.section-links .external-link::after { content:'↗'; }
.detail-list { margin:0; border:1px solid #383838; border-radius:14px; overflow:hidden; }
.detail-list > div { display:grid; grid-template-columns:200px minmax(0,1fr); gap:22px; padding:21px 24px; }
.detail-list > div:nth-child(odd) { background:#1c1c1c; }
.detail-list > div+div { border-top:1px solid #333; }
.detail-list dt { font-size:13px; font-weight:750; line-height:1.85; }
.detail-list dd { margin:0; color:#c6c6c1; font-size:13px; line-height:1.9; overflow-wrap:anywhere; }
.detail-list dd > [data-ja][data-en] { white-space:pre-line; }
.detail-list dd > a { color:var(--yellow); text-underline-offset:4px; }
.plans-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:980px; margin:0 auto 56px; }
.plan-card { display:flex; flex-direction:column; padding:30px; border:1px solid #454545; border-radius:22px; background:#1a1a1a; }
.plan-card--plus { border-color:#736030; background:linear-gradient(150deg,#2a2517,#1a1a1a 55%); }
.plan-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.plan-heading h2 { margin:0; font-size:25px; }
.plan-label { padding:5px 10px; border:1px solid #464646; border-radius:20px; color:#c9c9c5; font-size:11px; line-height:1.5; }
.plan-card--plus .plan-label { border-color:#736030; color:var(--yellow); }
.plan-price { margin:22px 0 8px; font-size:clamp(22px,2.6vw,30px); font-weight:800; line-height:1.6; letter-spacing:-.04em; }
.plan-note { min-height:44px; margin:0; color:var(--muted-ink); font-size:13px; line-height:1.8; }
.plan-features { flex:1; margin:26px 0 32px; padding:0; list-style:none; }
.plan-features li { position:relative; margin:0 0 16px; padding-left:24px; color:#dbdbd6; font-size:13px; line-height:1.8; }
.plan-features li::before { position:absolute; left:0; content:'✓'; color:var(--yellow); }
.plan-card--plus .plan-features li::before { content:'○'; color:#bfaa6c; }
.plan-card .button-primary { width:100%; min-height:52px; font-size:15px; padding:12px 20px; gap:12px; }
.plan-unavailable { display:grid; place-items:center; min-height:52px; margin:0; border:1px dashed #786531; border-radius:13px; color:#d9c485; font-size:14px; font-weight:650; }
@media(max-width:850px) {
  .support-footer { grid-template-columns:1fr 1fr; gap:30px; }
  .footer-brand { grid-column:1/-1; }
  .support-header .main-nav { gap:12px; }
  .support-header .main-nav > a:not(.button-outline) { display:none; }
  .support-hero.has-character { grid-template-columns:minmax(0,1fr) 130px; gap:20px; }
  .support-character { width:130px; height:160px; }
  .plan-card { padding:24px; }
}
@media(max-width:600px) {
  .support-header { flex-wrap:wrap; gap:18px; padding-block:20px; }
  .support-header .brand img { width:184px; }
  .support-header .main-nav { width:100%; justify-content:space-between; }
  .support-header .main-nav > a:not(.button-outline) { display:inline-flex; font-size:12px; }
  .support-header .button-outline { padding:9px 13px; font-size:12px; }
  .support-header .language-switch { padding:3px; }
  .support-header .language-switch button { min-width:38px; min-height:38px; padding:5px 7px; }
  .english-only-label { font-size:10px; }
  .support-main { padding-top:20px; }
  .page-status { padding:12px; font-size:11px; }
  .support-hero, .support-hero.has-character { position:relative; display:block; margin:34px 0 30px; }
  .support-hero.has-character > div { padding-top:86px; }
  .support-character { position:absolute; top:-6px; left:-6px; width:88px; height:82px; }
  .support-hero h1 { font-size:32px; }
  .support-lead { margin-top:16px; font-size:14px; }
  .plans-grid { grid-template-columns:1fr; gap:18px; margin-bottom:35px; }
  .plan-card { padding:24px; }
  .plan-note { min-height:0; }
  .content-section { padding:28px 0; }
  .content-section h2 { font-size:20px; }
  .content-section p, .content-list { font-size:13px; line-height:1.95; }
  .detail-list > div { grid-template-columns:1fr; gap:7px; padding:18px; }
  .support-footer { margin-top:45px; padding-top:30px; gap:24px 16px; }
  .footer-brand .brand img { width:184px; }
  .footer-links h2, .footer-links a { font-size:12px; }
  .footer-bottom { display:block; font-size:10px; }
  .footer-bottom p { margin-top:8px; }
}
@media(prefers-reduced-motion:reduce) { .support-main * { scroll-behavior:auto; } }
