@charset "UTF-8";
/* ==========================================================================
   NLB Podgorica Millennium Run — theme stylesheet
   Mobile-first. Reproduces the approved 2026 prototype.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Fonts — self-hosted, no Google Fonts request from the front end
   -------------------------------------------------------------------------- */

/* Raleway — headings, 600-900 */
@font-face{font-family:"Raleway";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/raleway-latin-ext-600.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Raleway";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/raleway-latin-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Raleway";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/raleway-latin-ext-700.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Raleway";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/raleway-latin-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Raleway";font-style:normal;font-weight:800;font-display:swap;
  src:url("../fonts/raleway-latin-ext-800.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Raleway";font-style:normal;font-weight:800;font-display:swap;
  src:url("../fonts/raleway-latin-800.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Raleway";font-style:normal;font-weight:900;font-display:swap;
  src:url("../fonts/raleway-latin-ext-900.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Raleway";font-style:normal;font-weight:900;font-display:swap;
  src:url("../fonts/raleway-latin-900.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* IBM Plex Sans — body, 400/600 */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/ibm-plex-sans-latin-ext-400.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/ibm-plex-sans-latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/ibm-plex-sans-latin-ext-600.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/ibm-plex-sans-latin-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* --------------------------------------------------------------------------
   2. Tokens
   -------------------------------------------------------------------------- */
:root{
  --pmr-purple:#2b1250;
  --pmr-purple-deep:#1b0a36;
  --pmr-purple-ink:#10062a;
  --pmr-cyan:#00aeef;
  /* Text-safe cyan. Same hue (196deg) and saturation as the brand cyan, darkened
     until it clears 4.5:1 on BOTH white (5.03:1) and the shell grey (4.53:1).
     The brand cyan #00AEEF is an accent only and is never used for small text
     on a light ground — it manages just 2.53:1 on white. */
  --pmr-cyan-text:#0077a4;
  --pmr-ink:#16161a;
  --pmr-body:#3d3f46;
  --pmr-body-alt:#45474e;
  /* 4.55:1 on the shell grey, 5.05:1 on white */
  --pmr-muted:#6c6f73;
  --pmr-shell:#f2f3f5;
  --pmr-hairline:#e2e4e8;
  --pmr-rule:#d6d9de;
  --pmr-on-purple:#cbc2dd;
  --pmr-on-purple-dim:#8f83a8;
  --pmr-on-purple-soft:#b6abcb;
  --pmr-on-purple-link:#e4ddf0;

  --pmr-font-head:"Raleway",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pmr-font-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;

  --pmr-max:1400px;
  --pmr-gut:clamp(22px,5vw,72px);
  --pmr-gut-head:clamp(18px,4vw,44px);
  --pmr-section:clamp(64px,8vw,120px);
  --pmr-header-h:80px;
  --pmr-radius:2px;
}

/* --------------------------------------------------------------------------
   3. Base
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--pmr-header-h) + 16px);
  -webkit-text-size-adjust:100%;
  /* The closed drawer is parked off-canvas with translateX(100%). It is
     position:fixed, so body{overflow-x:hidden} alone does not stop it
     extending the scroll area — the clip has to be on the root too. */
  overflow-x:hidden;
}
body{
  margin:0;background:#fff;color:var(--pmr-ink);
  font-family:var(--pmr-font-body);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.pmr-nav-open{overflow:hidden;}
img,video,svg{max-width:100%;}
img,video{height:auto;display:block;}
a{color:var(--pmr-cyan-text);text-decoration:none;}
a:hover{color:var(--pmr-purple);}
h1,h2,h3,h4{font-family:var(--pmr-font-head);margin:0;text-wrap:balance;}
p{margin:0;}
button{font:inherit;}

:focus-visible{outline:3px solid var(--pmr-cyan);outline-offset:3px;}
.pmr-on-dark :focus-visible,.pmr-header :focus-visible,.pmr-drawer :focus-visible{outline-color:#fff;}

/* Clipped rather than parked at left:-9999px, so it never widens the page. */
.pmr-skip{
  position:absolute;top:0;left:0;z-index:200;
  width:1px;height:1px;overflow:hidden;clip-path:inset(50%);
  background:var(--pmr-cyan);color:var(--pmr-purple-ink);
  font-family:var(--pmr-font-head);font-weight:800;letter-spacing:.12em;
  white-space:nowrap;
}
.pmr-skip:focus{width:auto;height:auto;clip-path:none;padding:16px 24px;}

.pmr-visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.pmr-shell{max-width:var(--pmr-max);margin:0 auto;padding-inline:var(--pmr-gut);}
.pmr-section{padding-block:var(--pmr-section);}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

/* --------------------------------------------------------------------------
   4. Buttons
   -------------------------------------------------------------------------- */
.pmr-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--pmr-font-head);font-size:14px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;padding:16px 26px;border-radius:var(--pmr-radius);
  border:1px solid transparent;cursor:pointer;text-align:center;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.pmr-btn svg{flex-shrink:0;}
.pmr-btn--cyan{background:var(--pmr-cyan);color:var(--pmr-purple-ink);}
.pmr-btn--cyan:hover{background:var(--pmr-purple);color:#fff;}
.pmr-btn--cyan-light:hover{background:#fff;color:var(--pmr-purple-ink);}
.pmr-btn--purple{background:var(--pmr-purple);color:#fff;}
.pmr-btn--purple:hover{background:var(--pmr-purple-ink);color:#fff;}
.pmr-btn--outline-purple{border-color:var(--pmr-purple);color:var(--pmr-purple);background:transparent;}
.pmr-btn--outline-purple:hover{background:var(--pmr-purple);color:#fff;}
.pmr-btn--outline-light{border-color:rgba(255,255,255,.45);color:#fff;background:transparent;}
.pmr-btn--outline-light:hover{border-color:var(--pmr-cyan);color:var(--pmr-cyan);}
.pmr-btn--lg{font-size:15px;padding:19px 30px;}
.pmr-btn--xl{font-size:16px;padding:22px 38px;}
.pmr-btn--sm{font-size:13px;padding:13px 18px;}

/* --------------------------------------------------------------------------
   5. Header — sticky, solid purple, never transparent
   -------------------------------------------------------------------------- */
.pmr-header{
  position:sticky;top:0;z-index:60;
  background:var(--pmr-purple);
  border-bottom:1px solid rgba(255,255,255,.14);
  font-family:var(--pmr-font-body);
}
.pmr-header__inner{
  max-width:var(--pmr-max);margin:0 auto;
  padding-inline:var(--pmr-gut-head);
  height:var(--pmr-header-h);
  display:flex;align-items:center;gap:32px;
}
.pmr-header__logo{display:flex;align-items:center;flex-shrink:0;}
.pmr-header__logo img{height:46px;width:auto;}

.pmr-nav{display:none;align-items:center;gap:30px;margin-left:auto;}
.pmr-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:30px;}
.pmr-nav a{
  font-family:var(--pmr-font-head);font-size:13px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:#fff;
  transition:color .18s ease;
}
.pmr-nav a:hover,.pmr-nav .current-menu-item > a{color:var(--pmr-cyan);}

.pmr-header__actions{display:none;align-items:center;gap:16px;}

.pmr-langswitch{
  display:flex;align-items:center;
  border:1px solid rgba(255,255,255,.32);border-radius:var(--pmr-radius);overflow:hidden;
}
.pmr-langswitch span,.pmr-langswitch a{
  font-family:var(--pmr-font-head);font-size:12px;font-weight:800;letter-spacing:.1em;
  padding:7px 11px;color:#fff;transition:color .18s ease;
}
.pmr-langswitch .is-current{background:var(--pmr-cyan);color:var(--pmr-purple-ink);}
.pmr-langswitch a:hover{color:var(--pmr-cyan);}

.pmr-burger{
  margin-left:auto;background:none;color:#fff;
  border:1px solid rgba(255,255,255,.32);border-radius:var(--pmr-radius);
  padding:10px;cursor:pointer;display:flex;
}

@media (min-width:1001px){
  .pmr-nav,.pmr-header__actions{display:flex;}
  .pmr-burger{display:none;}
}

/* --------------------------------------------------------------------------
   6. Mobile drawer — full height, right-hand side
   -------------------------------------------------------------------------- */
.pmr-drawer-scrim{
  position:fixed;inset:0;z-index:90;background:rgba(16,6,42,.6);
  opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;
}
.pmr-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:100;
  width:min(340px,86vw);height:100%;
  background:var(--pmr-purple);padding:26px 28px;
  display:flex;flex-direction:column;gap:6px;overflow-y:auto;
  transform:translateX(100%);transition:transform .26s cubic-bezier(.4,0,.2,1);
  visibility:hidden;
}
body.pmr-nav-open .pmr-drawer-scrim{opacity:1;visibility:visible;}
body.pmr-nav-open .pmr-drawer{transform:translateX(0);visibility:visible;}

.pmr-drawer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;}
.pmr-drawer__top img{height:38px;width:auto;}
.pmr-drawer__close{
  background:none;color:#fff;border:1px solid rgba(255,255,255,.32);
  border-radius:var(--pmr-radius);padding:9px;cursor:pointer;display:flex;
}
.pmr-drawer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.pmr-drawer ul a{
  display:block;font-family:var(--pmr-font-head);font-size:25px;font-weight:800;
  color:#fff;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);
}
.pmr-drawer ul a:hover{color:var(--pmr-cyan);}
.pmr-drawer__cta{margin-top:22px;width:100%;}
.pmr-drawer__lang{margin-top:18px;display:flex;align-items:center;gap:10px;}
.pmr-drawer__lang span,.pmr-drawer__lang a{
  font-family:var(--pmr-font-head);font-size:12px;font-weight:800;letter-spacing:.1em;
  padding:9px 13px;border-radius:var(--pmr-radius);color:#fff;
}
.pmr-drawer__lang .is-current{background:var(--pmr-cyan);color:var(--pmr-purple-ink);}
.pmr-drawer__lang a{border:1px solid rgba(255,255,255,.32);}

/* --------------------------------------------------------------------------
   7. Hero
   -------------------------------------------------------------------------- */
.pmr-hero{
  position:relative;background:var(--pmr-purple);
  min-height:min(86vh,800px);display:flex;align-items:center;overflow:hidden;
}
.pmr-hero__media{position:absolute;inset:0;z-index:1;}
.pmr-hero__media img,.pmr-hero__media video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
/* left-to-right purple gradient, clear by ~78% so the footage stays visible */
.pmr-hero__scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg,rgba(27,10,54,.95) 0%,rgba(27,10,54,.88) 26%,rgba(27,10,54,.40) 52%,rgba(27,10,54,0) 78%),
    linear-gradient(to bottom,rgba(27,10,54,.32),rgba(27,10,54,.16));
}
.pmr-hero__body{
  position:relative;z-index:2;width:100%;max-width:var(--pmr-max);margin:0 auto;
  padding:clamp(44px,6vw,80px) var(--pmr-gut);
}
.pmr-hero__col{max-width:700px;display:flex;flex-direction:column;}
.pmr-hero__eyebrow{
  margin:0 0 26px;font-family:var(--pmr-font-head);font-size:12px;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--pmr-cyan);
}
.pmr-hero__title{
  font-weight:900;font-size:clamp(46px,6.4vw,96px);line-height:.98;
  letter-spacing:-.012em;color:#fff;
}
.pmr-hero__title em{font-style:normal;color:var(--pmr-cyan);}
.pmr-hero__when{
  margin-top:30px;font-family:var(--pmr-font-head);font-size:clamp(16px,1.5vw,20px);
  font-weight:600;letter-spacing:.02em;color:#fff;
}
.pmr-hero__lede{
  margin-top:14px;font-size:clamp(17px,1.6vw,20px);line-height:1.5;
  color:var(--pmr-on-purple);max-width:44ch;
}
.pmr-hero__distances{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;
  list-style:none;padding:0;
}
.pmr-hero__distances li{
  font-family:var(--pmr-font-head);font-size:14px;font-weight:700;
  letter-spacing:.1em;color:#fff;display:flex;align-items:center;gap:14px;
}
.pmr-hero__distances li + li::before{
  content:"";width:5px;height:5px;background:var(--pmr-cyan);border-radius:50%;
}
.pmr-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;}

/* --------------------------------------------------------------------------
   8. Countdown rail
   -------------------------------------------------------------------------- */
.pmr-countdown{background:var(--pmr-cyan);padding:26px var(--pmr-gut);}
.pmr-countdown__inner{
  max-width:var(--pmr-max);margin:0 auto;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:clamp(20px,4vw,56px);
}
.pmr-countdown__label{
  font-family:var(--pmr-font-head);font-size:13px;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;color:var(--pmr-purple-ink);
}
.pmr-countdown__units{
  display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(18px,3vw,44px);
  list-style:none;margin:0;padding:0;
}
.pmr-countdown__units li{display:flex;flex-direction:column;align-items:center;}
.pmr-countdown__n{
  font-family:var(--pmr-font-head);font-size:clamp(34px,4vw,52px);font-weight:900;
  line-height:1;letter-spacing:-.015em;color:var(--pmr-purple-ink);
  font-variant-numeric:tabular-nums;
}
.pmr-countdown__u{
  font-family:var(--pmr-font-head);font-size:11px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--pmr-purple-ink);margin-top:6px;
}

/* --------------------------------------------------------------------------
   9. Intro split
   -------------------------------------------------------------------------- */
.pmr-intro__grid{
  display:flex;flex-wrap:wrap;gap:clamp(36px,5vw,80px);align-items:flex-start;
}
.pmr-intro__text{flex:1 1 400px;min-width:0;}
.pmr-intro__media{flex:1 1 420px;min-width:0;}
.pmr-h2{
  font-weight:900;font-size:clamp(34px,4.4vw,62px);line-height:.94;
  letter-spacing:-.012em;color:var(--pmr-purple);
}
.pmr-h2--sm{font-size:clamp(32px,4.2vw,58px);line-height:.96;}
.pmr-h2--light{color:#fff;}
.pmr-prose{
  margin-top:28px;font-size:clamp(17px,1.5vw,20px);line-height:1.62;
  color:var(--pmr-body);max-width:52ch;
}
.pmr-prose + .pmr-prose{margin-top:20px;}
.pmr-intro__media img{width:100%;height:clamp(300px,42vw,540px);object-fit:cover;}
.pmr-caption{
  margin-top:12px;font-family:var(--pmr-font-head);font-size:13px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--pmr-muted);
}

/* --------------------------------------------------------------------------
   10. Distances — full-width editorial list, not a card grid
   -------------------------------------------------------------------------- */
.pmr-distances{background:var(--pmr-shell);}
.pmr-distances__h{margin-bottom:clamp(36px,4vw,64px);}
.pmr-distance{
  border-top:1px solid var(--pmr-rule);
  padding-block:clamp(28px,3vw,44px);
  display:flex;flex-wrap:wrap;gap:clamp(22px,3vw,48px);align-items:flex-start;
}
.pmr-distance:last-child{border-bottom:1px solid var(--pmr-rule);}
.pmr-distance__map{flex:0 0 auto;width:132px;}
.pmr-distance__map img{
  width:132px;height:132px;object-fit:contain;background:#fff;border:1px solid var(--pmr-hairline);
}
.pmr-distance__map .pmr-placeholder{
  width:132px;height:132px;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:10px;
}
.pmr-distance__main{flex:1 1 320px;min-width:0;}
.pmr-distance__index{
  margin-bottom:8px;font-family:var(--pmr-font-head);font-size:12px;font-weight:800;
  letter-spacing:.2em;color:var(--pmr-purple);
}
.pmr-distance__name{
  font-weight:800;font-size:clamp(24px,2.6vw,34px);line-height:1.05;
  letter-spacing:-.01em;color:var(--pmr-ink);
}
.pmr-distance__desc{margin-top:14px;font-size:17px;line-height:1.6;color:var(--pmr-body-alt);max-width:56ch;}
.pmr-distance__start{
  margin-top:16px;display:flex;align-items:center;gap:9px;
  font-family:var(--pmr-font-head);font-size:14px;font-weight:600;
  letter-spacing:.03em;color:var(--pmr-purple);
}
.pmr-distance__start svg{flex-shrink:0;}
/* Must be allowed to shrink: the longest entry label
   ("PRIJAVI SE ZA POLUMARATON") is wider than a phone's content box, and
   flex:0 0 auto would push the whole row off the side of the screen. */
.pmr-distance__aside{flex:1 1 230px;min-width:0;display:flex;flex-direction:column;gap:10px;}
.pmr-distance__aside .pmr-btn{white-space:normal;line-height:1.3;}
@media (min-width:760px){
  .pmr-distance__aside{flex:0 1 230px;}
}
.pmr-distance__fee{
  font-family:var(--pmr-font-head);font-size:22px;font-weight:800;
  letter-spacing:-.01em;color:var(--pmr-purple);
}
.pmr-distance__next{font-size:13px;line-height:1.5;color:var(--pmr-muted);}
.pmr-distance__inc{margin-bottom:6px;font-size:14px;line-height:1.5;color:var(--pmr-muted);}

.pmr-placeholder{
  display:flex;align-items:center;justify-content:center;
  border:1px dashed #cfd3d9;background:transparent;
  font-family:var(--pmr-font-head);font-size:11px;font-weight:700;
  letter-spacing:.1em;color:var(--pmr-muted);text-align:center;
}

/* --------------------------------------------------------------------------
   11. Day at the race
   -------------------------------------------------------------------------- */
.pmr-race-day{background:var(--pmr-purple);}
.pmr-race-day__head{
  display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,72px);align-items:flex-end;
  margin-bottom:clamp(36px,4vw,60px);
}
.pmr-race-day__head h2{flex:1 1 380px;}
.pmr-race-day__intro{flex:1 1 380px;min-width:0;}
.pmr-race-day__intro p{
  font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:var(--pmr-on-purple);max-width:54ch;
}
.pmr-race-day__intro .pmr-btn{margin-top:22px;}
.pmr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;}
.pmr-grid img{width:100%;height:300px;object-fit:cover;}
.pmr-grid img.is-wide{grid-column:span 2;}
@media (max-width:560px){.pmr-grid img.is-wide{grid-column:span 1;}}

/* --------------------------------------------------------------------------
   12. Weekend split
   -------------------------------------------------------------------------- */
.pmr-weekend{background:#fff;display:flex;flex-wrap:wrap;}
.pmr-weekend__media{flex:1 1 360px;min-width:0;min-height:340px;}
.pmr-weekend__media img{width:100%;height:100%;min-height:340px;object-fit:cover;}
.pmr-weekend__body{
  flex:1.1 1 440px;min-width:0;
  padding:clamp(48px,6vw,104px) var(--pmr-gut);
  display:flex;flex-direction:column;justify-content:center;
}
.pmr-weekend__body h2{font-size:clamp(30px,3.6vw,50px);line-height:.98;}
.pmr-weekend__body .pmr-prose{margin-top:24px;max-width:50ch;}
.pmr-weekend__body .pmr-btn{margin-top:30px;align-self:flex-start;}

/* --------------------------------------------------------------------------
   13. FAQ
   -------------------------------------------------------------------------- */
.pmr-faq{background:var(--pmr-shell);}
.pmr-faq__grid{
  display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,80px);align-items:flex-start;
}
.pmr-faq__aside{flex:0 1 340px;min-width:0;}
.pmr-faq__aside h2{font-size:clamp(32px,3.6vw,50px);line-height:.96;}
.pmr-faq__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.pmr-faq__actions .pmr-btn{font-size:13px;padding:15px 22px;}
.pmr-faq__list{flex:1 1 440px;min-width:0;}
@media (min-width:1001px){.pmr-faq__aside{position:sticky;top:calc(var(--pmr-header-h) + 30px);}}

.pmr-faq__item{border-top:1px solid var(--pmr-rule);padding-block:22px;}
.pmr-faq__item:last-child{border-bottom:1px solid var(--pmr-rule);}
.pmr-faq__item summary{
  display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;
  font-family:var(--pmr-font-head);font-weight:700;font-size:clamp(17px,1.7vw,21px);
  letter-spacing:-.01em;color:var(--pmr-ink);list-style:none;
}
.pmr-faq__item summary::-webkit-details-marker{display:none;}
.pmr-faq__item summary svg{flex-shrink:0;transition:transform .2s ease;}
.pmr-faq__item[open] summary svg{transform:rotate(180deg);}
.pmr-faq__item p{margin-top:14px;font-size:17px;line-height:1.62;color:var(--pmr-body-alt);max-width:62ch;}

/* --------------------------------------------------------------------------
   14. Sponsors
   -------------------------------------------------------------------------- */
.pmr-sponsors{background:#fff;padding-block:clamp(64px,8vw,112px);}
.pmr-sponsors__inner{display:flex;flex-direction:column;gap:clamp(36px,4vw,56px);}
.pmr-tier{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;}
.pmr-tier + .pmr-tier{border-top:1px solid var(--pmr-hairline);padding-top:clamp(28px,3vw,44px);}
.pmr-tier--single{align-items:center;}
.pmr-tier__h{
  flex:0 0 260px;font-family:var(--pmr-font-head);font-size:12px;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;color:var(--pmr-muted);
}
.pmr-tier__items{flex:1 1 300px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
.pmr-tier__items--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
.pmr-tier__items--media{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}
.pmr-tier__items a,.pmr-tier__items span.pmr-placeholder{min-height:70px;}
.pmr-tier--lead .pmr-placeholder,.pmr-tier--lead a{height:74px;min-width:190px;padding-inline:22px;font-size:12px;letter-spacing:.12em;}
.pmr-tier__items img{height:70px;width:100%;object-fit:contain;}
.pmr-tier__items--media img{height:58px;}
.pmr-tier__items .pmr-placeholder{height:70px;padding-inline:14px;}

/* --------------------------------------------------------------------------
   15. Closing CTA
   -------------------------------------------------------------------------- */
.pmr-closing{background:var(--pmr-cyan);padding:var(--pmr-section) var(--pmr-gut);}
.pmr-closing__inner{
  max-width:var(--pmr-max);margin:0 auto;display:flex;flex-wrap:wrap;gap:36px;
  align-items:flex-end;justify-content:space-between;
}
.pmr-closing h2{
  font-weight:900;font-size:clamp(36px,5.6vw,84px);line-height:.9;
  letter-spacing:-.015em;color:var(--pmr-purple-ink);
}
.pmr-closing p{
  margin-top:24px;font-family:var(--pmr-font-head);font-size:clamp(15px,1.4vw,19px);
  font-weight:600;color:var(--pmr-purple-ink);
}
.pmr-closing p + p{margin-top:4px;}

/* --------------------------------------------------------------------------
   16. Footer
   -------------------------------------------------------------------------- */
.pmr-footer{
  background:var(--pmr-purple-deep);
  padding:clamp(56px,7vw,96px) var(--pmr-gut) 32px;
  font-family:var(--pmr-font-body);
}
.pmr-footer__inner{max-width:var(--pmr-max);margin:0 auto;}
.pmr-footer__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:clamp(28px,4vw,56px);align-items:start;
}
.pmr-footer__brand img{height:56px;width:auto;}
.pmr-footer__label{
  margin-top:22px;font-family:var(--pmr-font-head);font-size:12px;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;color:var(--pmr-on-purple-dim);
}
.pmr-footer__social{display:flex;gap:12px;margin-top:14px;}
.pmr-footer__social a{
  display:flex;align-items:center;justify-content:center;width:42px;height:42px;
  border:1px solid rgba(255,255,255,.25);border-radius:var(--pmr-radius);
  transition:border-color .18s ease;
}
.pmr-footer__social a:hover{border-color:var(--pmr-cyan);}
.pmr-footer__menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.pmr-footer__menu a{font-size:16px;color:var(--pmr-on-purple-link);}
.pmr-footer__menu a:hover{color:var(--pmr-cyan);}
.pmr-footer__credits p{margin-top:12px;font-size:15px;line-height:1.65;color:var(--pmr-on-purple-soft);}
.pmr-footer__base{
  margin-top:clamp(44px,5vw,72px);padding-top:26px;
  border-top:1px solid rgba(255,255,255,.14);
  display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;
}
.pmr-footer__legal p{font-size:14px;line-height:1.6;color:var(--pmr-on-purple-dim);}
.pmr-footer__legal p + p{margin-top:6px;}
.pmr-footer__legal a{color:var(--pmr-on-purple-soft);}
.pmr-footer__legal a:hover{color:var(--pmr-cyan);}
.pmr-footer__powered{display:flex;align-items:center;gap:14px;}
.pmr-footer__powered span{
  font-family:var(--pmr-font-head);font-size:11px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--pmr-on-purple-dim);
}
.pmr-footer__powered img{height:30px;width:auto;}

/* --------------------------------------------------------------------------
   17. Editor / admin niceties
   -------------------------------------------------------------------------- */
.admin-bar .pmr-header{top:32px;}
@media screen and (max-width:782px){.admin-bar .pmr-header{top:46px;}}
