@font-face { font-family: 'Fixel Display'; src: url('/assets/fonts/FixelDisplay-Regular.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: 'Fixel Text'; src: url('/assets/fonts/FixelText-Regular.woff2') format('woff2'); font-display: swap; }
@font-face { font-family: 'Fixel Text'; src: url('/assets/fonts/FixelText-SemiBold.woff2') format('woff2'); font-weight: 600; font-display: swap; }

:root { color-scheme: dark; --ink:#10130f; --forest:#172016; --gold:#bea15b; --ivory:#e7e4d8; --muted:#a8aa9f; }
* { box-sizing: border-box; }
html { background: #090c09; scroll-behavior: smooth; }
body { margin: 0; background: var(--forest); color: var(--ivory); font-family: 'Fixel Text', sans-serif; }
a { color: inherit; text-decoration-color: var(--gold); text-underline-offset: 5px; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.legal-header { display:flex; align-items:center; justify-content:space-between; min-height:108px; padding:24px clamp(22px,5vw,78px); border-bottom:1px solid rgba(190,161,91,.45); background:var(--ink); }
.legal-logo { width:130px; height:62px; background:var(--gold); -webkit-mask:url('/assets/koi-logo-green.svg') left center/contain no-repeat; mask:url('/assets/koi-logo-green.svg') left center/contain no-repeat; }
.legal-header nav { display:flex; gap:24px; align-items:center; font-size:.86rem; }
.legal-header nav a:last-child { color:var(--gold); font-weight:600; }
.legal-main { display:grid; grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr); max-width:1320px; margin:0 auto; }
.legal-intro { position:sticky; top:0; align-self:start; min-height:calc(100vh - 108px); padding:clamp(48px,8vw,112px) clamp(22px,5vw,72px); border-right:1px solid rgba(190,161,91,.3); background:var(--ink); }
.legal-kicker { color:var(--gold); font-size:.72rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.legal-intro h1 { max-width:680px; margin:22px 0 28px; font-family:'Fixel Display',sans-serif; font-size:clamp(2.6rem,5.4vw,6.2rem); font-weight:400; line-height:.98; letter-spacing:-.055em; }
.legal-intro p { max-width:460px; color:var(--muted); line-height:1.65; }
.legal-updated { margin-top:38px; color:var(--gold)!important; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.legal-content { padding:clamp(48px,8vw,112px) clamp(22px,6vw,92px) 120px; background:#deddd0; color:#11150f; }
.legal-content section { max-width:760px; padding:0 0 44px; margin:0 0 44px; border-bottom:1px solid rgba(125,101,46,.28); }
.legal-content h2 { margin:0 0 18px; font-family:'Fixel Display',sans-serif; font-size:clamp(1.65rem,3vw,3rem); font-weight:400; letter-spacing:-.035em; }
.legal-content p, .legal-content li { color:#55584f; font-size:clamp(.94rem,1.25vw,1.06rem); line-height:1.75; }
.legal-content ul { padding-left:1.2em; }
.legal-content strong { color:#11150f; font-weight:600; }
.cookie-table { display:grid; margin-top:24px; border-top:1px solid rgba(125,101,46,.3); }
.cookie-row { display:grid; grid-template-columns:1fr 1.3fr .8fr; gap:18px; padding:18px 0; border-bottom:1px solid rgba(125,101,46,.3); }
.cookie-row span { color:#55584f; font-size:.9rem; line-height:1.5; }
.cookie-row strong { font-size:.9rem; }
.settings-button { appearance:none; min-height:54px; padding:0 22px; border:1px solid #11150f; border-radius:0; background:transparent; color:#11150f; cursor:pointer; font:600 .88rem 'Fixel Text',sans-serif; }
.settings-button:hover { background:#11150f; color:var(--ivory); }
.legal-footer { display:flex; justify-content:space-between; gap:18px; padding:28px clamp(22px,5vw,78px); background:var(--ink); color:var(--muted); font-size:.8rem; }
@media (max-width:760px) {
  .legal-header { min-height:90px; padding:18px 22px; }
  .legal-logo { width:106px; height:52px; }
  .legal-header nav a:first-child { display:none; }
  .legal-main { grid-template-columns:1fr; }
  .legal-intro { position:relative; min-height:0; border-right:0; border-bottom:1px solid rgba(190,161,91,.3); }
  .legal-content { padding-bottom:80px; }
  .cookie-row { grid-template-columns:1fr; gap:7px; }
  .legal-footer { flex-direction:column; }
}
