/* Self-hosted fonts (SIL Open Font License, see fonts/OFL-*.txt).
   Nothing is loaded from Google servers: no third-party connection, no GDPR exposure. */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/newsreader-latin-opsz-normal.woff2") format("woff2-variations"),url("../fonts/newsreader-latin-opsz-normal.woff2") format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:200 800;font-display:swap;src:url("../fonts/newsreader-latin-opsz-italic.woff2") format("woff2-variations"),url("../fonts/newsreader-latin-opsz-italic.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/ibm-plex-sans-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2")}

:root{
  --gutter:clamp(16px,4vw,40px);
  --sans:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Menlo,Consolas,monospace;

  /* Palette taken from the NEU logo: orange #FE7B18, greens #CFDA17/#B0B913/#919811, teal #38BACA.
     Text-bearing shades are darkened versions that meet WCAG AA contrast. */
  --logo-orange:#FE7B18; --logo-lime:#B0B913; --logo-teal:#38BACA;
  --bg:#F4F7F5; --surface:#FFFFFF; --surface-2:#E9EFEC;
  --panel:#0B2A30; --panel-2:#12383F; --panel-3:#18464E; --panel-line:#265760;
  --on-panel:#EEF6F6; --on-panel-2:#A6C4C8; --on-panel-3:#7FA0A5; --accent-on-panel:#FF8A33;
  --ink:#0F2226; --ink-2:#475A5E; --ink-3:#5F7478;
  --line:#D3DEDC; --line-2:#E3EAE8;
  --brand:#0C6874; --brand-strong:#084F58; --brand-soft:#D5EDF0;
  --copper:#C4520A; --copper-strong:#A34306; --copper-text:#AE4808; --copper-soft:#FDE8D8; --on-copper:#FFFFFF;
  --wafer-line:#0C6874; --wafer-fill:#FFFFFF; --wafer-die:#C9E3E6; --wafer-die-on:#0C6874; --wafer-good:#FE7B18;
  --nav-bg:rgba(244,247,245,.86);
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#08191D; --surface:#0E252A; --surface-2:#143038;
    --panel:#041115; --panel-2:#0B2127; --panel-3:#112C33; --panel-line:#1E4048;
    --on-panel:#EEF6F6; --on-panel-2:#A6C4C8; --on-panel-3:#7FA0A5; --accent-on-panel:#FF9A4D;
    --ink:#E6F0F1; --ink-2:#A9BEC1; --ink-3:#7F989C;
    --line:#1F3B42; --line-2:#173036;
    --brand:#5CC9D6; --brand-strong:#8ADCE5; --brand-soft:#10363C;
    --copper:#FE7B18; --copper-strong:#FF9A4D; --copper-text:#FF9A4D; --copper-soft:#3A2210; --on-copper:#1A0D03;
    --wafer-line:#5CC9D6; --wafer-fill:#0B2127; --wafer-die:#1F3B42; --wafer-die-on:#5CC9D6; --wafer-good:#FE7B18;
    --nav-bg:rgba(8,25,29,.84);
    color-scheme:dark;
  }
}

*{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth; scroll-padding-top:84px}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *{transition:none !important; animation:none !important} }
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
p{margin:0}
img{max-width:100%; display:block}
a{color:var(--brand)}
:focus-visible{outline:2px solid var(--copper); outline-offset:3px}
.inner{width:100%; max-width:1200px; margin-inline:auto; padding-inline:var(--gutter)}
.section{padding-block:clamp(64px,9vw,128px)}
.mono{font-family:var(--mono)}

h1{font:400 clamp(3.1rem,8vw,6.75rem)/0.96 var(--serif); letter-spacing:-.025em; margin:0; text-wrap:balance; color:var(--ink)}
h2{font:400 clamp(1.95rem,3.8vw,3.3rem)/1.06 var(--serif); letter-spacing:-.015em; margin:0; text-wrap:balance}
h3{font:600 1.1rem/1.35 var(--sans); margin:0}
.eyebrow{font:500 .74rem/1.5 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); margin:0}
.lead{font-size:1.22rem; line-height:1.55; color:var(--ink-2); max-width:36em}
.sec-head{display:grid; gap:18px; max-width:54rem}
.sec-head p{max-width:62ch; color:var(--ink-2)}
.soft{color:var(--ink-3); font-weight:400}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:10px; padding:14px 22px; border-radius:3px; font:500 .95rem/1 var(--sans); text-decoration:none; border:1px solid transparent; cursor:pointer; transition:background .15s,color .15s,border-color .15s; white-space:nowrap}
.btn-primary{background:var(--copper); color:var(--on-copper)}
.btn-primary:hover{background:var(--copper-strong)}
.btn-ghost{border-color:var(--line); color:var(--ink); background:transparent}
.btn-ghost:hover{border-color:var(--brand); color:var(--brand)}
.btn-sm{padding:10px 14px; font-size:.85rem}
.btn svg{width:14px; height:14px; flex:none}

/* nav */
.nav{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:var(--nav-bg); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line-2); transition:border-color .2s}
.nav.scrolled{border-bottom-color:var(--line)}
.nav-inner{display:flex; align-items:center; gap:28px; min-height:70px; position:relative}
.brand{display:flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none; font:500 1.05rem/1.1 var(--serif); letter-spacing:-.005em}
.brand .mark{width:auto; height:22px; flex:none}
.brand-short{display:none}
.brand-wrap{display:flex; align-items:center; gap:.3em}
.tag{font:500 1.05rem/1.1 var(--serif); letter-spacing:-.005em; color:var(--ink-2); white-space:nowrap}
.links{display:flex; gap:26px; margin-left:auto}
.links a{color:var(--ink-2); text-decoration:none; font-size:.93rem; font-weight:500; padding-block:6px; border-bottom:1px solid transparent; transition:color .15s,border-color .15s}
.links a:hover{color:var(--ink); border-bottom-color:var(--copper)}
.nav-right{display:flex; align-items:center; gap:12px}
.lang{display:flex; border:1px solid var(--line); border-radius:3px; overflow:hidden}
.lang-btn{font:500 .74rem/1 var(--mono); letter-spacing:.06em; padding:9px 10px; background:transparent; border:0; color:var(--ink-2); cursor:pointer}
.lang-btn[aria-pressed="true"]{background:var(--brand); color:var(--bg)}
.menu-btn{display:none; align-items:center; gap:8px; font:500 .85rem/1 var(--sans); padding:10px 12px; background:transparent; border:1px solid var(--line); border-radius:3px; color:var(--ink); cursor:pointer}
@media (max-width:960px){
  .links{display:none; position:absolute; left:calc(-1 * var(--gutter)); right:calc(-1 * var(--gutter)); top:100%; flex-direction:column; gap:0; background:var(--surface); border-bottom:1px solid var(--line); padding:6px var(--gutter) 14px; margin:0}
  .nav.is-open .links{display:flex}
  .links a{padding-block:13px; border-bottom:1px solid var(--line-2); font-size:1rem}
  .links a:last-child{border-bottom:0}
  .menu-btn{display:inline-flex}
  .nav .btn-sm{display:none}
  .nav-right{margin-left:auto}
}
@media (max-width:560px){
  .brand-name{display:none}
  .brand-short{display:inline}
  .nav-inner{gap:14px}
}

/* hero */
.hero{padding-block:clamp(48px,7vw,104px) clamp(40px,6vw,80px)}
.hero-grid{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(32px,6vw,96px); align-items:center}
.hero-copy{display:grid; gap:28px}
.cta-row{display:flex; flex-wrap:wrap; gap:12px}
.hero-fig{margin:0; display:grid; gap:16px; justify-items:center}
.hero-fig figcaption{font:400 .74rem/1.55 var(--mono); color:var(--ink-2); max-width:38ch; text-align:center; text-wrap:balance}
.wafer-wrap{width:min(100%,520px); aspect-ratio:1; max-width:100%}
#wafer{width:100%; height:100%; display:block}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr} .wafer-wrap{width:min(100%,380px)} }

/* facts */
.facts{border-block:1px solid var(--line); background:var(--surface)}
.facts-grid{display:grid; grid-template-columns:repeat(6,1fr); margin:0}
.facts-grid>div{padding:22px 20px; border-left:1px solid var(--line-2)}
.facts-grid>div:first-child{border-left:0; padding-left:0}
.facts-grid dt{font:500 .68rem/1.5 var(--mono); letter-spacing:.13em; text-transform:uppercase; color:var(--ink-2)}
.facts-grid dd{margin:6px 0 0; font-weight:500; font-size:.94rem; line-height:1.4}
@media (max-width:1000px){
  .facts-grid{grid-template-columns:repeat(3,1fr)}
  .facts-grid>div{padding:18px 16px}
  .facts-grid>div:nth-child(3n+1){border-left:0; padding-left:0}
}
@media (max-width:560px){
  .facts-grid{grid-template-columns:repeat(2,1fr)}
  .facts-grid>div:nth-child(3n+1){border-left:1px solid var(--line-2); padding-left:16px}
  .facts-grid>div:nth-child(odd){border-left:0; padding-left:0}
}

/* split layouts */
.split{display:grid; grid-template-columns:5fr 7fr; gap:clamp(24px,5vw,80px); align-items:start}
@media (max-width:860px){ .split{grid-template-columns:1fr} }

/* mission */
.pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,4vw,48px); margin-top:clamp(40px,6vw,72px)}
.pillar{border-top:2px solid var(--brand); padding-top:18px; display:grid; gap:10px; align-content:start}
.pillar h3{font:500 1.45rem/1.2 var(--serif); letter-spacing:-.01em}
.pillar p{color:var(--ink-2); font-size:.97rem}
.pillar:nth-child(1){border-top-color:var(--logo-orange)} .pillar:nth-child(2){border-top-color:var(--logo-lime)} .pillar:nth-child(3){border-top-color:var(--logo-teal)}
@media (max-width:760px){ .pillars{grid-template-columns:1fr} }
blockquote{margin:clamp(40px,6vw,72px) 0 0; font:italic 400 clamp(1.45rem,2.6vw,2.05rem)/1.3 var(--serif); color:var(--brand); max-width:26em; text-wrap:balance}
blockquote cite{display:block; margin-top:14px; font:500 .7rem/1 var(--mono); letter-spacing:.13em; text-transform:uppercase; color:var(--ink-2); font-style:normal}

/* dark panels */
.panel{background:var(--panel); color:var(--on-panel)}
.panel-2{background:var(--panel-2); color:var(--on-panel)}
.panel .eyebrow,.panel-2 .eyebrow{color:var(--on-panel-2)}
.panel h2,.panel-2 h2{color:#FFFFFF}
.panel .sec-head p,.panel-2 .sec-head p{color:var(--on-panel-2)}

/* programmes */
.depts{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--panel-line); border:1px solid var(--panel-line); margin-top:44px}
.dept{background:var(--panel); padding:20px 22px; display:grid; gap:6px}
.dept .k{font:500 .68rem/1.5 var(--mono); letter-spacing:.13em; text-transform:uppercase; color:var(--accent-on-panel)}
.dept .v{font:400 1.3rem/1.25 var(--serif); color:#FFFFFF}
@media (max-width:640px){ .depts{grid-template-columns:1fr} }
.phase{margin-top:56px}
.phase-h{display:flex; align-items:baseline; gap:18px; flex-wrap:wrap; padding-bottom:14px}
.phase-h .num{font:500 .7rem/1 var(--mono); letter-spacing:.14em; color:var(--accent-on-panel); text-transform:uppercase}
.phase-h h3{font:400 1.4rem/1.2 var(--serif); color:#FFFFFF}
.progs{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1px; background:var(--panel-line); border:1px solid var(--panel-line)}
.prog{background:var(--panel-2); padding:26px 24px 28px; display:grid; gap:20px; align-content:start; transition:background .2s}
.prog:hover{background:var(--panel-3)}
.prog .deg{font:500 .7rem/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--on-panel-2)}
.prog .name{font:400 1.7rem/1.1 var(--serif); color:#FFFFFF; letter-spacing:-.01em; margin-top:10px; text-wrap:balance}
.spec{display:grid; grid-template-columns:auto 1fr; gap:7px 18px; margin:0; font-size:.9rem; align-items:baseline}
.spec dt{color:var(--on-panel-3); font:500 .66rem/1.9 var(--mono); letter-spacing:.11em; text-transform:uppercase}
.spec dd{margin:0; color:var(--on-panel)}
.note{font:400 .78rem/1.6 var(--mono); color:var(--on-panel-2); margin-top:22px; max-width:78ch}
.features{margin-top:clamp(56px,7vw,88px); display:grid; grid-template-columns:5fr 7fr; gap:clamp(24px,5vw,80px)}
.features h3{font:400 1.6rem/1.2 var(--serif); color:#FFFFFF}
.features p{color:var(--on-panel-2); margin-top:12px; max-width:40ch}
.feat-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 32px}
.feat-list li{padding:14px 0; border-top:1px solid var(--panel-line); color:var(--on-panel); font-size:.96rem; display:flex; gap:12px}
.feat-list li::before{content:""; width:8px; height:8px; background:var(--copper); margin-top:9px; flex:none}
@media (max-width:860px){ .features{grid-template-columns:1fr} }
@media (max-width:600px){ .feat-list{grid-template-columns:1fr} }

/* campus */
.campus .split{grid-template-columns:6fr 6fr}
@media (max-width:860px){ .campus .split{grid-template-columns:1fr} }
.loc-panel{border:1px solid var(--line); background:var(--surface); padding:28px; display:grid; gap:28px}
.coords{font:400 clamp(1.45rem,2.6vw,1.95rem)/1.2 var(--serif); letter-spacing:-.01em; color:var(--brand); text-wrap:balance}
.coords small{display:block; font:400 .95rem/1.4 var(--sans); letter-spacing:0; color:var(--ink-2); margin-top:10px}
.transit{display:grid; grid-template-columns:auto 1fr auto 1fr auto; grid-auto-rows:auto; align-items:center; row-gap:8px}
.transit .dot{width:12px; height:12px; border-radius:50%; background:var(--brand); justify-self:center}
.transit .dot.origin{background:var(--copper)}
.transit .seg{height:2px; background:var(--line); margin-inline:6px}
.transit .lbl{font:500 .78rem/1.3 var(--sans); text-align:center; padding-inline:2px}
.transit .dur{font:400 .68rem/1.3 var(--mono); color:var(--ink-2); text-align:center; white-space:nowrap}
@media (max-width:480px){ .transit .lbl{font-size:.72rem} .transit .dur{font-size:.62rem} }
.transit-cap{font:400 .68rem/1.5 var(--mono); color:var(--ink-3); letter-spacing:.06em; margin-top:-10px}
.nb{display:grid; gap:12px; margin:0; padding:0; list-style:none}
.nb li{display:grid; grid-template-columns:120px 1fr; gap:14px; align-items:baseline; font-size:.92rem; color:var(--ink-2); padding-top:12px; border-top:1px solid var(--line-2)}
.nb li b{font:500 .68rem/1.7 var(--mono); letter-spacing:.11em; text-transform:uppercase; color:var(--ink)}
@media (max-width:480px){ .loc-panel{padding:20px} .nb li{grid-template-columns:1fr; gap:4px} }
.campus-lead{margin-top:18px; color:var(--ink-2); max-width:58ch}

/* people */
.people-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); margin-top:clamp(40px,6vw,72px)}
.person{display:grid; grid-template-columns:160px 1fr; gap:24px; align-items:start}
.portrait,.initials{width:160px; height:auto; max-width:100%; aspect-ratio:4/5; display:block}
.portrait{object-fit:cover; object-position:top; filter:grayscale(1) contrast(1.05); background:var(--brand-soft)}
.initials{background:var(--brand-soft); color:var(--brand); display:grid; place-items:center; font:400 3rem/1 var(--serif)}
.person h3{font:400 1.5rem/1.15 var(--serif); letter-spacing:-.01em}
.role{font:500 .76rem/1.5 var(--mono); color:var(--copper-text); margin-top:8px}
.bio{margin-top:14px; font-size:.94rem; color:var(--ink-2)}
@media (max-width:1000px){ .people-grid{grid-template-columns:1fr} }
@media (max-width:520px){ .person{grid-template-columns:1fr} .portrait,.initials{width:140px} }

/* about */
.principle{border-left:3px solid var(--copper); padding:6px 0 6px 22px; font:italic 400 1.3rem/1.4 var(--serif); color:var(--ink); margin-top:8px; max-width:30em}
.roadmap{margin-top:clamp(48px,7vw,88px); display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.step{border-top:1px solid var(--line); padding-top:18px; display:grid; gap:8px; position:relative; align-content:start}
.step::before{content:""; position:absolute; top:-1px; left:0; width:48px; height:3px; background:var(--copper)}
.step:nth-child(1)::before{background:var(--logo-orange)} .step:nth-child(2)::before{background:var(--logo-lime)} .step:nth-child(3)::before{background:var(--logo-teal)}
.step .when{font:500 .72rem/1 var(--mono); letter-spacing:.13em; text-transform:uppercase; color:var(--ink-2)}
.step h3{font:400 1.4rem/1.2 var(--serif)}
.step p{color:var(--ink-2); font-size:.95rem}
@media (max-width:760px){ .roadmap{grid-template-columns:1fr} }
.impact{margin-top:clamp(48px,7vw,88px); display:grid; grid-template-columns:5fr 7fr; gap:clamp(24px,5vw,80px)}
.impact h3{font:400 1.6rem/1.2 var(--serif)}
.impact ul{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 32px}
.impact li{display:flex; gap:12px; padding:14px 0; border-top:1px solid var(--line); font-size:.96rem}
.impact li::before{content:""; width:8px; height:8px; background:var(--copper); margin-top:9px; flex:none}
@media (max-width:860px){ .impact{grid-template-columns:1fr} }
@media (max-width:600px){ .impact ul{grid-template-columns:1fr} }

/* contact */
.contact-grid{display:grid; grid-template-columns:5fr 7fr; gap:clamp(24px,5vw,80px); align-items:start}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr} }
.aud{display:grid; gap:18px; margin-top:32px}
.aud div{border-top:1px solid var(--panel-line); padding-top:14px}
.aud h3{color:#FFFFFF; font:500 1rem/1.3 var(--sans)}
.aud p{font-size:.92rem; margin-top:6px; color:var(--on-panel-2)}
form{display:grid; gap:16px; background:var(--panel); border:1px solid var(--panel-line); padding:28px; color-scheme:dark}
.field{display:grid; gap:7px}
label{font:500 .68rem/1.5 var(--mono); letter-spacing:.13em; text-transform:uppercase; color:var(--on-panel-2)}
input,select,textarea{width:100%; font:400 1rem/1.4 var(--sans); padding:12px 14px; background:var(--panel-2); color:#FFFFFF; border:1px solid var(--panel-line); border-radius:3px; margin:0}
input::placeholder,textarea::placeholder{color:var(--on-panel-3)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--copper); outline-offset:1px; border-color:var(--copper)}
textarea{min-height:120px; resize:vertical}
.two{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media (max-width:560px){ .two{grid-template-columns:1fr} form{padding:20px} }
.form-foot{display:flex; align-items:center; gap:16px; flex-wrap:wrap; justify-content:space-between}
.form-foot small{font:400 .72rem/1.5 var(--mono); color:var(--on-panel-3)}
.form-note{border:1px solid var(--copper); padding:16px; font-size:.92rem; color:var(--on-panel); display:grid; gap:12px}
.copy-row{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.copy-row code{font:500 .9rem/1 var(--mono); color:#FFFFFF; user-select:all}
.copy-btn{font:500 .72rem/1 var(--mono); letter-spacing:.06em; padding:8px 10px; background:transparent; color:#FFFFFF; border:1px solid var(--panel-line); border-radius:3px; cursor:pointer}
.copy-btn:hover{border-color:var(--copper)}
.addr{display:grid; gap:2px; font-size:.94rem; color:var(--on-panel-2); margin-top:30px}
.addr b{color:#FFFFFF; font-weight:500}
.addr .h{font:500 .68rem/1.5 var(--mono); letter-spacing:.13em; text-transform:uppercase; color:var(--on-panel-3); margin-bottom:6px}
.addr code{font:400 .92rem/1.5 var(--mono); color:var(--on-panel); user-select:all}

/* footer */
footer{background:var(--panel); color:var(--on-panel-2); border-top:1px solid var(--panel-line); padding-block:36px}
.foot{display:grid; grid-template-columns:1fr auto; gap:28px; align-items:end}
.foot-brand{display:flex; align-items:center; gap:10px; color:#FFFFFF; font:500 1rem/1.1 var(--serif); margin-bottom:14px}
.foot-brand .mark{width:auto; height:18px; flex:none}
.foot p{font-size:.8rem; max-width:72ch; line-height:1.6}
.foot nav{display:flex; gap:20px; font-size:.82rem; flex-wrap:wrap}
.foot a{color:var(--on-panel); text-decoration:none; border-bottom:1px solid var(--panel-line)}
.foot a:hover{border-bottom-color:var(--copper)}
.foot .copy{margin-top:14px; font:400 .72rem/1.5 var(--mono); color:var(--on-panel-3)}
@media (max-width:700px){ .foot{grid-template-columns:1fr} }

/* honeypot field: off-screen for people, visible to bots */
.hp{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.addr a{color:inherit; text-decoration:none; border-bottom:1px solid var(--panel-line)}
.addr a:hover{border-bottom-color:var(--copper)}
.btn[disabled]{opacity:.6; cursor:progress}

/* legal pages (Impressum, Datenschutz) */
.nav.sub .links{display:flex; position:static; flex-direction:row; background:transparent; border:0; padding:0; margin-left:auto}
.nav.sub .links a{border-bottom:1px solid transparent; padding-block:6px; font-size:.93rem}
.nav.sub .links a:hover{border-bottom-color:var(--copper)}
.legal{padding-block:clamp(48px,7vw,96px)}
.legal .inner{max-width:860px}
.legal h1{font:400 clamp(2.2rem,5vw,3.6rem)/1.05 var(--serif); letter-spacing:-.02em; margin:0 0 10px; text-wrap:balance}
.legal h2{font:400 1.6rem/1.2 var(--serif); margin:44px 0 12px; letter-spacing:-.01em}
.legal h3{font:600 1rem/1.4 var(--sans); margin:24px 0 8px}
.legal p,.legal li{color:var(--ink-2); font-size:1rem; max-width:72ch}
.legal p{margin:0 0 12px}
.legal ul{padding-left:1.2em; margin:0 0 12px}
.legal li{margin-bottom:4px}
.legal address{font-style:normal; color:var(--ink); margin:0 0 14px; line-height:1.6}
.legal mark{background:var(--copper-soft); color:var(--copper-text); padding:0 .3em; border-radius:2px; font-weight:500}
.legal .meta{font:500 .72rem/1.5 var(--mono); letter-spacing:.13em; text-transform:uppercase; color:var(--ink-2); margin-bottom:22px}
.legal .lang-note{border-left:3px solid var(--copper); padding:4px 0 4px 18px; font-size:.95rem; color:var(--ink-2); margin:0 0 32px; max-width:60ch}
.legal a{color:var(--brand)}
