/* ================================================================
   ROUND THE ROCK — THEME CONTROL PANEL
   ================================================================

   This is the only section you normally need to edit.

   HOW TO CHANGE A VALUE
   Replace only the value after the colon and before the semicolon.

   Examples:
   --theme-accent: #f26b38;     changes the orange highlight colour
   --theme-corners: 16px;       makes cards more rounded
   --theme-section-spacing: 80px; brings sections closer together

   Handy colour picker: https://htmlcolorcodes.com/color-picker/
   Keep a copy of the original value before making a large change.
   ================================================================ */
:root{
  /* COLOURS */
  --theme-text: #111111;             /* Main headings and body text */
  --theme-muted-text: #67676c;       /* Secondary and descriptive text */
  --theme-accent: #f26b38;           /* Orange logo and highlights */
  --theme-dark: #102a3a;             /* Navy feature sections and dark panels */
  --theme-darkest: #081c28;          /* Deepest navy backgrounds */
  --theme-secondary: #167d78;        /* Teal links, labels and selected accents */
  --theme-secondary-light: #3aafa9;  /* Lighter teal decorative accents */
  --theme-page-background: #ffffff;  /* Main page background */
  --theme-light-background: #f5f5f7; /* Pale grey content sections */
  --theme-warm-background: #f1f0ec;  /* Warm neutral sections */
  --theme-border: rgba(0,0,0,.10);   /* Fine borders around cards/nav */

  /* TYPOGRAPHY */
  --theme-font: -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --theme-letter-spacing: -.012em;
  --theme-body-size: 16px;            /* Normal paragraph and navigation text */
  --theme-body-line-height: 1.6;      /* Space between lines of paragraph text */
  --theme-heading-weight: 650;        /* Major heading weight: use 400–800 */
  --theme-heading-spacing: -.055em;   /* Tightness of major page headings */

  /* SHAPES AND SPACING */
  --theme-corners: 8px;              /* Card corner radius */
  --theme-button-corners: 999px;      /* 999px creates pill-shaped buttons */
  --theme-section-spacing: 112px;    /* Vertical space around sections */
  --theme-content-width: 1240px;     /* Maximum page content width */

  /* FLOATING HEADER */
  --theme-header-width: 1180px;
  --theme-header-background: rgba(255,255,255,.92);
  --theme-header-shadow: 0 12px 35px rgba(0,0,0,.11);

  /* Internal aliases — leave these unchanged */
  --rtr-ink: var(--theme-text);
  --rtr-muted: var(--theme-muted-text);
  --rtr-soft: var(--theme-light-background);
  --rtr-sand: var(--theme-warm-background);
  --rtr-orange: var(--theme-accent);
  --rtr-line: var(--theme-border);
  --rtr-white: var(--theme-page-background);
  --rtr-nav-bg: var(--theme-header-background);
  --rtr-radius: var(--theme-corners);
  --rtr-max: var(--theme-content-width);
  --rtr-nav-max: var(--theme-header-width);
  --rtr-section-space: var(--theme-section-spacing);
  --rtr-font: var(--theme-font);
}

html{scroll-behavior:smooth;scroll-padding-top:88px}
body{color:var(--rtr-ink);background:var(--theme-page-background);font-family:var(--rtr-font);letter-spacing:var(--theme-letter-spacing)}

/* Floating navigation: race pages and Results */
.rtr-global-header,.global-header{
  position:fixed!important;z-index:1000;top:14px;left:50%;transform:translateX(-50%);
  width:min(var(--rtr-nav-max),calc(100% - 28px));min-height:58px;
  padding:8px 10px 8px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  border:1px solid var(--rtr-line);border-radius:999px;background:var(--rtr-nav-bg);
  box-shadow:var(--theme-header-shadow);backdrop-filter:saturate(180%) blur(20px);
  font-family:var(--rtr-font)
}
.rtr-global-header a,.global-header a{color:#111;text-decoration:none}
.rtr-global-brand,.brand{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:700;white-space:nowrap}
.rtr-global-brand b,.brand b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--rtr-orange);font-size:.72rem;letter-spacing:.04em}
.rtr-global-header nav,.global-header nav{display:flex;align-items:center;gap:18px}
.rtr-global-header nav>a,.rtr-global-header summary,.global-header nav>a,.global-header summary{font-size:.78rem;font-weight:650;cursor:pointer;list-style:none;white-space:nowrap}
.rtr-global-header summary::-webkit-details-marker,.global-header summary::-webkit-details-marker{display:none}
.rtr-global-header details,.global-header details{position:relative}
.rtr-global-menu,.menu{position:absolute;top:34px;left:-18px;min-width:205px;padding:9px;border:1px solid var(--rtr-line);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(0,0,0,.14)}
.rtr-global-menu-right,.menu.right{right:-18px;left:auto}
.rtr-global-menu a,.menu a{display:block;padding:10px 12px;border-radius:8px;font-size:.82rem;font-weight:600}
.rtr-global-menu a:hover,.menu a:hover{background:#f2f2f2}
.rtr-global-enter,.enter{padding:11px 17px!important;border-radius:999px!important;color:#fff!important;background:#111!important}
.rtr-global-enter:hover,.enter:hover{background:#333!important}

/* Homepage navigation uses its established class names */
.rtr-header{position:fixed!important;top:14px!important;left:50%!important;transform:translateX(-50%);width:min(var(--rtr-nav-max),calc(100% - 28px))!important;border:1px solid var(--rtr-line)!important;border-radius:999px;background:var(--rtr-nav-bg)!important;box-shadow:var(--theme-header-shadow);backdrop-filter:saturate(180%) blur(20px)}
.rtr-header .rtr-wrap{width:100%!important}.rtr-header-inner{padding:0 10px 0 14px!important}

/* Shared visual language */
.rtr{font-family:var(--rtr-font)!important;letter-spacing:var(--theme-letter-spacing)}
.rtr .rtr-section{padding-top:var(--rtr-section-space);padding-bottom:var(--rtr-section-space)}
.rtr .rtr-btn,.rtr-page .rtr-btn{border-radius:999px;font-weight:650}
.rtr .rtr-btn-primary,.rtr-page .rtr-btn-primary{background:#fff;color:#111}
.rtr .rtr-btn-primary:hover,.rtr-page .rtr-btn-primary:hover{background:#eee;color:#111}
.rtr .rtr-summary-card,.rtr .rtr-route-card,.rtr .rtr-travel-card,.rtr .rtr-checkpoint-card,.rtr .rtr-ethos-card,.rtr .rtr-logistics-card,.rtr .rtr-safety-card,.rtr .rtr-other-race-card,.rtr .rtr-info-card,.rtr .rtr-quick-card,.rtr .rtr-start-card,.rtr .rtr-gpx-card,.rtr .rtr-cutoff-card,.rtr .rtr-rule-card,.rtr .rtr-policy-card,.rtr .rtr-table-card,.rtr .rtr-toilet-card{border-radius:var(--rtr-radius);box-shadow:none}

@media(max-width:800px){
  .rtr-global-header,.global-header{top:8px;width:calc(100% - 16px);min-height:54px;padding:6px 7px 6px 10px}
  .rtr-global-brand span,.brand span,.rtr-global-header nav>a:not(.rtr-global-enter),.global-header nav>a:not(.enter){display:none}
  .rtr-global-header nav,.global-header nav{gap:12px}
  .rtr-global-enter,.enter{padding:10px 13px!important;font-size:.74rem!important}
  .rtr-global-menu,.menu{position:fixed;top:61px;left:8px!important;right:8px!important;width:auto;min-width:0}
  .rtr-global-menu a,.menu a{padding:12px}
  .rtr-header{top:8px!important;width:calc(100% - 16px)!important}
  .rtr .rtr-section{padding-top:76px;padding-bottom:76px}
}

/* ================================================================
   PAGE: HOME
   Rules used only by index.html.
   ================================================================ */
body.page-home.page-home{
      --rtr-navy:#102a3a;
      --rtr-navy-dark:#081c28;
      --rtr-teal:#167d78;
      --rtr-sea:#3aafa9;
      --rtr-sand:#f2ebdd;
      --rtr-stone:#d8d2c7;
      --rtr-orange:#f26b38;
      --rtr-orange-dark:#d95125;
      --rtr-ink:#14242d;
      --rtr-muted:#62717a;
      --rtr-soft:#f6f7f5;
      --rtr-white:#ffffff;
      --rtr-red:#b94336;
      --rtr-line:rgba(20,36,45,.13);
      --rtr-radius:24px;
      --rtr-radius-small:16px;
      --rtr-shadow:0 16px 42px rgba(8,28,40,.10);
      --rtr-shadow-strong:0 24px 68px rgba(8,28,40,.22);
      --rtr-max:1480px;
    }

    body.page-home *,
    body.page-home *::before,
    body.page-home *::after{
      box-sizing:border-box;
    }

    body.page-home{
      scroll-behavior:smooth;
    }

    body.page-home{
      margin:0;
      color:var(--rtr-ink);
      background:var(--rtr-soft);
      font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
      line-height:1.6;
    }

    body.page-home a{
      color:inherit;
      text-decoration:none;
    }

    body.page-home img{
      display:block;
      max-width:100%;
    }

    body.page-home button,
    body.page-home a{
      -webkit-tap-highlight-color:transparent;
    }

    body.page-home .rtr-page{
      width:100%;
      overflow:hidden;
    }

    body.page-home .rtr-wrap{
      width:min(var(--rtr-max),calc(100% - 40px));
      margin:0 auto;
    }

    /* HEADER */

    body.page-home .rtr-header{
      position:absolute;
      top:0;
      left:0;
      z-index:20;
      width:100%;
      padding:22px 0;
    }

    body.page-home .rtr-header-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      padding:10px 12px 10px 16px;
      border:1px solid rgba(255,255,255,.2);
      border-radius:999px;
      background:rgba(8,28,40,.38);
      box-shadow:0 12px 35px rgba(0,0,0,.12);
      backdrop-filter:blur(14px);
    }

    body.page-home .rtr-brand{
      display:flex;
      align-items:center;
      gap:11px;
      color:#fff;
      font-weight:900;
      letter-spacing:-.02em;
    }

    body.page-home .rtr-brand-mark{
      display:grid;
      width:38px;
      height:38px;
      place-items:center;
      border-radius:50%;
      color:var(--rtr-navy-dark);
      background:var(--rtr-orange);
      font-size:.78rem;
      font-weight:950;
      letter-spacing:.02em;
    }

    body.page-home .rtr-main-nav{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:3px;
    }

    body.page-home .rtr-main-nav a{
      padding:9px 12px;
      border-radius:999px;
      color:rgba(255,255,255,.88);
      font-size:.87rem;
      font-weight:750;
      transition:
        background .15s ease,
        color .15s ease;
    }

    body.page-home .rtr-main-nav a:hover{
      color:#fff;
      background:rgba(255,255,255,.12);
    }

    body.page-home .rtr-main-nav .rtr-nav-entry{
      margin-left:6px;
      padding:10px 16px;
      color:var(--rtr-navy-dark);
      background:var(--rtr-orange);
    }

    body.page-home .rtr-main-nav .rtr-nav-entry:hover{
      color:var(--rtr-navy-dark);
      background:#ff7a49;
    }

    /* HERO */

    body.page-home .rtr-hero{
      position:relative;
      min-height:820px;
      display:flex;
      align-items:flex-end;
      overflow:hidden;
      background:var(--rtr-navy-dark);
    }

    body.page-home .rtr-hero-image{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
    }

    body.page-home .rtr-hero::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:1;
      background:
        linear-gradient(
          90deg,
          rgba(8,28,40,.95) 0%,
          rgba(8,28,40,.82) 32%,
          rgba(8,28,40,.42) 68%,
          rgba(8,28,40,.18) 100%
        ),
        linear-gradient(
          180deg,
          rgba(8,28,40,.2) 0%,
          rgba(8,28,40,.05) 45%,
          rgba(8,28,40,.78) 100%
        );
    }

    body.page-home .rtr-hero-content{
      position:relative;
      z-index:2;
      width:min(var(--rtr-max),calc(100% - 40px));
      margin:0 auto;
      padding:190px 0 86px;
    }

    body.page-home .rtr-hero-copy{
      max-width:860px;
    }

    body.page-home .rtr-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-bottom:18px;
      padding:8px 13px;
      border:1px solid rgba(255,255,255,.22);
      border-radius:999px;
      color:#fff;
      background:rgba(255,255,255,.1);
      font-size:.82rem;
      font-weight:850;
      letter-spacing:.03em;
    }

    body.page-home .rtr-kicker::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--rtr-orange);
      box-shadow:0 0 0 5px rgba(242,107,56,.18);
    }

    body.page-home .rtr-hero h1{
      max-width:900px;
      margin:0 0 20px;
      color:#fff;
      font-size:clamp(3.6rem,8vw,7.4rem);
      line-height:.88;
      letter-spacing:-.072em;
    }

    body.page-home .rtr-hero-intro{
      max-width:760px;
      margin:0 0 24px;
      color:rgba(255,255,255,.84);
      font-size:clamp(1.05rem,1.7vw,1.28rem);
      line-height:1.58;
    }

    body.page-home .rtr-hero-details{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-bottom:28px;
    }

    body.page-home .rtr-hero-details span{
      padding:7px 11px;
      border:1px solid rgba(255,255,255,.15);
      border-radius:10px;
      color:#fff;
      background:rgba(255,255,255,.09);
      font-size:.78rem;
      font-weight:800;
    }

    /* BUTTONS */

    body.page-home .rtr-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
    }

    body.page-home .rtr-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:50px;
      padding:12px 19px;
      border:1px solid transparent;
      border-radius:999px;
      font-weight:850;
      line-height:1.2;
      text-align:center;
      transition:
        transform .15s ease,
        background .15s ease,
        border-color .15s ease;
    }

    body.page-home .rtr-btn:hover{
      transform:translateY(-1px);
    }

    body.page-home .rtr-btn-primary{
      color:var(--rtr-navy-dark);
      background:var(--rtr-orange);
    }

    body.page-home .rtr-btn-primary:hover{
      background:#ff7a49;
    }

    body.page-home .rtr-btn-light{
      border-color:rgba(255,255,255,.26);
      color:#fff;
      background:rgba(255,255,255,.1);
    }

    body.page-home .rtr-btn-light:hover{
      background:rgba(255,255,255,.17);
    }

    body.page-home .rtr-btn-dark{
      color:#fff;
      background:var(--rtr-navy);
    }

    body.page-home .rtr-btn-dark:hover{
      background:var(--rtr-navy-dark);
    }

    body.page-home .rtr-btn-teal{
      color:#fff;
      background:var(--rtr-teal);
    }

    body.page-home .rtr-btn-teal:hover{
      background:#116a66;
    }

    /* SHARED SECTIONS */

    body.page-home .rtr-section{
      padding:82px 0;
    }

    body.page-home .rtr-section-soft{
      background:var(--rtr-soft);
    }

    body.page-home .rtr-section-sand{
      background:var(--rtr-sand);
    }

    body.page-home .rtr-section-dark{
      color:#fff;
      background:
        radial-gradient(
          circle at top right,
          rgba(58,175,169,.18),
          transparent 34%
        ),
        var(--rtr-navy-dark);
    }

    body.page-home .rtr-section-heading{
      max-width:800px;
      margin-bottom:32px;
    }

    body.page-home .rtr-eyebrow{
      display:block;
      margin-bottom:9px;
      color:var(--rtr-teal);
      font-size:.78rem;
      font-weight:900;
      letter-spacing:.13em;
      text-transform:uppercase;
    }

    body.page-home .rtr-section-dark .rtr-eyebrow{
      color:#7bd5d0;
    }

    body.page-home .rtr-section-heading h2{
      margin:0 0 12px;
      font-size:clamp(2rem,4vw,3.6rem);
      line-height:1.03;
      letter-spacing:-.052em;
    }

    body.page-home .rtr-section-heading p{
      margin:0;
      color:var(--rtr-muted);
      font-size:1.06rem;
    }

    body.page-home .rtr-section-dark .rtr-section-heading p{
      color:rgba(255,255,255,.75);
    }

    /* INTRODUCTION */

    body.page-home .rtr-intro-grid{
      display:grid;
      grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
      gap:28px;
      align-items:start;
    }

    body.page-home .rtr-intro-copy{
      font-size:1.06rem;
    }

    body.page-home .rtr-intro-copy p{
      margin:0 0 18px;
    }

    body.page-home .rtr-summary{
      padding:26px;
      border:1px solid var(--rtr-line);
      border-radius:var(--rtr-radius);
      background:#fff;
      box-shadow:var(--rtr-shadow);
    }

    body.page-home .rtr-summary h3{
      margin:0 0 16px;
      font-size:1.3rem;
    }

    body.page-home .rtr-summary dl{
      margin:0;
    }

    body.page-home .rtr-summary dl div{
      display:grid;
      grid-template-columns:105px 1fr;
      gap:12px;
      padding:11px 0;
      border-top:1px solid var(--rtr-line);
    }

    body.page-home .rtr-summary dl div:first-child{
      border-top:0;
    }

    body.page-home .rtr-summary dt{
      color:var(--rtr-muted);
      font-size:.8rem;
      font-weight:800;
    }

    body.page-home .rtr-summary dd{
      margin:0;
      font-weight:850;
    }

    /* LIVE ENTRY STATUS */

    body.page-home .rtr-live-entry{
      width:100%;
      padding:82px 0;
      color:var(--rtr-ink);
      background:var(--rtr-sand);
    }

    body.page-home .rtr-live-entry__inner{
      width:min(var(--rtr-max),calc(100% - 40px));
      margin:0 auto;
      padding:38px;
      border:1px solid var(--rtr-line);
      border-radius:30px;
      background:#fff;
      box-shadow:var(--rtr-shadow);
    }

    body.page-home .rtr-live-entry__header{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:30px;
      padding-bottom:28px;
      border-bottom:2px solid var(--rtr-navy);
    }

    body.page-home .rtr-live-entry__intro{
      max-width:720px;
    }

    body.page-home .rtr-live-entry__eyebrow{
      display:block;
      margin-bottom:9px;
      color:var(--rtr-teal);
      font-size:.78rem;
      font-weight:900;
      letter-spacing:.13em;
      text-transform:uppercase;
    }

    body.page-home .rtr-live-entry__header h2{
      margin:0 0 10px;
      color:var(--rtr-ink);
      font-size:clamp(2.2rem,4vw,3.6rem);
      line-height:1;
      letter-spacing:-.05em;
    }

    body.page-home .rtr-live-entry__header p{
      margin:0;
      color:var(--rtr-muted);
      font-size:1.05rem;
    }

    body.page-home .rtr-live-entry__button{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      min-height:50px;
      padding:12px 20px;
      border-radius:999px;
      color:var(--rtr-navy-dark);
      background:var(--rtr-orange);
      font-weight:850;
      line-height:1.2;
      text-align:center;
      transition:
        transform .15s ease,
        background .15s ease;
    }

    body.page-home .rtr-live-entry__button:hover{
      transform:translateY(-1px);
      background:#ff7b4c;
    }

    body.page-home .rtr-live-entry__list{
      padding-top:10px;
    }

    body.page-home .rtr-live-entry__row{
      display:grid;
      grid-template-columns:190px minmax(280px,1fr) 190px;
      gap:28px;
      align-items:center;
      padding:27px 0;
    }

    body.page-home .rtr-live-entry__divider{
      width:100%;
      height:1px;
      background:var(--rtr-line);
    }

    body.page-home .rtr-live-entry__name{
      color:var(--rtr-ink);
      font-size:clamp(1.25rem,2vw,1.65rem);
      font-weight:900;
      line-height:1.15;
    }

    body.page-home .rtr-live-entry__bar-line{
      display:flex;
      align-items:center;
      gap:16px;
    }

    body.page-home .rtr-live-entry__track{
      position:relative;
      flex:1;
      height:18px;
      overflow:hidden;
      border-radius:3px;
      background:
        repeating-linear-gradient(
          135deg,
          #dce3e0 0,
          #dce3e0 4px,
          #f6f8f7 4px,
          #f6f8f7 8px
        );
    }

    body.page-home .rtr-live-entry__fill{
      height:100%;
      border-radius:3px;
      background:var(--rtr-navy);
      transition:width .5s ease;
    }

    body.page-home .rtr-live-entry__percentage{
      flex:0 0 62px;
      color:var(--rtr-teal);
      font-size:1.65rem;
      font-weight:950;
      line-height:1;
      letter-spacing:-.04em;
    }

    body.page-home .rtr-live-entry__meta{
      margin-top:8px;
      color:var(--rtr-muted);
      font-size:.85rem;
    }

    body.page-home .rtr-live-entry__remaining{
      text-align:right;
    }

    body.page-home .rtr-live-entry__remaining strong{
      display:block;
      color:var(--rtr-teal);
      font-size:clamp(1.65rem,2.5vw,2.25rem);
      line-height:1;
      letter-spacing:-.045em;
    }

    body.page-home .rtr-live-entry__remaining span{
      display:block;
      margin-top:6px;
      color:var(--rtr-ink);
      font-size:.86rem;
      font-weight:800;
    }

    body.page-home .rtr-live-entry__row[data-status="nearly-full"]
    .rtr-live-entry__percentage,
    body.page-home .rtr-live-entry__row[data-status="nearly-full"]
    .rtr-live-entry__remaining strong{
      color:var(--rtr-orange-dark);
    }

    body.page-home .rtr-live-entry__row[data-status="nearly-full"]
    .rtr-live-entry__fill{
      background:var(--rtr-orange);
    }

    body.page-home .rtr-live-entry__row[data-status="sold-out"]
    .rtr-live-entry__percentage,
    body.page-home .rtr-live-entry__row[data-status="sold-out"]
    .rtr-live-entry__remaining strong{
      color:var(--rtr-red);
    }

    body.page-home .rtr-live-entry__row[data-status="sold-out"]
    .rtr-live-entry__fill{
      background:var(--rtr-red);
    }

    body.page-home .rtr-live-entry__footer{
      margin:10px 0 0;
      padding-top:20px;
      border-top:1px solid var(--rtr-line);
      color:var(--rtr-muted);
      font-size:.82rem;
    }

    body.page-home .rtr-live-entry__loading,
    body.page-home .rtr-live-entry__error{
      padding:30px 0 20px;
      color:var(--rtr-muted);
      text-align:center;
    }

    /* DISTANCE CARDS */

    body.page-home .rtr-distance-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:20px;
    }

    body.page-home .rtr-distance-card{
      position:relative;
      min-height:510px;
      overflow:hidden;
      border-radius:var(--rtr-radius);
      background:var(--rtr-navy);
      box-shadow:var(--rtr-shadow);
    }

    body.page-home .rtr-distance-card img{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform .35s ease;
    }

    body.page-home .rtr-distance-card:hover img{
      transform:scale(1.025);
    }

    body.page-home .rtr-distance-card::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(
          180deg,
          rgba(8,28,40,.02) 20%,
          rgba(8,28,40,.28) 55%,
          rgba(8,28,40,.95) 100%
        );
    }

    body.page-home .rtr-distance-content{
      position:absolute;
      inset:auto 0 0;
      z-index:2;
      padding:26px;
      color:#fff;
    }

    body.page-home .rtr-distance-label{
      display:inline-block;
      margin-bottom:10px;
      color:#8ce2dc;
      font-size:.74rem;
      font-weight:900;
      letter-spacing:.11em;
      text-transform:uppercase;
    }

    body.page-home .rtr-distance-content h3{
      margin:0 0 8px;
      font-size:clamp(1.65rem,3vw,2.45rem);
      line-height:1;
      letter-spacing:-.04em;
    }

    body.page-home .rtr-distance-content p{
      margin:0 0 18px;
      color:rgba(255,255,255,.76);
      font-size:.93rem;
    }

    body.page-home .rtr-card-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:9px 13px;
      border:1px solid rgba(255,255,255,.22);
      border-radius:999px;
      background:rgba(255,255,255,.1);
      font-size:.8rem;
      font-weight:850;
    }

    /* RACE DAY PANEL */

    body.page-home .rtr-race-day-panel{
      position:relative;
      overflow:hidden;
      display:grid;
      grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);
      gap:30px;
      padding:38px;
      border:1px solid var(--rtr-line);
      border-radius:30px;
      background:#fff;
      box-shadow:var(--rtr-shadow);
    }

    body.page-home .rtr-race-day-panel::after{
      content:"";
      position:absolute;
      top:-150px;
      right:-150px;
      width:370px;
      height:370px;
      border-radius:50%;
      background:rgba(58,175,169,.09);
    }

    body.page-home .rtr-race-day-main,
    body.page-home .rtr-race-day-aside{
      position:relative;
      z-index:1;
    }

    body.page-home .rtr-race-day-main h2{
      margin:0 0 14px;
      font-size:clamp(2rem,4vw,3.5rem);
      line-height:1.02;
      letter-spacing:-.05em;
    }

    body.page-home .rtr-race-day-main > p{
      max-width:760px;
      margin:0 0 24px;
      color:var(--rtr-muted);
      font-size:1.04rem;
    }

    body.page-home .rtr-info-links{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
      margin-top:26px;
    }

    body.page-home .rtr-info-link{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:15px 16px;
      border:1px solid var(--rtr-line);
      border-radius:var(--rtr-radius-small);
      background:var(--rtr-soft);
      font-weight:820;
    }

    body.page-home .rtr-info-link:hover{
      border-color:rgba(22,125,120,.35);
      background:#edf7f5;
    }

    body.page-home .rtr-info-link span:last-child{
      color:var(--rtr-teal);
      font-size:1.2rem;
    }

    body.page-home .rtr-race-day-aside{
      padding:25px;
      border-radius:22px;
      color:#fff;
      background:
        radial-gradient(
          circle at top right,
          rgba(255,255,255,.14),
          transparent 34%
        ),
        linear-gradient(
          145deg,
          var(--rtr-teal),
          var(--rtr-navy-dark)
        );
    }

    body.page-home .rtr-race-day-aside h3{
      margin:0 0 14px;
      font-size:1.3rem;
    }

    body.page-home .rtr-race-day-aside ul{
      margin:0;
      padding-left:1.2rem;
      color:rgba(255,255,255,.84);
    }

    body.page-home .rtr-race-day-aside li + li{
      margin-top:9px;
    }

    body.page-home .rtr-race-day-aside .rtr-btn{
      width:100%;
      margin-top:24px;
    }

    /* SPONSORSHIP */

    body.page-home .rtr-sponsor-panel{
      display:grid;
      grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);
      gap:28px;
      padding:38px;
      border:1px solid var(--rtr-line);
      border-radius:30px;
      background:#fff;
      box-shadow:var(--rtr-shadow);
    }

    body.page-home .rtr-sponsor-copy h2{
      max-width:760px;
      margin:0 0 16px;
      font-size:clamp(2rem,4vw,3.5rem);
      line-height:1.03;
      letter-spacing:-.05em;
    }

    body.page-home .rtr-sponsor-copy > p{
      max-width:760px;
      margin:0 0 16px;
      color:var(--rtr-muted);
      font-size:1.03rem;
    }

    body.page-home .rtr-sponsor-benefits{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:12px;
      margin:28px 0;
    }

    body.page-home .rtr-sponsor-benefits > div{
      padding:18px;
      border:1px solid var(--rtr-line);
      border-radius:16px;
      background:var(--rtr-soft);
    }

    body.page-home .rtr-sponsor-benefits strong{
      display:block;
      margin-bottom:6px;
      color:var(--rtr-ink);
    }

    body.page-home .rtr-sponsor-benefits span{
      display:block;
      color:var(--rtr-muted);
      font-size:.9rem;
      line-height:1.5;
    }

    body.page-home .rtr-sponsor-aside{
      align-self:stretch;
      padding:26px;
      border-radius:22px;
      color:#fff;
      background:
        radial-gradient(
          circle at top right,
          rgba(255,255,255,.13),
          transparent 34%
        ),
        linear-gradient(
          145deg,
          var(--rtr-teal),
          var(--rtr-navy-dark)
        );
    }

    body.page-home .rtr-sponsor-label{
      display:block;
      margin-bottom:8px;
      color:#9ee1dd;
      font-size:.75rem;
      font-weight:900;
      letter-spacing:.11em;
      text-transform:uppercase;
    }

    body.page-home .rtr-sponsor-aside h3{
      margin:0 0 16px;
      color:#fff;
      font-size:1.45rem;
    }

    body.page-home .rtr-sponsor-aside ul{
      margin:0 0 20px;
      padding-left:1.2rem;
      color:rgba(255,255,255,.84);
    }

    body.page-home .rtr-sponsor-aside li + li{
      margin-top:9px;
    }

    body.page-home .rtr-sponsor-aside p{
      margin:0;
      color:rgba(255,255,255,.76);
      font-size:.92rem;
    }

    /* EVENT ETHOS */

    body.page-home .rtr-ethos-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
    }

    body.page-home .rtr-ethos-card{
      padding:25px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:var(--rtr-radius);
      background:rgba(255,255,255,.07);
    }

    body.page-home .rtr-ethos-card h3{
      margin:0 0 10px;
      font-size:1.2rem;
    }

    body.page-home .rtr-ethos-card p{
      margin:0;
      color:rgba(255,255,255,.74);
    }

    /* ENTRY STRIP */

    body.page-home .rtr-entry-strip{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
      padding:34px 38px;
      border-radius:28px;
      color:#fff;
      background:
        linear-gradient(
          110deg,
          var(--rtr-navy-dark),
          var(--rtr-teal)
        );
      box-shadow:var(--rtr-shadow);
    }

    body.page-home .rtr-entry-strip h2{
      margin:0 0 7px;
      color:#fff;
      font-size:clamp(1.7rem,3vw,2.6rem);
      line-height:1.05;
      letter-spacing:-.04em;
    }

    body.page-home .rtr-entry-strip p{
      margin:0;
      color:rgba(255,255,255,.78);
    }

    /* NEXT EVENT */

    body.page-home .rtr-promo{
      display:grid;
      grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);
      overflow:hidden;
      border-radius:28px;
      background:#fff;
      box-shadow:var(--rtr-shadow);
    }

    body.page-home .rtr-promo-image-wrap{
      position:relative;
      min-height:430px;
      overflow:hidden;
      background:var(--rtr-navy);
    }

    body.page-home .rtr-promo-image{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
    }

    body.page-home .rtr-promo-image-wrap::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(
          180deg,
          rgba(8,28,40,.02) 25%,
          rgba(8,28,40,.83) 100%
        );
    }

    body.page-home .rtr-promo-overlay{
      position:absolute;
      z-index:2;
      inset:auto 0 0;
      padding:30px;
      color:#fff;
    }

    body.page-home .rtr-promo-overlay small{
      display:block;
      margin-bottom:8px;
      color:#93e0dc;
      font-size:.75rem;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
    }

    body.page-home .rtr-promo-overlay strong{
      display:block;
      max-width:460px;
      font-size:clamp(2.3rem,4vw,4rem);
      line-height:.92;
      letter-spacing:-.05em;
      text-transform:uppercase;
    }

    body.page-home .rtr-promo-copy{
      display:flex;
      flex-direction:column;
      justify-content:center;
      padding:42px;
    }

    body.page-home .rtr-promo-copy h2{
      margin:0 0 14px;
      font-size:clamp(1.9rem,3vw,2.9rem);
      line-height:1.05;
      letter-spacing:-.045em;
    }

    body.page-home .rtr-promo-copy p{
      margin:0 0 24px;
      color:var(--rtr-muted);
    }

    /* FOOTER */

    body.page-home .rtr-footer{
      padding:34px 0;
      color:rgba(255,255,255,.74);
      background:var(--rtr-navy-dark);
    }

    body.page-home .rtr-footer-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }

    body.page-home .rtr-footer strong{
      color:#fff;
    }

    body.page-home .rtr-footer-links{
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-end;
      gap:14px;
    }

    body.page-home .rtr-footer a{
      color:#fff;
      font-weight:750;
    }

    /* TABLET */

    @media(max-width:1000px){

      body.page-home .rtr-main-nav a:not(.rtr-nav-entry){
        display:none;
      }

      body.page-home .rtr-main-nav details a{
        display:block !important;
      }

      body.page-home .rtr-hero{
        min-height:760px;
      }

      body.page-home .rtr-intro-grid,
      body.page-home .rtr-race-day-panel,
      body.page-home .rtr-sponsor-panel,
      body.page-home .rtr-promo{
        grid-template-columns:1fr;
      }

      body.page-home .rtr-distance-grid{
        grid-template-columns:1fr 1fr;
      }

      body.page-home .rtr-distance-card:last-child{
        grid-column:1 / -1;
      }

      body.page-home .rtr-ethos-grid,
      body.page-home .rtr-sponsor-benefits{
        grid-template-columns:1fr;
      }

      body.page-home .rtr-promo-image-wrap{
        min-height:340px;
      }

      body.page-home .rtr-live-entry__header{
        align-items:flex-start;
        flex-direction:column;
      }

      body.page-home .rtr-live-entry__row{
        grid-template-columns:1fr;
        gap:12px;
        padding:24px 0;
      }

      body.page-home .rtr-live-entry__remaining{
        text-align:left;
      }

    }

    /* MOBILE */

    @media(max-width:700px){

      body.page-home .rtr-wrap,
      body.page-home .rtr-hero-content,
      body.page-home .rtr-live-entry__inner{
        width:min(100% - 24px,var(--rtr-max));
      }

      body.page-home .rtr-header{
        top:8px;
        width:calc(100% - 16px);
        padding:0;
      }

      body.page-home .rtr-header-inner{
        border-radius:20px;
      }

      body.page-home .rtr-brand span:last-child{
        display:none;
      }

      body.page-home .rtr-main-nav .rtr-nav-entry{
        margin-left:0;
        padding:9px 13px;
        font-size:.8rem;
      }

      body.page-home .rtr-main-nav{gap:10px;}
      body.page-home .rtr-main-menu{position:fixed;top:61px;left:8px!important;right:8px!important;width:auto;}

      body.page-home .rtr-hero{
        min-height:760px;
      }

      body.page-home .rtr-hero::before{
        background:
          linear-gradient(
            180deg,
            rgba(8,28,40,.16) 0%,
            rgba(8,28,40,.42) 46%,
            rgba(8,28,40,.97) 100%
          );
      }

      body.page-home .rtr-hero-image{
        object-position:center top;
      }

      body.page-home .rtr-hero-content{
        padding:150px 0 38px;
      }

      body.page-home .rtr-hero h1{
        font-size:clamp(3.2rem,16vw,5rem);
      }

      body.page-home .rtr-hero-intro{
        font-size:1rem;
      }

      body.page-home .rtr-actions{
        flex-direction:column;
      }

      body.page-home .rtr-actions .rtr-btn{
        width:100%;
      }

      body.page-home .rtr-section,
      body.page-home .rtr-live-entry{
        padding:56px 0;
      }

      body.page-home .rtr-section-heading{
        margin-bottom:24px;
      }

      body.page-home .rtr-live-entry__inner{
        padding:24px 20px;
        border-radius:24px;
      }

      body.page-home .rtr-live-entry__button{
        width:100%;
      }

      body.page-home .rtr-live-entry__bar-line{
        gap:10px;
      }

      body.page-home .rtr-live-entry__percentage{
        flex-basis:52px;
        font-size:1.35rem;
      }

      body.page-home .rtr-distance-grid{
        grid-template-columns:1fr;
      }

      body.page-home .rtr-distance-card,
      body.page-home .rtr-distance-card:last-child{
        min-height:440px;
        grid-column:auto;
      }

      body.page-home .rtr-race-day-panel,
      body.page-home .rtr-sponsor-panel{
        padding:24px 20px;
        border-radius:24px;
      }

      body.page-home .rtr-info-links{
        grid-template-columns:1fr;
      }

      body.page-home .rtr-sponsor-copy .rtr-btn{
        width:100%;
      }

      body.page-home .rtr-entry-strip{
        align-items:flex-start;
        flex-direction:column;
        padding:26px 22px;
      }

      body.page-home .rtr-entry-strip .rtr-btn{
        width:100%;
      }

      body.page-home .rtr-promo-copy{
        padding:28px 22px;
      }

      body.page-home .rtr-promo-copy .rtr-btn{
        width:100%;
      }

      body.page-home .rtr-footer-inner{
        align-items:flex-start;
        flex-direction:column;
      }

      body.page-home .rtr-footer-links{
        justify-content:flex-start;
      }

    }

    /* 2027 EDITORIAL REFINEMENT — spacious, image-led and distinctly RTR */
    body.page-home.page-home{
      --rtr-soft:#f5f5f7;
      --rtr-sand:#f1f0ec;
      --rtr-radius:8px;
      --rtr-radius-small:6px;
      --rtr-shadow:0 1px 0 rgba(0,0,0,.05);
      --rtr-max:1440px;
    }

    body.page-home{
      background:#fff;
      font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
      line-height:1.5;
      letter-spacing:-.012em;
    }

    body.page-home .rtr-wrap{
      width:min(var(--rtr-max),calc(100% - 64px));
    }

    body.page-home .rtr-header{
      position:fixed;
      top:14px;
      left:50%;
      transform:translateX(-50%);
      width:min(1180px,calc(100% - 28px));
      padding:0;
      border:1px solid rgba(0,0,0,.08);
      border-radius:999px;
      background:rgba(255,255,255,.92);
      backdrop-filter:saturate(180%) blur(20px);
    }

    body.page-home .rtr-header-inner{
      min-height:66px;
      padding:0 10px 0 14px;
      border:0;
      border-radius:999px;
      background:transparent;
      box-shadow:none;
      backdrop-filter:none;
    }

    body.page-home .rtr-brand{color:#111; font-weight:700;}
    body.page-home .rtr-brand-mark{width:34px; height:34px; border-radius:50%;}
    body.page-home .rtr-main-nav{gap:10px;}
    body.page-home .rtr-main-nav a{
      padding:8px 5px;
      border-radius:0;
      color:#292929;
      font-size:.78rem;
      font-weight:600;
    }
    body.page-home .rtr-main-nav a:hover{color:#000; background:transparent; text-decoration:underline;}
    body.page-home .rtr-main-nav .rtr-nav-entry{
      margin-left:12px;
      padding:10px 18px;
      border-radius:999px;
      color:#fff;
      background:#111;
    }
    body.page-home .rtr-main-nav .rtr-nav-entry:hover{color:#fff; background:#333; text-decoration:none;}
    body.page-home .rtr-main-nav details{position:relative;color:#111;font-size:.78rem;font-weight:650}
    body.page-home .rtr-main-nav summary{padding:8px 5px;cursor:pointer;list-style:none}
    body.page-home .rtr-main-nav summary::-webkit-details-marker{display:none}
    body.page-home .rtr-main-menu{position:absolute;top:36px;left:-18px;min-width:205px;padding:9px;border:1px solid rgba(0,0,0,.09);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(0,0,0,.14)}
    body.page-home .rtr-main-menu-right{right:-18px;left:auto}
    body.page-home .rtr-main-nav .rtr-main-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:.82rem}
    body.page-home .rtr-main-nav .rtr-main-menu a:hover{background:#f2f2f2;text-decoration:none}

    body.page-home .rtr-hero{
      min-height:900px;
      align-items:center;
      background:#111;
    }
    body.page-home .rtr-hero::before{
      background:
        linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.12) 35%,rgba(0,0,0,.72) 100%),
        linear-gradient(90deg,rgba(0,0,0,.25),transparent 64%);
    }
    body.page-home .rtr-hero-image{object-position:center center; transform:scale(1.015);}
    body.page-home .rtr-hero-content{
      display:flex;
      align-items:flex-end;
      min-height:900px;
      padding:180px 0 72px;
    }
    body.page-home .rtr-hero-copy{max-width:1040px;}
    body.page-home .rtr-kicker{
      margin-bottom:20px;
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      font-size:.9rem;
    }
    body.page-home .rtr-kicker::before{display:none;}
    body.page-home .rtr-hero h1{
      max-width:1000px;
      margin-bottom:24px;
      font-size:clamp(4.5rem,9vw,8.5rem);
      font-weight:700;
      line-height:.86;
      letter-spacing:-.075em;
    }
    body.page-home .rtr-hero-intro{
      max-width:720px;
      margin-bottom:28px;
      color:#fff;
      font-size:clamp(1.15rem,1.65vw,1.45rem);
      line-height:1.42;
    }
    body.page-home .rtr-hero-details{gap:16px; margin-bottom:30px;}
    body.page-home .rtr-hero-details span{
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      font-size:.82rem;
    }
    body.page-home .rtr-hero-details span::after{content:" · "; margin-left:16px; opacity:.65;}
    body.page-home .rtr-hero-details span:last-child::after{display:none;}

    body.page-home .rtr-btn{min-height:48px; padding:12px 22px; border-radius:999px; font-weight:650;}
    body.page-home .rtr-btn-primary{color:#111; background:#fff;}
    body.page-home .rtr-btn-primary:hover{background:#eee;}
    body.page-home .rtr-btn-light{border-color:#fff; background:transparent;}

    body.page-home .rtr-section{padding:120px 0;}
    body.page-home .rtr-section-soft{background:#f5f5f7;}
    body.page-home .rtr-section-sand{background:#f1f0ec;}
    body.page-home .rtr-section-heading{max-width:980px; margin-bottom:48px;}
    body.page-home .rtr-eyebrow{margin-bottom:14px; color:#666; font-size:.72rem; letter-spacing:.16em;}
    body.page-home .rtr-section-heading h2{
      max-width:920px;
      margin-bottom:18px;
      font-size:clamp(2.7rem,5.2vw,5.25rem);
      font-weight:650;
      line-height:.95;
      letter-spacing:-.06em;
    }
    body.page-home .rtr-section-heading p{max-width:690px; font-size:1.14rem; line-height:1.55;}

    body.page-home .rtr-summary,
    body.page-home .rtr-race-day-panel,
    body.page-home .rtr-sponsor-panel,
    body.page-home .rtr-ethos-card{
      border-radius:8px;
      box-shadow:none;
    }

    body.page-home .rtr-distance-grid{gap:12px;}
    body.page-home .rtr-distance-card{
      min-height:650px;
      border-radius:4px;
      box-shadow:none;
    }
    body.page-home .rtr-distance-card::after{
      background:linear-gradient(180deg,rgba(0,0,0,.02) 25%,rgba(0,0,0,.15) 58%,rgba(0,0,0,.82) 100%);
    }
    body.page-home .rtr-distance-content{padding:34px;}
    body.page-home .rtr-distance-label{color:#fff; font-size:.68rem;}
    body.page-home .rtr-distance-content h3{font-size:clamp(2.1rem,3.4vw,3.5rem); font-weight:650;}
    body.page-home .rtr-distance-content p{max-width:390px; color:#fff; font-size:1rem;}
    body.page-home .rtr-card-link{padding:0; border:0; border-radius:0; background:transparent; text-decoration:underline;}

    body.page-home .rtr-live-entry{background:#fff;}
    body.page-home .rtr-live-entry__inner{width:min(1180px,calc(100% - 64px));}
    body.page-home .rtr-live-entry__header h2{font-size:clamp(2.7rem,5vw,4.8rem); letter-spacing:-.06em;}
    body.page-home .rtr-live-entry__button{color:#fff; background:#111; border-radius:999px;}
    body.page-home .rtr-live-entry__row{padding:32px 0;}

    @media(max-width:1000px){
      body.page-home .rtr-distance-card{min-height:600px;}
    }

    @media(max-width:700px){
      body.page-home .rtr-wrap,
      body.page-home .rtr-hero-content,
      body.page-home .rtr-live-entry__inner{width:min(100% - 32px,var(--rtr-max));}
      body.page-home .rtr-header{background:rgba(255,255,255,.95);}
      body.page-home .rtr-header-inner{min-height:58px; border-radius:0;}
      body.page-home .rtr-hero,
      body.page-home .rtr-hero-content{min-height:790px;}
      body.page-home .rtr-hero-content{padding:140px 0 46px;}
      body.page-home .rtr-hero h1{font-size:clamp(3.6rem,18vw,5.6rem);}
      body.page-home .rtr-hero-details{gap:9px 14px;}
      body.page-home .rtr-hero-details span::after{display:none;}
      body.page-home .rtr-section{padding:82px 0;}
      body.page-home .rtr-section-heading{margin-bottom:32px;}
      body.page-home .rtr-distance-grid{gap:10px;}
      body.page-home .rtr-distance-card{min-height:540px; border-radius:3px;}
      body.page-home .rtr-distance-content{padding:25px;}
    }

/* ================================================================
   PAGE: RACE DAY
   Rules used only by pages/race-day.html.
   ================================================================ */
body.page-race-day .rtr-global-header{position:fixed;z-index:1000;top:14px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 28px));min-height:58px;padding:8px 10px 8px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(0,0,0,.09);border-radius:999px;background:rgba(255,255,255,.91);box-shadow:0 12px 35px rgba(0,0,0,.11);backdrop-filter:saturate(180%) blur(20px);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}body.page-race-day .rtr-global-header a{color:#111;text-decoration:none}body.page-race-day .rtr-global-brand{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:700;white-space:nowrap}body.page-race-day .rtr-global-brand b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f26b38;font-size:.72rem}body.page-race-day .rtr-global-header nav{display:flex;align-items:center;gap:18px}body.page-race-day .rtr-global-header nav>a,
body.page-race-day .rtr-global-header summary{font-size:.78rem;font-weight:650;cursor:pointer;list-style:none;white-space:nowrap}body.page-race-day .rtr-global-header summary::-webkit-details-marker{display:none}body.page-race-day .rtr-global-header details{position:relative}body.page-race-day .rtr-global-menu{position:absolute;top:34px;left:-18px;min-width:205px;padding:9px;border:1px solid rgba(0,0,0,.09);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(0,0,0,.14)}body.page-race-day .rtr-global-menu-right{right:-18px;left:auto}body.page-race-day .rtr-global-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:.82rem;font-weight:600}body.page-race-day .rtr-global-menu a:hover{background:#f2f2f2}body.page-race-day .rtr-global-header .rtr-global-enter{padding:11px 17px;border-radius:999px;color:#fff;background:#111}@media(max-width:760px){body.page-race-day .rtr-global-header{top:8px;width:calc(100% - 16px);min-height:54px;padding:6px 7px 6px 10px}body.page-race-day .rtr-global-brand span,
body.page-race-day .rtr-global-header nav>a:not(.rtr-global-enter){display:none}body.page-race-day .rtr-global-header nav{gap:12px}body.page-race-day .rtr-global-header .rtr-global-enter{padding:10px 13px;font-size:.74rem}body.page-race-day .rtr-global-menu{position:fixed;top:61px;left:8px!important;right:8px!important;width:auto;min-width:0}body.page-race-day .rtr-global-menu a{padding:12px}}

body.page-race-day .rtr{
  --rtr-navy:#102a3a;
  --rtr-navy-dark:#081c28;
  --rtr-teal:#167d78;
  --rtr-sea:#3aafa9;
  --rtr-sand:#f2ebdd;
  --rtr-stone:#d8d2c7;
  --rtr-orange:#f26b38;
  --rtr-orange-dark:#d95125;
  --rtr-ink:#14242d;
  --rtr-muted:#62717a;
  --rtr-soft:#f6f7f5;
  --rtr-white:#ffffff;
  --rtr-red:#b94336;
  --rtr-line:rgba(20,36,45,.13);
  --rtr-radius:22px;
  --rtr-shadow:0 15px 40px rgba(8,28,40,.09);

  width:100%;
  overflow:hidden;
  color:var(--rtr-ink);
  background:#fff;
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  font-size:16px;
  line-height:1.65;
}

body.page-race-day .rtr,
body.page-race-day .rtr *,
body.page-race-day .rtr *::before,
body.page-race-day .rtr *::after{
  box-sizing:border-box;
}

body.page-race-day .rtr a{
  color:inherit;
}

body.page-race-day .rtr p{
  margin-top:0;
}

body.page-race-day .rtr h1,
body.page-race-day .rtr h2,
body.page-race-day .rtr h3{
  line-height:1.12;
}

body.page-race-day .rtr h2{
  margin:0 0 .85rem;
  font-size:clamp(2rem,4vw,3.35rem);
  letter-spacing:-.045em;
}

body.page-race-day .rtr h3{
  margin:0 0 .75rem;
  font-size:1.2rem;
}

body.page-race-day .rtr ul,
body.page-race-day .rtr ol{
  margin:.7rem 0 0;
  padding-left:1.25rem;
}

body.page-race-day .rtr li + li{
  margin-top:.4rem;
}

/* HERO */

body.page-race-day .rtr-hero{
  position:relative;
  overflow:hidden;
  padding:78px 20px 34px;
  color:#fff;
  background:var(--rtr-navy-dark);
}

body.page-race-day .rtr-hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(
      circle at 82% 18%,
      rgba(58,175,169,.26),
      transparent 28%
    ),
    radial-gradient(
      circle at 18% 88%,
      rgba(242,107,56,.12),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      var(--rtr-navy),
      var(--rtr-navy-dark)
    );
}

body.page-race-day .rtr-hero-inner{
  position:relative;
  z-index:1;
  width:min(1120px,100%);
  margin:0 auto;
  text-align:center;
}

body.page-race-day .rtr-back-link{
  display:inline-flex;
  margin-bottom:24px;
  color:rgba(255,255,255,.7);
  font-size:.85rem;
  font-weight:750;
  text-decoration:none;
}

body.page-race-day .rtr-back-link:hover{
  color:#fff;
}

body.page-race-day .rtr-event-label{
  display:inline-flex;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.21);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.03em;
}

body.page-race-day .rtr-hero h1{
  max-width:980px;
  margin:18px auto 14px;
  color:#fff;
  font-size:clamp(3rem,7vw,5.8rem);
  letter-spacing:-.062em;
}

body.page-race-day .rtr-sub{
  max-width:820px;
  margin:0 auto 24px;
  color:rgba(255,255,255,.82);
  font-size:clamp(1.02rem,2vw,1.25rem);
}

body.page-race-day .rtr-hero-details{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-bottom:27px;
}

body.page-race-day .rtr-hero-details span{
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  font-size:.8rem;
  font-weight:800;
}

body.page-race-day .rtr-hero-actions,
body.page-race-day .rtr-entry-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

body.page-race-day .rtr-quicknav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  margin-top:38px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);
}

body.page-race-day .rtr-quicknav a{
  padding:8px 12px;
  border-radius:999px;
  color:rgba(255,255,255,.8);
  font-size:.84rem;
  font-weight:750;
  text-decoration:none;
}

body.page-race-day .rtr-quicknav a:hover{
  color:#fff;
  background:rgba(255,255,255,.1);
}

/* BUTTONS */

body.page-race-day .rtr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:49px;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:999px;
  font-weight:850;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  transition:
    transform .15s ease,
    background .15s ease;
}

body.page-race-day .rtr-btn:hover{
  transform:translateY(-1px);
}

body.page-race-day .rtr-btn-primary{
  color:var(--rtr-navy-dark);
  background:var(--rtr-orange);
}

body.page-race-day .rtr-btn-primary:hover{
  background:#ff7b4c;
}

body.page-race-day .rtr-btn-light{
  border-color:rgba(255,255,255,.28);
  color:#fff;
  background:rgba(255,255,255,.09);
}

body.page-race-day .rtr-btn-light:hover{
  background:rgba(255,255,255,.16);
}

body.page-race-day .rtr-btn-dark{
  color:#fff;
  background:var(--rtr-navy);
}

body.page-race-day .rtr-btn-dark:hover{
  background:var(--rtr-navy-dark);
}

/* SECTIONS */

body.page-race-day .rtr-section{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  padding:72px 0;
}

body.page-race-day .rtr-section-soft,
body.page-race-day .rtr-section-dark,
body.page-race-day .rtr-section-sand{
  width:100%;
  max-width:none;
  padding-left:max(16px,calc((100% - 1120px)/2));
  padding-right:max(16px,calc((100% - 1120px)/2));
}

body.page-race-day .rtr-section-soft{
  background:var(--rtr-soft);
}

body.page-race-day .rtr-section-sand{
  background:var(--rtr-sand);
}

body.page-race-day .rtr-section-dark{
  color:#fff;
  background:
    radial-gradient(
      circle at top right,
      rgba(58,175,169,.17),
      transparent 30%
    ),
    var(--rtr-navy-dark);
}

body.page-race-day .rtr-section-inner{
  width:min(1120px,100%);
  margin:0 auto;
}

body.page-race-day .rtr-section-heading{
  max-width:820px;
  margin-bottom:30px;
}

body.page-race-day .rtr-section-heading > p{
  margin-bottom:.7rem;
  color:var(--rtr-muted);
  font-size:1.06rem;
}

body.page-race-day .rtr-heading-light > p{
  color:rgba(255,255,255,.74);
}

body.page-race-day .rtr-eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--rtr-teal);
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

body.page-race-day .rtr-section-dark .rtr-eyebrow,
body.page-race-day .rtr-entry .rtr-eyebrow{
  color:#79d6d0;
}

/* SHARED CARDS */

body.page-race-day .rtr-info-card,
body.page-race-day .rtr-quick-card,
body.page-race-day .rtr-start-card,
body.page-race-day .rtr-gpx-card,
body.page-race-day .rtr-cutoff-card,
body.page-race-day .rtr-rule-card,
body.page-race-day .rtr-policy-card,
body.page-race-day .rtr-table-card,
body.page-race-day .rtr-toilet-card{
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
  box-shadow:var(--rtr-shadow);
}

body.page-race-day .rtr-info-card{
  padding:23px;
}

body.page-race-day .rtr-info-card p,
body.page-race-day .rtr-info-card li{
  color:var(--rtr-muted);
}

body.page-race-day .rtr-card-icon{
  display:grid;
  width:45px;
  height:45px;
  margin-bottom:18px;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:var(--rtr-navy);
  font-size:.72rem;
  font-weight:900;
}

body.page-race-day .rtr-distance-tag{
  display:block;
  margin-bottom:7px;
  color:var(--rtr-teal);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* QUICK FACTS */

body.page-race-day .rtr-quick-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
}

body.page-race-day .rtr-quick-card{
  padding:22px;
  box-shadow:none;
}

body.page-race-day .rtr-quick-number{
  display:grid;
  width:40px;
  height:40px;
  margin-bottom:16px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--rtr-teal);
  font-size:.75rem;
  font-weight:900;
}

body.page-race-day .rtr-quick-card p{
  margin:0;
  color:var(--rtr-muted);
}

body.page-race-day .rtr-contact-note,
body.page-race-day .rtr-alert,
body.page-race-day .rtr-penalty-note{
  margin-top:20px;
  padding:18px 20px;
  border-left:4px solid var(--rtr-orange);
  border-radius:13px;
  background:#fff7f1;
}

body.page-race-day .rtr-contact-note strong,
body.page-race-day .rtr-penalty-note strong{
  display:block;
  margin-bottom:4px;
}

body.page-race-day .rtr-contact-note p,
body.page-race-day .rtr-penalty-note p{
  margin:0;
  color:var(--rtr-muted);
}

body.page-race-day .rtr-contact-note a{
  color:var(--rtr-teal);
  font-weight:850;
}

/* STARTS */

body.page-race-day .rtr-start-grid{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:22px;
  align-items:start;
}

body.page-race-day .rtr-registration-card{
  box-shadow:var(--rtr-shadow);
}

body.page-race-day .rtr-large-detail{
  color:var(--rtr-ink) !important;
  font-size:1.2rem;
  font-weight:900;
}

body.page-race-day .rtr-start-list{
  display:grid;
  gap:14px;
}

body.page-race-day .rtr-start-card{
  padding:22px;
  box-shadow:none;
}

body.page-race-day .rtr-start-card dl{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:17px 0 0;
}

body.page-race-day .rtr-start-card dl div{
  padding-top:11px;
  border-top:1px solid var(--rtr-line);
}

body.page-race-day .rtr-start-card dt{
  color:var(--rtr-muted);
  font-size:.76rem;
  font-weight:800;
}

body.page-race-day .rtr-start-card dd{
  margin:4px 0 0;
  font-weight:850;
}

/* KIT */

body.page-race-day .rtr-kit-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px;
}

body.page-race-day .rtr-kit-card{
  padding:25px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--rtr-radius);
  background:rgba(255,255,255,.07);
}

body.page-race-day .rtr-kit-heading span{
  color:#79d6d0;
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

body.page-race-day .rtr-kit-heading h3{
  margin-top:6px;
}

body.page-race-day .rtr-check-list{
  padding-left:0 !important;
  list-style:none;
}

body.page-race-day .rtr-check-list li{
  position:relative;
  padding-left:27px;
}

body.page-race-day .rtr-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#83e1b1;
  font-weight:900;
}

body.page-race-day .rtr-kit-note{
  margin-top:22px;
  padding:18px;
  border-radius:15px;
  color:var(--rtr-ink);
  background:#fff;
}

body.page-race-day .rtr-kit-note strong{
  display:block;
  margin-bottom:5px;
}

body.page-race-day .rtr-kit-note p{
  margin:0;
  color:var(--rtr-muted);
}

body.page-race-day .rtr-no-kit{
  margin-top:18px;
  padding:21px 23px;
  border-radius:var(--rtr-radius);
  color:var(--rtr-ink);
  background:var(--rtr-orange);
}

body.page-race-day .rtr-no-kit strong{
  display:block;
  font-size:1.1rem;
}

body.page-race-day .rtr-no-kit p{
  margin:5px 0 0;
}

/* GPX */

body.page-race-day .rtr-gpx-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
}

body.page-race-day .rtr-gpx-card{
  padding:23px;
  box-shadow:none;
}

body.page-race-day .rtr-gpx-card p{
  color:var(--rtr-muted);
}

body.page-race-day .rtr-gpx-card .rtr-btn{
  margin-top:6px;
}

body.page-race-day .rtr-navigation-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
  margin-top:18px;
}

/* AID */

body.page-race-day .rtr-aid-summary,
body.page-race-day .rtr-facility-notes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:var(--rtr-sand);
}

body.page-race-day .rtr-aid-summary > div,
body.page-race-day .rtr-facility-notes > div{
  padding:22px;
}

body.page-race-day .rtr-aid-summary > div + div,
body.page-race-day .rtr-facility-notes > div + div{
  border-left:1px solid var(--rtr-line);
}

body.page-race-day .rtr-aid-summary strong,
body.page-race-day .rtr-facility-notes strong{
  display:block;
  margin-bottom:5px;
}

body.page-race-day .rtr-aid-summary p,
body.page-race-day .rtr-facility-notes p{
  margin:0;
  color:var(--rtr-muted);
}

body.page-race-day .rtr-table-card{
  margin-top:20px;
  overflow:hidden;
}

body.page-race-day .rtr-table-heading{
  padding:22px 23px 10px;
}

body.page-race-day .rtr-table-wrap{
  overflow-x:auto;
}

body.page-race-day .rtr table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
}

body.page-race-day .rtr th,
body.page-race-day .rtr td{
  padding:14px 17px;
  border-top:1px solid var(--rtr-line);
  text-align:left;
  vertical-align:top;
}

body.page-race-day .rtr th{
  color:var(--rtr-muted);
  background:rgba(16,42,58,.035);
  font-size:.72rem;
  letter-spacing:.07em;
  text-transform:uppercase;
}

body.page-race-day .rtr td{
  font-size:.94rem;
}

body.page-race-day .rtr-distance-support{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
  margin-top:20px;
}

body.page-race-day .rtr-distance-support article{
  padding:22px;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
}

body.page-race-day .rtr-distance-support p{
  margin:0;
  color:var(--rtr-muted);
}

/* CUT-OFFS */

body.page-race-day .rtr-cutoff-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
}

body.page-race-day .rtr-cutoff-card{
  padding:23px;
  box-shadow:none;
}

body.page-race-day .rtr-cutoff-featured{
  border-color:rgba(22,125,120,.35);
  background:#eef8f6;
}

body.page-race-day .rtr-cutoff-card p{
  margin-bottom:0;
  color:var(--rtr-muted);
}

body.page-race-day .rtr-cutoff-card dl{
  margin:15px 0;
}

body.page-race-day .rtr-cutoff-card dl div{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:9px 0;
  border-top:1px solid var(--rtr-line);
}

body.page-race-day .rtr-cutoff-card dt{
  color:var(--rtr-muted);
  font-size:.8rem;
  font-weight:800;
}

body.page-race-day .rtr-cutoff-card dd{
  margin:0;
  font-weight:900;
}

/* BAGS */

body.page-race-day .rtr-bag-grid,
body.page-race-day .rtr-travel-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
}

/* TOILETS */

body.page-race-day .rtr-toilet-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:20px;
}

body.page-race-day .rtr-toilet-ultra{
  grid-column:1 / -1;
}

body.page-race-day .rtr-toilet-card{
  overflow:hidden;
}

body.page-race-day .rtr-toilet-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:21px 23px;
  color:#fff;
}

body.page-race-day .rtr-toilet-ultra .rtr-toilet-header{
  background:var(--rtr-navy);
}

body.page-race-day .rtr-toilet-marathon .rtr-toilet-header{
  background:var(--rtr-orange-dark);
}

body.page-race-day .rtr-toilet-half .rtr-toilet-header{
  background:var(--rtr-teal);
}

body.page-race-day .rtr-toilet-header span{
  display:block;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  opacity:.85;
}

body.page-race-day .rtr-toilet-header h3{
  margin:4px 0 0;
}

body.page-race-day .rtr-toilet-header strong{
  padding:7px 11px;
  border-radius:999px;
  background:rgba(0,0,0,.17);
  font-size:.8rem;
}

body.page-race-day .rtr-no-facilities td:last-child{
  color:var(--rtr-red);
  font-weight:850;
}

body.page-race-day .rtr-facility-notes{
  margin-top:20px;
  background:#fff;
}

/* TRAVEL */

body.page-race-day .rtr-travel-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin-top:19px;
}

body.page-race-day .rtr-link-card{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:17px 18px;
  border:1px solid var(--rtr-line);
  border-radius:15px;
  background:var(--rtr-soft);
  text-decoration:none;
}

body.page-race-day .rtr-link-card:hover{
  border-color:rgba(22,125,120,.35);
  background:#eef8f6;
}

body.page-race-day .rtr-link-card span{
  color:var(--rtr-teal);
  font-size:.85rem;
  font-weight:800;
  text-align:right;
}

/* EMERGENCIES */

body.page-race-day .rtr-emergency-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
}

body.page-race-day .rtr-emergency-card{
  padding:23px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--rtr-radius);
  background:rgba(255,255,255,.07);
}

body.page-race-day .rtr-emergency-label{
  display:block;
  margin-bottom:6px;
  color:#79d6d0;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

body.page-race-day .rtr-race-phone{
  margin-top:18px;
  padding:21px 23px;
  border-radius:var(--rtr-radius);
  color:var(--rtr-ink);
  background:var(--rtr-orange);
}

body.page-race-day .rtr-race-phone strong{
  display:block;
  font-size:1.05rem;
}

body.page-race-day .rtr-race-phone p{
  margin:5px 0 0;
}

/* ACCORDIONS */

body.page-race-day .rtr-accordion{
  border-top:1px solid var(--rtr-line);
}

body.page-race-day .rtr details{
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid var(--rtr-line);
  border-radius:0;
  background:transparent;
}

body.page-race-day .rtr summary{
  position:relative;
  display:block;
  padding:20px 44px 20px 0;
  cursor:pointer;
  list-style:none;
  font-weight:850;
}

body.page-race-day .rtr summary::-webkit-details-marker{
  display:none;
}

body.page-race-day .rtr summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:5px;
  transform:translateY(-50%);
  color:var(--rtr-teal);
  font-size:1.5rem;
  font-weight:500;
}

body.page-race-day .rtr details[open] summary::after{
  content:"−";
}

body.page-race-day .rtr-details-body{
  max-width:900px;
  padding:0 0 23px;
  color:var(--rtr-muted);
}

body.page-race-day .rtr-details-body a{
  color:var(--rtr-teal);
  font-weight:850;
}

/* RULES */

body.page-race-day .rtr-rules-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
}

body.page-race-day .rtr-rule-card{
  padding:23px;
  box-shadow:none;
}

body.page-race-day .rtr-rule-card li{
  color:var(--rtr-muted);
}

/* POLICY */

body.page-race-day .rtr-policy-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
}

body.page-race-day .rtr-policy-card{
  padding:23px;
  box-shadow:none;
}

body.page-race-day .rtr-policy-card span{
  color:var(--rtr-teal);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

body.page-race-day .rtr-policy-card h3{
  margin-top:7px;
}

body.page-race-day .rtr-policy-card p{
  margin:0;
  color:var(--rtr-muted);
}

/* ENTRY */

body.page-race-day .rtr-entry{
  width:100%;
  padding:72px 20px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(
      circle at top right,
      rgba(58,175,169,.21),
      transparent 32%
    ),
    linear-gradient(
      120deg,
      var(--rtr-navy-dark),
      var(--rtr-teal)
    );
}

body.page-race-day .rtr-entry-inner{
  width:min(850px,100%);
  margin:0 auto;
}

body.page-race-day .rtr-entry h2{
  margin:0 0 12px;
  color:#fff;
}

body.page-race-day .rtr-entry-inner > p{
  color:rgba(255,255,255,.8);
}

/* TABLET */

@media(max-width:920px){

  body.page-race-day .rtr-section{
    padding:54px 0;
  }

  body.page-race-day .rtr-quick-grid,
  body.page-race-day .rtr-gpx-grid,
  body.page-race-day .rtr-cutoff-grid,
  body.page-race-day .rtr-bag-grid,
  body.page-race-day .rtr-travel-grid,
  body.page-race-day .rtr-policy-grid,
  body.page-race-day .rtr-travel-links{
    grid-template-columns:1fr 1fr;
  }

  body.page-race-day .rtr-start-grid,
  body.page-race-day .rtr-kit-grid{
    grid-template-columns:1fr;
  }

  body.page-race-day .rtr-toilet-grid{
    grid-template-columns:1fr;
  }

  body.page-race-day .rtr-toilet-ultra{
    grid-column:auto;
  }

}

/* MOBILE */

@media(max-width:680px){

  body.page-race-day .rtr-hero{
    padding:54px 14px 22px;
  }

  body.page-race-day .rtr-hero h1{
    font-size:clamp(2.8rem,14vw,4.4rem);
  }

  body.page-race-day .rtr-hero-actions,
  body.page-race-day .rtr-entry-actions{
    flex-direction:column;
  }

  body.page-race-day .rtr-hero-actions .rtr-btn,
  body.page-race-day .rtr-entry-actions .rtr-btn{
    width:100%;
  }

  body.page-race-day .rtr-quicknav{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:5px;
  }

  body.page-race-day .rtr-quicknav a{
    flex:0 0 auto;
  }

  body.page-race-day .rtr-section{
    width:min(100% - 24px,1120px);
    padding:44px 0;
  }

  body.page-race-day .rtr-section-soft,
  body.page-race-day .rtr-section-dark,
  body.page-race-day .rtr-section-sand{
    width:100%;
    padding:46px 12px;
  }

  body.page-race-day .rtr-quick-grid,
  body.page-race-day .rtr-gpx-grid,
  body.page-race-day .rtr-navigation-grid,
  body.page-race-day .rtr-cutoff-grid,
  body.page-race-day .rtr-bag-grid,
  body.page-race-day .rtr-travel-grid,
  body.page-race-day .rtr-distance-support,
  body.page-race-day .rtr-emergency-grid,
  body.page-race-day .rtr-rules-grid,
  body.page-race-day .rtr-policy-grid,
  body.page-race-day .rtr-travel-links{
    grid-template-columns:1fr;
  }

  body.page-race-day .rtr-start-card dl{
    grid-template-columns:1fr;
  }

  body.page-race-day .rtr-aid-summary,
  body.page-race-day .rtr-facility-notes{
    grid-template-columns:1fr;
  }

  body.page-race-day .rtr-aid-summary > div + div,
  body.page-race-day .rtr-facility-notes > div + div{
    border-top:1px solid var(--rtr-line);
    border-left:0;
  }

  body.page-race-day .rtr-link-card{
    flex-direction:column;
  }

  body.page-race-day .rtr-link-card span{
    text-align:left;
  }

  body.page-race-day .rtr-info-card,
  body.page-race-day .rtr-quick-card,
  body.page-race-day .rtr-start-card,
  body.page-race-day .rtr-gpx-card,
  body.page-race-day .rtr-cutoff-card,
  body.page-race-day .rtr-rule-card,
  body.page-race-day .rtr-policy-card{
    padding:19px;
  }

}

body.page-race-day{scroll-behavior:smooth;scroll-padding-top:24px}
  body.page-race-day{margin:0;background:#fff}
  body.page-race-day .rtr{
    --rtr-soft:#f5f5f7;
    --rtr-sand:#f1f0ec;
    --rtr-radius:8px;
    --rtr-shadow:0 1px 0 rgba(0,0,0,.06);
    font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    line-height:1.55;
    letter-spacing:-.012em;
  }
  body.page-race-day .rtr-hero{min-height:690px;display:flex;align-items:flex-end;padding:80px 32px 54px;background:#0b1921}
  body.page-race-day .rtr-hero-bg{
    background:
      linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.76)),
      url("https://roundtherock.co.uk/wp-content/uploads/2026/08/2-1-scaled.jpg") center/cover no-repeat;
  }
  body.page-race-day .rtr-hero-inner{width:min(1440px,100%);text-align:left}
  body.page-race-day .rtr-back-link{margin-bottom:80px;color:#fff}
  body.page-race-day .rtr-event-label{padding:0;border:0;background:transparent}
  body.page-race-day .rtr-hero h1{max-width:1050px;margin:14px 0 20px;font-size:clamp(4rem,9vw,8.2rem);font-weight:700;line-height:.88;letter-spacing:-.075em}
  body.page-race-day .rtr-sub{max-width:790px;margin:0 0 25px;color:#fff;font-size:clamp(1.1rem,1.7vw,1.42rem);line-height:1.45}
  body.page-race-day .rtr-hero-details{justify-content:flex-start;gap:14px;margin-bottom:30px}
  body.page-race-day .rtr-hero-details span{padding:0;border:0;background:transparent}
  body.page-race-day .rtr-hero-details span::after{content:" · ";margin-left:14px;opacity:.6}
  body.page-race-day .rtr-hero-details span:last-child::after{display:none}
  body.page-race-day .rtr-hero-actions,
  body.page-race-day .rtr-entry-actions{justify-content:flex-start}
  body.page-race-day .rtr-btn{font-weight:650}
  body.page-race-day .rtr a.rtr-btn-primary{color:#111;background:#fff}
  body.page-race-day .rtr a.rtr-btn-primary:hover{color:#111;background:#eee}
  body.page-race-day .rtr-quicknav{justify-content:flex-start;gap:15px;margin-top:42px}
  body.page-race-day .rtr-quicknav a{padding:5px 0;border-radius:0;font-size:.78rem}
  body.page-race-day .rtr-section{width:min(1240px,calc(100% - 64px));padding:110px 0}
  body.page-race-day .rtr-section-soft,
  body.page-race-day .rtr-section-dark,
  body.page-race-day .rtr-section-sand{width:100%;padding-left:max(32px,calc((100% - 1240px)/2));padding-right:max(32px,calc((100% - 1240px)/2))}
  body.page-race-day .rtr-section-heading{max-width:920px;margin-bottom:48px}
  body.page-race-day .rtr h2{font-size:clamp(2.7rem,5.2vw,5.1rem);font-weight:650;line-height:.96;letter-spacing:-.06em}
  body.page-race-day .rtr h3{letter-spacing:-.025em}
  body.page-race-day .rtr-eyebrow{color:#666;font-size:.7rem;letter-spacing:.16em}
  body.page-race-day .rtr-info-card,
  body.page-race-day .rtr-quick-card,
  body.page-race-day .rtr-start-card,
  body.page-race-day .rtr-gpx-card,
  body.page-race-day .rtr-cutoff-card,
  body.page-race-day .rtr-rule-card,
  body.page-race-day .rtr-policy-card,
  body.page-race-day .rtr-table-card,
  body.page-race-day .rtr-toilet-card{border-radius:6px;box-shadow:none}
  body.page-race-day .rtr-entry{padding:120px 32px}
  body.page-race-day .rtr-entry h2{max-width:900px}
  @media(max-width:680px){
    body.page-race-day .rtr-hero{min-height:720px;padding:80px 16px 30px}
    body.page-race-day .rtr-back-link{margin-bottom:55px}
    body.page-race-day .rtr-hero h1{font-size:clamp(3.35rem,17vw,5.1rem)}
    body.page-race-day .rtr-hero-details{gap:9px 13px}
    body.page-race-day .rtr-hero-details span::after{display:none}
    body.page-race-day .rtr-quicknav{gap:17px}
    body.page-race-day .rtr-section{width:min(100% - 32px,1240px);padding:76px 0}
    body.page-race-day .rtr-section-soft,
    body.page-race-day .rtr-section-dark,
    body.page-race-day .rtr-section-sand{padding:78px 16px}
    body.page-race-day .rtr-entry{padding:85px 16px}
  }

/* ================================================================
   PAGE: ULTRA
   Rules used only by pages/ultra.html.
   ================================================================ */
body.page-ultra .rtr-global-header{position:fixed;z-index:1000;top:14px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 28px));min-height:58px;padding:8px 10px 8px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(0,0,0,.09);border-radius:999px;background:rgba(255,255,255,.91);box-shadow:0 12px 35px rgba(0,0,0,.11);backdrop-filter:saturate(180%) blur(20px);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}body.page-ultra .rtr-global-header a{color:#111;text-decoration:none}body.page-ultra .rtr-global-brand{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:700;white-space:nowrap}body.page-ultra .rtr-global-brand b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f26b38;font-size:.72rem}body.page-ultra .rtr-global-header nav{display:flex;align-items:center;gap:18px}body.page-ultra .rtr-global-header nav>a,
body.page-ultra .rtr-global-header summary{font-size:.78rem;font-weight:650;cursor:pointer;list-style:none;white-space:nowrap}body.page-ultra .rtr-global-header summary::-webkit-details-marker{display:none}body.page-ultra .rtr-global-header details{position:relative}body.page-ultra .rtr-global-menu{position:absolute;top:34px;left:-18px;min-width:205px;padding:9px;border:1px solid rgba(0,0,0,.09);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(0,0,0,.14)}body.page-ultra .rtr-global-menu-right{right:-18px;left:auto}body.page-ultra .rtr-global-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:.82rem;font-weight:600}body.page-ultra .rtr-global-menu a:hover{background:#f2f2f2}body.page-ultra .rtr-global-header .rtr-global-enter{padding:11px 17px;border-radius:999px;color:#fff;background:#111}@media(max-width:760px){body.page-ultra .rtr-global-header{top:8px;width:calc(100% - 16px);min-height:54px;padding:6px 7px 6px 10px}body.page-ultra .rtr-global-brand span,
body.page-ultra .rtr-global-header nav>a:not(.rtr-global-enter){display:none}body.page-ultra .rtr-global-header nav{gap:12px}body.page-ultra .rtr-global-header .rtr-global-enter{padding:10px 13px;font-size:.74rem}body.page-ultra .rtr-global-menu{position:fixed;top:61px;left:8px!important;right:8px!important;width:auto;min-width:0}body.page-ultra .rtr-global-menu a{padding:12px}}

body.page-ultra .rtr{
  --rtr-navy:#102a3a;
  --rtr-navy-dark:#081c28;
  --rtr-teal:#167d78;
  --rtr-sea:#3aafa9;
  --rtr-sand:#f2ebdd;
  --rtr-stone:#d8d2c7;
  --rtr-orange:#f26b38;
  --rtr-orange-dark:#d95125;
  --rtr-ink:#14242d;
  --rtr-muted:#62717a;
  --rtr-soft:#f6f7f5;
  --rtr-white:#ffffff;
  --rtr-line:rgba(20,36,45,.13);
  --rtr-radius:22px;
  --rtr-shadow:0 15px 40px rgba(8,28,40,.09);

  width:100%;
  overflow:hidden;
  color:var(--rtr-ink);
  background:#fff;
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  font-size:16px;
  line-height:1.65;
}

body.page-ultra .rtr,
body.page-ultra .rtr *,
body.page-ultra .rtr *::before,
body.page-ultra .rtr *::after{
  box-sizing:border-box;
}

body.page-ultra .rtr a{
  color:inherit;
}

body.page-ultra .rtr p{
  margin-top:0;
}

body.page-ultra .rtr h1,
body.page-ultra .rtr h2,
body.page-ultra .rtr h3{
  line-height:1.12;
}

body.page-ultra .rtr h2{
  margin:0 0 .85rem;
  font-size:clamp(2rem,4vw,3.35rem);
  letter-spacing:-.045em;
}

body.page-ultra .rtr h3{
  margin:0 0 .75rem;
  font-size:1.2rem;
}

body.page-ultra .rtr ul,
body.page-ultra .rtr ol{
  margin:.7rem 0 0;
  padding-left:1.25rem;
}

body.page-ultra .rtr li + li{
  margin-top:.4rem;
}

/* HERO */

body.page-ultra .rtr-hero{
    position:relative;
    overflow:hidden;
    padding:90px 20px 50px;
    color:#fff;
    text-align:center;
}

body.page-ultra .rtr-hero-bg{
    position:absolute;
    inset:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    transform:scale(1.03);
}

body.page-ultra .rtr-hero-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.45) 0%,
            rgba(0,0,0,.35) 30%,
            rgba(0,0,0,.55) 100%
        );
}

body.page-ultra .rtr-hero-inner{
    position:relative;
    z-index:2;
    width:min(1040px,100%);
    margin:0 auto;
}

body.page-ultra .rtr-hero-inner{
  position:relative;
  z-index:1;
  width:min(1120px,100%);
  margin:0 auto;
  text-align:center;
}

body.page-ultra .rtr-back-link{
  display:inline-flex;
  margin-bottom:24px;
  color:rgba(255,255,255,.7);
  font-size:.85rem;
  font-weight:750;
  text-decoration:none;
}

body.page-ultra .rtr-back-link:hover{
  color:#fff;
}

body.page-ultra .rtr-event-label{
  display:inline-flex;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.21);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.03em;
}

body.page-ultra .rtr-hero h1{
  max-width:920px;
  margin:18px auto 14px;
  color:#fff;
  font-size:clamp(3rem,7vw,5.8rem);
  letter-spacing:-.062em;
}

body.page-ultra .rtr-sub{
  max-width:760px;
  margin:0 auto 24px;
  color:rgba(255,255,255,.82);
  font-size:clamp(1.02rem,2vw,1.25rem);
}

body.page-ultra .rtr-hero-details{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-bottom:27px;
}

body.page-ultra .rtr-hero-details span{
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  font-size:.8rem;
  font-weight:800;
}

body.page-ultra .rtr-hero-actions,
body.page-ultra .rtr-entry-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

body.page-ultra .rtr-quicknav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  margin-top:38px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);
}

body.page-ultra .rtr-quicknav a{
  padding:8px 12px;
  border-radius:999px;
  color:rgba(255,255,255,.8);
  font-size:.84rem;
  font-weight:750;
  text-decoration:none;
}

body.page-ultra .rtr-quicknav a:hover{
  color:#fff;
  background:rgba(255,255,255,.1);
}

/* BUTTONS */

body.page-ultra .rtr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:49px;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:999px;
  font-weight:850;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  transition:
    transform .15s ease,
    background .15s ease;
}

body.page-ultra .rtr-btn:hover{
  transform:translateY(-1px);
}

body.page-ultra .rtr-btn-primary{
  color:var(--rtr-navy-dark);
  background:var(--rtr-orange);
}

body.page-ultra .rtr-btn-primary:hover{
  background:#ff7b4c;
}

body.page-ultra .rtr-btn-light{
  border-color:rgba(255,255,255,.28);
  color:#fff;
  background:rgba(255,255,255,.09);
}

body.page-ultra .rtr-btn-light:hover{
  background:rgba(255,255,255,.16);
}

body.page-ultra .rtr-btn-dark{
  color:#fff;
  background:var(--rtr-navy);
}

body.page-ultra .rtr-btn-dark:hover{
  background:var(--rtr-navy-dark);
}

body.page-ultra .rtr-text-link{
  color:var(--rtr-teal);
  font-weight:850;
  text-decoration:none;
}

/* SECTIONS */

body.page-ultra .rtr-section{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  padding:72px 0;
}

body.page-ultra .rtr-section-soft,
body.page-ultra .rtr-section-dark{
  width:100%;
  max-width:none;
}

body.page-ultra .rtr-section-soft{
  padding-left:max(16px,calc((100% - 1120px)/2));
  padding-right:max(16px,calc((100% - 1120px)/2));
  background:var(--rtr-soft);
}

body.page-ultra .rtr-section-dark{
  padding-left:max(16px,calc((100% - 1120px)/2));
  padding-right:max(16px,calc((100% - 1120px)/2));
  color:#fff;
  background:
    radial-gradient(
      circle at top right,
      rgba(58,175,169,.17),
      transparent 30%
    ),
    var(--rtr-navy-dark);
}

body.page-ultra .rtr-section-inner{
  width:min(1120px,100%);
  margin:0 auto;
}

body.page-ultra .rtr-section-heading{
  max-width:810px;
  margin-bottom:30px;
}

body.page-ultra .rtr-section-heading > p{
  margin-bottom:.7rem;
  color:var(--rtr-muted);
  font-size:1.06rem;
}

body.page-ultra .rtr-heading-light > p{
  color:rgba(255,255,255,.74);
}

body.page-ultra .rtr-eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--rtr-teal);
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

body.page-ultra .rtr-section-dark .rtr-eyebrow,
body.page-ultra .rtr-entry .rtr-eyebrow{
  color:#79d6d0;
}

/* OVERVIEW */

body.page-ultra .rtr-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);
  gap:34px;
  align-items:start;
}

body.page-ultra .rtr-main-copy{
  font-size:1.03rem;
}

body.page-ultra .rtr-main-copy p{
  margin-bottom:18px;
}

body.page-ultra .rtr-summary-card,
body.page-ultra .rtr-info-card,
body.page-ultra .rtr-checkpoint-card{
  padding:23px;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
  box-shadow:var(--rtr-shadow);
}

body.page-ultra .rtr-facts{
  margin:0;
}

body.page-ultra .rtr-facts > div{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:12px;
  padding:11px 0;
  border-top:1px solid var(--rtr-line);
}

body.page-ultra .rtr-facts > div:first-child{
  border-top:0;
}

body.page-ultra .rtr-facts dt{
  color:var(--rtr-muted);
  font-size:.8rem;
  font-weight:800;
}

body.page-ultra .rtr-facts dd{
  margin:0;
  font-weight:850;
}

/* ROUTE */

body.page-ultra .rtr-map-wrap{
  overflow:hidden;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
  box-shadow:var(--rtr-shadow);
}

body.page-ultra .rtr-map{
  display:block;
  width:100%;
}

body.page-ultra .rtr-route-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:18px;
  padding:23px;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
}

body.page-ultra .rtr-route-footer p{
  max-width:720px;
  margin:0;
  color:var(--rtr-muted);
}

body.page-ultra .rtr-navigation-note{
  margin-top:16px;
  padding:16px 18px;
  border-left:4px solid var(--rtr-orange);
  border-radius:12px;
  background:#fff7f1;
}

/* CHECKPOINTS */

body.page-ultra .rtr-checkpoint-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

body.page-ultra .rtr-checkpoint-card{
  box-shadow:none;
}

body.page-ultra .rtr-checkpoint-card-featured{
  border-color:rgba(22,125,120,.38);
  background:#f0f8f7;
}

body.page-ultra .rtr-checkpoint-number{
  display:grid;
  width:43px;
  height:43px;
  margin-bottom:17px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--rtr-teal);
  font-size:.78rem;
  font-weight:900;
}

body.page-ultra .rtr-checkpoint-distance{
  display:block;
  margin-bottom:6px;
  color:var(--rtr-muted);
  font-size:.75rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.page-ultra .rtr-checkpoint-card p,
body.page-ultra .rtr-checkpoint-card li{
  color:var(--rtr-muted);
}

body.page-ultra .rtr-checkpoint-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:20px;
  overflow:hidden;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:var(--rtr-sand);
}

body.page-ultra .rtr-checkpoint-summary > div{
  padding:22px;
}

body.page-ultra .rtr-checkpoint-summary > div + div{
  border-left:1px solid var(--rtr-line);
}

body.page-ultra .rtr-checkpoint-summary strong{
  display:block;
  margin-bottom:5px;
}

body.page-ultra .rtr-checkpoint-summary p{
  margin:0;
  color:var(--rtr-muted);
  font-size:.94rem;
}

/* ETHOS */

body.page-ultra .rtr-ethos-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

body.page-ultra .rtr-ethos-card{
  padding:25px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--rtr-radius);
  background:rgba(255,255,255,.07);
}

body.page-ultra .rtr-ethos-card ul{
  padding-left:0;
  list-style:none;
}

body.page-ultra .rtr-check-list li,
body.page-ultra .rtr-cross-list li{
  position:relative;
  padding-left:27px;
}

body.page-ultra .rtr-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#83e1b1;
  font-weight:900;
}

body.page-ultra .rtr-cross-list li::before{
  content:"×";
  position:absolute;
  left:2px;
  color:#ffae98;
  font-weight:900;
}

body.page-ultra .rtr-ethos-notes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}

body.page-ultra .rtr-ethos-notes article{
  padding:22px;
  border-radius:var(--rtr-radius);
  color:var(--rtr-ink);
  background:#fff;
}

body.page-ultra .rtr-ethos-notes p{
  margin:0;
  color:var(--rtr-muted);
}

body.page-ultra .rtr-final-word{
  max-width:820px;
  margin:28px auto 0;
  color:rgba(255,255,255,.86);
  font-size:1.08rem;
  font-weight:800;
  text-align:center;
}

/* ACCORDIONS */

body.page-ultra .rtr-accordion{
  border-top:1px solid var(--rtr-line);
}

body.page-ultra .rtr details{
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid var(--rtr-line);
  border-radius:0;
  background:transparent;
}

body.page-ultra .rtr summary{
  position:relative;
  display:block;
  padding:20px 44px 20px 0;
  cursor:pointer;
  list-style:none;
  font-weight:850;
}

body.page-ultra .rtr summary::-webkit-details-marker{
  display:none;
}

body.page-ultra .rtr summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:5px;
  transform:translateY(-50%);
  color:var(--rtr-teal);
  font-size:1.5rem;
  font-weight:500;
}

body.page-ultra .rtr details[open] summary::after{
  content:"−";
}

body.page-ultra .rtr-details-body{
  max-width:880px;
  padding:0 0 23px;
  color:var(--rtr-muted);
}

body.page-ultra .rtr-details-body h3{
  margin-top:16px;
  color:var(--rtr-ink);
}

/* SAFETY */

body.page-ultra .rtr-safety-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

body.page-ultra .rtr-info-card{
  box-shadow:none;
}

body.page-ultra .rtr-info-card li{
  color:var(--rtr-muted);
}

body.page-ultra .rtr-card-icon{
  display:grid;
  width:44px;
  height:44px;
  margin-bottom:18px;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:var(--rtr-navy);
  font-size:.72rem;
  font-weight:900;
}

body.page-ultra .rtr-retirement-note{
  margin-top:18px;
  padding:20px 22px;
  border-left:4px solid var(--rtr-orange);
  border-radius:14px;
  background:#fff;
}

body.page-ultra .rtr-retirement-note strong{
  display:block;
  margin-bottom:5px;
}

body.page-ultra .rtr-retirement-note p{
  margin:0;
  color:var(--rtr-muted);
}

/* OTHER DISTANCES */

body.page-ultra .rtr-other-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

body.page-ultra .rtr-other-card{
  position:relative;
  min-height:440px;
  overflow:hidden;
  border-radius:var(--rtr-radius);
  background:var(--rtr-navy);
  box-shadow:var(--rtr-shadow);
  text-decoration:none;
}

body.page-ultra .rtr-other-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

body.page-ultra .rtr-other-card:hover img{
  transform:scale(1.025);
}

body.page-ultra .rtr-other-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(8,28,40,.02) 20%,
      rgba(8,28,40,.3) 52%,
      rgba(8,28,40,.96) 100%
    );
}

body.page-ultra .rtr-other-card-content{
  position:absolute;
  inset:auto 0 0;
  z-index:2;
  padding:26px;
  color:#fff;
}

body.page-ultra .rtr-other-card-content span{
  color:#80d9d4;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

body.page-ultra .rtr-other-card-content h3{
  margin:7px 0 8px;
  font-size:clamp(1.6rem,3vw,2.3rem);
}

body.page-ultra .rtr-other-card-content p{
  max-width:520px;
  margin-bottom:16px;
  color:rgba(255,255,255,.76);
}

body.page-ultra .rtr-other-card-content strong{
  font-size:.86rem;
}

/* ENTRY */

body.page-ultra .rtr-entry{
  width:100%;
  padding:72px 20px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(
      circle at top right,
      rgba(58,175,169,.21),
      transparent 32%
    ),
    linear-gradient(
      120deg,
      var(--rtr-navy-dark),
      var(--rtr-teal)
    );
}

body.page-ultra .rtr-entry-inner{
  width:min(850px,100%);
  margin:0 auto;
}

body.page-ultra .rtr-entry h2{
  margin:0 0 12px;
  color:#fff;
}

body.page-ultra .rtr-entry > p,
body.page-ultra .rtr-entry-inner > p{
  color:rgba(255,255,255,.8);
}

body.page-ultra .rtr-entry-note{
  margin:20px 0 0 !important;
  font-size:.9rem;
}

body.page-ultra .rtr-entry-note a{
  color:#fff;
  font-weight:850;
}

/* TABLET */

@media(max-width:880px){

  body.page-ultra .rtr-section{
    padding:54px 0;
  }

  body.page-ultra .rtr-overview-grid,
  body.page-ultra .rtr-ethos-grid,
  body.page-ultra .rtr-ethos-notes,
  body.page-ultra .rtr-safety-grid{
    grid-template-columns:1fr;
  }

  body.page-ultra .rtr-checkpoint-summary{
    grid-template-columns:1fr;
  }

  body.page-ultra .rtr-checkpoint-summary > div + div{
    border-top:1px solid var(--rtr-line);
    border-left:0;
  }

  body.page-ultra .rtr-route-footer{
    align-items:flex-start;
    flex-direction:column;
  }

}

/* MOBILE */

@media(max-width:650px){

  body.page-ultra .rtr-hero{
    padding:54px 14px 22px;
  }

  body.page-ultra .rtr-hero h1{
    font-size:clamp(3rem,15vw,4.4rem);
  }

  body.page-ultra .rtr-hero-actions,
  body.page-ultra .rtr-entry-actions{
    flex-direction:column;
  }

  body.page-ultra .rtr-hero-actions .rtr-btn,
  body.page-ultra .rtr-entry-actions .rtr-btn{
    width:100%;
  }

  body.page-ultra .rtr-quicknav{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:5px;
  }

  body.page-ultra .rtr-quicknav a{
    flex:0 0 auto;
  }

  body.page-ultra .rtr-section{
    width:min(100% - 24px,1120px);
    padding:44px 0;
  }

  body.page-ultra .rtr-section-soft,
  body.page-ultra .rtr-section-dark{
    width:100%;
    padding:46px 12px;
  }

  body.page-ultra .rtr-map{
    height:360px;
  }

  body.page-ultra .rtr-checkpoint-grid,
  body.page-ultra .rtr-other-grid{
    grid-template-columns:1fr;
  }

  body.page-ultra .rtr-summary-card,
  body.page-ultra .rtr-info-card,
  body.page-ultra .rtr-checkpoint-card,
  body.page-ultra .rtr-ethos-card{
    padding:19px;
  }

  body.page-ultra .rtr-facts > div{
    grid-template-columns:98px 1fr;
  }

  body.page-ultra .rtr-other-card{
    min-height:410px;
  }

}

body.page-ultra{scroll-behavior:smooth;scroll-padding-top:24px}
  body.page-ultra{margin:0;background:#fff}
  body.page-ultra .rtr{
    --rtr-soft:#f5f5f7;
    --rtr-sand:#f1f0ec;
    --rtr-radius:8px;
    --rtr-shadow:0 1px 0 rgba(0,0,0,.06);
    font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    line-height:1.55;
    letter-spacing:-.012em;
  }
  body.page-ultra .rtr-hero{min-height:780px;display:flex;align-items:flex-end;padding:80px 32px 54px;background:#0b1921}
  body.page-ultra .rtr-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.78))}
  body.page-ultra .rtr-hero-inner{width:min(1440px,100%);text-align:left}
  body.page-ultra .rtr-back-link{margin-bottom:105px;color:#fff}
  body.page-ultra .rtr-event-label{padding:0;border:0;background:transparent}
  body.page-ultra .rtr-hero h1{max-width:1120px;margin:14px 0 20px;font-size:clamp(4rem,9vw,8.3rem);font-weight:700;line-height:.88;letter-spacing:-.075em}
  body.page-ultra .rtr-sub{max-width:760px;margin:0 0 25px;color:#fff;font-size:clamp(1.1rem,1.7vw,1.42rem);line-height:1.45}
  body.page-ultra .rtr-hero-details{justify-content:flex-start;gap:14px;margin-bottom:30px}
  body.page-ultra .rtr-hero-details span{padding:0;border:0;background:transparent}
  body.page-ultra .rtr-hero-details span::after{content:" · ";margin-left:14px;opacity:.6}
  body.page-ultra .rtr-hero-details span:last-child::after{display:none}
  body.page-ultra .rtr-hero-actions,
  body.page-ultra .rtr-entry-actions{justify-content:flex-start}
  body.page-ultra .rtr-btn{font-weight:650}
  body.page-ultra .rtr a.rtr-btn-primary{color:#111;background:#fff}
  body.page-ultra .rtr a.rtr-btn-primary:hover{color:#111;background:#eee}
  body.page-ultra .rtr-quicknav{justify-content:flex-start;gap:16px;margin-top:42px}
  body.page-ultra .rtr-quicknav a{padding:5px 0;border-radius:0;font-size:.78rem}
  body.page-ultra .rtr-section{width:min(1240px,calc(100% - 64px));padding:112px 0}
  body.page-ultra .rtr-section-soft,
  body.page-ultra .rtr-section-dark,
  body.page-ultra .rtr-section-sand{width:100%;padding-left:max(32px,calc((100% - 1240px)/2));padding-right:max(32px,calc((100% - 1240px)/2))}
  body.page-ultra .rtr-section-heading{max-width:930px;margin-bottom:48px}
  body.page-ultra .rtr h2{font-size:clamp(2.7rem,5.2vw,5.1rem);font-weight:650;line-height:.96;letter-spacing:-.06em}
  body.page-ultra .rtr h3{letter-spacing:-.025em}
  body.page-ultra .rtr-eyebrow{color:#666;font-size:.7rem;letter-spacing:.16em}
  body.page-ultra .rtr-summary-card,
  body.page-ultra .rtr-route-card,
  body.page-ultra .rtr-checkpoint-card,
  body.page-ultra .rtr-ethos-card,
  body.page-ultra .rtr-logistics-card,
  body.page-ultra .rtr-safety-card,
  body.page-ultra .rtr-other-race-card{border-radius:6px;box-shadow:none}
  body.page-ultra .rtr-map-wrap{border-radius:6px;overflow:hidden}
  body.page-ultra .rtr-entry{padding:120px 32px}
  body.page-ultra .rtr-entry h2{max-width:900px}
  @media(max-width:680px){
    body.page-ultra .rtr-hero{min-height:760px;padding:80px 16px 30px}
    body.page-ultra .rtr-back-link{margin-bottom:68px}
    body.page-ultra .rtr-hero h1{font-size:clamp(3.35rem,17vw,5.1rem)}
    body.page-ultra .rtr-hero-details{gap:9px 13px}
    body.page-ultra .rtr-hero-details span::after{display:none}
    body.page-ultra .rtr-quicknav{gap:17px}
    body.page-ultra .rtr-section{width:min(100% - 32px,1240px);padding:76px 0}
    body.page-ultra .rtr-section-soft,
    body.page-ultra .rtr-section-dark,
    body.page-ultra .rtr-section-sand{padding:78px 16px}
    body.page-ultra .rtr-entry{padding:85px 16px}
  }

/* ================================================================
   PAGE: MARATHON
   Rules used only by pages/marathon.html.
   ================================================================ */
body.page-marathon .rtr-global-header{position:fixed;z-index:1000;top:14px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 28px));min-height:58px;padding:8px 10px 8px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(0,0,0,.09);border-radius:999px;background:rgba(255,255,255,.91);box-shadow:0 12px 35px rgba(0,0,0,.11);backdrop-filter:saturate(180%) blur(20px);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}body.page-marathon .rtr-global-header a{color:#111;text-decoration:none}body.page-marathon .rtr-global-brand{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:700;white-space:nowrap}body.page-marathon .rtr-global-brand b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f26b38;font-size:.72rem}body.page-marathon .rtr-global-header nav{display:flex;align-items:center;gap:18px}body.page-marathon .rtr-global-header nav>a,
body.page-marathon .rtr-global-header summary{font-size:.78rem;font-weight:650;cursor:pointer;list-style:none;white-space:nowrap}body.page-marathon .rtr-global-header summary::-webkit-details-marker{display:none}body.page-marathon .rtr-global-header details{position:relative}body.page-marathon .rtr-global-menu{position:absolute;top:34px;left:-18px;min-width:205px;padding:9px;border:1px solid rgba(0,0,0,.09);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(0,0,0,.14)}body.page-marathon .rtr-global-menu-right{right:-18px;left:auto}body.page-marathon .rtr-global-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:.82rem;font-weight:600}body.page-marathon .rtr-global-menu a:hover{background:#f2f2f2}body.page-marathon .rtr-global-header .rtr-global-enter{padding:11px 17px;border-radius:999px;color:#fff;background:#111}@media(max-width:760px){body.page-marathon .rtr-global-header{top:8px;width:calc(100% - 16px);min-height:54px;padding:6px 7px 6px 10px}body.page-marathon .rtr-global-brand span,
body.page-marathon .rtr-global-header nav>a:not(.rtr-global-enter){display:none}body.page-marathon .rtr-global-header nav{gap:12px}body.page-marathon .rtr-global-header .rtr-global-enter{padding:10px 13px;font-size:.74rem}body.page-marathon .rtr-global-menu{position:fixed;top:61px;left:8px!important;right:8px!important;width:auto;min-width:0}body.page-marathon .rtr-global-menu a{padding:12px}}

body.page-marathon .rtr{
  --rtr-navy:#102a3a;
  --rtr-navy-dark:#081c28;
  --rtr-teal:#167d78;
  --rtr-sea:#3aafa9;
  --rtr-sand:#f2ebdd;
  --rtr-stone:#d8d2c7;
  --rtr-orange:#f26b38;
  --rtr-orange-dark:#d95125;
  --rtr-ink:#14242d;
  --rtr-muted:#62717a;
  --rtr-soft:#f6f7f5;
  --rtr-white:#ffffff;
  --rtr-line:rgba(20,36,45,.13);
  --rtr-radius:22px;
  --rtr-shadow:0 15px 40px rgba(8,28,40,.09);

  width:100%;
  overflow:hidden;
  color:var(--rtr-ink);
  background:#fff;
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  font-size:16px;
  line-height:1.65;
}

body.page-marathon .rtr,
body.page-marathon .rtr *,
body.page-marathon .rtr *::before,
body.page-marathon .rtr *::after{
  box-sizing:border-box;
}

body.page-marathon .rtr a{
  color:inherit;
}

body.page-marathon .rtr p{
  margin-top:0;
}

body.page-marathon .rtr h1,
body.page-marathon .rtr h2,
body.page-marathon .rtr h3{
  line-height:1.12;
}

body.page-marathon .rtr h2{
  margin:0 0 .85rem;
  font-size:clamp(2rem,4vw,3.35rem);
  letter-spacing:-.045em;
}

body.page-marathon .rtr h3{
  margin:0 0 .75rem;
  font-size:1.2rem;
}

body.page-marathon .rtr ul,
body.page-marathon .rtr ol{
  margin:.7rem 0 0;
  padding-left:1.25rem;
}

body.page-marathon .rtr li + li{
  margin-top:.4rem;
}

/* HERO */

body.page-marathon .rtr-hero{
    position:relative;
    overflow:hidden;
    padding:90px 20px 50px;
    color:#fff;
    text-align:center;
}

body.page-marathon .rtr-hero-bg{
    position:absolute;
    inset:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    transform:scale(1.03);
}

body.page-marathon .rtr-hero-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.45) 0%,
            rgba(0,0,0,.35) 30%,
            rgba(0,0,0,.55) 100%
        );
}

body.page-marathon .rtr-hero-inner{
    position:relative;
    z-index:2;
    width:min(1040px,100%);
    margin:0 auto;
}


body.page-marathon .rtr-hero-inner{
  position:relative;
  z-index:1;
  width:min(1120px,100%);
  margin:0 auto;
  text-align:center;
}

body.page-marathon .rtr-back-link{
  display:inline-flex;
  margin-bottom:24px;
  color:rgba(255,255,255,.7);
  font-size:.85rem;
  font-weight:750;
  text-decoration:none;
}

body.page-marathon .rtr-back-link:hover{
  color:#fff;
}

body.page-marathon .rtr-event-label{
  display:inline-flex;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.21);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.03em;
}

body.page-marathon .rtr-hero h1{
  max-width:920px;
  margin:18px auto 14px;
  color:#fff;
  font-size:clamp(3rem,7vw,5.8rem);
  letter-spacing:-.062em;
}

body.page-marathon .rtr-sub{
  max-width:760px;
  margin:0 auto 24px;
  color:rgba(255,255,255,.82);
  font-size:clamp(1.02rem,2vw,1.25rem);
}

body.page-marathon .rtr-hero-details{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-bottom:27px;
}

body.page-marathon .rtr-hero-details span{
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  font-size:.8rem;
  font-weight:800;
}

body.page-marathon .rtr-hero-actions,
body.page-marathon .rtr-entry-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

body.page-marathon .rtr-quicknav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  margin-top:38px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);
}

body.page-marathon .rtr-quicknav a{
  padding:8px 12px;
  border-radius:999px;
  color:rgba(255,255,255,.8);
  font-size:.84rem;
  font-weight:750;
  text-decoration:none;
}

body.page-marathon .rtr-quicknav a:hover{
  color:#fff;
  background:rgba(255,255,255,.1);
}

/* BUTTONS */

body.page-marathon .rtr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:49px;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:999px;
  font-weight:850;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  transition:
    transform .15s ease,
    background .15s ease;
}

body.page-marathon .rtr-btn:hover{
  transform:translateY(-1px);
}

body.page-marathon .rtr-btn-primary{
  color:var(--rtr-navy-dark);
  background:var(--rtr-orange);
}

body.page-marathon .rtr-btn-primary:hover{
  background:#ff7b4c;
}

body.page-marathon .rtr-btn-light{
  border-color:rgba(255,255,255,.28);
  color:#fff;
  background:rgba(255,255,255,.09);
}

body.page-marathon .rtr-btn-light:hover{
  background:rgba(255,255,255,.16);
}

body.page-marathon .rtr-btn-dark{
  color:#fff;
  background:var(--rtr-navy);
}

body.page-marathon .rtr-btn-dark:hover{
  background:var(--rtr-navy-dark);
}

body.page-marathon .rtr-text-link{
  color:var(--rtr-teal);
  font-weight:850;
  text-decoration:none;
}

/* SECTIONS */

body.page-marathon .rtr-section{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  padding:72px 0;
}

body.page-marathon .rtr-section-soft,
body.page-marathon .rtr-section-dark,
body.page-marathon .rtr-section-sand{
  width:100%;
  max-width:none;
}

body.page-marathon .rtr-section-soft,
body.page-marathon .rtr-section-sand,
body.page-marathon .rtr-section-dark{
  padding-left:max(16px,calc((100% - 1120px)/2));
  padding-right:max(16px,calc((100% - 1120px)/2));
}

body.page-marathon .rtr-section-soft{
  background:var(--rtr-soft);
}

body.page-marathon .rtr-section-sand{
  background:var(--rtr-sand);
}

body.page-marathon .rtr-section-dark{
  color:#fff;
  background:
    radial-gradient(
      circle at top right,
      rgba(58,175,169,.17),
      transparent 30%
    ),
    var(--rtr-navy-dark);
}

body.page-marathon .rtr-section-inner{
  width:min(1120px,100%);
  margin:0 auto;
}

body.page-marathon .rtr-section-heading{
  max-width:810px;
  margin-bottom:30px;
}

body.page-marathon .rtr-section-heading > p{
  margin-bottom:.7rem;
  color:var(--rtr-muted);
  font-size:1.06rem;
}

body.page-marathon .rtr-heading-light > p{
  color:rgba(255,255,255,.74);
}

body.page-marathon .rtr-eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--rtr-teal);
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

body.page-marathon .rtr-section-dark .rtr-eyebrow,
body.page-marathon .rtr-entry .rtr-eyebrow{
  color:#79d6d0;
}

/* OVERVIEW */

body.page-marathon .rtr-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);
  gap:34px;
  align-items:start;
}

body.page-marathon .rtr-main-copy{
  font-size:1.03rem;
}

body.page-marathon .rtr-main-copy p{
  margin-bottom:18px;
}

body.page-marathon .rtr-summary-card,
body.page-marathon .rtr-info-card,
body.page-marathon .rtr-checkpoint-card{
  padding:23px;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
  box-shadow:var(--rtr-shadow);
}

body.page-marathon .rtr-facts{
  margin:0;
}

body.page-marathon .rtr-facts > div{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:12px;
  padding:11px 0;
  border-top:1px solid var(--rtr-line);
}

body.page-marathon .rtr-facts > div:first-child{
  border-top:0;
}

body.page-marathon .rtr-facts dt{
  color:var(--rtr-muted);
  font-size:.8rem;
  font-weight:800;
}

body.page-marathon .rtr-facts dd{
  margin:0;
  font-weight:850;
}

/* ROUTE */

body.page-marathon .rtr-map-wrap{
  overflow:hidden;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
  box-shadow:var(--rtr-shadow);
}

body.page-marathon .rtr-map{
  display:block;
  width:100%;
}

body.page-marathon .rtr-route-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:18px;
  padding:23px;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
}

body.page-marathon .rtr-route-footer p{
  max-width:720px;
  margin:0;
  color:var(--rtr-muted);
}

body.page-marathon .rtr-navigation-note{
  margin-top:16px;
  padding:16px 18px;
  border-left:4px solid var(--rtr-orange);
  border-radius:12px;
  background:#fff7f1;
}

/* TRAVEL */

body.page-marathon .rtr-travel-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

body.page-marathon .rtr-info-card{
  box-shadow:none;
}

body.page-marathon .rtr-card-number{
  display:grid;
  width:42px;
  height:42px;
  margin-bottom:18px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--rtr-teal);
  font-size:.77rem;
  font-weight:900;
}

body.page-marathon .rtr-info-card p,
body.page-marathon .rtr-info-card li{
  color:var(--rtr-muted);
}

body.page-marathon .rtr-travel-alert{
  margin-top:18px;
  padding:17px 19px;
  border-left:4px solid var(--rtr-orange);
  border-radius:12px;
  background:#fff7f1;
}

/* CHECKPOINTS */

body.page-marathon .rtr-checkpoint-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

body.page-marathon .rtr-checkpoint-card{
  box-shadow:none;
}

body.page-marathon .rtr-checkpoint-card-featured{
  border-color:rgba(22,125,120,.38);
  background:#f0f8f7;
}

body.page-marathon .rtr-checkpoint-number{
  display:grid;
  width:43px;
  height:43px;
  margin-bottom:17px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--rtr-teal);
  font-size:.78rem;
  font-weight:900;
}

body.page-marathon .rtr-checkpoint-distance{
  display:block;
  margin-bottom:6px;
  color:var(--rtr-muted);
  font-size:.75rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.page-marathon .rtr-checkpoint-card p,
body.page-marathon .rtr-checkpoint-card li{
  color:var(--rtr-muted);
}

body.page-marathon .rtr-checkpoint-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:20px;
  overflow:hidden;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
}

body.page-marathon .rtr-checkpoint-summary > div{
  padding:22px;
}

body.page-marathon .rtr-checkpoint-summary > div + div{
  border-left:1px solid var(--rtr-line);
}

body.page-marathon .rtr-checkpoint-summary strong{
  display:block;
  margin-bottom:5px;
}

body.page-marathon .rtr-checkpoint-summary p{
  margin:0;
  color:var(--rtr-muted);
  font-size:.94rem;
}

/* ETHOS */

body.page-marathon .rtr-ethos-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

body.page-marathon .rtr-ethos-card{
  padding:25px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--rtr-radius);
  background:rgba(255,255,255,.07);
}

body.page-marathon .rtr-ethos-card ul{
  padding-left:0;
  list-style:none;
}

body.page-marathon .rtr-check-list li,
body.page-marathon .rtr-cross-list li{
  position:relative;
  padding-left:27px;
}

body.page-marathon .rtr-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#83e1b1;
  font-weight:900;
}

body.page-marathon .rtr-cross-list li::before{
  content:"×";
  position:absolute;
  left:2px;
  color:#ffae98;
  font-weight:900;
}

body.page-marathon .rtr-ethos-notes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}

body.page-marathon .rtr-ethos-notes article{
  padding:22px;
  border-radius:var(--rtr-radius);
  color:var(--rtr-ink);
  background:#fff;
}

body.page-marathon .rtr-ethos-notes p{
  margin:0;
  color:var(--rtr-muted);
}

body.page-marathon .rtr-final-word{
  max-width:820px;
  margin:28px auto 0;
  color:rgba(255,255,255,.86);
  font-size:1.08rem;
  font-weight:800;
  text-align:center;
}

/* ACCORDIONS */

body.page-marathon .rtr-accordion{
  border-top:1px solid var(--rtr-line);
}

body.page-marathon .rtr details{
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid var(--rtr-line);
  border-radius:0;
  background:transparent;
}

body.page-marathon .rtr summary{
  position:relative;
  display:block;
  padding:20px 44px 20px 0;
  cursor:pointer;
  list-style:none;
  font-weight:850;
}

body.page-marathon .rtr summary::-webkit-details-marker{
  display:none;
}

body.page-marathon .rtr summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:5px;
  transform:translateY(-50%);
  color:var(--rtr-teal);
  font-size:1.5rem;
  font-weight:500;
}

body.page-marathon .rtr details[open] summary::after{
  content:"−";
}

body.page-marathon .rtr-details-body{
  max-width:880px;
  padding:0 0 23px;
  color:var(--rtr-muted);
}

body.page-marathon .rtr-details-body h3{
  margin-top:16px;
  color:var(--rtr-ink);
}

/* SAFETY */

body.page-marathon .rtr-safety-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

body.page-marathon .rtr-card-icon{
  display:grid;
  width:44px;
  height:44px;
  margin-bottom:18px;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:var(--rtr-navy);
  font-size:.72rem;
  font-weight:900;
}

body.page-marathon .rtr-retirement-note{
  margin-top:18px;
  padding:20px 22px;
  border-left:4px solid var(--rtr-orange);
  border-radius:14px;
  background:#fff;
}

body.page-marathon .rtr-retirement-note strong{
  display:block;
  margin-bottom:5px;
}

body.page-marathon .rtr-retirement-note p{
  margin:0;
  color:var(--rtr-muted);
}

/* OTHER DISTANCES */

body.page-marathon .rtr-other-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

body.page-marathon .rtr-other-card{
  position:relative;
  min-height:440px;
  overflow:hidden;
  border-radius:var(--rtr-radius);
  background:var(--rtr-navy);
  box-shadow:var(--rtr-shadow);
  text-decoration:none;
}

body.page-marathon .rtr-other-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

body.page-marathon .rtr-other-card:hover img{
  transform:scale(1.025);
}

body.page-marathon .rtr-other-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(8,28,40,.02) 20%,
      rgba(8,28,40,.3) 52%,
      rgba(8,28,40,.96) 100%
    );
}

body.page-marathon .rtr-other-card-content{
  position:absolute;
  inset:auto 0 0;
  z-index:2;
  padding:26px;
  color:#fff;
}

body.page-marathon .rtr-other-card-content span{
  color:#80d9d4;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

body.page-marathon .rtr-other-card-content h3{
  margin:7px 0 8px;
  font-size:clamp(1.6rem,3vw,2.3rem);
}

body.page-marathon .rtr-other-card-content p{
  max-width:520px;
  margin-bottom:16px;
  color:rgba(255,255,255,.76);
}

body.page-marathon .rtr-other-card-content strong{
  font-size:.86rem;
}

/* ENTRY */

body.page-marathon .rtr-entry{
  width:100%;
  padding:72px 20px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(
      circle at top right,
      rgba(58,175,169,.21),
      transparent 32%
    ),
    linear-gradient(
      120deg,
      var(--rtr-navy-dark),
      var(--rtr-teal)
    );
}

body.page-marathon .rtr-entry-inner{
  width:min(850px,100%);
  margin:0 auto;
}

body.page-marathon .rtr-entry h2{
  margin:0 0 12px;
  color:#fff;
}

body.page-marathon .rtr-entry-inner > p{
  color:rgba(255,255,255,.8);
}

body.page-marathon .rtr-entry-note{
  margin:20px 0 0 !important;
  font-size:.9rem;
}

body.page-marathon .rtr-entry-note a{
  color:#fff;
  font-weight:850;
}

/* TABLET */

@media(max-width:900px){

  body.page-marathon .rtr-section{
    padding:54px 0;
  }

  body.page-marathon .rtr-overview-grid,
  body.page-marathon .rtr-travel-grid,
  body.page-marathon .rtr-ethos-grid,
  body.page-marathon .rtr-ethos-notes,
  body.page-marathon .rtr-safety-grid{
    grid-template-columns:1fr;
  }

  body.page-marathon .rtr-checkpoint-summary{
    grid-template-columns:1fr;
  }

  body.page-marathon .rtr-checkpoint-summary > div + div{
    border-top:1px solid var(--rtr-line);
    border-left:0;
  }

  body.page-marathon .rtr-route-footer{
    align-items:flex-start;
    flex-direction:column;
  }

}

/* MOBILE */

@media(max-width:650px){

  body.page-marathon .rtr-hero{
    padding:54px 14px 22px;
  }

  body.page-marathon .rtr-hero h1{
    font-size:clamp(2.8rem,14vw,4.4rem);
  }

  body.page-marathon .rtr-hero-actions,
  body.page-marathon .rtr-entry-actions{
    flex-direction:column;
  }

  body.page-marathon .rtr-hero-actions .rtr-btn,
  body.page-marathon .rtr-entry-actions .rtr-btn{
    width:100%;
  }

  body.page-marathon .rtr-quicknav{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:5px;
  }

  body.page-marathon .rtr-quicknav a{
    flex:0 0 auto;
  }

  body.page-marathon .rtr-section{
    width:min(100% - 24px,1120px);
    padding:44px 0;
  }

  body.page-marathon .rtr-section-soft,
  body.page-marathon .rtr-section-dark,
  body.page-marathon .rtr-section-sand{
    width:100%;
    padding:46px 12px;
  }

  body.page-marathon .rtr-map{
    height:360px;
  }

  body.page-marathon .rtr-checkpoint-grid,
  body.page-marathon .rtr-other-grid{
    grid-template-columns:1fr;
  }

  body.page-marathon .rtr-summary-card,
  body.page-marathon .rtr-info-card,
  body.page-marathon .rtr-checkpoint-card,
  body.page-marathon .rtr-ethos-card{
    padding:19px;
  }

  body.page-marathon .rtr-facts > div{
    grid-template-columns:98px 1fr;
  }

  body.page-marathon .rtr-other-card{
    min-height:410px;
  }

}

body.page-marathon{scroll-behavior:smooth;scroll-padding-top:24px}
  body.page-marathon{margin:0;background:#fff}
  body.page-marathon .rtr{--rtr-soft:#f5f5f7;--rtr-sand:#f1f0ec;--rtr-radius:8px;--rtr-shadow:0 1px 0 rgba(0,0,0,.06);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;line-height:1.55;letter-spacing:-.012em}
  body.page-marathon .rtr-hero{min-height:780px;display:flex;align-items:flex-end;padding:80px 32px 54px;background:#0b1921}
  body.page-marathon .rtr-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.78))}
  body.page-marathon .rtr-hero-inner{width:min(1440px,100%);text-align:left}
  body.page-marathon .rtr-back-link{margin-bottom:105px;color:#fff}
  body.page-marathon .rtr-event-label{padding:0;border:0;background:transparent}
  body.page-marathon .rtr-hero h1{max-width:1180px;margin:14px 0 20px;font-size:clamp(4rem,8.7vw,8.1rem);font-weight:700;line-height:.88;letter-spacing:-.075em}
  body.page-marathon .rtr-sub{max-width:790px;margin:0 0 25px;color:#fff;font-size:clamp(1.1rem,1.7vw,1.42rem);line-height:1.45}
  body.page-marathon .rtr-hero-details{justify-content:flex-start;gap:14px;margin-bottom:30px}
  body.page-marathon .rtr-hero-details span{padding:0;border:0;background:transparent}
  body.page-marathon .rtr-hero-details span::after{content:" · ";margin-left:14px;opacity:.6}
  body.page-marathon .rtr-hero-details span:last-child::after{display:none}
  body.page-marathon .rtr-hero-actions,
  body.page-marathon .rtr-entry-actions{justify-content:flex-start}
  body.page-marathon .rtr-btn{font-weight:650}
  body.page-marathon .rtr a.rtr-btn-primary{color:#111;background:#fff}
  body.page-marathon .rtr a.rtr-btn-primary:hover{color:#111;background:#eee}
  body.page-marathon .rtr-quicknav{justify-content:flex-start;gap:16px;margin-top:42px}
  body.page-marathon .rtr-quicknav a{padding:5px 0;border-radius:0;font-size:.78rem}
  body.page-marathon .rtr-section{width:min(1240px,calc(100% - 64px));padding:112px 0}
  body.page-marathon .rtr-section-soft,
  body.page-marathon .rtr-section-dark,
  body.page-marathon .rtr-section-sand{width:100%;padding-left:max(32px,calc((100% - 1240px)/2));padding-right:max(32px,calc((100% - 1240px)/2))}
  body.page-marathon .rtr-section-heading{max-width:930px;margin-bottom:48px}
  body.page-marathon .rtr h2{font-size:clamp(2.7rem,5.2vw,5.1rem);font-weight:650;line-height:.96;letter-spacing:-.06em}
  body.page-marathon .rtr h3{letter-spacing:-.025em}
  body.page-marathon .rtr-eyebrow{color:#666;font-size:.7rem;letter-spacing:.16em}
  body.page-marathon .rtr-summary-card,
  body.page-marathon .rtr-route-card,
  body.page-marathon .rtr-travel-card,
  body.page-marathon .rtr-checkpoint-card,
  body.page-marathon .rtr-ethos-card,
  body.page-marathon .rtr-logistics-card,
  body.page-marathon .rtr-safety-card,
  body.page-marathon .rtr-other-race-card{border-radius:6px;box-shadow:none}
  body.page-marathon .rtr-map-wrap{border-radius:6px;overflow:hidden}
  body.page-marathon .rtr-entry{padding:120px 32px}
  body.page-marathon .rtr-entry h2{max-width:900px}
  @media(max-width:680px){
    body.page-marathon .rtr-hero{min-height:760px;padding:80px 16px 30px}
    body.page-marathon .rtr-back-link{margin-bottom:68px}
    body.page-marathon .rtr-hero h1{font-size:clamp(3.15rem,16vw,4.9rem)}
    body.page-marathon .rtr-hero-details{gap:9px 13px}
    body.page-marathon .rtr-hero-details span::after{display:none}
    body.page-marathon .rtr-quicknav{gap:17px}
    body.page-marathon .rtr-section{width:min(100% - 32px,1240px);padding:76px 0}
    body.page-marathon .rtr-section-soft,
    body.page-marathon .rtr-section-dark,
    body.page-marathon .rtr-section-sand{padding:78px 16px}
    body.page-marathon .rtr-entry{padding:85px 16px}
  }

/* ================================================================
   PAGE: HALF MARATHON
   Rules used only by pages/half-marathon.html.
   ================================================================ */
body.page-half-marathon .rtr-global-header{position:fixed;z-index:1000;top:14px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 28px));min-height:58px;padding:8px 10px 8px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(0,0,0,.09);border-radius:999px;background:rgba(255,255,255,.91);box-shadow:0 12px 35px rgba(0,0,0,.11);backdrop-filter:saturate(180%) blur(20px);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
body.page-half-marathon .rtr-global-header a{color:#111;text-decoration:none}body.page-half-marathon .rtr-global-brand{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:700;white-space:nowrap}body.page-half-marathon .rtr-global-brand b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f26b38;font-size:.72rem;letter-spacing:.04em}body.page-half-marathon .rtr-global-header nav{display:flex;align-items:center;gap:18px}body.page-half-marathon .rtr-global-header nav>a,
body.page-half-marathon .rtr-global-header summary{font-size:.78rem;font-weight:650;cursor:pointer;list-style:none;white-space:nowrap}body.page-half-marathon .rtr-global-header summary::-webkit-details-marker{display:none}body.page-half-marathon .rtr-global-header details{position:relative}body.page-half-marathon .rtr-global-header details[open] summary{opacity:.55}body.page-half-marathon .rtr-global-menu{position:absolute;top:34px;left:-18px;min-width:205px;padding:9px;border:1px solid rgba(0,0,0,.09);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(0,0,0,.14)}body.page-half-marathon .rtr-global-menu-right{right:-18px;left:auto}body.page-half-marathon .rtr-global-menu a{display:block;padding:10px 12px;border-radius:8px;font-size:.82rem;font-weight:600}body.page-half-marathon .rtr-global-menu a:hover{background:#f2f2f2}body.page-half-marathon .rtr-global-header .rtr-global-enter{padding:11px 17px;border-radius:999px;color:#fff;background:#111}body.page-half-marathon .rtr-global-header .rtr-global-enter:hover{background:#333}
@media(max-width:760px){body.page-half-marathon .rtr-global-header{top:8px;width:calc(100% - 16px);min-height:54px;padding:6px 7px 6px 10px}body.page-half-marathon .rtr-global-brand span,
body.page-half-marathon .rtr-global-header nav>a:not(.rtr-global-enter){display:none}body.page-half-marathon .rtr-global-header nav{gap:12px}body.page-half-marathon .rtr-global-header nav details summary{font-size:.76rem}body.page-half-marathon .rtr-global-header .rtr-global-enter{padding:10px 13px;font-size:.74rem}body.page-half-marathon .rtr-global-menu{position:fixed;top:61px;left:8px!important;right:8px!important;width:auto;min-width:0}body.page-half-marathon .rtr-global-menu a{padding:12px}}

body.page-half-marathon .rtr{
  --rtr-navy:#102a3a;
  --rtr-navy-dark:#081c28;
  --rtr-teal:#167d78;
  --rtr-sea:#3aafa9;
  --rtr-sand:#f2ebdd;
  --rtr-stone:#d8d2c7;
  --rtr-orange:#f26b38;
  --rtr-orange-dark:#d95125;
  --rtr-ink:#14242d;
  --rtr-muted:#62717a;
  --rtr-soft:#f6f7f5;
  --rtr-white:#ffffff;
  --rtr-line:rgba(20,36,45,.13);
  --rtr-radius:22px;
  --rtr-shadow:0 15px 40px rgba(8,28,40,.09);

  width:100%;
  overflow:hidden;
  color:var(--rtr-ink);
  background:#fff;
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  font-size:16px;
  line-height:1.65;
}

body.page-half-marathon .rtr,
body.page-half-marathon .rtr *,
body.page-half-marathon .rtr *::before,
body.page-half-marathon .rtr *::after{
  box-sizing:border-box;
}

body.page-half-marathon .rtr a{
  color:inherit;
}

body.page-half-marathon .rtr p{
  margin-top:0;
}

body.page-half-marathon .rtr h1,
body.page-half-marathon .rtr h2,
body.page-half-marathon .rtr h3{
  line-height:1.12;
}

body.page-half-marathon .rtr h2{
  margin:0 0 .85rem;
  font-size:clamp(2rem,4vw,3.35rem);
  letter-spacing:-.045em;
}

body.page-half-marathon .rtr h3{
  margin:0 0 .75rem;
  font-size:1.2rem;
}

body.page-half-marathon .rtr ul,
body.page-half-marathon .rtr ol{
  margin:.7rem 0 0;
  padding-left:1.25rem;
}

body.page-half-marathon .rtr li + li{
  margin-top:.4rem;
}

/* HERO */

body.page-half-marathon .rtr-hero{
    position:relative;
    overflow:hidden;
    padding:90px 20px 50px;
    color:#fff;
    text-align:center;
}

body.page-half-marathon .rtr-hero-bg{
    position:absolute;
    inset:0;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    transform:scale(1.03);
}

body.page-half-marathon .rtr-hero-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.45) 0%,
            rgba(0,0,0,.35) 30%,
            rgba(0,0,0,.55) 100%
        );
}

body.page-half-marathon .rtr-hero-inner{
    position:relative;
    z-index:2;
    width:min(1040px,100%);
    margin:0 auto;
}


body.page-half-marathon .rtr-hero-inner{
  position:relative;
  z-index:1;
  width:min(1120px,100%);
  margin:0 auto;
  text-align:center;
}

body.page-half-marathon .rtr-back-link{
  display:inline-flex;
  margin-bottom:24px;
  color:rgba(255,255,255,.7);
  font-size:.85rem;
  font-weight:750;
  text-decoration:none;
}

body.page-half-marathon .rtr-back-link:hover{
  color:#fff;
}

body.page-half-marathon .rtr-event-label{
  display:inline-flex;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.21);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.03em;
}

body.page-half-marathon .rtr-hero h1{
  max-width:940px;
  margin:18px auto 14px;
  color:#fff;
  font-size:clamp(2.8rem,7vw,5.6rem);
  letter-spacing:-.062em;
}

body.page-half-marathon .rtr-sub{
  max-width:780px;
  margin:0 auto 24px;
  color:rgba(255,255,255,.82);
  font-size:clamp(1.02rem,2vw,1.25rem);
}

body.page-half-marathon .rtr-hero-details{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-bottom:27px;
}

body.page-half-marathon .rtr-hero-details span{
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  font-size:.8rem;
  font-weight:800;
}

body.page-half-marathon .rtr-hero-actions,
body.page-half-marathon .rtr-entry-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

body.page-half-marathon .rtr-quicknav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  margin-top:38px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);
}

body.page-half-marathon .rtr-quicknav a{
  padding:8px 12px;
  border-radius:999px;
  color:rgba(255,255,255,.8);
  font-size:.84rem;
  font-weight:750;
  text-decoration:none;
}

body.page-half-marathon .rtr-quicknav a:hover{
  color:#fff;
  background:rgba(255,255,255,.1);
}

/* BUTTONS */

body.page-half-marathon .rtr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:49px;
  padding:12px 18px;
  border:1px solid transparent;
  border-radius:999px;
  font-weight:850;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  transition:
    transform .15s ease,
    background .15s ease;
}

body.page-half-marathon .rtr-btn:hover{
  transform:translateY(-1px);
}

body.page-half-marathon .rtr-btn-primary{
  color:var(--rtr-navy-dark);
  background:var(--rtr-orange);
}

body.page-half-marathon .rtr-btn-primary:hover{
  background:#ff7b4c;
}

body.page-half-marathon .rtr-btn-light{
  border-color:rgba(255,255,255,.28);
  color:#fff;
  background:rgba(255,255,255,.09);
}

body.page-half-marathon .rtr-btn-light:hover{
  background:rgba(255,255,255,.16);
}

body.page-half-marathon .rtr-btn-dark{
  color:#fff;
  background:var(--rtr-navy);
}

body.page-half-marathon .rtr-btn-dark:hover{
  background:var(--rtr-navy-dark);
}

body.page-half-marathon .rtr-text-link{
  color:var(--rtr-teal);
  font-weight:850;
  text-decoration:none;
}

/* SECTIONS */

body.page-half-marathon .rtr-section{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  padding:72px 0;
}

body.page-half-marathon .rtr-section-soft,
body.page-half-marathon .rtr-section-dark,
body.page-half-marathon .rtr-section-sand{
  width:100%;
  max-width:none;
}

body.page-half-marathon .rtr-section-soft,
body.page-half-marathon .rtr-section-sand,
body.page-half-marathon .rtr-section-dark{
  padding-left:max(16px,calc((100% - 1120px)/2));
  padding-right:max(16px,calc((100% - 1120px)/2));
}

body.page-half-marathon .rtr-section-soft{
  background:var(--rtr-soft);
}

body.page-half-marathon .rtr-section-sand{
  background:var(--rtr-sand);
}

body.page-half-marathon .rtr-section-dark{
  color:#fff;
  background:
    radial-gradient(
      circle at top right,
      rgba(58,175,169,.17),
      transparent 30%
    ),
    var(--rtr-navy-dark);
}

body.page-half-marathon .rtr-section-inner{
  width:min(1120px,100%);
  margin:0 auto;
}

body.page-half-marathon .rtr-section-heading{
  max-width:810px;
  margin-bottom:30px;
}

body.page-half-marathon .rtr-section-heading > p{
  margin-bottom:.7rem;
  color:var(--rtr-muted);
  font-size:1.06rem;
}

body.page-half-marathon .rtr-heading-light > p{
  color:rgba(255,255,255,.74);
}

body.page-half-marathon .rtr-eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--rtr-teal);
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

body.page-half-marathon .rtr-section-dark .rtr-eyebrow,
body.page-half-marathon .rtr-entry .rtr-eyebrow{
  color:#79d6d0;
}

/* OVERVIEW */

body.page-half-marathon .rtr-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);
  gap:34px;
  align-items:start;
}

body.page-half-marathon .rtr-main-copy{
  font-size:1.03rem;
}

body.page-half-marathon .rtr-main-copy p{
  margin-bottom:18px;
}

body.page-half-marathon .rtr-summary-card,
body.page-half-marathon .rtr-info-card,
body.page-half-marathon .rtr-checkpoint-card{
  padding:23px;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
  box-shadow:var(--rtr-shadow);
}

body.page-half-marathon .rtr-facts{
  margin:0;
}

body.page-half-marathon .rtr-facts > div{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:12px;
  padding:11px 0;
  border-top:1px solid var(--rtr-line);
}

body.page-half-marathon .rtr-facts > div:first-child{
  border-top:0;
}

body.page-half-marathon .rtr-facts dt{
  color:var(--rtr-muted);
  font-size:.8rem;
  font-weight:800;
}

body.page-half-marathon .rtr-facts dd{
  margin:0;
  font-weight:850;
}

/* ROUTE */

body.page-half-marathon .rtr-map-wrap{
  overflow:hidden;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
  box-shadow:var(--rtr-shadow);
}

body.page-half-marathon .rtr-map{
  display:block;
  width:100%;
}

body.page-half-marathon .rtr-route-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:18px;
  padding:23px;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
}

body.page-half-marathon .rtr-route-footer p{
  max-width:720px;
  margin:0;
  color:var(--rtr-muted);
}

body.page-half-marathon .rtr-navigation-note{
  margin-top:16px;
  padding:16px 18px;
  border-left:4px solid var(--rtr-orange);
  border-radius:12px;
  background:#fff7f1;
}

/* TRAVEL */

body.page-half-marathon .rtr-travel-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

body.page-half-marathon .rtr-info-card{
  box-shadow:none;
}

body.page-half-marathon .rtr-card-number{
  display:grid;
  width:42px;
  height:42px;
  margin-bottom:18px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--rtr-teal);
  font-size:.77rem;
  font-weight:900;
}

body.page-half-marathon .rtr-info-card p,
body.page-half-marathon .rtr-info-card li{
  color:var(--rtr-muted);
}

body.page-half-marathon .rtr-travel-alert{
  margin-top:18px;
  padding:17px 19px;
  border-left:4px solid var(--rtr-orange);
  border-radius:12px;
  background:#fff7f1;
}

/* CHECKPOINT */

body.page-half-marathon .rtr-single-checkpoint{
  max-width:720px;
}

body.page-half-marathon .rtr-checkpoint-card{
  box-shadow:none;
}

body.page-half-marathon .rtr-checkpoint-card-featured{
  border-color:rgba(22,125,120,.38);
  background:#f0f8f7;
}

body.page-half-marathon .rtr-checkpoint-number{
  display:grid;
  width:43px;
  height:43px;
  margin-bottom:17px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--rtr-teal);
  font-size:.78rem;
  font-weight:900;
}

body.page-half-marathon .rtr-checkpoint-distance{
  display:block;
  margin-bottom:6px;
  color:var(--rtr-muted);
  font-size:.75rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.page-half-marathon .rtr-checkpoint-card p,
body.page-half-marathon .rtr-checkpoint-card li{
  color:var(--rtr-muted);
}

body.page-half-marathon .rtr-checkpoint-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:20px;
  overflow:hidden;
  border:1px solid var(--rtr-line);
  border-radius:var(--rtr-radius);
  background:#fff;
}

body.page-half-marathon .rtr-checkpoint-summary > div{
  padding:22px;
}

body.page-half-marathon .rtr-checkpoint-summary > div + div{
  border-left:1px solid var(--rtr-line);
}

body.page-half-marathon .rtr-checkpoint-summary strong{
  display:block;
  margin-bottom:5px;
}

body.page-half-marathon .rtr-checkpoint-summary p{
  margin:0;
  color:var(--rtr-muted);
  font-size:.94rem;
}

/* ETHOS */

body.page-half-marathon .rtr-ethos-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

body.page-half-marathon .rtr-ethos-card{
  padding:25px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--rtr-radius);
  background:rgba(255,255,255,.07);
}

body.page-half-marathon .rtr-ethos-card ul{
  padding-left:0;
  list-style:none;
}

body.page-half-marathon .rtr-check-list li,
body.page-half-marathon .rtr-cross-list li{
  position:relative;
  padding-left:27px;
}

body.page-half-marathon .rtr-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#83e1b1;
  font-weight:900;
}

body.page-half-marathon .rtr-cross-list li::before{
  content:"×";
  position:absolute;
  left:2px;
  color:#ffae98;
  font-weight:900;
}

body.page-half-marathon .rtr-ethos-notes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}

body.page-half-marathon .rtr-ethos-notes article{
  padding:22px;
  border-radius:var(--rtr-radius);
  color:var(--rtr-ink);
  background:#fff;
}

body.page-half-marathon .rtr-ethos-notes p{
  margin:0;
  color:var(--rtr-muted);
}

body.page-half-marathon .rtr-final-word{
  max-width:820px;
  margin:28px auto 0;
  color:rgba(255,255,255,.86);
  font-size:1.08rem;
  font-weight:800;
  text-align:center;
}

/* ACCORDIONS */

body.page-half-marathon .rtr-accordion{
  border-top:1px solid var(--rtr-line);
}

body.page-half-marathon .rtr details{
  margin:0;
  padding:0;
  border:0;
  border-bottom:1px solid var(--rtr-line);
  border-radius:0;
  background:transparent;
}

body.page-half-marathon .rtr summary{
  position:relative;
  display:block;
  padding:20px 44px 20px 0;
  cursor:pointer;
  list-style:none;
  font-weight:850;
}

body.page-half-marathon .rtr summary::-webkit-details-marker{
  display:none;
}

body.page-half-marathon .rtr summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:5px;
  transform:translateY(-50%);
  color:var(--rtr-teal);
  font-size:1.5rem;
  font-weight:500;
}

body.page-half-marathon .rtr details[open] summary::after{
  content:"−";
}

body.page-half-marathon .rtr-details-body{
  max-width:880px;
  padding:0 0 23px;
  color:var(--rtr-muted);
}

body.page-half-marathon .rtr-details-body h3{
  margin-top:16px;
  color:var(--rtr-ink);
}

/* SAFETY */

body.page-half-marathon .rtr-safety-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

body.page-half-marathon .rtr-card-icon{
  display:grid;
  width:44px;
  height:44px;
  margin-bottom:18px;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:var(--rtr-navy);
  font-size:.72rem;
  font-weight:900;
}

body.page-half-marathon .rtr-retirement-note{
  margin-top:18px;
  padding:20px 22px;
  border-left:4px solid var(--rtr-orange);
  border-radius:14px;
  background:#fff;
}

body.page-half-marathon .rtr-retirement-note strong{
  display:block;
  margin-bottom:5px;
}

body.page-half-marathon .rtr-retirement-note p{
  margin:0;
  color:var(--rtr-muted);
}

/* OTHER DISTANCES */

body.page-half-marathon .rtr-other-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

body.page-half-marathon .rtr-other-card{
  position:relative;
  min-height:440px;
  overflow:hidden;
  border-radius:var(--rtr-radius);
  background:var(--rtr-navy);
  box-shadow:var(--rtr-shadow);
  text-decoration:none;
}

body.page-half-marathon .rtr-other-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

body.page-half-marathon .rtr-other-card:hover img{
  transform:scale(1.025);
}

body.page-half-marathon .rtr-other-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(8,28,40,.02) 20%,
      rgba(8,28,40,.3) 52%,
      rgba(8,28,40,.96) 100%
    );
}

body.page-half-marathon .rtr-other-card-content{
  position:absolute;
  inset:auto 0 0;
  z-index:2;
  padding:26px;
  color:#fff;
}

body.page-half-marathon .rtr-other-card-content span{
  color:#80d9d4;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

body.page-half-marathon .rtr-other-card-content h3{
  margin:7px 0 8px;
  font-size:clamp(1.6rem,3vw,2.3rem);
}

body.page-half-marathon .rtr-other-card-content p{
  max-width:520px;
  margin-bottom:16px;
  color:rgba(255,255,255,.76);
}

body.page-half-marathon .rtr-other-card-content strong{
  font-size:.86rem;
}

/* ENTRY */

body.page-half-marathon .rtr-entry{
  width:100%;
  padding:72px 20px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(
      circle at top right,
      rgba(58,175,169,.21),
      transparent 32%
    ),
    linear-gradient(
      120deg,
      var(--rtr-navy-dark),
      var(--rtr-teal)
    );
}

body.page-half-marathon .rtr-entry-inner{
  width:min(850px,100%);
  margin:0 auto;
}

body.page-half-marathon .rtr-entry h2{
  margin:0 0 12px;
  color:#fff;
}

body.page-half-marathon .rtr-entry-inner > p{
  color:rgba(255,255,255,.8);
}

body.page-half-marathon .rtr-entry-note{
  margin:20px 0 0 !important;
  font-size:.9rem;
}

body.page-half-marathon .rtr-entry-note a{
  color:#fff;
  font-weight:850;
}

/* TABLET */

@media(max-width:900px){

  body.page-half-marathon .rtr-section{
    padding:54px 0;
  }

  body.page-half-marathon .rtr-overview-grid,
  body.page-half-marathon .rtr-travel-grid,
  body.page-half-marathon .rtr-ethos-grid,
  body.page-half-marathon .rtr-ethos-notes,
  body.page-half-marathon .rtr-safety-grid{
    grid-template-columns:1fr;
  }

  body.page-half-marathon .rtr-checkpoint-summary{
    grid-template-columns:1fr;
  }

  body.page-half-marathon .rtr-checkpoint-summary > div + div{
    border-top:1px solid var(--rtr-line);
    border-left:0;
  }

  body.page-half-marathon .rtr-route-footer{
    align-items:flex-start;
    flex-direction:column;
  }

}

/* MOBILE */

@media(max-width:650px){

  body.page-half-marathon .rtr-hero{
    padding:54px 14px 22px;
  }

  body.page-half-marathon .rtr-hero h1{
    font-size:clamp(2.6rem,13vw,4.1rem);
  }

  body.page-half-marathon .rtr-hero-actions,
  body.page-half-marathon .rtr-entry-actions{
    flex-direction:column;
  }

  body.page-half-marathon .rtr-hero-actions .rtr-btn,
  body.page-half-marathon .rtr-entry-actions .rtr-btn{
    width:100%;
  }

  body.page-half-marathon .rtr-quicknav{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:5px;
  }

  body.page-half-marathon .rtr-quicknav a{
    flex:0 0 auto;
  }

  body.page-half-marathon .rtr-section{
    width:min(100% - 24px,1120px);
    padding:44px 0;
  }

  body.page-half-marathon .rtr-section-soft,
  body.page-half-marathon .rtr-section-dark,
  body.page-half-marathon .rtr-section-sand{
    width:100%;
    padding:46px 12px;
  }

  body.page-half-marathon .rtr-map{
    height:360px;
  }

  body.page-half-marathon .rtr-other-grid{
    grid-template-columns:1fr;
  }

  body.page-half-marathon .rtr-summary-card,
  body.page-half-marathon .rtr-info-card,
  body.page-half-marathon .rtr-checkpoint-card,
  body.page-half-marathon .rtr-ethos-card{
    padding:19px;
  }

  body.page-half-marathon .rtr-facts > div{
    grid-template-columns:98px 1fr;
  }

  body.page-half-marathon .rtr-other-card{
    min-height:410px;
  }

}

body.page-half-marathon{scroll-behavior:smooth;scroll-padding-top:88px}body.page-half-marathon{margin:0;background:#fff}
  body.page-half-marathon .rtr{--rtr-soft:#f5f5f7;--rtr-sand:#f1f0ec;--rtr-radius:8px;--rtr-shadow:0 1px 0 rgba(0,0,0,.06);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;line-height:1.55;letter-spacing:-.012em}
  body.page-half-marathon .rtr-hero{min-height:780px;display:flex;align-items:flex-end;padding:110px 32px 54px;background:#0b1921}
  body.page-half-marathon .rtr-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.78))}
  body.page-half-marathon .rtr-hero-inner{width:min(1440px,100%);text-align:left}body.page-half-marathon .rtr-back-link{margin-bottom:80px;color:#fff}body.page-half-marathon .rtr-event-label{padding:0;border:0;background:transparent}
  body.page-half-marathon .rtr-hero h1{max-width:1220px;margin:14px 0 20px;font-size:clamp(4rem,8.5vw,8rem);font-weight:700;line-height:.88;letter-spacing:-.075em}
  body.page-half-marathon .rtr-sub{max-width:800px;margin:0 0 25px;color:#fff;font-size:clamp(1.1rem,1.7vw,1.42rem);line-height:1.45}
  body.page-half-marathon .rtr-hero-details{justify-content:flex-start;gap:14px;margin-bottom:30px}body.page-half-marathon .rtr-hero-details span{padding:0;border:0;background:transparent}body.page-half-marathon .rtr-hero-details span::after{content:" · ";margin-left:14px;opacity:.6}body.page-half-marathon .rtr-hero-details span:last-child::after{display:none}
  body.page-half-marathon .rtr-hero-actions,
  body.page-half-marathon .rtr-entry-actions{justify-content:flex-start}body.page-half-marathon .rtr-btn{font-weight:650}body.page-half-marathon .rtr a.rtr-btn-primary{color:#111;background:#fff}body.page-half-marathon .rtr a.rtr-btn-primary:hover{color:#111;background:#eee}
  body.page-half-marathon .rtr-quicknav{justify-content:flex-start;gap:16px;margin-top:42px}body.page-half-marathon .rtr-quicknav a{padding:5px 0;border-radius:0;font-size:.78rem}
  body.page-half-marathon .rtr-section{width:min(1240px,calc(100% - 64px));padding:112px 0}body.page-half-marathon .rtr-section-soft,
body.page-half-marathon .rtr-section-dark,
body.page-half-marathon .rtr-section-sand{width:100%;padding-left:max(32px,calc((100% - 1240px)/2));padding-right:max(32px,calc((100% - 1240px)/2))}
  body.page-half-marathon .rtr-section-heading{max-width:930px;margin-bottom:48px}body.page-half-marathon .rtr h2{font-size:clamp(2.7rem,5.2vw,5.1rem);font-weight:650;line-height:.96;letter-spacing:-.06em}body.page-half-marathon .rtr h3{letter-spacing:-.025em}body.page-half-marathon .rtr-eyebrow{color:#666;font-size:.7rem;letter-spacing:.16em}
  body.page-half-marathon .rtr-summary-card,
  body.page-half-marathon .rtr-route-card,
  body.page-half-marathon .rtr-travel-card,
  body.page-half-marathon .rtr-checkpoint-card,
  body.page-half-marathon .rtr-ethos-card,
  body.page-half-marathon .rtr-logistics-card,
  body.page-half-marathon .rtr-safety-card,
  body.page-half-marathon .rtr-other-race-card{border-radius:6px;box-shadow:none}body.page-half-marathon .rtr-map-wrap{border-radius:6px;overflow:hidden}body.page-half-marathon .rtr-entry{padding:120px 32px}body.page-half-marathon .rtr-entry h2{max-width:900px}
  @media(max-width:680px){body.page-half-marathon .rtr-hero{min-height:760px;padding:110px 16px 30px}body.page-half-marathon .rtr-back-link{margin-bottom:45px}body.page-half-marathon .rtr-hero h1{font-size:clamp(3rem,15.2vw,4.75rem)}body.page-half-marathon .rtr-hero-details{gap:9px 13px}body.page-half-marathon .rtr-hero-details span::after{display:none}body.page-half-marathon .rtr-quicknav{gap:17px}body.page-half-marathon .rtr-section{width:min(100% - 32px,1240px);padding:76px 0}body.page-half-marathon .rtr-section-soft,
body.page-half-marathon .rtr-section-dark,
body.page-half-marathon .rtr-section-sand{padding:78px 16px}body.page-half-marathon .rtr-entry{padding:85px 16px}}

/* ================================================================
   PAGE: RESULTS
   Rules used only by pages/results.html.
   ================================================================ */
body.page-results.page-results{--ink:#111;--muted:#67676c;--soft:#f5f5f7;--orange:#f26b38;--line:rgba(0,0,0,.1);--max:1240px}body.page-results *{box-sizing:border-box}body.page-results{scroll-behavior:smooth;scroll-padding-top:90px}body.page-results{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.012em}body.page-results a{color:inherit;text-decoration:none}
    body.page-results .global-header{position:fixed;z-index:1000;top:14px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 28px));min-height:58px;padding:8px 10px 8px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.91);box-shadow:0 12px 35px rgba(0,0,0,.11);backdrop-filter:saturate(180%) blur(20px)}body.page-results .brand{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:700;white-space:nowrap}body.page-results .brand b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--orange);font-size:.72rem}body.page-results .global-header nav{display:flex;align-items:center;gap:18px}body.page-results .global-header nav>a,
body.page-results .global-header summary{font-size:.78rem;font-weight:650;cursor:pointer;list-style:none;white-space:nowrap}body.page-results .global-header summary::-webkit-details-marker{display:none}body.page-results .global-header details{position:relative}body.page-results .menu{position:absolute;top:34px;left:-18px;min-width:205px;padding:9px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(0,0,0,.14)}body.page-results .menu.right{right:-18px;left:auto}body.page-results .menu a{display:block;padding:10px 12px;border-radius:8px;font-size:.82rem;font-weight:600}body.page-results .menu a:hover{background:#f2f2f2}body.page-results .enter{padding:11px 17px;border-radius:999px;color:#fff;background:#111}
    body.page-results .hero{min-height:720px;padding:170px 32px 70px;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.82)),url("https://roundtherock.co.uk/wp-content/uploads/2026/08/1-1-scaled.jpg") center/cover}body.page-results .wrap{width:min(var(--max),100%);margin:0 auto}body.page-results .eyebrow{display:block;margin-bottom:16px;font-size:.75rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase}body.page-results .hero h1{max-width:1080px;margin:0 0 22px;font-size:clamp(4rem,9vw,8.5rem);line-height:.86;letter-spacing:-.075em}body.page-results .hero p{max-width:720px;margin:0;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.45}body.page-results .hero-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:26px;font-size:.82rem;font-weight:700}
    body.page-results .results{padding:110px 32px;background:var(--soft)}body.page-results .section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}body.page-results .section-head h2{max-width:800px;margin:0;font-size:clamp(2.8rem,5vw,5.2rem);line-height:.94;letter-spacing:-.06em}body.page-results .section-head p{max-width:420px;margin:0;color:var(--muted);line-height:1.55}body.page-results .era-note{margin-bottom:35px;padding:26px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-radius:8px;color:#fff;background:#111}body.page-results .era-note p{max-width:720px;margin:0;color:#d2d2d7;line-height:1.55}body.page-results .era-note a{flex:0 0 auto;padding:12px 18px;border-radius:999px;color:#111;background:#fff;font-size:.84rem;font-weight:700}body.page-results .toolbar{display:flex;align-items:center;gap:12px;margin-bottom:25px}body.page-results .toolbar input{width:min(380px,100%);padding:14px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:.95rem}body.page-results .year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}body.page-results .year-card{min-height:210px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:8px;background:#fff;transition:transform .18s ease,box-shadow .18s ease}body.page-results .year-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(0,0,0,.08)}body.page-results .year-card small{color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}body.page-results .year-card strong{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.06em}body.page-results .year-card span{font-size:.82rem;font-weight:700;text-decoration:underline}body.page-results .year-card.latest{color:#fff;background:#111}body.page-results .year-card.latest small{color:#aaa}body.page-results .year-card[hidden]{display:none}
    body.page-results .hall{padding:110px 32px}body.page-results .hall h2{margin:0 0 16px;font-size:clamp(2.8rem,5vw,5.2rem);line-height:.94;letter-spacing:-.06em}body.page-results .hall p{max-width:700px;margin:0 0 38px;color:var(--muted);font-size:1.08rem;line-height:1.55}body.page-results .hall-frame{height:720px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--soft)}body.page-results .hall-frame iframe{width:100%;height:100%;border:0}body.page-results .footer{padding:42px 32px;color:#fff;background:#111}body.page-results .footer .wrap{display:flex;justify-content:space-between;gap:25px;align-items:center}body.page-results .footer a{text-decoration:underline}
    @media(max-width:800px){body.page-results .global-header{top:8px;width:calc(100% - 16px);min-height:54px;padding:6px 7px 6px 10px}body.page-results .brand span,
body.page-results .global-header nav>a:not(.enter){display:none}body.page-results .global-header nav{gap:12px}body.page-results .enter{padding:10px 13px;font-size:.74rem}body.page-results .menu{position:fixed;top:61px;left:8px!important;right:8px!important;width:auto;min-width:0}body.page-results .menu a{padding:12px}body.page-results .hero{min-height:700px;padding:140px 16px 45px}body.page-results .hero h1{font-size:clamp(3.8rem,19vw,6rem)}body.page-results .results,
body.page-results .hall{padding:78px 16px}body.page-results .section-head,
body.page-results .era-note{align-items:start;flex-direction:column}body.page-results .year-grid{grid-template-columns:1fr 1fr}body.page-results .hall-frame{height:610px}body.page-results .footer{padding:35px 16px}body.page-results .footer .wrap{align-items:flex-start;flex-direction:column}}
    @media(max-width:480px){body.page-results .year-grid{grid-template-columns:1fr}body.page-results .year-card{min-height:170px}}

/* ================================================================
   SITE-WIDE STANDARDISATION
   These final rules make the Theme Control Panel authoritative.
   They deliberately appear after the specialised page sections.
   ================================================================ */
body[class^="page-"],
body[class*=" page-"]{
  color:var(--theme-text);
  background:var(--theme-page-background);
  font-family:var(--theme-font);
  font-size:var(--theme-body-size);
  line-height:var(--theme-body-line-height);
  letter-spacing:var(--theme-letter-spacing);
}

body.page-home,
body.page-race-day .rtr,
body.page-ultra .rtr,
body.page-marathon .rtr,
body.page-half-marathon .rtr{
  --rtr-navy:var(--theme-dark);
  --rtr-navy-dark:var(--theme-darkest);
  --rtr-teal:var(--theme-secondary);
  --rtr-sea:var(--theme-secondary-light);
  --rtr-ink:var(--theme-text);
  --rtr-muted:var(--theme-muted-text);
  --rtr-soft:var(--theme-light-background);
  --rtr-sand:var(--theme-warm-background);
  --rtr-orange:var(--theme-accent);
  --rtr-line:var(--theme-border);
  --rtr-white:var(--theme-page-background);
  --rtr-radius:var(--theme-corners);
  --rtr-max:var(--theme-content-width);
  font-family:var(--theme-font);
  letter-spacing:var(--theme-letter-spacing);
}

body.page-results{
  --ink:var(--theme-text);
  --muted:var(--theme-muted-text);
  --soft:var(--theme-light-background);
  --orange:var(--theme-accent);
  --line:var(--theme-border);
  --max:var(--theme-content-width);
}

body[class^="page-"] h1,
body[class^="page-"] h2,
body[class^="page-"] h3,
body[class*=" page-"] h1,
body[class*=" page-"] h2,
body[class*=" page-"] h3{
  font-family:var(--theme-font);
}

body[class^="page-"] h1,
body[class^="page-"] h2,
body[class*=" page-"] h1,
body[class*=" page-"] h2{
  font-weight:var(--theme-heading-weight);
  letter-spacing:var(--theme-heading-spacing);
}

body[class^="page-"] .rtr-btn,
body[class*=" page-"] .rtr-btn,
.rtr-global-enter,.global-header .enter,.rtr-nav-entry{
  border-radius:var(--theme-button-corners);
}

body.page-ultra .rtr-hero-bg{
  background-image:url("https://roundtherock.co.uk/wp-content/uploads/2026/08/2-1-scaled.jpg");
}
body.page-marathon .rtr-hero-bg{
  background-image:url("https://roundtherock.co.uk/wp-content/uploads/2026/08/1-1-scaled.jpg");
}
body.page-half-marathon .rtr-hero-bg{
  background-image:url("https://roundtherock.co.uk/wp-content/uploads/2026/08/3-1-scaled.jpg");
}
