:root {
  --bg: #06070b;
  --bg-soft: #0a0c12;
  --panel: #0e1119;
  --panel-2: #121620;
  --text: #f4f5f7;
  --muted: #969dab;
  --muted-2: #6f7683;
  --line: rgba(255,255,255,.105);
  --line-strong: rgba(255,255,255,.2);
  --violet: #6d5cff;
  --violet-soft: #9b91ff;
  --cyan: #59d7ff;
  --success: #55d49b;
  --max: 1240px;
  --radius: 18px;
  --shadow: 0 24px 70px rgba(0,0,0,.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 82px; color-scheme: dark; }
body {
  margin: 0;
  min-width: 280px;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.58;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open, body.modal-open { overflow: hidden; }
[hidden] { display: none !important; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.container { width: min(var(--max), calc(100% - 40px)); margin-inline:auto; }
.display { font-family: Rajdhani, Inter, sans-serif; text-transform:uppercase; line-height:.91; letter-spacing:.015em; }

.skip-link { position:fixed; top:-80px; left:16px; z-index:9999; background:#fff; color:#000; padding:10px 14px; border-radius:8px; font-weight:800; }
.skip-link:focus { top:16px; }

.site-header {
  position:sticky; top:0; z-index:1000;
  background:rgba(6,7,11,.88);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px);
}
.nav { height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:11px; font-weight:800; }
.brand img { width:42px; height:42px; object-fit:contain; }
.brand span { font-family:Rajdhani,sans-serif; font-size:1.33rem; letter-spacing:.16em; }
.nav-links { display:flex; align-items:center; gap:23px; }
.nav-links a { color:var(--muted); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; transition:color .2s ease; }
.nav-links a:hover, .nav-links a.active { color:#fff; }
.nav-cta, .mobile-cta {
  border:1px solid rgba(109,92,255,.6); background:var(--violet); color:#fff; cursor:pointer;
  padding:11px 15px; border-radius:8px; font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em;
}
.menu-btn { display:none; width:44px; height:44px; padding:10px; background:transparent; border:1px solid var(--line); border-radius:9px; cursor:pointer; }
.menu-btn span { display:block; height:2px; margin:5px 0; background:#fff; }
.mobile-menu { display:none; }

.hero { position:relative; min-height:760px; overflow:hidden; border-bottom:1px solid var(--line); }
.hero::before {
  content:""; position:absolute; inset:0; z-index:-3;
  background:url("../images/hero-mlbb.webp") 72% 38% / cover no-repeat;
  filter:saturate(.72) contrast(1.04);
}
.hero::after {
  content:""; position:absolute; inset:0; z-index:-2;
  background:
    linear-gradient(90deg, #06070b 0%, rgba(6,7,11,.97) 36%, rgba(6,7,11,.7) 63%, rgba(6,7,11,.3) 100%),
    linear-gradient(0deg, #06070b 0%, transparent 35%);
}
.hero-grid { min-height:680px; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:40px; }
.hero-content { max-width:690px; padding:92px 0 78px; }
.event-kicker { display:flex; align-items:center; gap:16px; margin-bottom:24px; font-size:.75rem; text-transform:uppercase; letter-spacing:.13em; }
.event-kicker span { color:var(--muted); }
.event-kicker strong { color:#fff; padding-left:16px; border-left:1px solid var(--line-strong); }
.hero-title { margin:0; font-size:clamp(5.6rem, 12vw, 10.8rem); letter-spacing:-.035em; }
.hero-title span { color:var(--violet-soft); }
.hero-subtitle { margin:8px 0 22px; font-family:Rajdhani,sans-serif; text-transform:uppercase; letter-spacing:.15em; font-weight:700; color:#d3d6df; }
.hero-copy { max-width:610px; margin:0; color:#bec3cd; font-size:1.08rem; }
.actions { display:flex; flex-wrap:wrap; gap:11px; align-items:center; margin-top:30px; }
.btn { min-height:46px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; padding:12px 17px; border:1px solid transparent; font-weight:800; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; transition:transform .2s ease, background .2s ease, border-color .2s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--violet); color:#fff; }
.btn-primary:hover { background:#7b6aff; }
.btn-secondary { background:rgba(8,10,15,.58); border-color:var(--line-strong); color:#fff; backdrop-filter:blur(8px); }
.btn-secondary:hover, .btn-ghost:hover { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.3); }
.btn-ghost { background:transparent; border-color:var(--line); color:#d2d5dc; }
.text-link { color:#d7d9e0; font-weight:700; font-size:.86rem; padding:12px 0; }
.text-link:hover { color:#fff; }
.hero-note { margin-top:18px; color:var(--muted); font-size:.79rem; }
.hero-art { align-self:stretch; position:relative; min-height:590px; }
.hero-date-card { position:absolute; right:0; bottom:104px; width:168px; border-top:1px solid rgba(255,255,255,.72); border-bottom:1px solid var(--line-strong); padding:15px 0 13px; text-align:right; }
.hero-date-card span, .hero-date-card small { display:block; font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:#d7d9df; }
.hero-date-card strong { display:block; font-family:Rajdhani,sans-serif; font-size:5.6rem; line-height:.84; letter-spacing:-.04em; }
.hero-art-label { position:absolute; right:0; bottom:68px; color:rgba(255,255,255,.57); font-size:.62rem; font-weight:700; letter-spacing:.17em; }
.event-strip { min-height:80px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.event-strip > div { padding:18px 22px; border-right:1px solid var(--line); }
.event-strip > div:first-child { padding-left:0; }
.event-strip > div:last-child { border-right:0; }
.event-strip span { display:block; color:var(--muted-2); font-size:.65rem; text-transform:uppercase; letter-spacing:.11em; }
.event-strip strong { display:block; margin-top:3px; font-size:.88rem; }

.section { padding:110px 0; position:relative; }
.section-intro { max-width:790px; margin-bottom:44px; }
.section-intro.compact { max-width:510px; margin:0; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--violet-soft); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.17em; }
.eyebrow::before { content:""; width:26px; height:1px; background:var(--violet-soft); }
.section-intro h2, .split-heading h2 { margin:16px 0 16px; font-size:clamp(3.2rem, 7vw, 6.4rem); letter-spacing:-.025em; }
.section-intro p, .split-heading > p { color:var(--muted); margin:0; font-size:1.02rem; }
.split-heading { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr); align-items:end; gap:70px; margin-bottom:45px; }

.competition { background:#080a0f; }
.competition-layout { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr); border:1px solid var(--line); background:#090b10; min-height:650px; }
.competition-visual { position:relative; overflow:hidden; min-height:650px; }
.competition-visual img { width:100%; height:100%; object-fit:cover; filter:saturate(.78); }
.competition-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,5,8,.78),transparent 42%); pointer-events:none; }
.visual-caption { position:absolute; z-index:1; left:32px; bottom:28px; }
.visual-caption span { display:block; font-size:.7rem; letter-spacing:.17em; color:#d9dce3; }
.visual-caption strong { display:block; font-family:Rajdhani,sans-serif; font-size:2.5rem; line-height:1; }
.competition-info { padding:44px; display:flex; flex-direction:column; justify-content:center; border-left:1px solid var(--line); }
.status-line { color:#c7cbd3; font-size:.78rem; font-weight:700; }
.status-dot { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:var(--success); }
.competition-info h3 { font-size:clamp(3rem,5.2vw,5rem); margin:20px 0 16px; letter-spacing:-.02em; }
.competition-info > p { color:var(--muted); margin:0; }
.spec-list { margin:27px 0 0; border-top:1px solid var(--line); }
.spec-list > div { display:grid; grid-template-columns:120px 1fr; gap:18px; padding:11px 0; border-bottom:1px solid var(--line); }
.spec-list dt { color:var(--muted-2); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.spec-list dd { margin:0; font-weight:700; font-size:.88rem; }
.prize-block { margin-top:28px; padding:19px 20px; background:#0f1219; border-left:2px solid var(--violet); }
.prize-block > span { display:block; margin-bottom:10px; color:var(--muted-2); font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; }
.prize-block > div { display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:baseline; padding:3px 0; }
.prize-block strong { color:var(--violet-soft); font-family:Rajdhani,sans-serif; }
.prize-block b { font-size:.84rem; }
.steps { margin-top:28px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.step { padding:25px 24px 25px 0; border-right:1px solid var(--line); }
.step + .step { padding-left:24px; }
.step:last-child { border-right:0; }
.step > span { display:block; color:var(--violet-soft); font-family:Rajdhani,sans-serif; font-size:1rem; }
.step strong { display:block; margin:7px 0 3px; }
.step small { color:var(--muted); }

.community { background:#06070b; }
.community-mosaic { display:grid; grid-template-columns:1.3fr .7fr; grid-template-rows:1fr 1fr; gap:14px; min-height:610px; }
.community-main, .community-side { position:relative; overflow:hidden; border:1px solid var(--line); background:var(--panel); }
.community-main { grid-row:1 / 3; min-height:610px; }
.community-main img, .community-side img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; filter:saturate(.82); }
.community-main:hover img, .community-side:hover img { transform:scale(1.018); }
.community-main::after, .recruitment::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,7,11,.94),transparent 60%); }
.mosaic-copy, .community-side > div:not(.doc-mark) { position:absolute; z-index:1; left:28px; right:28px; bottom:25px; }
.mosaic-copy span, .community-side span { color:#c7cbd4; font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; }
.mosaic-copy h3, .community-side h3 { margin:5px 0 7px; font-family:Rajdhani,sans-serif; text-transform:uppercase; line-height:1; font-size:2.3rem; }
.mosaic-copy p { color:#c0c4cc; margin:0 0 13px; }
.mosaic-copy b, .community-side b { font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; }
.community-side { min-height:298px; }
.documents { background:#0d1017; }
.documents::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(109,92,255,.11),transparent 55%); }
.doc-mark { position:absolute; top:27px; left:28px; width:54px; height:54px; display:grid; place-items:center; border:1px solid var(--line-strong); font-family:Rajdhani,sans-serif; font-weight:700; color:var(--violet-soft); }

.updates { background:#0a0c11; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.updates-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; align-items:start; }
.update-list { border-top:1px solid var(--line); }
.update-row { display:grid; grid-template-columns:112px 1fr 28px; gap:24px; align-items:center; padding:25px 0; border-bottom:1px solid var(--line); transition:padding .2s ease; }
.update-row:not(.static):hover { padding-left:10px; }
.update-row time { color:var(--violet-soft); font-size:.68rem; font-weight:800; letter-spacing:.09em; }
.update-row strong { display:block; margin-bottom:2px; }
.update-row span { color:var(--muted); font-size:.87rem; }
.update-row > b { text-align:right; font-size:1.15rem; font-weight:500; }

.about-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:100px; align-items:start; }
.about-copy > p { margin:0; color:#c7cbd4; font-size:1.15rem; max-width:720px; }
.roles { margin-top:38px; border-top:1px solid var(--line); }
.roles > div { display:grid; grid-template-columns:170px 1fr; gap:24px; padding:18px 0; border-bottom:1px solid var(--line); }
.roles strong { font-size:.84rem; }
.roles span { color:var(--muted); font-size:.86rem; }

.documents-section { background:#080a0f; }
.document-list { border-top:1px solid var(--line); }
.document-row { display:grid; grid-template-columns:70px 1fr auto; gap:24px; align-items:center; padding:25px 0; border-bottom:1px solid var(--line); }
.file-type { width:48px; height:48px; display:grid; place-items:center; border:1px solid var(--line-strong); color:var(--violet-soft); font-family:Rajdhani,sans-serif; font-weight:700; font-size:.8rem; }
.document-row h3 { margin:0 0 3px; font-family:Rajdhani,sans-serif; text-transform:uppercase; font-size:1.5rem; }
.document-row p { margin:0; color:var(--muted); font-size:.88rem; }
.document-actions { display:flex; gap:18px; }
.document-actions a { color:#d4d7df; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.document-actions a:hover { color:#fff; }

.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.contact-lead h2 { margin:15px 0 18px; font-size:clamp(3.5rem,7vw,6.2rem); }
.contact-lead p { max-width:480px; margin:0; color:var(--muted); }
.contact-links { border-top:1px solid var(--line); }
.contact-links a { display:grid; grid-template-columns:112px 1fr 25px; gap:20px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); }
.contact-links a:hover strong { color:var(--violet-soft); }
.contact-links span { color:var(--muted-2); font-size:.68rem; text-transform:uppercase; letter-spacing:.11em; }
.contact-links strong { transition:color .2s ease; }
.faq { max-width:840px; margin-top:60px; }
.faq details { padding:17px 0; border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; font-weight:800; }
.faq summary::marker { color:var(--violet-soft); }
.faq p { color:var(--muted); margin-bottom:0; }

.footer { padding:70px 0 max(24px, env(safe-area-inset-bottom)); background:#030406; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:42px; }
.footer h4 { margin:0 0 14px; font-family:Rajdhani,sans-serif; text-transform:uppercase; letter-spacing:.04em; }
.footer a:not(.brand) { display:block; color:var(--muted); margin:8px 0; font-size:.88rem; }
.footer a:hover { color:#fff; }
.footer-brand p { color:var(--muted); max-width:330px; margin:17px 0 12px; }
.footer-event { color:var(--violet-soft); font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:48px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted-2); font-size:.76rem; }

.to-top { position:fixed; right:18px; bottom:max(18px, env(safe-area-inset-bottom)); width:45px; height:45px; z-index:800; display:none; place-items:center; border:1px solid var(--line); background:#0c0f16; color:#fff; border-radius:9px; cursor:pointer; }
.to-top.show { display:grid; }

.modal { position:fixed; inset:0; z-index:2000; display:none; align-items:center; justify-content:center; overflow-y:auto; padding:20px; background:rgba(0,0,0,.8); backdrop-filter:blur(7px); }
.modal.open { display:flex; }
.modal-card { width:min(700px,100%); max-height:min(90vh,850px); overflow:auto; background:#0b0e14; border:1px solid var(--line-strong); padding:28px; box-shadow:var(--shadow); }
.modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.modal-head h2 { margin:13px 0 0; font-size:clamp(2.8rem,7vw,4.8rem); }
.modal-close { width:42px; height:42px; flex:0 0 42px; border:1px solid var(--line); background:transparent; color:#fff; font-size:1.35rem; cursor:pointer; }
.notice { padding:13px 15px; margin:24px 0; background:#10141d; border-left:2px solid var(--cyan); color:#cbd8dc; font-size:.86rem; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.field.full { grid-column:1 / -1; }
.field label, .form-label { color:#c6cad2; font-size:.79rem; font-weight:800; }
.field input, .field textarea, .field select { width:100%; min-height:47px; padding:11px 13px; border:1px solid var(--line); border-radius:7px; background:#07090e; color:#fff; outline:none; }
.field input:focus, .field textarea:focus, .field select:focus { border-color:var(--violet-soft); box-shadow:0 0 0 3px rgba(109,92,255,.12); }
.field input:disabled, .field textarea:disabled, .field select:disabled { opacity:.55; cursor:not-allowed; }
.signup-type-field { gap:10px; }
.signup-tabs { display:grid; grid-template-columns:repeat(2,1fr); width:min(320px,100%); padding:4px; border:1px solid var(--line); background:#07090e; }
.signup-tab { min-height:39px; border:0; background:transparent; color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; cursor:pointer; }
.signup-tab.active { background:var(--violet); color:#fff; }
.conditional-fields[hidden] { display:none; }
.checkbox-label { display:flex !important; flex-direction:row !important; align-items:flex-start; gap:10px; line-height:1.45; cursor:pointer; }
.checkbox-label input[type="checkbox"] { width:18px !important; min-width:18px; height:18px; min-height:18px; margin:2px 0 0; padding:0; accent-color:var(--violet); box-shadow:none; }
.checkbox-label a { color:var(--violet-soft); text-decoration:underline; text-underline-offset:3px; }
.legal-note, .form-status { color:var(--muted); font-size:.78rem; }
.form-status { color:#ffb6c4; }

.noscript-notice { width:min(var(--max),calc(100% - 40px)); margin:16px auto; padding:12px 14px; border:1px solid var(--line); color:#d7dae0; background:#0c0f15; }

/* Legal pages / 404 compatibility */
.card { border:1px solid var(--line); background:var(--panel); }
.card-body { padding:28px; }
.card-body h2 { font-family:Rajdhani,sans-serif; text-transform:uppercase; }
.legal-container { max-width:900px; }
.legal-title { margin:16px 0 24px; font-size:clamp(3rem,8vw,6rem); }
body > main.hero .hero-content { max-width:720px; padding:130px 0; }
body > main.hero .hero-content .hero-badge { display:inline-block; margin-bottom:14px; color:var(--violet-soft); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }

@media (max-width: 1060px) {
  .nav-links { gap:16px; }
  .nav-links a { display:none; }
  .nav-links .nav-cta { display:inline-flex; }
  .hero-grid { grid-template-columns:1fr .55fr; }
  .competition-layout { grid-template-columns:1fr 1fr; }
  .updates-grid, .about-grid, .contact-grid { gap:55px; }
}

@media (max-width: 820px) {
  html { scroll-padding-top:72px; }
  .container { width:min(100% - 28px, var(--max)); }
  .nav { height:68px; }
  .nav-links { display:none; }
  .menu-btn { display:block; }
  .mobile-menu { position:fixed; z-index:950; top:68px; left:0; right:0; max-height:calc(100vh - 68px); overflow:auto; padding:18px 14px 24px; background:#080a0f; border-bottom:1px solid var(--line); }
  .mobile-menu.open { display:grid; }
  .mobile-menu a, .mobile-cta { padding:15px 5px; border:0; border-bottom:1px solid var(--line); background:transparent; border-radius:0; color:#e7e9ed; text-align:left; font-size:.83rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }

  .hero { min-height:auto; }
  .hero-grid { min-height:680px; grid-template-columns:1fr; }
  .hero-content { padding:80px 0 115px; max-width:620px; }
  .hero-art { display:none; }
  .hero::before { background-position:62% 30%; }
  .hero::after { background:linear-gradient(90deg,#06070b 0%,rgba(6,7,11,.94) 48%,rgba(6,7,11,.56) 100%),linear-gradient(0deg,#06070b 0%,transparent 45%); }
  .event-strip { grid-template-columns:repeat(2,1fr); }
  .event-strip > div { padding-left:0; border-right:0; border-bottom:1px solid var(--line); }

  .section { padding:82px 0; }
  .split-heading { grid-template-columns:1fr; gap:12px; }
  .competition-layout { grid-template-columns:1fr; }
  .competition-visual { min-height:430px; }
  .competition-info { border-left:0; border-top:1px solid var(--line); padding:34px 28px; }
  .steps { grid-template-columns:repeat(2,1fr); }
  .step:nth-child(2) { border-right:0; }
  .step:nth-child(3), .step:nth-child(4) { border-top:1px solid var(--line); }
  .step:nth-child(3) { padding-left:0; }

  .community-mosaic { grid-template-columns:1fr; grid-template-rows:auto; min-height:0; }
  .community-main { grid-row:auto; min-height:500px; }
  .community-side { min-height:280px; }
  .updates-grid, .about-grid, .contact-grid { grid-template-columns:1fr; gap:42px; }
  .section-intro.compact { max-width:720px; }
  .document-row { grid-template-columns:58px 1fr; }
  .document-actions { grid-column:2; }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column:2 / 4; }
}

@media (max-width: 560px) {
  .container { width:min(100% - 22px, var(--max)); }
  .hero-grid { min-height:615px; }
  .hero-content { padding:65px 0 92px; }
  .hero-title { font-size:clamp(4.8rem,25vw,7rem); }
  .hero-copy { font-size:.98rem; }
  .actions { align-items:stretch; }
  .actions .btn { flex:1 1 100%; }
  .hero-note { font-size:.74rem; }
  .event-strip { grid-template-columns:1fr 1fr; }
  .event-strip > div { padding:14px 10px 14px 0; }

  .section { padding:72px 0; }
  .section-intro h2, .split-heading h2, .contact-lead h2 { font-size:clamp(3rem,16vw,4.7rem); }
  .competition-visual { min-height:330px; }
  .visual-caption { left:20px; bottom:18px; }
  .competition-info { padding:28px 20px; }
  .spec-list > div { grid-template-columns:105px 1fr; }
  .steps { grid-template-columns:1fr; }
  .step, .step + .step, .step:nth-child(3) { padding:18px 0; border-right:0; border-top:1px solid var(--line); }
  .step:first-child { border-top:0; }

  .community-main { min-height:420px; }
  .mosaic-copy, .community-side > div:not(.doc-mark) { left:20px; right:20px; bottom:20px; }
  .doc-mark { left:20px; top:20px; }
  .update-row { grid-template-columns:88px 1fr 18px; gap:13px; }
  .update-row span { font-size:.8rem; }
  .roles > div { grid-template-columns:1fr; gap:2px; }
  .document-row { grid-template-columns:48px 1fr; gap:14px; }
  .document-actions { flex-wrap:wrap; gap:13px; }
  .contact-links a { grid-template-columns:88px 1fr 20px; gap:10px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:30px 22px; }
  .footer-grid > .footer-brand { grid-column:1 / -1; }
  .footer-grid > div:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
  .form-grid { grid-template-columns:1fr; }
  .modal { padding:10px; align-items:flex-start; }
  .modal-card { margin-top:10px; padding:22px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
}
