/* ═════════════════════════════════════════════════════════════════════
   BEAST OF AFRICA · SAFARI MOTION  (boa-motion.css)
   Only affects the page when html.boam-js is set by the head script, and
   everything that starts hidden is revealed by a CSS failsafe after 1 s.
   ═════════════════════════════════════════════════════════════════════ */
:root{--boam-gold:#d4a574;--boam-gold-lt:#e8c4a0;--boam-ink:#11100f;--boam-green:#25d366}

/* ── 0 · Page transitions (browsers with cross-page View Transitions:
       Chrome/Edge 126+, Safari 18.2+) — a camera iris opening on the new page.
       The @view-transition switch itself is written by the head script, so
       ?motion=off and "reduce motion" really turn it off. */
::view-transition-old(root){animation:boamVtOut .42s cubic-bezier(.7,0,.3,1) both}
::view-transition-new(root){animation:boamIris .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes boamVtOut{to{opacity:.35;filter:blur(2px) brightness(.7)}}
@keyframes boamIris{from{clip-path:circle(0% at 50% 45%)}to{clip-path:circle(140% at 50% 45%)}}
/* The card you tap grows into the next page's hero image. */
.cpt-hero__bg{view-transition-name:boam-hero}
::view-transition-group(boam-hero){animation-duration:.7s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
::view-transition-old(boam-hero),::view-transition-new(boam-hero){height:100%;object-fit:cover}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* ── 1 · Camera shutter (fallback for browsers without View Transitions) */
.boam-shutter{position:fixed;inset:0;z-index:2147483000;pointer-events:none;visibility:hidden}
.boam-shutter__b{position:absolute;left:0;right:0;height:50.5%;background:#0e0d0c}
.boam-shutter__b--t{top:0;transform:translateY(-100%)}
.boam-shutter__b--b{bottom:0;transform:translateY(100%)}
.boam-shutter__b--t::after,.boam-shutter__b--b::before{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--boam-gold),transparent)}
.boam-shutter__b--t::after{bottom:0}.boam-shutter__b--b::before{top:0}
.boam-shutter__logo{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;opacity:0}
.boam-shutter__logo img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.boam-shutter__logo svg{position:absolute;inset:-8px;width:80px;height:80px}
html.boam-shut .boam-shutter{visibility:visible}
html.boam-shut .boam-shutter__b--t,html.boam-shut .boam-shutter__b--b{transform:none}
html.boam-shut .boam-shutter{animation:boamFailOpen 0s 1.6s forwards}
@keyframes boamFailOpen{to{visibility:hidden}}

/* ── 2 · Hero "before" state (only while motion runs) + failsafe */
html.boam-js .tdp-hero__copy>*,html.boam-js .tdp-hero__guide,
html.boam-js .myg-hero__copy>*,html.boam-js .myg-photo,
html.boam-js .wlk-hero .wlk-wrap>*{opacity:0;animation:boamFailsafe .01s 1s forwards}   /* 28 Sep 2026: 2.5 s → 1 s — never keep a visitor waiting for an entrance */
@keyframes boamFailsafe{to{opacity:1}}
html.boam-ready .tdp-hero__copy>*,html.boam-ready .tdp-hero__guide,
html.boam-ready .myg-hero__copy>*,html.boam-ready .myg-photo,
html.boam-ready .wlk-hero .wlk-wrap>*{animation:none;opacity:1}
/* keep hero text above the time-of-day tint */
.myg-hero>.myg-wrap,.wlk-hero>.wlk-wrap{position:relative;z-index:2}
/* anything that flies around lives in a clipped layer: never a sideways scroll on phones */
.boam-fx{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2147482700}

/* ── 3 · Time of day in Tanzania (hero tint + night stars) */
.boam-sky{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:soft-light;opacity:0;transition:opacity 1.2s}
.boam-sky.is-on{opacity:1}
.boam-sky--dawn{background:linear-gradient(180deg,rgba(255,160,122,.45),rgba(255,210,150,.12) 60%,transparent)}
.boam-sky--golden{background:linear-gradient(180deg,rgba(255,170,60,.42),rgba(255,120,40,.12) 65%,transparent)}
.boam-sky--night{background:linear-gradient(180deg,rgba(30,50,120,.55),rgba(10,20,60,.2) 70%,transparent);mix-blend-mode:multiply}
.boam-stars{position:absolute;inset:0 0 40% 0;z-index:1;pointer-events:none}
.boam-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.2}
.boam-rain{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.55}

/* ── 4 · Karibu welcome */
.boam-karibu{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;pointer-events:none}
.boam-karibu span{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(3rem,12vw,8rem);color:var(--boam-gold-lt);text-shadow:0 10px 60px rgba(0,0,0,.6);letter-spacing:-.02em}

/* ── 5 · Split headings keep their layout; typewriter cursor */
.boam-caret{display:inline-block;width:.08em;min-width:2px;height:.95em;margin:0 .02em;vertical-align:-.1em;background:var(--boam-gold);animation:boamBlink .7s steps(1) infinite}
@keyframes boamBlink{50%{opacity:0}}
.boam-line{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}

/* ── 6 · Big outlined marquee words */
.boam-marquee{position:relative;overflow:hidden;padding:clamp(1.2rem,3vw,2.2rem) 0;pointer-events:none;user-select:none}
.boam-marquee__track{display:flex;white-space:nowrap;will-change:transform}
.boam-marquee__track span{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:clamp(3.2rem,11vw,9rem);line-height:1;letter-spacing:-.02em;padding-right:.5em;color:transparent;-webkit-text-stroke:1px rgba(232,196,160,.35)}
.boam-marquee__track span:nth-child(3n+2){-webkit-text-stroke:0;color:rgba(232,196,160,.12)}

/* ── 7 · Cards: 3D tilt + gold shine, viewfinder on photos */
.boam-tilt{transform-style:preserve-3d}
.boam-shine{position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(255,226,180,.18),transparent 45%);opacity:0;transition:opacity .3s;z-index:5}
.boam-tilt:hover .boam-shine{opacity:1}
.boam-vf{position:absolute;inset:10px;pointer-events:none;z-index:6;opacity:0;transition:opacity .25s}
.boam-vf i{position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.9)}
.boam-vf i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}.boam-vf i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}
.boam-vf i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}.boam-vf i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}
.boam-vf b{position:absolute;left:50%;top:50%;width:46px;height:30px;margin:-15px 0 0 -23px;border:1.5px solid rgba(126,226,160,.95);border-radius:3px;transform:scale(1.35);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.boam-vf em{position:absolute;left:0;right:0;bottom:-2px;font:600 10px/1.2 ui-monospace,Menlo,monospace;color:#fff;letter-spacing:.08em;text-shadow:0 1px 4px #000;text-align:center;font-style:normal}
.boam-vf-host:hover .boam-vf{opacity:1}.boam-vf-host:hover .boam-vf b{transform:scale(1)}

/* ── 8 · Custom compass cursor (desktop only) + paw trail */
.boam-cursor{position:fixed;left:0;top:0;width:38px;height:38px;margin:-19px 0 0 -19px;border:1.5px solid rgba(232,196,160,.7);border-radius:50%;pointer-events:none;z-index:2147481000;mix-blend-mode:difference;transition:width .25s,height .25s,margin .25s,background .25s,border-color .25s}
.boam-cursor__n{position:absolute;left:50%;top:50%;width:2px;height:12px;margin:-12px 0 0 -1px;background:linear-gradient(var(--boam-gold),transparent);transform-origin:50% 100%;border-radius:2px}
.boam-cursor__l{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:700 10px/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .2s;white-space:nowrap}
.boam-cursor.is-link{width:56px;height:56px;margin:-28px 0 0 -28px;background:rgba(232,196,160,.12)}
.boam-cursor.is-card{width:78px;height:78px;margin:-39px 0 0 -39px;background:rgba(212,165,116,.9);border-color:transparent;mix-blend-mode:normal}
.boam-cursor.is-card .boam-cursor__l{opacity:1;color:#1a120a}.boam-cursor.is-card .boam-cursor__n{opacity:0}
.boam-paw{position:fixed;width:16px;height:16px;pointer-events:none;z-index:2147480000;opacity:.5}
@media (hover:none),(pointer:coarse){.boam-cursor,.boam-paw,.boam-vf{display:none!important}}

/* ── 9 · Walk route that draws itself */
.boawk__stops{position:relative}
.boam-route{position:absolute;left:.84rem;top:.9rem;bottom:.9rem;width:2px;background:linear-gradient(var(--boam-gold),#7ee2a0);transform-origin:top;border-radius:2px;z-index:0}
.boawk__stops.boam-has-route li::after{opacity:.35}
.boawk__stops li::before{transition:background .35s,color .35s,box-shadow .35s;z-index:1}
.boawk__stops li.boam-lit::before{background:var(--boam-gold)!important;color:#1a120a!important;box-shadow:0 0 0 4px rgba(212,165,116,.2)}

/* ── 10 · Safari route map (park pages) */
.boam-map{margin:1.5rem auto;max-width:1100px;padding:1.2rem;border-radius:16px;border:1px solid rgba(200,178,138,.25);background:radial-gradient(90% 120% at 30% 0%,rgba(212,165,116,.12),transparent 60%),rgba(0,0,0,.2);text-align:left}
.boam-map__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;margin-bottom:.6rem}
.boam-map__head h3{margin:0;font-size:1.15rem}
.boam-map__km{font:600 .9rem/1 ui-monospace,Menlo,monospace;color:var(--boam-gold-lt)}
.boam-map svg{width:100%;height:auto;display:block}
.boam-map .n text{font:600 11px system-ui,sans-serif;fill:#f3eee3}
.boam-map .n circle{fill:#11100f;stroke:var(--boam-gold);stroke-width:2}
.boam-map .n.is-on circle{fill:var(--boam-gold)}
.boam-map .n.dim text{fill:rgba(243,238,227,.35)}.boam-map .n.dim circle{stroke:rgba(212,165,116,.3)}

/* ── 11 · Migration strip */
.boam-mig{position:relative;height:46px;overflow:hidden;margin:0;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.boam-mig__herd{position:absolute;left:0;top:6px;display:flex;gap:18px;will-change:transform}
.boam-mig__herd svg{width:44px;height:30px;fill:rgba(232,196,160,.4)}

/* ── 12 · Birds crossing */
.boam-birds{position:absolute;top:14vh;left:0;pointer-events:none;width:180px}
.boam-birds path{fill:none;stroke:rgba(20,20,20,.55);stroke-width:1.6;stroke-linecap:round}

/* ── 13 · Big Five hunt */
.boam-eyes{position:absolute;z-index:6;width:38px;height:14px;cursor:pointer;opacity:.55;border:0;background:none;padding:0}
.boam-eyes i{position:absolute;top:3px;width:9px;height:6px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#ffe38a,#c98b1c 60%,transparent 70%);box-shadow:0 0 8px rgba(255,210,90,.7);transform-origin:50% 50%}
.boam-eyes i:first-child{left:6px}.boam-eyes i:last-child{right:6px}
.boam-eyes:hover,.boam-eyes:focus-visible{opacity:1;outline:none}
.boam-eyes__tip{position:absolute;left:50%;bottom:130%;transform:translateX(-50%);white-space:nowrap;padding:.3rem .6rem;border-radius:999px;background:rgba(13,12,11,.9);border:1px solid rgba(232,196,160,.4);color:#f3eee3;font:600 11px system-ui,sans-serif;opacity:0;transition:opacity .2s;pointer-events:none}
.boam-eyes:hover .boam-eyes__tip,.boam-eyes:focus-visible .boam-eyes__tip{opacity:1}
.boam-found{position:absolute;font-size:clamp(4rem,14vw,7rem);pointer-events:none;margin:-.6em 0 0 -.5em}
.boam-b5{position:fixed;left:16px;top:84px;z-index:9970;display:flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border-radius:999px;background:rgba(13,12,11,.9);border:1px solid rgba(232,196,160,.45);color:#f3eee3;font:600 12px system-ui,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.4);cursor:pointer}
.boam-b5 span{filter:grayscale(1) opacity(.35);font-size:14px}.boam-b5 span.got{filter:none}
.boam-modal{position:fixed;inset:0;z-index:2147482600;display:grid;place-items:center;padding:16px;background:rgba(7,6,5,.72);backdrop-filter:blur(6px)}
.boam-modal__card{width:min(440px,100%);padding:1.6rem 1.4rem;border-radius:20px;background:linear-gradient(160deg,#1a1510,#11100f);border:1px solid rgba(232,196,160,.45);color:#f3eee3;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.boam-modal__card h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:2rem;margin:.2rem 0 .5rem;color:#fff}
.boam-modal__card p{margin:.4rem 0;color:rgba(243,238,227,.8);line-height:1.5}
.boam-modal__code{display:inline-block;margin:.6rem 0;padding:.5rem 1rem;border-radius:10px;border:1px dashed var(--boam-gold);font:700 1.2rem ui-monospace,Menlo,monospace;letter-spacing:.12em;color:var(--boam-gold-lt)}
.boam-modal__btns{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1rem}
.boam-btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.2rem;border-radius:999px;font:600 .9rem system-ui,sans-serif;text-decoration:none;cursor:pointer;border:1px solid rgba(232,196,160,.4);background:transparent;color:#fff}
.boam-btn--wa{background:var(--boam-green);border-color:transparent;color:#131211}

/* ── 14 · Quote ticket */
.boam-ticket{width:min(420px,100%);border-radius:18px;overflow:hidden;background:#f6efe2;color:#1a120a;box-shadow:0 30px 80px rgba(0,0,0,.6);text-align:left;position:relative}
.boam-ticket__top{padding:1.1rem 1.2rem;background:linear-gradient(135deg,#222120,#11100f);color:#f3eee3;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.boam-ticket__top b{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;font-weight:400}
.boam-ticket__top small{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--boam-gold-lt)}
.boam-ticket__body{padding:1rem 1.2rem;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;border-bottom:2px dashed rgba(26,18,10,.25);position:relative}
.boam-ticket__body div small{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;opacity:.6}
.boam-ticket__body div b{font-size:1rem}
.boam-ticket__body .wide{grid-column:1/-1}
.boam-ticket__foot{padding:.9rem 1.2rem .9rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.82rem}
.boam-ticket__ref{font:700 1rem ui-monospace,Menlo,monospace;letter-spacing:.08em}
.boam-ticket__stamp{flex:0 0 auto;padding:.25rem .6rem;border:2.5px solid #1f7a3f;border-radius:6px;color:#1f7a3f;font:800 .78rem system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transform:rotate(-8deg);opacity:0}
.boam-ticket__btns{display:flex;gap:.6rem;justify-content:flex-end;padding:0 1.2rem 1.1rem}
.boam-ticket__btns .boam-btn{flex:1}
.boam-ticket input{box-sizing:border-box;width:100%;padding:.45rem .6rem;border-radius:8px;border:1px solid rgba(26,18,10,.25);font:inherit;background:#fff;color:#1a120a}
.boam-plane{position:absolute;width:34px;height:34px;pointer-events:none}

/* ── 15 · Calculator: countdown, flip numbers, tap-to-apply budget items, press fill */
.boam-count{display:block;width:100%;margin-top:.3rem;font-size:.85rem;color:var(--boam-gold-lt)}
.boatc__pp{display:inline-block}
.boatl__list li[data-boam-act]{cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.boatl__list li[data-boam-act]:hover{border-color:rgba(126,226,160,.45);background:rgba(126,226,160,.06)}
.boatl__list li[data-boam-act] .boatl__s::after{content:" · try it →";font-size:.72rem;font-weight:500;color:rgba(243,238,227,.55)}
.boatl__list li.boam-applied{border-color:rgba(126,226,160,.7);background:rgba(126,226,160,.1)}
.boatl__list li.boam-applied .boatl__s::after{content:" · applied ✓"}
.boam-drop{position:absolute;z-index:20;font:800 1.1rem system-ui,sans-serif;color:#7ee2a0;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.boam-press{position:relative;overflow:hidden}
.boam-press::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.28);transform:scaleX(0);transform-origin:left;pointer-events:none}
.boam-press.is-down::after{transform:scaleX(1);transition:transform .6s cubic-bezier(.2,.8,.2,1)}

/* ── 16 · Polaroid reviews */
.bgr__card.boam-polaroid{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.bgr__card.boam-polaroid:hover{transform:rotate(0deg) translateY(-4px)!important;box-shadow:0 20px 40px rgba(0,0,0,.45)}

/* ── 17 · Print my trip (brochure) */
.boam-print-btn{display:inline-flex;align-items:center;gap:.4rem;margin:1rem 0 0;padding:.55rem 1rem;border-radius:999px;border:1px solid rgba(232,196,160,.45);background:transparent;color:#e8c4a0;font:600 .85rem system-ui,sans-serif;cursor:pointer}
.boam-print-head{display:none}
@media print{
  @page{margin:14mm}
  html,body{background:#fff!important;color:#111!important}
  body *{color:#111!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important;-webkit-text-fill-color:#111!important}
  .boa-header,.boa-drawer,header,footer,#boaVideoBg,.boabv-pop,.boabv-band,.boatr,.boatr-note,.boam-shutter,.boam-cursor,.boam-b5,.boam-eyes,.boam-birds,.boam-marquee,.boam-mig,
  .boatc__grid,.boatc__cta,.boatc__bd,.boam-print-btn,.boadisc__btn,.boatl__disc a,video,iframe,.boats__btns,nav,.cpt-breadcrumb,[class*="concierge"],[class*="mobile-nav"]{display:none!important}
  .boam-print-head{display:flex!important;justify-content:space-between;align-items:center;border-bottom:2px solid #b8894f;padding:0 0 8px;margin:0 0 12px}
  .boam-print-head b{font:600 18pt Georgia,serif}.boam-print-head span{font-size:9pt}
  .cpt-hero{min-height:0!important;height:auto!important;padding:0!important}
  .cpt-hero__bg,.cpt-hero__veil{display:none!important}
  section,article{break-inside:avoid-page}
  a{text-decoration:none!important}
  [style*="opacity: 0"],.boam-caret{opacity:1!important}.boam-caret{display:none!important}
}

/* ── 18 · Where's Shaiya now */
.boam-status{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .8rem;padding:.35rem .8rem;border-radius:999px;background:rgba(13,12,11,.6);border:1px solid rgba(126,226,160,.35);color:#e9f7ee!important;font:500 .8rem/1.3 system-ui,sans-serif;text-decoration:none!important;backdrop-filter:blur(8px);max-width:100%}
.boam-status__dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#3be07a;box-shadow:0 0 0 0 rgba(59,224,122,.6);animation:boamPing 2s infinite}
@keyframes boamPing{70%{box-shadow:0 0 0 8px rgba(59,224,122,0)}100%{box-shadow:0 0 0 0 rgba(59,224,122,0)}}
.boats__consult .boam-status{display:flex;width:max-content}
.tdp-hero__copy .boam-status,.myg-hero__copy .boam-status{display:flex;width:max-content;max-width:100%}

/* ── 19 · Cinema letterbox + film grain (heroes only) */
.boam-bars{position:absolute;left:0;right:0;height:13%;background:#060504;z-index:7;pointer-events:none}
.boam-bars--t{top:0;transform-origin:top}.boam-bars--b{bottom:0;transform-origin:bottom}
.boam-grain{position:absolute;inset:-50%;z-index:3;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  display:none}   /* 5 Oct 2026: grain switched off (looked like flicker on phones) */
@keyframes boamGrain{0%{transform:translate(0,0)}25%{transform:translate(-4%,3%)}50%{transform:translate(3%,-2%)}75%{transform:translate(-2%,-4%)}100%{transform:translate(0,0)}}

/* ── 20 · Scratch card */
.boam-scratch{max-width:560px;margin:1.6rem auto;padding:0 16px}
.boam-scratch__card{position:relative;min-height:170px;border-radius:18px;overflow:hidden;border:1px solid rgba(232,196,160,.5);box-shadow:0 20px 50px rgba(0,0,0,.4);background:radial-gradient(90% 120% at 50% 0%,rgba(212,165,116,.22),rgba(17,16,15,.95))}
.boam-scratch__under{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:170px;padding:1.2rem;text-align:center;color:#f3eee3}
.boam-scratch__under b{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.6rem;font-weight:400;color:#fff}
.boam-scratch__under span{font-size:.9rem;opacity:.85;max-width:40ch}
.boam-scratch__gift{font-size:1.8rem;opacity:1!important}
.boam-scratch__code{font:700 1rem ui-monospace,Menlo,monospace;font-style:normal;letter-spacing:.08em;color:#e8c4a0}
.boam-scratch__under .boam-btn{margin-top:.5rem}
.boam-scratch canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;border-radius:inherit}
@media print{.boam-scratch,.boam-status,.boam-grain,.boam-bars,.boam-share-btn{display:none!important}}

/* ── 21 · Spin the safari */
.boam-wheel{padding:clamp(2.5rem,6vw,4rem) 16px}
.boam-wheel__in{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.boam-wheel__kick{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:#e8c4a0;font-weight:600}
.boam-wheel__h{font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;font-size:clamp(2rem,5vw,3.2rem);margin:.3rem 0 .5rem;color:#fff}
.boam-wheel__copy p{color:rgba(243,238,227,.75);margin:0 0 1.2rem}
.boam-btn--gold{background:#d4a574;color:#1a120a;border-color:transparent;font-size:1rem;padding:.85rem 1.5rem}
.boam-btn:disabled{opacity:.6;cursor:wait}
.boam-wheel__stage{position:relative;max-width:360px;width:100%;justify-self:center}
.boam-wheel__svg{width:100%;height:auto;display:block;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5));will-change:transform}
.boam-wheel__pin{position:absolute;left:50%;top:-6px;z-index:2;width:0;height:0;margin-left:-12px;border-left:12px solid transparent;border-right:12px solid transparent;border-top:24px solid #fff;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}
.boam-wheel__card{margin-top:1.2rem;padding:1rem 1.1rem;border-radius:16px;border:1px solid rgba(232,196,160,.45);background:rgba(212,165,116,.1);color:#f3eee3}
.boam-wheel__icon{font-size:1.8rem}.boam-wheel__card b{display:block;font-size:1.15rem;color:#fff;margin:.2rem 0}.boam-wheel__from{color:#e8c4a0;font-weight:600}
@media (max-width:760px){.boam-wheel__in{grid-template-columns:1fr;text-align:center;gap:1.2rem}.boam-wheel__stage{order:-1;max-width:280px}.boam-wheel__card .boam-modal__btns{justify-content:center!important}}

/* ── 22 · Night sounds button */
.boam-night-btn[aria-pressed="true"]{background:rgba(59,224,122,.12);border-color:rgba(59,224,122,.5);color:#bff3cf}

/* ── 23 · Trip receipt */
.boam-receipt-btn{margin-left:auto;padding:.35rem .7rem;border-radius:999px;border:1px dashed rgba(232,196,160,.55);background:transparent;color:#e8c4a0;font:600 .78rem system-ui,sans-serif;cursor:pointer}
.boam-receipt{width:min(360px,100%);padding:1.3rem 1.2rem 1.4rem;background:#fbf7ef;color:#1a120a;font:500 .88rem/1.5 ui-monospace,Menlo,Consolas,monospace;box-shadow:0 30px 70px rgba(0,0,0,.6);
  -webkit-mask:radial-gradient(circle 7px at 50% 100%,transparent 6px,#000 7px) 0 100%/14px 100% repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 7px) no-repeat;
  mask:radial-gradient(circle 7px at 50% 100%,transparent 6px,#000 7px) 0 100%/14px 100% repeat-x,linear-gradient(#000,#000) 0 0/100% calc(100% - 7px) no-repeat}
.boam-receipt__head{text-align:center;font-weight:800;letter-spacing:.2em;border-bottom:1px dashed rgba(26,18,10,.35);padding-bottom:.6rem;margin-bottom:.6rem}.boam-receipt__head small{font-weight:500;letter-spacing:.08em}
.boam-receipt__row{display:flex;align-items:baseline;gap:.4rem;padding:.12rem 0}.boam-receipt__row i{flex:1;border-bottom:1px dotted rgba(26,18,10,.35)}.boam-receipt__row b{text-align:right;max-width:55%}
.boam-receipt__total{display:flex;justify-content:space-between;border-top:2px solid #1a120a;margin-top:.6rem;padding-top:.5rem;font-weight:800;font-size:1.05rem}
.boam-receipt__foot{text-align:center;margin-top:.9rem;font-size:.8rem;opacity:.75}
@media print{.boam-wheel,.boam-night-btn,.boam-receipt-btn{display:none!important}}
