html,body{margin:0}
/* Layout concept: a race program. Full-bleed photo plates alternate with bone-paper info sheets;
   diagonal cuts, race-number plates (only where order is real) and a tire-track rule tie it together. */
:root{
  color-scheme: dark;
  --ink:#12100e;        /* near-black charcoal, warm */
  --char:#1d1916;       /* raised charcoal */
  --char-2:#2a2420;     /* charcoal lines/fields */
  --bone:#f2ece3;       /* warm off-white paper */
  --bone-2:#e4dacc;     /* paper shade */
  --mud:#5e3d2b;        /* logo mud brown */
  --mud-lt:#a07b5f;     /* light mud for text on dark */
  --orange:#ff6600;     /* logo orange */
  --orange-ink:#b84400; /* orange for text on bone (4.6:1) */
  --fg:#f2ece3; --fg-2:#c4b8aa; --fg-3:#958879;
  --paper-fg:#1d1916; --paper-fg-2:#54473c;
  --ok:#2f7d4f; --ok-bg:#dcefe2; --warn:#8a5a00; --warn-bg:#fbecc8; --bad:#a3271a; --bad-bg:#f8dcd6; --info:#2d5c8a; --info-bg:#dde8f4;
  --f-display:"Big Shoulders Display","Oswald","Arial Narrow",Impact,sans-serif;
  --f-body:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--s9:112px;
  --r:3px;
  --gutter-l:max(16px, env(safe-area-inset-left, 0px));
  --gutter-r:max(16px, env(safe-area-inset-right, 0px));
  --max:1320px;
  --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:64px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{background:var(--ink);color:var(--fg);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--ink)}
a{color:inherit}
table{color:inherit}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:900;line-height:.92;letter-spacing:.005em;text-transform:uppercase;margin:0;text-wrap:balance}
p{margin:0}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}
.sheet :focus-visible{outline-color:var(--orange-ink)}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--orange);color:var(--ink);padding:12px 16px;font-weight:700}
.skip:focus{left:16px;top:16px}
.wrap{max-width:var(--max);margin-inline:auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font-family:var(--f-mono);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.sheet .eyebrow{color:var(--orange-ink)}
.lede{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--fg-2);max-width:56ch}
.sheet .lede{color:var(--paper-fg-2)}
.mono{font-family:var(--f-mono)}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- prototype strip ---------- */
.proto{background:#2b1a0f;color:#f5d7bf;font-family:var(--f-mono);font-size:12px;letter-spacing:.04em;padding-block:7px;position:relative;z-index:55}
.proto .wrap{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.proto a{color:#ffb27f}
.proto b{color:#ff8a3d;font-weight:600}
@media (max-width:640px){.proto{font-size:11px}.proto .wrap{gap:4px}}

/* ---------- nav ---------- */
.nav{position:fixed;left:0;right:0;top:calc(env(safe-area-inset-top,0px) + var(--proto-h,0px));z-index:50;transition:background .3s,top .3s,box-shadow .3s}
.nav .wrap{display:flex;align-items:center;gap:var(--s5);height:84px;transition:height .3s var(--ease)}
.nav.solid{background:rgba(18,16,14,.96);box-shadow:0 1px 0 rgba(242,236,227,.08)}
.nav.solid{background:rgba(18,16,14,.96)}
.nav.solid .wrap{height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand img{width:72px;height:72px;transition:width .3s,height .3s;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}
.nav.solid .brand img{width:52px;height:52px}
.brand span{font-family:var(--f-display);font-weight:900;font-size:18px;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.nav-links{display:flex;gap:2px;margin-left:auto;list-style:none;padding:0;margin-block:0}
.nav-links a{display:block;padding:10px 12px;font-weight:600;font-size:15px;text-decoration:none;color:var(--fg);border-radius:var(--r)}
.nav-links a:hover{color:var(--orange)}
.nav-links a[aria-current="page"]{color:var(--orange)}
.nav-cta{flex:none}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid rgba(242,236,227,.35);color:var(--fg);font:600 15px var(--f-body);padding:10px 14px;border-radius:var(--r);min-height:44px;cursor:pointer}
@media (max-width:1080px){.nav-links{display:none}.menu-btn{display:inline-flex;align-items:center;gap:8px;margin-left:0}.nav .nav-cta{margin-left:auto}}
@media (max-width:360px){.nav .nav-cta{display:none}.menu-btn{margin-left:auto}}
.mobile-menu{position:fixed;inset:0;z-index:70;background:var(--ink);padding:calc(env(safe-area-inset-top,0px) + 16px) var(--gutter-r) 32px var(--gutter-l);overflow:auto;display:flex;flex-direction:column;gap:var(--s5)}
.mobile-menu header{display:flex;justify-content:space-between;align-items:center}
.mobile-menu ul{list-style:none;padding:0;margin:0;display:grid}
.mobile-menu li a{display:block;padding:12px 0;font-family:var(--f-display);font-weight:900;font-size:40px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--char-2);line-height:1}
.mobile-menu li a:hover{color:var(--orange)}

/* ---------- buttons ---------- */
.btn{--bg:var(--orange);--fgc:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;background:var(--bg);color:var(--fgc);font:800 17px/1 var(--f-display);font-size:20px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid var(--bg);border-radius:var(--r);cursor:pointer;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);transition:transform .15s var(--ease),background .2s,color .2s}
.btn:hover{transform:translateY(-2px);--bg:#ff7a22}
.btn:active{transform:translateY(1px) scale(.98)}
.btn-ghost{--bg:transparent;--fgc:var(--fg);border-color:rgba(242,236,227,.6);clip-path:none}
.btn-ghost:hover{--bg:rgba(242,236,227,.08);border-color:var(--fg)}
.sheet .btn-ghost{--fgc:var(--paper-fg);border-color:var(--paper-fg)}
.sheet .btn-ghost:hover{--bg:rgba(29,25,22,.06)}
.btn-dark{--bg:var(--ink);--fgc:var(--bone)}
.btn-dark:hover{--bg:#2a2420}
.btn-sm{min-height:44px;padding:0 16px;font-size:17px}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--orange);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.sheet .link-arrow{color:var(--orange-ink)}
.link-arrow:hover{gap:12px}
.link-arrow{transition:gap .2s var(--ease)}

/* ---------- views ---------- */
.view{display:block}
.view[hidden]{display:none!important}
main{min-height:60vh;overflow-x:clip}

/* ---------- hero ---------- */
.hero{position:relative;min-height:clamp(600px,92svh,940px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#0d0b0a}
.hero-media{position:absolute;inset:0}
.hero-media img,.hero-media video,.hero-media picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media img,.hero-media video{object-position:62% 40%}
@media (max-width:760px){.hero-media img,.hero-media video{object-position:50% 30%}}
.motion-note{position:absolute;z-index:2;right:calc(var(--gutter-r) + 8px);bottom:80px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,236,227,.7)}
.hero::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(13,11,10,.75) 0%,rgba(13,11,10,0) 22%),linear-gradient(90deg,rgba(13,11,10,.86) 0%,rgba(13,11,10,.55) 38%,rgba(13,11,10,0) 64%),linear-gradient(0deg,rgba(13,11,10,.85) 0%,rgba(13,11,10,0) 42%)}
@media (max-width:760px){.hero::after{background:linear-gradient(0deg,rgba(13,11,10,.94) 0%,rgba(13,11,10,.72) 46%,rgba(13,11,10,.15) 80%)}}
.hero-inner{position:relative;z-index:1;width:100%;padding-block:150px 40px}
.hero h1{font-size:clamp(64px,10.4vw,168px);line-height:.84;max-width:9ch;letter-spacing:-.005em}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hero h1 .ln > span{display:inline-block}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero-copy{margin-top:var(--s5);max-width:46ch;font-size:clamp(17px,1.5vw,20px);color:#e9e0d4}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:var(--s5);font-family:var(--f-mono);font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:#e9e0d4}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}
.hero-meta span::before{content:"";width:8px;height:8px;background:var(--orange);transform:rotate(45deg)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s6);align-items:center}
.watch{display:inline-flex;align-items:center;gap:10px;color:var(--fg);font-weight:700;font-size:15px;text-decoration:none;padding:10px 4px;min-height:44px;background:none;border:0;cursor:pointer;font-family:var(--f-body)}
.watch .disc{width:34px;height:34px;border-radius:50%;border:2px solid var(--fg);display:grid;place-items:center;transition:background .2s,border-color .2s}
.watch:hover .disc{background:var(--orange);border-color:var(--orange)}
.watch svg{width:12px;height:12px;fill:currentColor}
.video-ctl{position:absolute;z-index:2;right:calc(var(--gutter-r) + 8px);bottom:24px}
.hero-stats{position:relative;z-index:1;border-top:1px solid rgba(242,236,227,.18);margin-top:var(--s7)}
.hero-stats ul{list-style:none;margin:0;padding:18px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hero-stats b{display:block;font-family:var(--f-display);font-weight:900;font-size:clamp(34px,4vw,54px);line-height:1;color:var(--fg)}
.hero-stats small{display:block;font-size:13px;color:var(--fg-2);line-height:1.35;margin-top:4px}
@media (max-width:760px){.hero-stats ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- section scaffolds ---------- */
.band{padding-block:var(--s9)}
@media (max-width:760px){.band{padding-block:var(--s8)}}
.sheet{background:var(--bone);color:var(--paper-fg);color-scheme:light}
.cut-top{clip-path:polygon(0 4vw,100% 0,100% 100%,0 100%);margin-top:-4vw;padding-top:calc(var(--s9) + 4vw)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s6) var(--s7);align-items:end;margin-bottom:var(--s7)}
.sec-head h2{font-size:clamp(46px,7vw,104px)}
@media (max-width:860px){.sec-head{grid-template-columns:minmax(0,1fr)}}
.tread{height:34px;background:url("/img/mud/tread-strip.webp") repeat-x center/auto 100%!important;opacity:1;filter:brightness(1.9) saturate(1.1);}
.tread-old{height:18px;background:repeating-linear-gradient(135deg,transparent 0 10px,currentColor 10px 16px,transparent 16px 26px),repeating-linear-gradient(45deg,transparent 0 10px,currentColor 10px 16px,transparent 16px 26px);background-size:26px 9px;background-position:0 0,0 9px;background-repeat:repeat-x;opacity:.16}
.checker{height:12px;background:conic-gradient(var(--fg) 25%,transparent 0 50%,var(--fg) 0 75%,transparent 0) 0 0/12px 12px;opacity:.9}
.sheet .checker{background:conic-gradient(var(--paper-fg) 25%,transparent 0 50%,var(--paper-fg) 0 75%,transparent 0) 0 0/12px 12px}
.plate{display:inline-grid;place-items:center;min-width:56px;height:56px;padding:0 10px;background:var(--orange);color:var(--ink);font-family:var(--f-display);font-weight:900;font-size:34px;line-height:1;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%)}
.sheet .plate{background:var(--ink);color:var(--bone)}
.note{font-size:13.5px;color:var(--fg-3);line-height:1.5}
.sheet .note{color:var(--paper-fg-2)}
.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border:1px solid currentColor;border-radius:2px;line-height:1.2}
.tag-proto{color:#ffb27f}
.sheet .tag-proto{color:var(--orange-ink)}

/* ---------- weekend ---------- */
.weekend-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s5);align-items:start}
.wk-photo-a{grid-column:1 / span 7;grid-row:1 / span 2;position:relative}
.wk-photo-b{grid-column:9 / span 4;grid-row:1;margin-top:var(--s8)}
.wk-list{grid-column:8 / span 5;grid-row:2;align-self:end}
.wk-photo-a img{height:auto;aspect-ratio:4/5;object-fit:cover;width:100%;object-position:58% 50%}
.wk-photo-b img{height:auto;aspect-ratio:1/1;object-fit:cover;width:100%;object-position:50% 40%}
.wk-cap{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--fg);font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px}
.wk-items{list-style:none;padding:0;margin:0;display:grid}
.wk-items li{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:18px 0;border-top:1px solid rgba(29,25,22,.18)}
.wk-items li:last-child{border-bottom:1px solid rgba(29,25,22,.18)}
.wk-items h3{font-size:30px;line-height:1}
.wk-items p{color:var(--paper-fg-2);font-size:16px}
@media (max-width:900px){.weekend-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wk-photo-a{grid-column:1/-1;grid-row:auto}.wk-photo-a img{aspect-ratio:4/3}.wk-photo-b{grid-column:1/-1;grid-row:auto;margin-top:0}.wk-photo-b img{aspect-ratio:16/9}.wk-list{grid-column:1/-1;grid-row:auto}}

.wk-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(180px,17vw,250px);gap:10px}
.wk-tile{position:relative;margin:0;overflow:hidden;background:var(--ink);color:var(--fg);isolation:isolate}
.wk-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);z-index:-2}
.wk-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(11,10,9,.9) 0%,rgba(11,10,9,.45) 38%,rgba(11,10,9,0) 65%)}
.wk-tile:hover img{transform:scale(1.04)}
.wk-tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;display:grid;gap:4px}
.wk-tile h3{font-size:clamp(26px,2.4vw,38px);line-height:.95;color:var(--fg)}
.wk-tile p{font-size:15px;color:#e6dccf;max-width:40ch;line-height:1.4}
.wk-tag{justify-self:start;font-family:var(--f-mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:var(--orange);color:var(--ink);padding:3px 8px;margin-bottom:4px}
.t-a{grid-column:1/span 7;grid-row:span 2}.t-a h3{font-size:clamp(40px,4.4vw,64px)}
.t-b{grid-column:8/span 5;grid-row:span 2}
.t-c{grid-column:1/span 4}.t-d{grid-column:5/span 4}.t-e{grid-column:9/span 4}
.t-f{grid-column:1/-1;grid-row:span 1}
@media (max-width:900px){.wk-bento{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:200px}.wk-tile{grid-column:span 1!important;grid-row:span 1!important}.t-a,.t-f{grid-column:1/-1!important}.t-a{grid-row:span 2!important}}
@media (max-width:560px){.wk-bento{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.wk-tile,.t-a,.t-f{grid-column:1/-1!important;grid-row:auto!important;height:240px}.t-a{height:320px}}
/* ---------- stacked photographic panels ---------- */
.stack{position:relative;background:var(--ink)}
.panel{position:relative;min-height:clamp(560px,100svh,1000px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#0b0a09}
@media (min-width:1024px) and (prefers-reduced-motion:no-preference){.stack.is-sticky .panel{position:sticky;top:0;height:100svh;min-height:600px}}
.panel-media{position:absolute;inset:0;z-index:-1}
.panel-media img,.panel-media video,.panel-media picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.panel-media video{object-position:52% 45%}
.panel .panel-ctl{z-index:4;bottom:24px}
.panel .panel-note{z-index:4;bottom:80px}
@media (max-width:760px){
  .video-ctl,.panel .panel-ctl{top:96px;bottom:auto;min-height:40px;font-size:14px}
  .motion-note,.panel .panel-note{top:108px;bottom:auto;right:calc(var(--gutter-r) + 136px);font-size:10px;max-width:12em;text-align:right;line-height:1.3}
}
@media (max-width:760px){
  .hero .video-ctl{top:auto;bottom:16px}
  .hero .motion-note{top:auto;bottom:24px;right:auto;left:var(--gutter-l);text-align:left}
  .hero-inner{padding-bottom:84px}
}
.panel-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(11,10,9,.82) 0%,rgba(11,10,9,.38) 30%,rgba(11,10,9,0) 58%)}
.panel h2,.panel-copy p{text-shadow:0 2px 18px rgba(0,0,0,.55)}
.panel-dim{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:3}
.panel-inner{width:100%;padding-block:var(--s8)}
.panel-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s6);align-items:end}
@media (max-width:860px){.panel-grid{grid-template-columns:minmax(0,1fr)}}
.panel h2{font-size:clamp(58px,9vw,150px);line-height:.85}
.panel h2 em{font-style:normal;color:var(--orange)}
.panel .kicker{display:flex;align-items:center;gap:14px;margin-bottom:var(--s4)}
.panel-copy{display:grid;gap:var(--s4);max-width:44ch}
.panel-copy p{color:#e6dccf}
.panel-facts{display:flex;flex-wrap:wrap;gap:8px}
.panel-facts span{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;padding:6px 10px;background:rgba(18,16,14,.75);border:1px solid rgba(242,236,227,.2)}
.panel-bw img{filter:grayscale(1) contrast(1.05)}

/* ---------- trails ---------- */
.trail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--s7);align-items:start}
@media (max-width:900px){.trail-grid{grid-template-columns:minmax(0,1fr)}}
.map-card{background:#fff;border:1px solid var(--bone-2);padding:var(--s4);position:relative}
.map-card img{width:100%;height:auto;max-height:820px;object-fit:contain}
.map-card figcaption{font-size:13.5px;color:var(--paper-fg-2);margin-top:var(--s3);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:2px solid var(--paper-fg)}
.facts div{padding:18px 0;border-bottom:1px solid rgba(29,25,22,.18)}
.facts div:nth-child(odd){padding-right:16px}
.facts b{display:block;font-family:var(--f-display);font-weight:900;font-size:44px;line-height:1}
.facts small{color:var(--paper-fg-2);font-size:14.5px}
.cps{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;gap:14px}
.cps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:center}
.cps .plate{font-size:26px;min-width:48px;height:48px}
.cps h3{font-size:24px}
.cps p{font-size:15.5px;color:var(--paper-fg-2)}

/* ---------- stay / camping ---------- */
.stay{position:relative;background:var(--ink)}
.stay-hero{position:relative;height:clamp(380px,62vw,720px);overflow:hidden}
.stay-hero img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.mud-mask{-webkit-mask-image:url("/img/mud/mud-mask-round.png");mask-image:url("/img/mud/mud-mask-round.png");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:50% 55%;mask-position:50% 55%;-webkit-mask-size:var(--mask-size,320%);mask-size:var(--mask-size,320%)}
.stay-title{position:absolute;inset:auto 0 0;padding-bottom:var(--s7);z-index:2}
.stay-title h2{font-size:clamp(58px,9vw,150px);line-height:.85;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.stay-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,16,14,.9),rgba(18,16,14,0) 60%);z-index:1}
.stay-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:var(--s7);padding-block:var(--s8) var(--s9)}
@media (max-width:960px){.stay-body{grid-template-columns:minmax(0,1fr)}}
.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}
@media (max-width:640px){.cols-2{grid-template-columns:minmax(0,1fr)}}
.list-check{list-style:none;padding:0;margin:var(--s3) 0 0;display:grid;gap:10px}
.list-check li{position:relative;padding-left:26px}
.list-check li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:3px;background:var(--orange)}
.sheet .list-check li::before{background:var(--orange-ink)}
.h-sm{font-size:28px;margin-bottom:6px}
.price-card{background:var(--bone);color:var(--paper-fg);padding:var(--s6);position:relative;color-scheme:light;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.price-card .amt{font-family:var(--f-display);font-weight:900;font-size:clamp(84px,9vw,128px);line-height:.8;display:flex;align-items:flex-start;gap:4px}
.price-card .amt sup{font-size:.36em;margin-top:.12em}
.price-card .per{font-family:var(--f-mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-top:12px}
.price-card ul{margin:var(--s5) 0;padding:0;list-style:none;display:grid;gap:8px;font-size:15.5px}
.price-card li{display:flex;gap:10px}
.price-card li::before{content:"";flex:none;width:8px;height:8px;margin-top:.55em;background:var(--orange-ink);transform:rotate(45deg)}
.status-pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:2px}
.status-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.st-open{background:var(--ok-bg);color:var(--ok)}
.st-closed{background:#e9e3da;color:#54473c}
.st-soldout{background:var(--bad-bg);color:var(--bad)}

/* ---------- schedule ---------- */
.tabs{display:flex;gap:0;border-bottom:2px solid var(--paper-fg);flex-wrap:wrap}
.tabs [role=tab]{appearance:none;background:none;border:0;padding:14px 22px;font:900 30px/1 var(--f-display);text-transform:uppercase;color:var(--paper-fg-2);cursor:pointer;position:relative;min-height:56px}
.tabs [role=tab][aria-selected=true]{color:var(--paper-fg)}
.tabs [role=tab][aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:6px;background:var(--orange)}
.tabs [role=tab]:hover{color:var(--paper-fg)}
.sched-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:var(--s4)}
.seg{display:inline-flex;border:1.5px solid var(--paper-fg);border-radius:var(--r);overflow:hidden}
.seg button{background:none;border:0;padding:8px 14px;font:600 14px var(--f-body);color:var(--paper-fg);cursor:pointer;min-height:40px}
.seg button[aria-pressed=true]{background:var(--paper-fg);color:var(--bone)}
.sched{list-style:none;margin:0;padding:0}
.sched > li{border-bottom:1px solid rgba(29,25,22,.18)}
.sched summary{list-style:none;display:grid;grid-template-columns:190px minmax(0,1fr) 28px;gap:16px;align-items:center;padding:18px 0;cursor:pointer}
.sched summary::-webkit-details-marker{display:none}
.sched .time{font-family:var(--f-mono);font-weight:600;font-size:14.5px;letter-spacing:.02em}
.sched .ttl{font-family:var(--f-display);font-weight:900;font-size:clamp(26px,3vw,36px);text-transform:uppercase;line-height:1}
.sched .chev{width:28px;height:28px;border:1.5px solid currentColor;display:grid;place-items:center;transition:transform .2s;font-weight:700}
.sched details[open] .chev{transform:rotate(45deg)}
.sched .body{padding:0 0 20px 206px;display:grid;gap:10px;max-width:calc(206px + 62ch);color:var(--paper-fg-2)}
@media (max-width:640px){.sched summary{grid-template-columns:minmax(0,1fr) 28px}.sched .time{grid-column:1/-1}.sched .body{padding-left:0}}
.sched-table{width:100%;border-collapse:collapse;font-size:15.5px}
.sched-table caption{text-align:left;font-family:var(--f-display);font-weight:900;font-size:28px;text-transform:uppercase;padding:18px 0 8px}
.sched-table th,.sched-table td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid rgba(29,25,22,.18);vertical-align:top}
.sched-table th{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.cal-links{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- community ---------- */
.comm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s7);align-items:center}
@media (max-width:900px){.comm-grid{grid-template-columns:minmax(0,1fr)}}
.comm-photo{position:relative}
.comm-photo img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:55% 45%}
.comm-photo .inset{position:absolute;width:44%;right:-6%;bottom:-10%;border:6px solid var(--ink)}
@media (max-width:900px){.comm-photo .inset{right:0;bottom:-12%;width:46%}}
.comm-photo .inset img{aspect-ratio:16/10;width:100%;height:auto;object-fit:cover}
.big-num{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5);margin-top:var(--s6)}
.big-num b{display:block;font-family:var(--f-display);font-weight:900;font-size:clamp(38px,3.6vw,52px);line-height:1;color:var(--orange)}
.big-num small{display:block;color:var(--fg-2);font-size:14px;line-height:1.35;margin-top:6px}
@media (max-width:520px){.big-num{grid-template-columns:repeat(2,minmax(0,1fr))}}
.recips{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s5);padding:0;list-style:none}
.recips li{font-size:14px;padding:6px 12px;border:1px solid rgba(242,236,227,.25)}

/* ---------- gallery ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s5)}
.chip{appearance:none;border:1.5px solid rgba(242,236,227,.35);background:transparent;color:var(--fg);padding:8px 14px;font:600 14.5px var(--f-body);border-radius:999px;cursor:pointer;min-height:40px}
.chip[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.chip:hover{border-color:var(--fg)}
.sheet .chip{border-color:rgba(29,25,22,.35);color:var(--paper-fg)}
.sheet .chip[aria-pressed=true]{background:var(--paper-fg);color:var(--bone);border-color:var(--paper-fg)}
.masonry{columns:3 300px;column-gap:14px}
.masonry .tile{break-inside:avoid;margin:0 0 14px;display:block;width:100%;padding:0;border:0;background:var(--char);cursor:zoom-in;position:relative;overflow:hidden}
.masonry .tile img{width:100%;height:auto;transition:transform .5s var(--ease)}
.masonry .tile:hover img{transform:scale(1.03)}
.masonry .tile .cap{position:absolute;left:0;bottom:0;right:0;padding:24px 12px 10px;background:linear-gradient(0deg,rgba(11,10,9,.85),transparent);color:var(--fg);font-size:13.5px;text-align:left;opacity:0;transition:opacity .2s}
.masonry .tile:hover .cap,.masonry .tile:focus-visible .cap{opacity:1}
.tile-video{display:grid;place-items:center;aspect-ratio:4/3;background:var(--mud);color:var(--fg);text-decoration:none;text-align:center;padding:24px;break-inside:avoid;margin-bottom:14px}
.tile-video b{font-family:var(--f-display);font-size:34px;text-transform:uppercase;display:block;line-height:1}
.teaser{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(110px,13vw,190px);gap:10px}
.teaser .tile{position:relative;overflow:hidden;border:0;padding:0;background:var(--char);cursor:zoom-in}
.teaser .tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.teaser .tile:hover img{transform:scale(1.04)}
.teaser .t1{grid-column:span 3;grid-row:span 2}.teaser .t2{grid-column:span 3}.teaser .t3{grid-column:span 2}.teaser .t4{grid-column:span 1}.teaser .t5{grid-column:span 2;grid-row:span 1}.teaser .t6{grid-column:span 2}.teaser .t7{grid-column:span 2}
@media (max-width:700px){.teaser{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:140px}.teaser .tile{grid-column:span 1!important;grid-row:span 1!important}.teaser .t1{grid-column:span 2!important;grid-row:span 2!important}}
dialog{border:0;padding:0;color:inherit}
dialog::backdrop{background:rgba(8,7,6,.92)}
.lightbox{background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}
.lb-inner{position:relative;width:100%;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:calc(env(safe-area-inset-top,0px) + 12px) var(--gutter-r) calc(env(safe-area-inset-bottom,0px) + 16px) var(--gutter-l);gap:12px;color:var(--fg)}
.lb-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.lb-stage{display:grid;place-items:center;min-height:0}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain}
.lb-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.icon-btn{appearance:none;background:rgba(242,236,227,.1);border:1px solid rgba(242,236,227,.3);color:var(--fg);min-width:48px;min-height:48px;display:inline-grid;place-items:center;cursor:pointer;font:700 16px var(--f-body);border-radius:var(--r);padding:0 14px}
.icon-btn:hover{background:rgba(242,236,227,.2)}
.sheet .icon-btn{background:transparent;border-color:rgba(29,25,22,.3);color:var(--paper-fg)}

/* ---------- sponsors ---------- */
.tier{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--s5);padding-block:var(--s6);border-top:2px solid var(--paper-fg)}
@media (max-width:760px){.tier{grid-template-columns:minmax(0,1fr)}}
.tier h3{font-size:36px}
.tier .count{font-family:var(--f-mono);font-size:12.5px;color:var(--paper-fg-2);margin-top:6px}
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.tier-platinum .logos{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.tier-gsb .logos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.tier-gsb .logo-slot{aspect-ratio:1/1}
.tier-gsb .logo-slot b{font-size:19px}
.logo-slot{display:grid;place-items:center;text-align:center;aspect-ratio:2/1;background:#fff;border:1px solid var(--bone-2);padding:14px;text-decoration:none;color:var(--paper-fg);position:relative;transition:border-color .2s,transform .2s}
a.logo-slot:hover{border-color:var(--paper-fg);transform:translateY(-2px)}
.logo-slot:has(img){padding:0;overflow:hidden}
.logo-slot img{width:100%;height:100%;object-fit:cover}
.logo-slot b{font-family:var(--f-display);font-weight:800;font-size:22px;text-transform:uppercase;line-height:1.05}
.logo-slot small{position:absolute;left:8px;bottom:6px;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8a7d70}
.tier-empty{color:var(--paper-fg-2);font-size:15px;border:1.5px dashed rgba(29,25,22,.3);padding:18px}

/* ---------- visit / faq ---------- */
.visit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s7)}
@media (max-width:900px){.visit-grid{grid-template-columns:minmax(0,1fr)}}
.loc-card{background:var(--char);padding:var(--s6);display:grid;gap:var(--s4)}
.loc-card .pano{margin:calc(var(--s6) * -1) calc(var(--s6) * -1) 0}
.loc-card .pano img{width:100%;height:auto;aspect-ratio:2.65/1;object-fit:cover}
.contact-rows{display:grid;gap:0}
.contact-rows > div{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--char-2)}
.contact-rows dt{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.contact-rows dd{margin:0;font-weight:700;overflow-wrap:anywhere;user-select:all}
.sheet .contact-rows > div{border-color:rgba(29,25,22,.18)}
.sheet .contact-rows dt{color:var(--paper-fg-2)}
.copy-btn{appearance:none;border:1px solid currentColor;background:none;color:inherit;font:600 13px var(--f-body);padding:6px 10px;border-radius:2px;cursor:pointer;min-height:36px;opacity:.8}
.copy-btn:hover{opacity:1}
.faq{border-top:2px solid var(--fg)}
.sheet .faq{border-color:var(--paper-fg)}
.faq details{border-bottom:1px solid rgba(242,236,227,.18)}
.sheet .faq details{border-color:rgba(29,25,22,.18)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-weight:700;font-size:18px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-display);font-size:30px;line-height:.8;color:var(--orange);transition:transform .2s}
.sheet .faq summary::after{color:var(--orange-ink)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 0 20px;color:var(--fg-2);max-width:62ch;display:grid;gap:10px}
.sheet .faq .a{color:var(--paper-fg-2)}

/* ---------- final cta ---------- */
.final{position:relative;overflow:hidden;isolation:isolate;background:var(--orange);color:var(--ink);color-scheme:light}
.final .wrap{padding-block:var(--s9);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s6);align-items:end}
@media (max-width:860px){.final .wrap{grid-template-columns:minmax(0,1fr)}}
.final h2{font-size:clamp(60px,10vw,170px);line-height:.82}
.final p{font-size:19px;max-width:40ch}
.final .btn{--bg:var(--ink);--fgc:var(--bone)}
.final .btn:hover{--bg:#2a2420}
.final .splat{position:absolute;right:4%;top:-18%;width:min(34%,440px);aspect-ratio:498/1000;background:var(--ink);opacity:.16;z-index:-1;pointer-events:none;transform:rotate(-14deg);-webkit-mask:url("/img/mud/mud-mask-tall.png") center/contain no-repeat;mask:url("/img/mud/mud-mask-tall.png") center/contain no-repeat}

/* ---------- spray overlay, mud burst, tread ---------- */
.spray{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:screen;opacity:.6;pointer-events:none;z-index:0}
.panel .spray{z-index:-1}
.mud-burst{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:screen;pointer-events:none;z-index:3}
.tread-band{height:44px;background:#4d311e url("/img/mud/tread-band.webp") repeat-x center/auto 100%;box-shadow:inset 0 6px 10px -6px rgba(0,0,0,.6),inset 0 -6px 10px -6px rgba(0,0,0,.6)}
@media (max-width:760px){.tread-band{height:32px}}
/* ---------- mud splat accents ---------- */
.splat-acc{position:absolute;pointer-events:none;z-index:0;width:clamp(120px,16vw,230px);height:auto;opacity:.9}
.has-splat{position:relative}
.has-splat > *:not(.splat-acc){position:relative;z-index:1}
.photo-note{position:absolute;z-index:2;top:16px;right:calc(var(--gutter-r) + 8px);margin:0;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(242,236,227,.75);background:rgba(18,16,14,.55);padding:4px 8px}
@media (max-width:760px){.splat-acc{width:110px}}
/* ---------- sponsor marquee ---------- */
.partners-top{background:var(--bone-2);color:var(--paper-fg);color-scheme:light;border-top:1px solid rgba(29,25,22,.12)}
.partners-top .eyebrow,.partners-top .sp-label{color:var(--orange-ink)}
.partners-top .lede{color:var(--paper-fg-2)}
.partners-top .link-arrow{color:var(--orange-ink)}
.partners-top .btn-ghost{--fgc:var(--paper-fg);border-color:var(--paper-fg)}
.sp-rows{display:grid;gap:28px}
.sp-row{display:grid;gap:12px}
.sp-label{font-family:var(--f-mono);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink);padding-left:var(--gutter-l);padding-right:var(--gutter-r);max-width:var(--max);margin:0 auto;width:100%;line-height:1.3}
.marquee{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;gap:14px;padding:0 7px;margin:0;list-style:none;flex:none;animation:sp-scroll var(--dur,40s) linear infinite}
.marquee[data-dir="right"] .marquee-track{animation-direction:reverse}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.sp-rows.paused .marquee-track{animation-play-state:paused}
#spRows.offscreen .marquee-track{animation-play-state:paused}
@keyframes sp-scroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.sp-platinum .logo-slot{width:clamp(220px,24vw,320px)}
.sp-gsb .logo-slot{width:clamp(120px,12vw,160px);aspect-ratio:1/1}
.marquee .logo-slot{flex:none}
@media (prefers-reduced-motion:reduce){.marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.marquee-track{animation:none}.marquee-track[aria-hidden]{display:none}#spPause{display:none}}
/* ---------- video highlights ---------- */
.videos{background:#0b0a09}
.vid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:760px){.vid-grid{grid-template-columns:minmax(0,1fr)}}
.vid-card{display:grid;text-decoration:none;color:var(--fg);background:var(--char)}
.vid-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden}
.vid-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.vid-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,10,9,.55),rgba(11,10,9,.05) 60%)}
.vid-play{position:absolute;z-index:1;right:20px;bottom:20px;width:72px;height:72px;border-radius:50%;background:var(--orange);display:grid;place-items:center;transition:transform .2s var(--ease)}
.vid-play svg{width:30px;height:30px;fill:var(--ink);margin-left:4px}
.vid-card:hover .vid-media img{transform:scale(1.04)}
.vid-card:hover .vid-play{transform:scale(1.08)}
.vid-text{display:grid;gap:6px;padding:18px 20px 22px}
.vid-text b{font-family:var(--f-display);font-weight:900;font-size:clamp(28px,3vw,40px);text-transform:uppercase;line-height:1}
.vid-cta{font-weight:700;color:var(--orange)}
.photo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.photo-row figure{margin:0;aspect-ratio:3/2;overflow:hidden;background:var(--bone-2)}
.photo-row img{width:100%;height:100%;object-fit:cover}
.photo-row figcaption{display:none}
@media (max-width:640px){.photo-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.photo-row figure:first-child{grid-column:1/-1}}
.credit{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s7);align-items:center;margin-top:var(--s8);padding-top:var(--s7);border-top:1px solid var(--char-2)}
@media (max-width:760px){.credit{grid-template-columns:minmax(0,1fr)}}
.credit-photo img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:30% 30%}
.credit-text{display:grid;gap:var(--s4);max-width:58ch}
.credit-text p{color:var(--fg-2);font-size:18px}
.credit-logo{width:min(320px,100%);height:auto;margin-top:8px}
/* ---------- page-change mud wipe ---------- */
.mud-wipe{position:fixed;inset:0;z-index:150;pointer-events:none;background:var(--mud);visibility:hidden;--wipe:0%;-webkit-mask:url("/img/mud/mud-mask-wide.png") 50% 50%/var(--wipe) auto no-repeat;mask:url("/img/mud/mud-mask-wide.png") 50% 50%/var(--wipe) auto no-repeat}
/* ---------- footer ---------- */
footer.site{background:#0b0a09;padding-block:var(--s8) var(--s6);color:var(--fg-2);font-size:15px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:var(--s6)}
@media (max-width:860px){.foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:480px){.foot-grid{grid-template-columns:minmax(0,1fr)}}
.foot-grid h3{font-size:20px;color:var(--fg);margin-bottom:12px;letter-spacing:.04em}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-grid a{text-decoration:none}
.foot-grid a:hover{color:var(--orange)}
.foot-base{margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid var(--char-2);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--fg-3)}


@media (max-width:640px){
  .tabs{flex-wrap:nowrap}
  .tabs [role=tab]{padding:12px 14px;font-size:26px;flex:1 1 0}
  .contact-rows > div{grid-template-columns:minmax(0,1fr) auto}
  .contact-rows dt{grid-column:1/-1}
  .logos,.tier-platinum .logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logo-slot b{font-size:18px}
  .final .splat{display:none}
}
@media (max-width:900px){.comm-photo .inset{display:none}}
/* ---------- interior pages ---------- */
.page-head{position:relative;padding-block:190px var(--s7);overflow:hidden;isolation:isolate;min-height:420px;display:flex;align-items:flex-end}
.page-head img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-head::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(13,11,10,.95) 0%,rgba(13,11,10,.55) 60%,rgba(13,11,10,.35) 100%)}
.page-head h1{font-size:clamp(60px,10vw,150px);line-height:.85}
.page-head .lede{color:#e6dccf;margin-top:var(--s4)}
.page-head.plain{background:var(--char);min-height:0;padding-block:170px var(--s6)}
.page-head.plain::after{display:none}
.prose{max-width:68ch;display:grid;gap:var(--s4)}
.prose h2{font-size:clamp(36px,4.4vw,56px);margin-top:var(--s5)}
.prose h3{font-size:28px;margin-top:var(--s3)}
.prose ul{margin:0;padding-left:20px;display:grid;gap:6px}
.two-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--s7);align-items:start}
@media (max-width:900px){.two-col{grid-template-columns:minmax(0,1fr)}}
.aside-card{background:var(--bone-2);padding:var(--s5);display:grid;gap:var(--s3);position:sticky;top:96px}
@media (max-width:900px){.aside-card{position:static}}
.dark .aside-card{background:var(--char)}
.tbl-wrap{overflow-x:auto;border:1px solid rgba(29,25,22,.18)}
.tbl{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px}
.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid rgba(29,25,22,.14)}
.tbl th{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;background:var(--bone-2)}
.pit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pit-grid figure{margin:0;aspect-ratio:3/2;overflow:hidden;background:var(--bone-2)}
.pit-grid img{width:100%;height:100%;object-fit:cover}
.map-dialog{background:#fff;color:var(--paper-fg);width:min(960px,100vw);max-width:100vw;max-height:100vh;padding:0}
.map-dialog .md-inner{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:100vh;padding:16px;gap:12px}
.map-dialog img{max-height:calc(100vh - 140px);width:auto;margin:0 auto}
.vol-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:8px;height:clamp(360px,42vw,520px)}
.vol-grid figure{margin:0;overflow:hidden;background:var(--bone-2)}
.vol-grid .v-tall{grid-row:span 2}
.vol-grid img{width:100%;height:100%;object-fit:cover}
.vol-grid .v-tall img{object-position:50% 30%}
@media (max-width:560px){.vol-grid{height:auto;grid-template-rows:auto}.vol-grid figure{aspect-ratio:4/3}.vol-grid .v-tall{grid-row:auto;grid-column:1/-1;aspect-ratio:1/1}}
.callout{border-left:0;background:var(--warn-bg);color:#3d2a00;padding:14px 16px;font-size:15px;display:grid;gap:4px}
.callout.info{background:var(--info-bg);color:#16324f}
.callout.ok{background:var(--ok-bg);color:#123d24}
.callout.bad{background:var(--bad-bg);color:#4d120b}

/* ---------- registration ---------- */
.reg{background:var(--bone);color:var(--paper-fg);color-scheme:light;min-height:100vh}
.reg-head{background:var(--ink);color:var(--fg);padding-block:150px var(--s6)}
.reg-head h1{font-size:clamp(52px,7vw,96px)}
.stepper{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;counter-reset:s}
.stepper li{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:4px solid var(--char-2);color:var(--fg-3);font-weight:600;font-size:15px;min-width:0}
.stepper li .n{font-family:var(--f-display);font-weight:900;font-size:26px;line-height:1}
.stepper li[aria-current=step]{border-color:var(--orange);color:var(--fg)}
.stepper li.done{border-color:var(--mud-lt);color:var(--fg-2)}
@media (max-width:640px){.stepper{display:flex}.stepper li{flex:1 1 0;overflow:hidden}.stepper li[aria-current=step]{flex:4 1 0}.stepper li .lbl{display:none}.stepper li[aria-current=step] .lbl{display:inline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
.reg-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s7);padding-block:var(--s7) var(--s9);align-items:start}
@media (max-width:960px){.reg-body{grid-template-columns:minmax(0,1fr)}}
.form-sec{display:grid;gap:var(--s5)}
.form-sec h2{font-size:clamp(36px,4vw,50px)}
fieldset{border:0;padding:0;margin:0;display:grid;gap:var(--s4);min-width:0}
legend{font-family:var(--f-display);font-weight:900;font-size:26px;text-transform:uppercase;padding:0;margin-bottom:var(--s3)}
.field{display:grid;gap:6px;min-width:0}
.field label,.field .lbl{font-weight:700;font-size:15.5px}
.field .hint{font-size:14px;color:var(--paper-fg-2);margin-top:-2px}
.field input,.field select,.field textarea{font:400 17px var(--f-body);color:var(--paper-fg);background:#fff;border:1.5px solid #8f8172;border-radius:var(--r);padding:12px 14px;min-height:50px;width:100%}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--orange-ink);outline-offset:1px;border-color:var(--paper-fg)}
.field [aria-invalid=true]{border-color:var(--bad);border-width:2px;background:#fff8f6}
.err{color:var(--bad);font-weight:700;font-size:14.5px;display:flex;gap:6px;align-items:flex-start}
.err::before{content:"!";flex:none;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--bad);color:#fff;font-size:12px;margin-top:2px}
.row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.row-3{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.7fr);gap:var(--s4);align-items:end}
@media (max-width:640px){.row-2,.row-3{grid-template-columns:minmax(0,1fr)}}
.err-summary{background:var(--bad-bg);border:2px solid var(--bad);padding:16px 18px;color:#4d120b}
.err-summary h2{font-family:var(--f-body);font-size:18px;text-transform:none;font-weight:700;letter-spacing:0;margin-bottom:8px;line-height:1.3}
.err-summary ul{margin:0;padding-left:20px}
.err-summary a{color:#7a1a10;font-weight:700}
.stepnum{display:flex;align-items:stretch;border:1.5px solid #8f8172;border-radius:var(--r);background:#fff;width:fit-content}
.stepnum button{width:50px;min-height:50px;border:0;background:none;font:700 22px var(--f-body);cursor:pointer;color:var(--paper-fg)}
.stepnum button:hover{background:var(--bone-2)}
.stepnum input{width:72px;text-align:center;border:0;border-inline:1.5px solid #c9bcab;border-radius:0;font:700 20px var(--f-body);min-height:50px}
.units{display:grid;gap:12px}
.unit{background:#fff;border:1.5px solid #d6cab9;padding:18px;display:grid;gap:14px}
.unit-h{display:flex;align-items:center;gap:12px}
.unit-h .plate{min-width:40px;height:40px;font-size:24px}
.unit-h h3{font-size:24px}
.radio-row{display:flex;flex-wrap:wrap;gap:8px}
.radio-row label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1.5px solid #8f8172;background:#fff;border-radius:var(--r);cursor:pointer;font-weight:600;min-height:46px}
.radio-row input{width:18px;height:18px;accent-color:var(--orange-ink)}
.radio-row label:has(input:checked){border-color:var(--paper-fg);background:var(--bone-2)}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.check input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--orange-ink)}
.form-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:var(--s5);border-top:1px solid rgba(29,25,22,.18)}
.summary{background:var(--ink);color:var(--fg);padding:var(--s5);display:grid;gap:var(--s4);position:sticky;top:90px;color-scheme:dark}
@media (max-width:960px){.summary{position:static;order:-1}}
.summary h2{font-size:30px}
.sum-lines{display:grid;gap:8px;font-size:15.5px}
.sum-lines div{display:flex;justify-content:space-between;gap:12px}
.sum-lines .total{border-top:1px solid var(--char-2);padding-top:10px;margin-top:4px;font-weight:700;font-size:18px}
.sum-lines .total b{font-family:var(--f-display);font-size:34px;line-height:1}
.review{display:grid;gap:0;border-top:2px solid var(--paper-fg)}
.review > div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 0;border-bottom:1px solid rgba(29,25,22,.18)}
.review dt{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--paper-fg-2);margin-bottom:4px}
.review dd{margin:0}
.edit-link{background:none;border:0;color:var(--orange-ink);font:700 15px var(--f-body);text-decoration:underline;cursor:pointer;padding:6px;align-self:start}
.pay-box{background:#fff;border:1.5px solid #d6cab9;padding:18px;display:grid;gap:14px}
.sq-mock{border:1.5px dashed #8f8172;padding:14px;display:grid;gap:10px;background:#faf8f5}
.sq-mock .fake{height:46px;border:1px solid #c9bcab;background:#fff;border-radius:4px;display:flex;align-items:center;padding:0 12px;color:#8a7d70;font-family:var(--f-mono);font-size:14px}
.hold{display:flex;gap:10px;align-items:center;font-size:14.5px;font-weight:600}
.spinner{width:22px;height:22px;border:3px solid rgba(29,25,22,.2);border-top-color:var(--orange-ink);border-radius:50%;animation:spin .8s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}
.confirm-card{background:#fff;border:2px solid var(--paper-fg);padding:var(--s6);display:grid;gap:var(--s4)}
.confirm-no{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,6vw,64px);line-height:1;letter-spacing:.02em}
.state-panel{max-width:640px;display:grid;gap:var(--s4);padding-block:var(--s7)}

/* ---------- organizer ---------- */
.org{background:#f6f3ee;color:#1d1916;color-scheme:light;min-height:100vh;font-size:15px}
.org-top{background:#1d1916;color:#f2ece3;padding-block:12px;position:sticky;top:env(safe-area-inset-top,0px);z-index:40}
.org-top .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;max-width:1600px}
.org-top img{width:40px;height:40px}
.org-top b{font-family:var(--f-display);font-size:22px;text-transform:uppercase;letter-spacing:.03em}
.org-tabs{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap}
.org-tabs button{background:none;border:0;color:#c4b8aa;font:600 14.5px var(--f-body);padding:10px 12px;cursor:pointer;border-radius:3px;min-height:40px}
.org-tabs button[aria-current=page]{background:#3a332d;color:#fff}
.org .wrap{max-width:1600px}
.org-main{padding-block:24px 64px;display:grid;gap:20px}
.org h1{font-family:var(--f-body);text-transform:none;font-weight:700;font-size:26px;letter-spacing:0;line-height:1.2}
.org h2{font-family:var(--f-body);text-transform:none;font-weight:700;font-size:18px;letter-spacing:0;line-height:1.3}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
@media (max-width:560px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{background:#fff;border:1px solid #e2dbd0;padding:14px 16px}
.kpi small{display:block;color:#5d5248;font-size:13px;font-weight:600}
.kpi b{display:block;font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;margin-top:4px}
.kpi .sub{font-size:12px;color:#7a6e63}
.kpi.primary{border-top:3px solid var(--orange-ink)}
.other-status{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13.5px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;background:#fff;border:1px solid #e2dbd0;padding:12px}
.toolbar .field{gap:4px}
.toolbar .field label{font-size:12.5px;font-weight:700;color:#5d5248}
.toolbar input,.toolbar select{min-height:40px;padding:6px 10px;font-size:15px;border:1.5px solid #9b8e80;border-radius:3px;background:#fff;color:#1d1916;font-family:var(--f-body)}
.toolbar .search{flex:1 1 220px}
.toolbar .search input{width:100%}
.obtn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;background:#fff;border:1.5px solid #1d1916;color:#1d1916;font:700 14px var(--f-body);border-radius:3px;cursor:pointer;text-decoration:none;white-space:nowrap}
.obtn:hover{background:#efe9e1}
.obtn.pri{background:#1d1916;color:#fff}
.obtn.pri:hover{background:#3a332d}
.obtn.sm{min-height:34px;padding:0 10px;font-size:13px}
.obtn[aria-pressed=true]{background:#1d1916;color:#fff}
.otable-wrap{overflow-x:auto;background:#fff;border:1px solid #e2dbd0}
.otable{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.otable th,.otable td{text-align:left;padding:9px 10px;border-bottom:1px solid #eee7dd;white-space:nowrap;vertical-align:middle}
.otable th{background:#faf7f2;font-size:12px;font-weight:700;color:#4a4038;position:sticky;top:0}
.otable th button{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center}
.otable th button:focus-visible{outline:2px solid var(--orange-ink)}
.otable tr.grp-first td{border-top:2px solid #d9cfc2}
.otable td.wrapcell{white-space:normal;min-width:180px}
.otable tbody tr:hover{background:#fbf8f3}
.otable .rowlink{all:unset;cursor:pointer;color:#8a3300;font-weight:700;text-decoration:underline}
.otable .rowlink:focus-visible{outline:2px solid var(--orange-ink)}
.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.6}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.p-paid{background:var(--ok-bg);color:#1e6440}
.p-pending{background:var(--warn-bg);color:#6e4700}
.p-failed{background:var(--bad-bg);color:#8d2015}
.p-refunded{background:#e9e3da;color:#4a4038}
.p-partially_refunded{background:var(--info-bg);color:#24496e}
.p-cancelled{background:#e9e3da;color:#4a4038}
.ci{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border-radius:3px;font:700 12.5px var(--f-body);cursor:pointer;border:1.5px solid #9b8e80;background:#fff;color:#1d1916}
.ci[aria-pressed=true]{background:#1e6440;border-color:#1e6440;color:#fff}
.ci[disabled]{opacity:.45;cursor:not-allowed}
.pager{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;font-size:14px}
.drawer{width:min(720px,100vw);max-width:100vw;height:100vh;max-height:100vh;margin:0 0 0 auto;background:#f6f3ee;color:#1d1916;color-scheme:light}
.drawer-inner{padding:calc(env(safe-area-inset-top,0px) + 20px) max(20px, env(safe-area-inset-right,0px)) 40px 20px;display:grid;gap:18px}
.dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 14px;font-size:14.5px;background:#fff;border:1px solid #e2dbd0;padding:14px}
.dl dt{color:#5d5248;font-weight:700}
.dl dd{margin:0;overflow-wrap:anywhere}
.dl-confirm{background:transparent;border:0;padding:0;grid-template-columns:170px minmax(0,1fr)}
@media (max-width:560px){.dl-confirm{grid-template-columns:minmax(0,1fr);gap:2px 0}.dl-confirm dd{margin-bottom:10px}.confirm-card{padding:20px}}
.audit{list-style:none;margin:0;padding:0;display:grid;gap:0;font-size:13.5px;background:#fff;border:1px solid #e2dbd0}
.audit li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:8px 12px;border-bottom:1px solid #eee7dd}
.audit time{color:#5d5248;font-variant-numeric:tabular-nums}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);transform:translateX(-50%);background:#1d1916;color:#fff;padding:12px 18px;border-radius:4px;font-weight:600;z-index:200;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:calc(100vw - 32px)}
.login{max-width:440px;margin:120px auto;background:#fff;border:1px solid #e2dbd0;padding:28px;display:grid;gap:16px}
.arrival{background:#fff;border:1px solid #e2dbd0;padding:24px}
.arrival table{width:100%;border-collapse:collapse;font-size:14px}
.arrival th,.arrival td{border-bottom:1px solid #ddd;padding:7px 8px;text-align:left;vertical-align:top}
.arrival .box{display:inline-block;width:16px;height:16px;border:1.5px solid #333}
.settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.settings fieldset{background:#fff;border:1px solid #e2dbd0;padding:16px}
.settings legend{font-family:var(--f-body);text-transform:none;font-size:16px;font-weight:700;float:left;width:100%;margin-bottom:10px}
.settings .field input,.settings .field select{min-height:42px;padding:8px 10px;font-size:15px}
.csv-pre{max-height:320px;overflow:auto;background:#1d1916;color:#f2ece3;padding:12px;font:12.5px/1.5 var(--f-mono);white-space:pre}

/* ---------- handoff ---------- */
.handoff .prose{max-width:76ch}
.handoff code{font-family:var(--f-mono);font-size:.9em;background:var(--bone-2);padding:1px 5px}
.handoff pre{font-family:var(--f-mono);font-size:13px;background:var(--ink);color:var(--bone);padding:16px;overflow-x:auto;line-height:1.5;margin:0}
.flag-list{display:grid;gap:10px;list-style:none;padding:0;margin:0}
.flag-list li{background:#fff;border:1px solid var(--bone-2);padding:12px 14px;display:grid;gap:4px}
.flag-list b{font-size:15.5px}

@media print{
  .proto,.nav,footer.site,.org-top,.toolbar,.pager,.no-print,.final{display:none!important}
  body,.org,.reg{background:#fff!important;color:#000!important}
  .arrival{border:0;padding:0}
}

.trail-photo{margin:0;position:relative;overflow:hidden;background:var(--ink)}
.trail-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.trail-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;background:linear-gradient(0deg,rgba(11,10,9,.9),rgba(11,10,9,0));font-size:14px;color:#e6dccf}
@media (max-width:900px){.trail-photo img{aspect-ratio:4/3}}
.stay-intro .lede{max-width:52ch}
.ex-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(200px,18vw,270px);gap:10px}
.ex-card{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:20px;color:var(--fg);text-decoration:none;background:var(--ink)}
.ex-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.ex-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(11,10,9,.92) 0%,rgba(11,10,9,.4) 50%,rgba(11,10,9,.1) 100%);transition:background .3s}
.ex-card:hover img,.ex-card:focus-visible img{transform:scale(1.05)}
.ex-card h3{font-size:clamp(28px,2.6vw,42px);line-height:.95}
.ex-card p{font-size:15px;color:#e6dccf;max-width:38ch;line-height:1.4}
.ex-n{position:absolute;top:16px;left:16px;background:var(--orange);color:var(--on-orange,#12100e);font-family:var(--f-display);font-weight:900;font-size:22px;padding:4px 10px 2px;clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%)}
.ex-a{grid-column:span 5;grid-row:span 2}.ex-b{grid-column:span 4}.ex-c{grid-column:span 3;grid-row:span 2}.ex-d{grid-column:span 4}
.ex-e{grid-column:span 4}.ex-f{grid-column:span 3}.ex-g{grid-column:span 5}
@media (max-width:900px){.ex-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:210px}.ex-card{grid-column:span 1!important;grid-row:span 1!important}.ex-a{grid-column:1/-1!important}}
@media (max-width:560px){.ex-grid{grid-template-columns:minmax(0,1fr)}.ex-card{grid-column:1/-1!important}}
#trails .cps p,#trails .facts small{color:var(--fg-2)}
.reg .lede{color:var(--paper-fg-2)}
.reg .btn-ghost{--fgc:var(--paper-fg);border-color:var(--paper-fg)}
.reg .btn-ghost:hover{--bg:rgba(29,25,22,.06)}
.reg .tag-proto{color:var(--orange-ink)}
.settings{align-items:start}
.settings fieldset{display:grid;gap:12px;align-content:start}
.settings fieldset > .field{margin:0}
.settings .field input,.settings .field select{height:auto}
.settings .fees-set{grid-column:span 2}
@media (max-width:700px){.settings .fees-set{grid-column:auto}}
.page-head > .wrap{width:100%}

/* =====================================================================
   INTERIOR FLAIR — mud splats, tire tracks, reveals and hover life
   ===================================================================== */
/* page headers: slow push-in, text rises, mud thrown on the photo */
.page-head img.bg{will-change:transform}
.fx-hsplat{position:absolute;z-index:0;pointer-events:none;width:clamp(150px,20vw,300px);height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}
.page-head > .wrap{position:relative;z-index:1}
.fx-tread{margin:0}
@media (prefers-reduced-motion:no-preference){
  .page-head img.bg{animation:fxKb 12s cubic-bezier(.2,.6,.2,1) both}
  .page-head .eyebrow,.page-head h1,.page-head .lede{animation:fxRise .8s cubic-bezier(.2,.7,.2,1) both}
  .page-head h1{animation-delay:.08s}.page-head .lede{animation-delay:.2s}
  .fx-hsplat{animation:fxSplat .55s cubic-bezier(.2,1.4,.4,1) both;animation-delay:var(--sd,.35s)}
}
@keyframes fxKb{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes fxRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes fxSplat{from{opacity:0;transform:scale(.2) rotate(var(--sr,0deg))}to{opacity:1;transform:scale(1) rotate(var(--sr,0deg))}}

/* background mud: faint splats and a tire track running through each section */
.fx-host{position:relative;overflow-x:clip}
.fx-host > .wrap{position:relative;z-index:1}
.fx-bg-splat{position:absolute;z-index:0;pointer-events:none;width:clamp(170px,24vw,360px);height:auto;opacity:.11;mix-blend-mode:multiply}
.band:not(.sheet) .fx-bg-splat{opacity:.16;mix-blend-mode:normal;filter:brightness(.9)}
.fx-host::before{content:"";position:absolute;left:-12%;right:-12%;top:var(--track-top,38%);height:clamp(54px,6vw,84px);z-index:0;pointer-events:none;
  background:url("/img/mud/tread-strip.webp") repeat-x center/auto 100%;opacity:.075;transform:rotate(var(--track-rot,-5deg));mix-blend-mode:multiply}
.band:not(.sheet).fx-host::before{opacity:.06;mix-blend-mode:screen;filter:brightness(1.6)}

/* headings get a race stripe */
.prose h2{position:relative}
.prose h2::after{content:"";display:block;width:76px;height:7px;margin-top:14px;background:var(--orange);clip-path:polygon(0 0,100% 0,calc(100% - 7px) 100%,0 100%);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.prose h2.fx-in::after{width:110px}

/* scroll reveal (only when JS and motion are available) */
.fx-js .fx-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--rd,0s),transform .7s cubic-bezier(.2,.7,.2,1) var(--rd,0s)}
.fx-js .fx-reveal.fx-in{opacity:1;transform:none}
@media print{.fx-js .fx-reveal{opacity:1!important;transform:none!important}}

/* hover life */
.aside-card,.loc-card,.pit-grid figure,.vol-grid figure,.trail-photo,.credit,.callout,.prose > figure,.tier{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.aside-card:hover,.loc-card:hover,.pit-grid figure:hover,.vol-grid figure:hover,.trail-photo:hover,.prose > figure:hover{transform:translateY(-6px);box-shadow:0 22px 36px -18px rgba(29,25,22,.55)}
.pit-grid img,.vol-grid img,.prose > figure img,.trail-photo img,.loc-card .pano img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.pit-grid figure:hover img,.vol-grid figure:hover img,.prose > figure:hover img,.trail-photo:hover img,.loc-card:hover .pano img{transform:scale(1.06)}
.prose > figure,.loc-card .pano{overflow:hidden}
a.logo-slot{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
a.logo-slot:hover{transform:translateY(-5px) rotate(-1.2deg);border-color:var(--orange);box-shadow:0 16px 26px -14px rgba(29,25,22,.5)}
.cps li .plate{transition:transform .35s cubic-bezier(.2,1.4,.4,1)}
.cps li:hover .plate{transform:rotate(-8deg) scale(1.14)}
.facts > div{transition:transform .35s}
.facts > div:hover{transform:translateY(-4px)}
.masonry .tile{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.masonry .tile:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:0 20px 32px -16px rgba(0,0,0,.6)}
.sched > li{transition:background .25s,padding .25s}
.sched > li:hover{background:rgba(255,102,0,.06)}
.sched summary:hover .ttl{color:var(--orange-ink)}
.faq details{transition:background .25s}
.faq details:hover{background:rgba(255,102,0,.05)}

/* buttons throw a little mud on hover */
.btn{isolation:isolate;overflow:hidden}
.btn::after{content:"";position:absolute;z-index:-1;width:140%;aspect-ratio:1;left:50%;top:50%;pointer-events:none;
  background:url("/img/mud/splats/splat-3.webp") center/contain no-repeat;opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-25deg);transition:opacity .35s,transform .45s cubic-bezier(.2,1.3,.4,1)}
.btn:hover::after{opacity:.28;transform:translate(-50%,-50%) scale(1) rotate(0)}
.btn{position:relative}

/* tilt cards (pointer-driven) */
[data-tilt]{transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));transition:transform .25s ease-out,box-shadow .3s,border-color .3s}

/* Friday Night Lights entry fees — a race board */
.fee-board{position:relative;background:var(--ink);color:var(--fg);padding:clamp(20px,3vw,32px);overflow:hidden;isolation:isolate;clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%)}
.fee-board::before{content:"";position:absolute;z-index:-1;right:-60px;top:-70px;width:300px;aspect-ratio:1;background:url("/img/mud/splats/splat-5.webp") center/contain no-repeat;opacity:.35}
.fee-board::after{content:"";position:absolute;z-index:-1;left:-10%;right:-10%;bottom:18px;height:46px;background:url("/img/mud/tread-strip.webp") repeat-x center/auto 100%;opacity:.12;filter:brightness(1.8);transform:rotate(-2deg)}
.fb-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.fb-note{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2)}
.fee-cards{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.prose ul.fee-cards{padding-left:0}
.fee-card{position:relative;background:linear-gradient(160deg,#241e19,#16120f);border:1px solid rgba(242,236,227,.14);padding:18px 18px 16px;display:grid;gap:8px;align-content:start;overflow:hidden;isolation:isolate}
.fee-card::before{content:"";position:absolute;z-index:-1;right:-34px;bottom:-40px;width:150px;aspect-ratio:1;background:url("/img/mud/splats/splat-1.webp") center/contain no-repeat;opacity:.18;transform:scale(.7) rotate(15deg);transition:transform .5s cubic-bezier(.2,1.3,.4,1),opacity .4s}
.fee-card:hover{--ty:-8px;border-color:var(--orange);box-shadow:0 22px 34px -16px rgba(0,0,0,.75)}
.fee-card:hover::before{opacity:.5;transform:scale(1.15) rotate(0deg)}
.fc-fee{font-family:var(--f-display);font-weight:900;font-size:clamp(52px,5.4vw,72px);line-height:.85;color:var(--orange);letter-spacing:-.01em}
.fc-name{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:21px;line-height:1.02}
.fc-tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}
/* class lists as race chips */
.prose ul.class-chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.class-chips li{background:#fff;border:1.5px solid var(--paper-fg);padding:8px 12px;font-weight:700;font-size:15px;line-height:1.25;transition:transform .25s cubic-bezier(.2,1.3,.4,1),background .25s,color .25s}
.class-chips li:hover{background:var(--paper-fg);color:var(--bone);transform:translateY(-3px) rotate(-1.5deg)}
@media (prefers-reduced-motion:reduce){
  [data-tilt],.fee-card,.class-chips li,a.logo-slot,.masonry .tile{transform:none!important}
  .btn::after{display:none}
}

/* compact pause controls for videos and the sponsor logos */
.video-ctl,.panel .panel-ctl,#spPause{min-height:30px!important;min-width:0;height:auto;padding:5px 11px;font:600 11.5px/1 var(--f-mono)!important;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;clip-path:none;opacity:.78;transition:opacity .2s,background .2s}
.video-ctl:hover,.video-ctl:focus-visible,#spPause:hover,#spPause:focus-visible{opacity:1}
.video-ctl{background:rgba(18,16,14,.55);border-color:rgba(242,236,227,.35);backdrop-filter:none}
#spPause{transform:none!important}
#spPause::after{display:none}
@media (max-width:700px){.fx-hsplat{width:110px;opacity:.9}}

/* pause / play controls as round icon buttons, matching "Watch the Action" */
.video-ctl,.panel .panel-ctl,#spPause{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;border-radius:50%!important;
  border:2px solid var(--fg)!important;background:rgba(18,16,14,.4)!important;font-size:0!important;line-height:0!important;color:transparent!important;letter-spacing:0;display:inline-grid!important;place-items:center;opacity:.9;clip-path:none!important;transition:background .2s,border-color .2s,opacity .2s}
.video-ctl[hidden],.panel .panel-ctl[hidden]{display:none!important}
.video-ctl::before,.panel .panel-ctl::before,#spPause::before{content:"";width:12px;height:13px;background:linear-gradient(90deg,var(--fg) 0 34%,transparent 34% 66%,var(--fg) 66%)}
.video-ctl[aria-pressed="true"]::before,.panel .panel-ctl[aria-pressed="true"]::before,#spPause[aria-pressed="true"]::before{width:11px;margin-left:3px;background:var(--fg);clip-path:polygon(0 0,100% 50%,0 100%)}
.video-ctl:hover,.video-ctl:focus-visible,.panel .panel-ctl:hover{background:var(--orange)!important;border-color:var(--orange)!important;opacity:1}
.video-ctl:hover::before,.video-ctl:focus-visible::before{background:linear-gradient(90deg,var(--ink) 0 34%,transparent 34% 66%,var(--ink) 66%)}
.video-ctl[aria-pressed="true"]:hover::before,.video-ctl[aria-pressed="true"]:focus-visible::before{background:var(--ink)}
#spPause{border-color:var(--paper-fg)!important;background:transparent!important}
#spPause::before{background:linear-gradient(90deg,var(--paper-fg) 0 34%,transparent 34% 66%,var(--paper-fg) 66%)}
#spPause[aria-pressed="true"]::before{background:var(--paper-fg)}
#spPause:hover,#spPause:focus-visible{background:var(--orange)!important;border-color:var(--orange)!important;opacity:1}
/* centre the pause/play icon exactly */
.video-ctl::before,.panel .panel-ctl::before,#spPause::before{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0!important}
.video-ctl[aria-pressed="true"]::before,.panel .panel-ctl[aria-pressed="true"]::before,#spPause[aria-pressed="true"]::before{transform:translate(-38%,-50%)}

/* The Weekend tiles that link to a page: the whole photo is clickable */
.wk-link{color:inherit;text-decoration:none}
.wk-link::after{content:"";position:absolute;inset:0;z-index:2}
.wk-link:focus-visible{outline:none}
.wk-tile:has(.wk-link:focus-visible){outline:3px solid var(--orange);outline-offset:3px}
.wk-tile:has(.wk-link){cursor:pointer}
.wk-go{display:inline-block;margin-left:10px;color:var(--orange);transform:translateX(-6px);opacity:0;transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1)}
.wk-tile:hover .wk-go,.wk-link:focus-visible .wk-go{opacity:1;transform:none}
@media (hover:none){.wk-go{opacity:1;transform:none}}

/* Derby Info: class headings breathe; right-hand panel holds two cards */
.row-2 h3 + .class-chips{margin-top:16px}
.aside-stack{display:grid;gap:16px;align-content:start;align-self:start}
.aside-stack .aside-card{position:static}
.pit-rules .rule-list{margin:0;padding-left:18px;display:grid;gap:8px;font-size:15.5px}
.wk-tile{display:flex;flex-direction:column;justify-content:flex-end}
.wk-tile figcaption{position:static}
.danger-zone{border:1.5px solid #e2b8b1;background:#fdf3f1;padding:10px 14px;margin-top:8px}
.danger-zone summary{cursor:pointer;font-weight:700;color:#a3261b;font-size:15px}

/* ---------- organizer: derby look ---------- */
.org{background:#efe7dc;font-size:15px}
.org-eyebrow{font-family:var(--f-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin:0}
/* top bar */
.org-top{background:var(--ink);padding-block:10px;border-bottom:4px solid var(--orange);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.org-top::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:10px;background:url("/img/mud/tread-strip.webp") center/auto 100% repeat-x;opacity:.22;pointer-events:none}
.org-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--bone)}
.org-brand img{width:48px;height:48px;transition:transform .35s var(--ease)}
.org-brand:hover img{transform:rotate(-8deg) scale(1.06)}
.org-brand > span{display:grid;line-height:1}
.org-kick{font-family:var(--f-mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.org-top .org-brand b{font-family:var(--f-display);font-weight:900;font-size:30px;letter-spacing:.02em;text-transform:uppercase;margin-top:3px}
.org-test{color:#ffb27f}
.org-tabs{gap:4px}
.org-tabs button{position:relative;font:800 17px/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2);padding:12px 14px;border-radius:0;transition:color .2s}
.org-tabs button::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.org-tabs button:hover{color:var(--bone)}
.org-tabs button[aria-current=page]{background:none;color:var(--bone)}
.org-tabs button[aria-current=page]::after,.org-tabs button:hover::after{transform:scaleX(1)}
.org-pub{color:var(--fg-2);font-size:14px;font-weight:700;text-decoration:none}
.org-pub:hover{color:var(--orange)}
.org .obtn.org-out{background:transparent;color:var(--bone);border-color:#6d6258}
.org .obtn.org-out:hover{border-color:var(--orange);color:var(--orange);background:transparent}
.org-main{padding-block:30px 72px;gap:22px}
/* page head: photo plate with a diagonal cut */
.org-head{position:relative;isolation:isolate;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;
  padding:42px 30px 30px;min-height:190px;color:var(--bone);background:var(--ink);clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%);border-left:8px solid var(--orange)}
.org-head::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--head) center 40%/cover no-repeat;filter:saturate(1.05);transform:scale(1.04);transition:transform 6s ease-out}
.org-head:hover::before{transform:scale(1.08)}
.org-head::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,16,14,.94) 0%,rgba(18,16,14,.8) 45%,rgba(18,16,14,.45) 100%)}
.org .org-head h1{font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:clamp(40px,5.5vw,68px);line-height:.9;letter-spacing:.005em;margin:6px 0 8px;color:var(--bone)}
.org-lede{color:#d9cfc2;font-size:15px;max-width:62ch}
.org-head .obtn{background:transparent;color:var(--bone);border-color:rgba(242,236,227,.55)}
.org-head .obtn:hover{background:rgba(242,236,227,.1);border-color:var(--bone)}
.org-head .obtn.pri{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.org-head .obtn.pri:hover{background:#ff7a22}
/* buttons */
.org .obtn,.drawer .obtn{font:800 15.5px/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;transition:transform .15s var(--ease),background .15s,border-color .15s,color .15s}
.org .obtn:hover:not([disabled]),.drawer .obtn:hover:not([disabled]){transform:translateY(-1px)}
.org .obtn:active:not([disabled]),.drawer .obtn:active:not([disabled]){transform:translateY(1px)}
.org .obtn.pri,.drawer .obtn.pri{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.org .obtn.pri:hover,.drawer .obtn.pri:hover{background:#ff7a22;border-color:#ff7a22}
.org .obtn.sm,.drawer .obtn.sm{font-size:14px}
.org .obtn[disabled],.drawer .obtn[disabled]{opacity:.45;cursor:not-allowed}
.org .seg{border-color:var(--ink)!important;border-radius:2px}
.org .seg button{font:800 15px/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;padding:11px 16px}
.org .seg button[aria-pressed=true]{background:var(--ink)}
/* KPIs */
.org .kpi{position:relative;overflow:hidden;background:#fff;border:0;border-top:4px solid var(--ink);padding:16px 18px 18px;box-shadow:0 1px 0 rgba(29,25,22,.08);transition:transform .2s var(--ease),box-shadow .2s}
.org .kpi:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(29,25,22,.12)}
.org .kpi small{font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#6d6056}
.org .kpi b{font-family:var(--f-display);font-weight:900;font-size:56px;line-height:.95;margin-top:8px;color:var(--ink)}
.org .kpi .sub{display:block;margin-top:4px;font-size:12.5px;color:#7a6e63}
.org .kpi.primary{background:var(--ink);border-top-color:var(--orange);color:var(--bone)}
.org .kpi.primary::after{content:"";position:absolute;right:-26px;top:-20px;width:120px;height:120px;background:var(--orange);opacity:.07;-webkit-mask:url("/img/mud/mud-mask-round.png") center/contain no-repeat;mask:url("/img/mud/mud-mask-round.png") center/contain no-repeat;pointer-events:none}
.org .kpi.primary small{color:var(--fg-2)}
.org .kpi.primary b{color:var(--orange)}
.org .kpi.primary .sub{color:var(--fg-3)}
/* filters */
.org .toolbar{border:0;border-top:4px solid var(--ink);padding:14px 16px;box-shadow:0 1px 0 rgba(29,25,22,.08)}
.org .toolbar .field label{font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#6d6056}
.org .toolbar input,.org .toolbar select{border-color:#b9ab9b;border-radius:2px}
.org .toolbar input:focus,.org .toolbar select:focus{outline:3px solid var(--orange);outline-offset:1px;border-color:var(--ink)}
/* tables */
.otable-wrap{border:0;box-shadow:0 1px 0 rgba(29,25,22,.08)}
.otable th{background:var(--ink);color:var(--bone);font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:12px 10px;border-bottom:3px solid var(--orange)}
.otable th button span{color:var(--orange)}
.otable tbody tr{transition:background .15s}
.otable tbody tr:hover{background:#fff3e8}
.otable tbody tr:hover td:first-child{box-shadow:inset 4px 0 0 var(--orange)}
.otable tr.grp-first td{border-top-color:#e4d8c8}
.otable .rowlink{color:var(--orange-ink);font-family:var(--f-mono);font-size:13.5px;font-weight:600;text-decoration:none;border-bottom:2px solid rgba(184,68,0,.35)}
.otable .rowlink:hover{border-bottom-color:var(--orange-ink)}
.org .pager{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:#5d5248}
/* section headings */
.org h2,.drawer h2{font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:26px;line-height:1;letter-spacing:.01em}
.drawer-inner > h2{display:flex;align-items:center;gap:10px;margin-top:6px}
.drawer-inner > h2::before{content:"";width:22px;height:6px;background:var(--orange);flex:none}
/* booking drawer */
.drawer{background:#efe7dc}
.drawer::backdrop{background:rgba(18,16,14,.6)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:calc(-1 * (env(safe-area-inset-top,0px) + 20px)) -20px 0 -20px;padding:calc(env(safe-area-inset-top,0px) + 26px) 20px 22px;background:var(--ink);color:var(--bone);border-bottom:4px solid var(--orange)}
.drawer-head h2{font-size:34px;color:var(--bone);margin-top:4px}
.drawer-head .obtn{background:transparent;color:var(--bone);border-color:rgba(242,236,227,.55)}
.drawer-head .obtn:hover{border-color:var(--orange);color:var(--orange)}
.drawer .dl,.drawer .audit{border:0;border-top:4px solid var(--ink)}
.drawer .dl dt{font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#6d6056;padding-top:3px}
/* settings */
.org .settings fieldset{border:0;border-top:4px solid var(--orange);box-shadow:0 1px 0 rgba(29,25,22,.08);padding:18px;transition:box-shadow .2s}
.org .settings fieldset:focus-within{box-shadow:0 10px 24px rgba(29,25,22,.12)}
.org .settings legend{font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:24px;line-height:1;letter-spacing:.01em;margin-bottom:14px}
.org .settings .field label{font-size:14.5px}
.org .arrival{border:0;border-top:4px solid var(--ink)}
/* sign-in */
.org.org-signin{position:relative;isolation:isolate;display:flex;align-items:center;padding:40px 0;background:var(--ink)}
.org.org-signin::before{content:"";position:fixed;inset:0;z-index:-2;background:url("/img/fnl-red-1600.webp") center/cover no-repeat}
.org.org-signin::after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,16,14,.72),rgba(18,16,14,.9))}
.org-signin > .wrap{width:100%}
.org-signin .login{margin:0 auto;border:0;padding:0 28px 28px;box-shadow:0 30px 80px rgba(0,0,0,.5);clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%)}
.login-head{display:flex;align-items:center;gap:14px;margin:0 -28px 6px;padding:22px 28px;background:var(--ink);color:var(--bone);border-bottom:4px solid var(--orange)}
.login-head img{width:84px;height:84px;flex:none}
.org .login-head h1{font-family:var(--f-display);font-weight:900;text-transform:uppercase;font-size:38px;line-height:.92;color:var(--bone);margin-top:4px}
.org-signin .login .obtn.pri{min-height:52px!important;font-size:18px}
.org-signin .login a{color:var(--orange-ink)!important}
@media (max-width:760px){
  .org-top .wrap{gap:10px}
  .org-tabs{margin-left:0;width:100%;order:5;overflow-x:auto;flex-wrap:nowrap}
  .org-tabs button{font-size:15px;padding:10px 10px;white-space:nowrap}
  .org-top .org-brand b{font-size:24px}
  .org-brand{margin-right:auto}.org-brand img{width:40px;height:40px}
  .org-head{padding:30px 18px 24px;min-height:0}
  .org .kpi b{font-size:44px}
  .drawer-head h2{font-size:28px}
  .login-head{gap:10px}.login-head img{width:64px;height:64px}.org .login-head h1{font-size:30px}
}
@media (max-width:480px){.org-pub{display:none}.org-test{order:6}}
@media (prefers-reduced-motion:reduce){.org-head::before{transition:none}.org .kpi:hover{transform:none}}

/* ---------- cookie notice ---------- */
.cookie-note{position:fixed;left:0;right:0;bottom:0;z-index:150;padding:0 var(--gutter-r) calc(env(safe-area-inset-bottom,0px) + 16px) var(--gutter-l);pointer-events:none;transform:translateY(110%);transition:transform .45s var(--ease)}
.cookie-note.show{transform:none}
.cookie-inner{pointer-events:auto;max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:24px;background:var(--ink);color:var(--fg);border-top:4px solid var(--orange);padding:20px 24px;box-shadow:0 20px 60px rgba(0,0,0,.55);clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%)}
.cookie-text{display:grid;gap:6px}
.cookie-text p:last-child{font-size:14.5px;line-height:1.55;color:var(--fg-2)}
.cookie-text a{color:var(--orange);font-weight:700}
.cookie-inner .btn{flex:none;min-width:150px}
@media (max-width:700px){.cookie-inner{flex-direction:column;align-items:stretch;gap:14px;padding:18px}.cookie-text p:last-child{font-size:14px}}
@media (prefers-reduced-motion:reduce){.cookie-note{transition:none}}
@media print{.cookie-note{display:none!important}}

/* ---------- icons ---------- */
.ico{display:inline-block;flex:none;width:1.3em;height:1.3em;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;vertical-align:-.25em}
.ico-fb{--i:url("/img/icons/facebook.png")}
.ico-ig{--i:url("/img/icons/instagram.png")}
.ico-phone{--i:url("/img/icons/phone.svg")}
.ico-email{--i:url("/img/icons/email.svg")}
.soc-row{display:flex!important;gap:10px;align-items:center;flex-wrap:wrap}
.soc{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:inherit;transition:color .2s,transform .2s var(--ease)}
.soc .ico{width:30px;height:30px}
.soc:hover{color:var(--orange);transform:translateY(-3px) rotate(-4deg)}
.soc-lg{width:56px;height:56px;color:var(--fg)}
.soc-lg .ico{width:44px;height:44px}
footer.site .soc-row{margin-top:4px;margin-left:-7px}
.contact-rows dd{display:flex;align-items:center;gap:12px}
.contact-rows dd.soc-row{margin-left:-7px;gap:6px}
.c-ico{width:30px;height:30px;color:var(--orange)}
.sheet .c-ico{color:var(--orange-ink)}
.contact-rows dd a{white-space:nowrap}
@media (max-width:560px){.contact-rows dd{font-size:15px;gap:10px}.c-ico{width:26px;height:26px}.contact-rows .copy-btn{padding-inline:8px}}
