:root{
  --paper:#F7F4ED;--paper2:#EFEBE0;--ink:#23262E;--muted:#72757C;
  --navy:#1B3A82;--night:#0E1B3E;--abyss:#0B1430;--green:#8CC53E;
  --voice:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --body:"Zen Kaku Gothic New",sans-serif;
  --label:"Space Grotesk","Zen Kaku Gothic New",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:2;letter-spacing:.04em;-webkit-font-smoothing:antialiased}
a{color:inherit}
.legal-header{height:112px;border-bottom:1px solid rgba(35,38,46,.11);display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px);background:rgba(247,244,237,.94)}
.legal-logo{display:block;width:154px}
.legal-logo img{display:block;width:100%;height:auto}
.back-link{font-family:var(--label);font-size:12px;letter-spacing:.18em;text-decoration:none;border:1px solid rgba(35,38,46,.28);border-radius:999px;padding:9px 18px;transition:.25s}
.back-link:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.legal-hero{width:min(90vw,1040px);margin:0 auto;padding:14vh 0 10vh}
.eyebrow{display:flex;align-items:center;gap:13px;font-family:var(--label);font-size:12px;letter-spacing:.22em;color:var(--muted)}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--navy)}
.eyebrow::after{content:"";width:44px;height:2px;background:var(--green)}
h1{margin-top:38px;font-family:var(--voice);font-size:clamp(28px,3.8vw,44px);font-weight:500;line-height:1.55;letter-spacing:.1em}
.lead{max-width:800px;margin-top:40px;color:#454850}
.legal-content{width:min(90vw,1040px);margin:0 auto;padding-bottom:16vh}
.policy-section{display:grid;grid-template-columns:minmax(170px,240px) 1fr;gap:5vw;padding:48px 0;border-top:1px solid rgba(35,38,46,.15)}
.policy-section h2{font-family:var(--voice);font-size:20px;font-weight:600;line-height:1.7;letter-spacing:.08em}
.policy-section p+.policy-list,.policy-section p+p{margin-top:18px}
.policy-list{list-style:none;counter-reset:item}
.policy-list li{position:relative;padding-left:2.5em;margin-top:10px}
.policy-list li::before{counter-increment:item;content:"(" counter(item) ")";position:absolute;left:0;color:var(--navy);font-family:var(--label);font-size:14px}
.policy-list.kanji li::before{content:counter(item, cjk-ideographic) "."}
.contact-lines{display:grid;gap:7px}
.dates{margin-top:48px;text-align:right;color:var(--muted);font-size:14px;line-height:1.9}
.trade-list{border-top:1px solid rgba(35,38,46,.15)}
.trade-row{display:grid;grid-template-columns:minmax(190px,280px) 1fr;gap:5vw;padding:30px 0;border-bottom:1px solid rgba(35,38,46,.15)}
.trade-row dt{font-family:var(--voice);font-weight:600;letter-spacing:.06em}
.trade-row dd{margin:0;color:#3C3F47}
.legal-footer{background:var(--abyss);color:var(--paper);padding:70px max(5vw,24px) 34px;text-align:center}
.legal-footer img{width:min(42vw,190px);margin:0 auto;display:block}
.legal-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 30px;margin-top:44px}
.legal-nav a{font-size:12px;letter-spacing:.1em;color:rgba(247,244,237,.74);text-decoration:none;border-bottom:1px solid rgba(247,244,237,.24);padding-bottom:4px}
.copyright{margin-top:48px;padding-top:24px;border-top:1px solid rgba(247,244,237,.14);font-family:var(--label);font-size:10px;letter-spacing:.2em;color:rgba(247,244,237,.48)}
@media(max-width:680px){
  .legal-header{height:88px}.legal-logo{width:130px}.back-link{font-size:11px;padding:7px 14px}
  .legal-hero{padding:11vh 0 8vh}h1{font-size:clamp(24px,7vw,32px);letter-spacing:.07em}.lead{margin-top:30px}
  .policy-section,.trade-row{grid-template-columns:1fr;gap:18px}.policy-section{padding:38px 0}.trade-row{padding:26px 0}
  .policy-section h2{font-size:18px}.legal-content{padding-bottom:12vh}.dates{text-align:left}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
