/* ==========================================================================
   OAK TREE — RELAUNCH branch. Extends journey.css (loaded first).
   v2 · SMOKED GLASS. One panel device for the whole branch: warm dark glass,
   hairline edges, amber keys — so copy layers over the vignetted photography
   instead of fighting it. Cream is reserved for the printed flyers themselves.
   ========================================================================== */
:root{
  --glass:linear-gradient(155deg,rgba(46,41,33,.86),rgba(20,18,15,.84));
  --glass-2:linear-gradient(155deg,rgba(34,30,24,.92),rgba(15,13,11,.9));
  --edge:rgba(244,239,230,.16);
  --edge-lit:rgba(244,239,230,.34);
  --amber:#ffd9a8;
  --peach:#ffb98a;
  --on-dark:rgba(244,239,230,.82);
  --umber:#221d17;
  --umber-deep:#191612;
}

/* ---------- dark page base ---------- */
body.dark{background:var(--ink);color:var(--bone);}
body.dark .bar.solid{background:rgba(18,16,13,.9);color:var(--bone);border-bottom-color:rgba(244,239,230,.16);}
body.dark .bar.solid .barbtn.fill{background:var(--clay);border-color:var(--clay);color:#fff;}
body.dark .lede{color:var(--on-dark);}
body.dark .kicker{color:var(--amber);}
body.dark .disp em,body.dark .h2 em{color:var(--peach);}
body.dark .chip{border-color:rgba(244,239,230,.3);color:var(--bone);}
body.dark .chip:hover{border-color:var(--bone);}
body.dark .chip.solid{background:var(--bone);border-color:var(--bone);color:var(--ink);}
body.dark .btn{border-color:rgba(244,239,230,.5);color:var(--bone);}
body.dark .btn:hover{border-color:var(--bone);background:rgba(244,239,230,.1);}
body.dark .btn.fill{background:var(--clay);border-color:var(--clay);color:#fff;}
body.dark .btn.fill:hover{background:var(--clay-deep);border-color:var(--clay-deep);}
body.dark .toast{border:1px solid var(--edge);}

/* ---------- the panel: smoked glass, layered over a photograph ---------- */
.panel{position:relative;background:var(--glass);color:var(--bone);-webkit-backdrop-filter:blur(9px) saturate(1.05);backdrop-filter:blur(9px) saturate(1.05);padding:clamp(24px,3.4vw,44px);border:1px solid var(--edge);border-top-color:var(--edge-lit);box-shadow:0 30px 60px -26px rgba(6,5,4,.92),inset 0 1px 0 rgba(255,255,255,.05);}
.panel::before{content:"";position:absolute;inset:7px;border:1px solid rgba(244,239,230,.09);pointer-events:none;}
.panel::after{content:"";position:absolute;inset:0;z-index:-1;transform:translate(11px,11px);background:rgba(10,9,7,.55);border:1px solid rgba(244,239,230,.07);}
.panel.stack{isolation:isolate;}
.panel .kicker{display:block;margin-bottom:12px;color:var(--amber);}
.panel > .h2{margin-bottom:12px;color:var(--bone);}

/* reserve modal: same smoked glass as the banner booking forms */
.modal .veil{background:rgba(10,9,7,.6);}
.modal .panel{background:linear-gradient(180deg,rgba(36,31,25,.97),rgba(20,17,14,.99));color:var(--bone);border:1px solid var(--edge);border-top-color:var(--edge-lit);border-radius:0;}
.modal .panel::after{content:none;}
.modal .panel .field label{color:var(--amber);}
.modal .panel .small,.modal .panel .lede{color:rgba(244,239,230,.78);}
.modal .x{border-color:rgba(244,239,230,.4);color:var(--bone);}
.modal .x:hover{border-color:var(--amber);}
.modal .seatbar .track{background:rgba(244,239,230,.16);border-color:rgba(244,239,230,.2);}
.modal .seatbar .lab{color:rgba(244,239,230,.75);}
.modal .payload{background:rgba(10,9,7,.55);border:1px solid var(--edge);}
.modal .btn.ghost{border-color:rgba(244,239,230,.45);color:var(--bone);}
.modal .btn.ghost:hover{border-color:var(--bone);}

/* ---------- full-span expanding banner: cream paper between the dark bands ---------- */
.bsec{position:relative;background:var(--bone);color:var(--ink);border-top:1px solid rgba(28,26,22,.16);border-bottom:1px solid rgba(28,26,22,.12);}
.bsec-in{position:relative;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.bsec-btn{position:relative;width:100%;display:grid;grid-template-columns:1fr auto auto;gap:clamp(16px,2.6vw,38px);align-items:center;text-align:left;color:var(--ink);background:none;border:0;padding:clamp(20px,2.4vw,32px) 0;cursor:pointer;}
.bsec-btn::before{content:"";position:absolute;left:calc(var(--pad) * -1);right:calc(var(--pad) * -1);top:0;bottom:0;background:radial-gradient(72% 130% at 16% 50%,rgba(200,97,47,.09),transparent 72%);opacity:0;transition:opacity .4s ease;pointer-events:none;}
.bsec-btn:hover::before{opacity:1;}
.bsec-btn .kicker{display:block;margin-bottom:10px;}
.bsec-btn .bh{display:block;font-family:var(--display);font-weight:200;font-size:clamp(25px,3vw,40px);line-height:1;letter-spacing:-.02em;color:var(--ink);}
.bsec-btn .bh em{font-style:italic;color:var(--clay);}
.bsec-btn .bsub{display:block;font-size:14.5px;color:var(--ink-soft);margin-top:9px;max-width:62ch;text-wrap:pretty;}
.bstat{font-family:var(--mono);font-size:12px;color:var(--clay-deep);text-align:right;line-height:1.6;white-space:nowrap;}
.bstat b{display:block;font-family:var(--sans);font-weight:800;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);}
.plusbig{width:42px;height:42px;border-radius:50%;border:1px solid rgba(28,26,22,.34);display:grid;place-items:center;font-size:20px;line-height:0;color:var(--ink);transition:transform .4s cubic-bezier(.2,.7,.2,1),background .25s ease,color .25s ease,border-color .25s ease;}
.bsec-btn:hover .plusbig{border-color:var(--clay);}
.bsec-btn[aria-expanded="true"] .plusbig{transform:rotate(135deg);background:var(--clay);border-color:var(--clay);color:#fff;}
@media (max-width:760px){.bsec-btn{grid-template-columns:1fr auto;}.bstat{display:none;}}
.bsec-more{overflow:hidden;max-height:0;opacity:0;transition:max-height .6s cubic-bezier(.2,.7,.2,1),opacity .4s ease;}
.bsec-more.open{max-height:2600px;opacity:1;}
/* the expansion steps down to bone-2 — see the .cream theme at the foot of this file */
.bsec-more-in{background:var(--bone-2);border-top:1px solid rgba(28,26,22,.14);box-shadow:inset 0 14px 30px -26px rgba(28,20,10,.4);}
.bsec-more-w{max-width:var(--maxw);margin:0 auto;padding:clamp(26px,3vw,42px) var(--pad) clamp(30px,3.6vw,52px);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,34px);}
@media (max-width:820px){.steps{grid-template-columns:1fr;}}
.step{border-top:1.5px solid rgba(244,239,230,.5);padding-top:16px;}
.step .sn{font-family:var(--serif);font-size:34px;font-weight:300;line-height:1;color:var(--amber);display:block;margin-bottom:10px;}
.step h4{font-family:var(--serif);font-weight:500;font-size:21px;letter-spacing:-.01em;margin-bottom:8px;color:var(--bone);}
.step p{font-size:14.5px;color:rgba(244,239,230,.74);text-wrap:pretty;}
.step .stag{display:inline-block;margin-top:12px;font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);text-decoration:none;border-bottom:1px solid rgba(255,217,168,.55);}
.step .stag:hover{color:#fff;border-bottom-color:#fff;}
.first-foot{margin-top:clamp(26px,3.2vw,38px);padding-top:22px;border-top:1px solid rgba(244,239,230,.18);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;}
.first-foot .aside-warm{max-width:52ch;color:rgba(244,239,230,.8);}
.first-foot .btn{white-space:nowrap;}

/* ---------- 03 · the notebook: four ranges as diagonal tabs ---------- */
.tabs-sec{position:relative;height:86svh;min-height:540px;overflow:hidden;background:var(--ink);}
.tabs-head{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:22px var(--pad);color:var(--bone);pointer-events:none;}
.tabs-head .kicker{color:var(--amber);}
.tabs-head a{pointer-events:auto;font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--bone);opacity:.8;text-decoration:none;}
.tabs-head a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px;}
.tabs{position:absolute;inset:0;display:flex;transform:skewX(-7deg);margin:0 -7vw;}
.rtab{position:relative;flex:1;overflow:hidden;cursor:pointer;padding:0;border:0;background:var(--ink);border-left:1.5px solid rgba(244,239,230,.22);transition:flex .65s cubic-bezier(.3,.7,.2,1);color:var(--bone);text-align:left;}
.rtab:first-child{border-left:0;}
.rtab .bgi{position:absolute;inset:-4% -34%;background-size:cover;background-position:center;transform:skewX(7deg);filter:brightness(.4) saturate(.88);transition:filter .5s ease,transform .65s cubic-bezier(.3,.7,.2,1);}
.rtab.on{flex:4.4;}
.rtab.on .bgi{filter:brightness(.72) saturate(1);}
.rtab:not(.on):hover .bgi{filter:brightness(.55);}
.edge-label{position:absolute;left:clamp(22px,2.2vw,38px);top:34px;z-index:5;transform:skewX(7deg);writing-mode:vertical-rl;white-space:nowrap;font-weight:800;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone);opacity:.92;text-shadow:0 2px 10px rgba(0,0,0,.7);transition:opacity .3s ease;}
.rtab:first-child .edge-label{left:calc(7vw + clamp(22px,2.2vw,38px));}
.edge-label b{font-family:var(--mono);font-weight:400;font-size:11px;color:var(--amber);margin-top:10px;letter-spacing:.1em;}
.rtab .full{position:absolute;left:0;right:auto;width:52vw;bottom:0;z-index:5;padding:0 clamp(48px,6vw,90px) 44px;}
.rtab:first-child .full{padding-left:calc(7vw + clamp(48px,6vw,90px));}
.rtab:last-child .full{padding-right:calc(7vw + var(--pad));}
.rtab .full{transform:skewX(7deg);opacity:0;translate:0 0;transition:opacity .35s ease;pointer-events:none;}
.rtab.on .full{opacity:1;translate:0 0;pointer-events:auto;}
.rtab .full h2{font-family:var(--display);font-weight:200;font-size:clamp(38px,5vw,72px);line-height:.94;letter-spacing:-.02em;text-shadow:0 4px 24px rgba(0,0,0,.55);}
.rtab .full h2 em{font-style:italic;color:var(--peach);}
.rtab .full .ov-tag{margin-top:10px;}
.rtab .full .ov-go{margin-top:16px;white-space:nowrap;}
.rtab .full .mono{display:block;font-size:12px;color:var(--amber);margin-top:12px;text-shadow:0 1px 8px rgba(0,0,0,.8);}
/* the copy gradient lives on the card itself, so it is skewed with the card and covers the
   whole parallelogram; on the copy block it was a straight box that stopped short of the cut */
.rtab::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .35s ease;background:linear-gradient(0deg,rgba(10,9,7,.8),rgba(10,9,7,.35) 55%,transparent 80%);}
.rtab.on::before{opacity:1;}
.stk-head{display:none;}
.tapgo{display:none;}
/* ≤780px: the notebook becomes a mini scroll stack — rounded cards pin under the
   bar with graded peeks, the next card slides over the last, images parallax */
@media (max-width:780px){
  .tabs-sec{height:auto;min-height:0;overflow:visible;padding-bottom:var(--seam-up,18px);}
  .stk-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0;position:absolute;top:calc((var(--seam-up,18px) + var(--seam,40px) + 8px) * .5);left:18px;right:18px;z-index:10;color:var(--bone);pointer-events:none;text-shadow:0 1px 10px rgba(0,0,0,.6);}
  .tabs{position:relative;flex-direction:column;transform:none;margin:0;padding:0;}
  .rtab{position:sticky;flex:none;border:0;border-radius:0;height:56svh;min-height:340px;max-height:520px;transition:none;transform-origin:top center;will-change:transform;box-shadow:0 -18px 44px -14px rgba(6,5,4,.8);}
  .rtab + .rtab{margin-top:0;}
  .rtab:nth-child(1){top:0;z-index:2;}
  .rtab:nth-child(2){top:0;z-index:3;}
  .rtab:nth-child(3){top:0;z-index:4;}
  .rtab:nth-child(4){top:0;z-index:5;}
  /* the membership plate dips into the section's padding, not the archery card:
     every card keeps an identical, never-overlapped frame */
  .rtab.on{min-height:340px;flex:none;}
  .rtab .bgi,.rtab.on .bgi{transform:none;inset:0;filter:brightness(.85) saturate(1);transition:none;}
  .rtab::before{display:none;}
  .rtab::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(120% 90% at 50% 50%, transparent 34%, rgba(10,9,7,.62) 100%),linear-gradient(180deg, rgba(10,9,7,.55) 0%, rgba(10,9,7,.18) 18%, transparent 40%),linear-gradient(0deg, rgba(10,9,7,.88) 0%, rgba(10,9,7,.5) 26%, transparent 62%);}
  .edge-label{display:none;}
  /* copy cut to the name and the fee line; the arrow says the card is a door */
  .rtab .full,.rtab.on .full{position:absolute;left:0;right:0;width:auto;bottom:0;transform:none;opacity:1;translate:0 0;pointer-events:auto;padding:0 18px 18px;z-index:3;}
  .rtab:first-child .full,.rtab:last-child .full{padding-left:18px;padding-right:18px;}
  .rtab .full::before{display:none;}
  .rtab .full h2{font-size:36px;padding-right:56px;}
  .rtab .full .ov-tag{display:none;}
  .rtab .full .mono{margin-top:9px;}
  .mchk{display:none;}
  .tapgo{display:grid;position:absolute;right:16px;bottom:16px;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(244,239,230,.5);color:var(--bone);font-size:16px;background:rgba(10,9,7,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
  .tabs-head{position:relative;padding-top:26px;}
}
@media (prefers-reduced-motion:reduce){.rtab,.rtab .bgi,.rtab .full{transition:none;}}

/* hero headline word rotator */
.ov-name em.hero-rot{display:inline-block;font-style:italic;color:var(--peach);}
@media (prefers-reduced-motion:no-preference){
  .ov-name em.hero-rot{transition:opacity .45s ease,transform .45s ease;}
  .ov-name em.hero-rot.out{opacity:0;transform:translateY(-18px);}
  .ov-name em.hero-rot.in{opacity:0;transform:translateY(18px);transition:none;}
}

/* ---------- 04 · full-span photo sections (events · classes) ---------- */
.fsec{position:relative;overflow:hidden;background:var(--ink);border-top:1px solid var(--edge);}
.fsec > img{position:absolute;inset:0;filter:saturate(.78) brightness(.34);}
.fsec::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 100% at 30% 40%,rgba(10,9,7,.36),rgba(10,9,7,.8));}
.fsec-in{position:relative;z-index:5;max-width:var(--maxw);margin:0 auto;padding:clamp(46px,6vw,90px) var(--pad);color:var(--bone);}
.fhead .kicker{color:var(--amber);display:block;margin-bottom:12px;}
.fhead h2{font-family:var(--display);font-weight:200;font-size:clamp(32px,4.4vw,58px);line-height:.96;letter-spacing:-.02em;text-shadow:0 3px 18px rgba(0,0,0,.6);}
.fhead h2 em{font-style:italic;color:var(--peach);}
.fhead p{font-size:15.5px;color:rgba(244,239,230,.78);margin-top:12px;max-width:56ch;text-shadow:0 2px 12px rgba(0,0,0,.6);text-wrap:pretty;}
.ffoot{margin-top:clamp(24px,3vw,36px);padding-top:18px;border-top:1px solid rgba(244,239,230,.18);display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;}
.ffoot .note{font-family:var(--mono);font-size:12.5px;color:rgba(244,239,230,.66);text-shadow:0 1px 8px rgba(0,0,0,.7);}
.ffoot .ov-go{white-space:nowrap;}
.evduo{display:grid;grid-template-columns:1.04fr minmax(330px,430px);gap:clamp(24px,3.4vw,56px);align-items:start;}
.evduo .fhead{margin-bottom:clamp(20px,2.6vw,32px);}
@media (max-width:900px){.evduo{grid-template-columns:1fr;}}
.nextup{border-top:1px solid rgba(244,239,230,.24);}
.nextup .row{display:grid;grid-template-columns:88px 1fr auto;gap:clamp(12px,1.6vw,22px);align-items:baseline;padding:13px 0;border-bottom:1px solid rgba(244,239,230,.13);}
.nextup .dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--amber);white-space:nowrap;}
.nextup .nm{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.15;color:var(--bone);}
.nextup .vn{font-family:var(--sans);font-weight:800;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.55);white-space:nowrap;}
@media (max-width:1120px){.nextup .row{grid-template-columns:88px 1fr;}.nextup .vn{display:none;}}

/* flyer rack — dark mat, amber hairline; the flyer is the only bright thing */
.show{position:relative;width:100%;background:var(--glass);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border:1px solid var(--edge);border-top-color:var(--edge-lit);padding:clamp(14px,1.5vw,20px);box-shadow:0 32px 62px -26px rgba(6,5,4,.95),inset 0 1px 0 rgba(255,255,255,.05);}
.show::before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,217,168,.26);pointer-events:none;z-index:4;}
.show-stage{position:relative;aspect-ratio:4/5;overflow:hidden;background:rgba(10,9,7,.6);}
.slide{position:absolute;inset:0;opacity:0;transform:scale(1.015);transition:opacity .7s ease,transform .7s ease;pointer-events:none;}
.slide.on{opacity:1;transform:none;pointer-events:auto;}
.slide image-slot{width:100%;height:100%;}
.slide .fly{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border:0;background:#15130f;pointer-events:none;}
.slide .lbl{position:absolute;left:0;right:0;bottom:0;z-index:6;padding:26px 16px 14px;color:var(--bone);pointer-events:none;background:linear-gradient(0deg,rgba(10,9,7,.9),transparent);}
.slide .lbl .nm{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.1;display:block;}
.slide .lbl .mt{font-family:var(--mono);font-size:11px;color:var(--amber);display:block;margin-top:5px;}
.zoom{position:absolute;top:10px;right:10px;z-index:7;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(18,16,13,.55);color:var(--bone);border:1px solid rgba(244,239,230,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:16px;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.zoom:hover{background:var(--clay);border-color:var(--clay);color:#fff;}
.show-bar{display:flex;align-items:center;gap:12px;padding:12px 4px 2px;}
.dots{display:flex;gap:7px;flex:1;}
.dots button{width:26px;height:4px;background:rgba(244,239,230,.26);transition:background .25s ease;}
.dots button.on{background:var(--amber);}
.show-bar .arrows{display:flex;gap:6px;}
.show-bar .arrows button{width:30px;height:30px;border:1px solid rgba(244,239,230,.28);color:var(--bone);display:grid;place-items:center;font-size:13px;transition:background .2s ease,border-color .2s ease;}
.show-bar .arrows button:hover{background:rgba(244,239,230,.14);border-color:var(--bone);}
.show-bar .count{font-family:var(--mono);font-size:11px;color:rgba(244,239,230,.55);}
/* ≤780px: flyers and class tracks become mini scroll stacks like the ranges */
@media (max-width:780px){
  #events-sec.fsec,#classes-sec.fsec{overflow:visible;}
  .evduo{row-gap:0;}
  .evduo .show{padding:0;border:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;width:100vw;margin:0 0 calc(clamp(46px,6vw,90px) * -1) calc(50% - 50vw);}
  .evduo .show::before{display:none;}
  .evduo .show-stage{aspect-ratio:auto;height:auto;overflow:visible;background:none;}
  .evduo .slide{position:sticky;inset:auto;top:0;height:auto;aspect-ratio:var(--fr,0.7727);max-height:100svh;opacity:1;transform:none;pointer-events:auto;transition:none;background:var(--ink);box-shadow:0 -18px 44px -14px rgba(6,5,4,.8);}
  .evduo .slide .fly{object-fit:contain;}
  .evduo .slide .zoom{top:auto;bottom:16px;right:16px;}
  .evduo .slide:nth-child(n+4){display:none;}
  .evduo .show-bar{display:none;}
  #classes-sec .flow{gap:0;margin-top:26px;margin-bottom:calc(clamp(46px,6vw,90px) * -1);}
  #classes-sec .disc.d-first{margin-bottom:30px;}
  .flow .disc:not(.d-first){position:sticky;top:0;min-height:62svh;width:100vw;margin:0 0 0 calc(50% - 50vw);padding:28px var(--pad) 32px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--ink);border-top:1px solid rgba(244,239,230,.18);box-shadow:0 -18px 44px -14px rgba(6,5,4,.8);}
  .flow .disc:not(.d-first) .dbg{display:block;position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.42) saturate(.88);}
  .flow .disc:not(.d-first) .dbg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,15,12,.55),rgba(17,15,12,.28) 40%,rgba(17,15,12,.6));}
  .flow .disc:not(.d-first) .dh,.flow .disc:not(.d-first) .chain,.flow .disc:not(.d-first) .solo{position:relative;z-index:2;}
}

/* flyer lightbox */
.lb{position:fixed;inset:0;z-index:250;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px);}
.lb.open{display:flex;}
.lb .veil{position:absolute;inset:0;background:rgba(10,9,7,.92);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);}
.lb-stage{position:relative;z-index:3;width:min(620px,100%);height:min(80svh,860px);background:#15130f;border:1px solid var(--edge);border-top-color:var(--edge-lit);padding:14px;box-shadow:0 40px 80px -30px rgba(0,0,0,.95);}
.lb-stage::before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,217,168,.26);pointer-events:none;z-index:4;}
.lb-stage .slide{position:relative;inset:auto;height:100%;opacity:1;transform:none;pointer-events:auto;}
.lb-stage .slide .fly{object-fit:contain;}
.lb-stage .slide .zoom{display:none;}
.lb .x{position:absolute;top:-46px;right:0;z-index:4;color:var(--bone);font-weight:800;font-size:11px;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(244,239,230,.5);padding:8px 14px;}
.lb .x:hover{background:rgba(244,239,230,.14);}

/* class flowchart — First Shots holds the left column as a full card; the defensive series runs as a row on the right */
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.8vw,38px) clamp(20px,3vw,44px);align-items:start;margin-top:clamp(26px,3.4vw,42px);}
.disc.d-first{grid-column:1;grid-row:1 / span 3;align-self:stretch;display:flex;flex-direction:column;}
.disc.d-pistol{grid-column:2 / -1;}
.disc.d-archery{grid-column:2 / -1;}
.fs-card{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--glass);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border:1px solid var(--edge);border-top-color:var(--edge-lit);padding:clamp(18px,2vw,26px);box-shadow:0 16px 32px -20px rgba(6,5,4,.9),inset 0 1px 0 rgba(255,255,255,.04);}
.fs-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.2vw,30px);line-height:1;letter-spacing:-.01em;}
.fs-card p{font-size:13.5px;line-height:1.6;color:rgba(244,239,230,.78);}
.fs-card .fs-when{font-family:var(--mono);font-size:11.5px;line-height:1.5;letter-spacing:.04em;color:var(--amber);}
.fs-card .node{margin-top:auto;}
@media (max-width:900px){.flow{grid-template-columns:1fr;}.disc.d-first{grid-row:auto;grid-column:auto;}.disc.d-pistol,.disc.d-archery{grid-column:auto;}}
.chain.row{flex-direction:row;align-items:center;}
.chain.row .node{width:auto;flex:1;min-width:0;}
.chain.row .link{height:auto;width:clamp(26px,3vw,42px);margin:0;flex:none;}
.chain.row .link::before{left:0;right:0;top:50%;bottom:auto;width:auto;height:1.5px;}
.chain.row .link::after{content:"▸";left:auto;right:-3px;bottom:auto;top:50%;transform:translateY(-50%);}
.chain.row .link .lt{display:none;}
/* on narrow screens a row chain folds back into the vertical chain */
@media (max-width:900px){
.chain.row{flex-direction:column;align-items:stretch;}
.chain.row .node{width:100%;flex:none;}
.chain.row .link{height:26px;width:auto;margin:0 0 0 26px;}
.chain.row .link::before{left:0;right:auto;top:0;bottom:0;width:1.5px;height:auto;}
.chain.row .link::after{content:"▾";left:-5px;right:auto;top:auto;bottom:-4px;transform:none;}
}
.disc{position:relative;}
.disc .dbg{display:none;}
.disc .dh{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;}
.disc .dh .dn{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);}
.disc .dh .dl{flex:1;height:1px;background:rgba(244,239,230,.24);}
.disc .dh a{font-weight:800;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,230,.7);text-decoration:none;white-space:nowrap;}
.disc .dh a:hover{color:var(--bone);text-decoration:underline;text-underline-offset:3px;}
.chain{display:flex;flex-direction:column;gap:0;}
.node{position:relative;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;width:100%;text-align:left;text-decoration:none;color:var(--bone);background:var(--glass);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border:1px solid var(--edge);border-top-color:var(--edge-lit);padding:13px 16px;box-shadow:0 16px 32px -20px rgba(6,5,4,.9),inset 0 1px 0 rgba(255,255,255,.04);transition:transform .22s ease,background .22s ease,border-color .22s ease;}
.node:hover{transform:translateX(4px);background:var(--glass-2);border-color:rgba(255,217,168,.42);}
.node[disabled]{opacity:.45;cursor:not-allowed;transform:none;}
.node .nm{font-family:var(--serif);font-weight:500;font-size:17px;line-height:1.15;letter-spacing:-.005em;color:var(--bone);}
.node .sub{display:block;font-family:var(--sans);font-weight:400;font-size:12.5px;color:rgba(244,239,230,.58);margin-top:4px;}
.node .rt{text-align:right;white-space:nowrap;}
.node .pr{font-family:var(--serif);font-weight:500;font-size:16px;color:var(--bone);}
.node .st{display:block;font-weight:800;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-top:3px;}
.link{height:26px;margin-left:26px;position:relative;}
.link::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1.5px;background:rgba(255,217,168,.45);}
.link::after{content:"▾";position:absolute;left:-5px;bottom:-4px;font-size:12px;color:var(--amber);line-height:1;}
.link .lt{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:rgba(244,239,230,.6);white-space:nowrap;}
.solo{font-family:var(--mono);font-size:12.5px;line-height:1.5;color:rgba(244,239,230,.7);margin-top:10px;display:block;text-shadow:0 1px 8px rgba(0,0,0,.7);}

/* ---------- 05 · membership (inside a banner) ---------- */
.memg{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(24px,3.6vw,56px);align-items:start;}
@media (max-width:960px){.memg{grid-template-columns:1fr;}}
.memg .lead p{font-size:16px;color:rgba(244,239,230,.82);max-width:48ch;text-wrap:pretty;}
.memg .lead p + p{margin-top:14px;}
.memg .btn{white-space:nowrap;}
.prices{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;}
.price{background:rgba(244,239,230,.08);border:1px solid rgba(244,239,230,.3);padding:16px 20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);}
.price .amt{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,38px);line-height:1;color:var(--bone);}
.price .cap{display:block;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,230,.68);margin-top:8px;}
.incl{list-style:none;display:grid;gap:0;margin-top:6px;}
.incl li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;padding:11px 0;border-bottom:1px dashed rgba(244,239,230,.16);font-size:15px;color:rgba(244,239,230,.84);}
.incl li:last-child{border-bottom:0;}
.incl li b{font-family:var(--mono);font-weight:400;font-size:11px;color:var(--amber);}
.fine{font-size:12px;color:rgba(244,239,230,.5);margin-top:16px;text-wrap:pretty;}

/* ---------- 06 · about ---------- */
.about{background:linear-gradient(180deg,var(--umber),var(--umber-deep));color:var(--bone);}
.about-in{max-width:var(--maxw);margin:0 auto;padding:clamp(64px,9vw,116px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center;}
@media (max-width:940px){.about-in{grid-template-columns:1fr;}}
.about-in .copy .kicker{display:block;margin-bottom:16px;color:var(--amber);}
.about-in .copy h2{margin-bottom:20px;}
.about-in .copy h2 em{color:var(--peach);}
.about-in .copy p{font-size:16.5px;color:rgba(244,239,230,.82);max-width:52ch;text-wrap:pretty;}
.about-in .copy p + p{margin-top:14px;}
.about-in .btn{border-color:rgba(244,239,230,.5);color:var(--bone);white-space:nowrap;}
.about-in .btn:hover{border-color:var(--bone);background:rgba(244,239,230,.1);}
.about-shot{position:relative;overflow:hidden;min-height:clamp(320px,42vw,540px);background:var(--ink);border:1px solid var(--edge);box-shadow:0 34px 64px -30px rgba(6,5,4,.85);}
.about-shot img{position:absolute;inset:0;filter:saturate(.82) brightness(.6);}
.about-shot::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 95% at 50% 30%,transparent 45%,rgba(10,9,7,.6));}
.facts{position:absolute;left:0;right:0;bottom:0;z-index:3;display:grid;grid-template-columns:repeat(2,1fr);background:var(--glass-2);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-top:1px solid var(--edge-lit);}
.facts div{padding:16px 18px;border-top:1px solid rgba(244,239,230,.12);border-right:1px solid rgba(244,239,230,.12);}
.facts div:nth-child(-n+2){border-top:0;}
.facts div:nth-child(2n){border-right:0;}
.facts .fv{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1;color:var(--bone);}
.facts .fk{display:block;font-weight:800;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,239,230,.55);margin-top:6px;}

/* ---------- ranges page ---------- */
/* frosted glass card sitting on the range photograph */
.rglass{position:relative;flex:none;width:min(400px,100%);padding:clamp(18px,2vw,26px);color:var(--bone);background:linear-gradient(155deg,rgba(244,239,230,.18),rgba(244,239,230,.07));-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25);border:1px solid rgba(244,239,230,.34);border-top-color:rgba(255,255,255,.5);box-shadow:0 30px 60px -26px rgba(6,5,4,.8),inset 0 1px 0 rgba(255,255,255,.24);}
.rglass .k{display:block;font-weight:800;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:13px;}
.rglass ul{list-style:none;display:grid;gap:0;}
.rglass li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid rgba(244,239,230,.2);font-size:14px;line-height:1.4;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.4);text-wrap:pretty;}
.rglass li:last-child{border-bottom:0;}
.rglass li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber);transform:translateY(-3px);}
.rglass .fee{display:block;margin-top:14px;padding-top:12px;border-top:1px solid rgba(244,239,230,.34);font-family:var(--mono);font-size:12px;color:#fff;}
.rglass .fee small{display:block;font-family:var(--sans);font-weight:700;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:5px;}
@media (max-width:760px){.rglass{width:100%;}}
.rhead{max-width:var(--maxw);margin:0 auto;padding:clamp(96px,12vw,148px) var(--pad) clamp(26px,3.4vw,42px);}
.rhead .disp{color:var(--bone);}
.rhead .lede{margin-top:18px;}
.rhead .chip,.rpanel-in .chip{white-space:nowrap;}
.rband{position:relative;height:clamp(460px,78svh,860px);overflow:hidden;background:var(--ink);}
.rband img{position:absolute;inset:0;}
.rband video.rvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease;pointer-events:none;will-change:transform,opacity;}
.rband video.rvid.on{opacity:1;animation:rvid-drift 46s ease-in-out infinite alternate;}
/* frame-cycle variant: plain crossfade between stills */
.rband img.rframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;pointer-events:none;}
.rband img.rframe.on{opacity:1;}
@keyframes rvid-drift{from{transform:scale(1.02);}to{transform:scale(1.1);}}
@media (prefers-reduced-motion:reduce){.rband video.rvid.on{animation:none;}}
.rband .no{position:absolute;top:clamp(18px,2.4vw,30px);left:var(--pad);z-index:6;font-family:var(--mono);font-size:13px;color:var(--bone);opacity:.9;text-shadow:0 2px 8px rgba(0,0,0,.8);}
.rpanel{background:linear-gradient(180deg,#231f19,#191713);border-top:1px solid rgba(244,239,230,.16);border-bottom:1px solid rgba(244,239,230,.1);color:var(--bone);}
.rpanel-in{max-width:var(--maxw);margin:0 auto;padding:clamp(28px,3.6vw,48px) var(--pad);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px);}
@media (max-width:900px){.rpanel-in{grid-template-columns:1fr;}}
.rpanel-in .k{font-weight:800;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);display:block;margin-bottom:12px;}
.rpanel-in p{font-size:14.5px;color:rgba(244,239,230,.76);text-wrap:pretty;}
.rpanel-in .ci{font-family:var(--serif);font-size:20px;font-weight:500;margin-bottom:8px;color:var(--bone);}
.rpanel-in .spec td{color:rgba(244,239,230,.76);border-bottom-color:rgba(244,239,230,.14);}
.rpanel-in .spec td:last-child{color:var(--bone);}
.rpanel-in .spec .free{color:var(--peach);}

/* unified rules */
.rules{background:linear-gradient(180deg,var(--umber),var(--umber-deep));color:var(--bone);}
.rules-in{max-width:var(--maxw);margin:0 auto;padding:clamp(64px,9vw,116px) var(--pad);}
.rules-in .kicker{color:var(--amber);display:block;margin-bottom:14px;}
.rules-in h2{color:var(--bone);}
.rules-in .lede{color:rgba(244,239,230,.82);margin-top:16px;}
.rgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,3.4vw,56px);margin-top:clamp(34px,4.6vw,60px);}
@media (max-width:820px){.rgrid{grid-template-columns:1fr;}}
.rgroup h3{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:-.01em;padding-bottom:12px;border-bottom:1px solid rgba(244,239,230,.4);}
.rgroup ol{list-style:none;counter-reset:r;}
.rgroup li{counter-increment:r;display:grid;grid-template-columns:30px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid rgba(244,239,230,.14);font-size:15.5px;color:rgba(244,239,230,.84);text-wrap:pretty;}
.rgroup li::before{content:counter(r,decimal-leading-zero);font-family:var(--mono);font-size:11px;color:var(--amber);padding-top:4px;}
.rgroup li b{color:var(--bone);font-weight:700;}
.rules-foot{margin-top:clamp(32px,4vw,52px);padding-top:22px;border-top:1px solid rgba(244,239,230,.28);display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start;}
@media (max-width:820px){.rules-foot{grid-template-columns:1fr;}}
.rules-foot p{font-size:14.5px;color:rgba(244,239,230,.68);max-width:56ch;}
.sheets{display:flex;flex-wrap:wrap;gap:8px;}
.sheets a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid rgba(244,239,230,.35);font-weight:700;font-size:12px;text-decoration:none;color:var(--bone);transition:background .2s ease,border-color .2s ease;}
.sheets a:hover{background:rgba(244,239,230,.12);border-color:var(--bone);}
.sheets a span{font-family:var(--mono);font-size:10px;color:var(--amber);}

/* no moss anywhere in this branch — warm umber carries the dark bands */
body.dark section.dark,body.dark .dark{background:linear-gradient(180deg,var(--umber),var(--umber-deep));color:var(--bone);}

/* group bookings, inside the banner */
.gwrap{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(24px,3.6vw,60px);align-items:start;}
@media (max-width:960px){.gwrap{grid-template-columns:1fr;}}
.gwrap .pkgs{grid-template-columns:1fr;margin-top:0;}
.gwrap .k{display:block;font-weight:800;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:12px;}
.gwrap .enote{margin-top:16px;}

/* ---------- events page ---------- */
.ewrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.esec{padding:clamp(46px,6vw,84px) 0;}
.esec .k{font-weight:800;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);display:block;margin-bottom:14px;}
.esec h2{font-family:var(--display);font-weight:200;font-size:clamp(30px,4vw,52px);line-height:.98;letter-spacing:-.02em;color:var(--bone);}
.esec h2 em{font-style:italic;color:var(--peach);}
.esec .lede{margin-top:16px;color:var(--on-dark);}
.eband{position:relative;height:clamp(300px,52svh,560px);overflow:hidden;background:var(--ink);border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);}
.eband video,.eband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.6);}
.eband::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 40%,rgba(10,9,7,.2),rgba(10,9,7,.72));}
.eband .cap{position:absolute;left:var(--pad);bottom:22px;z-index:3;color:var(--bone);font-family:var(--mono);font-size:12px;letter-spacing:.04em;}
.eband .cap b{display:block;font-family:var(--sans);font-weight:800;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:5px;}
.evlist{margin-top:clamp(26px,3.4vw,40px);border-top:1px solid rgba(244,239,230,.2);}
.evrow{display:grid;grid-template-columns:92px 1fr auto auto;gap:clamp(14px,2.4vw,28px);align-items:center;padding:20px 0;border-bottom:1px solid rgba(244,239,230,.14);}
.evrow .d{text-align:center;border:1px solid rgba(244,239,230,.26);padding:9px 4px;}
.evrow .d .mo{font-weight:800;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);}
.evrow .d .day{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.1;color:var(--bone);}
.evrow .d .wd{font-family:var(--mono);font-size:10.5px;color:rgba(244,239,230,.55);}
.evrow .nm{font-family:var(--serif);font-weight:400;font-size:clamp(19px,2.3vw,25px);letter-spacing:-.01em;color:var(--bone);line-height:1.15;}
.evrow .one{font-size:14px;color:rgba(244,239,230,.66);margin-top:5px;max-width:52ch;text-wrap:pretty;}
.evrow .vn{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid rgba(244,239,230,.26);font-weight:700;font-size:11.5px;color:var(--bone);text-decoration:none;white-space:nowrap;transition:background .2s ease,border-color .2s ease;}
.evrow .vn:hover{background:rgba(244,239,230,.1);border-color:var(--bone);}
.evrow .vn .cdot{width:6px;height:6px;border-radius:50%;background:var(--clay);}
.evrow .pv{font-family:var(--serif);font-weight:500;font-size:18px;color:var(--bone);white-space:nowrap;text-align:right;}
.evrow .pv small{display:block;font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.06em;text-transform:none;color:var(--amber);margin-top:4px;}
@media (max-width:760px){.evrow{grid-template-columns:74px 1fr;}.evrow .vn,.evrow .pv{grid-column:2;text-align:left;justify-self:start;}}
.enote{font-size:13.5px;color:rgba(244,239,230,.6);margin-top:18px;}
.enote a{color:var(--amber);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,217,168,.5);}
.rhy{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,26px);margin-top:clamp(26px,3.4vw,40px);}
@media (max-width:860px){.rhy{grid-template-columns:1fr;}}
.rhy .cell{border-top:1.5px solid rgba(244,239,230,.5);padding-top:16px;}
.rhy .cell .when{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);display:block;margin-bottom:9px;}
.rhy .cell h4{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:-.01em;color:var(--bone);margin-bottom:7px;}
.rhy .cell p{font-size:14px;color:rgba(244,239,230,.72);text-wrap:pretty;}
.rhy .cell .v{display:block;font-family:var(--mono);font-size:11px;color:rgba(244,239,230,.55);margin-top:10px;}
.pkgs{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,3.4vw,48px);margin-top:clamp(26px,3.4vw,40px);border-top:1px solid rgba(244,239,230,.2);}
@media (max-width:860px){.pkgs{grid-template-columns:1fr;}}
.pkg{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:baseline;padding:18px 0;border-bottom:1px solid rgba(244,239,230,.14);}
.pkg .nm{font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:-.01em;color:var(--bone);}
.pkg .one{font-size:13.5px;color:rgba(244,239,230,.66);margin-top:5px;text-wrap:pretty;}
.pkg .sz{font-family:var(--mono);font-size:11px;color:var(--amber);white-space:nowrap;}
.gdup{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.6vw,56px);align-items:start;}
@media (max-width:960px){.gdup{grid-template-columns:1fr;}}

/* ==========================================================================
   CREAM — the warm paper surface. Last in the file so it wins on equal
   specificity. Used by every banner expansion, the classes band, About,
   the range spec panels, the rulebook, and the standing-week band.
   ========================================================================== */
.cream{background:var(--bone);color:var(--ink);}
.fsec.cream{border-top-color:rgba(28,26,22,.16);}
.fsec.cream::after{content:none;}
.about.cream,.rules.cream,body.dark section.dark.cream{background:var(--bone);}
.rpanel.cream{background:var(--bone);border-top-color:rgba(28,26,22,.16);border-bottom-color:rgba(28,26,22,.12);color:var(--ink);}
body.dark .cream .kicker,.cream .k,.cream .esec .k,.cream .rpanel-in .k,.cream .gwrap .k{color:var(--clay-deep);}
body.dark .cream .lede,.cream p,.cream .fhead p,.cream .aside-warm,.cream .lead p,.cream .enote,.cream .rpanel-in p,.cream .rules-foot p,.cream .rhy .cell p,.cream .about-in .copy p{color:var(--ink-soft);}
.cream h2,.cream h3,.cream h4,.cream .h2,.cream .fhead h2,.cream .rules-in h2,.cream .esec h2,.cream .rhy .cell h4,.cream .about-in .copy h2{color:var(--ink);text-shadow:none;}
body.dark .cream .h2 em,body.dark .cream .disp em,.cream h2 em,.cream .esec h2 em,.cream .about-in .copy h2 em{color:var(--clay);}
.cream .fine,.cream .small,.cream .note,.cream .solo,.cream .ffoot .note{color:var(--stone);text-shadow:none;}
body.dark .cream .btn{border-color:rgba(28,26,22,.34);color:var(--ink);}
body.dark .cream .btn:hover{border-color:var(--ink);background:rgba(28,26,22,.06);}
body.dark .cream .btn.fill{background:var(--clay);border-color:var(--clay);color:#fff;}
body.dark .cream .btn.fill:hover{background:var(--clay-deep);border-color:var(--clay-deep);}
body.dark .cream .chip{border-color:rgba(28,26,22,.28);color:var(--ink);}
body.dark .cream .chip:hover{border-color:var(--ink);background:rgba(28,26,22,.05);}
.cream .ov-go{color:var(--ink);border-color:rgba(28,26,22,.4);}
.cream .ov-go:hover{border-color:var(--ink);background:rgba(28,26,22,.06);}
.cream .enote a{color:var(--clay-deep);border-bottom-color:rgba(200,97,47,.5);}
/* banner bodies */
.cream .step{border-top-color:rgba(28,26,22,.42);}
.cream .step .sn{color:var(--clay);}
.cream .step .stag{color:var(--clay-deep);border-bottom-color:rgba(200,97,47,.55);}
.cream .step .stag:hover{color:var(--ink);border-bottom-color:var(--ink);}
.cream .first-foot,.cream .ffoot{border-top-color:rgba(28,26,22,.16);}
.cream .price{background:rgba(28,26,22,.04);border-color:rgba(28,26,22,.2);}
.cream .price .amt{color:var(--ink);}
.cream .price .cap{color:var(--stone);}
.cream .panel{background:#fff;color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:rgba(28,26,22,.2);border-top-color:rgba(28,26,22,.14);box-shadow:0 26px 48px -32px rgba(28,20,10,.5);}
.cream .panel::before{border-color:rgba(28,26,22,.1);}
.cream .panel::after{background:rgba(28,26,22,.06);border-color:rgba(28,26,22,.1);}
.cream .incl li{color:var(--ink-soft);border-bottom-color:rgba(28,26,22,.16);}
.cream .incl li b{color:var(--clay-deep);}
.cream .pkgs{border-top-color:rgba(28,26,22,.22);}
.cream .pkg{border-bottom-color:rgba(28,26,22,.14);}
.cream .pkg .nm{color:var(--ink);}
.cream .pkg .one{color:var(--ink-soft);}
.cream .pkg .sz{color:var(--clay-deep);}
.cream .gform .field label{color:var(--stone);}
.cream .checks .ck span{border-color:rgba(28,26,22,.28);color:var(--ink);}
.cream .checks input:checked + span{background:var(--ink);border-color:var(--ink);color:var(--bone);}
.cream .gdone .payload{background:var(--ink);color:#e8e2d6;border:0;}
/* class flow on paper */
.cream .disc .dh .dn{color:var(--clay-deep);}
.cream .disc .dh .dl{background:rgba(28,26,22,.2);}
.cream .disc .dh a{color:var(--ink-soft);}
.cream .disc .dh a:hover{color:var(--ink);}
.cream .node{background:#fff;color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:rgba(28,26,22,.18);border-top-color:rgba(28,26,22,.12);box-shadow:0 14px 28px -22px rgba(28,20,10,.45);}
.cream .node:hover{background:#fff;border-color:var(--clay);}
.cream .fs-card{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:rgba(28,26,22,.18);border-top-color:rgba(28,26,22,.12);box-shadow:0 14px 28px -22px rgba(28,20,10,.45);}
.cream .fs-card p{color:var(--ink-soft);}
.cream .fs-card .fs-when{color:var(--clay-deep);}
.cream .node .nm,.cream .node .pr{color:var(--ink);}
.cream .node .sub{color:var(--stone);}
.cream .node .st{color:var(--clay-deep);}
.cream .link::before{background:rgba(200,97,47,.5);}
.cream .link::after,.cream .link .lt{color:var(--clay-deep);}
/* range spec panels + rulebook */
.cream .rpanel-in .ci{color:var(--ink);}
.cream .spec td{color:var(--ink-soft);border-bottom-color:rgba(28,26,22,.16);}
.cream .spec td:last-child{color:var(--ink);}
.cream .spec .free{color:var(--clay-deep);}
.cream .rgroup h3{border-bottom-color:rgba(28,26,22,.4);}
.cream .rgroup li{color:var(--ink-soft);border-bottom-color:rgba(28,26,22,.14);}
.cream .rgroup li::before{color:var(--clay-deep);}
.cream .rgroup li b{color:var(--ink);}
.cream .rules-foot{border-top-color:rgba(28,26,22,.24);}
.cream .sheets a{border-color:rgba(28,26,22,.3);color:var(--ink);}
.cream .sheets a:hover{background:rgba(28,26,22,.06);border-color:var(--ink);}
.cream .sheets a span{color:var(--clay-deep);}
/* standing week */
.cream .rhy .cell{border-top-color:rgba(28,26,22,.5);}
.cream .rhy .cell .when{color:var(--clay-deep);}
.cream .rhy .cell .v{color:var(--stone);}
/* About keeps its photograph, so the fact strip stays dark glass */
.cream .about-shot{border-color:rgba(28,26,22,.2);}

/* the footer is paper too */
.foot.cream{background:var(--bone);color:var(--ink);}
.foot.cream .foot-grid,.foot.cream .foot-btm{border-top-color:rgba(28,26,22,.18);}
.foot.cream .foot-inner{padding-top:clamp(38px,5vw,58px);}
.foot.cream .foot-grid{margin-top:0;padding-top:0;border-top:0;}
.foot.cream h4{color:var(--clay-deep);}
.foot.cream a{color:var(--ink);opacity:.82;}
.foot.cream a:hover{opacity:1;}
.foot.cream .addr{color:var(--ink-soft);}
.foot.cream .hours-table td{color:var(--ink-soft);border-bottom-color:rgba(28,26,22,.16);}
.foot.cream .hours-table tr.today td{color:var(--ink);}
.foot.cream .hours-table tr.closed td:last-child{color:var(--clay-deep);}
.foot.cream .foot-btm{opacity:1;color:var(--stone);}

/* footer legal row */
.foot-legal{display:flex;flex-wrap:wrap;gap:6px 24px;padding:20px 0 2px;}
.foot-legal a,.foot-legal button{font-size:12.5px;letter-spacing:.04em;color:rgba(244,239,230,.6);text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-family:inherit;}
.foot-legal a:hover,.foot-legal button:hover{color:#f4efe6;text-decoration:underline;}

/* ==========================================================================
   v2 · KNOCKOUT FINALE (ported from the shotgun concept, audit §06):
   the property photograph shows through the closing headline.
   ========================================================================== */
.knock{position:relative;min-height:88svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;overflow:hidden;background:var(--ink);padding:80px var(--pad) 64px;}
.knock > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.4) saturate(.9);}
.knock::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 45%,transparent 40%,rgba(10,9,7,.55) 100%);pointer-events:none;}
.knock-h{position:relative;z-index:3;font-family:var(--serif);font-weight:500;font-size:clamp(72px,17vw,190px);line-height:.85;letter-spacing:-.035em;text-align:center;margin:0;
  background-image:url("../img/frames/arrive-08-aerial-grounds.jpg");background-size:cover;background-position:center;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  filter:saturate(1.45) brightness(1.6) contrast(1.05) drop-shadow(0 4px 24px rgba(0,0,0,.55));}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .knock-h{background-image:none;color:var(--bone);-webkit-text-fill-color:currentColor;filter:none;text-shadow:0 4px 30px rgba(0,0,0,.6);}
}
.knock-foot{position:relative;z-index:3;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}

/* ---------- v2 · F12: hand-drawn page voice ----------
   Doodle on the MAIN page/section headers, Turncoat on the subheader lines
   beneath them; cards and body stay Nunito. Doodle glyphs need more air than
   the tight display metrics, hence the line-height bumps. */
.ov-name,.disp,.h2,.bsec-btn .bh,.fhead h2,.esec h2,.rtab .full h2{font-family:var(--display);line-height:1.04;}
.knock-h{font-family:var(--display);line-height:.98;}

/* v2 · F6: dark-glass surfaces in this sheet fall back to tinted panels
   where backdrop-filter is unavailable */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .panel,.show,.node,.fs-card,.rglass,.facts{background:linear-gradient(155deg,rgba(43,38,30,.97),rgba(20,18,15,.97));}
}
