:root{--bg:#160014;--purple:#301046;--plum:#210022;--gold:#f7c35f;--soft:#ffe5a3;--text:#fff7e8;--muted:#d8c1d9;--card:rgba(28,8,35,.72)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 20% 10%,rgba(255,194,89,.18),transparent 25%),linear-gradient(150deg,#130012,#2a0632 55%,#0d0712);color:var(--text);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(255,211,122,.42) 0 8px,transparent 58px),radial-gradient(circle at 75% 18%,rgba(255,196,82,.28) 0 6px,transparent 70px),radial-gradient(circle at 65% 72%,rgba(255,225,149,.24) 0 7px,transparent 90px),radial-gradient(circle at 34% 80%,rgba(255,183,69,.22) 0 5px,transparent 75px);filter:blur(6px);animation:float 12s ease-in-out infinite alternate;opacity:.9}body:after{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(74,18,95,.55),transparent 38%),radial-gradient(circle at 50% 100%,rgba(110,28,125,.45),transparent 45%)}@keyframes float{from{transform:translateY(0)}to{transform:translateY(-22px)}}a{color:var(--soft);text-decoration:none}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,4vw,64px);background:rgba(13,3,16,.72);backdrop-filter:blur(14px);border-bottom:1px solid rgba(247,195,95,.28)}.logo span{display:block;font-family:Georgia,serif;font-size:30px;color:var(--gold);letter-spacing:.05em}.logo small{display:block;text-transform:uppercase;font-size:11px;color:#d9c0df;letter-spacing:.28em}.navlinks{display:flex;gap:20px;align-items:center}.navlinks a{font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:#f4e6ff}.nav-book,.cta,button{background:linear-gradient(135deg,#fff1ab,#d69a2d 52%,#7b450d);color:#1b0819!important;border:0;border-radius:999px;padding:12px 18px;font-weight:800;box-shadow:0 0 24px rgba(247,195,95,.28)}.menu-toggle{display:none}.page-transition{position:relative;z-index:1;animation:pageIn .5s ease both}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}.hero{padding:clamp(18px,3vw,42px) 0 0}.section{padding:clamp(34px,6vw,78px) clamp(18px,5vw,80px)}/* Hero spread — Signature moments from the Sassy Experience only, with side playing cards and center spade */
.cards{
  position:relative;
  display:grid;
  grid-template-columns:minmax(185px,1fr) minmax(185px,1fr) minmax(290px,1.38fr) minmax(185px,1fr) minmax(185px,1fr);
  gap:0;
  align-items:center;
  width:100vw;
  max-width:none;
  margin:0 auto clamp(18px,3vw,34px);
  padding:clamp(24px,4vw,58px) clamp(6px,1vw,18px) 0;
}
.cards:before{
  content:"";
  position:absolute;
  inset:-90px 0 -120px;
  z-index:-2;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,205,104,.38),transparent 11%),
    radial-gradient(circle at 82% 16%,rgba(255,186,69,.32),transparent 12%),
    radial-gradient(circle at 52% 40%,rgba(255,216,128,.20),transparent 20%),
    radial-gradient(circle at 25% 92%,rgba(112,25,130,.68),transparent 30%),
    radial-gradient(circle at 82% 84%,rgba(145,77,15,.34),transparent 28%),
    linear-gradient(115deg,rgba(19,0,23,.96),rgba(54,0,58,.88) 48%,rgba(10,3,12,.96));
  filter:saturate(1.12);
}
.cards:after{
  content:"";
  position:absolute;
  inset:-75px 0 -100px;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 35%,rgba(255,219,127,.55) 0 3px,transparent 28px),
    radial-gradient(circle at 24% 18%,rgba(255,184,61,.42) 0 4px,transparent 42px),
    radial-gradient(circle at 75% 20%,rgba(255,210,112,.48) 0 4px,transparent 44px),
    radial-gradient(circle at 88% 58%,rgba(255,191,67,.36) 0 3px,transparent 34px),
    radial-gradient(circle at 42% 88%,rgba(255,221,139,.28) 0 4px,transparent 54px),
    radial-gradient(ellipse at 18% 82%,rgba(113,30,140,.44),transparent 32%),
    radial-gradient(ellipse at 84% 88%,rgba(71,17,87,.52),transparent 36%);
  filter:blur(7px);
  opacity:.95;
  animation:float 12s ease-in-out infinite alternate;
}
.card{
  position:relative;
  z-index:1;
  margin:0;
  aspect-ratio:2.5/3.5;
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(145deg,#ffe9a1,#bd7d22 24%,#21051f 31%,#09040b 72%,#f2cd72 100%);
  padding:10px;
  border:1px solid rgba(255,235,171,.9);
  box-shadow:
    0 0 0 2px rgba(94,50,10,.64) inset,
    0 0 0 5px rgba(255,224,133,.13) inset,
    0 0 0 8px rgba(14,5,14,.72) inset,
    0 0 0 10px rgba(255,220,126,.28) inset,
    0 20px 70px rgba(0,0,0,.56),
    0 0 34px rgba(247,195,95,.28);
  width:100%;
  max-width:clamp(230px,18.6vw,345px);
  justify-self:center;
  transform:rotate(var(--r,0deg)) translateY(var(--y,0));
}
.card:before,.card:after{
  position:absolute;
  z-index:4;
  display:grid;
  place-items:center;
  width:34px;
  min-height:54px;
  font-family:Georgia,serif;
  font-weight:900;
  color:#ffe9a6;
  text-shadow:0 0 10px #000,0 0 14px rgba(247,195,95,.45);
  background:linear-gradient(180deg,rgba(10,2,12,.72),rgba(53,11,57,.35));
  border:1px solid rgba(255,226,151,.55);
  border-radius:9px;
  box-shadow:0 0 18px rgba(247,195,95,.18);
  line-height:.9;
  font-size:29px;
  white-space:pre;
}
.card:before{content:"S\A ♠";top:15px;left:15px}.card:after{content:"S\A ♠";right:15px;bottom:15px;transform:rotate(180deg)}
.card:nth-child(1){--r:-7deg;--y:30px;transform:rotate(var(--r)) translate(26px,var(--y))}.card:nth-child(2){--r:-2.5deg;--y:0;transform:rotate(var(--r)) translate(18px,var(--y))}.card:nth-child(4){--r:2.5deg;--y:0;transform:rotate(var(--r)) translate(-18px,var(--y))}.card:nth-child(5){--r:7deg;--y:30px;transform:rotate(var(--r)) translate(-26px,var(--y))}
.card img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:18px;
  filter:saturate(1.1) contrast(1.06) brightness(.96);
  border:1px solid rgba(255,231,164,.38);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.55);
}
.card:nth-child(1) img{object-position:50% 50%}
.card:nth-child(2) img{object-position:50% 31%}
.card:nth-child(4) img{object-position:50% 38%}
.card:nth-child(5) img{object-position:50% 42%}
.spade-hero{
  position:relative;
  z-index:3;
  margin:0;
  aspect-ratio:1/1.08;
  width:clamp(350px,28.5vw,520px);
  justify-self:center;
  align-self:center;
  transform:translateY(-4px) scale(1.04);
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.78)) drop-shadow(0 0 42px rgba(247,195,95,.50));
}
.spade-svg{width:100%;height:100%;display:block;overflow:visible}
.spade-frame-fill{filter:drop-shadow(0 0 12px rgba(255,218,119,.60))}
.spade-photo-outline{stroke:rgba(255,240,184,.86);stroke-width:2.1px;filter:drop-shadow(0 0 8px rgba(255,214,114,.52))}
.spade-stem{filter:drop-shadow(0 0 8px rgba(255,214,114,.45))}
.spade-stem-cut{filter:drop-shadow(0 0 5px rgba(0,0,0,.65))}
.spade-svg image{filter:saturate(1.15) contrast(1.1) brightness(.95)}
.spade-shine{stroke:url(#spadeGold);stroke-width:1.7px;filter:drop-shadow(0 0 10px rgba(255,214,114,.52))}

.gallery-grid img{object-position:50% 40%}
.gallery-grid img:nth-child(1){object-position:50% 45%}
.gallery-grid img:nth-child(2){object-position:50% 50%}
.gallery-grid img:nth-child(3){object-position:50% 28%}
.gallery-grid img:nth-child(4){object-position:50% 36%}
.gallery-grid img:nth-child(5){object-position:50% 42%}
.gallery-grid img:nth-child(6){object-position:50% 35%}
.title{text-align:center;max-width:900px;margin:0 auto}.title h1,.section h1{font-family:Georgia,serif;font-size:clamp(52px,10vw,132px);line-height:.85;margin:0;color:#ffe8a8;text-shadow:0 0 34px rgba(247,195,95,.45)}.title p,.eyebrow{color:#db91ff;text-transform:uppercase;letter-spacing:.36em;font-weight:800}.title span{display:block;max-width:760px;margin:18px auto 28px;color:var(--muted);font-size:20px}.features,.info,.gallery-grid,.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:38px}.features article,.info article,.copy-panel,.booking-form,.video-card,.event-card{background:linear-gradient(180deg,rgba(62,15,67,.76),rgba(20,4,24,.8));border:1px solid rgba(247,195,95,.25);border-radius:28px;padding:22px;box-shadow:0 18px 70px rgba(0,0,0,.28)}.features img,.gallery-grid img{width:100%;height:320px;object-fit:cover;border-radius:20px}.section h1{font-size:clamp(38px,7vw,88px);margin-bottom:16px}.section p{color:var(--muted);font-size:18px;line-height:1.65}.gallery-grid img{height:420px}.booking-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:24px}.booking-form{display:grid;gap:14px}.booking-form label{display:grid;gap:7px;color:#f7e7ff;font-weight:700}.booking-form input,.booking-form textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,228,158,.34);background:rgba(8,2,10,.62);color:#fff;font:inherit}.form-note{font-size:13px!important}.video-card iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:18px}.flyer-scroll{display:flex;gap:18px;overflow-x:auto;padding:14px 0 26px;scroll-snap-type:x mandatory}.flyer-scroll img{height:430px;max-width:310px;object-fit:cover;border-radius:22px;border:1px solid rgba(247,195,95,.4);scroll-snap-align:start;box-shadow:0 18px 60px rgba(0,0,0,.35)}.site-footer{position:relative;z-index:2;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px clamp(18px,5vw,80px);border-top:1px solid rgba(247,195,95,.25);background:rgba(9,2,12,.8);color:#d9c0df}.social-links{display:flex;gap:18px;flex-wrap:wrap}.thank{text-align:center;min-height:60vh;display:grid;place-items:center}.approved-note{margin-top:16px;color:#bd9cc8;font-size:14px!important}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,minmax(150px,1fr));width:100%;padding-inline:18px}.spade-hero{grid-column:1/-1;grid-row:1;width:min(72vw,420px);order:-1}.card{max-width:310px}.booking-layout{grid-template-columns:1fr}}
@media(max-width:850px){.navlinks{display:none;position:absolute;right:16px;top:72px;background:rgba(12,2,15,.95);padding:18px;border-radius:18px;flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.menu-toggle{display:block}.title h1{font-size:62px}.features img,.gallery-grid img{height:300px}}


/* Larger music embeds */
.video-grid{
  grid-template-columns:repeat(auto-fit,minmax(520px,1fr));
  gap:28px;
  align-items:start;
}
.video-card{padding:26px;border-radius:32px}
.video-card iframe{min-height:320px;border-radius:20px}
@media(max-width:700px){.video-grid{grid-template-columns:1fr}.video-card iframe{min-height:auto}}

/* v14: tighter luxury playing-card edges */

.card .card-edge{display:none}
.card::marker{display:none}
.card img::selection{background:transparent}
.card{
  background:
    linear-gradient(145deg,#fff0ad 0%,#e6b34e 10%,#8b4b10 18%,#23101d 25%,#08040a 72%,#c38628 88%,#ffe8a2 100%);
}
.card img{
  outline:1px solid rgba(255,232,163,.34);
  outline-offset:-7px;
}
.card > img:after{content:""}
.card .corner-flourish{display:none}
.card:has(img){ }

/* v16 cinematic rebuild: closer to the gold/smoky reference from top through music section */
html{background:#060008}
body{
  background:
    radial-gradient(ellipse at 50% -6%,rgba(255,196,74,.18),transparent 30%),
    radial-gradient(ellipse at 18% 72%,rgba(119,0,145,.38),transparent 32%),
    radial-gradient(ellipse at 86% 72%,rgba(125,63,6,.26),transparent 32%),
    linear-gradient(180deg,#050006 0%,#100013 22%,#210022 50%,#130015 100%) !important;
}
body:before{
  z-index:0;
  background:
    radial-gradient(circle at 13% 28%,rgba(255,215,119,.48) 0 2px,transparent 22px),
    radial-gradient(circle at 23% 14%,rgba(255,188,70,.30) 0 5px,transparent 58px),
    radial-gradient(circle at 44% 18%,rgba(255,210,101,.22) 0 2px,transparent 35px),
    radial-gradient(circle at 73% 14%,rgba(255,212,121,.34) 0 6px,transparent 62px),
    radial-gradient(circle at 88% 36%,rgba(255,180,48,.28) 0 3px,transparent 44px),
    radial-gradient(circle at 36% 80%,rgba(255,210,96,.22) 0 3px,transparent 48px),
    radial-gradient(circle at 58% 78%,rgba(255,178,51,.16) 0 4px,transparent 66px),
    radial-gradient(ellipse at 8% 67%,rgba(166,28,198,.34),transparent 32%),
    radial-gradient(ellipse at 94% 65%,rgba(211,105,31,.18),transparent 34%);
  filter:blur(4px) saturate(1.25) !important;
  opacity:1 !important;
}
body:after{
  z-index:0;
  background:
    radial-gradient(ellipse at 14% 82%,rgba(178,44,230,.26),transparent 23%),
    radial-gradient(ellipse at 92% 82%,rgba(214,116,34,.18),transparent 25%),
    radial-gradient(ellipse at 50% 42%,rgba(255,196,76,.14),transparent 33%),
    linear-gradient(90deg,rgba(34,0,39,.78),transparent 20%,transparent 80%,rgba(21,0,21,.8)),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.44) 58%,rgba(25,0,32,.7));
  opacity:1 !important;
}
.topbar{
  background:rgba(7,0,9,.82) !important;
  border-bottom:1px solid rgba(237,185,72,.34) !important;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.hero{
  min-height:calc(100vh - 92px);
  padding:clamp(10px,1.5vw,24px) 0 0 !important;
  position:relative;
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:clamp(560px,72vw,760px);
  z-index:-1;
  background:
    radial-gradient(ellipse at 50% 18%,rgba(255,201,86,.26),transparent 28%),
    radial-gradient(ellipse at 12% 60%,rgba(154,33,194,.34),transparent 34%),
    radial-gradient(ellipse at 88% 60%,rgba(225,123,36,.22),transparent 34%),
    radial-gradient(ellipse at 50% 78%,rgba(70,0,86,.50),transparent 44%);
  filter:saturate(1.25);
}
.hero:after{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:clamp(560px,72vw,760px);
  z-index:-1;
  background:
    radial-gradient(circle at 17% 18%,rgba(255,220,126,.50) 0 2px,transparent 24px),
    radial-gradient(circle at 31% 27%,rgba(255,189,63,.32) 0 1.5px,transparent 20px),
    radial-gradient(circle at 55% 19%,rgba(255,221,139,.40) 0 2px,transparent 30px),
    radial-gradient(circle at 78% 20%,rgba(255,218,125,.44) 0 2px,transparent 28px),
    radial-gradient(circle at 87% 44%,rgba(255,191,66,.31) 0 1.5px,transparent 22px),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.50));
  mix-blend-mode:screen;
  opacity:.78;
  filter:blur(.5px);
}
.cards{
  grid-template-columns:minmax(245px,1fr) minmax(245px,1fr) minmax(380px,1.16fr) minmax(245px,1fr) minmax(245px,1fr) !important;
  gap:clamp(0px,.6vw,10px) !important;
  width:min(100vw,1920px) !important;
  max-width:1920px !important;
  padding:clamp(36px,4.2vw,72px) clamp(12px,2.6vw,55px) 0 !important;
  margin-bottom:clamp(0px,1vw,18px) !important;
  isolation:isolate;
}
.cards:before{
  inset:-160px -5vw -160px !important;
  background:
    radial-gradient(ellipse at 49% 18%,rgba(255,198,72,.32),transparent 23%),
    radial-gradient(ellipse at 50% 48%,rgba(255,205,88,.16),transparent 35%),
    radial-gradient(ellipse at 15% 74%,rgba(149,31,189,.55),transparent 32%),
    radial-gradient(ellipse at 92% 70%,rgba(196,92,22,.26),transparent 30%),
    linear-gradient(180deg,#070009 0%,#150018 22%,#27002d 56%,#0d000f 100%) !important;
  filter:saturate(1.22) contrast(1.05) !important;
}
.cards:after{
  inset:-150px -5vw -155px !important;
  background:
    radial-gradient(circle at 16% 35%,rgba(255,217,115,.58) 0 2px,transparent 26px),
    radial-gradient(circle at 24% 18%,rgba(255,190,56,.36) 0 4px,transparent 42px),
    radial-gradient(circle at 47% 19%,rgba(255,225,144,.44) 0 3px,transparent 38px),
    radial-gradient(circle at 73% 18%,rgba(255,221,134,.45) 0 5px,transparent 50px),
    radial-gradient(circle at 84% 48%,rgba(255,195,61,.34) 0 3px,transparent 36px),
    radial-gradient(circle at 56% 77%,rgba(255,210,98,.18) 0 3px,transparent 40px),
    radial-gradient(ellipse at 8% 82%,rgba(165,36,211,.42),transparent 28%),
    radial-gradient(ellipse at 96% 80%,rgba(213,100,30,.22),transparent 30%),
    linear-gradient(90deg,rgba(144,25,181,.18),transparent 25%,transparent 75%,rgba(196,90,25,.14));
  filter:blur(3.5px) saturate(1.3) !important;
  mix-blend-mode:screen;
}
.card{
  max-width:clamp(270px,19vw,365px) !important;
  padding:7px !important;
  border-radius:22px !important;
  background:
    linear-gradient(135deg,#fff4ba 0%,#e2a83b 9%,#7b3d09 15%,#120713 20%,#060306 74%,#a76617 87%,#ffeab1 100%) !important;
  border:1px solid rgba(255,224,134,.88) !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.86) inset,
    0 0 0 3px rgba(255,216,112,.58) inset,
    0 0 0 5px rgba(10,3,12,.82) inset,
    0 0 0 7px rgba(242,186,64,.24) inset,
    0 20px 64px rgba(0,0,0,.62),
    0 0 20px rgba(255,196,72,.30) !important;
  overflow:hidden;
}
.card:before,.card:after{
  width:36px !important;
  min-height:60px !important;
  font-size:31px !important;
  background:linear-gradient(180deg,rgba(6,2,8,.74),rgba(34,11,34,.32)) !important;
  border:1px solid rgba(255,229,151,.60) !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.62) inset,0 0 18px rgba(255,198,77,.24) !important;
  z-index:6 !important;
}
.card:before{top:16px!important;left:16px!important}.card:after{right:16px!important;bottom:16px!important}
.card img{
  border-radius:17px !important;
  border:1px solid rgba(255,231,157,.64) !important;
  outline:1px solid rgba(247,195,95,.60) !important;
  outline-offset:-9px !important;
  filter:saturate(1.16) contrast(1.12) brightness(.94) !important;
}
.card:nth-child(1){transform:rotate(-6deg) translate(18px,22px)!important;z-index:1}
.card:nth-child(2){transform:rotate(-2deg) translate(8px,-10px)!important;z-index:2}
.card:nth-child(4){transform:rotate(2deg) translate(-8px,-10px)!important;z-index:2}
.card:nth-child(5){transform:rotate(6deg) translate(-18px,22px)!important;z-index:1}
.spade-hero{
  width:clamp(385px,29.5vw,560px) !important;
  transform:translateY(-18px) scale(1.02) !important;
  filter:drop-shadow(0 28px 70px rgba(0,0,0,.85)) drop-shadow(0 0 44px rgba(247,195,95,.58)) !important;
}
.spade-glow{filter:drop-shadow(0 0 12px rgba(255,219,122,.68)) drop-shadow(0 0 24px rgba(218,139,29,.38))}
.spade-photo-back{stroke:rgba(255,232,155,.68);stroke-width:1}
.spade-vignette{stroke:rgba(0,0,0,.48);stroke-width:7px;filter:blur(2px)}
.spade-inner-line{stroke:rgba(255,239,179,.88);stroke-width:1.45px;filter:drop-shadow(0 0 8px rgba(255,213,105,.7))}
.spade-stem{filter:drop-shadow(0 0 10px rgba(255,205,90,.55))}
.spade-stem-cut{filter:none}
.spade-shine{stroke:url(#spadeGold);stroke-width:2.4px;filter:drop-shadow(0 0 12px rgba(255,219,122,.62))}
.title{
  margin-top:clamp(-54px,-3vw,-20px) !important;
  position:relative;
  z-index:2;
}
.title h1{
  font-size:clamp(74px,9.5vw,132px) !important;
  text-shadow:0 0 34px rgba(255,202,92,.44),0 16px 50px rgba(0,0,0,.58) !important;
}
.title span{font-size:clamp(16px,1.28vw,21px)!important;margin-top:10px!important;margin-bottom:20px!important;color:#f2d9f7!important;text-shadow:0 1px 18px rgba(0,0,0,.7)}
.features{
  margin-top:clamp(24px,3vw,46px)!important;
  padding:0 clamp(16px,5vw,80px) clamp(22px,3vw,42px);
  position:relative;
}
.features:before{
  content:"";position:absolute;inset:-38px 0 -40px;z-index:-1;
  background:linear-gradient(180deg,rgba(8,0,10,.08),rgba(38,0,48,.58)),radial-gradient(ellipse at 50% 12%,rgba(255,191,61,.10),transparent 36%);
  border-top:1px solid rgba(255,212,107,.18);
}
.features article{border-color:rgba(255,205,88,.46)!important;background:linear-gradient(120deg,rgba(8,3,9,.86),rgba(45,8,45,.54))!important;box-shadow:0 22px 80px rgba(0,0,0,.5),0 0 24px rgba(247,195,95,.10)!important}
.features img{filter:saturate(1.12) contrast(1.06);border:1px solid rgba(255,219,132,.35)}
.section,.site-footer{position:relative;z-index:1}
.video-grid .video-card{box-shadow:0 16px 62px rgba(0,0,0,.5),0 0 20px rgba(247,195,95,.12)!important;border-color:rgba(247,195,95,.45)!important;background:linear-gradient(180deg,rgba(21,7,24,.86),rgba(9,2,11,.86))!important}
@media(max-width:1200px){
  .cards{grid-template-columns:repeat(2,minmax(210px,1fr))!important;width:100%!important;padding-inline:20px!important}.spade-hero{grid-column:1/-1!important;grid-row:1!important;order:-1!important;width:min(76vw,500px)!important}.card{max-width:340px!important}.title{margin-top:0!important}
}

/* v17: rebuild hero to chase the provided reference: deep black base, purple smoke, gold particle field, tighter hand-of-cards, cleaner spade crop */
body{
  background:
    radial-gradient(ellipse at 50% 6%,rgba(239,178,55,.20),transparent 24%),
    radial-gradient(ellipse at 9% 72%,rgba(132,0,178,.46),transparent 30%),
    radial-gradient(ellipse at 91% 70%,rgba(168,72,19,.32),transparent 30%),
    linear-gradient(180deg,#020004 0%,#08000a 18%,#18001f 55%,#09000c 100%) !important;
}
body:before{
  background:
    radial-gradient(circle at 9% 24%,rgba(255,217,118,.52) 0 2px,transparent 26px),
    radial-gradient(circle at 17% 16%,rgba(255,177,43,.25) 0 5px,transparent 58px),
    radial-gradient(circle at 31% 22%,rgba(255,221,131,.34) 0 2px,transparent 31px),
    radial-gradient(circle at 49% 13%,rgba(255,205,91,.56) 0 3px,transparent 42px),
    radial-gradient(circle at 69% 18%,rgba(255,225,142,.42) 0 4px,transparent 54px),
    radial-gradient(circle at 82% 26%,rgba(255,183,48,.34) 0 3px,transparent 36px),
    radial-gradient(circle at 94% 64%,rgba(255,202,88,.26) 0 3px,transparent 40px),
    radial-gradient(circle at 41% 82%,rgba(255,195,62,.20) 0 2px,transparent 36px),
    radial-gradient(circle at 58% 76%,rgba(255,218,130,.22) 0 2px,transparent 45px),
    radial-gradient(ellipse at 6% 70%,rgba(184,32,230,.46),transparent 30%),
    radial-gradient(ellipse at 96% 71%,rgba(225,102,31,.30),transparent 30%) !important;
  filter:blur(2px) saturate(1.35) contrast(1.08) !important;
  opacity:1 !important;
}
body:after{
  background:
    radial-gradient(ellipse at 12% 69%,rgba(188,45,235,.30),transparent 23%),
    radial-gradient(ellipse at 88% 70%,rgba(224,115,39,.22),transparent 25%),
    radial-gradient(ellipse at 50% 24%,rgba(255,190,60,.16),transparent 31%),
    linear-gradient(90deg,rgba(15,0,19,.92),rgba(18,0,18,.18) 18%,rgba(18,0,18,.20) 82%,rgba(8,0,10,.95)),
    linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.56) 66%,rgba(10,0,13,.86)) !important;
  mix-blend-mode:normal !important;
}
.hero{
  min-height:auto !important;
  padding-top:0 !important;
  background:
    radial-gradient(ellipse at 50% 12%,rgba(241,178,48,.22),transparent 24%),
    radial-gradient(ellipse at 4% 74%,rgba(163,23,213,.42),transparent 32%),
    radial-gradient(ellipse at 97% 70%,rgba(205,86,27,.22),transparent 32%),
    linear-gradient(180deg,#050006 0%,#0b000d 24%,#17001d 58%,#08000b 100%) !important;
}
.hero:before{
  height:clamp(620px,62vw,820px) !important;
  background:
    radial-gradient(ellipse at 50% 18%,rgba(255,196,64,.30),transparent 22%),
    radial-gradient(ellipse at 20% 69%,rgba(145,23,190,.44),transparent 28%),
    radial-gradient(ellipse at 79% 69%,rgba(185,80,20,.28),transparent 29%),
    radial-gradient(ellipse at 50% 83%,rgba(89,0,112,.44),transparent 46%),
    linear-gradient(180deg,rgba(1,0,3,.55),rgba(15,0,18,.20) 36%,rgba(5,0,8,.82)) !important;
  filter:saturate(1.3) contrast(1.1) !important;
}
.hero:after{
  height:clamp(620px,62vw,820px) !important;
  background:
    radial-gradient(circle at 17% 29%,rgba(255,215,111,.45) 0 2px,transparent 22px),
    radial-gradient(circle at 28% 21%,rgba(255,188,55,.26) 0 1.5px,transparent 20px),
    radial-gradient(circle at 45% 16%,rgba(255,226,138,.44) 0 2px,transparent 28px),
    radial-gradient(circle at 53% 23%,rgba(255,183,47,.24) 0 1.5px,transparent 20px),
    radial-gradient(circle at 70% 22%,rgba(255,220,132,.44) 0 2px,transparent 28px),
    radial-gradient(circle at 84% 38%,rgba(255,191,66,.34) 0 1.5px,transparent 22px),
    radial-gradient(circle at 91% 62%,rgba(255,182,56,.22) 0 2px,transparent 28px),
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.50)) !important;
  opacity:.92 !important;
  mix-blend-mode:screen !important;
}
.cards{
  grid-template-columns:minmax(250px,1fr) minmax(255px,1.04fr) minmax(400px,1.24fr) minmax(255px,1.04fr) minmax(250px,1fr) !important;
  gap:clamp(0px,.25vw,5px) !important;
  width:100vw !important;
  padding:clamp(24px,3.2vw,50px) clamp(8px,1.7vw,34px) 0 !important;
  margin-bottom:-16px !important;
}
.cards:before{
  inset:-170px 0 -190px !important;
  background:
    radial-gradient(ellipse at 50% 20%,rgba(255,196,59,.30),transparent 24%),
    radial-gradient(ellipse at 9% 70%,rgba(159,28,211,.56),transparent 31%),
    radial-gradient(ellipse at 91% 69%,rgba(210,90,30,.28),transparent 30%),
    linear-gradient(180deg,#020003 0%,#070008 14%,#110014 34%,#22002b 62%,#070009 100%) !important;
}
.cards:after{
  inset:-150px 0 -190px !important;
  background:
    radial-gradient(circle at 10% 33%,rgba(255,215,111,.58) 0 2px,transparent 26px),
    radial-gradient(circle at 22% 18%,rgba(255,182,47,.34) 0 3px,transparent 38px),
    radial-gradient(circle at 39% 19%,rgba(255,226,143,.30) 0 2px,transparent 34px),
    radial-gradient(circle at 49% 12%,rgba(255,202,83,.54) 0 3px,transparent 44px),
    radial-gradient(circle at 62% 20%,rgba(255,221,133,.34) 0 2px,transparent 36px),
    radial-gradient(circle at 77% 19%,rgba(255,212,114,.40) 0 3px,transparent 42px),
    radial-gradient(circle at 90% 40%,rgba(255,183,54,.30) 0 2px,transparent 34px),
    radial-gradient(ellipse at 6% 76%,rgba(200,47,247,.44),transparent 25%),
    radial-gradient(ellipse at 94% 77%,rgba(234,115,38,.24),transparent 26%) !important;
  filter:blur(2px) saturate(1.45) !important;
}
.card{
  max-width:clamp(292px,20.5vw,398px) !important;
  padding:8px !important;
  border-radius:19px !important;
  background:
    linear-gradient(135deg,#ffefaa 0%,#f0c15d 4%,#95520f 8%,#050207 11%,#120615 86%,#b56c17 92%,#ffe8a4 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,235,164,.56) inset,
    0 0 0 3px rgba(10,4,12,.85) inset,
    0 0 0 5px rgba(243,186,58,.54) inset,
    0 0 0 8px rgba(0,0,0,.62) inset,
    0 0 0 10px rgba(255,219,121,.18) inset,
    0 28px 80px rgba(0,0,0,.72),
    0 0 23px rgba(255,196,64,.36) !important;
}
.card:before,.card:after{
  color:#ffe89f !important;
  text-shadow:0 0 10px #000,0 0 15px rgba(255,205,80,.7) !important;
  background:linear-gradient(180deg,rgba(4,1,5,.80),rgba(42,13,42,.42)) !important;
}
.card img{height:100% !important;object-fit:cover !important;filter:saturate(1.20) contrast(1.18) brightness(.92) !important;}
.card:nth-child(1){transform:rotate(-7.5deg) translate(30px,18px)!important;z-index:1}
.card:nth-child(2){transform:rotate(-2.5deg) translate(12px,-16px)!important;z-index:2}
.card:nth-child(4){transform:rotate(2.5deg) translate(-12px,-16px)!important;z-index:2}
.card:nth-child(5){transform:rotate(7.5deg) translate(-30px,18px)!important;z-index:1}
.spade-hero{
  width:clamp(420px,31vw,610px) !important;
  transform:translateY(-22px) scale(1.04) !important;
  z-index:4 !important;
  filter:drop-shadow(0 30px 82px rgba(0,0,0,.92)) drop-shadow(0 0 56px rgba(255,198,67,.70)) !important;
}
.spade-svg image{filter:saturate(1.18) contrast(1.16) brightness(.90)}
.spade-glow{filter:drop-shadow(0 0 20px rgba(255,215,104,.8)) drop-shadow(0 0 42px rgba(223,138,22,.52)) !important;}
.spade-vignette{stroke:rgba(0,0,0,.58)!important;stroke-width:4px!important;filter:blur(1.2px)!important;}
.spade-shine{stroke-width:1.8px!important;}
.spade-stem{transform-origin:50% 91%;transform:scale(.72) translateY(10px);filter:drop-shadow(0 0 14px rgba(255,205,83,.68)) !important;}
.spade-stem-cut{transform-origin:50% 93%;transform:scale(.72) translateY(10px);}
.title{margin-top:-48px !important;}
.title h1{font-size:clamp(82px,9vw,136px)!important;letter-spacing:.14em!important;background:linear-gradient(180deg,#fff2b1,#f2c669 44%,#a86316 86%);-webkit-background-clip:text;background-clip:text;color:transparent!important;}
.title p{margin-top:-14px!important;letter-spacing:.45em!important;color:#e9b6ff!important;text-shadow:0 0 12px rgba(196,62,255,.55)!important;}
.title span{max-width:760px!important;}
.features{margin-top:clamp(20px,2vw,34px)!important;}
@media(max-width:1200px){.card:nth-child(n){transform:none!important}.cards{gap:18px!important}.spade-hero{transform:none!important}}

/* v18 final launch polish: spade bottom, image centering, full bio, and music layout */
body.page-exit .page-transition{animation:pageOut .28s ease both}@keyframes pageOut{to{opacity:0;transform:translateY(14px);filter:blur(3px)}}
.spade-stem-back{transform:none!important;transform-origin:50% 95%}.spade-stem-cut{transform:none!important;transform-origin:50% 95%}.spade-hero{aspect-ratio:1/1.12!important}.spade-svg image{filter:saturate(1.15) contrast(1.1) brightness(.93)!important}.spade-vignette{stroke:rgba(0,0,0,.42)!important;stroke-width:3.2px!important;filter:blur(1px)!important}
.features article:first-child img{object-position:50% 8%!important}.features article:nth-child(2) img{object-position:50% 40%!important}.features img{object-fit:cover!important}
.about-page .full-bio{margin:24px 0 34px;max-width:1100px}.about-page .full-bio p{margin:0 0 16px}.about-feature-grid img.about-centered-img{height:430px;object-fit:cover!important}.about-feature-grid .songstress-img{object-position:50% 50%!important}.about-feature-grid .mood-img{object-position:50% 43%!important}.about-feature-grid article{overflow:hidden}
.music-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(240px,.72fr);gap:28px;margin-top:38px;align-items:start}.main-videos{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:28px}.main-videos .video-card iframe{aspect-ratio:16/9;min-height:320px}.shorts-rail{display:grid;gap:20px;position:sticky;top:110px}.short-card{padding:18px}.short-card iframe{aspect-ratio:9/16!important;min-height:420px!important;width:100%;border:0;border-radius:18px}.music-page .approved-note{margin-top:24px}.music-page .video-card{border-color:rgba(255,210,94,.48)!important;background:linear-gradient(180deg,rgba(22,5,25,.9),rgba(8,2,10,.92))!important;box-shadow:0 18px 70px rgba(0,0,0,.55),0 0 22px rgba(247,195,95,.14)!important}
@media(max-width:1100px){.music-layout{grid-template-columns:1fr}.shorts-rail{position:static;grid-template-columns:repeat(2,minmax(180px,1fr))}.main-videos{grid-template-columns:1fr}.short-card iframe{min-height:520px!important}}
@media(max-width:650px){.shorts-rail{grid-template-columns:1fr}.short-card iframe{min-height:520px!important}.about-feature-grid img.about-centered-img{height:330px}}
/* screenshot QA adjustment: keep the smoky scene rich but stop global darkness from flattening the hero */
body{position:relative!important}body:before,body:after{z-index:0!important}.topbar,.page-transition,.site-footer{position:relative;z-index:2!important}.cards,.cards>*{opacity:1!important}.card img{filter:saturate(1.18) contrast(1.12) brightness(1.04)!important}.spade-svg image{filter:saturate(1.12) contrast(1.08) brightness(1.03)!important}.title h1{filter:brightness(1.18)}.title span,.title p{filter:brightness(1.1)}

.page-transition{opacity:1!important;animation:pageIn .45s ease both!important}
body.page-exit .page-transition{opacity:0!important;animation:pageOut .28s ease both!important}


/* v19 final corrections: face-centered feature crops, larger performance videos, stronger page transitions, mobile verification polish */
.features img.live-vocals-img{object-position:50% 8%!important;}
.about-feature-grid .songstress-img{object-position:50% 42%!important;}
.about-feature-grid .mood-img{object-position:50% 20%!important;}
.about-page .full-bio{max-width:1180px!important;}
.about-page .full-bio p{font-size:17px!important;line-height:1.72!important;margin-bottom:15px!important;}

/* Bigger primary videos so they visually continue down beside the shorts rail */
.music-layout{grid-template-columns:minmax(0,2.35fr) minmax(260px,.72fr)!important;gap:30px!important;}
.main-videos{grid-template-columns:1fr!important;gap:30px!important;}
.main-videos .video-card{padding:26px!important;}
.main-videos .video-card iframe{aspect-ratio:16/9!important;min-height:clamp(360px,42vw,620px)!important;}
.short-card iframe{min-height:clamp(420px,46vw,600px)!important;}

/* Page-to-page animation support */
html{scroll-behavior:smooth;}
body{transition:opacity .28s ease, transform .28s ease, filter .28s ease;}
body.page-exit{opacity:0;transform:translateY(10px) scale(.992);filter:blur(3px);}
.page-transition{animation:pageIn .58s cubic-bezier(.2,.7,.2,1) both!important;}
@keyframes pageIn{0%{opacity:0;transform:translateY(14px) scale(.992);filter:blur(4px)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}

@media(max-width:1100px){
  .music-layout{grid-template-columns:1fr!important;}
  .main-videos .video-card iframe{min-height:clamp(280px,54vw,520px)!important;}
  .shorts-rail{grid-template-columns:repeat(2,minmax(220px,1fr))!important;}
}
@media(max-width:760px){
  .features img.live-vocals-img{object-position:50% 0!important;}
  .about-feature-grid .mood-img{object-position:50% 12%!important;}
  .music-page .section,.section.music-page{padding-left:16px!important;padding-right:16px!important;}
  .shorts-rail{grid-template-columns:1fr!important;}
  .main-videos .video-card,.short-card{padding:14px!important;}
  .main-videos .video-card iframe{min-height:auto!important;aspect-ratio:16/9!important;}
  .short-card iframe{min-height:auto!important;aspect-ratio:9/16!important;}
  .about-page .full-bio p{font-size:16px!important;}
}


/* v20 corrections: move social links into header and force face-focused crops */
.topbar{
  display:grid!important;
  grid-template-columns:auto auto 1fr auto!important;
  column-gap:clamp(18px,2.4vw,42px)!important;
  align-items:center!important;
}
.top-social{
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
  justify-self:start!important;
}
.top-social a{
  width:34px!important;
  height:34px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:999px!important;
  border:1px solid rgba(255,224,144,.62)!important;
  background:radial-gradient(circle at 30% 25%,rgba(255,241,171,.95),rgba(218,158,45,.86) 54%,rgba(90,42,10,.9))!important;
  color:#170414!important;
  font-weight:900!important;
  font-family:Georgia,serif!important;
  line-height:1!important;
  box-shadow:0 0 18px rgba(247,195,95,.22), inset 0 0 8px rgba(255,255,255,.25)!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.navlinks{justify-self:end!important;}
.menu-toggle{justify-self:end!important;}
.site-footer{justify-content:center!important;text-align:center!important;}
.site-footer .social-links{display:none!important;}
.features article img.live-vocals-img,
.hero .features article:first-child img.live-vocals-img{
  object-fit:cover!important;
  object-position:52% 0%!important;
}
.about-feature-grid img.mood-img,
.about-page .about-feature-grid img.mood-img,
.features.about-feature-grid article img.mood-img{
  object-fit:cover!important;
  object-position:50% 16%!important;
}
.about-feature-grid img.songstress-img,
.about-page .about-feature-grid img.songstress-img{
  object-fit:cover!important;
  object-position:50% 50%!important;
}
@media(max-width:900px){
  .topbar{grid-template-columns:auto auto 1fr!important;column-gap:14px!important;}
  .top-social a{width:30px!important;height:30px!important;font-size:14px!important;}
  .menu-toggle{display:block!important;grid-column:3!important;}
  .navlinks{grid-column:1 / -1!important;justify-self:end!important;}
}
@media(max-width:520px){
  .topbar{padding:12px 14px!important;column-gap:8px!important;}
  .logo span{font-size:24px!important}.logo small{font-size:9px!important;letter-spacing:.2em!important;}
  .top-social{gap:6px!important;}
  .top-social a{width:28px!important;height:28px!important;}
}

/* v21 mobile rebuild: phone/tablet layout without changing the approved desktop hero */
@media (max-width: 900px){
  html,body{width:100%;overflow-x:hidden!important;}
  body{
    background:
      radial-gradient(ellipse at 50% 4%,rgba(246,190,69,.22),transparent 25%),
      radial-gradient(ellipse at 16% 42%,rgba(164,37,214,.34),transparent 36%),
      radial-gradient(ellipse at 86% 58%,rgba(203,92,28,.20),transparent 34%),
      linear-gradient(180deg,#050006 0%,#140018 42%,#08000a 100%)!important;
  }
  body:before{filter:blur(3px) saturate(1.2)!important;opacity:.72!important;}
  body:after{opacity:.88!important;}

  .topbar{
    position:sticky!important;
    top:0!important;
    grid-template-columns:1fr auto!important;
    grid-template-areas:"logo social" "nav nav"!important;
    gap:10px 10px!important;
    padding:11px 14px!important;
    min-height:auto!important;
    background:rgba(7,0,9,.92)!important;
  }
  .logo{grid-area:logo!important;min-width:0!important;}
  .logo span{font-size:26px!important;line-height:1!important;}
  .logo small{font-size:9px!important;letter-spacing:.18em!important;white-space:nowrap!important;}
  .top-social{grid-area:social!important;justify-self:end!important;align-self:center!important;gap:7px!important;}
  .top-social a{width:30px!important;height:30px!important;font-size:14px!important;}
  .menu-toggle{
    display:none!important;
    visibility:hidden!important;
  }
  .navlinks{
    grid-area:nav!important;
    position:static!important;
    display:none!important;
    width:100%!important;
    background:rgba(9,0,12,.96)!important;
    border:1px solid rgba(247,195,95,.25)!important;
    border-radius:18px!important;
    padding:12px!important;
    margin-top:4px!important;
    flex-direction:column!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  .navlinks.open{display:flex!important;}
  .navlinks a{display:block!important;text-align:center!important;padding:11px 12px!important;border-radius:12px!important;background:rgba(255,255,255,.035)!important;}
  .navlinks .nav-book{margin-top:4px!important;}

  .hero{min-height:auto!important;padding-bottom:26px!important;overflow:hidden!important;}
  .hero:before,.hero:after{height:100%!important;min-height:900px!important;}
  .cards{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    padding:22px 14px 4px!important;
    margin:0 auto!important;
    gap:13px!important;
    align-items:center!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding:16px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .cards::-webkit-scrollbar{height:0!important;}
  .cards:before{inset:-80px -25vw -90px!important;}
  .cards:after{inset:-80px -25vw -90px!important;}
  .card,.card:nth-child(n){
    flex:0 0 clamp(178px,51vw,220px)!important;
    width:clamp(178px,51vw,220px)!important;
    max-width:none!important;
    transform:rotate(var(--mobile-r,0deg)) translateY(var(--mobile-y,0))!important;
    scroll-snap-align:center!important;
    border-radius:18px!important;
    padding:6px!important;
  }
  .card:nth-child(1){--mobile-r:-4deg;--mobile-y:8px;order:2;}
  .card:nth-child(2){--mobile-r:-2deg;--mobile-y:0;order:3;}
  .spade-hero{
    flex:0 0 clamp(226px,66vw,285px)!important;
    width:clamp(226px,66vw,285px)!important;
    transform:none!important;
    order:1!important;
    scroll-snap-align:center!important;
    margin-right:2px!important;
  }
  .card:nth-child(4){--mobile-r:2deg;--mobile-y:0;order:4;}
  .card:nth-child(5){--mobile-r:4deg;--mobile-y:8px;order:5;}
  .card:before,.card:after{width:27px!important;min-height:43px!important;font-size:22px!important;top:10px!important;left:10px!important;border-radius:7px!important;}
  .card:after{right:10px!important;bottom:10px!important;left:auto!important;top:auto!important;}
  .card img{border-radius:13px!important;outline-offset:-6px!important;}
  .spade-hero .spade-svg{max-height:310px!important;}

  .title{padding:0 18px!important;margin:8px auto 0!important;}
  .title h1{font-size:clamp(52px,19vw,78px)!important;line-height:.9!important;letter-spacing:.08em!important;}
  .title p{font-size:12px!important;letter-spacing:.28em!important;margin:6px 0 0!important;}
  .title span{font-size:15px!important;line-height:1.55!important;margin:12px auto 22px!important;}
  .cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;}

  .features{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:18px 15px 30px!important;
    margin-top:18px!important;
  }
  .features article,.info article,.copy-panel,.booking-form,.video-card,.event-card{
    border-radius:22px!important;
    padding:16px!important;
  }
  .features img,.gallery-grid img{height:260px!important;border-radius:16px!important;}
  .features article img.live-vocals-img{object-position:52% 0%!important;}

  .section{padding:32px 16px!important;}
  .section h1{font-size:clamp(38px,13vw,58px)!important;line-height:.95!important;}
  .section p{font-size:16px!important;line-height:1.6!important;}
  .features,.info,.gallery-grid,.video-grid{grid-template-columns:1fr!important;}
  .gallery-grid img{height:310px!important;}
  .booking-layout{grid-template-columns:1fr!important;}
  .flyer-scroll img{height:330px!important;max-width:245px!important;}

  .music-layout{display:block!important;margin-top:24px!important;}
  .main-videos{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;}
  .main-videos .video-card iframe{width:100%!important;aspect-ratio:16/9!important;min-height:auto!important;}
  .shorts-rail{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;position:static!important;margin-top:20px!important;}
  .short-card iframe{width:100%!important;aspect-ratio:9/16!important;min-height:auto!important;}
  .video-card{padding:14px!important;}
  .video-card iframe{border-radius:16px!important;}

  .about-feature-grid img.about-centered-img{height:300px!important;}
  .about-feature-grid .songstress-img{object-position:50% 42%!important;}
  .about-feature-grid .mood-img{object-position:50% 10%!important;}
  .site-footer{font-size:13px!important;padding:20px 16px!important;}
}

@media (max-width: 430px){
  .cards{padding-left:10px!important;padding-right:10px!important;gap:10px!important;}
  .card,.card:nth-child(n){flex-basis:176px!important;width:176px!important;}
  .spade-hero{flex-basis:232px!important;width:232px!important;}
  .title h1{font-size:56px!important;}
  .features img,.gallery-grid img{height:245px!important;}
  .top-social a{width:28px!important;height:28px!important;font-size:13px!important;}
}

@media (max-width: 370px){
  .logo span{font-size:23px!important;}
  .logo small{font-size:8px!important;}
  .top-social{gap:5px!important;}
  .top-social a{width:26px!important;height:26px!important;}
  .menu-toggle{width:34px!important;height:32px!important;}
  .card,.card:nth-child(n){flex-basis:160px!important;width:160px!important;}
  .spade-hero{flex-basis:210px!important;width:210px!important;}
}


/* ================================================
   v22 MOBILE FIX — appended last, highest priority
   Fixes: nav, booking page, buttons, overflow
   ================================================ */

/* ================================================
   MOBILE ONLY — clean single block
   Desktop is untouched above this line
   ================================================ */

/* ---- 900px and below ---- */
@media (max-width: 900px) {

  html, body {
    width: 100%;
    overflow-x: hidden;
  }

  /* TOPBAR — simple flex row */
  .topbar {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 11px 14px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: rgba(7,0,9,.97) !important;
    gap: 10px !important;
    grid-template-columns: unset !important;
    grid-template-areas: unset !important;
  }
  .logo { flex: 1; min-width: 0; }
  .logo span { font-size: 25px !important; }
  .logo small { font-size: 9px !important; letter-spacing: .18em !important; }
  .top-social {
    display: flex !important;
    gap: 7px !important;
    flex-shrink: 0 !important;
    justify-self: unset !important;
  }
  .top-social a {
    width: 30px !important;
    height: 30px !important;
    font-size: 13px !important;
  }

  /* HAMBURGER */
  .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 42px !important;
    height: 40px !important;
    border: none !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg,#fff0ae,#bf7b19) !important;
    color: #140013 !important;
    font-size: 20px !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    padding: 0 !important;
    justify-self: unset !important;
  }

  /* NAV DRAWER */
  .navlinks {
    display: none !important;
    position: fixed !important;
    top: 64px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999 !important;
    background: rgba(8,0,12,.98) !important;
    border-bottom: 1px solid rgba(247,195,95,.3) !important;
    flex-direction: column !important;
    padding: 12px 16px 20px !important;
    gap: 6px !important;
    -webkit-backdrop-filter: blur(20px) !important;
    backdrop-filter: blur(20px) !important;
    justify-self: unset !important;
  }
  .navlinks.open {
    display: flex !important;
  }
  .navlinks a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 14px 18px !important;
    text-align: center !important;
    border-radius: 12px !important;
    font-size: 16px !important;
    letter-spacing: .15em !important;
    background: rgba(255,255,255,.04) !important;
    color: #f4e6ff !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
    text-decoration: none !important;
  }
  .navlinks .nav-book {
    background: linear-gradient(135deg,#fff1ab,#d69a2d 52%,#7b450d) !important;
    color: #1b0819 !important;
    font-weight: 800 !important;
    min-height: 54px !important;
    margin-top: 4px !important;
  }

  /* HERO */
  .hero { min-height: auto !important; padding-bottom: 28px !important; overflow: hidden !important; }

  /* CARDS — fit side to side, no overflow */
  .cards {
    display: flex !important;
    flex-direction: row !important;
    width: 100vw !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    padding: 16px 8px 8px !important;
    margin: 0 !important;
    gap: 6px !important;
    align-items: center !important;
    overflow: visible !important;
    grid-template-columns: unset !important;
    justify-content: center !important;
  }

  /* Each card: divide available width equally among 5 items */
  .card, .card:nth-child(n) {
    flex: 1 1 0 !important;
    width: 0 !important;          /* let flex grow from 0 */
    min-width: 0 !important;
    max-width: none !important;
    transform: none !important;
    border-radius: 12px !important;
    padding: 5px !important;
    aspect-ratio: 2.5 / 3.5 !important;
    height: auto !important;
    scroll-snap-align: unset !important;
  }
  .card:nth-child(1) { transform: rotate(-5deg) translateY(8px) !important; }
  .card:nth-child(2) { transform: rotate(-2deg) translateY(2px) !important; }
  .card:nth-child(4) { transform: rotate(2deg) translateY(2px) !important; }
  .card:nth-child(5) { transform: rotate(5deg) translateY(8px) !important; }

  .card:before, .card:after {
    width: 22px !important;
    min-height: 34px !important;
    font-size: 17px !important;
    top: 8px !important;
    left: 8px !important;
    border-radius: 6px !important;
    padding: 3px !important;
  }
  .card:after { right: 8px !important; bottom: 8px !important; left: auto !important; top: auto !important; }
  .card img { border-radius: 9px !important; outline-offset: -4px !important; }

  /* SPADE — equal flex with cards, tall enough to read */
  .spade-hero {
    flex: 1.4 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    height: auto !important;
    transform: none !important;
    filter: drop-shadow(0 16px 40px rgba(0,0,0,.85)) drop-shadow(0 0 28px rgba(255,198,67,.55)) !important;
    order: 0 !important;
  }
  .spade-svg { width: 100% !important; height: auto !important; }

  /* TITLE */
  .title { padding: 0 16px !important; margin: 10px auto 0 !important; text-align: center !important; }
  .title h1 { font-size: clamp(48px,16vw,72px) !important; line-height: .92 !important; letter-spacing: .08em !important; }
  .title p { font-size: 11px !important; letter-spacing: .25em !important; margin: 6px 0 !important; }
  .title span { font-size: 14px !important; line-height: 1.58 !important; margin: 10px auto 20px !important; display: block !important; max-width: 92vw !important; }

  /* CTA button */
  .cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 14px 30px !important;
    font-size: 15px !important;
    border-radius: 999px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  /* FEATURES */
  .features { display: grid !important; grid-template-columns: 1fr !important; gap: 18px !important; padding: 16px 16px 30px !important; margin-top: 16px !important; }
  .features article { border-radius: 20px !important; padding: 16px !important; }
  .features img { height: 240px !important; border-radius: 14px !important; }
  .features img.live-vocals-img { object-position: 52% 0% !important; }

  /* SECTIONS */
  .section { padding: 30px 16px !important; }
  .section h1 { font-size: clamp(34px,11vw,52px) !important; line-height: 1 !important; }
  .section p { font-size: 16px !important; line-height: 1.65 !important; }
  .gallery-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .gallery-grid img { height: 190px !important; border-radius: 12px !important; }
  .flyer-scroll img { height: 310px !important; max-width: 230px !important; }
  .info { grid-template-columns: 1fr !important; }
  .event-card { padding: 18px !important; border-radius: 18px !important; }

  /* BOOKING */
  .booking-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
  }
  .copy-panel { width: 100% !important; box-sizing: border-box !important; border-radius: 18px !important; padding: 16px !important; }
  .copy-panel img { width: 100% !important; height: 200px !important; object-fit: cover !important; object-position: 50% 28% !important; border-radius: 12px !important; margin-bottom: 14px !important; }
  .copy-panel .cta { width: 100% !important; margin-top: 10px !important; }
  .booking-form { width: 100% !important; box-sizing: border-box !important; border-radius: 18px !important; padding: 16px !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }
  .booking-form label { display: flex !important; flex-direction: column !important; gap: 5px !important; font-size: 14px !important; }
  .booking-form input, .booking-form textarea {
    width: 100% !important; box-sizing: border-box !important;
    padding: 14px !important; font-size: 16px !important;  /* 16px stops iOS zoom */
    border-radius: 12px !important; min-height: 50px !important;
    -webkit-appearance: none !important; appearance: none !important;
  }
  .booking-form textarea { min-height: 120px !important; resize: vertical !important; }
  .booking-form button[type="submit"] { width: 100% !important; padding: 16px !important; font-size: 16px !important; min-height: 54px !important; border-radius: 999px !important; touch-action: manipulation !important; }

  /* MUSIC */
  .music-layout { display: block !important; margin-top: 20px !important; }
  .main-videos { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; }
  .main-videos .video-card iframe { width: 100% !important; aspect-ratio: 16/9 !important; min-height: auto !important; }
  .shorts-rail { display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; position: static !important; margin-top: 18px !important; }
  .short-card iframe { width: 100% !important; aspect-ratio: 9/16 !important; min-height: auto !important; }
  .video-card { padding: 14px !important; border-radius: 18px !important; }

  /* ABOUT */
  .about-feature-grid { grid-template-columns: 1fr !important; gap: 18px !important; }
  .about-page .full-bio p { font-size: 16px !important; line-height: 1.7 !important; }
  .about-feature-grid img.about-centered-img { height: 260px !important; }

  /* FOOTER */
  .site-footer { flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 10px !important; padding: 20px 16px !important; font-size: 13px !important; }
}

/* ---- 430px ---- */
@media (max-width: 430px) {
  .topbar { padding: 10px 12px !important; }
  .logo span { font-size: 21px !important; }
  .logo small { font-size: 8px !important; }
  .top-social a { width: 26px !important; height: 26px !important; font-size: 12px !important; }
  .menu-toggle { width: 38px !important; height: 36px !important; }
  .navlinks { top: 60px !important; }
  .cards { gap: 4px !important; padding: 14px 6px 6px !important; }
  .card:before, .card:after { width: 18px !important; min-height: 28px !important; font-size: 14px !important; top: 6px !important; left: 6px !important; }
}

/* iOS safe area */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .site-footer { padding-bottom: calc(20px + env(safe-area-inset-bottom)) !important; }
  .navlinks { padding-bottom: calc(20px + env(safe-area-inset-bottom)) !important; }
}


/* =========================================================
   V23 REAL MOBILE REBUILD — HARD OVERRIDE LAYER
   Goal: keep the desktop hero identity, but render a true
   phone-safe composition on iOS/Safari/Chrome.
   ========================================================= */
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;}
body{max-width:100%;overflow-x:hidden;}
img,iframe,svg,video{max-width:100%;}

@media (max-width: 900px){
  body{background:#08000b !important;}
  body:before{
    opacity:.82 !important;
    background:
      radial-gradient(circle at 18% 18%,rgba(255,211,126,.50) 0 5px,transparent 44px),
      radial-gradient(circle at 83% 20%,rgba(255,197,70,.42) 0 4px,transparent 48px),
      radial-gradient(circle at 20% 68%,rgba(148,36,187,.40) 0 4px,transparent 65px),
      radial-gradient(circle at 88% 72%,rgba(216,108,37,.25) 0 4px,transparent 62px),
      radial-gradient(ellipse at 50% 22%,rgba(244,183,65,.25),transparent 42%),
      radial-gradient(ellipse at 50% 84%,rgba(108,20,137,.45),transparent 52%) !important;
    filter:blur(9px) saturate(1.18) !important;
  }
  body:after{
    background:
      radial-gradient(ellipse at 50% 6%,rgba(255,209,112,.14),transparent 40%),
      radial-gradient(ellipse at 12% 55%,rgba(132,25,164,.42),transparent 44%),
      radial-gradient(ellipse at 88% 56%,rgba(147,67,17,.30),transparent 42%),
      linear-gradient(180deg,rgba(4,0,7,.82),rgba(42,0,52,.78) 42%,rgba(8,0,11,.95)) !important;
  }

  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
    gap:8px !important;
    min-height:64px !important;
    padding:8px max(12px, env(safe-area-inset-left)) 8px max(12px, env(safe-area-inset-right)) !important;
    background:rgba(8,0,12,.92) !important;
    -webkit-backdrop-filter:blur(18px) !important;
    backdrop-filter:blur(18px) !important;
  }
  .logo{min-width:116px !important;line-height:1 !important;}
  .logo span{font-size:25px !important;letter-spacing:.03em !important;}
  .logo small{font-size:8.5px !important;letter-spacing:.24em !important;margin-top:4px !important;}
  .top-social{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:7px !important;
    min-width:0 !important;
  }
  .top-social a{
    width:33px !important;
    height:33px !important;
    min-width:33px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    background:linear-gradient(145deg,#fff0ad,#d29425 62%,#7b420a) !important;
    color:#150016 !important;
    font-weight:900 !important;
    font-size:14px !important;
    box-shadow:0 0 16px rgba(247,195,95,.35) !important;
    text-decoration:none !important;
    touch-action:manipulation !important;
  }
  .menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    border-radius:12px !important;
    padding:0 !important;
    font-size:24px !important;
    line-height:1 !important;
    background:linear-gradient(135deg,#fff1ab,#d69a2d 55%,#7b450d) !important;
    color:#130014 !important;
    box-shadow:0 0 18px rgba(247,195,95,.36) !important;
  }
  .navlinks{
    display:none !important;
    position:fixed !important;
    inset:64px 0 auto 0 !important;
    z-index:999 !important;
    flex-direction:column !important;
    gap:8px !important;
    padding:14px 16px calc(18px + env(safe-area-inset-bottom)) !important;
    background:linear-gradient(180deg,rgba(9,0,13,.98),rgba(30,0,37,.97)) !important;
    border-bottom:1px solid rgba(247,195,95,.34) !important;
    box-shadow:0 20px 60px rgba(0,0,0,.58) !important;
  }
  .navlinks.open{display:flex !important;}
  .navlinks a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:50px !important;
    border-radius:14px !important;
    padding:13px 16px !important;
    font-size:15px !important;
    letter-spacing:.16em !important;
    background:rgba(255,255,255,.055) !important;
    color:#fff4ff !important;
    text-decoration:none !important;
  }
  .navlinks .nav-book{background:linear-gradient(135deg,#fff1ab,#d69a2d 52%,#7b450d) !important;color:#190015 !important;}

  .page-transition{overflow:hidden !important;}
  .hero{
    min-height:auto !important;
    overflow:hidden !important;
    padding:0 0 26px !important;
    background:
      radial-gradient(ellipse at 50% 9%,rgba(246,188,68,.24),transparent 38%),
      radial-gradient(ellipse at 20% 72%,rgba(139,31,176,.55),transparent 45%),
      radial-gradient(ellipse at 87% 64%,rgba(190,86,24,.25),transparent 41%),
      linear-gradient(180deg,rgba(5,0,8,.96),rgba(43,0,52,.82) 58%,rgba(10,0,13,.96)) !important;
  }
  .hero:before,.hero:after{display:none !important;}

  /* Phone hero: one row like desktop, but mathematically fitted to viewport */
  .cards{
    --g:3px;
    --cardW:calc((100vw - 22px - (4 * var(--g))) / 5.55);
    --spadeW:calc(var(--cardW) * 1.55);
    position:relative !important;
    display:grid !important;
    grid-template-columns:var(--cardW) var(--cardW) var(--spadeW) var(--cardW) var(--cardW) !important;
    column-gap:var(--g) !important;
    align-items:center !important;
    justify-content:center !important;
    width:100vw !important;
    max-width:100vw !important;
    min-height:clamp(205px,56vw,270px) !important;
    padding:clamp(18px,5vw,34px) 4px 4px !important;
    margin:0 auto 2px !important;
    overflow:visible !important;
    isolation:isolate !important;
  }
  .cards:before{
    display:block !important;
    content:"" !important;
    position:absolute !important;
    inset:-64px -16vw -46px !important;
    z-index:-2 !important;
    background:
      radial-gradient(ellipse at 50% 19%,rgba(255,199,77,.36),transparent 35%),
      radial-gradient(ellipse at 18% 72%,rgba(143,28,183,.56),transparent 44%),
      radial-gradient(ellipse at 86% 65%,rgba(190,89,28,.26),transparent 40%),
      linear-gradient(180deg,#070009 0%,#1a001f 32%,#3b0049 73%,#08000b 100%) !important;
    filter:saturate(1.25) contrast(1.08) !important;
  }
  .cards:after{
    display:block !important;
    content:"" !important;
    position:absolute !important;
    inset:-54px -16vw -40px !important;
    z-index:-1 !important;
    background:
      radial-gradient(circle at 13% 25%,rgba(255,216,119,.64) 0 2px,transparent 25px),
      radial-gradient(circle at 23% 18%,rgba(255,185,51,.32) 0 3px,transparent 36px),
      radial-gradient(circle at 50% 18%,rgba(255,222,141,.35) 0 3px,transparent 50px),
      radial-gradient(circle at 77% 18%,rgba(255,213,124,.40) 0 3px,transparent 42px),
      radial-gradient(circle at 89% 45%,rgba(255,197,70,.30) 0 2px,transparent 35px),
      radial-gradient(ellipse at 50% 95%,rgba(128,24,158,.42),transparent 54%) !important;
    filter:blur(5px) !important;
    opacity:.95 !important;
  }
  .card,.card:nth-child(n){
    grid-row:1 !important;
    width:var(--cardW) !important;
    max-width:var(--cardW) !important;
    min-width:0 !important;
    flex:none !important;
    aspect-ratio:2.5/3.5 !important;
    padding:3.8px !important;
    margin:0 !important;
    border-radius:12px !important;
    overflow:hidden !important;
    transform-origin:center center !important;
    box-shadow:
      0 0 0 1px rgba(255,238,174,.85),
      0 0 0 3px rgba(102,52,10,.58) inset,
      0 0 0 5px rgba(255,220,126,.18) inset,
      0 12px 28px rgba(0,0,0,.62),
      0 0 18px rgba(247,195,95,.28) !important;
  }
  .card:nth-child(1){grid-column:1 !important;transform:rotate(-7deg) translate(7px,10px) !important;z-index:1 !important;}
  .card:nth-child(2){grid-column:2 !important;transform:rotate(-2.5deg) translate(3px,0) !important;z-index:2 !important;}
  .card:nth-child(4){grid-column:4 !important;transform:rotate(2.5deg) translate(-3px,0) !important;z-index:2 !important;}
  .card:nth-child(5){grid-column:5 !important;transform:rotate(7deg) translate(-7px,10px) !important;z-index:1 !important;}
  .card img{border-radius:8px !important;width:100% !important;height:100% !important;object-fit:cover !important;}
  .card:nth-child(1) img{object-position:50% 45% !important;}
  .card:nth-child(2) img{object-position:52% 27% !important;}
  .card:nth-child(4) img{object-position:53% 31% !important;}
  .card:nth-child(5) img{object-position:50% 36% !important;}
  .card:before,.card:after{
    width:16px !important;
    min-height:25px !important;
    font-size:13px !important;
    line-height:.85 !important;
    border-radius:5px !important;
    top:5px !important;
    left:5px !important;
    padding:2px !important;
    background:rgba(9,0,12,.58) !important;
  }
  .card:after{top:auto !important;left:auto !important;right:5px !important;bottom:5px !important;}

  .spade-hero{
    grid-column:3 !important;
    grid-row:1 !important;
    width:var(--spadeW) !important;
    max-width:var(--spadeW) !important;
    min-width:0 !important;
    flex:none !important;
    aspect-ratio:1/1.08 !important;
    order:0 !important;
    transform:translateY(-6px) scale(1.04) !important;
    z-index:5 !important;
    filter:drop-shadow(0 14px 28px rgba(0,0,0,.78)) drop-shadow(0 0 26px rgba(255,198,66,.48)) !important;
  }
  .spade-svg{width:100% !important;height:100% !important;display:block !important;overflow:visible !important;}
  .spade-svg image{filter:saturate(1.1) contrast(1.08) brightness(.95) !important;}

  .title{padding:2px 18px 0 !important;margin:0 auto !important;max-width:100% !important;}
  .title h1{font-size:clamp(56px,19vw,88px) !important;line-height:.82 !important;letter-spacing:.05em !important;text-shadow:0 0 24px rgba(247,195,95,.42) !important;}
  .title p{font-size:11px !important;letter-spacing:.26em !important;margin:10px 0 6px !important;}
  .title span{font-size:14.5px !important;line-height:1.55 !important;max-width:92vw !important;margin:10px auto 20px !important;color:#e6cde8 !important;}
  .cta{min-height:50px !important;padding:13px 28px !important;font-size:14px !important;}

  .features{display:grid !important;grid-template-columns:1fr !important;gap:18px !important;margin:24px 0 0 !important;padding:0 16px 28px !important;}
  .features article{padding:14px !important;border-radius:22px !important;}
  .features img{height:260px !important;border-radius:16px !important;object-fit:cover !important;}
  .features .live-vocals-img{object-position:52% 8% !important;}

  .section{padding:32px 16px !important;}
  .section h1{font-size:clamp(38px,13vw,58px) !important;line-height:.96 !important;}
  .section p{font-size:16px !important;line-height:1.66 !important;}
  .video-grid,.main-videos,.info{grid-template-columns:1fr !important;}
  .video-card{padding:13px !important;border-radius:18px !important;}
  .video-card iframe{width:100% !important;aspect-ratio:16/9 !important;border-radius:14px !important;}
  .music-layout{display:block !important;}
  .shorts-rail{display:grid !important;grid-template-columns:1fr !important;position:static !important;margin-top:18px !important;}
  .short-card iframe{aspect-ratio:9/16 !important;}
  .gallery-grid{grid-template-columns:1fr 1fr !important;gap:10px !important;}
  .gallery-grid img{height:190px !important;border-radius:14px !important;}
  .booking-layout{grid-template-columns:1fr !important;display:grid !important;}
  .site-footer{padding:22px 16px calc(22px + env(safe-area-inset-bottom)) !important;text-align:center !important;justify-content:center !important;}
}

@media (max-width: 380px){
  .topbar{grid-template-columns:auto 1fr auto !important;gap:5px !important;padding-left:9px !important;padding-right:9px !important;}
  .logo{min-width:106px !important;}
  .logo span{font-size:22px !important;}
  .logo small{font-size:7.5px !important;letter-spacing:.2em !important;}
  .top-social{gap:5px !important;}
  .top-social a{width:29px !important;height:29px !important;min-width:29px !important;font-size:12px !important;}
  .menu-toggle{width:38px !important;height:38px !important;font-size:22px !important;}
  .cards{--g:2px;--cardW:calc((100vw - 18px - (4 * var(--g))) / 5.65);min-height:198px !important;padding-top:16px !important;}
  .card:before,.card:after{width:14px !important;min-height:22px !important;font-size:11px !important;}
  .title h1{font-size:clamp(52px,18vw,72px) !important;}
}

@media (min-width: 901px){
  .menu-toggle{display:none !important;}
}

/* V23.1 header collision fix — updated: 2-col layout, social flush right */
@media (max-width: 900px){
  .topbar{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:"logo social" "nav nav" !important;
    justify-content:normal !important;
    justify-items:stretch !important;
    width:100% !important;
  }
  .topbar .logo{grid-area:logo !important;grid-column:auto !important;justify-self:start !important;align-self:center !important;position:relative !important;z-index:2 !important;}
  .topbar .top-social{grid-area:social !important;grid-column:auto !important;justify-self:end !important;align-self:center !important;position:relative !important;z-index:2 !important;}
  .topbar .menu-toggle{display:none !important;visibility:hidden !important;}
  .topbar .navlinks{grid-area:nav !important;grid-column:auto !important;}
}
@media (max-width: 380px){
  .topbar{grid-template-columns:1fr auto !important;}
}


/* =====================================================================
   V24 iOS MOBILE NAV + HERO HARD FIX
   Research-driven fixes:
   - Menu must create its own top stacking context on iOS Safari.
   - Dropdown must be fixed, opaque, and pointer-event active.
   - Decorative/animated layers must never sit above tappable navigation.
   ===================================================================== */
@media (max-width: 900px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    -webkit-text-size-adjust:100% !important;
  }

  body:before, body:after,
  .hero:before, .hero:after,
  .cards:before, .cards:after{
    pointer-events:none !important;
  }

  .topbar{
    position:sticky !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    z-index:2147483000 !important;
    isolation:isolate !important;
    transform:translateZ(0) !important;
    -webkit-transform:translateZ(0) !important;
    background:rgba(8,0,11,.985) !important;
    border-bottom:1px solid rgba(255,216,116,.55) !important;
    box-shadow:0 8px 30px rgba(0,0,0,.65) !important;
  }

  .menu-toggle{
    position:relative !important;
    z-index:2147483002 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    -webkit-tap-highlight-color:rgba(255,215,120,.25) !important;
    touch-action:manipulation !important;
  }

  .navlinks{
    display:none !important;
    position:fixed !important;
    top:calc(66px + env(safe-area-inset-top)) !important;
    left:10px !important;
    right:10px !important;
    width:auto !important;
    height:auto !important;
    max-height:calc(100dvh - 82px - env(safe-area-inset-bottom)) !important;
    overflow:auto !important;
    z-index:2147483001 !important;
    isolation:isolate !important;
    transform:translateZ(0) !important;
    -webkit-transform:translateZ(0) !important;
    pointer-events:auto !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:10px !important;
    padding:16px 14px calc(18px + env(safe-area-inset-bottom)) !important;
    margin:0 !important;
    border-radius:0 0 24px 24px !important;
    background:
      linear-gradient(180deg,rgba(6,0,8,.995),rgba(22,0,27,.992) 52%,rgba(7,0,10,.995)),
      radial-gradient(circle at 50% 0%,rgba(255,206,94,.20),transparent 45%) !important;
    border:1px solid rgba(255,222,134,.48) !important;
    box-shadow:
      0 24px 80px rgba(0,0,0,.85),
      0 0 0 9999px rgba(0,0,0,.58),
      inset 0 1px 0 rgba(255,241,180,.24) !important;
    backdrop-filter:blur(16px) saturate(1.2) !important;
    -webkit-backdrop-filter:blur(16px) saturate(1.2) !important;
  }

  .navlinks.open{
    display:flex !important;
  }

  .navlinks a{
    position:relative !important;
    z-index:2147483002 !important;
    pointer-events:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:54px !important;
    width:100% !important;
    padding:14px 18px !important;
    border-radius:16px !important;
    border:1px solid rgba(255,222,134,.22) !important;
    background:rgba(255,255,255,.075) !important;
    color:#fff7ea !important;
    font-weight:800 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
    text-align:center !important;
    text-decoration:none !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.09) !important;
    -webkit-tap-highlight-color:rgba(255,215,120,.28) !important;
    touch-action:manipulation !important;
  }

  .navlinks a:active{
    transform:scale(.985) !important;
    background:rgba(255,213,103,.18) !important;
  }

  .navlinks .nav-book{
    background:linear-gradient(135deg,#fff4b8,#e0a63b 48%,#88500e) !important;
    color:#160016 !important;
    border-color:rgba(255,246,195,.66) !important;
  }

  body.menu-open{
    overflow:hidden !important;
    touch-action:none !important;
  }

  body.menu-open .page-transition,
  body.menu-open .site-footer{
    pointer-events:none !important;
  }

  body.menu-open .topbar,
  body.menu-open .navlinks,
  body.menu-open .navlinks *{
    pointer-events:auto !important;
  }

  .page-transition{
    position:relative !important;
    z-index:1 !important;
  }
}

@media (max-width: 430px){
  .navlinks{
    top:calc(62px + env(safe-area-inset-top)) !important;
    left:8px !important;
    right:8px !important;
    padding:14px 12px calc(16px + env(safe-area-inset-bottom)) !important;
  }
  .navlinks a{
    min-height:52px !important;
    font-size:14px !important;
  }
}

/* =====================================================================
   V25 MOBILE HERO CARD READABILITY FIX
   Mobile only: remove the two outer cards and enlarge the remaining
   left card + center spade + right card as a tight three-piece hero.
   Desktop remains untouched.
   ===================================================================== */
@media (max-width: 900px){
  .hero{
    overflow:hidden !important;
  }
  .cards{
    --v25-cardW:34vw !important;
    --v25-spadeW:42vw !important;
    display:grid !important;
    grid-template-columns:var(--v25-cardW) var(--v25-spadeW) var(--v25-cardW) !important;
    grid-template-rows:auto !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(2px,1.2vw,7px) !important;
    width:100vw !important;
    max-width:100vw !important;
    min-height:clamp(250px,71vw,330px) !important;
    padding:18px 0 6px !important;
    margin:0 auto !important;
    overflow:visible !important;
  }

  /* Remove one card from each side on mobile so the remaining photos can breathe. */
  .cards > .card:nth-child(1),
  .cards > .card:nth-child(5){
    display:none !important;
  }

  .cards > .card:nth-child(2),
  .cards > .card:nth-child(4){
    display:block !important;
    width:var(--v25-cardW) !important;
    max-width:var(--v25-cardW) !important;
    min-width:0 !important;
    height:auto !important;
    aspect-ratio:.72/1 !important;
    grid-row:1 !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:3 !important;
    transform-origin:center center !important;
    filter:drop-shadow(0 16px 24px rgba(0,0,0,.72)) drop-shadow(0 0 14px rgba(255,204,82,.28)) !important;
  }

  .cards > .card:nth-child(2){
    grid-column:1 !important;
    transform:rotate(-5deg) translateX(2px) translateY(2px) !important;
  }
  .cards > .card:nth-child(4){
    grid-column:3 !important;
    transform:rotate(5deg) translateX(-2px) translateY(2px) !important;
  }

  .cards > .card:nth-child(2) img,
  .cards > .card:nth-child(4) img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:9px !important;
  }
  .cards > .card:nth-child(2) img{object-position:52% 24% !important;}
  .cards > .card:nth-child(4) img{object-position:52% 32% !important;}

  .cards > .card:nth-child(2)::before,
  .cards > .card:nth-child(4)::before,
  .cards > .card:nth-child(2)::after,
  .cards > .card:nth-child(4)::after{
    width:clamp(18px,5vw,27px) !important;
    min-height:clamp(30px,8vw,42px) !important;
    font-size:clamp(14px,4.4vw,22px) !important;
    border-radius:7px !important;
    background:rgba(8,0,10,.70) !important;
    box-shadow:0 0 12px rgba(255,218,112,.36), inset 0 0 0 1px rgba(255,232,156,.36) !important;
  }

  .spade-hero{
    grid-column:2 !important;
    grid-row:1 !important;
    width:var(--v25-spadeW) !important;
    max-width:var(--v25-spadeW) !important;
    min-width:0 !important;
    aspect-ratio:1/1.08 !important;
    transform:translateY(-4px) scale(1.08) !important;
    z-index:5 !important;
  }

  .spade-hero .spade-svg{
    max-height:none !important;
    width:100% !important;
    height:100% !important;
  }

  .title{
    margin-top:-2px !important;
  }
}

@media (max-width: 430px){
  .cards{
    --v25-cardW:35vw !important;
    --v25-spadeW:43vw !important;
    min-height:clamp(244px,74vw,320px) !important;
    gap:1px !important;
  }
  .cards > .card:nth-child(2){transform:rotate(-5.5deg) translateX(3px) translateY(2px) !important;}
  .cards > .card:nth-child(4){transform:rotate(5.5deg) translateX(-3px) translateY(2px) !important;}
}

@media (max-width: 370px){
  .cards{
    --v25-cardW:34vw !important;
    --v25-spadeW:42vw !important;
    min-height:232px !important;
  }
}

/* =====================================================================
   V26 MOBILE ONLY HERO: remove playing-card frames, keep Signature moments from the Sassy Experience,
   enlarge side portraits as cinematic image panels around a larger spade.
   Desktop/tablet wide views remain untouched.
   ===================================================================== */
@media (max-width: 900px){
  .hero{
    padding-top:0 !important;
    background:
      radial-gradient(circle at 50% 25%, rgba(255,200,82,.33), transparent 26%),
      radial-gradient(circle at 17% 43%, rgba(125,24,157,.30), transparent 28%),
      radial-gradient(circle at 82% 45%, rgba(182,84,28,.24), transparent 30%),
      linear-gradient(180deg, #080009 0%, #160015 42%, #2d0638 100%) !important;
  }

  .cards{
    --v26-sideW:34vw !important;
    --v26-spadeW:54vw !important;
    display:grid !important;
    grid-template-columns:var(--v26-sideW) var(--v26-spadeW) var(--v26-sideW) !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    min-height:clamp(330px,92vw,465px) !important;
    padding:20px 0 4px !important;
    margin:0 auto !important;
    overflow:hidden !important;
    isolation:isolate !important;
  }

  .cards:before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;
    background:
      radial-gradient(circle at 50% 38%, rgba(255,215,112,.36), transparent 27%),
      radial-gradient(circle at 7% 50%, rgba(255,186,82,.20), transparent 32%),
      radial-gradient(circle at 94% 50%, rgba(255,186,82,.19), transparent 32%),
      radial-gradient(circle at 50% 100%, rgba(128,20,160,.42), transparent 54%) !important;
    filter:blur(2px) !important;
  }

  .cards:after{
    content:"" !important;
    position:absolute !important;
    inset:-12% !important;
    z-index:0 !important;
    pointer-events:none !important;
    background:
      radial-gradient(circle at 25% 32%, rgba(255,221,132,.55) 0 2px, transparent 22px),
      radial-gradient(circle at 74% 29%, rgba(255,203,88,.46) 0 2px, transparent 24px),
      radial-gradient(circle at 16% 70%, rgba(151,38,191,.35), transparent 34%),
      radial-gradient(circle at 88% 72%, rgba(211,106,33,.28), transparent 32%) !important;
    opacity:.9 !important;
    filter:blur(5px) !important;
  }

  .cards > .card:nth-child(1),
  .cards > .card:nth-child(5){
    display:none !important;
  }

  .cards > .card:nth-child(2),
  .cards > .card:nth-child(4){
    display:block !important;
    position:relative !important;
    z-index:2 !important;
    width:var(--v26-sideW) !important;
    max-width:var(--v26-sideW) !important;
    min-width:0 !important;
    height:auto !important;
    aspect-ratio:.58/1 !important;
    padding:0 !important;
    border:none !important;
    outline:none !important;
    border-radius:28px !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
    filter:drop-shadow(0 22px 26px rgba(0,0,0,.75)) drop-shadow(0 0 18px rgba(255,190,65,.24)) !important;
  }

  .cards > .card:nth-child(2){
    grid-column:1 !important;
    transform:translateX(13vw) translateY(7px) rotate(-4deg) scale(1.22) !important;
    transform-origin:center right !important;
  }

  .cards > .card:nth-child(4){
    grid-column:3 !important;
    transform:translateX(-13vw) translateY(7px) rotate(4deg) scale(1.22) !important;
    transform-origin:center left !important;
  }

  .cards > .card:nth-child(2)::before,
  .cards > .card:nth-child(2)::after,
  .cards > .card:nth-child(4)::before,
  .cards > .card:nth-child(4)::after{
    display:none !important;
    content:none !important;
  }

  .cards > .card:nth-child(2) img,
  .cards > .card:nth-child(4) img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:28px !important;
    border:1px solid rgba(255,222,124,.45) !important;
    outline:1px solid rgba(255,244,190,.18) !important;
    outline-offset:-7px !important;
    box-shadow:
      inset 0 0 0 1px rgba(255,228,139,.18),
      0 0 0 1px rgba(71,32,5,.70),
      0 0 34px rgba(255,186,65,.22) !important;
    filter:saturate(1.18) contrast(1.15) brightness(.92) !important;
  }

  .cards > .card:nth-child(2) img{object-position:54% 20% !important;}
  .cards > .card:nth-child(4) img{object-position:52% 27% !important;}

  .spade-hero{
    grid-column:2 !important;
    grid-row:1 !important;
    position:relative !important;
    z-index:5 !important;
    width:var(--v26-spadeW) !important;
    max-width:var(--v26-spadeW) !important;
    min-width:0 !important;
    aspect-ratio:1/1.14 !important;
    transform:translateY(-2px) scale(1.22) !important;
    filter:drop-shadow(0 28px 36px rgba(0,0,0,.78)) drop-shadow(0 0 36px rgba(255,198,72,.48)) !important;
  }

  .spade-hero .spade-svg{
    width:100% !important;
    height:100% !important;
    overflow:visible !important;
  }

  .spade-svg image{
    x:0 !important;
    y:-10px !important;
    width:100px !important;
    height:114px !important;
    preserveAspectRatio:xMidYMid slice !important;
    filter:saturate(1.18) contrast(1.12) brightness(1.02) !important;
  }

  .spade-glow{filter:drop-shadow(0 0 24px rgba(255,221,116,.95)) drop-shadow(0 0 54px rgba(216,139,24,.58)) !important;}
  .spade-inner-line{stroke-width:1.35px !important;}
  .spade-shine{stroke-width:2.05px !important;}
  .spade-stem,.spade-stem-back{transform:translateY(-5px) scale(.82) !important;transform-origin:50% 96% !important;}
  .spade-stem-cut{transform:translateY(-5px) scale(.82) !important;transform-origin:50% 96% !important;}

  .title{
    margin-top:-12px !important;
    padding:0 16px 24px !important;
  }
  .title h1{font-size:clamp(50px,19vw,88px) !important;}
  .title span{font-size:15px !important;line-height:1.45 !important;margin-top:12px !important;}
}

@media (max-width: 430px){
  .cards{
    --v26-sideW:36vw !important;
    --v26-spadeW:58vw !important;
    min-height:clamp(335px,98vw,450px) !important;
    padding-top:18px !important;
  }
  .cards > .card:nth-child(2){transform:translateX(15vw) translateY(9px) rotate(-4deg) scale(1.24) !important;}
  .cards > .card:nth-child(4){transform:translateX(-15vw) translateY(9px) rotate(4deg) scale(1.24) !important;}
  .spade-hero{transform:translateY(-3px) scale(1.25) !important;}
}

@media (max-width: 370px){
  .cards{
    --v26-sideW:35vw !important;
    --v26-spadeW:56vw !important;
    min-height:326px !important;
  }
  .cards > .card:nth-child(2){transform:translateX(15vw) translateY(10px) rotate(-3deg) scale(1.18) !important;}
  .cards > .card:nth-child(4){transform:translateX(-15vw) translateY(10px) rotate(3deg) scale(1.18) !important;}
  .spade-hero{transform:translateY(-3px) scale(1.20) !important;}
}


/* =====================================================================
   V30 REQUESTED FIX
   Source: user-provided v26 package only.
   - Replace center spade with the new Sassy gold portrait photo.
   - Keep approved side photos from v26.
   - Mobile: center photo between two enlarged side photos, no playing cards.
   - Music: Shorts section reduced to only the two requested Shorts in music.html.
   ===================================================================== */
.center-photo{
  position:relative;
  z-index:6;
  display:block;
  width:min(28vw,430px);
  max-width:430px;
  aspect-ratio:.68/1;
  border-radius:32px;
  overflow:hidden;
  border:2px solid rgba(255,226,132,.78);
  outline:1px solid rgba(255,244,190,.28);
  outline-offset:-8px;
  box-shadow:
    0 30px 80px rgba(0,0,0,.64),
    0 0 42px rgba(255,190,65,.38),
    inset 0 0 0 1px rgba(255,234,164,.18);
  background:#080008;
  transform:translateY(-8px) scale(1.04);
}
.center-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 42%, transparent 0 45%, rgba(0,0,0,.16) 70%, rgba(0,0,0,.48) 100%),
    linear-gradient(180deg, rgba(255,211,100,.12), transparent 32%, rgba(0,0,0,.38));
}
.center-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:50% 47%;
  filter:saturate(1.16) contrast(1.12) brightness(.98);
}
@media (min-width:901px){
  .cards{grid-template-columns:minmax(245px,1fr) minmax(245px,1fr) minmax(320px,.95fr) minmax(245px,1fr) minmax(245px,1fr) !important;}
  .center-photo{grid-column:3;grid-row:1;}
}
@media (max-width:900px){
  .cards{
    --v30-sideW:36vw !important;
    --v30-centerW:50vw !important;
    display:grid !important;
    grid-template-columns:var(--v30-sideW) var(--v30-centerW) var(--v30-sideW) !important;
    width:100vw !important;
    max-width:100vw !important;
    min-height:clamp(350px,104vw,510px) !important;
    padding:18px 0 8px !important;
    gap:0 !important;
    justify-content:center !important;
    align-items:center !important;
    overflow:hidden !important;
  }
  .cards > .card:nth-child(1),
  .cards > .card:nth-child(5){display:none !important;}
  .cards > .card:nth-child(2),
  .cards > .card:nth-child(4){
    display:block !important;
    width:var(--v30-sideW) !important;
    max-width:var(--v30-sideW) !important;
    aspect-ratio:.58/1 !important;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    border-radius:26px !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
    z-index:2 !important;
    filter:drop-shadow(0 22px 30px rgba(0,0,0,.82)) drop-shadow(0 0 16px rgba(255,190,65,.20)) !important;
  }
  .cards > .card:nth-child(2){grid-column:1 !important;transform:translateX(16vw) translateY(8px) rotate(-3deg) scale(1.28) !important;transform-origin:center right !important;}
  .cards > .card:nth-child(4){grid-column:3 !important;transform:translateX(-16vw) translateY(8px) rotate(3deg) scale(1.28) !important;transform-origin:center left !important;}
  .cards > .card:nth-child(2)::before,
  .cards > .card:nth-child(2)::after,
  .cards > .card:nth-child(4)::before,
  .cards > .card:nth-child(4)::after{display:none !important;content:none !important;}
  .cards > .card:nth-child(2) img,
  .cards > .card:nth-child(4) img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:26px !important;
    border:1px solid rgba(255,222,124,.42) !important;
    outline:1px solid rgba(255,244,190,.18) !important;
    outline-offset:-7px !important;
    filter:saturate(1.16) contrast(1.12) brightness(.92) !important;
  }
  .cards > .card:nth-child(2) img{object-position:54% 20% !important;}
  .cards > .card:nth-child(4) img{object-position:52% 27% !important;}
  .center-photo{
    grid-column:2 !important;
    grid-row:1 !important;
    width:var(--v30-centerW) !important;
    max-width:var(--v30-centerW) !important;
    aspect-ratio:.62/1 !important;
    border-radius:28px !important;
    transform:translateY(-5px) scale(1.18) !important;
    z-index:5 !important;
    border:2px solid rgba(255,226,132,.86) !important;
    outline:1px solid rgba(255,244,190,.24) !important;
    outline-offset:-7px !important;
    box-shadow:0 28px 42px rgba(0,0,0,.86),0 0 42px rgba(255,192,62,.48) !important;
  }
  .center-photo img{object-position:50% 44% !important;}
  .title{margin-top:-8px !important;}
}
@media (max-width:430px){
  .cards{--v30-sideW:37vw !important;--v30-centerW:54vw !important;min-height:clamp(360px,110vw,500px) !important;}
  .cards > .card:nth-child(2){transform:translateX(17vw) translateY(8px) rotate(-2deg) scale(1.26) !important;}
  .cards > .card:nth-child(4){transform:translateX(-17vw) translateY(8px) rotate(2deg) scale(1.26) !important;}
  .center-photo{transform:translateY(-4px) scale(1.17) !important;}
}
@media (max-width:370px){
  .cards{--v30-sideW:36vw !important;--v30-centerW:52vw !important;min-height:340px !important;}
}




/* =====================================================================
   V32 MOBILE HERO PHOTO WHEEL
   - Replaces the mobile three-photo/spade area with a true swipe wheel.
   - Desktop card hero remains untouched above 901px.
   - Uses actual site image files, no More soulful moments coming soons.
   ===================================================================== */
@media (max-width: 900px){
  .hero{
    overflow:hidden !important;
  }

  .cards.hero-photo-wheel{
    display:block !important;
    position:relative !important;
    width:100vw !important;
    max-width:100vw !important;
    height:clamp(390px, 112vw, 560px) !important;
    min-height:0 !important;
    padding:24px 0 8px !important;
    margin:0 calc(50% - 50vw) !important;
    overflow:hidden !important;
    perspective:1100px !important;
    touch-action:pan-y !important;
    isolation:isolate !important;
    background:
      radial-gradient(circle at 50% 44%, rgba(255,186,58,.34), transparent 28%),
      radial-gradient(circle at 10% 46%, rgba(109,0,117,.45), transparent 42%),
      radial-gradient(circle at 90% 46%, rgba(156,62,12,.34), transparent 42%);
  }

  .cards.hero-photo-wheel::before{
    content:"";
    position:absolute;
    inset:-20% -28%;
    pointer-events:none;
    background:
      radial-gradient(circle at 50% 36%, rgba(255,207,96,.32), transparent 18%),
      radial-gradient(circle at 50% 58%, rgba(255,159,34,.20), transparent 27%),
      radial-gradient(circle at 50% 100%, rgba(118,0,130,.44), transparent 46%),
      linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.34));
    filter:blur(4px);
    z-index:0;
  }

  .cards.hero-photo-wheel .wheel-item,
  .cards.hero-photo-wheel .card,
  .cards.hero-photo-wheel .center-photo{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    display:block !important;
    margin:0 !important;
    width:58vw !important;
    max-width:265px !important;
    height:78vw !important;
    max-height:390px !important;
    aspect-ratio:auto !important;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    border-radius:28px !important;
    overflow:hidden !important;
    background:#050005 !important;
    opacity:0 !important;
    pointer-events:none !important;
    transform:translate(-50%,-50%) scale(.62) rotateY(0deg) !important;
    transition:
      transform .55s cubic-bezier(.2,.85,.22,1),
      opacity .45s ease,
      filter .45s ease,
      z-index .45s step-end !important;
    box-shadow:
      0 28px 55px rgba(0,0,0,.78),
      0 0 34px rgba(247,187,66,.30) !important;
    z-index:1 !important;
    filter:saturate(1.08) contrast(1.06) brightness(.78) !important;
  }

  .cards.hero-photo-wheel .wheel-item img,
  .cards.hero-photo-wheel .card img,
  .cards.hero-photo-wheel .center-photo img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
    object-position:50% 30% !important;
    border-radius:28px !important;
    border:2px solid rgba(248,206,94,.66) !important;
    outline:1px solid rgba(255,241,180,.22) !important;
    outline-offset:-8px !important;
  }

  .cards.hero-photo-wheel .wheel-item::before,
  .cards.hero-photo-wheel .card::before,
  .cards.hero-photo-wheel .center-photo::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    pointer-events:none !important;
    border-radius:28px !important;
    background:
      linear-gradient(135deg, rgba(255,235,151,.35), transparent 16%, transparent 74%, rgba(255,176,36,.22)),
      radial-gradient(circle at 50% 50%, transparent 45%, rgba(0,0,0,.46) 100%) !important;
  }

  .cards.hero-photo-wheel .wheel-item::after,
  .cards.hero-photo-wheel .card::after,
  .cards.hero-photo-wheel .center-photo::after{
    display:none !important;
    content:none !important;
  }

  .cards.hero-photo-wheel .wheel-item.is-active{
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:5 !important;
    transform:translate(-50%,-52%) scale(1.10) rotateY(0deg) !important;
    filter:saturate(1.15) contrast(1.12) brightness(.98) !important;
    box-shadow:
      0 34px 70px rgba(0,0,0,.86),
      0 0 58px rgba(255,197,68,.58),
      0 0 110px rgba(255,133,0,.20) !important;
  }

  .cards.hero-photo-wheel .wheel-item.is-prev{
    opacity:.96 !important;
    pointer-events:auto !important;
    z-index:4 !important;
    transform:translate(-96%,-49%) scale(.78) rotate(-7deg) rotateY(22deg) !important;
    filter:saturate(1.04) contrast(1.04) brightness(.82) !important;
  }

  .cards.hero-photo-wheel .wheel-item.is-next{
    opacity:.96 !important;
    pointer-events:auto !important;
    z-index:4 !important;
    transform:translate(-4%,-49%) scale(.78) rotate(7deg) rotateY(-22deg) !important;
    filter:saturate(1.04) contrast(1.04) brightness(.82) !important;
  }

  .cards.hero-photo-wheel .wheel-item.is-far-prev{
    opacity:.24 !important;
    z-index:2 !important;
    transform:translate(-136%,-50%) scale(.56) rotate(-12deg) rotateY(35deg) !important;
  }

  .cards.hero-photo-wheel .wheel-item.is-far-next{
    opacity:.24 !important;
    z-index:2 !important;
    transform:translate(36%,-50%) scale(.56) rotate(12deg) rotateY(-35deg) !important;
  }

  .wheel-control{
    position:absolute !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:12 !important;
    width:42px !important;
    height:54px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,220,126,.70) !important;
    background:rgba(5,0,8,.74) !important;
    color:#ffe28c !important;
    font-size:36px !important;
    line-height:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:0 0 28px rgba(255,178,36,.30) !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .wheel-prev{left:8px !important;}
  .wheel-next{right:8px !important;}

  .wheel-hint{
    position:absolute;
    bottom:7px;
    left:50%;
    transform:translateX(-50%);
    z-index:12;
    color:rgba(255,231,162,.84);
    font-size:11px;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-weight:800;
    opacity:.78;
    pointer-events:none;
  }
}

@media (max-width:430px){
  .cards.hero-photo-wheel{
    height:clamp(385px, 118vw, 510px) !important;
    padding-top:18px !important;
  }
  .cards.hero-photo-wheel .wheel-item,
  .cards.hero-photo-wheel .card,
  .cards.hero-photo-wheel .center-photo{
    width:63vw !important;
    height:88vw !important;
  }
  .cards.hero-photo-wheel .wheel-item.is-active{
    transform:translate(-50%,-52%) scale(1.08) rotateY(0deg) !important;
  }
  .cards.hero-photo-wheel .wheel-item.is-prev{
    transform:translate(-91%,-49%) scale(.72) rotate(-6deg) rotateY(20deg) !important;
  }
  .cards.hero-photo-wheel .wheel-item.is-next{
    transform:translate(-9%,-49%) scale(.72) rotate(6deg) rotateY(-20deg) !important;
  }
}

@media (max-width:370px){
  .cards.hero-photo-wheel{
    height:400px !important;
  }
  .cards.hero-photo-wheel .wheel-item,
  .cards.hero-photo-wheel .card,
  .cards.hero-photo-wheel .center-photo{
    width:64vw !important;
    height:90vw !important;
  }
  .wheel-control{
    width:36px !important;
    height:48px !important;
    font-size:30px !important;
  }
}


/* v33 polish */
.top-social{gap:10px;}
.top-social a:nth-child(1){background:#1877f2;color:#fff;}
.top-social a:nth-child(2){background:linear-gradient(45deg,#f9ce34,#ee2a7b,#6228d7);color:#fff;}
.top-social a:nth-child(3){background:#ff0000;color:#fff;}

.wheel-hint{
bottom:-10px !important;
font-size:10px !important;
opacity:.5 !important;
}

.hero-photo-wheel .wheel-item,
.hero-photo-wheel .wheel-item img{
transition:transform .7s cubic-bezier(.22,.8,.2,1),opacity .5s ease,filter .5s ease !important;
backface-visibility:hidden;
will-change:transform,opacity;
}

@media(min-width:901px){
.hero-photo-wheel{
display:flex !important;
align-items:center;
justify-content:center;
gap:16px;
padding:0 20px 20px;
overflow:hidden;
}
.hero-photo-wheel .wheel-control,
.hero-photo-wheel .wheel-hint{
display:none !important;
}
.hero-photo-wheel .wheel-item{
position:relative !important;
left:auto !important;
top:auto !important;
opacity:1 !important;
pointer-events:auto !important;
transform:none !important;
width:220px !important;
height:320px !important;
}
.hero-photo-wheel .wheel-item.is-active{
width:290px !important;
height:390px !important;
}
}

.flyers-track{
display:flex;
overflow-x:auto;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
scrollbar-width:none;
gap:18px;
}
.flyers-track::-webkit-scrollbar{display:none;}
.flyers-track img{scroll-snap-align:center;}


/* v35 desktop photo cleanup */
@media (min-width: 901px){

.hero-photo-wheel{
display:flex !important;
justify-content:center !important;
align-items:flex-end !important;
gap:22px !important;
padding:20px 20px 35px !important;
overflow:hidden !important;
background:none !important;
perspective:none !important;
height:auto !important;
}

.hero-photo-wheel::before{
display:none !important;
}

.hero-photo-wheel .wheel-item,
.hero-photo-wheel .card,
.hero-photo-wheel .center-photo{
position:relative !important;
left:auto !important;
top:auto !important;
transform:none !important;
opacity:1 !important;
pointer-events:auto !important;
border:none !important;
outline:none !important;
background:transparent !important;
box-shadow:
0 18px 40px rgba(0,0,0,.45),
0 0 30px rgba(255,190,60,.12) !important;
overflow:hidden !important;
border-radius:20px !important;
}

.hero-photo-wheel .wheel-item::before,
.hero-photo-wheel .wheel-item::after,
.hero-photo-wheel .card::before,
.hero-photo-wheel .card::after,
.hero-photo-wheel .center-photo::before,
.hero-photo-wheel .center-photo::after{
display:none !important;
content:none !important;
}

.hero-photo-wheel .wheel-item img,
.hero-photo-wheel .card img,
.hero-photo-wheel .center-photo img{
width:100% !important;
height:100% !important;
object-fit:cover !important;
object-position:50% 22% !important;
border-radius:20px !important;
border:none !important;
outline:none !important;
filter:saturate(1.08) contrast(1.05) brightness(.98) !important;
}

.hero-photo-wheel .wheel-item{
width:220px !important;
height:320px !important;
}

.hero-photo-wheel .wheel-item.is-active{
width:300px !important;
height:410px !important;
transform:translateY(-10px) !important;
}

.hero-photo-wheel .wheel-control,
.hero-photo-wheel .wheel-hint{
display:none !important;
}
}

/* v35 mobile face-focused wheel */
@media (max-width:900px){

.hero-photo-wheel .wheel-item img,
.hero-photo-wheel .card img,
.hero-photo-wheel .center-photo img{
object-position:50% 18% !important;
}

.hero-photo-wheel .wheel-item.is-active img{
object-position:50% 14% !important;
}

}


/* v36 social icon polish */
.top-social a{
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:42px !important;
height:42px !important;
border-radius:50% !important;
font-size:20px !important;
text-decoration:none !important;
box-shadow:0 6px 18px rgba(0,0,0,.28);
transition:transform .25s ease, box-shadow .25s ease;
}

.top-social a:hover{
transform:translateY(-2px) scale(1.06);
box-shadow:0 10px 24px rgba(0,0,0,.35);
}


@media (min-width:901px){
.hero-photo-wheel{
display:flex !important;
justify-content:center !important;
align-items:flex-end !important;
gap:0 !important;
padding:10px 0 30px !important;
}
.hero-photo-wheel .wheel-item img{
filter:none !important;
}
.hero-photo-wheel .wheel-item:nth-child(1){
transform:rotate(-10deg) translateX(50px) translateY(30px) !important;
}
.hero-photo-wheel .wheel-item:nth-child(2){
transform:rotate(-5deg) translateX(30px) translateY(10px) !important;
}
.hero-photo-wheel .wheel-item.is-active{
transform:translateY(-12px) scale(1.05) !important;
}
.hero-photo-wheel .wheel-item:nth-child(4){
transform:rotate(5deg) translateX(-30px) translateY(10px) !important;
}
.hero-photo-wheel .wheel-item:nth-child(5){
transform:rotate(10deg) translateX(-50px) translateY(30px) !important;
}
}


/* =====================================================================
   V38 ART-DIRECTED REBUILD
   Preserve the real photo colors, remove admin-language feel, give the
   desktop hero an intentional singer/editorial composition, keep mobile
   wheel behavior, and polish real social SVG icons.
   ===================================================================== */

/* Real social icons */
.top-social a{
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  padding:0 !important;
  border:1px solid rgba(255,230,150,.35) !important;
}
.top-social a svg{
  width:23px !important;
  height:23px !important;
  fill:currentColor !important;
  display:block !important;
}
.top-social a[aria-label="Facebook"]{background:#1877f2 !important;color:#fff !important;}
.top-social a[aria-label="Instagram"]{background:radial-gradient(circle at 30% 110%,#fdf497 0 18%,#fd5949 42%,#d6249f 62%,#285AEB 100%) !important;color:#fff !important;}
.top-social a[aria-label="YouTube"]{background:#ff0000 !important;color:#fff !important;}

/* Stop changing her photo colors */
.hero-photo-wheel img,
.gallery-grid img,
.features img,
.about-feature-grid img,
.copy-panel img,
.flyers-track img,
.card img,
.center-photo img,
.wheel-item img{
  filter:none !important;
}

/* Desktop: editorial lounge spread, not cards */
@media (min-width:901px){
  .hero{
    position:relative;
    overflow:hidden;
  }

  .hero::after{
    content:"";
    position:absolute;
    left:50%;
    top:72px;
    width:min(1050px,92vw);
    height:520px;
    transform:translateX(-50%);
    pointer-events:none;
    background:
      radial-gradient(circle at 50% 38%, rgba(255,200,90,.16), transparent 34%),
      radial-gradient(circle at 16% 42%, rgba(137,39,150,.25), transparent 34%),
      radial-gradient(circle at 84% 45%, rgba(255,132,35,.14), transparent 30%);
    filter:blur(12px);
    z-index:0;
  }

  .hero-photo-wheel{
    position:relative !important;
    z-index:2 !important;
    display:grid !important;
    grid-template-columns: 1fr 1.05fr 1.28fr 1.05fr 1fr !important;
    align-items:end !important;
    justify-items:center !important;
    gap:0 !important;
    width:min(1180px,96vw) !important;
    margin:0 auto !important;
    padding:28px 0 44px !important;
    min-height:500px !important;
    overflow:visible !important;
    perspective:none !important;
    background:transparent !important;
  }

  .hero-photo-wheel::before{
    content:"SASSY" !important;
    position:absolute !important;
    inset:auto auto 18px 50% !important;
    transform:translateX(-50%) !important;
    display:block !important;
    font-family:Georgia,serif !important;
    font-size:clamp(86px,10vw,152px) !important;
    line-height:.8 !important;
    letter-spacing:.08em !important;
    color:rgba(255,218,120,.075) !important;
    z-index:0 !important;
    pointer-events:none !important;
    text-shadow:0 0 30px rgba(255,173,47,.16) !important;
    background:none !important;
    filter:none !important;
  }

  .hero-photo-wheel .wheel-control,
  .hero-photo-wheel .wheel-hint{
    display:none !important;
  }

  .hero-photo-wheel .wheel-item,
  .hero-photo-wheel .card,
  .hero-photo-wheel .center-photo{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    opacity:1 !important;
    pointer-events:auto !important;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    border-radius:28px !important;
    overflow:hidden !important;
    background:#080008 !important;
    box-shadow:
      0 32px 70px rgba(0,0,0,.58),
      0 0 0 1px rgba(255,220,135,.22),
      0 0 36px rgba(255,183,58,.13) !important;
    transition:transform .65s cubic-bezier(.2,.8,.2,1), box-shadow .65s ease !important;
  }

  .hero-photo-wheel .wheel-item::before,
  .hero-photo-wheel .wheel-item::after,
  .hero-photo-wheel .card::before,
  .hero-photo-wheel .card::after,
  .hero-photo-wheel .center-photo::before,
  .hero-photo-wheel .center-photo::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    pointer-events:none !important;
    border-radius:28px !important;
  }

  .hero-photo-wheel .wheel-item::before{
    z-index:2 !important;
    background:
      linear-gradient(180deg, rgba(255,225,150,.14), transparent 28%, rgba(0,0,0,.20)),
      radial-gradient(circle at 50% 48%, transparent 55%, rgba(0,0,0,.32) 100%) !important;
  }
  .hero-photo-wheel .wheel-item::after{
    z-index:3 !important;
    inset:10px !important;
    border:1px solid rgba(255,224,145,.25) !important;
  }

  .hero-photo-wheel .wheel-item img,
  .hero-photo-wheel .card img,
  .hero-photo-wheel .center-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border:0 !important;
    outline:0 !important;
    border-radius:28px !important;
    filter:none !important;
  }

  .hero-photo-wheel .wheel-item:nth-of-type(1){
    grid-column:1 !important;
    width:205px !important;
    height:305px !important;
    transform:translate(86px,36px) rotate(-12deg) !important;
    z-index:1 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(1) img{object-position:50% 19% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(2){
    grid-column:2 !important;
    width:245px !important;
    height:365px !important;
    transform:translate(42px,8px) rotate(-6deg) !important;
    z-index:2 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(2) img{object-position:52% 16% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(3),
  .hero-photo-wheel .center-photo{
    grid-column:3 !important;
    width:330px !important;
    height:455px !important;
    transform:translateY(-8px) !important;
    z-index:5 !important;
    box-shadow:
      0 42px 90px rgba(0,0,0,.66),
      0 0 0 1px rgba(255,235,160,.38),
      0 0 60px rgba(255,185,56,.25) !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(3) img,
  .hero-photo-wheel .center-photo img{object-position:50% 14% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(4){
    grid-column:4 !important;
    width:245px !important;
    height:365px !important;
    transform:translate(-42px,8px) rotate(6deg) !important;
    z-index:2 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(4) img{object-position:50% 16% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(5){
    grid-column:5 !important;
    width:205px !important;
    height:305px !important;
    transform:translate(-86px,36px) rotate(12deg) !important;
    z-index:1 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(5) img{object-position:50% 17% !important;}

  .hero-photo-wheel .wheel-item:hover{
    transform:translateY(-18px) scale(1.025) !important;
    z-index:9 !important;
    box-shadow:
      0 42px 82px rgba(0,0,0,.70),
      0 0 0 1px rgba(255,235,160,.42),
      0 0 58px rgba(255,184,54,.28) !important;
  }
}

/* Mobile wheel stays mobile, with natural photo colors */
@media (max-width:900px){
  .hero-photo-wheel .wheel-item img,
  .hero-photo-wheel .card img,
  .hero-photo-wheel .center-photo img{
    filter:none !important;
  }
  .wheel-hint{
    bottom:-18px !important;
    opacity:.48 !important;
    letter-spacing:.16em !important;
  }
}


/* v39 booking cleanup */
.checkbox-row{
display:flex;
align-items:center;
gap:10px;
font-size:.95rem;
margin-top:-6px;
margin-bottom:12px;
color:#f3dfb0;
}

.checkbox-row input{
width:18px;
height:18px;
accent-color:#d4a646;
}


/* v40 smoother mobile photo wheel */
@media (max-width:900px){
  .hero-photo-wheel .wheel-item,
  .hero-photo-wheel .card,
  .hero-photo-wheel .center-photo{
    transition:
      transform .42s cubic-bezier(.18,.82,.22,1),
      opacity .28s ease-out,
      filter .28s ease-out !important;
    will-change:transform, opacity;
  }

  .hero-photo-wheel .wheel-item.is-active{
    opacity:1 !important;
    transition:
      transform .42s cubic-bezier(.18,.82,.22,1),
      opacity .22s ease-in,
      filter .22s ease-in !important;
  }

  .hero-photo-wheel .wheel-item.is-prev,
  .hero-photo-wheel .wheel-item.is-next{
    opacity:.9 !important;
  }

  .hero-photo-wheel .wheel-item.is-far-prev,
  .hero-photo-wheel .wheel-item.is-far-next{
    opacity:.12 !important;
    pointer-events:none !important;
  }
}




/* v41 desktop restore after mobile wheel smoothing
   Mobile remains unchanged. Desktop gets its editorial photo spread back. */
@media (min-width:901px){

  .hero-photo-wheel{
    position:relative !important;
    z-index:2 !important;
    display:grid !important;
    grid-template-columns: 1fr 1.05fr 1.28fr 1.05fr 1fr !important;
    align-items:end !important;
    justify-items:center !important;
    gap:0 !important;
    width:min(1180px,96vw) !important;
    margin:0 auto !important;
    padding:28px 0 44px !important;
    min-height:500px !important;
    overflow:visible !important;
    perspective:none !important;
    background:transparent !important;
  }

  .hero-photo-wheel .wheel-control,
  .hero-photo-wheel .wheel-hint{
    display:none !important;
  }

  .hero-photo-wheel .wheel-item,
  .hero-photo-wheel .card,
  .hero-photo-wheel .center-photo{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    opacity:1 !important;
    pointer-events:auto !important;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    border-radius:28px !important;
    overflow:hidden !important;
    background:#080008 !important;
    transition:transform .65s cubic-bezier(.2,.8,.2,1), box-shadow .65s ease !important;
    box-shadow:
      0 32px 70px rgba(0,0,0,.58),
      0 0 0 1px rgba(255,220,135,.22),
      0 0 36px rgba(255,183,58,.13) !important;
    filter:none !important;
  }

  .hero-photo-wheel .wheel-item img,
  .hero-photo-wheel .card img,
  .hero-photo-wheel .center-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border:0 !important;
    outline:0 !important;
    border-radius:28px !important;
    filter:none !important;
  }

  .hero-photo-wheel .wheel-item:nth-of-type(1){
    grid-column:1 !important;
    width:205px !important;
    height:305px !important;
    transform:translate(86px,36px) rotate(-12deg) !important;
    z-index:1 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(1) img{object-position:50% 19% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(2){
    grid-column:2 !important;
    width:245px !important;
    height:365px !important;
    transform:translate(42px,8px) rotate(-6deg) !important;
    z-index:2 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(2) img{object-position:52% 16% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(3),
  .hero-photo-wheel .center-photo{
    grid-column:3 !important;
    width:330px !important;
    height:455px !important;
    transform:translateY(-8px) !important;
    z-index:5 !important;
    box-shadow:
      0 42px 90px rgba(0,0,0,.66),
      0 0 0 1px rgba(255,235,160,.38),
      0 0 60px rgba(255,185,56,.25) !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(3) img,
  .hero-photo-wheel .center-photo img{object-position:50% 14% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(4){
    grid-column:4 !important;
    width:245px !important;
    height:365px !important;
    transform:translate(-42px,8px) rotate(6deg) !important;
    z-index:2 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(4) img{object-position:50% 16% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(5){
    grid-column:5 !important;
    width:205px !important;
    height:305px !important;
    transform:translate(-86px,36px) rotate(12deg) !important;
    z-index:1 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(5) img{object-position:50% 17% !important;}
}


/* =====================================================================
   V42 FINAL LOCK: no regressions
   - Desktop: artistic photo spread with no internal scrollbars.
   - Mobile: preserved smooth wheel.
   - Gallery: face-focused crops.
   - Flyers: swipeable, no visible scrollbar.
   - Booking: checkbox/budget styling.
   ===================================================================== */

html, body{
  overflow-x:hidden !important;
}

/* Remove visible scrollbar/overflow artifacts around hero photos */
.hero-photo-wheel,
.hero-photo-wheel *,
.cards,
.card,
.center-photo,
.wheel-item{
  scrollbar-width:none !important;
}
.hero-photo-wheel::-webkit-scrollbar,
.hero-photo-wheel *::-webkit-scrollbar,
.cards::-webkit-scrollbar,
.card::-webkit-scrollbar,
.center-photo::-webkit-scrollbar,
.wheel-item::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}

/* Real platform icons */
.top-social a{
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(255,230,150,.35) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.25) !important;
}
.top-social a svg{
  width:23px !important;
  height:23px !important;
  fill:currentColor !important;
  display:block !important;
}
.top-social a[aria-label="Facebook"]{background:#1877f2 !important;color:#fff !important;}
.top-social a[aria-label="Instagram"]{background:radial-gradient(circle at 30% 110%,#fdf497 0 18%,#fd5949 42%,#d6249f 62%,#285AEB 100%) !important;color:#fff !important;}
.top-social a[aria-label="YouTube"]{background:#ff0000 !important;color:#fff !important;}

/* Preserve original/natural image colors */
.hero-photo-wheel img,
.gallery-grid img,
.features img,
.about-feature-grid img,
.copy-panel img,
.flyers-track img,
.card img,
.center-photo img,
.wheel-item img{
  filter:none !important;
}

/* Desktop artistic hero: layered vocalist/editorial spread, not a flat row */
@media (min-width:901px){
  .hero{
    overflow:hidden !important;
    position:relative !important;
  }

  .hero-photo-wheel{
    position:relative !important;
    z-index:2 !important;
    display:grid !important;
    grid-template-columns: 1fr 1.04fr 1.28fr 1.04fr 1fr !important;
    align-items:end !important;
    justify-items:center !important;
    gap:0 !important;
    width:min(1160px,94vw) !important;
    max-width:1160px !important;
    margin:0 auto !important;
    padding:34px 0 48px !important;
    min-height:500px !important;
    height:auto !important;
    overflow:visible !important;
    perspective:none !important;
    background:transparent !important;
    touch-action:auto !important;
  }

  .hero-photo-wheel::before{
    content:"SASSY" !important;
    position:absolute !important;
    left:50% !important;
    bottom:18px !important;
    transform:translateX(-50%) !important;
    font-family:Georgia,serif !important;
    font-size:clamp(82px,9vw,145px) !important;
    line-height:.8 !important;
    letter-spacing:.1em !important;
    color:rgba(255,218,120,.065) !important;
    text-shadow:0 0 36px rgba(255,180,65,.15) !important;
    background:none !important;
    filter:none !important;
    z-index:0 !important;
    pointer-events:none !important;
    display:block !important;
  }

  .hero-photo-wheel .wheel-control,
  .hero-photo-wheel .wheel-hint{
    display:none !important;
  }

  .hero-photo-wheel .wheel-item,
  .hero-photo-wheel .card,
  .hero-photo-wheel .center-photo{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    opacity:1 !important;
    pointer-events:auto !important;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    border-radius:28px !important;
    overflow:hidden !important;
    background:#080008 !important;
    filter:none !important;
    transition:transform .65s cubic-bezier(.2,.8,.2,1), box-shadow .65s ease !important;
    box-shadow:
      0 32px 70px rgba(0,0,0,.58),
      0 0 0 1px rgba(255,220,135,.20),
      0 0 36px rgba(255,183,58,.12) !important;
  }

  .hero-photo-wheel .wheel-item::before,
  .hero-photo-wheel .card::before,
  .hero-photo-wheel .center-photo::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    pointer-events:none !important;
    border-radius:28px !important;
    display:block !important;
    background:
      linear-gradient(180deg, rgba(255,230,150,.10), transparent 30%, rgba(0,0,0,.14)),
      radial-gradient(circle at 50% 48%, transparent 58%, rgba(0,0,0,.28) 100%) !important;
  }

  .hero-photo-wheel .wheel-item::after,
  .hero-photo-wheel .card::after,
  .hero-photo-wheel .center-photo::after{
    content:"" !important;
    position:absolute !important;
    inset:10px !important;
    z-index:3 !important;
    border:1px solid rgba(255,224,145,.22) !important;
    border-radius:22px !important;
    pointer-events:none !important;
    display:block !important;
  }

  .hero-photo-wheel .wheel-item img,
  .hero-photo-wheel .card img,
  .hero-photo-wheel .center-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border:0 !important;
    outline:0 !important;
    border-radius:28px !important;
    filter:none !important;
  }

  .hero-photo-wheel .wheel-item:nth-of-type(1){
    grid-column:1 !important;
    width:205px !important;
    height:305px !important;
    transform:translate(88px,42px) rotate(-13deg) !important;
    z-index:1 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(1) img{object-position:50% 14% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(2){
    grid-column:2 !important;
    width:245px !important;
    height:365px !important;
    transform:translate(44px,12px) rotate(-6deg) !important;
    z-index:2 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(2) img{object-position:52% 12% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(3),
  .hero-photo-wheel .center-photo{
    grid-column:3 !important;
    width:330px !important;
    height:455px !important;
    transform:translateY(-12px) !important;
    z-index:5 !important;
    box-shadow:
      0 42px 90px rgba(0,0,0,.66),
      0 0 0 1px rgba(255,235,160,.36),
      0 0 60px rgba(255,185,56,.24) !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(3) img,
  .hero-photo-wheel .center-photo img{object-position:50% 12% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(4){
    grid-column:4 !important;
    width:245px !important;
    height:365px !important;
    transform:translate(-44px,12px) rotate(6deg) !important;
    z-index:2 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(4) img{object-position:50% 12% !important;}

  .hero-photo-wheel .wheel-item:nth-of-type(5){
    grid-column:5 !important;
    width:205px !important;
    height:305px !important;
    transform:translate(-88px,42px) rotate(13deg) !important;
    z-index:1 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(5) img{object-position:50% 12% !important;}
}

/* Keep mobile wheel smooth/perfect */
@media (max-width:900px){
  .hero-photo-wheel .wheel-item,
  .hero-photo-wheel .card,
  .hero-photo-wheel .center-photo{
    transition:
      transform .42s cubic-bezier(.18,.82,.22,1),
      opacity .28s ease-out,
      filter .28s ease-out !important;
    will-change:transform, opacity !important;
  }
  .hero-photo-wheel .wheel-item img,
  .hero-photo-wheel .card img,
  .hero-photo-wheel .center-photo img{
    filter:none !important;
    object-position:50% 14% !important;
  }
  .wheel-hint{
    bottom:-18px !important;
    opacity:.48 !important;
    letter-spacing:.16em !important;
  }
}

/* Gallery face-centered crops */
.gallery-grid img,
.gallery img,
.gallery-card img{
  object-fit:cover !important;
  object-position:50% 12% !important;
  filter:none !important;
}

/* Flyers swipe cleanly without ugly scrollbars */
.flyers-track,
.flyer-scroll,
.poster-scroll{
  display:flex !important;
  gap:18px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
}
.flyers-track::-webkit-scrollbar,
.flyer-scroll::-webkit-scrollbar,
.poster-scroll::-webkit-scrollbar{
  display:none !important;
}
.flyers-track img,
.flyer-scroll img,
.poster-scroll img{
  scroll-snap-align:center !important;
  flex:0 0 auto !important;
}

/* Booking cleanup */
.checkbox-row{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  font-size:.95rem !important;
  margin-top:-6px !important;
  margin-bottom:12px !important;
  color:#f3dfb0 !important;
}
.checkbox-row input{
  width:18px !important;
  height:18px !important;
  accent-color:#d4a646 !important;
}


/* =====================================================================
   V43 HARD FIX LOCK
   Locks recent requests so they stop regressing:
   - iOS menu opens/taps with foreground overlay
   - desktop hero spreads across the page with no scrollbars on photos
   - mobile wheel keeps all photos visible/animated
   - gallery crops focus face/head
   - flyers swipe without visible scrollbars
   - social SVGs keep real brand colors
   ===================================================================== */

html, body{
  overflow-x:hidden !important;
}

/* iOS-safe mobile menu foreground */
.menu-toggle{
  position:relative !important;
  z-index:10050 !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}

@media(max-width:900px){
  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:10000 !important;
    overflow:visible !important;
  }

  .navlinks{
    position:fixed !important;
    top:76px !important;
    left:14px !important;
    right:14px !important;
    z-index:10020 !important;
    display:none !important;
    flex-direction:column !important;
    gap:10px !important;
    padding:18px !important;
    border-radius:22px !important;
    background:
      linear-gradient(180deg, rgba(18,0,24,.98), rgba(8,0,12,.98)) !important;
    border:1px solid rgba(255,218,128,.48) !important;
    box-shadow:
      0 22px 60px rgba(0,0,0,.78),
      0 0 40px rgba(204,143,42,.30) !important;
    backdrop-filter:blur(16px) !important;
    -webkit-backdrop-filter:blur(16px) !important;
    pointer-events:auto !important;
  }

  body.menu-open .navlinks,
  .topbar.menu-open .navlinks,
  .navlinks.open,
  .navlinks.is-open{
    display:flex !important;
  }

  .navlinks a{
    display:block !important;
    width:100% !important;
    padding:14px 16px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.055) !important;
    color:#fff1c6 !important;
    font-size:1rem !important;
    pointer-events:auto !important;
    position:relative !important;
    z-index:10021 !important;
  }
}

/* no internal photo scrollbars */
.hero-photo-wheel,
.hero-photo-wheel *,
.cards,
.cards *,
.wheel-item,
.card,
.center-photo{
  scrollbar-width:none !important;
}
.hero-photo-wheel::-webkit-scrollbar,
.hero-photo-wheel *::-webkit-scrollbar,
.cards::-webkit-scrollbar,
.cards *::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
}

/* real social icons */
.top-social a{
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(255,230,150,.35) !important;
}
.top-social a svg{width:23px !important;height:23px !important;fill:currentColor !important;display:block !important;}
.top-social a[aria-label="Facebook"]{background:#1877f2 !important;color:white !important;}
.top-social a[aria-label="Instagram"]{background:radial-gradient(circle at 30% 110%,#fdf497 0 18%,#fd5949 42%,#d6249f 62%,#285AEB 100%) !important;color:white !important;}
.top-social a[aria-label="YouTube"]{background:#ff0000 !important;color:white !important;}

/* keep photos natural */
.hero-photo-wheel img,
.gallery-grid img,
.features img,
.about-feature-grid img,
.copy-panel img,
.flyers-track img,
.card img,
.center-photo img,
.wheel-item img{
  filter:none !important;
}

/* DESKTOP: full-width artistic spread */
@media(min-width:901px){
  .hero{
    position:relative !important;
    overflow:hidden !important;
  }

  .hero-photo-wheel{
    position:relative !important;
    z-index:2 !important;
    display:grid !important;
    grid-template-columns: 0.9fr 1fr 1.22fr 1fr 0.9fr !important;
    align-items:end !important;
    justify-items:center !important;
    gap:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:32px clamp(18px, 4vw, 64px) 48px !important;
    min-height:510px !important;
    overflow:visible !important;
    background:transparent !important;
    perspective:none !important;
  }

  .hero-photo-wheel::before{
    content:"SASSY" !important;
    position:absolute !important;
    left:50% !important;
    bottom:20px !important;
    transform:translateX(-50%) !important;
    display:block !important;
    font-family:Georgia,serif !important;
    font-size:clamp(88px,10vw,160px) !important;
    letter-spacing:.11em !important;
    color:rgba(255,218,120,.065) !important;
    z-index:0 !important;
    pointer-events:none !important;
    background:none !important;
    filter:none !important;
  }

  .hero-photo-wheel .wheel-control,
  .hero-photo-wheel .wheel-hint{
    display:none !important;
  }

  .hero-photo-wheel .wheel-item,
  .hero-photo-wheel .card,
  .hero-photo-wheel .center-photo{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    opacity:1 !important;
    pointer-events:auto !important;
    border:0 !important;
    outline:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:28px !important;
    background:#080008 !important;
    transition:transform .55s ease, box-shadow .55s ease !important;
    box-shadow:
      0 32px 70px rgba(0,0,0,.58),
      0 0 0 1px rgba(255,220,135,.22),
      0 0 36px rgba(255,183,58,.12) !important;
  }

  .hero-photo-wheel .wheel-item img,
  .hero-photo-wheel .card img,
  .hero-photo-wheel .center-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border:0 !important;
    outline:0 !important;
    border-radius:28px !important;
    filter:none !important;
  }

  .hero-photo-wheel .wheel-item::before,
  .hero-photo-wheel .wheel-item::after{
    content:"" !important;
    position:absolute !important;
    pointer-events:none !important;
    display:block !important;
  }
  .hero-photo-wheel .wheel-item::before{
    inset:0 !important;
    z-index:2 !important;
    border-radius:28px !important;
    background:
      linear-gradient(180deg, rgba(255,230,150,.10), transparent 32%, rgba(0,0,0,.15)),
      radial-gradient(circle at 50% 50%, transparent 58%, rgba(0,0,0,.25) 100%) !important;
  }
  .hero-photo-wheel .wheel-item::after{
    inset:10px !important;
    z-index:3 !important;
    border:1px solid rgba(255,224,145,.22) !important;
    border-radius:22px !important;
  }

  .hero-photo-wheel .wheel-item:nth-of-type(1){
    grid-column:1 !important;
    width:clamp(190px,17vw,260px) !important;
    height:clamp(285px,26vw,380px) !important;
    transform:translateX(28px) translateY(50px) rotate(-13deg) !important;
    z-index:1 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(2){
    grid-column:2 !important;
    width:clamp(220px,20vw,300px) !important;
    height:clamp(330px,30vw,430px) !important;
    transform:translateX(10px) translateY(18px) rotate(-6deg) !important;
    z-index:2 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(3){
    grid-column:3 !important;
    width:clamp(300px,26vw,400px) !important;
    height:clamp(420px,38vw,550px) !important;
    transform:translateY(-10px) !important;
    z-index:5 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(4){
    grid-column:4 !important;
    width:clamp(220px,20vw,300px) !important;
    height:clamp(330px,30vw,430px) !important;
    transform:translateX(-10px) translateY(18px) rotate(6deg) !important;
    z-index:2 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(5){
    grid-column:5 !important;
    width:clamp(190px,17vw,260px) !important;
    height:clamp(285px,26vw,380px) !important;
    transform:translateX(-28px) translateY(50px) rotate(13deg) !important;
    z-index:1 !important;
  }

  .hero-photo-wheel .wheel-item:nth-of-type(1) img,
  .hero-photo-wheel .wheel-item:nth-of-type(2) img,
  .hero-photo-wheel .wheel-item:nth-of-type(3) img,
  .hero-photo-wheel .wheel-item:nth-of-type(4) img,
  .hero-photo-wheel .wheel-item:nth-of-type(5) img{
    object-position:50% 10% !important;
  }
}

/* MOBILE: keep smooth wheel with all photos */
@media(max-width:900px){
  .hero-photo-wheel{
    display:block !important;
    position:relative !important;
    width:100vw !important;
    max-width:100vw !important;
    height:clamp(385px,118vw,520px) !important;
    min-height:0 !important;
    margin:0 calc(50% - 50vw) !important;
    overflow:hidden !important;
    touch-action:pan-y !important;
    perspective:1100px !important;
  }

  .hero-photo-wheel .wheel-item{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    display:block !important;
    width:63vw !important;
    max-width:278px !important;
    height:88vw !important;
    max-height:405px !important;
    border-radius:28px !important;
    overflow:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:
      transform .42s cubic-bezier(.18,.82,.22,1),
      opacity .28s ease-out,
      filter .28s ease-out !important;
    will-change:transform, opacity !important;
  }

  .hero-photo-wheel .wheel-item img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:50% 12% !important;
    border-radius:28px !important;
    filter:none !important;
  }

  .hero-photo-wheel .wheel-item.is-active{
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:5 !important;
    transform:translate(-50%,-52%) scale(1.08) !important;
  }
  .hero-photo-wheel .wheel-item.is-prev{
    opacity:.9 !important;
    pointer-events:auto !important;
    z-index:4 !important;
    transform:translate(-91%,-49%) scale(.72) rotate(-6deg) rotateY(20deg) !important;
  }
  .hero-photo-wheel .wheel-item.is-next{
    opacity:.9 !important;
    pointer-events:auto !important;
    z-index:4 !important;
    transform:translate(-9%,-49%) scale(.72) rotate(6deg) rotateY(-20deg) !important;
  }
  .hero-photo-wheel .wheel-item.is-far-prev{
    opacity:.12 !important;
    z-index:2 !important;
    transform:translate(-136%,-50%) scale(.56) rotate(-12deg) rotateY(35deg) !important;
  }
  .hero-photo-wheel .wheel-item.is-far-next{
    opacity:.12 !important;
    z-index:2 !important;
    transform:translate(36%,-50%) scale(.56) rotate(12deg) rotateY(-35deg) !important;
  }

  .wheel-control{
    position:absolute !important;
    top:50% !important;
    z-index:12 !important;
    width:42px !important;
    height:54px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,220,126,.70) !important;
    background:rgba(5,0,8,.74) !important;
    color:#ffe28c !important;
    font-size:36px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .wheel-prev{left:8px !important; transform:translateY(-50%) !important;}
  .wheel-next{right:8px !important; transform:translateY(-50%) !important;}
  .wheel-hint{
    position:absolute !important;
    bottom:0 !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:12 !important;
    font-size:10px !important;
    opacity:.45 !important;
    letter-spacing:.16em !important;
  }
}

/* Home featured videos */
.home-featured-videos{
  width:min(1120px,94vw);
  margin:20px auto 42px;
  padding:22px;
  border-radius:28px;
  background:rgba(12,0,16,.42);
  border:1px solid rgba(255,218,130,.18);
  box-shadow:0 18px 50px rgba(0,0,0,.24);
}
.home-featured-videos h2{
  margin:0 0 18px;
}
/* ── Home video grid: 2 | Short | 2 layout ── */
/* ── Desktop video showcase: 5 videos in a single full-width row ── */
.home-video-grid {
  display: flex !important;
  flex-direction: row !important;
  gap: 14px !important;
  /* Break out of the section's padding/margin to go true full width */
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  box-sizing: border-box !important;
  height: clamp(180px, 16vw, 280px) !important;
  align-items: center !important;
  justify-content: center !important;
}

/* All video cards fill the row height */
.home-video-grid .video-card {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Short card — portrait, taller than the landscape row.
   Uses negative top margin to grow upward out of the grid row. */
.home-video-grid .video-card--short {
  flex: 0 0 clamp(160px, 15vw, 230px) !important;
  width: clamp(160px, 15vw, 230px) !important;
  align-self: center !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  margin-top: 0 !important;
}

.home-video-grid .video-card--short iframe {
  width: 100% !important;
  height: 100% !important;
  flex: 1 !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.45) !important;
  display: block !important;
}


/* All iframes fill their card */
.home-video-grid .video-card iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.45) !important;
}

/* Tablet (851–1000px): 2x2 grid + short below */
@media(max-width:1000px) and (min-width:851px){
  .home-video-grid{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    height: auto !important;
    gap: 14px !important;
  }
  .home-video-grid .video-card {
    flex: none !important;
    height: auto !important;
    width: auto !important;
  }
  .home-video-grid .video-card iframe {
    aspect-ratio: 16/9 !important;
    height: auto !important;
    width: 100% !important;
  }
  .home-video-grid .video-card--short {
    grid-column: 1 / -1 !important;
    display: flex !important;
    justify-content: center !important;
    width: auto !important;
    flex: none !important;
  }
  .home-video-grid .video-card--short iframe {
    aspect-ratio: 9/16 !important;
    height: auto !important;
    width: min(280px, 100%) !important;
  }
}


/* Mobile: single column stack */
@media(max-width:850px){
  .home-video-grid{
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 14px !important;
    width: 100% !important;
  }
  .home-video-grid .video-card{
    flex: none !important;
    width: 100% !important;
    height: auto !important;
  }
  .home-video-grid .video-card iframe{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
    min-height: 0 !important;
    display: block !important;
  }
  .home-video-grid .video-card--short{
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    flex: none !important;
  }
  .home-video-grid .video-card--short iframe{
    width: min(260px, 100%) !important;
    height: auto !important;
    aspect-ratio: 9/16 !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    display: block !important;
  }
}

/* Gallery face-centered crops */
.gallery-grid img,
.gallery img,
.gallery-card img{
  object-fit:cover !important;
  object-position:50% 10% !important;
  filter:none !important;
}

/* Flyers swipe cleanly with no visible scrollbars */
.flyers-track,
.flyer-scroll,
.poster-scroll{
  display:flex !important;
  gap:18px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
}
.flyers-track::-webkit-scrollbar,
.flyer-scroll::-webkit-scrollbar,
.poster-scroll::-webkit-scrollbar{display:none !important;}
.flyers-track img,
.flyer-scroll img,
.poster-scroll img{
  scroll-snap-align:center !important;
  flex:0 0 auto !important;
}

/* Booking */
.checkbox-row{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:-6px !important;
  margin-bottom:12px !important;
  color:#f3dfb0 !important;
}
.checkbox-row input{
  width:18px !important;
  height:18px !important;
  accent-color:#d4a646 !important;
}


/* =====================================================================
   V44 FINAL DESKTOP/MOBILE POLISH
   - Desktop: no wheel arrows, clean full-width editorial spread.
   - Mobile: keep arrows/wheel, but stop long blank scroll after footer.
   - Footer/page height cleanup.
   ===================================================================== */

html,
body{
  min-height:100% !important;
  margin:0 !important;
  overflow-x:hidden !important;
}

body{
  display:flex !important;
  flex-direction:column !important;
}

main.page-transition{
  flex:1 0 auto !important;
}

.site-footer{
  flex-shrink:0 !important;
  margin-bottom:0 !important;
}

body::after,
main::after,
.page-transition::after{
  display:none !important;
  content:none !important;
}

/* Desktop hero: never show carousel controls/arrows on desktop */
@media (min-width:901px){
  .hero-photo-wheel .wheel-control,
  .hero-photo-wheel .wheel-prev,
  .hero-photo-wheel .wheel-next,
  .hero-photo-wheel .wheel-hint{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .hero-photo-wheel{
    position:relative !important;
    z-index:2 !important;
    display:grid !important;
    grid-template-columns: 0.86fr 1fr 1.22fr 1fr 0.86fr !important;
    align-items:end !important;
    justify-items:center !important;
    gap:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding:32px clamp(18px,4vw,70px) 44px !important;
    min-height:510px !important;
    overflow:visible !important;
    background:transparent !important;
    perspective:none !important;
    touch-action:auto !important;
  }

  .hero-photo-wheel .wheel-item{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    opacity:1 !important;
    pointer-events:auto !important;
    overflow:hidden !important;
    border-radius:28px !important;
    border:0 !important;
    outline:0 !important;
    filter:none !important;
  }

  .hero-photo-wheel .wheel-item img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:50% 10% !important;
    filter:none !important;
    border:0 !important;
    outline:0 !important;
  }

  .hero-photo-wheel .wheel-item:nth-of-type(1){
    grid-column:1 !important;
    width:clamp(190px,17vw,265px) !important;
    height:clamp(285px,26vw,385px) !important;
    transform:translateX(18px) translateY(52px) rotate(-13deg) !important;
    z-index:1 !important;
  }

  .hero-photo-wheel .wheel-item:nth-of-type(2){
    grid-column:2 !important;
    width:clamp(220px,20vw,305px) !important;
    height:clamp(330px,30vw,435px) !important;
    transform:translateX(4px) translateY(18px) rotate(-6deg) !important;
    z-index:2 !important;
  }

  .hero-photo-wheel .wheel-item:nth-of-type(3){
    grid-column:3 !important;
    width:clamp(300px,26vw,405px) !important;
    height:clamp(420px,38vw,555px) !important;
    transform:translateY(-12px) !important;
    z-index:5 !important;
  }

  .hero-photo-wheel .wheel-item:nth-of-type(4){
    grid-column:4 !important;
    width:clamp(220px,20vw,305px) !important;
    height:clamp(330px,30vw,435px) !important;
    transform:translateX(-4px) translateY(18px) rotate(6deg) !important;
    z-index:2 !important;
  }

  .hero-photo-wheel .wheel-item:nth-of-type(5){
    grid-column:5 !important;
    width:clamp(190px,17vw,265px) !important;
    height:clamp(285px,26vw,385px) !important;
    transform:translateX(-18px) translateY(52px) rotate(13deg) !important;
    z-index:1 !important;
  }
}

/* Mobile: keep wheel but remove excessive blank page height after footer */
@media (max-width:900px){
  html,
  body{
    min-height:100% !important;
    height:auto !important;
  }

  body{
    padding-bottom:0 !important;
    overflow-x:hidden !important;
  }

  main.page-transition{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }

  .section:last-child,
  .hero:last-child,
  .booking-page:last-child,
  .gallery-page:last-child,
  .events-page:last-child,
  .music-page:last-child,
  .about-page:last-child{
    margin-bottom:0 !important;
    padding-bottom:28px !important;
  }

  .site-footer{
    margin-top:0 !important;
    padding-bottom:18px !important;
  }
}

/* Make budget unknown checkbox feel intentional */
.budget-help{
  display:block;
  margin:-6px 0 10px;
  color:#ead8ad;
  font-size:.92rem;
  line-height:1.45;
  opacity:.9;
}

.checkbox-row{
  padding:10px 12px !important;
  border:1px solid rgba(255,218,128,.22) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.045) !important;
  cursor:pointer !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  opacity:.55 !important;
  transition:opacity .2s, border-color .2s !important;
}

.checkbox-row:has(input:checked){
  opacity:1 !important;
  border-color:rgba(247,195,95,.6) !important;
  background:rgba(247,195,95,.08) !important;
}

.checkbox-row input[type="checkbox"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  border:2px solid rgba(200,170,100,.4) !important;
  border-radius:5px !important;
  background:rgba(8,2,10,.62) !important;
  cursor:pointer !important;
  position:relative !important;
  transition:background .2s, border-color .2s !important;
  padding:0 !important;
}

.checkbox-row input[type="checkbox"]:checked{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
}

.checkbox-row input[type="checkbox"]:checked::after{
  content:"✓" !important;
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#1b0819 !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.checkbox-row span{
  display:inline-block;
  color:#f7e7ff;
  font-weight:600;
}


/* =====================================================================
   V45: Restore flyers + desktop editorial photo spread
   Desktop should look like an art-directed photo spread, not cards.
   Mobile wheel remains unchanged.
   ===================================================================== */

@media (min-width:901px){

  /* ── EDITORIAL MARQUEE HERO ───────────────────────────────────────────
   * Five photos run full-width in a rising-arch composition:
   * outer photos shortest, inner taller, center dominant.
   * Feels like a magazine spread / vinyl inner sleeve.
   * Name overlays the bottom of the strip in large spaced gold type.
   * ─────────────────────────────────────────────────────────────────── */

  .hero{
    overflow: hidden !important;
    padding: 0 !important;
  }

  /* Hide the mobile wheel controls */
  .hero-photo-wheel .wheel-control,
  .hero-photo-wheel .wheel-prev,
  .hero-photo-wheel .wheel-next,
  .hero-photo-wheel .wheel-hint{ display:none !important; }

  /* The wheel becomes a full-bleed flex strip */
  .hero-photo-wheel{
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;  /* photos anchor to top — no bottom clipping */
    gap: 0 !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    background: #080109 !important;
  }

  /* Shared card reset */
  .hero-photo-wheel .wheel-item,
  .hero-photo-wheel .card,
  .hero-photo-wheel .center-photo{
    flex: 1 1 0 !important;
    border-radius: 0 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    overflow: hidden !important;
    box-shadow: none !important;
    position: relative !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Kill all pseudo elements */
  .hero-photo-wheel .wheel-item::before,
  .hero-photo-wheel .wheel-item::after{
    display: none !important; content: none !important;
  }

  /* All images fill their card — show bottom of frame, not top */
  .hero-photo-wheel .wheel-item img,
  body .hero-photo-wheel .wheel-item img{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 85% !important;
    border-radius: 0 !important;
    filter: none !important;
    border: none !important;
  }
  /* Override any previous per-item object-position rules */
  .hero-photo-wheel .wheel-item:nth-of-type(1) img,
  .hero-photo-wheel .wheel-item:nth-of-type(2) img,
  .hero-photo-wheel .wheel-item:nth-of-type(3) img,
  .hero-photo-wheel .wheel-item:nth-of-type(4) img,
  .hero-photo-wheel .wheel-item:nth-of-type(5) img{
    object-position: 50% 85% !important;
  }

  /* ── Height arch: outer < inner < center ── */
  /* Photo 1 — far left, shortest */
  .hero-photo-wheel .wheel-item:nth-of-type(1){
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: clamp(260px, 30vw, 430px) !important;
    z-index: 1 !important;
  }
  /* Photo 2 — inner left */
  .hero-photo-wheel .wheel-item:nth-of-type(2){
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: clamp(320px, 38vw, 530px) !important;
    z-index: 2 !important;
  }
  /* Photo 3 — center, tallest, dominates */
  .hero-photo-wheel .wheel-item:nth-of-type(3){
    flex: 1.4 1 0 !important;
    min-width: 0 !important;
    height: clamp(400px, 50vw, 660px) !important;
    z-index: 5 !important;
  }
  /* Photo 4 — inner right */
  .hero-photo-wheel .wheel-item:nth-of-type(4){
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: clamp(320px, 38vw, 530px) !important;
    z-index: 2 !important;
  }
  /* Photo 5 — far right, shortest */
  .hero-photo-wheel .wheel-item:nth-of-type(5){
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: clamp(260px, 30vw, 430px) !important;
    z-index: 1 !important;
  }

  /* Thin gold divider lines between photos */
  .hero-photo-wheel .wheel-item + .wheel-item::before{
    display: block !important;
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 1px !important;
    background: rgba(247,195,95,0.35) !important;
    z-index: 10 !important;
  }

  /* Subtle dark vignette on outer photos so center pops */
  .hero-photo-wheel .wheel-item:nth-of-type(1) img,
  .hero-photo-wheel .wheel-item:nth-of-type(5) img{
    filter: brightness(0.78) !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(2) img,
  .hero-photo-wheel .wheel-item:nth-of-type(4) img{
    filter: brightness(0.88) !important;
  }

  /* Bottom fade so the hero section blends into the dark page */
  .hero-photo-wheel::after{
    display: block !important;
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 120px !important;
    background: linear-gradient(to top, #080109 0%, transparent 100%) !important;
    z-index: 20 !important;
    pointer-events: none !important;
  }

}
/* Flyers must be visible and swipeable */
.flyer-scroll{
  display:flex !important;
  gap:20px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-snap-type:x mandatory !important;
  scrollbar-width:none !important;
  padding:10px 4px 18px !important;
}
.flyer-scroll::-webkit-scrollbar{
  display:none !important;
}
.flyer-scroll img{
  display:block !important;
  flex:0 0 auto !important;
  width:min(280px,76vw) !important;
  max-height:430px !important;
  object-fit:contain !important;
  scroll-snap-align:center !important;
  border-radius:18px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.42) !important;
}



/* Hidden on desktop */
nav.mobile-bottom-nav { display: none !important; }

@media (max-width: 850px) {

  /* Give page room — bar height + iOS home indicator */
  body { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)) !important; }

  /* Hide hamburger — bottom nav replaces it */
  .menu-toggle,
  button.menu-toggle { display: none !important; visibility: hidden !important; }

  /* The bar itself */
  nav.mobile-bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    /* Tall enough for nav + safe area inset so nothing squishes */
    height: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    /* Items live in top 62px; safe area is just padding below them */
    padding: 0 0 env(safe-area-inset-bottom, 0px) !important;
    align-items: stretch !important;
    justify-content: space-around !important;
    background: rgba(13, 3, 16, 0.97) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border-top: 1px solid rgba(247, 195, 95, 0.22) !important;
    box-shadow: 0 -6px 28px rgba(0,0,0,0.5) !important;
    border-radius: 0 !important;
    margin: 0 !important;
    flex-direction: row !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    /* GPU-composited so it never shifts during iOS scroll momentum */
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    will-change: transform !important;
  }

  /* Each tab item — reset ALL inherited button/link/nav styles */
  nav.mobile-bottom-nav a.mbn-item {
    all: unset !important;
    display: flex !important;
    flex: 1 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    color: rgba(216, 193, 217, 0.5) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 6px 4px !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
    /* Override the global .nav-book,.cta,button rule */
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: 100% !important;
    box-sizing: border-box !important;
    transition: color 0.18s !important;
  }

  nav.mobile-bottom-nav a.mbn-item svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
    flex-shrink: 0 !important;
  }

  nav.mobile-bottom-nav a.mbn-item span {
    display: block !important;
    line-height: 1 !important;
    color: inherit !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    background: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  /* Active state */
  nav.mobile-bottom-nav a.mbn-item.mbn-active {
    color: var(--gold) !important;
  }

  nav.mobile-bottom-nav a.mbn-item.mbn-active svg {
    filter: drop-shadow(0 0 5px rgba(247,195,95,0.5)) !important;
  }

  /* Book tab — gold pill, but contained within the bar */
  nav.mobile-bottom-nav a.mbn-item.mbn-book {
    flex: 0 0 auto !important;
    color: #1b0819 !important;
    background: linear-gradient(135deg, #fff1ab, #d69a2d 52%, #7b450d) !important;
    border-radius: 14px !important;
    margin: 8px 6px !important;
    padding: 0 14px !important;
    height: auto !important;
    font-weight: 800 !important;
    box-shadow: 0 0 16px rgba(247,195,95,0.35) !important;
  }

  nav.mobile-bottom-nav a.mbn-item.mbn-book svg {
    fill: #1b0819 !important;
  }

  nav.mobile-bottom-nav a.mbn-item.mbn-book span {
    color: #1b0819 !important;
  }
}

/* ── Final override: hero photo bottoms visible on desktop ── */
@media (min-width: 901px){
  .hero-photo-wheel .wheel-item:nth-of-type(1) img,
  .hero-photo-wheel .wheel-item:nth-of-type(2) img,
  .hero-photo-wheel .wheel-item:nth-of-type(3) img,
  .hero-photo-wheel .wheel-item:nth-of-type(4) img,
  .hero-photo-wheel .wheel-item:nth-of-type(5) img{
    object-position: 50% 85% !important;
  }
}

/* v46 desktop hero framing + video short alignment fixes */
@media (min-width: 851px){
  .hero .features img,
  .hero .features article img,
  .hero .features article:first-child img.live-vocals-img,
  .about-feature-grid .songstress-img,
  .about-feature-grid .mood-img{
    object-position:50% 50% !important;
  }

  .hero{
    position:relative;
    overflow:hidden;
  }

  .hero::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:160px;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(to bottom, rgba(13,3,16,.96) 0%, rgba(13,3,16,.72) 38%, rgba(13,3,16,0) 100%);
  }

  .hero > *{
    position:relative;
    z-index:3;
  }

  .home-video-grid .video-card--short {
    margin-top: 0 !important;
    align-self: center !important;
  }
}

/* v47 final desktop QA fixes */
.hero .card img,
.hero .features img,
.cards .card img{
  object-position:50% 50% !important;
}

.hero,
.hero-wheel,
.cards{
  position:relative;
}

.hero::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:140px;
  background:linear-gradient(to bottom, rgba(8,0,10,.96) 0%, rgba(8,0,10,.55) 45%, rgba(8,0,10,0) 100%);
  z-index:2;
  pointer-events:none;
}

.home-video-grid{
  align-items:center !important;
  overflow:visible !important;
  margin-bottom:48px !important;
}

.home-video-grid .video-card--short{
  margin-top:0 !important;
  align-self:center !important;
}

.live-vocals-section,
.venue-nights-section,
#live-vocals,
#venue-nights{
  position:relative;
  z-index:1;
  margin-top:48px !important;
}


/* =====================================================================
   V48 VERIFIED FIXES
   1. Hero photos: object-position 50% 50% so full bodies/faces show —
      overrides every earlier 50% 85% rule at highest specificity.
   2. Top nav gradient: ensure ::before fade is present and strong.
   3. Video short card: remove negative margin-top, use align-self center
      so it never overlaps the Live Vocals / Venue Nights section below.
   ===================================================================== */

/* FIX 1 — Hero photos: show full body, centered (desktop only) */
@media (min-width: 901px) {
  .hero-photo-wheel .wheel-item img,
  .hero-photo-wheel .wheel-item:nth-of-type(1) img,
  .hero-photo-wheel .wheel-item:nth-of-type(2) img,
  .hero-photo-wheel .wheel-item:nth-of-type(3) img,
  .hero-photo-wheel .wheel-item:nth-of-type(4) img,
  .hero-photo-wheel .wheel-item:nth-of-type(5) img,
  .hero-photo-wheel .card img,
  .hero-photo-wheel .center-photo img {
    object-position: 50% 50% !important;
  }

  /* FIX 2 — Strong top gradient fade so hero blends into nav bar */
  .hero {
    position: relative !important;
    overflow: hidden !important;
  }

  .hero::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 180px !important;
    z-index: 30 !important;
    pointer-events: none !important;
    background: linear-gradient(
      to bottom,
      rgba(8, 0, 10, 1.0) 0%,
      rgba(8, 0, 10, 0.82) 30%,
      rgba(8, 0, 10, 0.38) 65%,
      rgba(8, 0, 10, 0.0) 100%
    ) !important;
  }

  /* Ensure all hero children sit below the gradient overlay */
  .hero-photo-wheel {
    position: relative !important;
    z-index: 2 !important;
  }

  /* FIX 3 — Short video card: no negative margin, vertically centered */
  .home-video-grid .video-card--short {
    margin-top: 0 !important;
    align-self: center !important;
  }
}


/* =====================================================================
   V49 HERO PHOTO FIX
   - All 5 photos same height so none look tiny/cropped
   - No brightness filters — natural photo colors throughout
   - Soft top fade is on the CONTAINER (::before) not on the photos
   - object-position 50% 50% for all (subjects are centered in photos)
   - Keep artistic tilts on outer photos
   ===================================================================== */
@media (min-width: 901px) {

  .hero {
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
  }

  /* Soft top gradient that fades from the nav into the photo strip —
     sits as an overlay above the photos, not applied to the photos */
  .hero::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100px !important;
    z-index: 10 !important;
    pointer-events: none !important;
    background: linear-gradient(
      to bottom,
      rgba(8, 0, 10, 0.85) 0%,
      rgba(8, 0, 10, 0.0) 100%
    ) !important;
  }

  .hero-photo-wheel {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-end !important;
    gap: 0 !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    z-index: 2 !important;
    background: transparent !important;
    min-height: 0 !important;
  }

  /* Hide carousel controls on desktop */
  .hero-photo-wheel .wheel-control,
  .hero-photo-wheel .wheel-prev,
  .hero-photo-wheel .wheel-next,
  .hero-photo-wheel .wheel-hint {
    display: none !important;
  }

  /* ALL photos: same height, flex-fill the width equally */
  .hero-photo-wheel .wheel-item,
  .hero-photo-wheel .wheel-item:nth-of-type(1),
  .hero-photo-wheel .wheel-item:nth-of-type(2),
  .hero-photo-wheel .wheel-item:nth-of-type(3),
  .hero-photo-wheel .wheel-item:nth-of-type(4),
  .hero-photo-wheel .wheel-item:nth-of-type(5) {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: clamp(360px, 42vw, 580px) !important;
    border-radius: 0 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    overflow: hidden !important;
    box-shadow: none !important;
    position: relative !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    /* Reset any transforms from earlier rules */
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Artistic tilts on the outer cards — anchored at bottom so they stay aligned */
  .hero-photo-wheel .wheel-item:nth-of-type(1) {
    transform: rotate(-4deg) translateY(20px) !important;
    transform-origin: bottom center !important;
    z-index: 1 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(2) {
    transform: rotate(-2deg) translateY(6px) !important;
    transform-origin: bottom center !important;
    z-index: 2 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(3) {
    transform: none !important;
    z-index: 5 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(4) {
    transform: rotate(2deg) translateY(6px) !important;
    transform-origin: bottom center !important;
    z-index: 2 !important;
  }
  .hero-photo-wheel .wheel-item:nth-of-type(5) {
    transform: rotate(4deg) translateY(20px) !important;
    transform-origin: bottom center !important;
    z-index: 1 !important;
  }

  /* ALL images: fill card, centered, NO brightness filter */
  .hero-photo-wheel .wheel-item img,
  .hero-photo-wheel .wheel-item:nth-of-type(1) img,
  .hero-photo-wheel .wheel-item:nth-of-type(2) img,
  .hero-photo-wheel .wheel-item:nth-of-type(3) img,
  .hero-photo-wheel .wheel-item:nth-of-type(4) img,
  .hero-photo-wheel .wheel-item:nth-of-type(5) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
    filter: none !important;
    border-radius: 0 !important;
    border: none !important;
    outline: none !important;
    display: block !important;
  }

  /* Kill all pseudo-element overlays on the items */
  .hero-photo-wheel .wheel-item::before,
  .hero-photo-wheel .wheel-item::after {
    display: none !important;
    content: none !important;
  }

  /* Thin gold divider lines between photos */
  .hero-photo-wheel .wheel-item + .wheel-item {
    border-left: 1px solid rgba(247, 195, 95, 0.30) !important;
  }

  /* Bottom fade so strip blends into the dark page */
  .hero-photo-wheel::after {
    display: block !important;
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 80px !important;
    background: linear-gradient(to top, rgba(8, 0, 10, 0.85) 0%, transparent 100%) !important;
    z-index: 20 !important;
    pointer-events: none !important;
  }

  .hero-photo-wheel::before {
    display: none !important;
  }

}


/* =====================================================================
   V50 PRECISION FIX — based on real browser screenshots
   
   HERO PHOTOS:
   - Photo 2 (live-orange): face at top 15% — needs object-position 50% 15%
   - Photo 1 (songstress-room): face at top 20% — needs 50% 20%
   - Photos 3,4,5: subjects centered — 50% 30%
   - Strip tall enough to show full body on each
   - Soft top gradient on container (NOT on photos)
   - Hard bottom edge removed with a fade
   
   VIDEO SECTION:
   - Remove the home-featured-videos card border/padding that overlaps videos
   - The Short card: no negative margin, align-self center, no overflow
   - Clear any top border-radius bleeding over the grid
   
   FEATURES SECTION:
   - live-vocals (landscape 1600x900): object-position 50% 40%
   - cork-thorn (portrait, face at 25%): object-position 50% 25%
   ===================================================================== */

@media (min-width: 901px) {

  /* ── HERO PHOTO STRIP ─────────────────────────────────────────── */

  .hero {
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
  }

  /* Soft fade from nav into photos — sits ABOVE the strip */
  .hero::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 90px !important;
    z-index: 10 !important;
    pointer-events: none !important;
    background: linear-gradient(to bottom,
      rgba(8,0,10,0.80) 0%,
      rgba(8,0,10,0.0) 100%) !important;
    display: block !important;
  }

  .hero-photo-wheel {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;   /* all photos same height */
    gap: 0 !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    z-index: 2 !important;
    background: transparent !important;
    height: clamp(380px, 44vw, 600px) !important;
  }

  /* Hide carousel controls */
  .hero-photo-wheel .wheel-control,
  .hero-photo-wheel .wheel-prev,
  .hero-photo-wheel .wheel-next,
  .hero-photo-wheel .wheel-hint { display: none !important; }

  /* All 5 items: equal flex, fill the strip height */
  .hero-photo-wheel .wheel-item,
  .hero-photo-wheel .wheel-item:nth-of-type(1),
  .hero-photo-wheel .wheel-item:nth-of-type(2),
  .hero-photo-wheel .wheel-item:nth-of-type(3),
  .hero-photo-wheel .wheel-item:nth-of-type(4),
  .hero-photo-wheel .wheel-item:nth-of-type(5) {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: 100% !important;
    border-radius: 0 !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    overflow: hidden !important;
    box-shadow: none !important;
    position: relative !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Thin gold dividers */
  .hero-photo-wheel .wheel-item + .wheel-item {
    border-left: 1px solid rgba(247,195,95,0.28) !important;
  }

  /* Kill pseudo-elements on items */
  .hero-photo-wheel .wheel-item::before,
  .hero-photo-wheel .wheel-item::after {
    display: none !important;
    content: none !important;
  }

  /* All images fill their panel */
  .hero-photo-wheel .wheel-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: none !important;
    border-radius: 0 !important;
    border: none !important;
    outline: none !important;
    display: block !important;
  }

  /* Per-photo face positions based on actual image analysis */
  /* Photo 1: songstress-room — full body shot, face at ~20% from top */
  .hero-photo-wheel .wheel-item:nth-of-type(1) img { object-position: 50% 20% !important; }
  /* Photo 2: live-orange — very tall photo, face at top 15% */
  .hero-photo-wheel .wheel-item:nth-of-type(2) img { object-position: 50% 12% !important; }
  /* Photo 3: sassy-gold-center — crouching pose, centered */
  .hero-photo-wheel .wheel-item:nth-of-type(3) img { object-position: 50% 35% !important; }
  /* Photo 4: red-hat-lounge — seated, face at ~30% */
  .hero-photo-wheel .wheel-item:nth-of-type(4) img { object-position: 50% 28% !important; }
  /* Photo 5: cork-thorn-stage — standing, face at ~22% */
  .hero-photo-wheel .wheel-item:nth-of-type(5) img { object-position: 50% 22% !important; }

  /* Bottom fade so strip blends into dark page — no hard cut */
  .hero-photo-wheel::after {
    display: block !important;
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    height: 100px !important;
    background: linear-gradient(to top,
      rgba(8,0,10,0.92) 0%,
      rgba(8,0,10,0.0) 100%) !important;
    z-index: 8 !important;
    pointer-events: none !important;
  }

  /* Hero's ::before gradient uses hero element, not wheel */
  .hero-photo-wheel::before { display: none !important; content: none !important; }

  /* ── VIDEO SECTION: remove card border bleeding over grid ──────── */

  .home-featured-videos {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 clamp(18px,4vw,64px) !important;
    margin: 28px auto 0 !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
  }

  .home-featured-videos .eyebrow,
  .home-featured-videos h2 {
    padding: 0 !important;
    margin-bottom: 16px !important;
  }

  /* Video grid: all items same row height, short card centered — no overflow */
  .home-video-grid {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    height: auto !important;
  }

  /* Regular video cards */
  .home-video-grid .video-card {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .home-video-grid .video-card iframe {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16/9 !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.45) !important;
  }

  /* Short card: portrait ratio, centered in row, NO negative margin */
  .home-video-grid .video-card--short {
    flex: 0 0 clamp(140px, 12vw, 200px) !important;
    width: clamp(140px, 12vw, 200px) !important;
    align-self: center !important;
    margin-top: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  .home-video-grid .video-card--short iframe {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 9/16 !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.45) !important;
  }

  /* ── FEATURES: Live Vocals + Venue Nights ──────────────────────── */

  /* live-vocals-crop is landscape (1600x900) — face at 40% */
  .features img.live-vocals-img {
    object-position: 50% 40% !important;
  }

  /* cork-thorn-stage in Venue Nights is portrait — face at 25% */
  .features article:nth-child(2) img {
    object-position: 50% 25% !important;
  }
}


/* =====================================================================
   V51 FEATURE CARDS: bigger photos, faces visible
   Live vocals (landscape 1600x900): face upper-left ~28% down
   Cork Thorn (portrait 1149x1369): face centered ~38% down
   ===================================================================== */
@media (min-width: 901px) {

  /* Taller feature images so more of the photo shows */
  .features img {
    height: clamp(380px, 36vw, 520px) !important;
    object-fit: cover !important;
    border-radius: 20px !important;
  }

  /* Live Vocals — landscape shot, face is upper portion */
  .features img.live-vocals-img {
    object-position: 50% 28% !important;
  }

  /* Venue Nights — portrait, face centered around 38% */
  .features article:nth-child(2) img {
    object-position: 50% 38% !important;
  }
}


/* V51b — live vocals face correction: she's left-of-center, face near top */
@media (min-width: 901px) {
  .features img.live-vocals-img {
    object-position: 38% 10% !important;
  }
}


/* V51c — live vocals now uses square cigar-stage.jpg, face at top */
@media (min-width: 901px) {
  .features img.live-vocals-img {
    object-position: 50% 14% !important;
  }
}


/* V51d — live vocals: face is at absolute top of square image */
@media (min-width: 901px) {
  .features img.live-vocals-img {
    object-position: 50% 0% !important;
  }
}


/* V52 — feature images tall enough to show full face on both cards */
@media (min-width: 901px) {
  .features img {
    height: 500px !important;
    object-fit: cover !important;
  }

  .features img.live-vocals-img {
    object-position: 50% 0% !important;
  }

  .features article:nth-child(2) img {
    object-position: 50% 38% !important;
  }
}


/* V53 — push feature image height until face clears */
@media (min-width: 901px) {
  .features img {
    height: 620px !important;
  }
}


/* V54 — remove card padding from features so image goes edge to edge,
   then re-add padding only to the text content below */
@media (min-width: 901px) {
  .features article {
    padding: 0 !important;
    overflow: hidden !important;
  }

  .features article > div {
    padding: 20px 22px 22px !important;
  }

  .features img {
    height: 520px !important;
    border-radius: 20px 20px 0 0 !important;
    display: block !important;
  }

  .features img.live-vocals-img {
    object-position: 50% 0% !important;
  }

  .features article:nth-child(2) img {
    object-position: 50% 38% !important;
  }
}


/* V55 — go tall enough to definitively clear the face */
@media (min-width: 901px) {
  .features img {
    height: 800px !important;
  }
}


/* =====================================================================
   V56 — ALL FACE FIXES, DESKTOP + MOBILE
   
   Desktop features: remove card padding so image fills full width,
   use aspect-ratio to let image define its own height naturally,
   per-card object-position based on actual subject location.
   
   Mobile booking copy-panel: taller image, face at top.
   
   Desktop features Live Vocals: all previous height/position rules
   overridden with a higher-specificity selector.
   ===================================================================== */

/* ── DESKTOP: feature cards ──────────────────────────────────────── */
@media (min-width: 901px) {

  /* Remove card padding so image goes edge-to-edge */
  .features article {
    padding: 0 !important;
    overflow: hidden !important;
  }

  .features article > div {
    padding: 20px 22px 22px !important;
  }

  /* Image fills full card width, no cropping */
  .features img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: unset !important;
    object-fit: unset !important;
    object-position: unset !important;
    border-radius: 20px 20px 0 0 !important;
    display: block !important;
  }

  /* Live Vocals: cigar-stage.jpg is 1254x1254 square.
     Subject is seated, face at top ~8% of image */
  .features article:nth-child(1) img,
  .features img.live-vocals-img {
    object-position: 50% 8% !important;
  }

  /* Venue Nights: cork-thorn-stage.jpg portrait, face at ~38% */
  .features article:nth-child(2) img {
    object-position: 50% 38% !important;
  }
}

/* ── MOBILE: booking copy-panel image ───────────────────────────── */
@media (max-width: 900px) {

  .copy-panel img.booking-hero-img,
  .copy-panel img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1/1 !important;   /* square image renders at full square */
    object-fit: cover !important;
    object-position: 50% 8% !important;  /* face is at top of cigar-stage.jpg */
    border-radius: 16px !important;
    margin-bottom: 14px !important;
    display: block !important;
  }
}


/* =====================================================================
   V57 — Two targeted fixes:
   1. Live Vocals desktop: nudge object-position down so face shows
   2. About page bio: full-width, not constrained to copy-panel column
   ===================================================================== */

/* Fix 1 — Live Vocals: move image down in frame to reveal face */
@media (min-width: 901px) {
  .features article:nth-child(1) img,
  .features img.live-vocals-img {
    object-position: 50% 18% !important;
  }
}

/* Fix 2 — About bio: break out of copy-panel constraints, go full width */
@media (min-width: 901px) {
  .about-page .copy-panel.full-bio {
    width: 100% !important;
    max-width: none !important;
    grid-column: 1 / -1 !important;
    box-sizing: border-box !important;
    columns: 2 !important;
    column-gap: 48px !important;
  }

  .about-page .copy-panel.full-bio p {
    break-inside: avoid !important;
    margin: 0 0 14px !important;
  }
}


/* V57b — about bio truly full-width with two-column layout */
@media (min-width: 901px) {
  .about-page .copy-panel.full-bio {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    columns: 2 !important;
    column-gap: 52px !important;
    padding: 32px 36px !important;
    box-sizing: border-box !important;
  }

  .about-page .copy-panel.full-bio p {
    break-inside: avoid !important;
    margin: 0 0 15px !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
  }
}


/* V57c — about bio two-column using flexbox (columns: not supported in wkhtmltoimage) */
@media (min-width: 901px) {
  .about-page .copy-panel.full-bio {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 52px !important;
    padding: 32px 36px !important;
  }

  .about-page .copy-panel.full-bio p {
    flex: 0 0 calc(50% - 26px) !important;
    width: calc(50% - 26px) !important;
    margin: 0 0 15px !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    box-sizing: border-box !important;
  }
}


/* V58 — definitively kill the negative margin-top on the short card */
@media (min-width: 851px) {
  .home-video-grid .video-card.video-card--short,
  .home-video-grid .video-card--short {
    margin-top: 0 !important;
    align-self: center !important;
    height: auto !important;
  }

  .home-video-grid .video-card--short iframe {
    aspect-ratio: 9/16 !important;
    height: auto !important;
    width: 100% !important;
  }
}


/* =====================================================================
   V59 — FINAL short card fix.
   The original .home-video-grid has a fixed height + negative margin-top
   on the short card (global, no media query). Override the whole grid
   approach: auto height, centered alignment, no negative margin.
   ===================================================================== */
.home-video-grid {
  height: auto !important;
  align-items: center !important;
}

.home-video-grid .video-card--short {
  margin-top: 0 !important;
  align-self: center !important;
  height: auto !important;
}

.home-video-grid .video-card--short iframe {
  aspect-ratio: 9/16 !important;
  height: auto !important;
  min-height: 0 !important;
}


/* =====================================================================
   V60 — Short card: same height as row, portrait crop, no overflow.
   Grid has a defined height. Short card stretches to fill it.
   The iframe fills the card; overflow hidden clips the portrait video
   cleanly without poking above or below the row line.
   ===================================================================== */
@media (min-width: 851px) {
  .home-video-grid {
    height: clamp(200px, 18vw, 300px) !important;
    align-items: stretch !important;
  }

  .home-video-grid .video-card--short {
    flex: 0 0 clamp(130px, 13vw, 200px) !important;
    width: clamp(130px, 13vw, 200px) !important;
    height: 100% !important;
    margin-top: 0 !important;
    align-self: stretch !important;
    overflow: hidden !important;
  }

  .home-video-grid .video-card--short iframe {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: unset !important;
    min-height: 0 !important;
    display: block !important;
    border-radius: 14px !important;
  }
}


/* =====================================================================
   V62 — Revert short card to original taller portrait size.
   Fix the crash: add bottom margin/padding after the video grid
   so Live Vocals / Venue Nights sit cleanly below.
   =====================================================================  */
@media (min-width: 851px) {

  /* Restore short card to its original portrait height */
  .home-video-grid .video-card--short {
    flex: 0 0 clamp(160px, 15vw, 230px) !important;
    width: clamp(160px, 15vw, 230px) !important;
    height: clamp(320px, 30vw, 480px) !important;
    margin-top: 0 !important;
    align-self: center !important;
    overflow: hidden !important;
  }

  .home-video-grid .video-card--short iframe {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: unset !important;
    border-radius: 14px !important;
  }

  /* Give the video section enough bottom clearance */
  .home-featured-videos {
    margin-bottom: 56px !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
  }

  /* Ensure features section doesn't crash up */
  .features {
    margin-top: clamp(32px, 4vw, 56px) !important;
  }
}


/* =====================================================================
   V63 — Three precise fixes:
   1. Short card taller — portrait ratio, centered in a taller grid row
   2. Features section pushed further down
   3. Live Vocals object-position nudged down to show full face
   ===================================================================== */
@media (min-width: 851px) {

  /* Taller grid row so the short card has room to breathe */
  .home-video-grid {
    height: clamp(260px, 24vw, 380px) !important;
    align-items: center !important;
  }

  /* Short card: taller than the row, centered, overflow clipped cleanly */
  .home-video-grid .video-card--short {
    height: clamp(420px, 40vw, 600px) !important;
    margin-top: 0 !important;
    align-self: center !important;
    overflow: hidden !important;
    flex: 0 0 clamp(160px, 15vw, 230px) !important;
    width: clamp(160px, 15vw, 230px) !important;
  }

  .home-video-grid .video-card--short iframe {
    width: 100% !important;
    height: 100% !important;
    border-radius: 14px !important;
  }

  /* Push features section down */
  .home-featured-videos {
    margin-bottom: 100px !important;
  }

  /* Live Vocals: nudge down so face is fully visible */
  .features article:nth-child(1) img,
  .features img.live-vocals-img {
    object-position: 50% 22% !important;
  }
}


/* =====================================================================
   V64 — DEFINITIVE FIX. Edit at source level in this append block.
   
   SHORT CARD: Grid has no fixed height (auto). Short card is tall
   portrait. The 4 landscape cards size themselves via iframe aspect-ratio.
   The short card is simply taller — it pokes above and below the row,
   which is the intended design. overflow:visible on the grid.
   
   LIVE VOCALS FACE: specificity war ended — use ID-level specificity
   via html body chain to guarantee winning.
   ===================================================================== */

/* Grid: let content define height, no fixed row height fighting the short */
@media (min-width: 851px) {
  .home-video-grid {
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
    overflow: visible !important;
  }

  /* Landscape cards: height driven by iframe 16:9 aspect ratio */
  .home-video-grid .video-card {
    height: auto !important;
  }

  .home-video-grid .video-card iframe {
    aspect-ratio: 16/9 !important;
    height: auto !important;
    width: 100% !important;
  }

  /* Short card: tall portrait, centered in row, no clipping */
  .home-video-grid .video-card.video-card--short,
  .home-video-grid .video-card--short {
    height: clamp(380px, 36vw, 520px) !important;
    width: clamp(140px, 13vw, 195px) !important;
    flex: 0 0 clamp(140px, 13vw, 195px) !important;
    align-self: center !important;
    margin-top: 0 !important;
    overflow: visible !important;
  }

  .home-video-grid .video-card--short iframe {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: unset !important;
    min-height: 0 !important;
  }

  /* Features section: clear gap below video row */
  .home-featured-videos {
    padding-bottom: 80px !important;
    margin-bottom: 0 !important;
  }
}

/* Live Vocals face — removed, handled by V65 block below */


/* =====================================================================
   V65 FINAL — Strip card padding at desktop so image fills full width.
   The padding was shrinking the image, throwing off object-position math.
   ===================================================================== */
@media (min-width: 901px) {
  .features article,
  .features article:first-child,
  .features article:nth-child(1),
  .features article:nth-child(2) {
    padding: 0 !important;
    overflow: hidden !important;
  }

  .features article > div,
  .features article:first-child > div,
  .features article:nth-child(2) > div {
    padding: 20px 22px 22px !important;
  }

  .features img,
  .features article:first-child img,
  .features article:nth-child(1) img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: unset !important;
    object-fit: unset !important;
    object-position: unset !important;
    border-radius: 20px 20px 0 0 !important;
    display: block !important;
  }

  .features article:nth-child(2) img {
    object-position: 50% 38% !important;
  }
}


/* FINAL — features img fills card naturally, no cropping, no object-fit */
@media (min-width: 901px) {
  .features article {
    padding: 0 !important;
    overflow: hidden !important;
  }
  .features article > div {
    padding: 20px 22px 22px !important;
  }
  .features img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: fill !important;
    object-position: unset !important;
    aspect-ratio: unset !important;
    border-radius: 20px 20px 0 0 !important;
    display: block !important;
  }
}


/* ABSOLUTE FINAL — no object-fit tricks, just render the image naturally */
@media (min-width: 901px) {
  .features article:first-child img,
  .features img.live-vocals-img {
    object-fit: unset !important;
    object-position: unset !important;
    height: auto !important;
    width: 100% !important;
    aspect-ratio: unset !important;
    max-height: unset !important;
  }
}


/* Match Venue Nights card height to Live Vocals natural height */
@media (min-width: 901px) {
  .features article:nth-child(2) img {
    width: 100% !important;
    height: 1380px !important;
    object-fit: cover !important;
    object-position: 50% 30% !important;
    border-radius: 20px 20px 0 0 !important;
    display: block !important;
    aspect-ratio: unset !important;
  }
}


/* Restore features to 2-column grid on desktop */
@media (min-width: 901px) {
  .features {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* Force 2-column features grid on desktop, equal heights via grid */
@media (min-width: 901px) {
  .features {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: start !important;
  }
}


/* Features: true 2-col grid, images fill column width */
@media (min-width: 901px) {
  .features {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 22px !important;
    align-items: start !important;
    width: 100% !important;
  }

  .features article {
    min-width: 0 !important;
    width: 100% !important;
  }

  /* Live Vocals: fill column width, natural height (no cropping) */
  .features article:first-child img,
  .features img.live-vocals-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: unset !important;
    object-position: unset !important;
    aspect-ratio: unset !important;
  }

  /* Venue Nights: same height as Live Vocals using object-fit cover, face visible */
  .features article:nth-child(2) img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: 50% 30% !important;
    aspect-ratio: unset !important;
    min-height: 100% !important;
  }

  /* Make articles stretch to same height */
  .features article:nth-child(2) {
    display: flex !important;
    flex-direction: column !important;
  }

  .features article:nth-child(2) img {
    flex: 1 !important;
  }
}


/* Venue Nights: match Live Vocals height, crop from bottom only */
@media (min-width: 901px) {
  .features article:nth-child(2) img {
    width: 100% !important;
    height: 690px !important;
    object-fit: cover !important;
    object-position: 50% 0% !important;
    aspect-ratio: unset !important;
    display: block !important;
    flex: unset !important;
    min-height: unset !important;
  }
}
