/* Styles for the funding, legal and 404 pages. Same tokens and type as the main page. */
:root{
  --void:#171717; --graphite:#232323; --surface:#303030;
  --grey:#656565; --light:#C8C8C2; --text:#F2F2ED; --y:#FFD400;
  --w-06:rgba(242,242,237,.06); --w-10:rgba(242,242,237,.10); --w-16:rgba(242,242,237,.16);
  --pad:clamp(16px,5vw,64px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--void)}
body{margin:0;background:var(--void);color:var(--light);
  font-family:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--y);text-underline-offset:3px}
a:hover{color:var(--text)}
:focus-visible{outline:2px solid var(--y);outline-offset:3px}
img{max-width:100%;height:auto}
.skip{position:absolute;left:12px;top:-60px;z-index:500;background:var(--y);color:var(--void);
  padding:10px 16px;font-weight:700;text-decoration:none;border-radius:3px}
.skip:focus{top:12px}

/* top bar */
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:14px var(--pad);border-bottom:1px solid var(--w-10);background:var(--void);position:sticky;top:0;z-index:50}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--text);text-decoration:none;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.brand svg{color:var(--light);flex:none}
.bar-r{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.bar-r a{font-size:14px;color:var(--light);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.bar-r a:hover{color:var(--y)}
.langsel select{min-height:40px;font:inherit;font-size:16px;color:var(--text);background:var(--graphite);
  border:1px solid var(--w-16);border-radius:3px;padding:6px 10px}

/* content */
main{max-width:880px;margin:0 auto;padding:clamp(40px,7vw,90px) var(--pad) clamp(56px,8vw,110px)}
.kicker{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--y)}
h1{margin:0 0 18px;font-family:'Instrument Serif',Georgia,serif;font-weight:400;
  font-size:clamp(34px,7vw,72px);line-height:1.05;color:var(--text);letter-spacing:-.01em;overflow-wrap:break-word;hyphens:auto}
h2{margin:44px 0 12px;font-size:clamp(20px,2.6vw,24px);line-height:1.3;color:var(--text);font-weight:700}
h3{margin:0 0 4px;font-size:17px;color:var(--text)}
p{margin:0 0 14px;max-width:70ch;overflow-wrap:break-word}
p a,li a,td{overflow-wrap:anywhere}
.updated{font-size:14px;color:var(--light);opacity:.85;margin-bottom:28px}
.lead{font-size:clamp(17px,2vw,19px);color:var(--text)}
ul.links{padding:0;margin:0;list-style:none;display:grid;gap:8px}
ul.links a{display:inline-flex;align-items:center;min-height:32px}

/* fact table */
.facts{width:100%;border-collapse:collapse;margin:8px 0 0;font-size:16px}
.facts th,.facts td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--w-10)}
.facts th{width:36%;color:var(--light);font-weight:500}
.facts td{color:var(--text)}

/* cookies table: a real table on wide screens, cards on phones */
.ctable{width:100%;border-collapse:collapse;margin:18px 0 22px;font-size:15px}
.ctable th,.ctable td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--w-10)}
.ctable thead th{color:var(--text);font-size:13px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--w-16)}
.ctable code{font-size:14px;color:var(--y);word-break:break-word}

/* logos: always on white, EU emblem never altered */
.logoplate{display:flex;flex-wrap:wrap;align-items:center;gap:28px 44px;background:#fff;border-radius:4px;
  padding:26px 30px;margin:26px 0 8px}
.logoplate img{display:block;width:auto;height:120px;max-width:100%;object-fit:contain}
.logoplate img.sm{height:90px}

/* partners */
.partners{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:16px}
.pcard{background:var(--graphite);border:1px solid var(--w-10);border-radius:4px;padding:16px;display:flex;flex-direction:column;gap:10px}
.pcard .plogo{background:#fff;border-radius:3px;height:84px;display:flex;align-items:center;justify-content:center;padding:10px}
.pcard .plogo img{max-height:64px;width:auto}
.pcard .meta{font-size:14px;color:var(--light);margin:0}
.pcard a{font-size:15px;min-height:28px;display:inline-flex;align-items:center}
.disclaimer{background:var(--graphite);border-left:3px solid var(--y);padding:16px 18px;border-radius:2px;color:var(--text)}

/* 404 */
.btn{display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;background:var(--y);color:var(--void);
  font-weight:700;text-decoration:none;border-radius:3px}
.btn:hover{color:var(--void);background:#fff}

/* footer */
.foot{border-top:1px solid var(--w-10);padding:34px var(--pad) 40px;font-size:14px}
.foot-in{max-width:1100px;margin:0 auto}
.foot .lbl{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--light)}
.frow{display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px;background:#fff;border-radius:3px;padding:16px 22px;width:fit-content;max-width:100%}
.frow img{display:block;height:60px;width:auto}
.foot .disc{margin:18px 0 8px;max-width:90ch;line-height:1.65}
.foot .note{margin:0 0 18px;max-width:90ch;line-height:1.65;opacity:.9}
.flegal{display:flex;flex-wrap:wrap;gap:6px 22px;padding-top:16px;border-top:1px solid var(--w-06)}
.flegal a,.flegal .linkbtn{color:var(--light);min-height:32px;display:inline-flex;align-items:center}
.flegal a:hover{color:var(--y)}

@media (max-width:640px){
  body{font-size:16px}
  .bar{position:static;padding-top:6px;padding-bottom:6px;gap:4px 12px}
  .langsel select{min-height:44px}
  .flegal a,.flegal .linkbtn{min-height:44px}
  .pcard a{min-height:44px}
  ul.links a{min-height:44px}
  .facts,.facts tbody,.facts tr,.facts th,.facts td{display:block;width:100%}
  .facts tr{border-bottom:1px solid var(--w-10);padding:10px 0}
  .facts th,.facts td{border:0;padding:2px 0}
  .facts th{font-size:14px}
  .ctable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ctable,.ctable tbody,.ctable tr,.ctable td{display:block;width:100%}
  .ctable tr{background:var(--graphite);border:1px solid var(--w-10);border-radius:4px;padding:10px 12px;margin-bottom:10px}
  .ctable td{border:0;padding:3px 0}
  .ctable td::before{content:attr(data-th);display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--light);opacity:.85}
  .logoplate{flex-direction:column;align-items:flex-start;padding:20px}
  .logoplate img{height:auto;max-height:110px}
  .frow{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:14px 18px;padding:14px}
  .frow img{height:auto;max-height:60px;max-width:100%}
  .frow picture{display:block}
  .frow picture:first-child{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
