:root{
  --c-green:#0E3B2E;
  --c-turf:#2F6B3F;
  --c-cream:#F7F3E8;
  --c-paper:#FFFBF2;
  --c-ink:#1B1F23;
  --c-orange:#FA4D00;
  --c-gold:#C9A227;
  --c-line:rgba(14,59,46,.16);
  --c-line-strong:rgba(14,59,46,.32);

  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;

  --z-base:0;--z-dropdown:100;--z-sticky:200;--z-overlay:900;--z-modal:1000;--z-toast:1100;

  --ff-head:'Oswald',Arial Narrow,sans-serif;
  --ff-body:'Source Sans 3',system-ui,sans-serif;

  --header-h:56px;
  --nav-h:60px;
  --measure:780px;
  --radius-sm:6px;
  --radius-md:12px;
  --cookie-h:0px;
}

@media(min-width:30em){
  :root{--header-h:60px;--nav-h:64px}
}
@media(min-width:48em){
  :root{--header-h:68px;--nav-h:68px}
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--ff-body);color:var(--c-ink);background:var(--c-paper);line-height:1.6;font-size:16px;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit;background:none}
ul,ol{margin:0;padding:0}
p{margin:0 0 1em}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--c-gold);outline-offset:2px}

@media(prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
}

.ui-skip{position:absolute;left:8px;top:-60px;background:var(--c-ink);color:var(--c-cream);padding:10px 16px;border-radius:var(--radius-sm);z-index:var(--z-toast);text-decoration:none}
@media(prefers-reduced-motion:no-preference){.ui-skip{transition:top .2s ease}}
.ui-skip:focus{top:8px}

.ui-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--c-green);height:var(--header-h)}
.ui-header-inner{max-width:1100px;margin-inline:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-inline:var(--space-3)}
@media(min-width:30em){.ui-header-inner{padding-inline:var(--space-4)}}
.ui-brand{display:inline-flex;align-items:center;flex:0 0 auto}
.ui-logo{height:22px;width:auto}
@media(min-width:30em){.ui-logo{height:26px}}
@media(min-width:48em){.ui-logo{height:32px}}
.ui-brand--footer .ui-logo{height:30px}
@media(min-width:30em){.ui-brand--footer .ui-logo{height:34px}}

.ui-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:999px;font-family:var(--ff-head);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap}
@media(min-width:30em){.ui-cta{padding:12px 22px;font-size:.84rem}}
@media(prefers-reduced-motion:no-preference){.ui-cta{transition:transform .15s ease,box-shadow .15s ease}}
.ui-cta--primary{background:var(--c-orange);color:var(--c-ink)}
.ui-cta--primary:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(250,77,0,.35)}
.ui-cta--ghost{background:transparent;border-color:var(--c-green);color:var(--c-green)}
.ui-cta--ghost:hover{background:rgba(14,59,46,.06)}
.ui-cta--header{padding:7px 12px;font-size:.66rem;background:var(--c-cream);color:var(--c-green)}
@media(min-width:30em){.ui-cta--header{padding:9px 16px;font-size:.72rem}}
.ui-cta--inline{margin:var(--space-6) 0}
.ui-cta-group{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}

.ui-start-nav{position:sticky;top:var(--header-h);z-index:var(--z-sticky);background:var(--c-cream);border-bottom:1px solid var(--c-line-strong)}
.ui-start-track{display:flex;gap:var(--space-2);overflow-x:auto;scroll-snap-type:x proximity;padding:var(--space-2) var(--space-3);max-width:1100px;margin-inline:auto;scrollbar-width:thin}
.ui-stop{flex:0 0 auto;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 9px;border-radius:var(--radius-sm);text-decoration:none;color:var(--c-green);background:#fff;border:1px solid var(--c-line-strong);min-width:50px}
@media(prefers-reduced-motion:no-preference){.ui-stop{transition:background-color .15s,color .15s,border-color .15s}}
.ui-stop-num{font-family:var(--ff-head);font-weight:700;font-size:.95rem;line-height:1}
.ui-stop-label{font-size:.56rem;text-transform:uppercase;letter-spacing:.03em;opacity:.8}
.ui-stop[aria-current="true"]{background:var(--c-orange);border-color:var(--c-orange);color:var(--c-ink)}
@media(min-width:30em){.ui-stop{min-width:58px;padding:6px 11px}.ui-stop-num{font-size:1.05rem}.ui-stop-label{font-size:.6rem}}
@media(min-width:64em){
  .ui-start-track{overflow-x:visible;flex-wrap:nowrap;justify-content:center;scroll-snap-type:none;padding:var(--space-3) var(--space-4)}
  .ui-stop{min-width:66px}
}

.dp-hero,.dp-card-block,.dp-race{scroll-margin-top:calc(var(--header-h) + var(--nav-h) + 14px)}

.dp-hero{position:relative;background:repeating-linear-gradient(180deg,rgba(255,255,255,.85) 0 2px,transparent 2px 42px),var(--c-cream);padding:clamp(36px,8vw,80px) 0 clamp(44px,9vw,92px);border-bottom:10px solid var(--c-turf)}
.dp-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--c-gold)}
.dp-hero-inner{max-width:var(--measure);margin-inline:auto;padding-inline:var(--space-4)}
.ui-eyebrow{font-family:var(--ff-head);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--c-turf);margin:0 0 .6em}
.dp-hero h1{font-family:var(--ff-head);font-weight:700;text-transform:uppercase;letter-spacing:.005em;font-size:clamp(1.65rem,5vw + .6rem,2.9rem);line-height:1.1;color:var(--c-green);margin:0 0 .6em}
.dp-hero-lead{font-size:1rem;color:var(--c-ink);max-width:62ch;margin:0}
@media(min-width:30em){.dp-hero-lead{font-size:1.05rem}}

.dp-card-block{max-width:var(--measure);margin:0 auto;padding:var(--space-8) var(--space-4)}
.ui-kicker{font-family:var(--ff-head);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;color:var(--c-turf);margin:0 0 var(--space-3);display:flex;align-items:center;gap:8px}
.ui-kicker::before{content:"";width:16px;height:2px;background:var(--c-gold);flex:0 0 auto}

.dp-race{max-width:var(--measure);margin:0 auto;padding:var(--space-12) var(--space-4);border-top:1px solid var(--c-line)}
.dp-card-block+.dp-race{border-top:none}
.dp-race-head{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}
@media(min-width:30em){.dp-race-head{gap:var(--space-4)}}
.ui-start-marker{flex:0 0 auto;width:50px;height:50px;border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(27,31,35,.25)}
@media(min-width:30em){.ui-start-marker{width:64px;height:64px}}
.ui-start-num{width:28px;height:28px;border-radius:50%;background:var(--c-cream);color:var(--c-ink);font-family:var(--ff-head);font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px rgba(27,31,35,.15)}
@media(min-width:30em){.ui-start-num{width:34px;height:34px;font-size:1.1rem}}
.dp-race-headtext{flex:1;min-width:0}
.ui-start-label{display:block;font-family:var(--ff-head);text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;color:var(--c-turf);margin-bottom:3px}
.dp-race h2{font-family:var(--ff-head);font-weight:600;text-transform:uppercase;letter-spacing:.005em;font-size:clamp(1.2rem,2.6vw + .8rem,1.85rem);color:var(--c-ink);margin:0;line-height:1.18}
.dp-race h3{font-family:var(--ff-head);font-weight:600;font-size:1.1rem;color:var(--c-green);margin:var(--space-8) 0 var(--space-3);padding-left:14px;position:relative}
.dp-race h3::before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:4px;background:var(--c-gold)}

[data-stop="1"] .ui-start-marker{background:repeating-linear-gradient(45deg,var(--c-green) 0 9px,var(--c-cream) 9px 18px)}
[data-stop="2"] .ui-start-marker{background:conic-gradient(var(--c-ink) 25%,var(--c-cream) 0 50%,var(--c-ink) 0 75%,var(--c-cream) 0);background-size:14px 14px}
[data-stop="3"] .ui-start-marker{background-color:var(--c-cream);background-image:linear-gradient(45deg,var(--c-turf) 25%,transparent 25%,transparent 75%,var(--c-turf) 75%),linear-gradient(45deg,var(--c-turf) 25%,transparent 25%,transparent 75%,var(--c-turf) 75%);background-size:18px 18px;background-position:0 0,9px 9px}
[data-stop="4"] .ui-start-marker{background:repeating-linear-gradient(0deg,var(--c-ink) 0 7px,var(--c-cream) 7px 14px)}
[data-stop="5"] .ui-start-marker{background:repeating-linear-gradient(45deg,var(--c-ink) 0 9px,var(--c-cream) 9px 18px)}
[data-stop="6"] .ui-start-marker{background:conic-gradient(var(--c-green) 25%,var(--c-cream) 0 50%,var(--c-green) 0 75%,var(--c-cream) 0);background-size:14px 14px}
[data-stop="7"] .ui-start-marker{background-color:var(--c-cream);background-image:linear-gradient(45deg,var(--c-ink) 25%,transparent 25%,transparent 75%,var(--c-ink) 75%),linear-gradient(45deg,var(--c-ink) 25%,transparent 25%,transparent 75%,var(--c-ink) 75%);background-size:18px 18px;background-position:0 0,9px 9px}
[data-stop="8"] .ui-start-marker{background:repeating-linear-gradient(0deg,var(--c-green) 0 7px,var(--c-cream) 7px 14px)}
[data-stop="9"] .ui-start-marker{background:repeating-linear-gradient(45deg,var(--c-turf) 0 9px,var(--c-gold) 9px 18px)}

.dp-list{list-style:none;margin:var(--space-4) 0;padding:0;display:grid;gap:12px}
.dp-list li{position:relative;padding-left:26px}
.dp-list li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;background:var(--c-orange);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:translateY(-50%)}
.dp-list--ol{counter-reset:step}
.dp-list--ol li{padding-left:34px;counter-increment:step}
.dp-list--ol li::before{content:counter(step);clip-path:none;transform:none;top:0;width:22px;height:22px;border-radius:50%;background:var(--c-green);color:#fff;font:700 .75rem/22px var(--ff-head);text-align:center}

.table-wrap{overflow-x:auto}
.dp-table{width:100%;border-collapse:collapse;background:#fff;min-width:100%}
.dp-table thead th{background:var(--c-green);color:var(--c-cream);font-family:var(--ff-head);text-transform:uppercase;letter-spacing:.03em;font-size:.74rem;padding:11px 13px;text-align:left}
.dp-table tbody td{padding:11px 13px;border-bottom:4px double var(--c-line-strong);font-size:.92rem;vertical-align:top}
.dp-table tbody tr:last-child td{border-bottom:none}
.dp-table tbody tr:nth-child(odd){background:rgba(247,243,232,.55)}

@media(max-width:40em){
  .dp-table--kv thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .dp-table--kv tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:4px 10px}
  .dp-table--kv td{display:block;min-width:0;overflow-wrap:anywhere;padding:9px 11px}
  .dp-table--kv td:first-child{font-weight:700;color:var(--c-green);font-family:var(--ff-head);font-size:.76rem;text-transform:uppercase;letter-spacing:.02em}

  .dp-table:not(.dp-table--kv){min-width:0}
  .dp-table:not(.dp-table--kv) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .dp-table:not(.dp-table--kv),.dp-table:not(.dp-table--kv) tbody,.dp-table:not(.dp-table--kv) tr,.dp-table:not(.dp-table--kv) td{display:block}
  .dp-table:not(.dp-table--kv) tr{margin-bottom:12px;border:1px solid var(--c-line-strong);border-radius:10px;overflow:hidden}
  .dp-table:not(.dp-table--kv) tr:nth-child(odd){background:rgba(247,243,232,.55)}
  .dp-table:not(.dp-table--kv) td{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--c-line);text-align:right}
  .dp-table:not(.dp-table--kv) td:last-child{border-bottom:none}
  .dp-table:not(.dp-table--kv) td::before{content:attr(data-label);font-weight:600;color:var(--c-turf);text-align:left}
}

.dp-providers,.dp-payments{margin-top:var(--space-8)}
.ui-provider-list,.ui-payment-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0}
.ui-provider-chip,.ui-payment-chip{background:#fff;border:1px solid var(--c-line-strong);border-radius:10px;padding:8px 14px;display:flex;align-items:center;justify-content:center;min-height:44px}
.ui-provider-chip--dark{background:var(--c-green);border-color:var(--c-green)}
.ui-provider-logo,.ui-payment-logo{height:24px;width:auto;max-width:96px;object-fit:contain}
@media(min-width:30em){.ui-provider-logo,.ui-payment-logo{height:28px;max-width:110px}}
.ui-provider-logo--invert{filter:brightness(0)}

.dp-faq-list{display:grid;gap:var(--space-4);margin-top:var(--space-4)}
.dp-faq-card{position:relative;background:#fff;border:1px solid var(--c-line-strong);border-radius:12px;padding:var(--space-6) var(--space-4) var(--space-4);overflow:hidden}
.dp-faq-card::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:conic-gradient(var(--c-ink) 25%,#fff 0 50%,var(--c-ink) 0 75%,#fff 0);background-size:14px 14px}
.dp-faq-card h4{font-family:var(--ff-head);font-size:1rem;color:var(--c-green);margin:0 0 8px}
.dp-faq-card p{margin:0;color:var(--c-ink)}

.ui-footer{background:var(--c-green);color:var(--c-cream);padding:var(--space-12) var(--space-4) var(--space-8)}
.ui-footer-top{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid rgba(247,243,232,.2)}
.ui-footer-nav{list-style:none;display:flex;flex-wrap:wrap;gap:10px 18px;padding:0;margin:0;max-width:680px}
.ui-footer-nav a{color:var(--c-cream);text-decoration:none;font-size:.88rem;border-bottom:1px solid transparent;padding-bottom:2px}
@media(prefers-reduced-motion:no-preference){.ui-footer-nav a{transition:border-color .15s}}
.ui-footer-nav a:hover,.ui-footer-nav a:focus-visible{border-color:var(--c-gold)}
.ui-disclaimer{max-width:1100px;margin:var(--space-6) auto 0;font-size:.8rem;opacity:.85}
.ui-copy{max-width:1100px;margin:var(--space-2) auto 0;font-size:.8rem;opacity:.7}

.ui-cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:var(--z-toast);background:var(--c-ink);color:#fff;border-radius:12px;padding:14px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 8px 24px rgba(0,0,0,.28)}
@media(prefers-reduced-motion:no-preference){.ui-cookie{transition:opacity .2s ease,visibility .2s ease}}
.ui-cookie p{margin:0;font-size:.88rem}
.ui-cookie-ok{background:var(--c-orange);color:var(--c-ink);border:none;border-radius:999px;padding:9px 20px;font-weight:700;cursor:pointer;flex:0 0 auto}
.ui-cookie.is-soft-hidden{opacity:0;visibility:hidden;pointer-events:none}
@media(min-width:40em){.ui-cookie{left:auto;max-width:420px}}

.ui-top{position:fixed;right:14px;bottom:calc(14px + var(--cookie-h,0px));z-index:var(--z-sticky);width:44px;height:44px;border-radius:50%;background:var(--c-green);color:#fff;border:none;font-size:1.15rem;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.28)}
@media(prefers-reduced-motion:no-preference){.ui-top{transition:bottom .2s ease}}
