/* Legal / subpage layout — same design tokens as main site */
.legal-page{background:var(--paper);color:var(--ink);min-height:100vh}
.legal-header{
  background:var(--night);
  color:var(--paper);
  padding:28px 0 0;
  border-bottom:1px solid var(--line-night);
}
.legal-header .nav{padding-bottom:22px}
.legal-header .brand{color:var(--paper)}
.legal-main{padding:72px 0 110px}
.legal-main .eyebrow{margin-bottom:22px}
.legal-main h1{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:.05em;line-height:1.45;
  margin-bottom:10px;
}
.legal-main .legal-en{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.28em;
  color:var(--muted);text-transform:uppercase;margin-bottom:34px;
}
.legal-main .lead{color:var(--muted);max-width:48em;margin-bottom:48px}
.legal-main h2{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.15rem,2.2vw,1.45rem);letter-spacing:.05em;
  margin:42px 0 14px;padding-top:8px;
  border-top:1px solid var(--line-soft);
}
.legal-main h2:first-of-type{border-top:none;padding-top:0;margin-top:0}
.legal-main h3{
  font-family:var(--font-display);font-weight:600;
  font-size:1.05rem;letter-spacing:.04em;margin:24px 0 10px;
}
.legal-main p,.legal-main li{color:var(--muted);font-size:.94rem}
.legal-main ul{margin:10px 0 18px 1.2em}
.legal-main li{margin:6px 0}
.legal-table{
  width:100%;border-collapse:collapse;border:1px solid var(--line);
  margin:28px 0 36px;font-size:.92rem;
}
.legal-table th,.legal-table td{
  border:1px solid var(--line);padding:14px 16px;vertical-align:top;text-align:left;
}
.legal-table th{
  width:32%;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;
  color:var(--ink);background:#FBFCFB;font-weight:500;
}
.legal-table td{color:var(--muted)}
.legal-table td small{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;color:var(--muted);margin-top:6px}
.legal-sign{
  margin-top:56px;padding-top:24px;border-top:1px solid var(--line);
  font-family:var(--font-display);font-size:.95rem;letter-spacing:.06em;
}
.legal-sign small{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;color:var(--muted);margin-top:8px}

/* ---------- mobile nav ---------- */
.nav-toggle{
  display:none;
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.22em;
  color:var(--point);background:none;border:1px solid var(--line-night);
  padding:8px 12px;cursor:pointer;
}
.nav-toggle:focus{outline:1px solid var(--amber);outline-offset:2px}
.mobile-nav{
  display:none;position:fixed;inset:0;z-index:20;
  background:rgba(13,19,34,.96);padding:88px 28px 28px;
}
.mobile-nav.open{display:block}
.mobile-nav a{
  display:block;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.2em;
  color:var(--paper);text-decoration:none;padding:14px 0;
  border-bottom:1px solid var(--line-night);
}
.mobile-nav a:hover{color:var(--amber)}
.mobile-nav-close{
  position:absolute;top:24px;right:24px;
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.2em;
  color:var(--point);background:none;border:none;cursor:pointer;
}
@media (max-width:640px){
  .nav-toggle{display:inline-block}
  .hero-inner{padding:108px 20px 0}
  .hero h1{font-size:clamp(2rem,9vw,2.6rem)}
  .hero p.lead{font-size:.92rem}
  .scan-hint{right:16px;bottom:12px;font-size:.58rem}
  section.paper{padding:88px 0}
  .night{padding:88px 0 96px}
  .bridge{padding:80px 0 70px}
  .monolith{gap:14px}
  .monolith span{
    font-size:clamp(1.1rem,4.8vw,1.5rem);
    letter-spacing:.28em;min-height:6.5em;padding-top:18px;
  }
  .monolith-caption{margin-top:48px}
  .form-foot{flex-direction:column;align-items:flex-start}
  .legal-table th,.legal-table td{display:block;width:100%}
  .legal-table tr{border-bottom:1px solid var(--line)}
  .legal-table th{border-bottom:none;padding-bottom:6px}
  .legal-table td{padding-top:0}
}

/* ---------- company section ---------- */
.company-table{
  width:100%;border-collapse:collapse;border:1px solid var(--line);
  background:#FBFCFB;
}
.company-table th,.company-table td{
  border-bottom:1px solid var(--line-soft);padding:18px 22px;
  vertical-align:top;text-align:left;
}
.company-table tr:last-child th,.company-table tr:last-child td{border-bottom:none}
.company-table th{
  width:34%;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;
  color:var(--ink);font-weight:500;
}
.company-table td{color:var(--muted);font-size:.92rem}
.company-table td small{
  display:block;font-family:var(--font-mono);font-size:.62rem;
  letter-spacing:.1em;color:var(--muted);margin-top:6px;
}
.company-table a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.operated-by{
  margin-top:18px;
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;
  color:var(--muted);
}
.hero .operated-by{color:var(--point);margin-top:20px;font-size:.66rem}
.operated-by a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.operated-by a:hover{color:var(--ink)}
.hero .operated-by a:hover{color:var(--amber)}

/* ---------- footer expansion ---------- */
.foot-grid{
  margin-top:72px;display:grid;
  grid-template-columns:1.2fr 1fr 1fr;gap:40px 28px;
}
.foot-col h3{
  font-family:var(--font-mono);font-size:.64rem;letter-spacing:.24em;
  color:var(--amber);text-transform:uppercase;margin-bottom:16px;
}
.foot-col p,.foot-col a{
  font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;
  color:var(--point);text-decoration:none;line-height:2;
}
.foot-col a:hover{color:var(--amber)}
.foot-col .addr{line-height:1.8;margin-top:4px}
@media (max-width:840px){
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .foot-grid{grid-template-columns:1fr}
  .company-table th,.company-table td{display:block;width:100%}
  .company-table th{padding-bottom:6px;border-bottom:none}
  .company-table td{padding-top:0}
}

/* ---------- cookie banner ---------- */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:30;
  background:var(--night-2);color:var(--paper);
  border-top:1px solid var(--line-night);
  padding:18px 24px;display:none;
}
.cookie-banner.show{display:block}
.cookie-inner{
  max-width:1080px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.cookie-inner p{
  font-size:.82rem;color:#B9C4DB;max-width:52em;line-height:1.7;
}
.cookie-inner a{color:var(--amber)}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-btn{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;
  padding:10px 18px;border:1px solid var(--line-night);background:transparent;
  color:var(--paper);cursor:pointer;
}
.cookie-btn.accept{background:var(--seal);border-color:var(--seal)}
.cookie-btn:hover{filter:brightness(1.05)}
@media (prefers-reduced-motion: reduce){
  .cookie-banner{transition:none}
}
