
:root{
  --bg:#111114; --panel:#19191e; --paper:#f1eee7; --ink:#111114;
  --acid:#62e7d2; --hot:#ff6d5a; --violet:#a88cff; --orange:#ffae45;
  --line:rgba(241,238,231,.24); --muted:#b9b5ae;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.45}
a{color:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:var(--paper);color:var(--ink);padding:.75rem;z-index:99}
.site-header{min-height:72vh;display:flex;align-items:end;border-bottom:1px solid var(--line);background:
radial-gradient(circle at 80% 20%,rgba(168,140,255,.18),transparent 25rem),
radial-gradient(circle at 15% 75%,rgba(98,231,210,.16),transparent 22rem),#111114}
.header-inner,main,footer{width:min(1180px,calc(100% - 40px));margin:auto}.header-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:4rem;padding:5rem 0 4rem;align-items:end}
.identity-block{position:relative}.identity-small,.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.identity-small{color:var(--acid);margin-bottom:1rem}
h1{font-size:clamp(4rem,10vw,9rem);line-height:.76;letter-spacing:-.075em;margin:0;font-weight:950}.identity-year{font-size:clamp(2rem,4vw,4rem);font-weight:900;color:var(--hot);margin-top:1rem}
.header-copy{font-size:1.3rem;max-width:30rem}.header-copy .eyebrow{color:var(--orange)}.button,.calendar-link,.event-link{display:inline-block;text-decoration:none;font-weight:800;border-bottom:2px solid currentColor;padding:.55rem 0;margin-top:1rem}.button:hover,.calendar-link:hover,.event-link:hover{color:var(--acid)}
.programme-section{padding:5rem 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section-heading h2,.about-grid h2{font-size:clamp(2.4rem,5vw,5rem);line-height:.9;letter-spacing:-.05em;margin:.2rem 0}.section-heading .eyebrow{color:var(--hot)}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.event-card{background:var(--paper);color:var(--ink);display:flex;flex-direction:column;min-width:0}.event-image{aspect-ratio:16/10;padding:1.1rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#24242a;color:white;position:relative}.event-image:before,.event-image:after{content:"";position:absolute;inset:auto -20% -35% auto;width:80%;aspect-ratio:1;border:2px solid currentColor;transform:rotate(18deg);opacity:.45}.event-image:after{inset:-35% auto auto -20%;transform:rotate(-10deg)}
.placeholder-1{background:#dd4f47}.placeholder-2{background:#294bd8}.placeholder-3{background:#6951b4}.placeholder-4{background:#0f816f}.placeholder-5{background:#b16019}.placeholder-6{background:#7d2449}.image-kicker{font-size:.68rem;letter-spacing:.12em;font-weight:900;z-index:1}.image-title{font-weight:950;font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:.9;letter-spacing:-.04em;z-index:1;max-width:90%}.event-organiser{background:var(--acid);padding:.62rem .9rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.event-body{padding:1rem;display:flex;flex-direction:column;flex:1}.event-body h3{font-size:1.55rem;line-height:1.02;letter-spacing:-.03em;margin:0 0 .8rem}.event-when,.event-venue{margin:.15rem 0}.event-venue{font-size:.95rem}.event-pills{display:flex;gap:.35rem;flex-wrap:wrap;margin:.8rem 0}.pill{border:1px solid #111114;padding:.25rem .42rem;font-size:.72rem;font-weight:800}.pill-muted{opacity:.68}.event-socials,.event-note{font-size:.78rem;margin:.25rem 0;color:#4c4a46}.instagram-link{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}.instagram-link:hover,.instagram-link:focus-visible{color:#111114;border-bottom-style:solid}.event-link{margin-top:auto;padding-top:.8rem}.event-link-disabled{opacity:.45;border-bottom-style:dotted;cursor:default}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;border-top:1px solid var(--line);padding:5rem 0}.about-grid .eyebrow,.support-section .eyebrow{color:var(--acid)}.about-block p{font-size:1.15rem;max-width:44rem}.clubs-block ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.clubs-block li{padding:.7rem 0;border-bottom:1px solid var(--line);font-weight:700}
.support-section{padding:0 0 5rem}.support-placeholder{height:140px;border:1px dashed rgba(241,238,231,.45);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);letter-spacing:.08em;font-size:.75rem;font-weight:800;margin-top:1rem}
footer{border-top:1px solid var(--line);padding:2rem 0 4rem;display:flex;justify-content:space-between;gap:2rem;color:var(--muted);font-size:.86rem}.footer-note{max-width:38rem;text-align:right}
@media(max-width:900px){.header-inner{grid-template-columns:1fr;gap:2rem}.site-header{min-height:auto}.event-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr;gap:2rem}}
@media(max-width:620px){.header-inner,main,footer{width:min(100% - 24px,1180px)}.header-inner{padding:3rem 0}.event-grid{grid-template-columns:1fr}.section-heading{display:block}.calendar-link{margin-top:.5rem}.programme-section{padding:3.5rem 0}.about-grid{padding:3.5rem 0}.clubs-block ul{grid-template-columns:1fr}footer{display:block}.footer-note{text-align:left}.event-body h3{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Official Scalarama and funder marks */
.scalarama-mark{
  display:block;
  width:min(250px,70%);
  height:auto;
  margin:0 0 1.25rem;
}
.support-logos{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);
  gap:1.25rem;
  margin-top:1rem;
  align-items:stretch;
}
.support-logo-card{
  min-height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.4rem;
  border:1px solid var(--line);
  overflow:hidden;
}
.support-logo-card-light{background:#fff;}
.support-logo-card-dark{background:#000;}
.support-logo-card img{
  display:block;
  width:100%;
  height:120px;
  object-fit:contain;
}
.support-logo-card-dark img{height:135px;}
.support-credit{
  max-width:62rem;
  margin:1.3rem 0 0;
  color:var(--muted);
  font-size:.95rem;
}
@media(max-width:620px){
  .scalarama-mark{width:min(210px,62%);margin-bottom:1rem}
  .support-logos{grid-template-columns:1fr}
  .support-logo-card{min-height:130px;padding:1rem}
  .support-logo-card img,.support-logo-card-dark img{height:100px}
}


/* Drop-in event images: add correctly named JPGs to images/events/.
   If a file is missing, the coloured placeholder underneath remains visible. */
.event-image .event-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:3;
  display:block;
}

/* Anniversary callouts */
.pill-anniversary{background:var(--hot);border-color:var(--hot);color:#111114;}

/* Holly layout test: full-width About copy with participating clubs underneath. */
.about-grid{grid-template-columns:1fr;gap:2.5rem;}
.about-block p{max-width:none;}
.clubs-block ul{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.clubs-block ul{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.clubs-block ul{grid-template-columns:1fr;}}
