:root{
  --ink:#0E1A2B;
  --navy:#1F497D;
  --navy-deep:#16365C;
  --red:#C00000;
  --paper:#FFFFFF;
  --mist:#EDF2F8;
  --line:#C9D6E4;
  --muted:#4C5F76;
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --cond:"IBM Plex Sans Condensed","IBM Plex Sans",-apple-system,"Segoe UI",Arial,sans-serif;
  --gut:clamp(1.25rem,4vw,3.5rem);
  --maxw:1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-family:var(--cond);font-weight:600;letter-spacing:-.015em;line-height:1.08;margin:0}
p{margin:0 0 1em}

.top{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:1.5rem;height:66px;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.mark{font-family:var(--cond);font-weight:700;font-size:1.4rem;color:var(--red);letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.mark span{color:var(--navy);font-weight:500}
.nav{margin-left:auto;display:flex;gap:1.6rem;align-items:center}
.nav a{color:var(--ink);text-decoration:none;font-size:.95rem}
.nav a:hover{color:var(--red)}
@media(max-width:1100px){.top .mark span{display:none}}
@media(max-width:560px){.top-in{gap:.6rem;height:60px}.top .mark{font-size:1.18rem}}

.legalpage{padding:clamp(3rem,7vw,5.5rem) 0 clamp(3rem,7vw,5rem)}
.legalpage h1{font-size:clamp(2rem,4.4vw,3rem)}
.legalpage .stamp{color:var(--muted);font-size:.95rem;margin-top:.8rem}
.legalpage section{margin-top:clamp(2.2rem,4vw,3rem);max-width:70ch}
.legalpage h2{font-size:1.35rem;color:var(--navy);margin-bottom:.6rem;padding-top:1.1rem;border-top:2px solid var(--navy);max-width:none}
.legalpage p,.legalpage li{color:var(--muted)}
.legalpage .addr{color:var(--ink)}
.legalpage ul{margin:0;padding-left:1.2rem}
.legalpage li{margin-bottom:.4rem}

.foot{border-top:1px solid var(--line);padding:2.2rem 0;font-size:.9rem;color:var(--muted)}
.foot-in{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:baseline}
.foot .mark{font-size:1.1rem}
.foot p{margin:0}
.foot .legal{margin-left:auto;max-width:56ch}
