:root{--a:#B49A6A;--a2:#9A7F4E;--bg:#F3EEE4;--sf:#EFE9DD;--tx:#2B1D18;--tx2:#6B5D52;--bd:#B49A6A22;--fh:'Cormorant Garamond',Georgia,serif;--fb:'Jost',-apple-system,sans-serif;--r:16px;--choco:#302020;--choco-deep:#241712;--bg2:#E9E1D2;--a-txt:#8A6E2E;--a-txt2:#806528}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--fb)!important;background:var(--bg);color:var(--tx);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}#progressBar{position:fixed;top:0;left:0;width:100%;height:3px;z-index:9999;background:transparent}#progressBar::after{content:'';position:absolute;left:0;top:0;height:100%;width:var(--pct,0%);background:linear-gradient(90deg,var(--a),var(--a2));transition:width .2s}#sectionLabel{position:fixed;top:12px;right:20px;z-index:9998;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--a);opacity:.7}.badge{position:fixed;top:20px;left:20px;z-index:1000;background:var(--a);color:#fff;padding:6px 16px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;backdrop-filter:blur(10px)}.sec{max-width:1400px;margin:0 auto;padding:80px 60px}.sl{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--a);margin-bottom:20px}.sl::before{content:'';width:30px;height:2px;background:var(--a)}.sec h2{font-family:var(--fh)!important;font-size:clamp(28px,3vw,42px);font-weight:700;line-height:1.2;margin-bottom:16px}.sec-p{font-size:16px;line-height:1.8;color:var(--tx2);margin-bottom:40px;max-width:650px}.hero{position:relative;min-height:85vh;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.hero-bg{position:absolute;inset:0;background:center/cover}.hero-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,23,18,.88) 0%,rgba(36,23,18,.8) 42%,rgba(36,23,18,.46) 66%,rgba(36,23,18,.06) 86%,rgba(36,23,18,0) 100%),linear-gradient(0deg,rgba(36,23,18,.74) 0%,rgba(36,23,18,.14) 48%,rgba(36,23,18,.22) 100%)}.hero-c{position:relative;z-index:2;padding:60px;padding-bottom:60px;max-width:1400px;width:100%;margin:0 auto}.hero-tag{display:inline-flex;padding:8px 20px;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;color:var(--a);background:var(--a)22;border:1px solid var(--a)44}.hero-crumb{font-family:var(--fb)!important;font-size:13px;letter-spacing:2.6px;text-transform:uppercase;color:var(--on-band,#D8CFBE);margin-bottom:22px;text-shadow:0 1px 12px rgba(36,23,18,.9)}.hero-crumb a{color:var(--a)}.hero-crumb a:hover{text-decoration:underline}.hero h1{font-family:var(--fh)!important;font-size:clamp(44px,6vw,86px);font-weight:300;color:var(--sf);line-height:.96;letter-spacing:-.02em;max-width:17ch;margin-bottom:16px}.hero h1 em{color:var(--a);font-style:italic}.hero-sub{font-size:17px;color:var(--on-band,#D8CFBE);font-weight:300;max-width:540px;line-height:1.6;margin-bottom:28px}.hero-stats{display:flex;gap:30px;flex-wrap:wrap;color:rgba(255,255,255,.8);font-size:15px;font-weight:500}.hs-n{font-family:var(--fh)!important;font-weight:700;margin-right:4px}.dg{display:grid;gap:40px;align-items:start}.dg-sidebar{grid-template-columns:1fr 1.2fr}.dhl{display:flex;flex-direction:column;gap:10px;max-height:500px;overflow-y:auto}.mw{border-radius:var(--r);overflow:hidden;border:2px solid var(--bd);height:500px;position:sticky;top:100px}#routeMap{height:100%;width:100%;z-index:1}.dc{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--sf);border-radius:14px;border:1px solid var(--bd);cursor:pointer;transition:all .4s}.dc:hover,.dc.active{transform:translateX(6px);box-shadow:0 8px 28px var(--a)22;border-color:var(--a)}.dc-d{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--a),var(--a2));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--fh)!important;font-size:14px;font-weight:700;flex-shrink:0}.dc-n{font-family:var(--fh)!important;font-size:15px;font-weight:600}.dc-l{font-size:11px;color:var(--tx2)}.dc-t{padding:3px 9px;border-radius:100px;font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;flex-shrink:0;margin-left:auto}.itin{padding:80px 60px}.itin-inner{max-width:960px;margin:0 auto}.itin-h{text-align:center;max-width:700px;margin:0 auto 60px}.itin-h h2{font-family:var(--fh)!important;font-size:clamp(28px,3vw,42px);font-weight:700;margin-bottom:16px}.itin-h p{font-size:16px;color:var(--tx2);line-height:1.7}.tl::before{content:'';position:absolute;top:0;left:36px;bottom:0;width:2px;background:linear-gradient(to bottom,var(--a),var(--bd),transparent)}.dy{position:relative;padding-left:90px;margin-bottom:24px}.dy-dot{position:absolute;left:24px;top:32px;width:26px;height:26px;border-radius:50%;background:var(--bg);border:3px solid var(--a);z-index:2;transition:all .4s}.dy.active .dy-dot{background:var(--a);box-shadow:0 0 0 6px var(--a)33}.dy-w{background:var(--sf);border-radius:var(--r);border:1px solid var(--bd);overflow:hidden;transition:all .4s;box-shadow:0 2px 12px rgba(0,0,0,.04)}.dy.active .dy-w{border-color:var(--a);box-shadow:0 12px 40px var(--a)22}.dy-hd{display:flex;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;user-select:none}.dy-hd:hover{background:var(--a)08}.dn{flex-shrink:0;width:60px;height:60px;border-radius:14px;background:linear-gradient(135deg,var(--a),var(--a2));display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.dn span:first-child{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;opacity:.8}.dn span:last-child{font-family:var(--fh)!important;font-size:22px;font-weight:700;line-height:1}.dy-th{width:60px;height:60px;border-radius:12px;overflow:hidden;flex-shrink:0;border:2px solid var(--bd)}.dy-th img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.dy-hd:hover .dy-th img{transform:scale(1.15)}.dy-i{flex:1;min-width:0}.dy-t{font-family:var(--fh)!important;font-size:19px;font-weight:600;margin-bottom:4px}.dy.active .dy-t{color:var(--a)}.dy-l{font-size:13px;color:var(--tx2)}.dy-tags{display:flex;gap:6px;flex-shrink:0}.tg{padding:5px 12px;border-radius:100px;font-size:11px;font-weight:600;text-transform:uppercase}.dy-ar{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--bd);display:flex;align-items:center;justify-content:center;transition:all .4s;font-size:14px}.dy.active .dy-ar{background:var(--a);color:#fff;transform:rotate(180deg)}.dy-bd{max-height:0;overflow:hidden;transition:max-height .6s cubic-bezier(.4,0,.2,1)}.dy.active .dy-bd{max-height:1500px}.dy-ct{padding:0 24px 24px}.dy-im{width:100%;aspect-ratio:21/9;border-radius:12px;overflow:hidden;margin-bottom:20px}.dy-im-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dy-im img{width:100%;height:100%;object-fit:cover}.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}.mg{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg);border-radius:12px}.mg-i{width:32px;height:32px;border-radius:8px;background:var(--a)18;display:flex;align-items:center;justify-content:center;font-size:14px}.mg-l{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--tx2);font-weight:600}.mg-v{font-weight:600;font-size:13px}.al{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--a);margin-bottom:14px}.al::after{content:'';flex:1;height:1px;background:var(--bd)}.lg{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lo{display:flex;gap:14px;padding:14px;background:var(--bg);border-radius:14px;border:1px solid transparent;transition:all .4s;cursor:pointer}.lo:hover{border-color:var(--a);transform:translateY(-3px);box-shadow:0 12px 32px var(--a)22}.lo img{width:80px;height:80px;border-radius:10px;object-fit:cover;flex-shrink:0}.lo-i{flex:1;display:flex;flex-direction:column;justify-content:center}.lo-t{display:inline-flex;padding:3px 10px;border-radius:100px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;width:fit-content;margin-bottom:6px}.lo-adventure{background:var(--excl-soft,var(--excl,#B85C38)22);color:var(--excl,#B85C38)}.lo-comfort{background:var(--incl-soft,var(--incl,#6B7B4F)22);color:var(--incl,#6B7B4F)}.lo-luxury{background:var(--a)22;color:var(--a)}.lo-n{font-family:var(--fh)!important;font-size:15px;font-weight:600;margin-bottom:4px}.st{display:flex;gap:2px}.inc{background:var(--bg);padding:80px 60px;color:var(--tx)}.inc-in{max-width:1100px;margin:0 auto}.inc h2{font-family:var(--fh)!important;font-size:clamp(28px,3vw,42px);text-align:center;margin-bottom:50px}.ig{display:grid;grid-template-columns:1fr 1fr;gap:40px}.ig>div{border-top:2px solid var(--incl,#6B7B4F);padding-top:26px}.ig>div:last-child{border-top-color:var(--excl,#B85C38)}.ig h3{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;margin-bottom:20px;color:var(--a)}.ii{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--bd);font-size:14px;color:var(--tx2);line-height:1.5}.iy{color:var(--incl,#6B7B4F)}.in{color:var(--excl,#B85C38)}.so{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(12px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .4s}.so.active{opacity:1;visibility:visible}.sm{background:#fff;border-radius:24px;width:90%;max-width:520px;overflow:hidden;transform:translateY(30px) scale(.95);transition:all .5s;box-shadow:0 40px 80px rgba(0,0,0,.3)}.so.active .sm{transform:translateY(0) scale(1)}.smh{position:relative;padding:28px;background:linear-gradient(135deg,var(--choco),var(--choco-deep))}.smh-c{position:relative;z-index:2}.smh-t{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--a);margin-bottom:6px}.smh-n{font-family:var(--fh)!important;font-size:22px;font-weight:700;color:#fff}.smh-m{display:flex;gap:16px;margin-top:8px}.smh-m span{font-size:12px;color:rgba(255,255,255,.6)}.smx{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;font-size:18px}.smb{padding:24px 28px 28px}.sml{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--tx2);margin-bottom:16px}.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.si{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border-radius:16px;background:#F5F0E8;border:1px solid transparent;cursor:pointer;transition:all .3s}.si:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.08)}.si-i{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;font-weight:700}.si-em{background:linear-gradient(135deg,var(--a),var(--a2))}.si-cp{background:#666}.si-l{font-size:11px;font-weight:600;color:var(--tx2)}body:has(.bar){padding-bottom:78px}.bar{position:fixed;bottom:0;left:0;right:0;background:rgba(36,23,18,.94);backdrop-filter:blur(20px);border-top:1px solid var(--a)33;padding:16px 60px;z-index:100}.bar-in{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.bl{display:flex;align-items:center;gap:32px}.bt{font-family:var(--fh)!important;color:#fff;font-size:18px;font-weight:600}.bp{color:var(--a);font-family:var(--fh)!important;font-size:24px;font-weight:700}.bp span{font-size:13px;color:#999;font-family:var(--fb)!important;font-weight:400}.bns{display:flex;gap:10px}.bn{padding:12px 24px;border-radius:100px;font-family:var(--fb)!important;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .4s;display:inline-flex;align-items:center;gap:8px}.bg{background:transparent;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.8)}.bg:hover{border-color:var(--a);color:var(--a)}.bb{background:linear-gradient(135deg,var(--a),var(--a2));color:#fff;box-shadow:0 4px 20px var(--a)44}.bb:hover{transform:translateY(-2px);box-shadow:0 8px 32px var(--a)66}.toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--choco);color:#fff;padding:14px 28px;border-radius:100px;font-size:14px;font-weight:500;z-index:10000;opacity:0;transition:all .4s;box-shadow:0 12px 40px rgba(0,0,0,.3);pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.leaflet-popup-content-wrapper{border-radius:12px!important;font-family:var(--fb)!important}.leaflet-popup-content{margin:12px 16px!important}@keyframes jroPulse{0%,100%{box-shadow:0 0 0 0 rgba(232,93,58,0.4)}50%{box-shadow:0 0 0 12px rgba(232,93,58,0)}}@media(max-width:1024px){.dg{grid-template-columns:1fr!important}.mw{position:relative;top:0;height:360px;margin-top:24px}.hero{min-height:70vh}}@media(max-width:768px){.hero-c,.sec,.itin{padding:40px 24px!important}.inc{padding:60px 24px}.bar{padding:14px 20px}.bar-in{flex-wrap:wrap;justify-content:center}.bl{flex-direction:column;gap:4px;text-align:center}.ig{grid-template-columns:1fr}#sectionLabel{display:none}.tl::before{left:20px}.dy{padding-left:50px;margin-bottom:16px}.dy-dot{left:8px;width:22px;height:22px;top:24px}.dy-hd{flex-wrap:wrap;gap:10px;padding:14px 16px}.dn{width:44px;height:44px;border-radius:10px}.dn span:first-child{font-size:8px}.dn span:last-child{font-size:17px}.dy-th{width:44px;height:44px;border-radius:8px}.dy-t{font-size:15px}.dy-l{font-size:11px}.dy-tags{display:none}.dy-ar{width:30px;height:30px;font-size:12px}.dy-ct{padding:0 16px 16px}.dy-im{aspect-ratio:16/9;border-radius:8px;margin-bottom:14px}.dy-im-2{grid-template-columns:1fr;aspect-ratio:auto}.dy-im-2 img{aspect-ratio:16/9}.meta-grid{grid-template-columns:1fr;gap:8px}.lg{grid-template-columns:1fr;gap:10px}.lo{padding:10px;gap:10px}.lo img{width:60px;height:60px;border-radius:8px}.lo-n{font-size:13px}}html{scroll-behavior:smooth}body::before{content:'';position:fixed;inset:0;z-index:9997;pointer-events:none;opacity:.03; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); mix-blend-mode:multiply}.page-curtain{position:fixed;inset:0;z-index:99999;background:var(--choco);display:flex;align-items:center;justify-content:center; transition:opacity .2s ease,visibility .2s}.page-curtain.lifted{opacity:0;visibility:hidden;pointer-events:none}.page-curtain .loader-ring{width:48px;height:48px;border:3px solid rgba(180,154,106,.2);border-top-color:var(--a);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes heroZoom{from{transform:scale(1.15)}to{transform:scale(1)}}@keyframes heroDrift{0%,100%{transform:scale(1.02) translate(0,0)}25%{transform:scale(1.02) translate(-5px,-3px)}50%{transform:scale(1.02) translate(3px,-5px)}75%{transform:scale(1.02) translate(-3px,4px)}}.hero-bg{animation:heroZoom 3s cubic-bezier(.16,1,.3,1) forwards, heroDrift 30s ease-in-out 3s infinite}@keyframes heroTagIn{from{opacity:0;transform:translateY(20px) scale(.9);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes heroTitleIn{from{opacity:0;transform:translateY(40px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes heroSubIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes heroStatIn{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmerSlide{0%{background-position:-200% center}100%{background-position:200% center}}.hero-tag{opacity:0;animation:heroTagIn 1s cubic-bezier(.16,1,.3,1) .3s forwards}.hero h1{opacity:0;animation:heroTitleIn 1.2s cubic-bezier(.16,1,.3,1) .6s forwards}.hero h1 em{background:linear-gradient(90deg,var(--a),#D9C79A,var(--a));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmerSlide 4s linear infinite}.hero-sub{opacity:0;animation:heroSubIn 1s cubic-bezier(.16,1,.3,1) .9s forwards}.hero-stats{opacity:0;animation:heroStatIn .8s cubic-bezier(.16,1,.3,1) 1.2s forwards}.hero-stats .hs{opacity:0;animation:heroStatIn .6s cubic-bezier(.16,1,.3,1) forwards}.hero-stats .hs:nth-child(1){animation-delay:1.2s}.hero-stats .hs:nth-child(2){animation-delay:1.4s}.hero-stats .hs:nth-child(3){animation-delay:1.6s}.hero::after{content:'';position:absolute;bottom:28px;left:50%;width:24px;height:40px;border:2px solid rgba(255,255,255,.3);border-radius:12px;transform:translateX(-50%);z-index:10}.hero::before{content:'';position:absolute;bottom:38px;left:50%;width:4px;height:8px;background:#fff;border-radius:4px;transform:translateX(-50%);z-index:11;animation:scrollDot 2s ease-in-out infinite}@keyframes scrollDot{0%,100%{opacity:1;transform:translateX(-50%) translateY(0)}50%{opacity:.3;transform:translateX(-50%) translateY(12px)}}@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}.badge{animation:badgeFloat 3s ease-in-out infinite;opacity:0;animation:badgeFloat 3s ease-in-out 2s infinite,heroTagIn .8s cubic-bezier(.16,1,.3,1) 1.5s forwards}.rv{opacity:0;transform:translateY(50px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.rv.visible{opacity:1;transform:translateY(0)}.rv-left{opacity:0;transform:translateX(-60px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.rv-left.visible{opacity:1;transform:translateX(0)}.rv-right{opacity:0;transform:translateX(60px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.rv-right.visible{opacity:1;transform:translateX(0)}.rv-scale{opacity:0;transform:scale(.85);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.rv-scale.visible{opacity:1;transform:scale(1)}.rv-blur{opacity:0;filter:blur(12px);transform:translateY(30px);transition:all 1s cubic-bezier(.16,1,.3,1)}.rv-blur.visible{opacity:1;filter:blur(0);transform:translateY(0)}.stagger-children .rv:nth-child(1){transition-delay:.05s}.stagger-children .rv:nth-child(2){transition-delay:.12s}.stagger-children .rv:nth-child(3){transition-delay:.19s}.stagger-children .rv:nth-child(4){transition-delay:.26s}.stagger-children .rv:nth-child(5){transition-delay:.33s}.stagger-children .rv:nth-child(6){transition-delay:.40s}.stagger-children .rv:nth-child(7){transition-delay:.47s}.stagger-children .rv:nth-child(8){transition-delay:.54s}.stagger-children .rv:nth-child(9){transition-delay:.61s}.stagger-children .rv:nth-child(10){transition-delay:.68s}.stagger-children .rv:nth-child(11){transition-delay:.75s}@keyframes slLineGrow{from{width:0}to{width:30px}}.sl::before{animation:slLineGrow .8s cubic-bezier(.16,1,.3,1) forwards;width:0}.visible .sl::before,.sl.visible::before{width:30px}.dc{position:relative;overflow:hidden}.dc::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(200,164,94,.06),transparent);opacity:0;transition:opacity .4s}.dc:hover::before{opacity:1}.dc{transition:all .5s cubic-bezier(.34,1.56,.64,1)}.dc:hover{transform:translateX(8px) scale(1.02);box-shadow:0 12px 40px rgba(200,164,94,.15);border-color:var(--a)}.dc.active{transform:translateX(10px) scale(1.03)}.dc-d{transition:all .5s cubic-bezier(.34,1.56,.64,1)}.dc:hover .dc-d{transform:scale(1.1) rotate(-3deg);box-shadow:0 4px 16px rgba(200,164,94,.3)}@keyframes dotPulseIn{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes timelineGrow{from{height:0}to{height:100%}}.tl::before{animation:timelineGrow 2s cubic-bezier(.16,1,.3,1) forwards;height:0!important}.tl.animated::before{height:100%!important}.dy .dy-dot{transform:scale(0);opacity:0}.dy.visible .dy-dot{animation:dotPulseIn .6s cubic-bezier(.34,1.56,.64,1) forwards}.dy-w{transition:all .5s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d;perspective:1000px}.dy-w:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(200,164,94,.12)}.dy.active .dy-w{transform:translateY(-4px) scale(1.005)}@keyframes dayNumPulse{0%{box-shadow:0 0 0 0 rgba(200,164,94,.5)}70%{box-shadow:0 0 0 10px rgba(200,164,94,0)}100%{box-shadow:0 0 0 0 rgba(200,164,94,0)}}.dy.active .dn{animation:dayNumPulse 2s ease-in-out infinite}.dy-bd{clip-path:inset(0 0 100% 0);transition:max-height .6s cubic-bezier(.4,0,.2,1),clip-path .6s cubic-bezier(.4,0,.2,1)}.dy.active .dy-bd{clip-path:inset(0 0 0 0)}.dy-im img{transition:transform 8s cubic-bezier(.16,1,.3,1);transform:scale(1.08)}.dy.active .dy-im img{transform:scale(1)}.lo{transition:all .5s cubic-bezier(.34,1.56,.64,1);position:relative}.lo::after{content:'';position:absolute;inset:-2px;border-radius:16px;background:linear-gradient(135deg,var(--a),var(--a2));z-index:-1;opacity:0;transition:opacity .4s;filter:blur(8px)}.lo:hover::after{opacity:.15}.lo:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 48px rgba(200,164,94,.18);border-color:var(--a)}.lo img{transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.lo:hover img{transform:scale(1.1) rotate(-2deg)}.mw{box-shadow:0 0 24px rgba(200,164,94,.15)}@keyframes priceSlideLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes priceSlideRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}.ig > div:first-child .ii{opacity:0;animation:priceSlideLeft .6s cubic-bezier(.16,1,.3,1) forwards}.ig > div:last-child .ii{opacity:0;animation:priceSlideRight .6s cubic-bezier(.16,1,.3,1) forwards}.inc.visible .ig > div:first-child .ii:nth-child(2){animation-delay:.1s}.inc.visible .ig > div:first-child .ii:nth-child(3){animation-delay:.15s}.inc.visible .ig > div:first-child .ii:nth-child(4){animation-delay:.2s}.inc.visible .ig > div:first-child .ii:nth-child(5){animation-delay:.25s}.inc.visible .ig > div:first-child .ii:nth-child(6){animation-delay:.3s}.inc.visible .ig > div:first-child .ii:nth-child(7){animation-delay:.35s}.inc.visible .ig > div:first-child .ii:nth-child(8){animation-delay:.4s}.inc.visible .ig > div:first-child .ii:nth-child(9){animation-delay:.45s}.inc.visible .ig > div:last-child .ii:nth-child(2){animation-delay:.1s}.inc.visible .ig > div:last-child .ii:nth-child(3){animation-delay:.15s}.inc.visible .ig > div:last-child .ii:nth-child(4){animation-delay:.2s}.inc.visible .ig > div:last-child .ii:nth-child(5){animation-delay:.25s}.inc.visible .ig > div:last-child .ii:nth-child(6){animation-delay:.3s}.inc.visible .ig > div:last-child .ii:nth-child(7){animation-delay:.35s}.ii .iy,.ii .in{display:inline-flex;transition:all .4s}.ii:hover .iy{transform:scale(1.3);text-shadow:0 0 8px rgba(107,123,79,.5)}.ii:hover .in{transform:scale(1.3);text-shadow:0 0 8px rgba(184,92,56,.5)}.ii{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.ii:hover{padding-left:8px;background:rgba(43,29,24,.03);border-radius:8px}.ie-cta{text-align:center;margin-top:40px}.ie-cta span{display:block;font-family:var(--fh)!important;font-style:italic;font-size:21px;color:var(--tx);margin-bottom:14px}.ie-cta .btn-solid{display:inline-block;background:var(--a);color:var(--btn-ink,var(--choco-deep));font-weight:600;font-family:var(--fb)!important;font-size:13px;letter-spacing:.6px;text-transform:uppercase;padding:15px 36px;border-radius:100px;transition:transform .2s,box-shadow .2s}.ie-cta .btn-solid:hover{transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(180,154,106,.5)}.faq-cta{display:inline-block;margin:0 0 40px;padding:14px 30px;border-radius:100px;background:var(--a);color:#241712;font-family:var(--fb)!important;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;transition:transform .2s,box-shadow .2s}.faq-cta:hover{transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(180,154,106,.5)}.ov-fig{margin-top:32px}.ov-figph{height:340px;border-radius:var(--r);background-size:cover;background-position:center;border:1px solid var(--bd)}.ov-fig figcaption{font-size:13px;color:var(--tx2);margin-top:10px;font-style:italic}@media(max-width:620px){.ov-figph{height:220px}}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.faq-head-col .sec-p{max-width:34ch}@media(max-width:860px){.faq-grid{grid-template-columns:1fr;gap:36px}.faq-head-col .sec-p{max-width:none}}.wh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:12px}.wh-card{position:relative;border-radius:var(--r);overflow:hidden;min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(180,154,106,.22);transition:transform .5s cubic-bezier(.16,.84,.32,1)}/* v8.4.348 FIX: a park with no photo has no picture layer and no veil (see GSI_Golden_Safari_Sections::parks), so the 380px floor reserved for an image would otherwise leave a tall empty rectangle. Let the card sit on its text. */.wh-card.wh-card-noimg{min-height:0;align-self:start;justify-content:flex-start;background:rgba(var(--on-band-rgb,250,248,244),.05)}.wh-card-noimg .wh-n{color:var(--a-txt2)}.wh-card-noimg .wh-b h3{color:var(--tx)}.wh-card-noimg .wh-b p{color:var(--tx2)}.wh-card:hover{transform:translateY(-6px)}.wh-ph{position:absolute;inset:0;overflow:hidden}.wh-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.16,.84,.32,1)}.wh-card:hover .wh-ph img{transform:scale(1.07)}.wh-veil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(36,23,18,.95) 8%,rgba(36,23,18,.45) 58%,rgba(36,23,18,.1))}.wh-b{position:relative;z-index:2;padding:24px}.wh-n{font-family:var(--fh)!important;font-style:italic;font-size:15px;color:var(--a)}.wh-b h3{font-family:var(--fh)!important;font-weight:400;font-size:23px;color:#fff;margin:6px 0 8px;line-height:1.1}.wh-b p{font-size:14px;color:rgba(var(--on-band-rgb,239,233,221),.75);line-height:1.55}.wh-grid .wh-card:nth-child(2){margin-top:34px}.wh-grid .wh-card:nth-child(3){margin-top:68px}@media(max-width:900px){.wh-grid{grid-template-columns:1fr;gap:16px}.wh-grid .wh-card:nth-child(2),.wh-grid .wh-card:nth-child(3){margin-top:0}.wh-card{min-height:280px}}@keyframes barSlideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.bar{animation:barSlideUp .8s cubic-bezier(.16,1,.3,1) 2s both}@keyframes btnShimmer{0%{background-position:200% center}100%{background-position:-200% center}}.bb{background:linear-gradient(110deg,var(--a) 0%,var(--a) 40%,#D9C79A 50%,var(--a) 60%,var(--a) 100%);background-size:200% auto;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.bb:hover{animation:btnShimmer 1.5s ease;transform:translateY(-3px) scale(1.03);box-shadow:0 12px 40px rgba(200,164,94,.5)}@keyframes modalSpring{0%{transform:translateY(80px) scale(.9) rotateX(8deg);opacity:0}100%{transform:translateY(0) scale(1) rotateX(0deg);opacity:1}}.so.active .sm{animation:modalSpring .6s cubic-bezier(.34,1.56,.64,1) forwards}.si{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.si:hover{transform:translateY(-6px) scale(1.08);box-shadow:0 12px 32px rgba(0,0,0,.12)}.si:active{transform:translateY(-2px) scale(.98)}.si .si-i{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.si:hover .si-i{transform:rotate(-8deg) scale(1.1)}@keyframes panelSlideIn{0%{transform:translateX(100%) scale(.98);opacity:0}100%{transform:translateX(0) scale(1);opacity:1}}.gsib-overlay.active .gsib-panel{animation:panelSlideIn .55s cubic-bezier(.22,1,.36,1) forwards}@keyframes stepPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.2)}100%{transform:scale(1);opacity:1}}.gsib-step.active .gsib-step-num{animation:stepPop .4s cubic-bezier(.34,1.56,.64,1)}.gsib-step.done .gsib-step-num{animation:stepPop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes tcCardIn{0%{opacity:0;transform:translateY(20px) scale(.97)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes rtIn{0%{opacity:0;transform:translateY(22px)}100%{opacity:1;transform:translateY(0)}}@keyframes beyIn{0%{opacity:0;transform:translateY(28px)}100%{opacity:1;transform:translateY(0)}}.bey-card.bey-noimg{background:linear-gradient(135deg,var(--choco),var(--choco-deep))}.act-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--bd)}.act-hd{display:flex;align-items:center;gap:8px;margin-bottom:12px}.act-hd-icon{font-size:14px}.act-hd-title{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--tx2)}.act-hd-count{font-size:10px;font-weight:700;color:var(--a);background:var(--a)18;border-radius:100px;padding:2px 8px}.act-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.act-track{display:flex;gap:10px;padding-bottom:2px}.act-chip{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 14px 8px 8px;border-radius:100px;background:var(--bg);border:1px solid var(--bd);opacity:0;animation:tcCardIn .5s cubic-bezier(.34,1.56,.64,1) forwards}.act-chip-bubble{width:26px;height:26px;border-radius:50%;background:var(--sf);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.act-chip-text{display:flex;flex-direction:column;line-height:1.25}.act-chip-name{font-size:12.5px;font-weight:600;color:var(--tx);white-space:nowrap}.act-chip-time{font-size:9.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--tx2)}.act-chip.act-morning .act-chip-bubble{background:#F5E6C8}.act-chip.act-afternoon .act-chip-bubble{background:#F0DCC8}.act-chip.act-evening .act-chip-bubble{background:#DCC8E6}.act-chip.act-allday .act-chip-bubble{background:var(--a)22}.gsib-traveller-card{animation:tcCardIn .5s cubic-bezier(.34,1.56,.64,1) both}.gsib-traveller-card:nth-child(1){animation-delay:.05s}.gsib-traveller-card:nth-child(2){animation-delay:.12s}.gsib-traveller-card:nth-child(3){animation-delay:.19s}.gsib-traveller-card:nth-child(4){animation-delay:.26s}.gsib-traveller-card:nth-child(5){animation-delay:.33s}.gsib-tc-type-badge{transition:all .4s cubic-bezier(.34,1.56,.64,1)}@keyframes inputGlow{0%{box-shadow:0 0 0 0 rgba(200,164,94,.3)}100%{box-shadow:0 0 0 6px rgba(200,164,94,0)}}.gsib-input:focus{animation:inputGlow .6s ease forwards}@keyframes chipBounce{0%{transform:scale(1)}40%{transform:scale(.92)}70%{transform:scale(1.06)}100%{transform:scale(1)}}.gsib-chip.selected{animation:chipBounce .4s cubic-bezier(.34,1.56,.64,1)}@keyframes rcPop{0%{transform:scale(1)}30%{transform:scale(.95)}70%{transform:scale(1.04)}100%{transform:scale(1)}}.gsib-radio-card.selected{animation:rcPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes successBurst{0%{transform:scale(0) rotate(-45deg);opacity:0}60%{transform:scale(1.15) rotate(5deg);opacity:1}100%{transform:scale(1) rotate(0deg);opacity:1}}.gsib-success-icon{animation:successBurst .8s cubic-bezier(.34,1.56,.64,1) .2s both}.gsib-progress-fill{position:relative;overflow:hidden}.gsib-progress-fill::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmerSlide 2s linear infinite}@keyframes counterPress{0%{transform:scale(1)}50%{transform:scale(.85)}100%{transform:scale(1)}}.gsib-counter-btn:active{animation:counterPress .2s ease}@keyframes float1{0%,100%{transform:translate(0,0) rotate(0deg)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}@keyframes float2{0%,100%{transform:translate(0,0) rotate(0deg)}33%{transform:translate(-40px,15px) rotate(-120deg)}66%{transform:translate(25px,-35px) rotate(-240deg)}}@keyframes float3{0%,100%{transform:translate(0,0)}50%{transform:translate(15px,-20px)}}.hero-c::before{content:'⬡';position:absolute;top:20%;right:15%;font-size:120px;color:rgba(200,164,94,.04);animation:float1 20s ease-in-out infinite;pointer-events:none;z-index:0}.hero-c::after{content:'';position:absolute;bottom:30%;right:25%;font-size:60px;color:rgba(200,164,94,.06);animation:float2 15s ease-in-out infinite;pointer-events:none;z-index:0}.sec::after{content:'';display:block;width:60px;height:3px;background:linear-gradient(90deg,var(--a),transparent);border-radius:3px;margin-top:60px;opacity:0;transition:all 1s cubic-bezier(.16,1,.3,1)}.sec.visible::after{opacity:1;width:120px}@keyframes toastIn{0%{transform:translateX(-50%) translateY(30px) scale(.9);opacity:0}100%{transform:translateX(-50%) translateY(0) scale(1);opacity:1}}.toast.show{animation:toastIn .4s cubic-bezier(.34,1.56,.64,1)}@media(prefers-reduced-motion:reduce){ *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important} .hero-bg{animation:none!important} .rv,.rv-left,.rv-right,.rv-scale,.rv-blur{opacity:1!important;transform:none!important;filter:none!important} body::before{display:none}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--a);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--a2)}.gsib-body::-webkit-scrollbar{width:4px}.gsib-body::-webkit-scrollbar-thumb{background:rgba(200,164,94,.3);border-radius:2px}.dhl::-webkit-scrollbar{width:4px}.dhl::-webkit-scrollbar-thumb{background:rgba(200,164,94,.2);border-radius:2px}.gsi-lg-strip-wrap{padding:0 0 20px}.gsi-lg-title{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--a);padding:20px 0 10px;display:block}.gsi-lg-strip{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:0 0 16px;scrollbar-color:var(--a) rgba(128,128,128,.12);scrollbar-width:auto}.gsi-lg-strip::-webkit-scrollbar{height:12px}.gsi-lg-strip::-webkit-scrollbar-track{background:rgba(128,128,128,.12);border-radius:100px;margin:0 4px;border:1px solid rgba(128,128,128,.06)}.gsi-lg-strip::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--a),var(--a2,var(--a)));border-radius:100px;border:2px solid rgba(255,255,255,.25);min-width:50px;cursor:grab}.gsi-lg-strip::-webkit-scrollbar-thumb:hover{background:var(--a);border-color:rgba(255,255,255,.4)}.gsi-lg-strip::-webkit-scrollbar-thumb:active{cursor:grabbing}.gsi-lg-card{flex-shrink:0;width:200px;scroll-snap-align:start;border-radius:12px;overflow:hidden;cursor:pointer;border:1px solid rgba(128,128,128,.15);transition:transform .3s,box-shadow .3s;background:var(--sf,#fff)}.gsi-lg-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,.25)}.gsi-lg-img{height:130px;position:relative;overflow:hidden;background:rgba(128,128,128,.1)}.gsi-lg-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gsi-lg-card:hover .gsi-lg-img img{transform:scale(1.05)}.gsi-lg-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;background:rgba(128,128,128,.08)}.gsi-lg-cnt{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);border-radius:100px;padding:2px 8px;font-size:10px;color:rgba(255,255,255,.85)}.gsi-lg-info{padding:10px 12px}.gsi-lg-tier{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--a);margin-bottom:4px}.gsi-lg-name{font-size:14px;font-weight:600;line-height:1.25;margin-bottom:3px}.gsi-lg-stars{font-size:10px;color:var(--a);letter-spacing:1px}.gsi-lg-loc{font-size:11px;color:var(--tx2,#888);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsec{position:relative} .gs-ghost{position:absolute;top:38px;right:44px;font-family:var(--fh)!important; font-size:clamp(90px,11vw,190px);font-weight:700;line-height:.8; color:var(--a);opacity:.13;pointer-events:none;user-select:none;letter-spacing:-.04em} .ov-grid{grid-template-columns:1.35fr 1fr;gap:64px;position:relative;z-index:1} .ov-body p:first-child{font-family:var(--fh)!important;font-size:clamp(21px,1.7vw,29px); font-weight:400;line-height:1.45;color:var(--tx);margin-bottom:26px} .ov-body p:first-child::first-letter{font-size:2.9em;float:left;line-height:.82; padding:6px 12px 0 0;color:var(--a2);font-weight:700} .ov-card{background:var(--tx);border-radius:20px;padding:20px 8px 24px;box-shadow:0 24px 60px -18px rgba(26,26,24,.4)} .ov-facts-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:0 18px 18px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.09)} .ov-facts-hd>span{font-family:var(--fh)!important;font-size:14px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--a);line-height:1.5} .ov-facts-price{text-align:right;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.6);white-space:nowrap} .ov-facts-price strong{display:block;font-family:var(--fh)!important;font-size:24px;font-weight:600;color:#fff;text-transform:none;letter-spacing:0} .ov-facts-price strong+span{font-size:12px;text-transform:none;color:rgba(255,255,255,.6)} .ov-facts{background:none;border:0;padding:0;list-style:none} .ov-facts li{display:flex;justify-content:space-between;align-items:baseline;gap:14px; padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.09);list-style:none} .ov-facts .k{font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase; color:var(--a);white-space:nowrap} .ov-facts .v{font-family:var(--fh)!important;font-size:16px;text-align:right; color:#fff;font-weight:500} .ov-facts-cta{display:block;margin:20px 18px 0;padding:15px;border-radius:100px;background:var(--a);color:#241712;text-align:center;font-family:var(--fb)!important;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;transition:transform .2s,box-shadow .2s} .ov-facts-cta:hover{transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(180,154,106,.5)} .ov-facts-wa{margin:18px 18px 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.09);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.55);text-align:center} .ov-facts-wa a{display:block;margin-top:4px;font-family:var(--fh)!important;font-size:16px;font-weight:600;color:#fff;text-transform:none;letter-spacing:0} .pr2{gap:56px;position:relative;z-index:1} .pr2 p:first-child{font-family:var(--fh)!important;font-size:clamp(18px,1.35vw,23px); font-weight:400;line-height:1.6;color:var(--tx)} .gsec-dark .pr2 p:first-child{color:var(--on-band,#fff)} #flights .pr2{display:block;max-width:74ch;margin:0 auto;text-align:center} #flights .pr2 p:first-child{font-size:clamp(20px,1.7vw,27px);margin-bottom:22px} #flights .pr2 p{text-align:left} #flights .sl,#flights h2,#flights .sec-p{text-align:center} #flights .sl{justify-content:center} .ov-body p:first-child::first-letter{font-size:2.4em} .gsec{padding:100px 40px;max-width:1280px;margin:0 auto} .gsec-c .sl{justify-content:center} .ov-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start} .ov-body p{font-size:16px;line-height:1.9;color:var(--tx2);margin-bottom:18px} .ov-body p:first-child{font-size:19px;line-height:1.75;color:var(--tx)} .ov-body p:last-child{margin-bottom:0} .ov-facts li:last-child{border-bottom:0} .pr2{display:grid;grid-template-columns:1fr 1fr;gap:48px} .pr2 p{font-size:16px;line-height:1.9;color:var(--tx2);margin-bottom:16px} .pr2 p:last-child{margin-bottom:0} .gsec-dark .pr2 p{color:var(--on-band-soft,rgba(var(--on-band-rgb,250,248,244),.68))} .gsec .sl,.camp-l,.acc-n{color:var(--a-txt,#8A6E2E)} .gsec-dark .sl,.gsec-rates .sl{color:var(--acc-band,var(--a))} .gsec h2{font-family:var(--fh)!important;font-size:clamp(28px,3vw,42px);font-weight:600; line-height:1.2;letter-spacing:-.02em;margin-bottom:14px} .gsec h2 em{font-style:italic;color:var(--a2)} .gsec .sl,.camp-l,.ov-pill-l,.mo-n,.rvc-f,.camp-tier,.ad-when{letter-spacing:.15em} .ov-facts .k{letter-spacing:.14em} @media(max-width:900px){ .gs-ghost{font-size:76px;top:26px;right:20px;opacity:.05} .gsec{padding:70px 24px} .ov-grid,.mig,.pr2{grid-template-columns:1fr;gap:32px} } @media(max-width:620px){ .ov-body p:first-child::first-letter{font-size:2.4em} }
/* v8.4.283: 6-section styles */ .gsec-rates{background:var(--tx);max-width:none;color:var(--bg)} .gsec-rates>.gsec-in{max-width:1280px;margin:0 auto} .gsec-rates h2{color:var(--on-ink-text,#fff)} .gsec-rates h2 em{color:var(--a)} .gsec-rates .sec-p{color:var(--on-ink-soft,rgba(var(--on-band-rgb,250,248,244),.6))} .camp-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px 26px} .camp{background:none;border:0;box-shadow:none;overflow:visible} .camp:hover{transform:none;box-shadow:none} .camp-ph{position:relative;overflow:hidden;background:var(--bg); aspect-ratio:4/5;border-radius:20px;box-shadow:0 20px 50px -18px rgba(26,26,24,.35)} .camp-in{position:relative;margin:-58px 14px 0;padding:18px 18px 20px; background:var(--sf);border:1px solid var(--bd);border-radius:16px; box-shadow:0 14px 34px -12px rgba(26,26,24,.2); transition:transform .4s cubic-bezier(.22,1,.36,1)} .camp:hover .camp-in{transform:translateY(-8px)} .camp-tier{top:14px;left:14px} .mig{grid-template-columns:1fr 340px;gap:60px;margin-top:64px;padding-top:52px} .mig-stat{background:var(--tx);border:0;border-radius:20px;padding:34px; box-shadow:0 24px 60px -18px rgba(26,26,24,.4)} .mig-v{color:var(--a)} .mig-k{color:rgba(var(--on-band-rgb,250,248,244),.6)} .camp-in,.ad-in,.pk-in{margin-left:10px;margin-right:10px} .camp:hover .camp-in,.ad:hover .ad-in,.pk:hover .pk-in,.ov-pill:hover{transform:none} .gsec-tint{background:var(--bg2);max-width:none}
.sec-tint{background:var(--bg2)} .gsec-tint>.gsec-in{max-width:1280px;margin:0 auto} .gsec-dark>.gsec-in{max-width:1280px;margin:0 auto} .camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px} .camp-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover; transition:transform .8s cubic-bezier(.22,1,.36,1)} .camp:hover .camp-ph img{transform:scale(1.06)} .camp-tier{position:absolute;top:12px;left:12px;padding:5px 11px;border-radius:100px; font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase; background:var(--tx);color:var(--a)} .camp-n{font-family:var(--fh)!important;font-size:19px;font-weight:600;line-height:1.25;margin-bottom:5px} .camp-l{font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase; color:var(--a2);margin-bottom:10px} .camp-d{font-size:13.5px;line-height:1.7;color:var(--tx2)} .mig{margin-top:52px;padding-top:44px;border-top:1px solid var(--bd); display:grid;grid-template-columns:1fr 300px;gap:52px;align-items:start} .mig-h{font-family:var(--fh)!important;font-size:clamp(24px,2.4vw,32px);font-weight:600; line-height:1.2;margin-bottom:16px} .mig-b p{font-size:16px;line-height:1.9;color:var(--tx2);margin-bottom:14px}/* v8.4.348 FIX: .mig-b renders inside .gsec-dark, where the light-theme --tx2 left body text at 2.45:1 against --choco — under the 4.5:1 AA floor. Same treatment as .gsec-dark .pr2 p, which measures 12.8:1. */.gsec-dark .mig-b p{color:var(--on-band-soft,rgba(var(--on-band-rgb,250,248,244),.68))} .mig-b p:last-child{margin-bottom:0} .mig-stat{background:var(--sf);border:1px solid var(--a);border-radius:var(--r); padding:26px;text-align:center}/* v8.4.434: inside the Elementor design's .mig-block the stats are not a card */.mig-block .mig-stat{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;text-align:left}.mig-block .ms{border-left:2px solid var(--a);padding-left:18px}.mig-block .ms .v{display:block;font-family:var(--fh);font-size:34px;line-height:1;color:var(--acc-band,#E2C98A)}.mig-block .ms .k{display:block;font-size:14px;line-height:1.5;margin-top:6px;color:rgba(var(--on-band-rgb,239,233,221),.72)} .mig-v{font-family:var(--fh)!important;font-size:clamp(38px,4vw,54px);font-weight:700;color:var(--a2);line-height:1} .mig-k{font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase; color:var(--tx2);margin-top:10px;line-height:1.6} .acc{max-width:900px;margin:0 auto} .acc-i{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r); margin-bottom:10px;overflow:hidden;transition:border-color .3s,box-shadow .3s} .acc-i:hover{border-color:var(--a)} .acc-i.open{border-color:var(--a);box-shadow:0 8px 28px rgba(200,164,94,.14)} .acc-q{display:grid;grid-template-columns:38px 1fr auto 30px;align-items:center;gap:14px; padding:20px 22px;cursor:pointer;text-align:left;width:100%;background:none;border:0; font-family:var(--fb)!important;min-height:44px} .acc-n{font-family:var(--fh)!important;font-size:16px;font-weight:600;color:var(--a2)} .acc-t{font-family:var(--fh)!important;font-size:17px;font-weight:600;line-height:1.35;color:var(--tx)} .acc-c{font-size:12px;font-weight:600;letter-spacing:.6px;color:var(--tx2);white-space:nowrap} .acc-x{font-size:20px;font-weight:300;color:var(--a2);transition:transform .4s;line-height:1} .acc-i.open .acc-x{transform:rotate(45deg)} .acc-a{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.22,1,.36,1)} .acc-i.open .acc-a{max-height:760px} .acc-in{padding:0 22px 22px 74px;font-size:14.5px;line-height:1.85;color:var(--tx2)} .acc-sub{list-style:none;margin-top:14px} .acc-sub li{padding:8px 0 8px 18px;position:relative;font-size:13.5px; color:var(--tx2);border-bottom:1px solid var(--bd)} .acc-sub li:last-child{border-bottom:0} .acc-sub li::before{content:'';position:absolute;left:0;top:16px;width:8px;height:2px; background:var(--a);border-radius:2px} .rvc{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r);padding:26px; display:flex;flex-direction:column;box-shadow:0 4px 24px rgba(26,26,24,.04); transition:transform .4s,box-shadow .4s} .rvc:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(26,26,24,.1)} .rvc-s{color:var(--a);letter-spacing:2px;font-size:13px;margin-bottom:10px} .rvc-t{font-family:var(--fh)!important;font-size:18px;font-weight:600;line-height:1.3;margin-bottom:11px} .rvc-b{font-size:13.5px;line-height:1.75;color:var(--tx2);margin-bottom:20px} .rvc-w{margin-top:auto;padding-top:16px;border-top:1px solid var(--bd); display:flex;align-items:center;gap:11px} .rvc-av{width:34px;height:34px;border-radius:50%;background:var(--a);color:var(--btn-ink,#fff); display:grid;place-items:center;font-family:var(--fh)!important;font-size:15px;font-weight:600;flex-shrink:0} .rvc-n{font-family:var(--fh)!important;font-size:15px;font-weight:600;display:block;line-height:1.2} .rvc-f{font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--tx2)} .acc-q{grid-template-columns:32px 1fr 26px} .acc-c{grid-column:2;grid-row:2;padding-top:5px;white-space:normal} .acc-in{padding-left:24px} .camp:hover,.ad:hover,.rvc:hover{transform:none} .gsec .sl,.camp-l,.acc-n{color:var(--a-txt)} .gsec-dark .sl,.gsec-rates .sl{color:var(--acc-band,var(--a))} .grd{margin-top:12px;position:relative} .grd-stage{position:relative;border-radius:24px;overflow:hidden; aspect-ratio:21/9;background:var(--tx); box-shadow:0 40px 90px -40px rgba(26,26,24,.55)} .grd-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden; transition:opacity .8s cubic-bezier(.4,0,.2,1);pointer-events:none} .grd-slide.on{opacity:1;visibility:visible;pointer-events:auto} .grd-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover; transform:scale(1.06);transition:transform 7s ease-out} .grd-slide.on .grd-img{transform:scale(1)} .grd-scrim{position:absolute;inset:0; background:linear-gradient(90deg,rgba(20,18,14,.86) 0%,rgba(20,18,14,.55) 40%,rgba(20,18,14,.08) 70%,transparent 100%), linear-gradient(0deg,rgba(20,18,14,.5) 0%,transparent 45%)} .grd-cap{position:absolute;left:0;bottom:0;max-width:600px; padding:clamp(28px,4vw,64px);color:var(--bg);z-index:2} .grd-no{display:block;font-family:var(--fh)!important;font-weight:700; font-size:clamp(48px,6vw,96px);line-height:.9;color:var(--a); letter-spacing:-.03em;opacity:.9; transform:translateY(16px);opacity:0;transition:all .7s .15s cubic-bezier(.2,1,.3,1)} .grd-kick{display:block;font-family:var(--fb)!important;font-size:11px;font-weight:600; letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.72); margin:14px 0 10px; transform:translateY(16px);opacity:0;transition:all .7s .25s cubic-bezier(.2,1,.3,1)} .grd-title{font-family:var(--fh)!important;font-weight:600; font-size:clamp(26px,3.2vw,46px);line-height:1.08;letter-spacing:-.02em; color:#fff;margin:0 0 14px; transform:translateY(20px);opacity:0;transition:all .7s .35s cubic-bezier(.2,1,.3,1)} .grd-desc{font-family:var(--fb)!important;font-size:clamp(14px,1.1vw,17px);line-height:1.7; color:rgba(255,255,255,.82);margin:0;max-width:46ch; transform:translateY(20px);opacity:0;transition:all .7s .45s cubic-bezier(.2,1,.3,1)} .grd-slide.on .grd-no,.grd-slide.on .grd-kick, .grd-slide.on .grd-title,.grd-slide.on .grd-desc{transform:translateY(0);opacity:1} .grd-slide.on .grd-kick{opacity:.72} .grd-slide.on .grd-desc{opacity:.82} .grd-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3; width:52px;height:52px;border-radius:50%;cursor:pointer; display:grid;place-items:center; background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28); color:#fff;backdrop-filter:blur(8px); transition:background .3s,border-color .3s,transform .3s} .grd-arrow:hover{background:var(--a);border-color:var(--a);color:var(--tx)} .grd-arrow:focus-visible{outline:2px solid var(--a);outline-offset:3px} .grd-arrow svg{width:22px;height:22px} .grd-prev{left:20px} .grd-next{right:20px} .grd-nav{display:flex;align-items:center;justify-content:space-between; margin-top:22px;padding:0 4px} .grd-dots{display:flex;gap:10px} .grd-dot{width:38px;height:4px;border-radius:100px;cursor:pointer; background:var(--bd);border:0;padding:0;transition:background .3s,width .3s} .grd-dot:hover{background:var(--a2)} .grd-dot.on{background:var(--a);width:56px} .grd-dot:focus-visible{outline:2px solid var(--a);outline-offset:3px} .grd-count{font-family:var(--fh)!important;font-size:clamp(16px,1.3vw,20px);font-weight:600; color:var(--tx);letter-spacing:.02em} .grd-count .grd-sep{color:var(--a2);margin:0 2px} .grd-scrim{background:linear-gradient(0deg,rgba(20,18,14,.9) 0%,rgba(20,18,14,.4) 45%,rgba(20,18,14,.1) 100%)} .grd-cap{max-width:none;padding:24px} .grd-arrow{width:44px;height:44px} .grd-prev{left:12px} .grd-next{right:12px} .grd-dot{width:28px} .grd-dot.on{width:40px} .grd-slide.on .grd-img{transform:scale(1)} .rt-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:8px} .rt-card{position:relative;padding:30px 18px 26px;border-radius:16px;text-align:center; background:rgba(255,255,255,.035);border:1px solid rgba(200,164,94,.22); opacity:0;transform:translateY(22px); animation:rtIn .7s cubic-bezier(.2,1,.3,1) forwards; animation-delay:calc(var(--d,0) * .08s); transition:transform .4s,border-color .4s,background .4s} .rt-card:hover{transform:translateY(-6px);border-color:rgba(200,164,94,.5); background:rgba(255,255,255,.06)} .rt-best{background:rgba(200,164,94,.12);border-color:var(--a); box-shadow:0 20px 50px -20px rgba(200,164,94,.4)} .rt-best:hover{background:rgba(200,164,94,.16)} .rt-flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%); padding:4px 12px;border-radius:100px;white-space:nowrap; font-family:var(--fb)!important;font-size:9.5px;font-weight:700;letter-spacing:.14em; text-transform:uppercase;background:var(--a);color:var(--tx)} .rt-size{font-family:var(--fh)!important;font-weight:700;font-size:clamp(32px,3vw,44px); line-height:1;color:#fff;letter-spacing:-.02em} .rt-size-u{display:block;font-family:var(--fb)!important;font-size:10px;font-weight:600; letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--on-band-rgb,250,248,244),.5);margin-top:6px} .rt-label{font-family:var(--fb)!important;font-size:12px;color:rgba(var(--on-band-rgb,250,248,244),.62); margin:14px 0 18px;min-height:2.6em;display:flex;align-items:center;justify-content:center} .rt-price{font-family:var(--fh)!important;font-weight:600;font-size:clamp(16px,1.4vw,20px); color:var(--a);letter-spacing:.01em;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)} .rt-best .rt-price{color:var(--a)} .rt-unit{font-family:var(--fb)!important;font-size:10px;font-weight:600;letter-spacing:.12em; text-transform:uppercase;color:rgba(var(--on-band-rgb,250,248,244),.45);margin-top:5px} .rt-rooms{font-family:var(--fb)!important;font-size:12px;color:rgba(var(--on-band-rgb,250,248,244),.7); margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)} .rt-notes{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:8px 48px; max-width:1000px} .rt-note{font-family:var(--fb)!important;font-size:14px;line-height:1.75; color:rgba(var(--on-band-rgb,250,248,244),.6);margin:0;padding:8px 0} .rt-notes{grid-template-columns:1fr;gap:0} .rt-flag{font-size:8.5px;padding:3px 9px} .rt-label{min-height:0;margin:10px 0 14px} .rt-card:hover{transform:none} .bey-head{display:flex;justify-content:space-between;align-items:flex-end; gap:32px;margin-bottom:40px;flex-wrap:wrap} .bey-head>div{flex:1;min-width:280px} .bey-intro{max-width:38ch;margin:0;text-align:right;flex:0 0 auto} .bey-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:22px}.bey-grid>.bey-card:first-child{grid-row:span 2;aspect-ratio:auto} .bey-card{position:relative;overflow:hidden;border-radius:20px; aspect-ratio:3/2; box-shadow:0 20px 50px -22px rgba(26,26,24,.4); opacity:0;transform:translateY(28px); animation:beyIn .8s cubic-bezier(.2,1,.3,1) forwards; animation-delay:calc(var(--d,0) * .12s)} .bey-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover; transform:scale(1.02);transition:transform .9s cubic-bezier(.2,1,.3,1)} .bey-card:hover img{transform:scale(1.07)} .bey-ov{position:absolute;inset:0; background:linear-gradient(0deg,rgba(20,18,14,.92) 0%,rgba(20,18,14,.55) 34%,rgba(20,18,14,.12) 62%,transparent 88%); transition:background .5s} .bey-card:hover .bey-ov{background:linear-gradient(0deg,rgba(20,18,14,.95) 0%,rgba(20,18,14,.62) 40%,rgba(20,18,14,.18) 68%,transparent 92%)} .bey-bd{position:absolute;left:0;right:0;bottom:0;padding:30px 32px 28px;z-index:2;color:var(--bg)} .bey-bd::before{content:'';position:absolute;inset:0;z-index:-1; background:linear-gradient(0deg,rgba(20,18,14,.94) 0%,rgba(20,18,14,.9) 55%,rgba(20,18,14,.7) 82%,transparent 100%)} .bey-pre{font-family:var(--fb)!important;font-size:11px;font-weight:600;letter-spacing:.16em; text-transform:uppercase;color:var(--a);margin-bottom:12px} .bey-title{font-family:var(--fh)!important;font-weight:600;font-size:clamp(24px,2.2vw,32px); line-height:1.1;letter-spacing:-.02em;color:#fff;margin:0 0 10px} .bey-title em{font-style:italic;color:var(--a)} .bey-desc{font-family:var(--fb)!important;font-size:14.5px;line-height:1.65; color:rgba(255,255,255,.8);margin:0;max-width:44ch; max-height:0;opacity:0;overflow:hidden; transition:max-height .5s cubic-bezier(.2,1,.3,1),opacity .4s,margin .5s} .bey-card:hover .bey-desc,.bey-card:focus-within .bey-desc{max-height:180px;opacity:1;margin-top:2px} .gsec-dark h2 em,.gsec-rates h2 em{color:var(--a)} .camp-n,.ad-n,.pk-n,.rvc-t,.acc-t,.why-t,.mig-h,.ov-pill-n{letter-spacing:-.02em} .gsec .sl,.camp-l,.ov-pill-l,.mo-n,.rvc-f,.camp-tier,.ad-when{letter-spacing:.15em} #extras .acc{max-width:960px} #extras .acc-i{background:none;border:0;border-bottom:1px solid var(--bd);border-radius:0; margin-bottom:0;box-shadow:none} #extras .acc-i:hover,#extras .acc-i.open{box-shadow:none} #extras .acc-i:last-child{border-bottom:0} #extras .acc-q{grid-template-columns:52px 1fr auto 28px;gap:16px;padding:22px 8px; align-items:baseline} #extras .acc-n{font-family:var(--fh)!important;font-size:clamp(22px,1.9vw,30px);font-weight:700; color:var(--a-txt);line-height:1;transition:color .3s} #extras .acc-i:hover .acc-n,#extras .acc-i.open .acc-n{color:var(--a2)} #extras .acc-t{font-size:clamp(16px,1.2vw,20px)} #extras .acc-c{font-family:var(--fb)!important;font-size:12px;font-weight:700;letter-spacing:.3px; color:var(--tx);background:var(--bg);border:1px solid var(--bd); padding:6px 12px;border-radius:100px;white-space:nowrap} #extras .acc-i.open .acc-c{background:var(--a);border-color:var(--a)} #extras .acc-in{padding-left:68px} .rvc:first-child{grid-column:1/-1;background:var(--tx);color:var(--bg); border:0;padding:52px 56px;display:grid;grid-template-columns:1fr auto;gap:56px;align-items:center} .rvc:first-child .rvc-s{font-size:18px;color:var(--acc-on-ink,var(--a));margin:0 0 20px;letter-spacing:3px;order:1} .rvc:first-child .rvc-t{font-family:var(--fh)!important;font-size:clamp(23px,2vw,33px); font-weight:600;color:var(--on-ink-text,#fff);line-height:1.3;margin:0 0 20px;order:2;letter-spacing:-.01em} .rvc:first-child .rvc-b{font-size:16px;line-height:1.85;color:var(--on-ink-soft,rgba(var(--on-band-rgb,250,248,244),.74));margin:0; order:3;max-width:60ch} .rvc:first-child>*:not(.rvc-w){grid-column:1} .rvc:first-child{grid-template-areas:none} .rvc:first-child .rvc-s,.rvc:first-child .rvc-t,.rvc:first-child .rvc-b{grid-column:1} .rvc:first-child .rvc-w{grid-column:2;grid-row:1/span 3;align-self:center; flex-direction:column;align-items:flex-start;gap:14px; border:0;border-left:1px solid rgba(255,255,255,.16);padding:8px 0 8px 40px;margin:0; min-width:150px} .rvc:first-child .rvc-av{width:52px;height:52px;font-size:22px} .rvc:first-child .rvc-n{color:var(--on-ink-text,#fff);font-size:17px} .rvc:first-child .rvc-f{color:var(--on-ink-soft,rgba(var(--on-band-rgb,250,248,244),.55))} #faq .acc{max-width:1080px;columns:2;column-gap:22px} #faq .acc-i{break-inside:avoid;margin-bottom:22px;border:1px solid var(--bd);border-radius:14px; background:var(--sf)} #faq .acc-q{grid-template-columns:1fr 28px;gap:14px;padding:22px 24px;align-items:start} #faq .acc-t{font-size:clamp(15px,1.1vw,18px);line-height:1.4} #faq .acc-in{padding:0 22px 22px 22px} #faq .acc{columns:1} #extras .acc-in{padding-left:52px} #extras .acc-q{grid-template-columns:40px 1fr 24px;row-gap:6px} #extras .acc-c{grid-column:2;grid-row:2;justify-self:start} #extras .acc-in{padding-left:52px} @media(max-width:900px){ .mig{grid-template-columns:1fr} .camp-in,.ad-in,.pk-in{margin-left:10px;margin-right:10px} .ov-grid,.mig,.pr2{grid-template-columns:1fr;gap:32px} .acc-q{grid-template-columns:32px 1fr 26px} .acc-c{grid-column:2;grid-row:2;padding-top:5px;white-space:normal} .acc-in{padding-left:24px} .bey-head{flex-direction:column;align-items:flex-start;gap:12px} .bey-intro{text-align:left;max-width:none} .bey-grid{grid-template-columns:1fr;gap:18px}.bey-grid>.bey-card:first-child{grid-row:auto;aspect-ratio:3/2} .bey-card{aspect-ratio:4/3} .bey-desc{max-height:180px;opacity:1;margin-top:2px} .rvc:first-child{grid-column:1;grid-template-columns:1fr;gap:20px;padding:32px} .rvc:first-child>div:first-child{max-width:none} #faq .acc{columns:1} #extras .acc-in{padding-left:52px} } @media(prefers-reduced-motion:reduce){ .camp-in,.ad-in,.pk-in,.ov-pill{transition:none} .camp:hover .camp-in,.ad:hover .ad-in,.pk:hover .pk-in,.ov-pill:hover{transform:none} .camp,.ad,.rvc,.camp-ph img,.ad-ph img,.pk-ph img,.acc-a,.acc-x{transition:none} .camp:hover,.ad:hover,.rvc:hover{transform:none} .grd-slide,.grd-img,.grd-no,.grd-kick,.grd-title,.grd-desc,.grd-arrow,.grd-dot{transition:none} .grd-slide.on .grd-img{transform:scale(1)} .rt-card{animation:none;opacity:1;transform:none;transition:none} .rt-card:hover{transform:none} .bey-card{animation:none;opacity:1;transform:none} .bey-card img,.bey-desc,.bey-ov{transition:none} .bey-desc{max-height:180px;opacity:1} #extras .acc-n,.why-c{transition:none} } @media print{ .acc-a{max-height:none!important} } @media(max-width:768px){ .grd-stage{aspect-ratio:4/5;border-radius:18px} .grd-scrim{background:linear-gradient(0deg,rgba(20,18,14,.9) 0%,rgba(20,18,14,.4) 45%,rgba(20,18,14,.1) 100%)} .grd-cap{max-width:none;padding:24px} .grd-arrow{width:44px;height:44px} .grd-prev{left:12px} .grd-next{right:12px} .grd-dot{width:28px} .grd-dot.on{width:40px} .rt-grid{grid-template-columns:repeat(2,1fr);gap:12px} .rt-notes{grid-template-columns:1fr;gap:0} .rt-flag{font-size:8.5px;padding:3px 9px} } @media(max-width:1100px){ .rt-grid{grid-template-columns:repeat(3,1fr);gap:14px} } @media(max-width:400px){ .rt-card{padding:24px 12px 22px} .rt-label{min-height:0;margin:10px 0 14px} } @media(max-width:620px){ #extras .acc-q{grid-template-columns:40px 1fr 24px;row-gap:6px} #extras .acc-c{grid-column:2;grid-row:2;justify-self:start} #extras .acc-in{padding-left:52px} }
 /* v8.4.286 FIX: reviews grid was missing */ .rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px} .rvc{background:var(--surface,#fff);border:1px solid var(--bd,#e8e2d5);border-radius:16px;padding:28px} .rvc-s{color:var(--a);letter-spacing:2px;font-size:13px;margin-bottom:10px} .rvc-t{font-family:var(--fh)!important;font-size:18px;font-weight:600;line-height:1.3;margin-bottom:11px} .rvc-b{font-size:13.5px;line-height:1.75;color:var(--tx2);margin-bottom:20px} .rvc-n{font-family:var(--fh)!important;font-size:15px;font-weight:600;display:block;line-height:1.2} .rvc-f{font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--tx2)} @media(max-width:900px){.rv-grid{grid-template-columns:1fr}}

/* v8.4.286 CRITICAL FIX: .rv starts at opacity:0 and only shows when JS reveals on scroll.
   In PDF export and when JS reveal misfires, sections stayed invisible = huge empty gaps.
   Force everything visible; the animation still plays for elements JS does catch. */
.rv,.rv-left,.rv-right,.rv-scale,.rv-blur{opacity:1 !important;transform:none !important;filter:none !important}
@media print{.rv,.rv-left,.rv-right,.rv-scale,.rv-blur{opacity:1 !important;transform:none !important}}
.gsec-dark{background:var(--choco);color:var(--on-band,var(--sf))}.gsec-dark h2{color:var(--on-band,#fff)}.gsec-dark .sec-p{color:var(--on-band-soft,rgba(var(--on-band-rgb,250,248,244),.6))}.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:36px}.why-c{position:relative;padding:38px 34px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(var(--acc-hair-rgb,200,164,94),.18);transition:border-color .3s,background .3s,transform .3s;opacity:0;transform:translateY(24px);animation:whyIn .7s cubic-bezier(.2,1,.3,1) forwards}.why-c:nth-child(1){animation-delay:.05s}.why-c:nth-child(2){animation-delay:.12s}.why-c:nth-child(3){animation-delay:.19s}.why-c:nth-child(4){animation-delay:.26s}.why-c:hover{border-color:rgba(var(--acc-hair-rgb,200,164,94),.45);background:rgba(255,255,255,.06);transform:translateY(-4px)}.why-n{font-family:var(--fh)!important;font-size:40px;font-weight:700;color:var(--acc-band,var(--a));opacity:.85;line-height:1;margin-bottom:16px}.why-t{font-family:var(--fh)!important;font-size:20px;font-weight:600;color:var(--on-band,#fff);margin-bottom:10px;letter-spacing:-.01em}.why-b{font-size:14.5px;line-height:1.65;color:rgba(var(--on-band-rgb,250,248,244),.68)}@keyframes whyIn{0%{opacity:0;transform:translateY(24px)}100%{opacity:1;transform:translateY(0)}}@media(max-width:900px){.why-grid{grid-template-columns:1fr;gap:18px}}@media(max-width:768px){.why-c{padding:28px 24px}.why-n{font-size:32px}.gs-ghost{display:none}}

/* ══════════════════════════════════════════════════════════════════════
   v8.4.290 — new content sections (route highlights, tiered pricing,
   grouped stay, best-time cards, flight cards, day logistics/meals-note).
   Uses the existing design tokens (--a/--a2/--bg/--sf/--tx/--tx2/--bd/--r/
   --fh/--fb) so these blend into the current Golden Safari theme rather
   than introducing a second colour system.
   ══════════════════════════════════════════════════════════════════════ */

/* Hero coordinate strip */
.hero-coords{display:flex;align-items:center;gap:12px;font-family:var(--fb)!important;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--a);margin-bottom:18px}
.hero-coords .hc-dash{width:26px;height:1px;background:rgba(180,154,106,.5)}

/* Hero rating pill + CTA buttons */
.hero-rate{display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;padding:9px 16px;border-radius:40px;background:rgba(36,23,18,.55);font-family:var(--fb)!important;font-size:14px;color:rgba(255,255,255,.85)}
.hero-rate .hr-stars{color:var(--a);letter-spacing:2px;font-size:17px}
.hero-rate b{font-family:var(--fh)!important;font-size:18px;color:#fff}
.hero-rate .hr-count{color:rgba(255,255,255,.55);font-size:12px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hc-solid,.hc-ghost{padding:16px 30px;border-radius:2px;font-family:var(--fb)!important;font-size:17px;letter-spacing:3.4px;text-transform:uppercase;transition:all .3s;display:inline-block}
.hc-solid{background:var(--a);color:var(--btn-ink,var(--choco-deep));font-weight:500}
.hc-solid:hover{background:var(--a2);transform:translateY(-2px)}
.hc-ghost{border:1px solid rgba(180,154,106,.5);color:var(--sf);font-weight:300}
.hc-ghost:hover{border-color:var(--a);color:var(--a)}
@media(max-width:480px){.hero-cta{flex-direction:column}.hc-solid,.hc-ghost{text-align:center}}

/* Bottom-bar section-anchor rail */
.bar-nav{overflow-x:auto;overflow-y:hidden;flex:1;min-width:0;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);scrollbar-width:none}
.bar-nav::-webkit-scrollbar{display:none}
.bar-nav a{display:inline-block;white-space:nowrap;padding:8px 13px;font-family:var(--fb)!important;font-size:12px;letter-spacing:.5px;color:rgba(255,255,255,.6);transition:color .25s}
.bar-nav a:hover{color:var(--a)}
@media(max-width:1024px){.bar-nav{display:none}}

/* Route highlights — no-JS fallback rows inside the Destinations list */
.hl-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--bd);border-radius:var(--r);margin-bottom:8px;background:var(--sf)}
.hl-d{font-family:var(--fh)!important;font-weight:700;color:var(--a);flex-shrink:0}
.hl-t{color:var(--tx2)}

/* Pricing tiers — tabbed 4-tier table */
.pt-intro{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}.pt-tier{border:1px solid var(--bd);border-radius:8px;padding:18px;background:#fff}.pt-tier b{display:block;font-family:var(--fh)!important;font-size:20px;color:var(--tx)}.pt-tier span{font-size:15px;color:var(--tx2)}@media(max-width:700px){.pt-intro{grid-template-columns:1fr}}
.pt-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}
.pt-tab{font-family:var(--fb)!important;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:11px 20px;border-radius:100px;border:1px solid var(--bd);background:var(--sf);color:var(--tx2);cursor:pointer;transition:all .25s;min-height:44px}
.pt-tab:hover{border-color:var(--a)}
.pt-tab.on{background:var(--a);border-color:var(--a);color:var(--btn-ink,#fff)}
.pt-tab .pt-soon{display:block;font-size:9px;font-weight:400;letter-spacing:.5px;text-transform:none;opacity:.75;margin-top:2px}
.pt-block{display:none}
.pt-block.on{display:block}
.pt-top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.pt-top h3{font-family:var(--fh)!important;font-size:22px;font-weight:700;margin:0}
.pt-supp{font-size:13px;color:var(--tx2)}
.pt-supp.pt-todo{color:var(--todo,#B45309)}
.pt-pending{background:rgba(200,164,94,.08);border:1px solid var(--bd);border-radius:var(--r);padding:14px 18px;margin-bottom:16px;font-size:14px;color:var(--tx2)}
.pt-pending b{color:var(--tx)}
.pt-note{margin:20px 0;padding:16px 18px;border-radius:var(--r);background:var(--bg);font-size:13px;color:var(--tx2)}.pt-price-cell{cursor:pointer;transition:background .2s,box-shadow .2s;border-radius:8px}.pt-price-cell:hover{background:rgba(180,154,106,.1)}.pt-price-cell:focus-visible{outline:2px solid var(--a);outline-offset:-2px}.pt-price-cell.on{background:var(--a);box-shadow:inset 0 0 0 2px var(--a2)}.pt-price-cell.on .pz{color:#fff}.pt-picked{margin:18px 0 4px;padding:14px 18px;border-radius:var(--r);background:var(--bg);border:1px dashed var(--bd);font-size:13.5px;color:var(--tx2);display:flex;flex-direction:column;gap:12px}.pt-picked.on{background:rgba(180,154,106,.1);border-style:solid;border-color:var(--a);color:var(--tx)}.pt-picked-book{font-family:var(--fb)!important;font-size:12.5px;font-weight:700;letter-spacing:.4px;padding:9px 18px;border-radius:100px;border:0;background:var(--a);color:#fff;cursor:pointer;white-space:nowrap;transition:transform .2s,box-shadow .2s}.pt-picked-book:hover{transform:translateY(-1px);box-shadow:0 6px 18px -6px rgba(0,0,0,.35)}.ao{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(12px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .4s;padding:20px}.ao.active{opacity:1;visibility:visible}.am{background:var(--sf);border-radius:24px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;transform:translateY(30px) scale(.96);transition:all .4s;box-shadow:0 40px 80px rgba(0,0,0,.4);position:relative}.ao.active .am{transform:translateY(0) scale(1)}.amx{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;background:#fff;border:1.5px solid var(--a);color:var(--tx);font-size:26px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .18s;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.2)}.amx:hover{background:var(--a);color:#fff;transform:rotate(90deg)}.am-gal{position:relative;aspect-ratio:16/10;background:var(--band,#1c1210);overflow:hidden}.am-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}.am-img.on{opacity:1}.am-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:14px}.am-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;border:1.5px solid rgba(255,255,255,.5);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.am-nav:hover{background:rgba(0,0,0,.7)}.am-prev{left:16px}.am-next{right:16px}.am-dots{display:flex;justify-content:center;gap:6px;padding:12px 0 0}.am-dot{width:7px;height:7px;border-radius:50%;background:var(--bd);cursor:pointer;transition:background .2s,transform .2s}.am-dot.on{background:var(--a);transform:scale(1.3)}.am-body{padding:20px 28px 28px}.am-tier{font-family:var(--fb)!important;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--a);margin-bottom:8px}.am-name{font-family:var(--fh)!important;font-size:26px;font-weight:600;color:var(--tx);margin-bottom:6px}.am-loc{font-family:var(--fb)!important;font-size:13.5px;color:var(--tx2);margin-bottom:16px}.am-desc{font-size:14.5px;line-height:1.8;color:var(--tx2);margin-bottom:20px}.am-map{font-family:var(--fb)!important;font-size:13px;font-weight:700;letter-spacing:.4px;padding:11px 22px;border-radius:100px;border:1.5px solid var(--a);background:none;color:var(--a);cursor:pointer;transition:all .25s}.am-map:hover{background:var(--a);color:#fff}.rvc-src{margin-top:14px;font-family:var(--fb)!important;font-size:12.5px;font-weight:700;letter-spacing:.3px;color:var(--a);display:inline-flex;align-items:center;gap:4px;text-decoration:none;order:2}.rvc-src:hover{text-decoration:underline}.pt-picked-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;justify-content:space-between}.pt-picked-row>span{flex:1 1 220px;min-width:0}.pt-kids{padding-top:14px;border-top:1px dashed var(--bd);display:flex;flex-wrap:wrap;align-items:center;gap:18px}.pt-kids-f{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--tx2)}.pt-kids-f small{opacity:.75}.pt-step{display:flex;align-items:center;gap:10px}.pt-step button{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--a);background:none;color:var(--a);font-size:15px;font-weight:700;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s}.pt-step button:hover{background:var(--a);color:#fff}.pt-step b{min-width:16px;text-align:center;font-family:var(--fh)!important;font-size:15px;color:var(--tx)}.pt-kids-total{margin-left:auto;font-size:14px;color:var(--tx);font-weight:600}.pt-kids-total b{font-family:var(--fh)!important;color:var(--a2);font-size:17px}
.pt-note b{display:block;color:var(--tx);margin-bottom:4px;font-size:12px;letter-spacing:.5px;text-transform:uppercase}
.pt-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--bd)}
.pt-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.pt-table th,.pt-table td{padding:12px 14px;text-align:center;border-bottom:1px solid var(--bd)}
.pt-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--tx2);font-weight:600;background:var(--bg)}
.pt-table td.pt-lbl,.pt-table th.pt-lbl{text-align:left;font-weight:600;color:var(--tx)}
.pt-table tbody tr:last-child td{border-bottom:0}
.pt-table .pz{font-family:var(--fh)!important;font-weight:700;color:var(--a2)}
.pt-table .pt-todo{opacity:.45;font-style:italic;font-size:12px}
@media(max-width:600px){.pt-table{min-width:560px}}

/* Stay — grouped accommodations (Mid-range / Luxury / Before / After) */
.stay-groups{display:flex;flex-direction:column;gap:32px}
.stay-group-t{font-family:var(--fh)!important;font-size:18px;font-weight:700;margin-bottom:14px;color:var(--a2)}
.stay-group-list{display:flex;flex-wrap:wrap;gap:12px}
.stay-item{display:flex;flex-direction:row;align-items:center;gap:12px;padding:10px;border:1px solid var(--bd);border-radius:var(--r);background:var(--sf);cursor:pointer;transition:border-color .25s,box-shadow .25s;text-align:left;font-family:var(--fb)!important;min-height:44px}
.stay-item:hover{border-color:var(--a);box-shadow:0 10px 26px -16px rgba(26,26,24,.35)}
.stay-thumb{width:52px;height:52px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--band,#1c1210)}
.stay-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.stay-item-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.stay-loc{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--a)}
.stay-name{font-weight:600;color:var(--tx)}

/* Best time to visit — season cards */
.bt-grid{display:flex;flex-direction:column;border-top:1px solid var(--bd)}
.bt-card{display:grid;grid-template-columns:.9fr 1.6fr;gap:24px;align-items:baseline;padding:26px 0 26px 20px;border-radius:0;border-bottom:1px solid var(--bd);border-left:3px solid var(--a);background:none;box-shadow:none}
.bt-card:hover{background:rgba(180,154,106,.05)}
@media(max-width:700px){.bt-card{grid-template-columns:1fr;gap:6px}}
.bt-card.bt-peak{border-left-color:var(--peak,#2D8B55)}
.bt-card.bt-good{border-left-color:var(--a)}
.bt-card.bt-avoid{border-left-color:var(--todo,#B45309)}
.bt-h{font-family:var(--fh)!important;font-size:19px;font-weight:700;margin-bottom:0}
.bt-d{font-size:14px;color:var(--tx2);line-height:1.6}

/* Flights — arrival / departure cards */
.fc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.fc-card{padding:24px 24px 22px;border-radius:var(--r);border:1px solid var(--bd);background:var(--sf)}
.fc-kick{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--a);margin-bottom:8px}
.fc-airport{font-family:var(--fh)!important;font-size:20px;font-weight:700;margin-bottom:8px}
.fc-desc{font-size:14px;color:var(--tx2);line-height:1.6}

/* Itinerary day cards — featured flag + logistics/meals-note additions */
.dy.dy-featured .dy-hd{background:linear-gradient(90deg,rgba(200,164,94,.1),transparent)}
.dy-star{color:var(--a)}
.dl-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.dl-i{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:10px;background:var(--bg);min-width:110px}
.dl-l{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--tx2)}
.dl-v{font-size:14px;font-weight:600;color:var(--tx)}
.mn-card{margin-top:14px;padding:14px 16px;border-radius:10px;border:1px dashed var(--bd);background:var(--sf)}
.mn-h{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--a2);margin-bottom:6px}
.mn-l{font-size:13px;color:var(--tx2);line-height:1.5;margin:0}
.mn-l+.mn-l{margin-top:3px}
@media(max-width:768px){.bt-grid,.fc-grid{grid-template-columns:1fr}}

/* v8.4.291: the reference design has no floating corner ribbon and no
   scroll-progress section-name label — both are pre-existing plugin chrome
   that doesn't exist in the target design. Hidden so the hero reads clean,
   matching the reference exactly. */
.badge,#sectionLabel{display:none!important}

/* ── Itinerary dark pass — day-by-day timeline on a dark chocolate base,
   matching the reference design's .jd-* dark section. Fully additive/scoped
   under .itin-dark so it never affects any other section's styling. ── */
.itin.itin-dark{background:var(--choco);color:var(--sf)}.jd-start{margin-bottom:48px;padding:24px 28px;border:1px solid rgba(180,154,106,.35);border-radius:var(--r);background:rgba(180,154,106,.06)}.jd-start-tag{font-family:var(--fb)!important;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--a);margin-bottom:10px;font-weight:700}.jd-start-body p{font-size:14px;line-height:1.8;color:rgba(var(--on-band-rgb,239,233,221),.82);margin-bottom:10px}.jd-start-body p:last-child{margin-bottom:0}.jd-list{display:flex;flex-direction:column;gap:56px}.jd{display:grid;grid-template-columns:56px .78fr 1.22fr;gap:32px;position:relative;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08);align-items:start}.jd.jd-last{border-bottom:none;padding-bottom:0}.jd-rail{display:flex;flex-direction:column;align-items:center;position:relative}.jd-dot{width:14px;height:14px;border-radius:50%;background:var(--choco);border:2px solid var(--a);flex:none;z-index:2}.jd-dot.jd-dot-on{background:var(--a)}.jd-rail::after{content:'';position:absolute;top:14px;bottom:-56px;width:1px;background:rgba(180,154,106,.3)}.jd.jd-last .jd-rail::after{display:none}.jd-num{margin-top:10px;font-family:var(--fh)!important;font-style:italic;font-size:26px;font-weight:500;letter-spacing:0;color:rgba(var(--acc-rgb,180,154,106),.55)}.jd-photo{position:sticky;top:130px;border-radius:var(--r);overflow:hidden;height:230px;background:var(--band,#1c1210);align-self:start}.jd-photo-2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.jd-photo.jd-hero-photo{height:300px}.jd-hero .jd-title{font-size:clamp(25px,2.8vw,34px)}.jd-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92);transition:transform 1.4s cubic-bezier(.16,.84,.32,1)}.jd:hover .jd-photo img{transform:scale(1.06)}.jd-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(36,23,18,.8),rgba(36,23,18,.05) 60%)}.jd-photo .gsi-lg-img-ph{position:absolute;inset:0}.jd-coords{position:absolute;z-index:1;left:12px;bottom:12px;font-family:var(--fb)!important;font-size:11px;letter-spacing:1px;color:#fff;background:rgba(0,0,0,.45);padding:4px 10px;border-radius:100px;backdrop-filter:blur(4px)}.jd-body{min-width:0}.jd-daylabel{font-family:var(--fb)!important;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--a);margin-bottom:8px}.itin.itin-dark .jd-daylabel,.itin.itin-dark .jd-start-tag,.itin.itin-dark .jd-meals-h{color:var(--acc-band,var(--a))}.jd-title{font-family:var(--fh)!important;font-size:clamp(22px,2.2vw,30px);font-weight:600;color:var(--sf);margin-bottom:16px}.jd-desc{font-size:15px;line-height:1.85;color:rgba(var(--on-band-rgb,239,233,221),.82)}.jd-desc p{margin-bottom:14px}.jd-desc p:last-child{margin-bottom:0}.jd-meals{margin-top:20px;padding:16px 20px;border-left:3px solid var(--a);background:rgba(180,154,106,.08);border-radius:0 10px 10px 0}.jd-meals-h{font-family:var(--fb)!important;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--a);margin-bottom:6px;font-weight:600}.jd-meals p{font-size:14px;line-height:1.7;color:rgba(var(--on-band-rgb,239,233,221),.8)}.jd-meta{margin-top:24px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.jd-meta-i{display:flex;flex-direction:column;gap:4px}.jd-meta-night{margin-left:auto;text-align:right}.jd-meta-l{font-family:var(--fb)!important;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(var(--on-band-rgb,239,233,221),.5)}.jd-meta-v{font-family:var(--fh)!important;font-size:15px;color:var(--sf);font-weight:600}.jd-meta-night .jd-meta-v{color:var(--a)}@media(max-width:860px){.jd{grid-template-columns:1fr;gap:16px}.jd-rail{flex-direction:row;gap:10px}.jd-rail::after{display:none}.jd-photo{position:relative;top:0;height:190px}.jd-photo-2{grid-template-columns:1fr 1fr}.jd-photo.jd-hero-photo{height:220px}.jd-meta{gap:20px}.jd-meta-night{margin-left:0}}
.itin.itin-dark .itin-h h2{color:var(--on-band,#fff)}
.itin.itin-dark .itin-h p{color:rgba(var(--on-band-rgb,239,233,221),.65)}
.itin.itin-dark .dy-w{background:rgba(var(--band-lift-rgb,255,255,255),.035);border-color:rgba(var(--acc-rgb,180,154,106),.22)}
.itin.itin-dark .dy.active .dy-w{border-color:var(--a)}
.itin.itin-dark .dy-hd:hover{background:rgba(var(--band-lift-rgb,255,255,255),.03)}
.itin.itin-dark .dy-t{color:var(--on-band,#fff)}
.itin.itin-dark .dy.active .dy-t{color:var(--a)}
.itin.itin-dark .dy-l{color:rgba(var(--on-band-rgb,239,233,221),.6)}
.itin.itin-dark .dy-ds{color:rgba(var(--on-band-rgb,239,233,221),.72)}
.itin.itin-dark .dy-dot{background:var(--choco);border-color:var(--a)}
.itin.itin-dark .mg,.itin.itin-dark .dl-i{background:rgba(var(--band-lift-rgb,255,255,255),.05)}
.itin.itin-dark .mg-l,.itin.itin-dark .dl-l{color:rgba(var(--on-band-rgb,239,233,221),.55)}
.itin.itin-dark .mg-v,.itin.itin-dark .dl-v{color:var(--on-band,#fff)}
.itin.itin-dark .act-chip{background:rgba(var(--band-lift-rgb,255,255,255),.05);border-color:rgba(var(--acc-rgb,180,154,106),.25)}
.itin.itin-dark .act-chip-bubble{background:rgba(var(--band-lift-rgb,255,255,255),.08)}
.itin.itin-dark .act-chip-name{color:var(--on-band,#fff)}
.itin.itin-dark .act-chip-time,.itin.itin-dark .act-hd-title{color:rgba(var(--on-band-rgb,239,233,221),.55)}
.itin.itin-dark .mn-card{background:rgba(var(--band-lift-rgb,255,255,255),.04);border-color:rgba(var(--acc-rgb,180,154,106),.3)}
.itin.itin-dark .mn-h{color:var(--a)}
.itin.itin-dark .mn-l{color:rgba(var(--on-band-rgb,239,233,221),.72)}
.itin.itin-dark .gsi-lg-strip-wrap .gsi-lg-title{color:var(--a)}
.itin.itin-dark .gsi-lg-card{background:rgba(var(--band-lift-rgb,255,255,255),.04);border-color:rgba(var(--acc-rgb,180,154,106),.2)}
.itin.itin-dark .gsi-lg-name{color:var(--on-band,#fff)}
.itin.itin-dark .gsi-lg-loc{color:rgba(var(--on-band-rgb,239,233,221),.55)}
/* v8.4.320: Major Attractions list in the overview card — the original
   hand-built page carried one under the fact rows (its .k5-attr block) and
   the plugin never reproduced it. Reuses the gold uppercase label treatment
   of the fact rows above so it reads as part of the same card. */
.ov-attr{margin:16px 18px 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.09)}
.ov-attr>.k{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--a);margin-bottom:10px}
.ov-attr ol{list-style:none;margin:0;padding:0;counter-reset:ovattr}
.ov-attr li{counter-increment:ovattr;display:flex;gap:10px;align-items:baseline;font-family:var(--fh)!important;font-size:15px;color:#fff;padding:5px 0;list-style:none}
.ov-attr li::before{content:counter(ovattr,decimal-leading-zero);font-family:var(--fb)!important;font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.4);flex-shrink:0}

/* v8.4.323: fact-row icons in the overview card. The original design put a
   small line icon before each label; the plugin printed the label alone.
   The row is already a flex box, so a missing icon (unrecognised label)
   just collapses without disturbing the alignment. */
.ov-facts li{gap:10px}
.ov-fact-i{width:14px;height:14px;flex-shrink:0;color:var(--a);opacity:.85}
.ov-facts .k{flex:1}

/* ═══ v8.4.324: match the original page's styling ═══════════════════════
   Three deliberate differences from the hand-built original, changed here
   rather than in the template so a theme can still override them. */

/* 1. Section numerals. The original prints I, II, III… before each eyebrow
   label. Done with a CSS counter rather than markup so the numbering
   follows whatever sections actually render — a hidden section leaves no
   gap. .sl::before is already the animated dash, so the numeral goes in
   ::after and is pulled in front with flex order. Scoped to sections so
   the fixed scroll-progress label is not numbered. */
body{counter-reset:gsisec}
section .sl{counter-increment:gsisec}
section .sl::after{order:-1;content:counter(gsisec,upper-roman);font-family:var(--fb)!important;font-size:11px;font-weight:700;letter-spacing:.12em;opacity:.7}

/* 2. No drop cap, and no oversized lead paragraph. The plugin styled the
   overview's first paragraph as a lead with a floated initial; the
   original sets it at body size like every other paragraph. */
.ov-body p:first-child{font-family:var(--fb)!important;font-size:16px;line-height:1.9;color:var(--tx2)}
.ov-body p:first-child::first-letter{font-size:inherit;float:none;padding:0;color:inherit;font-weight:inherit;line-height:inherit}

/* 3. Give the bottom bar's nav room. All eleven links are always present,
   but the button cluster crowded them into a scroll strip showing four.
   Tightening the buttons and dropping the PDF sub-label frees the width
   the links need. */
.bar{padding:13px 30px}
.bar-in{gap:16px}
.bns{gap:7px}
.bar-nav a{padding:8px 10px}
.bn-pdf-info span{display:none}
.bn-pdf-info strong{font-size:12px}
@media(max-width:1200px){.bn-pdf-info{display:none}}

/* ═══ v8.4.326: camp lightbox ══════════════════════════════════════════
   Matches the original's accommodation viewer: large photo, location,
   tier, description and a request action, with prev/next and a counter. */
.camp{position:relative}
.camp-open{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;padding:0;z-index:2}
.camp-open:focus-visible{outline:2px solid var(--a);outline-offset:3px;border-radius:inherit}
.camp:hover .camp-ph img{transform:scale(1.04)}
.camp-ph img{transition:transform .6s cubic-bezier(.16,1,.3,1)}

.camp-lb[hidden]{display:none}
.camp-lb{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.camp-lb-bg{position:absolute;inset:0;background:rgba(20,13,10,.88);backdrop-filter:blur(6px)}
.camp-lb-fig{position:relative;z-index:1;margin:0;max-width:960px;width:100%;max-height:90vh;overflow:auto;background:var(--tx,#241712);border-radius:18px;box-shadow:0 40px 90px -20px rgba(0,0,0,.6)}
.camp-lb-imgwrap{aspect-ratio:16/9;overflow:hidden;border-radius:18px 18px 0 0;background:rgba(255,255,255,.05)}
.camp-lb-imgwrap img{width:100%;height:100%;object-fit:cover;display:block}
.camp-lb-cap{padding:22px 26px 26px;color:#fff}
.camp-lb-meta{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--a)}
.camp-lb-tier{padding:3px 10px;border:1px solid var(--a);border-radius:100px;font-size:10px}
.camp-lb-cap h3{font-family:var(--fh)!important;font-size:clamp(20px,2.4vw,28px);margin:8px 0 10px;color:#fff}
.camp-lb-cap p{font-size:15px;line-height:1.75;color:rgba(255,255,255,.72);margin:0}
.camp-lb-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;flex-wrap:wrap}
.camp-lb-count{font-size:11px;letter-spacing:.14em;color:rgba(255,255,255,.45)}
.camp-lb-cta{display:inline-block;padding:12px 24px;border-radius:100px;background:var(--a);color:#241712;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}
.camp-lb-x,.camp-lb-nav{position:absolute;z-index:2;border:0;cursor:pointer;background:rgba(0,0,0,.45);color:#fff;border-radius:50%;transition:background .2s}
.camp-lb-x{top:12px;right:12px;width:36px;height:36px;font-size:22px;line-height:1}
.camp-lb-nav{top:calc(28% );width:40px;height:40px;font-size:26px;line-height:1}
.camp-lb-prev{left:12px}
.camp-lb-next{right:12px}
.camp-lb-x:hover,.camp-lb-nav:hover{background:var(--a);color:#241712}
.camp-lb-x:focus-visible,.camp-lb-nav:focus-visible,.camp-lb-cta:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:620px){.camp-lb{padding:12px}.camp-lb-cap{padding:18px}}

/* v8.4.327: the host theme styles bare <button> elements pink (#cc3366),
   which beat the shorthand rule above and turned the lightbox's close and
   arrow controls magenta. Scoped selectors (.camp-lb button.x) outrank it
   without resorting to !important, which a child theme could not undo. */
.camp-lb button.camp-lb-x,
.camp-lb button.camp-lb-nav{background:rgba(0,0,0,.5);color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:none}
.camp-lb button.camp-lb-x:hover,
.camp-lb button.camp-lb-nav:hover{background:var(--a);color:#241712;border-color:var(--a)}
.camp article.camp button.camp-open{background:transparent;border:0;box-shadow:none}

/* ═══ v8.4.328: camps as grouped columns ═══════════════════════════════
   Matches the original: mid-range and luxury for the safari itself, then
   anything staged before or after it. Each row is a compact location +
   name that opens the lightbox — photos live there, not in the list. */
.camp-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:start}
.camp-col{background:var(--bg2,#fff);border-radius:10px;padding:22px 22px 8px;box-shadow:0 10px 30px -18px rgba(26,26,24,.35)}
.camp-col-h{font-family:var(--fh)!important;font-size:15px;font-weight:500;line-height:1.4;color:var(--tx);margin:0 0 4px;padding-bottom:16px;border-bottom:1px solid var(--bd,rgba(26,26,24,.12))}
/* The row is a button but must read as a list entry, so every inherited
   control style is stripped rather than overridden piecemeal. */
.camp-cols button.camp-row{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--bd,rgba(26,26,24,.1));border-radius:0;box-shadow:none;padding:16px 0 14px;cursor:pointer;transition:opacity .2s}
.camp-cols button.camp-row:last-child{border-bottom:0}
.camp-cols button.camp-row:hover{opacity:.62}
.camp-cols button.camp-row:focus-visible{outline:2px solid var(--a);outline-offset:2px}
.camp-row-k{display:block;font-family:var(--fb)!important;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--a-txt,#8A6E2E);margin-bottom:7px}
.camp-row-n{display:block;font-family:var(--fh)!important;font-size:16px;line-height:1.35;color:var(--tx)}
@media(max-width:1100px){.camp-cols{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.camp-cols{grid-template-columns:1fr;gap:16px}}

/* v8.4.329: equal columns and a white card face.
   repeat(4,1fr) is minmax(auto,1fr) — a long property name such as
   "Safari Haven Serengeti Camp" pushes its own column wider and starves the
   rest, which is why the four were visibly unequal. minmax(0,1fr) makes them
   share the row evenly and lets the names wrap instead. */
.camp-cols{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
.camp-col{background:#fff}
@media(max-width:1100px){.camp-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.camp-cols{grid-template-columns:minmax(0,1fr)}}

/* ═══ v8.4.330: lightbox typography and framing ════════════════════════
   The panel is a <figcaption>, and figcaptions are italicised site-wide —
   so the camp name, its description, the tier pill and the counter all
   rendered in italic serif and read like a Latin inscription rather than
   a product panel. Reset it here rather than weakening the figcaption
   rule, which is right for actual photo captions. */
.camp-lb-cap,
.camp-lb-cap p,
.camp-lb-cap h3,
.camp-lb-cap span,
.camp-lb-cap a{font-style:normal}
.camp-lb-cap h3{letter-spacing:-.01em}
.camp-lb-meta{letter-spacing:.16em}
.camp-lb-cta{font-family:var(--fb)!important;letter-spacing:.08em}
.camp-lb-count{font-family:var(--fb)!important}

/* Centre the arrows on the dialog instead of the arbitrary 28% they sat
   at, which floated them above the middle of the photo. */
.camp-lb-nav{top:50%;transform:translateY(-50%);width:44px;height:44px}

/* The photo can take a second to arrive; without a resting state the
   dialog opens as a large empty rectangle. Hold a soft surface, then
   fade the image in once it has actually decoded. */
.camp-lb-imgwrap{background:rgba(255,255,255,.06);position:relative}
.camp-lb-imgwrap::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.06) 50%,transparent 80%);transform:translateX(-100%);animation:campShim 1.3s infinite}
.camp-lb-imgwrap.is-loaded::after{display:none}
@keyframes campShim{to{transform:translateX(100%)}}
#campLbImg{opacity:0;transition:opacity .4s ease}
#campLbImg.is-loaded{opacity:1}
@media(prefers-reduced-motion:reduce){
  .camp-lb-imgwrap::after{animation:none}
  #campLbImg{transition:none}
}

/* ═══ v8.4.331: arrows inside the photo, plus a thumbnail strip ════════
   The arrows were centred on the figure — photo AND caption — so they sat
   noticeably below the middle of the image. Inside the frame they centre
   on the picture itself, which is where the eye expects them. */
.camp-lb-imgwrap{position:relative;overflow:hidden}
.camp-lb .camp-lb-nav{position:absolute;top:50%;transform:translateY(-50%);margin:0;z-index:3}
.camp-lb .camp-lb-prev{left:14px}
.camp-lb .camp-lb-next{right:14px}
.camp-lb button.camp-lb-x{top:14px;right:14px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;padding:0;z-index:4}
/* The glyphs are text, so they need optical centring inside the circle. */
.camp-lb button.camp-lb-nav{display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;padding:0 2px 3px 0}
.camp-lb button.camp-lb-prev{padding:0 3px 3px 0}
.camp-lb button.camp-lb-next{padding:0 0 3px 3px}

.camp-lb-strip{display:flex;gap:8px;padding:12px 26px 0;flex-wrap:wrap}
.camp-lb-strip[hidden]{display:none}
.camp-lb button.camp-lb-thumb{width:74px;height:50px;border-radius:6px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.18);opacity:.55;cursor:pointer;padding:0;box-shadow:none;transition:opacity .2s,border-color .2s}
.camp-lb button.camp-lb-thumb:hover{opacity:.85}
.camp-lb button.camp-lb-thumb.is-on{opacity:1;border-color:var(--a)}
.camp-lb button.camp-lb-thumb:focus-visible{outline:2px solid var(--a);outline-offset:2px}
@media(max-width:620px){.camp-lb button.camp-lb-thumb{width:58px;height:40px}.camp-lb-strip{padding:10px 18px 0}}

/* v8.4.344: uploaded route map. Matches the interactive map's frame so
   switching between them does not move the section around. */
.mw-img{margin:0;height:100%;min-height:420px;border-radius:14px;overflow:hidden;background:rgba(26,26,24,.06)}
.mw-img img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.mw-img{min-height:280px}}

/* v8.4.345: heading over the route map, matching the section's eyebrow scale
   rather than competing with the section h2 above it. */
.mw-h{font-family:var(--fh)!important;font-size:clamp(17px,1.5vw,21px);font-weight:600;color:var(--tx);margin:0 0 12px}

/* v8.4.439: "Read all our reviews" buttons under the reviews grid */
.rv-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:34px auto 0}
.rv-link{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--a);border-radius:4px;color:var(--tx);text-decoration:none;font-family:var(--fb)!important;font-size:13px;letter-spacing:.02em;background:transparent;transition:background .25s,color .25s}
.rv-link b{font-weight:700}
.rv-link-i{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:800;color:#fff;background:var(--a)}
.rv-link--ta .rv-link-i{background:#00aa6c}
.rv-link--go .rv-link-i{background:#4285f4}
.rv-link:hover{background:var(--a);color:#fff}
.k5-dark .rv-link,.gsi-block--reviews .rv-link{color:inherit}

/* ── the shared hero ───────────────────────────────────────────────────────
   frontend/templates/skins/hero.php is the hero every plugin-rendered design
   shows, and this stylesheet had no rules for it: on 01 — Golden Safari the
   photograph ran the full width of the window with the title dumped
   underneath, unstyled. The three newer designs each style .gsi-hero in their
   own skin file; these are this design's, in its own chocolate and gold.
   ────────────────────────────────────────────────────────────────────────── */
.gsi-skin-golden-safari .gsi-hero{
  position:relative; min-height:clamp(420px,64vh,680px);
  display:flex; align-items:flex-end;
  padding:clamp(36px,6vw,88px) clamp(22px,5vw,80px);
  color:var(--sf); overflow:hidden; background:var(--choco-deep);
}
.gsi-skin-golden-safari .gsi-hero-media{ position:absolute; inset:0; }
.gsi-skin-golden-safari .gsi-hero-media img{
  width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.92);
}
.gsi-skin-golden-safari .gsi-hero-veil{
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(36,23,18,.18) 0%,rgba(36,23,18,.6) 55%,rgba(36,23,18,.92) 100%);
}
.gsi-skin-golden-safari .gsi-hero-in{
  position:relative; width:100%; max-width:1180px; margin:0 auto;
}
.gsi-skin-golden-safari .gsi-hero-tag{
  font-family:var(--fb); font-size:11px; letter-spacing:2.8px; text-transform:uppercase;
  color:var(--a); margin-bottom:14px;
}
.gsi-skin-golden-safari .gsi-hero-h{
  font-family:var(--fh); font-weight:500; color:#fff;
  font-size:clamp(34px,5.4vw,68px); line-height:1.06; margin-bottom:14px;
}
.gsi-skin-golden-safari .gsi-hero-sub{
  font-size:clamp(15px,1.6vw,19px); color:rgba(239,233,221,.82);
  max-width:62ch; margin-bottom:24px;
}
.gsi-skin-golden-safari .gsi-hero-meta{
  display:flex; flex-wrap:wrap; gap:12px 26px; align-items:baseline;
  padding-top:20px; border-top:1px solid rgba(255,255,255,.2);
}
.gsi-skin-golden-safari .gsi-hero-fact{
  font-family:var(--fb); font-size:11px; letter-spacing:1.6px;
  text-transform:uppercase; color:rgba(239,233,221,.7);
}
.gsi-skin-golden-safari .gsi-hero-stars{ color:var(--a); }
.gsi-skin-golden-safari .gsi-hero-rating small{ color:rgba(239,233,221,.65); margin-left:6px; }
.gsi-skin-golden-safari .gsi-hero-cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.gsi-skin-golden-safari .gsi-btn{
  display:inline-flex; align-items:baseline; gap:9px; text-decoration:none;
  font-family:var(--fb); font-size:12.5px; font-weight:500;
  letter-spacing:1.4px; text-transform:uppercase;
  padding:15px 28px; border-radius:100px;
  border:1px solid rgba(255,255,255,.45); color:#fff;
}
.gsi-skin-golden-safari .gsi-btn-solid{ background:var(--a); border-color:var(--a); color:var(--btn-ink,var(--choco)); }
.gsi-skin-golden-safari .gsi-btn-solid:hover{ background:var(--a2); border-color:var(--a2); }
.gsi-skin-golden-safari .gsi-btn-ghost:hover{ background:rgba(255,255,255,.12); }
.gsi-skin-golden-safari .gsi-btn-amt{ font-family:var(--fh); font-size:21px; letter-spacing:0; }
.gsi-skin-golden-safari .gsi-btn-from{ font-size:10px; opacity:.8; }

@media(max-width:860px){
  .gsi-skin-golden-safari .gsi-hero{ min-height:auto; padding-top:clamp(80px,26vh,160px); }
}

/* ── wrapped blocks ────────────────────────────────────────────────────────
   The partials written for Elementor (rates table, lodges, highlights, map,
   download, price bar) carry no section of their own - the Elementor section
   around them supplied the gutter. On a plugin-rendered page the renderer
   wraps them (see frontend/templates/gsi-page.php); this is the gutter for
   this design. The three skin files get theirs from their own "section[id]"
   rules, which the wrapper's id already matches.
   ────────────────────────────────────────────────────────────────────────── */
.gsi-skin-golden-safari .gsi-wrap{ padding:clamp(44px,6vw,96px) clamp(22px,5vw,80px); }
.gsi-skin-golden-safari .gsi-wrap > *{ max-width:1180px; margin-inline:auto; }
.gsi-skin-golden-safari .gsi-wrap-price-bar{ padding-block:0; }

/* .sl-c — a section label that centres. Replaces the inline
   "justify-content:center" that block-included.php used to carry along with an
   inline colour; the colour had to go so designs could set it, and the two
   were in the same attribute. */
.sl.sl-c{justify-content:center;text-align:center}

/* 5-day-kenya-tanzania-safari.html - this design's source - has a plain
   headline and a flat meta row, so the labels hero.php added for the newer
   covers are hidden here and the value keeps its own weight. */
.gsi-skin-golden-safari .gsi-hero-fact-l{ display:none; }
.gsi-skin-golden-safari .gsi-hero-fact b{ font-weight:inherit; }

/* ── the pinned action bar ─────────────────────────────────────────────────
   frontend/templates/skins/actionbar.php. The skeleton lives here because it
   is the same in every design - fixed to the foot, trip name and live price
   on the left, actions on the right, labels dropped on a narrow screen. Each
   design colours it in its own file; these are the defaults and 01 — Golden
   Safari's colours. Lifted from .bar in notebook-template.html, which is where
   all three of the newer designs take the component from.
   ────────────────────────────────────────────────────────────────────────── */
.gsi-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:9992;
  background:rgba(36,23,18,.97); backdrop-filter:blur(8px);
  border-top:1px solid rgba(255,255,255,.08);
  transform:translateY(110%); transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.gsi-bar.gsi-bar-on{ transform:translateY(0); }
.gsi-bar-in{
  max-width:1280px; margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; gap:18px; padding:12px 28px;
}
.gsi-bar-l{ display:flex; align-items:baseline; gap:18px; min-width:0; }
.gsi-bar-title{
  font-family:var(--fh); font-weight:500; font-size:19px; color:var(--sf);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.gsi-bar-price{
  font-family:var(--fb); font-size:11px; letter-spacing:.06em;
  color:rgba(239,233,221,.66); white-space:nowrap;
}
.gsi-bar-price .gsi-pb-amt{
  font-family:var(--fh); font-size:20px; font-weight:500; color:var(--a); margin-left:5px;
}
.gsi-bar-btns{ display:flex; gap:8px; flex-shrink:0; }
.gsi-bar-btn{
  font-family:var(--fb); font-size:11px; letter-spacing:.04em; text-transform:uppercase;
  color:rgba(239,233,221,.85); background:transparent;
  border:1px solid rgba(255,255,255,.16); padding:10px 14px; cursor:pointer;
  border-radius:100px; transition:border-color .25s,color .25s,background .25s;
  display:inline-flex; align-items:center; gap:6px;
}
.gsi-bar-btn:hover{ border-color:var(--a); color:#fff; }
.gsi-bar-btn svg{ width:14px; height:14px; }
.gsi-bar-btn.on svg{ fill:currentColor; }
.gsi-bar-reserve{ background:var(--a); border-color:var(--a); color:var(--btn-ink,var(--choco)); font-weight:600; }
.gsi-bar-reserve:hover{ background:var(--a2); border-color:var(--a2); color:var(--btn-ink,var(--choco)); }

/* the bar covers the foot of the page, so the page needs room under it */
.gsi-page{ padding-bottom:64px; }

@media(max-width:820px){
  .gsi-bar-btn span{ display:none; }
  .gsi-bar-in{ padding:10px 16px; gap:10px; }
  .gsi-bar-title{ max-width:34vw; }
  .gsi-bar-price .gsi-pb-amt{ font-size:18px; }
}
@media print{ .gsi-bar{ display:none; } }
