:root{--green:#123f36;--deep:#082b25;--lime:#e5f25a;--yellow:#f7c948;--paper:#f7f8f1;--ink:#10231f;--muted:#63736f;--line:#d8ded8;--white:#fff;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:17px;line-height:1.6}.skip{position:absolute;left:-9999px;top:8px;background:#fff;color:#000;padding:12px;z-index:100}.skip:focus{left:8px}button,a{font:inherit}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,76px);background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;color:var(--deep);text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;line-height:1}.brand small{display:block;font:700 11px/1.2 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-top:5px;color:var(--muted)}.eye-mark{width:42px;height:28px;border:3px solid var(--green);border-radius:80% 20% 80% 20%;transform:rotate(45deg);display:grid;place-items:center}.eye-mark i{width:10px;height:10px;background:var(--yellow);border-radius:50%;display:block}nav{display:flex;align-items:center;gap:32px}nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}nav a:hover{text-decoration:underline;text-underline-offset:5px}.menu-button{display:none;background:none;border:1px solid var(--green);border-radius:999px;padding:7px 14px}.button{border:0;border-radius:999px;background:var(--lime);color:var(--deep);padding:15px 25px;font-weight:800;cursor:pointer;box-shadow:0 5px 0 rgba(0,0,0,.12);transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-2px);box-shadow:0 7px 0 rgba(0,0,0,.12)}.button:active{transform:translateY(2px);box-shadow:0 2px 0 rgba(0,0,0,.12)}.button-small{padding:11px 19px;box-shadow:none;background:var(--green);color:#fff}.hero{min-height:calc(100vh - 86px);position:relative;display:flex;align-items:center;overflow:hidden;background:var(--deep);color:#fff}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,35,29,.94) 0%,rgba(4,35,29,.72) 35%,rgba(4,35,29,.1) 72%),linear-gradient(0deg,rgba(4,35,29,.35),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(690px,85%);margin-left:clamp(24px,8vw,130px);padding:80px 0}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:13px}.eyebrow{color:var(--lime)}h1,h2,h3{font-family:Manrope,sans-serif;margin:0;letter-spacing:-.045em;line-height:.98}h1{font-size:clamp(64px,9vw,132px);max-width:800px}.lead{font-size:clamp(18px,2vw,23px);max-width:620px;line-height:1.45;margin:30px 0;color:#f0f5f2}.hero-actions{display:flex;gap:25px;align-items:center}.text-link{color:#fff;font-weight:700;text-underline-offset:6px}.date-card{position:absolute;z-index:3;right:clamp(20px,5vw,75px);bottom:35px;background:var(--yellow);color:var(--deep);width:128px;height:145px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;text-transform:uppercase;transform:rotate(2deg);box-shadow:0 16px 40px rgba(0,0,0,.2)}.date-card strong{font:800 56px/.9 Manrope}.date-card span{font-weight:800;font-size:19px}.date-card small{margin-top:8px;font-weight:700;letter-spacing:.15em}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:clamp(80px,10vw,150px) clamp(24px,8vw,130px);background:#fff}.section-label{color:#567068;margin:0 0 20px}.intro h2,.section-heading h2,.practical h2,.accessibility h2{font-size:clamp(42px,5.5vw,80px)}.intro-copy{max-width:640px;font-size:20px}.intro-copy p:first-child{font-weight:600;font-size:23px}.races{padding:clamp(80px,9vw,130px) clamp(24px,8vw,130px);background:var(--paper)}.section-heading{max-width:850px;margin-bottom:55px}.race-grid{border-top:1px solid var(--line)}.race-grid article{display:grid;grid-template-columns:80px 1fr auto;gap:28px;align-items:center;padding:34px 10px;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.race-grid article:hover{background:#fff;padding-left:24px;padding-right:24px}.race-number{font:700 13px Manrope;color:#84918d}.race-grid h3{font-size:34px;margin-bottom:9px}.race-grid p{margin:0;color:var(--muted)}.race-grid strong{font-size:14px;border:1px solid #aeb9b5;border-radius:999px;padding:7px 13px;white-space:nowrap}.note{background:var(--green);color:#fff;padding:18px 24px;border-radius:12px;margin:30px 0 0}.practical{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;background:var(--yellow);padding:clamp(80px,9vw,130px) clamp(24px,8vw,130px)}.practical .section-label{color:#5a4b0b}.practical dl{margin:0}.practical dl div{display:grid;grid-template-columns:140px 1fr;padding:24px 0;border-top:1px solid rgba(16,35,31,.3)}.practical dt{font-weight:700}.practical dd{margin:0;font:700 24px Manrope}.practical dd small{display:block;font:500 14px "DM Sans";margin-top:5px}.accessibility{background:var(--deep);color:#fff;padding:clamp(80px,10vw,150px) clamp(24px,8vw,130px);display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw;align-items:center}.braille{font-size:clamp(38px,6vw,82px);line-height:1.2;color:var(--lime);max-width:400px;word-break:break-word}.accessibility .section-label{color:var(--lime)}.accessibility p:last-child{font-size:20px;max-width:730px;color:#dbe6e2}.final-cta{text-align:center;background:var(--green);color:#fff;padding:clamp(90px,12vw,170px) 24px}.final-cta .section-label{color:var(--lime)}.final-cta h2{font-size:clamp(60px,9vw,128px);margin-bottom:45px}.button-light{background:#fff}.cta-note{font-size:14px;color:#c7d6d1}footer{padding:40px clamp(24px,8vw,130px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;background:#fff;font-size:14px;color:var(--muted)}footer p:last-child{text-align:right}.footer-brand{color:var(--green)}dialog{border:0;border-radius:24px;padding:45px;max-width:560px;color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(4,35,29,.78);backdrop-filter:blur(4px)}dialog h2{font-size:45px}dialog p:not(.section-label){font-size:18px}.dialog-close{position:absolute;top:15px;right:18px;border:0;background:none;font-size:32px;cursor:pointer}.dialog-ok{margin-top:10px}.button:focus-visible,a:focus-visible,.menu-button:focus-visible{outline:4px solid #fff;outline-offset:4px}nav .button:focus-visible,body>:not(.hero) a:focus-visible{outline-color:var(--green)}
@media(max-width:800px){.site-header{height:72px}.menu-button{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:22px;flex-direction:column;align-items:stretch;border-top:1px solid var(--line);box-shadow:0 14px 30px rgba(0,0,0,.12)}nav.open{display:flex}.hero{min-height:720px}.hero>img{object-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(4,35,29,.92),rgba(4,35,29,.32)),linear-gradient(0deg,rgba(4,35,29,.6),transparent)}.hero-content{margin-left:24px;padding-bottom:180px}.date-card{width:98px;height:112px;right:22px;bottom:28px}.date-card strong{font-size:42px}.intro,.practical,.accessibility{grid-template-columns:1fr}.race-grid article{grid-template-columns:48px 1fr}.race-grid article>strong{grid-column:2;justify-self:start}.practical dl div{grid-template-columns:100px 1fr}.braille{font-size:45px}footer{grid-template-columns:1fr;text-align:left}footer p:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.race-grid article{transition:none}}

/* Early-stage event page */
.interest-note{font-size:14px;color:#d7e3de;margin:18px 0 0}.story-note{border-left:4px solid var(--yellow);padding-left:18px;color:var(--muted);font-size:16px;margin-top:30px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:clamp(80px,9vw,130px) clamp(24px,8vw,130px);background:#fff}.contact h2{font-size:clamp(42px,5.5vw,80px)}.contact-card{align-self:center;background:var(--paper);border-radius:var(--radius);padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;gap:12px}.contact-name{font:800 clamp(24px,3vw,36px)/1.15 Manrope;margin:0 0 12px}.contact-card a{font-size:20px;font-weight:700;color:var(--green);text-underline-offset:5px}
@media(max-width:800px){.contact{grid-template-columns:1fr}.hero-actions{align-items:flex-start;flex-direction:column}.interest-note{max-width:280px}}

/* Sees i Våler brand refresh */
:root{--green:#0b263a;--deep:#06192b;--lime:#ffd400;--yellow:#ffd400;--paper:#f3f6f8;--ink:#071d2b;--muted:#526573;--line:#ccd6dc}
.site-header{min-height:96px;height:auto;padding-top:10px;padding-bottom:10px;background:var(--deep);border-bottom:1px solid rgba(255,255,255,.14)}
.brand{gap:14px;color:#fff}
.brand img{display:block;width:clamp(190px,20vw,285px);height:auto}
.brand-date{white-space:nowrap;border-left:1px solid rgba(255,255,255,.35);padding-left:14px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
nav a{color:#fff;font-weight:700}
nav a:hover{text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:6px}
.menu-button{color:#fff;border:2px solid var(--yellow)}
.button{border:2px solid var(--yellow);background:var(--yellow);color:var(--deep);box-shadow:0 5px 0 rgba(0,0,0,.18)}
.button:hover{box-shadow:0 7px 0 rgba(0,0,0,.18)}
.button-small{background:var(--yellow);color:var(--deep);box-shadow:none}
.hero{min-height:calc(100vh - 96px);background:var(--deep)}
.hero-shade{background:linear-gradient(90deg,rgba(6,25,43,.97) 0%,rgba(6,25,43,.78) 40%,rgba(6,25,43,.18) 76%),linear-gradient(0deg,rgba(6,25,43,.5),transparent 50%)}
.race-number{color:#667985;font-weight:800}
.race-grid strong{border:2px solid #8b9aa3}
.note{background:var(--deep);border-left:6px solid var(--yellow)}
.accessibility p:last-child{color:#e2ebf0}
footer{grid-template-columns:1.2fr 1fr 1fr;background:var(--deep);color:#dce6eb}
.footer-brand{color:#fff}
.footer-brand img{width:230px}
.button:focus-visible,a:focus-visible,.menu-button:focus-visible{outline-color:var(--yellow)}
@media(max-width:800px){.site-header{min-height:76px;height:auto;padding-top:8px;padding-bottom:8px}.brand img{width:180px}.brand-date{display:none}nav{top:76px;background:var(--deep);border-top-color:rgba(255,255,255,.16)}footer{grid-template-columns:1fr}.footer-brand img{width:210px}}

/* NBfU and expanded story */
.intro-copy p{margin-top:0;margin-bottom:1.2em}
.beneficiary{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center;padding:clamp(80px,10vw,145px) clamp(24px,8vw,130px);background:#fff}
.beneficiary-logo{background:var(--paper);border-radius:var(--radius);padding:clamp(30px,5vw,62px);border:1px solid var(--line)}
.beneficiary-logo img{display:block;width:100%;height:auto}
.beneficiary-copy{max-width:720px}
.beneficiary-copy h2{font-size:clamp(42px,5.5vw,76px);margin-bottom:30px}
.beneficiary-copy p{font-size:19px}
.nbfu-link{display:inline-block;margin-top:12px;color:var(--ink);font-weight:800;text-decoration-thickness:2px;text-underline-offset:6px}
.nbfu-link:hover{text-decoration-color:#0f6cba}
@media(max-width:800px){.beneficiary{grid-template-columns:1fr}.beneficiary-logo{padding:28px}.beneficiary-copy p{font-size:18px}}

/* Low-vision readability refinements */
body{font-size:18px}
p{max-width:72ch}
.hero>img{object-position:center center}
.hero-shade{background:linear-gradient(90deg,rgba(6,25,43,.98) 0%,rgba(6,25,43,.88) 38%,rgba(6,25,43,.35) 66%,rgba(6,25,43,.08) 100%),linear-gradient(0deg,rgba(6,25,43,.48),transparent 55%)}
.section-label{color:#405864}
.button,.menu-button,nav a,.text-link,.nbfu-link,.contact-card a{min-height:44px}
.button,.menu-button{display:inline-flex;align-items:center;justify-content:center}
.text-link,.nbfu-link,.contact-card a{text-decoration-thickness:2px;text-underline-offset:5px}
.story-note{border-left-width:6px;color:#3d515d}
@media(max-width:800px){.hero>img{object-position:70% center}.hero-shade{background:linear-gradient(90deg,rgba(6,25,43,.97) 0%,rgba(6,25,43,.82) 58%,rgba(6,25,43,.35) 100%),linear-gradient(0deg,rgba(6,25,43,.65),transparent 58%)}}
@media(prefers-contrast:more){body{background:#fff}.hero-shade{background:rgba(0,15,28,.9)}.section-label{color:#243f4d}.button{border:3px solid currentColor}.race-grid article,.practical dl div{border-width:2px}.story-note{border-left-width:8px}}
@media(forced-colors:active){.button,.menu-button,.race-grid strong,.beneficiary-logo{border:2px solid ButtonText}.hero-shade{background:Canvas}.hero-content{color:CanvasText}}

/* Våler-inspired purple identity */
:root{--green:#3b1b63;--deep:#2b124c;--paper:#f7f4fa;--ink:#241331;--muted:#63576c;--line:#d9cfdf}
.site-header,.accessibility,footer{background:#2b124c}
.final-cta,.note{background:#3b1b63}
.hero{background:#2b124c}
.hero-shade{background:linear-gradient(90deg,rgba(32,8,56,.98) 0%,rgba(32,8,56,.9) 38%,rgba(43,18,76,.48) 68%,rgba(43,18,76,.12) 100%),linear-gradient(0deg,rgba(32,8,56,.58),transparent 55%)}
.section-label{color:#594367}
.contact-card a{color:#3b1b63}
.story-note{color:#4e3f58}
@media(max-width:800px){.hero-shade{background:linear-gradient(90deg,rgba(32,8,56,.98) 0%,rgba(32,8,56,.88) 58%,rgba(43,18,76,.48) 100%),linear-gradient(0deg,rgba(32,8,56,.72),transparent 58%)}}
@media(prefers-contrast:more){.hero-shade{background:rgba(24,4,43,.94)}.section-label{color:#3d2949}}

/* Responsive hero and predictable Braille wrapping */
.hero>picture{position:absolute;inset:0;width:100%;height:100%}
.hero>picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.braille{display:flex;flex-wrap:wrap;gap:.12em .34em;max-width:none;word-break:normal;overflow-wrap:normal}
.braille span{white-space:nowrap}
@media(max-width:800px){
  .hero{display:flex;min-height:760px;align-items:center}
  .hero>picture{position:absolute;inset:0;width:100%;height:100%}
  .hero>picture img{object-position:center 42%}
  .hero-shade{display:block;background:linear-gradient(90deg,rgba(32,8,56,.94) 0%,rgba(32,8,56,.76) 54%,rgba(43,18,76,.3) 100%),linear-gradient(0deg,rgba(32,8,56,.78) 0%,rgba(32,8,56,.12) 62%)}
  .hero-content{width:min(620px,88%);margin-left:24px;padding:72px 0 190px;background:transparent}
  .hero-content h1{font-size:clamp(54px,17vw,78px)}
  .date-card{bottom:28px}
  .braille{font-size:clamp(34px,11vw,50px);gap:.08em .28em}
}
