@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#050106;--panel:#12050f;--panel2:#1d0717;--wine:#4d041c;--wine2:#7d0b2e;--purple:#2d0750;--purple2:#51108b;--blue:#183c9b;--gold:#f1b33b;--gold2:#ffe09a;--gold3:#b96a08;--text:#fff9ee;--muted:#d3bfd0;--line:rgba(255,214,128,.18);--radius:24px;--shadow:0 28px 90px rgba(0,0,0,.65)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 0,#210713 0,#090108 35%,#050106 100%);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;border-bottom:1px solid transparent;transition:.35s}.site-header.scrolled{background:rgba(8,1,8,.88);backdrop-filter:blur(20px);border-color:rgba(241,179,59,.22);box-shadow:0 10px 35px rgba(0,0,0,.3)}.header-inner{height:84px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand-mark{color:var(--gold);font-size:1.75rem;filter:drop-shadow(0 0 8px var(--gold))}.brand strong{display:block;font-family:Cinzel;font-size:1.25rem;letter-spacing:.14em;background:linear-gradient(#fff7d5,#e7a523,#fff1b6);-webkit-background-clip:text;color:transparent}.brand small{display:block;color:#cda9bd;font-size:0.625rem;letter-spacing:.1em}.custom-logo{max-height:56px;width:auto}.primary-nav ul,.footer-grid ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}.primary-nav a{font-size:0.875rem;font-weight:800;color:#f3dcec;position:relative}.primary-nav a:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-8px;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:.25s}.primary-nav a:hover{color:var(--gold2)}.primary-nav a:hover:after{right:0}.header-cart{border:1px solid rgba(241,179,59,.35);background:rgba(75,5,31,.28);border-radius:999px;padding:10px 14px;font-size:0.8125rem;font-weight:800;box-shadow:inset 0 0 20px rgba(241,179,59,.05)}.cart-count{display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--gold2),var(--gold3));color:#190800;border-radius:50%;width:22px;height:22px;margin-left:6px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.5rem}
.hero{min-height:940px;padding:150px 0 105px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(43,40,160,.28),transparent 25%),radial-gradient(circle at 20% 35%,rgba(117,0,73,.35),transparent 32%),radial-gradient(circle at 80% 28%,rgba(64,16,122,.35),transparent 35%),linear-gradient(180deg,#120109 0,#0a0108 65%,#050106 100%)}.hero:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 80px,rgba(255,185,59,.035) 82px 84px,transparent 86px 150px);opacity:.7}.hero-stage{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:74px;position:relative;z-index:5}.hero-copy{position:relative;z-index:3}.eyebrow{display:inline-block;color:var(--gold2);font-size:0.75rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 0 18px rgba(241,179,59,.35)}.hero-title-wrap{margin-top:18px}.hero-kicker-small{display:block;font-family:Cinzel;color:#f4c8dc;font-size:0.8125rem;letter-spacing:.36em;margin-bottom:6px}.hero h1,.page-hero h1{font-family:Cinzel;margin:0;line-height:.9;letter-spacing:.015em}.hero h1{font-size:clamp(3.875rem,8vw,7.625rem);font-weight:900;background:linear-gradient(180deg,#fff8d8 0,#ffdc79 28%,#c47408 54%,#fff0a8 76%,#9f4d00 100%);-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 5px 0 #541d02) drop-shadow(0 0 18px rgba(255,187,44,.32))}.hero h2{font-family:Cinzel;font-size:clamp(1.5625rem,3vw,2.5625rem);margin:22px 0 16px;color:#f6d58a;text-shadow:0 0 25px rgba(142,18,81,.8)}.hero p{max-width:620px;color:#e1cad9;font-size:1.125rem}.hero-actions{display:flex;gap:14px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 27px;border-radius:999px;font-weight:900;transition:.28s;border:1px solid transparent;position:relative;overflow:hidden}.btn:hover{transform:translateY(-3px)}.btn-primary{background:linear-gradient(180deg,#ffe9a9,#e7a425 45%,#a64d00);color:#250b00;border-color:#ffe7a4;box-shadow:0 12px 35px rgba(241,179,59,.28),inset 0 1px 0 #fff7cf}.btn-primary:before{content:"";position:absolute;top:-50%;left:-35%;width:24%;height:200%;background:rgba(255,255,255,.5);transform:rotate(22deg);transition:.55s}.btn-primary:hover:before{left:120%}.btn-ghost{border-color:rgba(255,220,140,.28);background:linear-gradient(180deg,rgba(85,8,45,.42),rgba(32,3,23,.45));box-shadow:inset 0 0 20px rgba(241,179,59,.04)}.trust-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px;color:#d3b3c8;font-size:0.75rem}.trust-row span:first-letter{color:var(--gold)}
.hero-poster-wrap{position:relative;transform-style:preserve-3d;transition:transform .18s ease-out;z-index:3}.hero-poster{display:block;width:min(585px,100%);margin:auto;border-radius:28px;box-shadow:0 50px 120px rgba(0,0,0,.8);position:relative;z-index:2}.poster-frame{position:absolute;inset:-10px;border:2px solid rgba(255,205,96,.55);border-radius:34px;box-shadow:inset 0 0 28px rgba(255,190,61,.2),0 0 42px rgba(92,10,106,.5);z-index:3;pointer-events:none}.poster-glow{position:absolute;inset:7%;background:radial-gradient(circle,#7240ff 0,rgba(122,35,143,.42) 32%,transparent 68%);filter:blur(45px);z-index:1}.curtain{position:absolute;top:0;bottom:0;width:24%;z-index:2;pointer-events:none;opacity:.88}.curtain-left{left:-5%;background:linear-gradient(100deg,#140006 0,#4e051d 32%,#180006 55%,#720729 75%,transparent 100%);clip-path:polygon(0 0,100% 0,75% 100%,0 100%)}.curtain-right{right:-5%;background:linear-gradient(260deg,#140006 0,#4e051d 32%,#180006 55%,#720729 75%,transparent 100%);clip-path:polygon(0 0,100% 0,100% 100%,25% 100%)}.spotlight{position:absolute;top:-120px;width:190px;height:900px;filter:blur(10px);opacity:.24;transform-origin:top;z-index:1}.spotlight-one{left:33%;background:linear-gradient(to bottom,rgba(57,137,255,.9),transparent 75%);transform:rotate(13deg)}.spotlight-two{right:27%;background:linear-gradient(to bottom,rgba(255,170,31,.85),transparent 75%);transform:rotate(-12deg)}.spark-field{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.spark-field i{position:absolute;width:var(--size);height:var(--size);background:#ffd77a;border-radius:50%;box-shadow:0 0 7px #ffb11a,0 0 15px rgba(255,181,27,.7);animation:sparkle linear infinite;opacity:0}.hero-bottom-fade{position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(transparent,#050106);z-index:4}@keyframes sparkle{0%{transform:translateY(30px) scale(.4);opacity:0}20%{opacity:1}70%{opacity:.9}100%{transform:translateY(-180px) scale(1.2);opacity:0}}
.stats-strip{border-block:1px solid rgba(255,196,76,.26);background:linear-gradient(90deg,#16020c,#4d071f 25%,#25041b 50%,#4d071f 75%,#16020c);box-shadow:0 0 35px rgba(146,13,62,.28)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0}.stats-grid div{text-align:center;border-right:1px solid rgba(255,220,140,.18)}.stats-grid div:last-child{border:0}.stats-grid strong{display:block;font-family:Cinzel;background:linear-gradient(#fff1bd,#d99115);-webkit-background-clip:text;color:transparent;font-size:2rem}.stats-grid span{color:#d5b8ca;font-size:0.75rem}.section{padding:110px 0;position:relative}.section-head{text-align:center;max-width:850px;margin:0 auto 55px}.section-head h2,.split h2,.cta-banner h2{font-family:Cinzel;font-size:clamp(2.25rem,4vw,3.75rem);line-height:1.1;margin:13px 0 18px;background:linear-gradient(180deg,#fffbe9,#eeb33d);-webkit-background-clip:text;color:transparent;text-shadow:0 5px 24px rgba(104,5,52,.3)}.section-head p,.split p{color:var(--muted);font-size:1.0625rem}.section-head.inline{max-width:none;display:flex;justify-content:space-between;text-align:left;align-items:end}.spectacle-section{background:radial-gradient(circle at 50% 0,rgba(97,8,63,.22),transparent 45%)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{background:linear-gradient(180deg,rgba(65,8,42,.92),rgba(18,3,16,.96));border:1px solid rgba(255,205,101,.2);border-radius:var(--radius);padding:36px;min-height:300px;box-shadow:inset 0 0 35px rgba(255,173,45,.025),0 20px 60px rgba(0,0,0,.25);position:relative;overflow:hidden;transition:.35s}.feature-card:before,.feature-card:after{content:"";position:absolute;width:72px;height:72px;border-color:rgba(244,184,60,.28);transition:.35s}.feature-card:before{top:12px;left:12px;border-top:1px solid;border-left:1px solid}.feature-card:after{bottom:12px;right:12px;border-bottom:1px solid;border-right:1px solid}.feature-card:hover{transform:translateY(-8px);border-color:rgba(255,205,101,.48);box-shadow:0 28px 70px rgba(107,9,65,.28)}.card-number{position:absolute;right:25px;top:18px;font-family:Cinzel;color:rgba(255,214,132,.24);font-size:2.5rem}.card-icon{font-size:2.125rem;color:var(--gold);filter:drop-shadow(0 0 12px rgba(241,179,59,.45))}.feature-card h3{font-family:Cinzel;font-size:1.5625rem;margin:55px 0 12px;color:#ffe4a3}.feature-card p{color:var(--muted)}
.dark-panel{background:radial-gradient(circle at 70% 40%,rgba(42,49,148,.23),transparent 28%),linear-gradient(135deg,#0d010a,#25051c 55%,#10010e);border-block:1px solid rgba(255,197,76,.14);overflow:hidden}.stage-lights{position:absolute;inset:0;background:linear-gradient(72deg,transparent 34%,rgba(59,117,255,.08) 35%,transparent 45%),linear-gradient(108deg,transparent 55%,rgba(255,182,43,.08) 56%,transparent 65%)}.split{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center;position:relative;z-index:2}.quote-card{background:linear-gradient(145deg,#45102e,#12040f);border:1px solid rgba(255,205,101,.32);border-radius:var(--radius);padding:44px;box-shadow:var(--shadow),inset 0 0 36px rgba(255,197,76,.03)}.quote-card blockquote{font-family:Cinzel;font-size:1.5rem;line-height:1.5;margin:17px 0}.stars{color:var(--gold);letter-spacing:.22em;text-shadow:0 0 14px rgba(241,179,59,.5)}.quote-card small{color:var(--muted)}.text-link{color:var(--gold2);font-weight:900}.tickets-section{background:radial-gradient(circle at 50% 100%,rgba(71,14,123,.2),transparent 40%)}.cta-banner{text-align:center;padding:115px 0;background:radial-gradient(circle at 50% 0,rgba(100,17,121,.28),transparent 40%),linear-gradient(180deg,#17020e,#080107);border-top:1px solid rgba(255,205,101,.18);position:relative;overflow:hidden}.cta-banner p{color:var(--muted);margin:-6px 0 28px}.grand-finale:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(90deg,transparent,#d78912,#fff0a1,#d78912,transparent);box-shadow:0 0 22px rgba(255,193,65,.45)}
.page-hero{padding:175px 0 90px;background:radial-gradient(circle at 65% 25%,rgba(78,20,126,.3),transparent 38%),linear-gradient(135deg,#220312,#090107);border-bottom:1px solid rgba(255,204,99,.16)}.page-hero h1{font-size:clamp(3rem,7vw,5.75rem);background:linear-gradient(#fff7d2,#d99620);-webkit-background-clip:text;color:transparent}.page-hero p{color:var(--muted);max-width:650px}.content-shell{background:linear-gradient(180deg,rgba(61,8,41,.58),rgba(18,3,16,.9));border:1px solid var(--line);border-radius:var(--radius);padding:clamp(25px,5vw,64px);box-shadow:var(--shadow)}.narrow{max-width:850px}.featured-image{border-radius:18px;margin-bottom:30px}.post-grid{display:grid;gap:25px}.post-card{display:grid;grid-template-columns:280px 1fr;gap:30px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;padding:25px}.post-card img{height:100%;object-fit:cover;border-radius:14px}.site-footer{background:#030103;border-top:1px solid rgba(255,205,101,.16);padding:72px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-logo{font-family:Cinzel;background:linear-gradient(#fff3bd,#cf8613);-webkit-background-clip:text;color:transparent;font-size:1.75rem;font-weight:900}.footer-grid p,.footer-grid a{color:var(--muted)}.footer-grid ul{display:block}.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;color:#8f7186;font-size:0.75rem}.reveal{opacity:0;transform:translateY(28px);transition:.8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.error-page{text-align:center;padding-top:180px}.error-page h1{font-family:Cinzel;font-size:9.375rem;margin:0;color:var(--gold)}
/* WooCommerce */.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:linear-gradient(180deg,#3a0a28,#11030e);border:1px solid rgba(255,205,101,.2);border-radius:22px;padding:14px 14px 24px;overflow:hidden;transition:.3s;box-shadow:0 18px 55px rgba(0,0,0,.24)}.woocommerce ul.products li.product:hover{transform:translateY(-7px);border-color:rgba(255,205,101,.5)}.woocommerce ul.products li.product img{border-radius:15px;margin-bottom:18px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Cinzel;font-size:1.25rem!important;color:white;padding:0 8px!important}.woocommerce ul.products li.product .price{color:var(--gold2)!important;font-weight:900;padding:0 8px}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:linear-gradient(180deg,#ffe9a9,#e5a125 45%,#a44d00)!important;color:#240900!important;border-radius:999px!important;font-weight:900!important;padding:14px 20px!important}.woocommerce-message,.woocommerce-info{border-top-color:var(--gold);background:#2d0820;color:white}.woocommerce-message:before,.woocommerce-info:before{color:var(--gold)}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select{background:#160411;border:1px solid var(--line);color:white;border-radius:12px;padding:14px}.woocommerce table.shop_table{border-color:var(--line);border-radius:18px;background:#170410}.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line)}.woocommerce div.product{background:linear-gradient(180deg,#2b071f,#10030e);border:1px solid var(--line);border-radius:24px;padding:28px}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--gold2)}.empty-shop{padding:30px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);text-align:center;background:rgba(70,8,45,.28)}
@media(max-width:980px){.hero{min-height:auto;padding-top:125px}.hero-stage{grid-template-columns:1fr;gap:48px}.hero-copy{text-align:center}.hero p{margin-inline:auto}.hero-actions,.trust-row{justify-content:center}.hero-poster{width:min(520px,92%)}.curtain{width:36%;opacity:.55}.split{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:900px){.primary-nav{display:none;position:absolute;top:84px;left:20px;right:20px;background:#15030f;border:1px solid var(--line);padding:18px;border-radius:18px;box-shadow:var(--shadow)}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav li+li{margin-top:12px}.menu-toggle{display:block}.header-cart{font-size:0}.header-cart .cart-count{font-size:0.75rem;margin:0}.section-head.inline{display:block}.section-head.inline .btn{margin-top:16px}.stats-grid{grid-template-columns:repeat(2,1fr);row-gap:24px}.stats-grid div:nth-child(2){border-right:0}}
@media(max-width:620px){.container{width:min(100% - 26px,1180px)}.header-inner{height:74px}.brand strong{font-size:1rem}.brand small{display:none}.hero{padding:110px 0 75px}.hero h1{font-size:clamp(3rem,17vw,4.875rem)}.hero h2{font-size:1.5625rem}.hero p{font-size:1rem}.hero-actions{display:grid}.btn{width:100%}.curtain{width:45%}.poster-frame{inset:-5px}.section{padding:80px 0}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid strong{font-size:1.625rem}.section-head h2,.split h2,.cta-banner h2{font-size:2.25rem}.woocommerce ul.products{grid-template-columns:1fr!important}.footer-grid{grid-template-columns:1fr}.post-card{grid-template-columns:1fr}.page-hero{padding-top:130px}.quote-card{padding:28px}.quote-card blockquote{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Mobile overflow and hero centering fix — v2.1 */
html,body{max-width:100%;overflow-x:clip}
.hero,.hero-stage,.hero-copy,.hero-title-wrap,.hero-poster-wrap{min-width:0;max-width:100%}
.hero-copy>*{max-width:100%}
.hero h1,.hero h2,.hero p,.hero-kicker-small,.eyebrow{overflow-wrap:anywhere;word-break:normal}

@media(max-width:620px){
  .site-header .container{width:calc(100% - 28px)}
  .header-inner{gap:12px}
  .brand{min-width:0;max-width:calc(100% - 62px)}
  .brand span:last-child{min-width:0}
  .brand strong{font-size:0.9375rem;letter-spacing:.10em;white-space:nowrap}
  .menu-toggle{flex:0 0 44px;width:44px;height:44px;padding:0;font-size:1.875rem;line-height:1}
  .header-cart{display:none}

  .hero{padding:112px 0 68px;min-height:auto}
  .hero-stage{display:flex;flex-direction:column;align-items:center;gap:42px;width:100%}
  .hero-copy{width:100%;padding-inline:0;text-align:center}
  .eyebrow{display:block;width:100%;font-size:0.625rem;line-height:1.55;letter-spacing:.18em;padding-inline:4px;white-space:normal}
  .hero-title-wrap{width:100%;margin-top:14px}
  .hero-kicker-small{font-size:0.6875rem;line-height:1.5;letter-spacing:.26em;white-space:normal}
  .hero h1{width:100%;font-size:clamp(2.6875rem,15.2vw,4.125rem);line-height:.96;letter-spacing:-.025em;filter:drop-shadow(0 3px 0 #541d02) drop-shadow(0 0 13px rgba(255,187,44,.28))}
  .hero h2{font-size:clamp(1.3125rem,6.6vw,1.75rem);line-height:1.22;margin:22px auto 16px;padding-inline:2px}
  .hero p{font-size:1rem;line-height:1.55;margin:0 auto;max-width:34rem;padding-inline:2px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;width:min(100%,330px);margin:28px auto 0}
  .hero-actions .btn{width:100%;min-width:0}
  .trust-row{display:grid;grid-template-columns:1fr;gap:10px;width:100%;margin:25px auto 0;text-align:center;font-size:0.75rem}
  .trust-row span{display:block;white-space:normal}
  .hero-poster-wrap{width:calc(100% - 8px);margin:0 auto;transform:none!important}
  .hero-poster{display:block;width:100%;max-width:520px;border-radius:20px}
  .poster-frame{inset:-4px;border-radius:24px}
  .curtain-left{left:-18%}.curtain-right{right:-18%}
  .spotlight{width:120px;opacity:.16}
}

@supports not (overflow:clip){html,body{overflow-x:hidden}}

/* Desktop title and animated mobile menu — v2.2 */
@media (min-width:981px){
  .hero-copy{min-width:0}
  .hero h1{
    font-size:clamp(4rem,5.75vw,6.75rem);
    line-height:.9;
    letter-spacing:-.015em;
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:keep-all;
  }
}

@media (min-width:901px) and (max-width:1180px){
  .hero-stage{grid-template-columns:.96fr 1.04fr;gap:44px}
  .hero h1{font-size:clamp(3.75rem,6.35vw,5.125rem)}
}

@media (max-width:900px){
  .menu-toggle{
    position:relative;
    z-index:102;
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    padding:0;
    border:1px solid transparent;
    border-radius:14px;
    cursor:pointer;
    transition:background .3s ease,border-color .3s ease,transform .3s ease;
  }
  .menu-toggle:hover,.menu-toggle:focus-visible{
    background:rgba(255,210,105,.08);
    border-color:rgba(255,210,105,.22);
    outline:none;
  }
  .menu-toggle.is-active{transform:rotate(90deg)}
  .menu-toggle-icon{
    display:block;
    font-size:1.9375rem;
    line-height:1;
    transition:opacity .18s ease,transform .3s cubic-bezier(.2,.8,.2,1);
  }
  .menu-toggle.is-active .menu-toggle-icon{transform:rotate(-90deg) scale(1.06)}

  .primary-nav{
    display:block;
    position:absolute;
    top:calc(100% + 10px);
    left:20px;
    right:20px;
    padding:14px 18px;
    background:linear-gradient(180deg,rgba(42,3,27,.98),rgba(16,1,13,.98));
    border:1px solid rgba(255,205,101,.2);
    border-radius:20px;
    box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04);
    backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-14px) scale(.97);
    transform-origin:top center;
    transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility 0s linear .38s;
  }
  .primary-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
    transition-delay:0s;
  }
  .primary-nav ul{display:block}
  .primary-nav li{
    margin:0!important;
    opacity:0;
    transform:translateY(-8px);
    transition:opacity .22s ease,transform .3s ease;
  }
  .primary-nav.is-open li{opacity:1;transform:none}
  .primary-nav.is-open li:nth-child(1){transition-delay:.06s}
  .primary-nav.is-open li:nth-child(2){transition-delay:.1s}
  .primary-nav.is-open li:nth-child(3){transition-delay:.14s}
  .primary-nav.is-open li:nth-child(4){transition-delay:.18s}
  .primary-nav.is-open li:nth-child(5){transition-delay:.22s}
  .primary-nav a{
    display:block;
    padding:13px 5px;
    font-size:1rem;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .primary-nav li:last-child a{border-bottom:0}
  .primary-nav a:after{display:none}
}

@media(max-width:620px){
  .hero h1{white-space:normal}
  .primary-nav{left:13px;right:13px}
}


/* Desktop hero overlap fix — v2.3 */
@media (min-width:901px){
  .hero-stage{
    grid-template-columns:minmax(0, 1fr) minmax(420px, 540px);
    gap:clamp(42px,4vw,78px);
    align-items:center;
  }
  .hero-copy{
    max-width:560px;
    padding-right:12px;
  }
  .hero-title-wrap,
  .hero-copy h2,
  .hero-copy p{
    max-width:100%;
  }
  .hero h1{
    font-size:clamp(3.625rem,5.3vw,5.75rem);
    line-height:.92;
    letter-spacing:-.02em;
    white-space:nowrap;
  }
  .hero h2{
    font-size:clamp(1.625rem,2.8vw,2.25rem);
    max-width:9.5ch;
  }
  .hero p{
    max-width:32rem;
  }
  .hero-poster-wrap{
    width:100%;
    max-width:540px;
    justify-self:end;
  }
}

@media (min-width:901px) and (max-width:1180px){
  .hero-copy{max-width:500px}
  .hero h1{font-size:clamp(3.375rem,4.9vw,4.875rem)}
  .hero h2{font-size:clamp(1.5rem,2.5vw,1.9375rem)}
}


/* Horizontal hero banner layout — v2.4 */
.hero-banner-layout{padding-top:130px;padding-bottom:90px;min-height:auto}
.hero-banner-shell{position:relative;z-index:5}
.hero-banner-top{position:relative;width:min(1240px,100%);margin:0 auto 42px}
.hero-banner-image{display:block;width:100%;height:auto;border-radius:30px;box-shadow:0 38px 90px rgba(0,0,0,.55)}
.hero-banner-frame{position:absolute;inset:-9px;border:2px solid rgba(241,179,59,.46);border-radius:38px;pointer-events:none;box-shadow:0 0 0 1px rgba(255,231,170,.18) inset}
.hero-banner-top .poster-glow{position:absolute;inset:12% 8%;background:radial-gradient(circle at 50% 50%,rgba(255,190,70,.25),transparent 48%);filter:blur(30px);pointer-events:none}
.hero-copy-centered{text-align:center;max-width:920px;margin:0 auto}
.hero-copy-centered p{max-width:760px;margin-left:auto;margin-right:auto}
.hero-copy-centered .hero-actions,.hero-copy-centered .trust-row{justify-content:center}
.hero-copy-centered .hero-actions{flex-wrap:wrap}
.hero-copy-centered .hero-kicker-small{margin-bottom:10px}
@media (min-width:901px){
  .hero-copy-centered .hero-title-wrap{max-width:none}
  .hero-copy-centered .hero h1{}
  .hero-copy-centered h1{font-size:clamp(4rem,6vw,6.75rem);white-space:nowrap}
  .hero-copy-centered h2{max-width:none;font-size:clamp(1.75rem,2.8vw,2.5rem)}
}
@media (max-width:900px){
  .hero-banner-layout{padding-top:110px;padding-bottom:76px}
  .hero-banner-top{margin-bottom:28px}
  .hero-banner-frame{inset:-5px;border-radius:24px}
}
@media (max-width:620px){
  .hero-banner-layout{padding-top:102px;padding-bottom:68px}
  .hero-banner-top{margin-bottom:24px}
  .hero-banner-image{border-radius:18px}
  .hero-copy-centered h1{white-space:normal}
}


/* Responsive REM typography system — v2.6
   CSS viewport ranges: 360 / 390–430 / 480–767 / 768–1023 / 1024–1439 /
   1440–1919 / 1920–2559 / 2560+ (Retina/HiDPI friendly because sizing uses CSS px viewport, not device pixels). */
html{font-size:100%}

/* Base typography: safe for 360px and up */
body{font-size:1rem}
.primary-nav a{font-size:.875rem}
.header-cart{font-size:.8125rem}
.brand strong{font-size:1.25rem}
.brand small{font-size:.625rem}
.brand-mark{font-size:1.75rem}
.eyebrow{font-size:.75rem}
.hero-kicker-small{font-size:.8125rem}
.hero p{font-size:1.125rem}
.trust-row{font-size:.75rem}
.stats-grid strong{font-size:2rem}
.stats-grid span{font-size:.75rem}
.section-head p,.split p{font-size:1.0625rem}
.card-number{font-size:2.5rem}
.card-icon{font-size:2.125rem}
.feature-card h3{font-size:1.5625rem}
.quote-card blockquote{font-size:1.5rem}
.footer-logo{font-size:1.75rem}
.footer-bottom{font-size:.75rem}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.25rem!important}

/* 360–389: compact phones */
@media (min-width:360px) and (max-width:389px){
  .brand strong{font-size:.875rem}
  .eyebrow{font-size:.625rem}
  .hero-kicker-small{font-size:.6875rem}
  .hero-copy-centered h1{font-size:2.75rem}
  .hero-copy-centered h2{font-size:1.35rem}
  .hero p{font-size:.9375rem}
  .btn{font-size:.9375rem}
  .trust-row{font-size:.71875rem}
  .stats-grid strong{font-size:1.5rem}
  .stats-grid span{font-size:.6875rem}
  .section-head h2,.split h2,.cta-banner h2{font-size:2rem}
  .section-head p,.split p{font-size:.96875rem}
  .feature-card h3{font-size:1.3125rem}
  .quote-card blockquote{font-size:1.125rem}
}

/* 390–479: standard modern phones */
@media (min-width:390px) and (max-width:479px){
  .brand strong{font-size:.9375rem}
  .eyebrow{font-size:.65625rem}
  .hero-kicker-small{font-size:.71875rem}
  .hero-copy-centered h1{font-size:3rem}
  .hero-copy-centered h2{font-size:1.5rem}
  .hero p{font-size:1rem}
  .btn{font-size:1rem}
  .trust-row{font-size:.75rem}
  .section-head h2,.split h2,.cta-banner h2{font-size:2.125rem}
}

/* 480–767: large phones / small tablets */
@media (min-width:480px) and (max-width:767px){
  .hero-copy-centered h1{font-size:3.65rem}
  .hero-copy-centered h2{font-size:1.75rem}
  .hero p{font-size:1.0625rem}
  .section-head h2,.split h2,.cta-banner h2{font-size:2.35rem}
}

/* 768–1023: tablets */
@media (min-width:768px) and (max-width:1023px){
  .hero-copy-centered h1{font-size:4.75rem}
  .hero-copy-centered h2{font-size:2rem}
  .hero p{font-size:1.125rem}
  .section-head h2,.split h2,.cta-banner h2{font-size:2.75rem}
  .feature-card h3{font-size:1.5rem}
}

/* 1024–1439: laptops / compact desktop */
@media (min-width:1024px) and (max-width:1439px){
  .hero-copy-centered h1{font-size:5.5rem}
  .hero-copy-centered h2{font-size:2.25rem}
  .hero p{font-size:1.125rem}
  .section-head h2,.split h2,.cta-banner h2{font-size:3.15rem}
}

/* 1440–1919: standard desktop */
@media (min-width:1440px) and (max-width:1919px){
  .hero-copy-centered h1{font-size:6.25rem}
  .hero-copy-centered h2{font-size:2.4rem}
  .hero p{font-size:1.1875rem}
  .section-head h2,.split h2,.cta-banner h2{font-size:3.5rem}
}

/* 1920–2559: Full HD / large desktop */
@media (min-width:1920px) and (max-width:2559px){
  .hero-copy-centered h1{font-size:6.75rem}
  .hero-copy-centered h2{font-size:2.55rem}
  .hero p{font-size:1.25rem}
  .eyebrow{font-size:.8125rem}
  .section-head h2,.split h2,.cta-banner h2{font-size:3.75rem}
  .section-head p,.split p{font-size:1.125rem}
}

/* 2560+ CSS viewport: Retina/4K-class wide displays */
@media (min-width:2560px){
  .container{width:min(1320px,calc(100% - 64px))}
  .hero-copy-centered h1{font-size:7.25rem}
  .hero-copy-centered h2{font-size:2.75rem}
  .hero p{font-size:1.3125rem}
  .eyebrow{font-size:.875rem}
  .hero-kicker-small{font-size:.875rem}
  .primary-nav a{font-size:.9375rem}
  .section-head h2,.split h2,.cta-banner h2{font-size:4rem}
  .section-head p,.split p{font-size:1.1875rem}
  .feature-card h3{font-size:1.6875rem}
  .quote-card blockquote{font-size:1.625rem}
}
