:root{
  --green:#063d2b;
  --green-2:#075338;
  --green-3:#0b6a48;
  --deep:#02281d;
  --gold:#f5c642;
  --gold-2:#ffe070;
  --cream:#f7edd5;
  --paper:#fff7e7;
  --red:#b51f2a;
  --red-dark:#68101a;
  --purple:#54266f;
  --blue:#0d6f91;
  --ink:#163a2b;
  --white:#fffdf7;
  --shadow:0 22px 50px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;background:var(--deep);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold-2);outline-offset:4px}
.skip{position:fixed;left:-9999px;top:8px;background:#fff;color:#000;padding:10px 14px;z-index:9999}
.skip:focus{left:8px}

.page-curtain{position:fixed;top:0;bottom:0;width:72px;z-index:70;pointer-events:none;background:
  linear-gradient(90deg,rgba(255,255,255,.08),transparent 18%,rgba(0,0,0,.22) 28%,transparent 42%,rgba(255,255,255,.08) 56%,rgba(0,0,0,.25) 72%,transparent 86%),
  linear-gradient(180deg,#8c1520 0%,#c22a33 12%,#8e1420 26%,#ba232e 45%,#7a1019 61%,#bd2631 78%,#671019 100%);
box-shadow:inset -12px 0 18px rgba(0,0,0,.32),inset 8px 0 12px rgba(255,255,255,.05),0 0 28px rgba(0,0,0,.28)}
.page-curtain:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(36,0,4,.36) 0 5px,rgba(255,255,255,.055) 6px 10px,transparent 11px 17px,rgba(22,0,4,.28) 18px 25px);mix-blend-mode:multiply;opacity:.75}
.page-curtain:after{content:"";position:absolute;top:0;bottom:0;width:26px;background:radial-gradient(ellipse 20px 37px at 2px 50%,#9f1824 0 69%,transparent 72%) 0 0/26px 70px repeat-y;filter:drop-shadow(3px 0 3px rgba(0,0,0,.2))}
.page-curtain-left{left:0}
.page-curtain-left:after{right:-23px}
.page-curtain-right{right:0;transform:scaleX(-1)}
.page-curtain-right:after{right:-23px}
.curtain-rope{position:absolute;top:29vh;left:4px;width:64px;height:14px;background:linear-gradient(180deg,#fff0a3,#c48b13 55%,#80570b);border:1px solid #f8d55c;box-shadow:0 4px 8px rgba(0,0,0,.35);transform:skewY(-8deg)}
.curtain-rope:before,.curtain-rope:after{content:"";position:absolute;background:linear-gradient(90deg,#8c5d09,#f2c84b,#8e5b08);box-shadow:0 3px 7px rgba(0,0,0,.25)}
.curtain-rope:before{width:5px;height:50px;right:8px;top:9px;transform:rotate(7deg)}
.curtain-rope:after{width:18px;height:24px;right:1px;top:48px;clip-path:polygon(50% 0,100% 100%,0 100%)}

.site-header{position:fixed;top:0;left:0;width:100%;z-index:90;color:#fff;transition:background .25s,box-shadow .25s,transform .25s}
.header-line{height:5px;background:linear-gradient(90deg,#8b6010,var(--gold),#fff0a1,var(--gold),#8b6010)}
.nav-wrap{width:min(1260px,calc(100% - 156px));height:102px;margin:auto;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:24px;border-bottom:1px solid rgba(255,255,255,.18);transition:height .25s,border-color .25s}
.site-header.scrolled{background:rgba(2,45,32,.95);box-shadow:0 12px 30px rgba(0,0,0,.24);backdrop-filter:blur(10px)}
.site-header.scrolled .nav-wrap{height:78px;border-bottom-color:transparent}
.brand{align-self:start;transform:translateY(8px);width:195px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.45));transition:width .25s,transform .25s}
.site-header.scrolled .brand{width:148px;transform:translateY(5px)}
.brand img{width:100%;height:auto}
nav{display:flex;justify-content:center;gap:34px;font-weight:800;font-size:15px}
nav a{position:relative;padding:14px 2px}
nav a:after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:2px;background:var(--gold);transition:.25s}
nav a:hover:after,nav a:focus-visible:after,nav a.active:after{right:0}
.location-chip{font-size:13px;font-weight:700;white-space:nowrap;color:#f6ead1}.location-chip span{color:var(--gold);margin-right:7px}
.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:28px;height:2px;background:#fff;margin:6px 0}

.hero{position:relative;min-height:930px;padding:164px 0 150px;color:#fff;background:
 radial-gradient(circle at 19% 22%,rgba(255,217,83,.12) 0 2px,transparent 2.8px),
 radial-gradient(circle at 74% 22%,rgba(255,217,83,.08) 0 2px,transparent 2.8px),
 linear-gradient(135deg,#022b20 0%,#07462f 38%,#0d6847 68%,#043627 100%);overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 36%,rgba(255,231,133,.17),transparent 37%),radial-gradient(ellipse at 33% 22%,rgba(255,255,255,.05),transparent 34%);pointer-events:none}
.sparkles{position:absolute;inset:0;opacity:.9;background-image:radial-gradient(circle,#ffd55d 0 2px,transparent 2.5px),radial-gradient(circle,#fff0a7 0 1px,transparent 1.5px),radial-gradient(circle,#f4c33b 0 1.7px,transparent 2.2px);background-size:160px 160px,110px 110px,230px 230px;background-position:13px 22px,80px 50px,25px 105px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.hero-swag{position:absolute;top:0;width:270px;height:190px;z-index:4;pointer-events:none;background:radial-gradient(ellipse at 30% 0,#cf2f39 0 18%,#9a1823 35%,#5c0a12 62%,transparent 64%);filter:drop-shadow(0 10px 12px rgba(0,0,0,.35));opacity:.95}
.hero-swag:after{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 26% 2%,transparent 0 24px,rgba(255,255,255,.06) 26px 31px,rgba(0,0,0,.16) 34px 42px)}
.hero-swag-left{left:40px;transform:rotate(-6deg)}
.hero-swag-right{right:40px;transform:scaleX(-1) rotate(-6deg)}
.hero-inner{position:relative;z-index:5;width:min(1180px,calc(100% - 180px));margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:54px}
.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.25em;font-weight:900;font-size:12px;color:var(--gold);margin:0 0 18px}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(54px,6vw,86px);line-height:.94;letter-spacing:-.045em;margin:0;max-width:650px;text-shadow:0 7px 22px rgba(0,0,0,.25)}
.hero h1 em{display:block;font-style:normal;color:var(--gold-2);font-size:1.13em;text-shadow:0 3px 0 #745807,0 8px 24px rgba(0,0,0,.35)}
.hero-text{max-width:590px;font-size:18px;line-height:1.65;color:#f7f1df;margin:27px 0 30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:0 24px;border:2px solid transparent;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:13px;border-radius:1px;transition:transform .22s,box-shadow .22s,background .22s}
.btn:hover,.btn:focus-visible{transform:translateY(-3px)}
.btn-gold{background:linear-gradient(180deg,#ffe372,#efb927);color:#143426;border-color:#ffeb98;box-shadow:0 7px 0 #9b7417,0 15px 30px rgba(0,0,0,.2)}
.btn-outline{color:#fff;border-color:var(--gold);background:rgba(2,37,27,.42)}
.btn-dark{background:#163c2b;color:#fff;border-color:#163c2b;box-shadow:6px 6px 0 #b98a1a}
.hero-notes{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:35px;color:#f4e8c8;font-weight:700;font-size:13px}.hero-notes i{width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}

.hero-stage{position:relative;height:600px;min-width:0}
.hero-photo{position:absolute;margin:0;overflow:hidden;border:4px solid #f8dd84;box-shadow:var(--shadow);background:#174b35}
.hero-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.hero-photo:hover img{transform:scale(1.035)}
.hero-photo-main{width:67%;height:72%;left:13%;top:11%;z-index:3;clip-path:polygon(3% 0,100% 2%,96% 96%,1% 100%)}
.hero-photo-top{width:34%;height:38%;right:1%;top:2%;z-index:4;transform:rotate(4deg);border-color:#efe0c0;clip-path:polygon(0 2%,100% 0,97% 100%,4% 96%)}
.hero-photo-bottom{width:34%;height:38%;left:0;bottom:0;z-index:4;transform:rotate(-5deg);border-color:#efe0c0;clip-path:polygon(4% 0,100% 5%,96% 100%,0 96%)}
.hero-sign{position:absolute;right:-18px;top:44%;z-index:6;display:flex;flex-direction:column;align-items:flex-start;transform:rotate(-3deg)}
.hero-sign span{display:block;background:#d69e2b;color:#2a2617;border:2px solid #7d5a15;margin:-1px 0;padding:9px 18px;font-family:Georgia,serif;font-weight:900;font-size:15px;box-shadow:5px 6px 0 rgba(0,0,0,.18);clip-path:polygon(4% 0,100% 8%,95% 100%,0 92%)}
.hero-sign span:nth-child(2){transform:translateX(18px)}.hero-sign span:nth-child(3){transform:translateX(6px)}
.hero-sticker{position:absolute;left:9%;top:3%;z-index:7;width:115px;height:115px;display:grid;place-items:center;text-align:center;background:#f8e9c6;color:#24442f;font-family:Georgia,serif;font-style:italic;font-weight:800;font-size:17px;line-height:1.1;transform:rotate(-10deg);clip-path:polygon(50% 0,62% 14%,80% 7%,86% 25%,100% 32%,91% 50%,100% 67%,82% 75%,78% 95%,58% 87%,45% 100%,33% 84%,12% 91%,9% 71%,0 57%,13% 43%,2% 25%,22% 18%,30% 2%)}
.quick-reasons{position:absolute;left:50%;bottom:88px;z-index:6;transform:translateX(-50%);width:min(980px,calc(100% - 220px));display:grid;grid-template-columns:repeat(3,1fr);background:rgba(1,38,27,.82);border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);backdrop-filter:blur(4px)}
.quick-reasons div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:15px 22px;border-right:1px solid rgba(255,255,255,.14)}.quick-reasons div:last-child{border-right:0}
.quick-reasons strong{font-family:Georgia,serif;color:var(--gold);font-size:29px}.quick-reasons span{font-size:12px;font-weight:800;line-height:1.35;color:#f5e9ca;text-transform:uppercase;letter-spacing:.06em}
.hero-bottom-cut{position:absolute;left:0;right:0;bottom:-1px;height:96px;background:var(--paper);clip-path:polygon(0 56%,4% 46%,8% 55%,12% 42%,17% 51%,21% 40%,26% 52%,32% 42%,38% 56%,44% 43%,50% 53%,57% 39%,63% 50%,69% 43%,75% 57%,81% 45%,87% 54%,93% 42%,100% 50%,100% 100%,0 100%)}

.fantasias-section{position:relative;background:var(--paper);padding:62px 0 90px;overflow:hidden}
.paper-stars{position:absolute;inset:0;background-image:radial-gradient(circle at 7% 13%,#d9a523 0 2px,transparent 3px),radial-gradient(circle at 94% 33%,#d9a523 0 2px,transparent 3px),radial-gradient(circle at 17% 88%,#d9a523 0 2px,transparent 3px);background-size:120px 120px;opacity:.4}
.section-heading,.gallery-heading{position:relative;width:min(880px,calc(100% - 180px));margin:0 auto 42px;text-align:center}
.kicker{color:#1d573d}.kicker.light{color:var(--gold)}
.section-heading h2,.store-copy h2,.contact-copy h2,.gallery-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5vw,70px);line-height:1;margin:0;letter-spacing:-.035em}
.section-heading h2:after{content:"✦";display:block;color:#0c5c3d;font-size:20px;margin:12px auto 0}
.section-heading p:last-child,.gallery-heading p:last-child{max-width:720px;margin:15px auto 0;font-size:17px;line-height:1.6;color:#486154}
.category-wall{position:relative;width:min(1260px,calc(100% - 180px));margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:7px solid #173d2c;box-shadow:0 22px 45px rgba(72,46,14,.16)}
.category-tile{position:relative;min-height:375px;overflow:hidden;border-right:2px solid #f9eccb;background:#123;margin:0}
.category-tile:nth-child(5n){border-right:0}.category-tile:nth-child(n+6){border-top:2px solid #f9eccb}
.category-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .35s,filter .35s}
.category-tile:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(to bottom,transparent,rgba(2,27,20,.94))}
.category-tile div{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:50px 17px 18px;color:#fff;border-top:4px solid var(--gold)}
.category-tile strong{display:block;font-family:Georgia,serif;font-size:24px;line-height:1.02}.category-tile span{display:block;margin-top:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fbeec8}
.category-tile:hover img{transform:scale(1.055);filter:saturate(1.12)}
.tile-a div{background:linear-gradient(transparent,#9d2825 72%)}.tile-b div{background:linear-gradient(transparent,#b72b55 72%)}.tile-c div{background:linear-gradient(transparent,#196441 72%)}.tile-d div{background:linear-gradient(transparent,#155636 72%)}.tile-e div{background:linear-gradient(transparent,#4c2768 72%)}.tile-f div{background:linear-gradient(transparent,#4c235f 72%)}.tile-g div{background:linear-gradient(transparent,#722f3d 72%)}.tile-h div{background:linear-gradient(transparent,#9e5721 72%)}.tile-i div{background:linear-gradient(transparent,#0c5972 72%)}.tile-j div{background:linear-gradient(transparent,#27614c 72%)}.tile-k div{background:linear-gradient(transparent,#184d3a 72%)}
.commercial-ribbon{position:relative;width:min(1120px,calc(100% - 180px));margin:45px auto 0;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:12px 14px 0 rgba(75,49,9,.13)}
.commercial-ribbon>div{min-height:112px;padding:22px 20px;color:#fff;display:flex;flex-direction:column;justify-content:center;border-right:2px solid rgba(255,255,255,.55);transform:skewX(-4deg)}.commercial-ribbon>div:last-child{border-right:0}
.commercial-ribbon small,.commercial-ribbon strong{transform:skewX(4deg)}.commercial-ribbon small{text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:10px;opacity:.9}.commercial-ribbon strong{font-family:Georgia,serif;font-size:25px;margin-top:5px}
.ribbon-red{background:#a82329}.ribbon-gold{background:#b88412}.ribbon-purple{background:#54266f}.ribbon-blue{background:#0d6f91}
.how-section{position:relative;width:min(1120px,calc(100% - 180px));margin:70px auto 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start;padding:48px 0;border-top:1px solid #d8c9a5;border-bottom:1px solid #d8c9a5}
.how-intro h3{font-family:Georgia,serif;font-size:clamp(36px,4vw,55px);line-height:1;margin:0;color:#183c2d}.how-intro>p:last-child{font-size:16px;line-height:1.65;color:#53665a}
.how-steps{list-style:none;padding:0;margin:0;display:grid;gap:0}.how-steps li{display:grid;grid-template-columns:58px 1fr;column-gap:16px;padding:20px 0;border-bottom:1px solid #ddd0b3}.how-steps li:last-child{border-bottom:0}.how-steps b{grid-row:1/3;font-family:Georgia,serif;font-size:31px;color:#b07d0c}.how-steps strong{font-family:Georgia,serif;font-size:21px;color:#183c2d}.how-steps span{font-size:14px;line-height:1.55;color:#5d6d62;margin-top:4px}
.magic-band{position:relative;width:min(1100px,calc(100% - 180px));margin:44px auto 0;display:flex;align-items:center;justify-content:center;gap:18px;text-align:center;color:#143c2a}.magic-band p{font-family:Georgia,serif;font-size:23px;line-height:1.45;margin:0}.magic-band strong{color:#7c5110}.magic-icon{color:#c58f11;font-size:24px}

.store-section{position:relative;background:linear-gradient(120deg,#06412e,#075d3d 62%,#033322);color:#fff;padding:115px 0 135px;overflow:hidden}
.store-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 5% 20%,rgba(249,202,71,.2) 0 2px,transparent 2.5px);background-size:100px 100px;opacity:.35}
.store-section:after{content:"";position:absolute;top:0;left:0;right:0;height:50px;background:var(--paper);clip-path:polygon(0 0,100% 0,100% 40%,94% 55%,89% 43%,83% 63%,76% 46%,70% 60%,64% 44%,58% 61%,52% 45%,45% 60%,37% 41%,31% 56%,25% 43%,18% 58%,12% 40%,6% 57%,0 43%)}
.store-inner{position:relative;z-index:2;width:min(1140px,calc(100% - 190px));margin:auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:66px;align-items:center}
.store-copy h2{color:#fff;max-width:530px}.store-copy>p:not(.kicker){font-size:18px;line-height:1.7;color:#e9f2eb;max-width:560px}.store-features{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:28px 0 24px;padding:24px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);font-weight:800;font-size:14px}.store-features b{color:var(--gold);margin-right:7px}
.store-cta-copy{display:grid;gap:3px;margin:0 0 28px;padding-left:16px;border-left:3px solid var(--gold)}.store-cta-copy strong{font-family:Georgia,serif;font-size:21px;color:#fff0b1}.store-cta-copy span{font-size:14px;line-height:1.5;color:#d9eadf}
.photo-stack{position:relative;height:680px}.photo-card{position:absolute;margin:0;background:#f8edd4;padding:10px 10px 38px;box-shadow:0 20px 45px rgba(0,0,0,.34);color:#244330;transition:transform .3s}.photo-card img{width:100%;height:100%;object-fit:cover}.photo-card figcaption{position:absolute;left:12px;right:12px;bottom:10px;text-align:center;font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:13px}.photo-card-1{width:47%;height:70%;left:0;top:9%;transform:rotate(-5deg);z-index:2}.photo-card-2{width:48%;height:68%;right:3%;top:0;transform:rotate(5deg);z-index:3}.photo-card-3{width:49%;height:58%;left:26%;bottom:0;transform:rotate(1deg);z-index:4}.photo-card:hover{z-index:7}.photo-card-1:hover{transform:rotate(-2deg) scale(1.02)}.photo-card-2:hover{transform:rotate(2deg) scale(1.02)}.photo-card-3:hover{transform:rotate(0) scale(1.02)}
.store-slogan{position:absolute;right:84px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-weight:900;letter-spacing:.16em;color:var(--gold);font-size:12px;opacity:.78}

.gallery-section{position:relative;background:#f4e6c7;padding:92px 0 105px;overflow:hidden}
.gallery-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,rgba(100,75,28,.055) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(100,75,28,.04) 50%,transparent 50.2%);background-size:58px 58px}
.gallery-heading{margin-bottom:45px}.gallery-heading h2{color:#173c2c}.gallery-mosaic{position:relative;width:min(1180px,calc(100% - 190px));height:760px;margin:auto;display:grid;grid-template-columns:1.15fr .8fr .8fr;grid-template-rows:1fr 1fr;gap:12px}
.gallery-item{position:relative;margin:0;overflow:hidden;border:5px solid #183f2d;box-shadow:0 15px 28px rgba(54,38,13,.16)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.gallery-item:hover img{transform:scale(1.04)}
.gallery-a{grid-row:1/3;clip-path:polygon(1% 0,99% 1%,96% 100%,0 98%)}.gallery-b{clip-path:polygon(0 2%,100% 0,97% 98%,2% 100%)}.gallery-c{clip-path:polygon(2% 0,98% 2%,100% 98%,0 100%)}.gallery-d{clip-path:polygon(0 1%,98% 0,100% 100%,3% 98%)}.gallery-e{clip-path:polygon(2% 0,100% 2%,97% 100%,0 98%)}
.gallery-cta{position:relative;width:min(900px,calc(100% - 190px));margin:42px auto 0;display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:2px solid #af8622;border-bottom:2px solid #af8622;padding:24px 0}.gallery-cta p{margin:0;font-family:Georgia,serif;font-size:20px;line-height:1.45;color:#234431}.gallery-cta strong{color:#855c0c}

.contact-section{position:relative;padding:105px 0 90px;color:#fff;background:#032f22;overflow:hidden;border-top:4px solid var(--gold)}
.contact-sparkles{position:absolute;inset:0;background-image:radial-gradient(circle,#f3c243 0 1.7px,transparent 2px);background-size:92px 92px;opacity:.25}
.contact-inner{position:relative;z-index:2;width:min(1080px,calc(100% - 190px));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}
.contact-copy h2{color:#fff}.contact-copy>p:not(.kicker){font-size:17px;line-height:1.65;color:#dcebe1;max-width:520px}.btn-large{margin-top:10px;min-height:60px}.contact-actions{display:grid;justify-items:start;gap:18px;margin-top:18px}.text-link{font-weight:800;color:#f6e2a2;border-bottom:1px solid rgba(246,226,162,.5);padding-bottom:4px}
.contact-details{border-left:1px solid rgba(255,255,255,.16);padding-left:48px}.detail-row{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12)}.detail-icon{width:46px;height:46px;border:2px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-size:22px;flex:0 0 auto}.detail-row small,.map-ticket small{display:block;color:#c8dacd;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:900;margin-bottom:5px}.detail-row a,.detail-row strong{font-family:Georgia,serif;font-size:19px;line-height:1.35}.map-ticket{margin-top:22px;display:flex;gap:16px;align-items:center;background:var(--cream);color:#173d2d;padding:17px 20px;box-shadow:8px 8px 0 #c79a27;transform:rotate(-1deg);transition:.25s}.map-ticket:hover{transform:rotate(0) translateY(-3px)}.map-ticket .pin{width:38px;height:38px;background:#d13a34;color:#fff;display:grid;place-items:center;clip-path:circle(50%);box-shadow:inset 0 0 0 9px #ef655c}.map-ticket strong{font-family:Georgia,serif;font-size:18px}.map-ticket small{color:#5d725f}
.faq{position:relative;z-index:2;width:min(1080px,calc(100% - 190px));margin:88px auto 0;padding-top:52px;border-top:1px solid rgba(255,255,255,.16);display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faq-title h3{font-family:Georgia,serif;font-size:43px;line-height:1;margin:0;color:#fff}.faq-list{border-top:1px solid rgba(255,255,255,.2)}.faq details{border-bottom:1px solid rgba(255,255,255,.16);padding:0}.faq summary{cursor:pointer;list-style:none;position:relative;padding:21px 42px 21px 0;font-family:Georgia,serif;font-size:19px;font-weight:700;color:#fff}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:5px;top:17px;font-family:Arial,sans-serif;color:var(--gold);font-size:28px}.faq details[open] summary:after{content:"–"}.faq details p{margin:0 40px 22px 0;color:#cfe0d4;line-height:1.6;font-size:14px}.faq details p a{color:var(--gold-2);text-decoration:underline}

footer{background:#021f17;color:#dfebdf;border-top:1px solid rgba(255,255,255,.08);padding-bottom:0}
.footer-inner{width:min(1120px,calc(100% - 190px));min-height:165px;margin:auto;display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:30px}.footer-inner img{width:140px;height:auto;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25))}.footer-copy p{font-family:Georgia,serif;font-size:20px;color:var(--gold);font-style:italic;margin:0 0 7px}.footer-copy small{color:#9fb7a8}.footer-inner nav{gap:20px;font-size:12px}
.mobile-actions{display:none}

.reveal{opacity:1;transform:none}.swipe-hint{display:none}

@media (max-width:1180px){
 .page-curtain{width:48px}.page-curtain:after{width:20px;background-size:20px 64px;right:-18px}.curtain-rope{width:43px;left:2px}
 .nav-wrap{width:min(1040px,calc(100% - 112px));grid-template-columns:190px 1fr}.location-chip{display:none}.brand{width:178px}
 .hero-inner{width:min(1000px,calc(100% - 125px));grid-template-columns:1fr 1fr;gap:30px}.hero-stage{height:540px}.hero-sign{right:-6px}.quick-reasons{width:calc(100% - 155px)}
 .section-heading,.gallery-heading,.category-wall,.commercial-ribbon,.how-section,.magic-band,.store-inner,.gallery-mosaic,.gallery-cta,.contact-inner,.faq,.footer-inner{width:calc(100% - 130px)}
 .category-wall{grid-template-columns:repeat(3,1fr)}.category-tile:nth-child(5n){border-right:2px solid #f9eccb}.category-tile:nth-child(3n){border-right:0}.category-tile:nth-child(n+4){border-top:2px solid #f9eccb}
 .store-inner{grid-template-columns:1fr;gap:48px}.store-copy{max-width:760px}.photo-stack{height:650px;max-width:820px;width:100%;margin:auto}.store-slogan{display:none}
 .gallery-mosaic{height:700px}
}
@media (max-width:860px){
 html{scroll-padding-top:86px}.page-curtain{width:25px;opacity:.96}.page-curtain:after{width:12px;right:-11px;background-size:12px 48px}.curtain-rope{display:none}
 .nav-wrap{height:86px;width:calc(100% - 70px);grid-template-columns:145px auto;justify-content:space-between}.brand{width:142px}.site-header.scrolled .brand{width:122px}.site-header.scrolled .nav-wrap{height:72px}
 .menu-toggle{display:block;justify-self:end}.nav-wrap>nav{position:absolute;left:34px;right:34px;top:88px;display:none;flex-direction:column;gap:0;padding:12px 18px;background:#073e2d;border-top:2px solid var(--gold);box-shadow:0 18px 30px rgba(0,0,0,.3)}.site-header.scrolled .nav-wrap>nav{top:74px}.nav-wrap>nav.open{display:flex}.nav-wrap>nav a{padding:14px}
 .hero{min-height:auto;padding:126px 0 140px}.hero-swag{width:150px;height:120px}.hero-swag-left{left:12px}.hero-swag-right{right:12px}.hero-inner{grid-template-columns:1fr;width:calc(100% - 90px);gap:26px}.hero-copy{padding-top:18px}.hero h1{font-size:clamp(50px,11vw,72px)}.hero-text{font-size:16px}.hero-stage{height:550px;margin-top:8px}.hero-photo-main{width:72%;height:72%;left:14%}.hero-photo-top{width:34%;height:33%}.hero-photo-bottom{width:35%;height:34%}.hero-sign{right:2px;top:47%}.hero-sign span{font-size:12px;padding:7px 12px}.hero-sticker{width:92px;height:92px;font-size:14px}.quick-reasons{position:relative;left:auto;bottom:auto;transform:none;width:calc(100% - 90px);margin:42px auto -40px}
 .section-heading,.gallery-heading,.category-wall,.commercial-ribbon,.how-section,.magic-band,.store-inner,.gallery-mosaic,.gallery-cta,.contact-inner,.faq,.footer-inner{width:calc(100% - 78px)}
 .category-wall{grid-template-columns:repeat(2,1fr);border-width:5px}.category-tile{min-height:340px}.category-tile:nth-child(3n){border-right:2px solid #f9eccb}.category-tile:nth-child(2n){border-right:0}.category-tile:nth-child(n+3){border-top:2px solid #f9eccb}
 .commercial-ribbon{grid-template-columns:1fr 1fr}.commercial-ribbon>div:nth-child(2){border-right:0}.commercial-ribbon>div:nth-child(-n+2){border-bottom:2px solid rgba(255,255,255,.5)}
 .how-section{grid-template-columns:1fr;gap:28px}
 .store-section{padding:95px 0 105px}.photo-stack{height:570px}
 .gallery-mosaic{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:360px 300px 330px}.gallery-a{grid-row:1/3}.gallery-e{grid-column:1/3}.gallery-cta{align-items:flex-start;flex-direction:column}
 .contact-inner{grid-template-columns:1fr;gap:42px}.contact-details{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding-left:0;padding-top:16px}.faq{grid-template-columns:1fr;gap:28px}.footer-inner{grid-template-columns:110px 1fr}.footer-inner nav{display:none}.footer-inner img{width:100px}
}
@media (max-width:560px){
 body{padding-bottom:66px}.page-curtain{width:10px;opacity:.92}.page-curtain:after{width:7px;right:-6px;background-size:7px 38px}.page-curtain:before{opacity:.55}
 .header-line{height:4px}.nav-wrap{width:calc(100% - 42px);height:82px;grid-template-columns:130px auto}.brand{width:126px}.site-header.scrolled .brand{width:112px}.nav-wrap>nav{left:18px;right:18px}
 .hero{padding:112px 0 110px}.hero-swag{display:none}.hero-inner{width:calc(100% - 48px)}.hero h1{font-size:48px}.hero-actions{display:grid}.btn{width:100%;min-height:54px;padding-inline:16px}.hero-notes{gap:8px;font-size:11px}.hero-stage{height:410px}.hero-photo-main{width:78%;height:76%;left:11%;top:9%}.hero-photo-top{width:35%;height:31%;right:0}.hero-photo-bottom{width:35%;height:30%;left:0}.hero-sign{display:none}.hero-sticker{left:2%;top:0;width:78px;height:78px;font-size:12px}.quick-reasons{width:calc(100% - 48px);grid-template-columns:1fr;margin-top:34px}.quick-reasons div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:12px 15px}.quick-reasons div:last-child{border-bottom:0}.quick-reasons strong{font-size:23px}
 .section-heading,.gallery-heading,.category-wall,.commercial-ribbon,.how-section,.magic-band,.store-inner,.gallery-mosaic,.gallery-cta,.contact-inner,.faq,.footer-inner{width:calc(100% - 32px)}
 .section-heading{margin-bottom:28px}.section-heading h2,.store-copy h2,.contact-copy h2,.gallery-heading h2{font-size:42px}.section-heading p:last-child,.gallery-heading p:last-child{font-size:15px}.fantasias-section{padding-bottom:62px}
 .category-wall{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;border:0;box-shadow:none;padding:0 4px 14px;scrollbar-width:thin;scrollbar-color:#b98a1a transparent}.category-tile{min-height:390px;border:4px solid #173d2c!important;scroll-snap-align:center}.category-tile strong{font-size:28px}.swipe-hint{display:block;width:calc(100% - 32px);margin:10px auto 0;text-align:right;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#765718}
 .commercial-ribbon{grid-template-columns:1fr;box-shadow:7px 8px 0 rgba(75,49,9,.13)}.commercial-ribbon>div{min-height:88px;border-right:0!important;border-bottom:2px solid rgba(255,255,255,.52);transform:none}.commercial-ribbon>div:last-child{border-bottom:0}.commercial-ribbon small,.commercial-ribbon strong{transform:none}
 .how-section{margin-top:50px;padding:36px 0}.how-intro h3{font-size:38px}.how-steps li{grid-template-columns:48px 1fr}.how-steps b{font-size:26px}.magic-band{align-items:flex-start}.magic-band p{font-size:18px}
 .store-inner{width:calc(100% - 30px)}.store-features{grid-template-columns:1fr}.photo-stack{height:720px}.photo-card-1{width:72%;height:46%;left:0;top:0}.photo-card-2{width:70%;height:45%;right:0;top:27%}.photo-card-3{width:73%;height:43%;left:4%;bottom:0}
 .gallery-section{padding:74px 0 80px}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:285px 245px 240px;gap:7px}.gallery-item{border-width:3px}.gallery-cta p{font-size:18px}
 .contact-section{padding:80px 0 70px}.contact-inner{width:calc(100% - 32px)}.detail-row a,.detail-row strong{font-size:17px}.map-ticket{padding:14px}.faq{margin-top:65px;padding-top:38px}.faq-title h3{font-size:36px}.faq summary{font-size:17px;padding-right:34px}.footer-inner{min-height:135px;grid-template-columns:82px 1fr;gap:18px}.footer-inner img{width:78px}.footer-copy p{font-size:15px}.footer-copy small{font-size:10px}
 .mobile-actions{position:fixed;left:0;right:0;bottom:0;height:66px;z-index:120;display:grid;grid-template-columns:1fr 1fr;background:#022c20;border-top:2px solid var(--gold);box-shadow:0 -10px 25px rgba(0,0,0,.25)}.mobile-actions a{display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;font-size:12px}.mobile-actions a+ a{border-left:1px solid rgba(255,255,255,.18)}.mobile-actions span{color:var(--gold);font-size:18px}.mobile-actions strong{text-transform:uppercase;letter-spacing:.06em}
}
@media (max-width:390px){.hero h1{font-size:43px}.hero-stage{height:370px}.section-heading h2,.store-copy h2,.contact-copy h2,.gallery-heading h2{font-size:38px}.gallery-mosaic{grid-template-rows:255px 220px 220px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-photo img,.btn,.photo-card,.map-ticket,.gallery-item img,.site-header,.brand,.nav-wrap{transition:none}}

/* === V4: supplied theatre curtain + rebuilt navigation === */
:root{
  --frame-side:clamp(42px,7.4vw,108px);
  --frame-top:clamp(92px,10.8vw,164px);
}

/* The client's curtain is split into three responsive pieces so no part of the artwork
   is awkwardly cropped at common desktop/tablet/mobile aspect ratios. */
.curtain-frame{position:fixed;inset:0;z-index:76;pointer-events:none;overflow:hidden}
.curtain-top{position:absolute;top:0;left:0;width:100vw;height:var(--frame-top);max-width:none;object-fit:fill;object-position:top center;filter:drop-shadow(0 10px 12px rgba(0,0,0,.33))}
.curtain-side{position:absolute;top:0;bottom:0;width:var(--frame-side);height:100dvh;max-width:none;object-fit:fill;object-position:top center;filter:drop-shadow(7px 0 10px rgba(0,0,0,.25))}
.curtain-side-left{left:0}
.curtain-side-right{right:0;filter:drop-shadow(-7px 0 10px rgba(0,0,0,.25))}

/* Old synthetic curtain pieces are no longer used. */
.page-curtain,.hero-swag{display:none!important}

/* New header: a compact theatrical sign instead of a full-width generic bar. */
.site-header{top:calc(var(--frame-top) - 35px);left:0;width:100%;height:auto;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;transition:top .28s ease,transform .28s ease}
.site-header.scrolled{top:10px}
.nav-wrap{
  position:relative;
  width:min(1080px,calc(100% - (var(--frame-side) * 2) - 46px));
  height:76px;
  margin:auto;
  padding:0 24px 0 18px;
  display:grid;
  grid-template-columns:140px 1fr auto;
  align-items:center;
  gap:20px;
  border:0;
  background:
    linear-gradient(180deg,rgba(15,91,61,.98),rgba(2,48,34,.985)),
    #043b2a;
  clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,20px 100%,0 50%);
  box-shadow:0 15px 35px rgba(0,0,0,.32),inset 0 0 0 2px rgba(248,207,78,.86),inset 0 -7px 0 rgba(0,0,0,.08);
  transition:height .25s ease,width .25s ease,box-shadow .25s ease;
}
.nav-wrap:before{content:"";position:absolute;left:36px;right:36px;top:8px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,232,150,.72),transparent);pointer-events:none}
.nav-wrap:after{content:"✦";position:absolute;left:50%;bottom:-15px;transform:translateX(-50%);width:31px;height:31px;display:grid;place-items:center;background:#e9b934;color:#0c432f;border:3px solid #f9e08b;box-shadow:0 5px 12px rgba(0,0,0,.25);font-size:13px;clip-path:polygon(50% 0,62% 32%,100% 50%,62% 68%,50% 100%,38% 68%,0 50%,38% 32%)}
.site-header.scrolled .nav-wrap{height:68px;width:min(1030px,calc(100% - (var(--frame-side) * 2) - 40px));border:0}
.brand{align-self:center;justify-self:start;width:118px;transform:none!important;filter:drop-shadow(0 5px 8px rgba(0,0,0,.42));transition:width .25s ease}
.site-header.scrolled .brand{width:102px;transform:none}
.brand img{width:100%;height:auto}
.nav-wrap>nav{display:flex;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.075em}
.nav-wrap>nav a{position:relative;padding:13px 16px;color:#fff8df;white-space:nowrap}
.nav-wrap>nav a:after{left:50%;right:50%;bottom:7px;height:2px;background:var(--gold-2);transition:left .22s,right .22s}
.nav-wrap>nav a:hover:after,.nav-wrap>nav a:focus-visible:after,.nav-wrap>nav a.active:after{left:16px;right:16px}
.nav-wrap>nav a:hover,.nav-wrap>nav a.active{color:#ffe47b}
.header-contact{min-width:162px;padding:9px 0 9px 20px;border-left:1px solid rgba(255,225,111,.3);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.05;color:#fff}
.header-contact span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#e8c764;font-weight:900;margin-bottom:6px}
.header-contact strong{font-family:Georgia,serif;font-size:15px;letter-spacing:.01em;white-space:nowrap}
.header-contact:hover strong{color:var(--gold-2)}
.menu-toggle{position:relative;z-index:2}

/* Give the first screen enough room for the real curtain and the new sign. */
.hero{padding-top:calc(var(--frame-top) + 112px)}
.hero-inner,.quick-reasons,
.section-heading,.gallery-heading,.category-wall,.commercial-ribbon,.how-section,.magic-band,.store-inner,.gallery-mosaic,.gallery-cta,.contact-inner,.faq,.footer-inner{
  max-width:calc(100vw - (var(--frame-side) * 2) - 28px)
}

@media (max-width:980px){
  :root{--frame-side:clamp(32px,6.5vw,62px);--frame-top:clamp(80px,13vw,125px)}
  .site-header{top:calc(var(--frame-top) - 24px)}
  .nav-wrap{width:calc(100% - (var(--frame-side) * 2) - 20px);height:68px;grid-template-columns:112px 1fr auto;padding:0 18px 0 14px;gap:12px;clip-path:polygon(15px 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,15px 100%,0 50%)}
  .site-header.scrolled .nav-wrap{width:calc(100% - (var(--frame-side) * 2) - 18px);height:64px}
  .brand{width:98px}.site-header.scrolled .brand{width:92px}
  .nav-wrap>nav{gap:0;font-size:11px}.nav-wrap>nav a{padding:12px 10px}.nav-wrap>nav a:hover:after,.nav-wrap>nav a:focus-visible:after,.nav-wrap>nav a.active:after{left:10px;right:10px}
  .header-contact{min-width:138px;padding-left:13px}.header-contact strong{font-size:13px}
  .hero{padding-top:calc(var(--frame-top) + 90px)}
}

@media (max-width:860px){
  :root{--frame-side:clamp(24px,7.7vw,42px);--frame-top:clamp(70px,18vw,96px)}
  html{scroll-padding-top:78px}
  .curtain-side{opacity:.98}
  .site-header{top:calc(var(--frame-top) - 15px)}
  .site-header.scrolled{top:7px}
  .nav-wrap,.site-header.scrolled .nav-wrap{width:calc(100% - (var(--frame-side) * 2) - 10px);height:60px;grid-template-columns:88px 1fr 46px;padding:0 14px 0 12px;gap:7px;clip-path:polygon(11px 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,11px 100%,0 50%)}
  .nav-wrap:before{left:26px;right:26px}.nav-wrap:after{width:24px;height:24px;bottom:-11px;font-size:10px}
  .brand,.site-header.scrolled .brand{width:80px}
  .header-contact{display:none}
  .menu-toggle{display:block;justify-self:end;width:42px;height:42px;padding:6px;background:transparent;border:0}
  .menu-toggle span{width:26px;height:2px;margin:5px auto;background:#ffedaa}
  .nav-wrap>nav,.site-header.scrolled .nav-wrap>nav{
    position:absolute;left:8px;right:8px;top:66px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:9px 14px 12px;background:rgba(3,53,38,.985);border:2px solid #d8ad35;box-shadow:0 18px 32px rgba(0,0,0,.34);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px)
  }
  .nav-wrap>nav.open{display:flex}
  .nav-wrap>nav a{padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.12);text-align:center;font-size:12px}
  .nav-wrap>nav a:last-child{border-bottom:0}
  .hero{padding-top:calc(var(--frame-top) + 74px)}
}

@media (max-width:480px){
  :root{--frame-side:24px;--frame-top:74px}
  .curtain-top{height:74px}
  .curtain-side{width:24px}
  .site-header{top:58px}
  .site-header.scrolled{top:5px}
  .nav-wrap,.site-header.scrolled .nav-wrap{width:calc(100% - 54px);height:56px;grid-template-columns:76px 1fr 40px;padding-inline:10px 8px}
  .brand,.site-header.scrolled .brand{width:70px}
  .menu-toggle{width:38px;height:38px}.menu-toggle span{width:23px}
  .nav-wrap>nav,.site-header.scrolled .nav-wrap>nav{top:61px;left:2px;right:2px}
  .hero{padding-top:148px}
}


/* === V5: full-edge supplied curtains + slim full-width header === */
.curtain-frame,.curtain-top,.curtain-side{display:none!important}

:root{
  --header-h:72px;
}
html{scroll-padding-top:84px}
body{background:var(--deep)}

.site-header{
  top:0!important;
  left:0;
  width:100%;
  background:linear-gradient(180deg,rgba(4,42,31,.76),rgba(4,42,31,.42))!important;
  backdrop-filter:blur(16px) saturate(1.15);
  -webkit-backdrop-filter:blur(16px) saturate(1.15);
  box-shadow:0 10px 26px rgba(0,0,0,.16)!important;
  border-bottom:1px solid rgba(255,231,150,.16);
}
.site-header.scrolled{background:linear-gradient(180deg,rgba(4,42,31,.92),rgba(4,42,31,.84))!important;box-shadow:0 12px 30px rgba(0,0,0,.22)!important}
.nav-wrap,.site-header.scrolled .nav-wrap{
  width:min(1280px,calc(100% - 24px));
  height:var(--header-h);
  padding:0 18px;
  margin:0 auto;
  display:grid;
  grid-template-columns:138px 1fr auto;
  gap:20px;
  background:transparent!important;
  clip-path:none!important;
  box-shadow:none!important;
  border:0!important;
}
.nav-wrap:before,.nav-wrap:after{display:none!important}
.brand,.site-header.scrolled .brand{width:112px;align-self:center;justify-self:start;filter:drop-shadow(0 4px 10px rgba(0,0,0,.32));transform:none!important}
.nav-wrap>nav{display:flex;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.nav-wrap>nav a{padding:12px 16px;color:#fff7db;border-radius:999px;transition:background .22s,color .22s,box-shadow .22s}
.nav-wrap>nav a:after{display:none!important}
.nav-wrap>nav a:hover,.nav-wrap>nav a:focus-visible,.nav-wrap>nav a.active{background:rgba(255,241,192,.12);color:#ffe374;box-shadow:inset 0 0 0 1px rgba(255,223,112,.22)}
.header-contact{min-width:168px;padding:8px 0 8px 18px;border-left:1px solid rgba(255,225,111,.22);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#fff}
.header-contact span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#eed27c;font-weight:900;margin-bottom:6px}
.header-contact strong{font-family:Georgia,serif;font-size:15px;white-space:nowrap}
.header-contact:hover strong{color:var(--gold-2)}

.hero{padding-top:calc(var(--header-h) + 42px);min-height:980px;overflow:hidden}
.hero:before{z-index:1}
.sparkles{z-index:1}
.hero-curtain-shell{position:absolute;inset:0 0 auto 0;z-index:3;pointer-events:none;line-height:0}
.hero-curtain{display:block;width:100%;height:auto;max-width:none}
.hero-curtain-mobile{display:none}
.hero-inner,.quick-reasons{position:relative;z-index:5}
.hero-inner{width:min(1180px,calc(100% - 64px));padding-top:min(34vw,290px)}
.quick-reasons{width:min(980px,calc(100% - 64px))}
.section-heading,.gallery-heading,.category-wall,.commercial-ribbon,.how-section,.magic-band,.store-inner,.gallery-mosaic,.gallery-cta,.contact-inner,.faq,.footer-inner{max-width:min(1180px,calc(100% - 48px))}

@media (max-width:1100px){
  .hero{min-height:930px}
  .hero-inner{width:calc(100% - 44px);padding-top:min(34vw,250px)}
  .quick-reasons{width:calc(100% - 44px)}
}

@media (max-width:860px){
  :root{--header-h:62px}
  html{scroll-padding-top:74px}
  .site-header,.site-header.scrolled{background:linear-gradient(180deg,rgba(4,42,31,.72),rgba(4,42,31,.40))!important}
  .nav-wrap,.site-header.scrolled .nav-wrap{width:calc(100% - 12px);height:var(--header-h);grid-template-columns:90px 1fr 42px;padding:0 10px;gap:8px}
  .brand,.site-header.scrolled .brand{width:78px}
  .menu-toggle{display:block;justify-self:end;width:40px;height:40px;padding:4px;background:rgba(255,255,255,.06);border:1px solid rgba(255,231,150,.18);border-radius:14px}
  .menu-toggle span{width:22px;height:2px;margin:5px auto;background:#fff3ba}
  .nav-wrap>nav,.site-header.scrolled .nav-wrap>nav{position:absolute;left:8px;right:8px;top:calc(var(--header-h) + 8px);display:none;flex-direction:column;align-items:stretch;gap:0;padding:9px 10px 10px;background:rgba(4,42,31,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,231,150,.18);border-radius:20px;box-shadow:0 18px 34px rgba(0,0,0,.28)}
  .nav-wrap>nav.open{display:flex}
  .nav-wrap>nav a{padding:14px 12px;border-radius:12px;text-align:center}
  .header-contact{display:none}
  .hero{padding-top:calc(var(--header-h) + 8px);min-height:920px}
  .hero-curtain-desktop{display:none}
  .hero-curtain-mobile{display:block;width:100vw;height:auto}
  .hero-inner{width:calc(100% - 26px);padding-top:min(56vw,430px)}
  .quick-reasons{width:calc(100% - 26px)}
  .section-heading,.gallery-heading,.category-wall,.commercial-ribbon,.how-section,.magic-band,.store-inner,.gallery-mosaic,.gallery-cta,.contact-inner,.faq,.footer-inner{max-width:calc(100% - 26px)}
}

@media (max-width:560px){
  :root{--header-h:58px}
  .nav-wrap,.site-header.scrolled .nav-wrap{grid-template-columns:76px 1fr 40px;height:var(--header-h);padding:0 8px}
  .brand,.site-header.scrolled .brand{width:68px}
  .hero{padding-top:calc(var(--header-h) + 6px);min-height:870px}
  .hero-inner{padding-top:min(64vw,448px)}
}

@media (max-width:390px){
  .hero{min-height:840px}
  .hero-inner{padding-top:min(67vw,455px)}
}

/* === V6: header alignment + hero spacing correction === */
:root{--header-h:72px}

.site-header,
.site-header.scrolled{
  top:0!important;
  min-height:var(--header-h);
  display:flex;
  align-items:center;
}

.nav-wrap,
.site-header.scrolled .nav-wrap{
  width:min(1320px,calc(100% - 28px));
  height:var(--header-h);
  min-height:var(--header-h);
  margin:0 auto;
  padding:0 18px;
  display:grid;
  grid-template-columns:180px minmax(0,1fr) 180px;
  align-items:center;
  gap:18px;
}

.brand,
.site-header.scrolled .brand{
  width:auto!important;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  transform:none!important;
}
.brand img,
.site-header.scrolled .brand img{
  width:auto!important;
  height:auto!important;
  max-height:60px;
  max-width:112px;
  object-fit:contain;
}

.nav-wrap>nav{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:4px;
  min-width:0;
}
.nav-wrap>nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 15px;
  line-height:1;
}

.header-contact{
  min-width:0;
  width:180px;
  justify-self:end;
  align-self:center;
  padding:0 0 0 18px;
  min-height:44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* Remove the oversized artificial gap under the header. */
.hero{
  padding-top:var(--header-h)!important;
  min-height:900px;
}
.hero-curtain-shell{
  top:var(--header-h);
}
.hero-inner{
  width:min(1180px,calc(100% - 64px));
  padding-top:26px!important;
  margin-top:0!important;
  align-items:center;
}
.hero-copy{
  align-self:start;
  padding-top:0;
}
.hero .eyebrow{margin-top:0}

@media (max-width:1100px){
  .nav-wrap,.site-header.scrolled .nav-wrap{grid-template-columns:150px minmax(0,1fr) 160px}
  .header-contact{width:160px}
  .brand img,.site-header.scrolled .brand img{max-height:56px;max-width:102px}
  .nav-wrap>nav a{padding-inline:11px}
  .hero-inner{width:calc(100% - 44px);padding-top:24px!important}
}

@media (max-width:860px){
  :root{--header-h:62px}
  .site-header,.site-header.scrolled{min-height:var(--header-h)}
  .nav-wrap,.site-header.scrolled .nav-wrap{
    width:calc(100% - 12px);
    height:var(--header-h);
    min-height:var(--header-h);
    grid-template-columns:82px minmax(0,1fr) 42px;
    padding:0 8px 0 10px;
    gap:6px;
  }
  .brand{justify-content:flex-start}
  .brand img,.site-header.scrolled .brand img{max-height:50px;max-width:78px}
  .menu-toggle{align-self:center;justify-self:end;margin:0}
  .nav-wrap>nav,.site-header.scrolled .nav-wrap>nav{
    top:calc(var(--header-h) + 6px);
  }
  .hero{
    padding-top:var(--header-h)!important;
    min-height:860px;
  }
  .hero-curtain-shell{top:var(--header-h)}
  .hero-inner{
    width:calc(100% - 26px);
    padding-top:18px!important;
  }
}

@media (max-width:560px){
  :root{--header-h:58px}
  .nav-wrap,.site-header.scrolled .nav-wrap{
    height:var(--header-h);
    min-height:var(--header-h);
    grid-template-columns:72px minmax(0,1fr) 40px;
    padding-inline:7px;
  }
  .brand img,.site-header.scrolled .brand img{max-height:46px;max-width:68px}
  .hero{padding-top:var(--header-h)!important;min-height:820px}
  .hero-inner{padding-top:14px!important}
}


/* === V7: curtain behind header from page edge + persistent glass header + richer editorial design === */
:root{--header-h:68px}
html{scroll-padding-top:78px}

.site-header,
.site-header.scrolled{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  min-height:var(--header-h)!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  z-index:120!important;
  display:flex!important;
  align-items:center!important;
  background:linear-gradient(180deg,rgba(3,37,28,.82),rgba(3,37,28,.57))!important;
  backdrop-filter:blur(18px) saturate(1.2)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.2)!important;
  border-bottom:1px solid rgba(255,226,126,.20)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.14)!important;
}
.site-header.scrolled{
  background:linear-gradient(180deg,rgba(3,37,28,.94),rgba(3,37,28,.86))!important;
  box-shadow:0 10px 30px rgba(0,0,0,.22)!important;
}
.nav-wrap,.site-header.scrolled .nav-wrap{
  width:min(1320px,calc(100% - 22px))!important;
  height:var(--header-h)!important;
  min-height:var(--header-h)!important;
  margin:0 auto!important;
  padding:0 14px!important;
  grid-template-columns:176px minmax(0,1fr) 176px!important;
  align-items:center!important;
  gap:14px!important;
}
.brand,.site-header.scrolled .brand{height:var(--header-h)!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}
.brand img,.site-header.scrolled .brand img{max-height:56px!important;max-width:106px!important;width:auto!important;height:auto!important}
.nav-wrap>nav{align-self:stretch!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
.nav-wrap>nav a{min-height:38px!important;display:flex!important;align-items:center!important;padding:8px 14px!important}
.header-contact{width:176px!important;min-height:42px!important;align-self:center!important;justify-self:end!important}

.hero{padding-top:var(--header-h)!important;min-height:915px!important}
.hero-curtain-shell{top:0!important;z-index:2!important;width:100vw!important;left:0!important;right:0!important}
.hero-curtain{width:100vw!important;max-width:none!important;margin:0!important;padding:0!important}
.hero-inner{z-index:5!important;width:min(1180px,calc(100% - 56px))!important;padding-top:18px!important;margin-top:0!important}
.hero-copy{position:relative;z-index:6;padding-top:0!important}
.hero-copy:before{content:"";position:absolute;z-index:-1;left:-90px;top:-40px;width:620px;height:520px;background:radial-gradient(ellipse,rgba(2,34,25,.84) 0%,rgba(2,34,25,.52) 44%,transparent 73%);filter:blur(3px);pointer-events:none}
.hero .eyebrow{margin-top:0!important}
.hero h1{font-size:clamp(52px,5.7vw,82px)}
.hero-text{margin-top:22px}
.quick-reasons{bottom:96px!important}
.occasion-dock{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:7;width:min(1020px,calc(100% - 56px));min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:rgba(2,42,30,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,225,112,.22);box-shadow:0 10px 28px rgba(0,0,0,.2)}
.occasion-label{padding:8px 12px;color:#f4d15e;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.occasion-dock a{padding:8px 12px;border:1px solid rgba(255,255,255,.14);color:#fff8dd;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;transition:.2s}
.occasion-dock a:hover,.occasion-dock a:focus-visible{background:#f1c43c;color:#153d2c;border-color:#f1c43c;transform:translateY(-2px)}

.magic-marquee{width:100vw;margin:58px 0 0 calc(50% - 50vw);overflow:hidden;background:#0c402e;border-top:1px solid rgba(246,203,66,.55);border-bottom:1px solid rgba(246,203,66,.55);color:#f6cf4e;white-space:nowrap}
.magic-marquee-track{display:inline-block;min-width:200%;padding:12px 0;font-size:12px;font-weight:900;letter-spacing:.21em;animation:magicMarquee 24s linear infinite}
@keyframes magicMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.editorial-break{position:relative;width:min(1180px,calc(100% - 48px));min-height:430px;margin:42px auto 54px;overflow:hidden;background:linear-gradient(135deg,#071d17,#0c3f2e);box-shadow:0 28px 55px rgba(32,37,15,.18)}
.editorial-break>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58;filter:saturate(.75) contrast(1.08)}
.editorial-break-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,29,21,.97) 0%,rgba(2,43,31,.84) 44%,rgba(2,43,31,.30) 76%,rgba(2,43,31,.16) 100%),radial-gradient(circle at 80% 50%,rgba(255,213,78,.17),transparent 35%)}
.editorial-break:before,.editorial-break:after{content:"";position:absolute;z-index:2;pointer-events:none}
.editorial-break:before{left:0;top:0;width:7px;height:100%;background:linear-gradient(#ffe07a,#b98818,#ffe07a)}
.editorial-break:after{right:22px;top:22px;width:72px;height:72px;border-top:1px solid rgba(255,221,116,.72);border-right:1px solid rgba(255,221,116,.72)}
.editorial-break-copy{position:relative;z-index:3;max-width:650px;padding:68px 64px;color:#fff}
.editorial-break-copy>span{display:inline-block;margin-bottom:15px;color:#f5cf54;font-size:11px;font-weight:900;letter-spacing:.26em;text-transform:uppercase}
.editorial-break-copy h3{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,5vw,62px);line-height:.98;letter-spacing:-.035em;color:#fff7e1}
.editorial-break-copy p{max-width:590px;margin:22px 0 26px;color:#f1ead7;font-size:17px;line-height:1.65}
.editorial-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.editorial-phone{color:#ffe172;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid rgba(255,225,114,.55);padding:8px 0}

.story-banner{position:relative;width:100%;min-height:310px;overflow:hidden;background:#041f18;display:grid;place-items:center;text-align:center;color:white}
.story-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52;filter:saturate(.72) contrast(1.14)}
.story-banner-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,38,28,.62),rgba(3,38,28,.84)),radial-gradient(circle at center,rgba(245,199,62,.18),transparent 42%)}
.story-banner-content{position:relative;z-index:2;width:min(900px,calc(100% - 42px));padding:60px 0}
.story-banner-content p{margin:0 0 10px;color:#f4cf54;font-size:12px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.story-banner-content strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,4.6vw,52px);line-height:1.08;color:#fff7e4;font-weight:700}
.story-banner-content a{display:inline-block;margin-top:24px;padding:12px 0;color:#ffe06e;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(255,224,110,.66)}

.category-tile{transition:transform .28s ease,box-shadow .28s ease}
.category-tile:hover{transform:translateY(-8px) rotate(-.35deg);box-shadow:0 22px 45px rgba(30,44,23,.2)}
.category-tile:nth-child(even):hover{transform:translateY(-8px) rotate(.35deg)}
.gallery-item{transition:transform .28s ease,box-shadow .28s ease}.gallery-item:hover{transform:translateY(-6px);box-shadow:0 20px 34px rgba(0,0,0,.16);z-index:2}

@media(max-width:1000px){
  .nav-wrap,.site-header.scrolled .nav-wrap{grid-template-columns:142px minmax(0,1fr) 154px!important}
  .header-contact{width:154px!important}.nav-wrap>nav a{padding-inline:10px!important;font-size:11px!important}
  .hero-inner{width:calc(100% - 40px)!important}
  .occasion-dock{width:calc(100% - 40px)}
}
@media(max-width:860px){
  :root{--header-h:60px}
  .site-header,.site-header.scrolled{min-height:var(--header-h)!important}
  .nav-wrap,.site-header.scrolled .nav-wrap{width:calc(100% - 8px)!important;height:var(--header-h)!important;min-height:var(--header-h)!important;grid-template-columns:74px minmax(0,1fr) 42px!important;padding:0 6px!important;gap:5px!important}
  .brand,.site-header.scrolled .brand{height:var(--header-h)!important}.brand img,.site-header.scrolled .brand img{max-height:48px!important;max-width:72px!important}
  .nav-wrap>nav,.site-header.scrolled .nav-wrap>nav{position:absolute!important;left:6px!important;right:6px!important;top:calc(var(--header-h) + 6px)!important;height:auto!important;display:none!important;flex-direction:column!important;align-items:stretch!important;padding:9px!important;background:rgba(3,39,29,.96)!important;border:1px solid rgba(255,229,137,.2)!important;border-radius:18px!important;box-shadow:0 18px 34px rgba(0,0,0,.3)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
  .nav-wrap>nav.open{display:flex!important}.nav-wrap>nav a{font-size:12px!important;padding:14px 12px!important;border-radius:10px!important}
  .header-contact{display:none!important}.menu-toggle{display:block!important;justify-self:end!important;align-self:center!important}
  .hero{padding-top:var(--header-h)!important;min-height:900px!important}
  .hero-curtain-shell{top:0!important}
  .hero-inner{width:calc(100% - 24px)!important;padding-top:16px!important}
  .hero-copy:before{left:-120px;top:-70px;width:560px;height:520px}
  .quick-reasons{bottom:116px!important;width:calc(100% - 24px)!important}
  .occasion-dock{bottom:30px;width:calc(100% - 24px);justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:8px;scrollbar-width:none}.occasion-dock::-webkit-scrollbar{display:none}.occasion-label{position:sticky;left:0;background:rgba(2,42,30,.94);z-index:2}.occasion-dock a{white-space:nowrap}
  .editorial-break{width:calc(100% - 26px);min-height:410px}.editorial-break-overlay{background:linear-gradient(90deg,rgba(1,29,21,.94),rgba(2,43,31,.72))}.editorial-break-copy{padding:48px 28px;max-width:620px}.editorial-break-copy p{font-size:16px}
  .magic-marquee-track{font-size:10px;padding:10px 0}
}
@media(max-width:560px){
  :root{--header-h:56px}
  .nav-wrap,.site-header.scrolled .nav-wrap{grid-template-columns:66px minmax(0,1fr) 40px!important}.brand img,.site-header.scrolled .brand img{max-height:44px!important;max-width:64px!important}
  .hero{min-height:875px!important}.hero-inner{padding-top:12px!important}.hero h1{font-size:42px!important}.hero-text{font-size:16px!important;line-height:1.55!important;margin-top:18px!important}
  .quick-reasons{bottom:118px!important}.occasion-dock{bottom:28px}
  .editorial-break{min-height:430px;margin-top:34px}.editorial-break-copy{padding:44px 23px}.editorial-break-copy h3{font-size:38px}.editorial-actions{gap:14px}.editorial-phone{font-size:11px}
  .story-banner{min-height:300px}.story-banner-content{padding:52px 0}.story-banner-content strong{font-size:34px}
}
@media(prefers-reduced-motion:reduce){.magic-marquee-track{animation:none}.category-tile:hover,.gallery-item:hover{transform:none}}


/* V7.1: the supplied curtain always touches every viewport edge without cropping. */
.hero-curtain-shell{height:100dvh!important;inset:0 0 auto 0!important;overflow:hidden!important}
.hero-curtain{width:100vw!important;height:100dvh!important;object-fit:fill!important;object-position:top center!important}
@supports not (height:100dvh){.hero-curtain-shell,.hero-curtain{height:100vh!important}}

/* === V8: coherent header states + visual cleanup === */
:root{--header-h:68px}
html{scroll-padding-top:78px}

/* At the top the header is only content over the curtain. The glass panel exists only after scroll. */
.site-header{
  position:fixed!important;
  inset:0 0 auto 0!important;
  width:100%!important;
  min-height:var(--header-h)!important;
  z-index:120!important;
  display:flex!important;
  align-items:center!important;
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-bottom:1px solid transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition:background .24s ease,border-color .24s ease,box-shadow .24s ease,backdrop-filter .24s ease!important;
}
.site-header.scrolled{
  background:rgba(3,39,29,.88)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.15)!important;
  backdrop-filter:blur(18px) saturate(1.15)!important;
  border-bottom-color:rgba(255,224,112,.20)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.22)!important;
}
.nav-wrap,.site-header.scrolled .nav-wrap{
  width:min(1280px,calc(100% - 24px))!important;
  height:var(--header-h)!important;
  min-height:var(--header-h)!important;
  margin:0 auto!important;
  padding:0 14px!important;
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr) 160px!important;
  align-items:center!important;
  gap:14px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  clip-path:none!important;
}
.nav-wrap:before,.nav-wrap:after{display:none!important}
.brand,.site-header.scrolled .brand{
  width:auto!important;
  height:var(--header-h)!important;
  align-self:center!important;
  justify-self:start!important;
  display:flex!important;
  align-items:center!important;
  filter:drop-shadow(0 3px 9px rgba(0,0,0,.42))!important;
  transform:none!important;
}
.brand img,.site-header.scrolled .brand img{
  width:auto!important;
  height:auto!important;
  max-width:105px!important;
  max-height:55px!important;
  object-fit:contain!important;
}
.nav-wrap>nav{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.085em!important;
  text-transform:uppercase!important;
}
.nav-wrap>nav a{
  min-height:38px!important;
  padding:10px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#fff8e3!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-shadow:0 2px 8px rgba(0,0,0,.48);
  transition:color .2s ease,background .2s ease!important;
}
.nav-wrap>nav a:after{display:none!important}
.site-header:not(.scrolled) .nav-wrap>nav a:hover,
.site-header:not(.scrolled) .nav-wrap>nav a:focus-visible,
.site-header:not(.scrolled) .nav-wrap>nav a.active{color:#ffe16a!important;background:transparent!important;box-shadow:inset 0 -2px 0 rgba(255,221,88,.82)!important}
.site-header.scrolled .nav-wrap>nav a:hover,
.site-header.scrolled .nav-wrap>nav a:focus-visible,
.site-header.scrolled .nav-wrap>nav a.active{color:#ffe16a!important;background:rgba(255,255,255,.07)!important;box-shadow:inset 0 -2px 0 rgba(255,221,88,.82)!important}
.header-contact{
  width:160px!important;
  min-width:0!important;
  min-height:40px!important;
  justify-self:end!important;
  align-self:center!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-end!important;
  padding:0!important;
  border:0!important;
  color:#fff!important;
  text-shadow:0 2px 8px rgba(0,0,0,.48);
}
.header-contact span{margin:0 0 5px!important;font-size:8px!important;letter-spacing:.17em!important;color:#f0d477!important}
.header-contact strong{font-size:14px!important;line-height:1!important;color:#fff!important}
.site-header.scrolled .header-contact{padding-right:2px!important}

/* Curtain starts at the page edge and remains behind the header. */
.curtain-frame{display:none!important}
.hero{position:relative!important;padding-top:var(--header-h)!important;padding-bottom:128px!important;min-height:900px!important;overflow:hidden!important}
.hero-curtain-shell{position:absolute!important;inset:0 0 auto 0!important;width:100vw!important;height:100dvh!important;z-index:2!important;overflow:hidden!important;pointer-events:none!important}
.hero-curtain{display:block!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important;padding:0!important;object-fit:fill!important;object-position:top center!important}
.hero-curtain-mobile{display:none!important}
.hero-inner{position:relative!important;z-index:5!important;width:min(1160px,calc(100% - 56px))!important;margin:0 auto!important;padding-top:20px!important;align-items:center!important;gap:52px!important}
.hero-copy{position:relative!important;z-index:6!important;padding-top:0!important}
.hero-copy:before{left:-78px!important;top:-35px!important;width:590px!important;height:480px!important;opacity:.82!important}
.hero .eyebrow{margin-top:0!important}
.hero h1{font-size:clamp(50px,5.65vw,80px)!important;line-height:.95!important}
.hero-text{margin:20px 0 28px!important;max-width:570px!important}
.quick-reasons{z-index:6!important;bottom:58px!important;width:min(960px,calc(100% - 56px))!important;background:rgba(2,37,27,.72)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}

/* Flat, consistent surfaces throughout the page. */
.category-wall{border-width:4px!important;box-shadow:0 18px 38px rgba(72,46,14,.13)!important}
.category-tile{border-color:#f8edd4!important;transition:transform .24s ease,box-shadow .24s ease!important}
.category-tile:hover{transform:translateY(-5px)!important;box-shadow:0 18px 34px rgba(30,44,23,.17)!important}
.category-tile:nth-child(even):hover{transform:translateY(-5px)!important}
.commercial-ribbon{box-shadow:0 16px 32px rgba(75,49,9,.12)!important}
.commercial-ribbon>div{transform:none!important;border-right:1px solid rgba(255,255,255,.35)!important}
.commercial-ribbon small,.commercial-ribbon strong{transform:none!important}
.editorial-break{border:1px solid rgba(193,151,43,.55)!important;box-shadow:0 22px 44px rgba(32,37,15,.15)!important}
.editorial-break>img{opacity:.52!important;filter:saturate(.85) contrast(1.06)!important}
.editorial-break-overlay{background:linear-gradient(90deg,rgba(1,29,21,.98) 0%,rgba(2,43,31,.91) 48%,rgba(2,43,31,.38) 82%,rgba(2,43,31,.25) 100%)!important}
.editorial-break:after{display:none!important}
.story-banner{min-height:300px!important;border-top:1px solid rgba(208,166,55,.5)!important;border-bottom:1px solid rgba(208,166,55,.5)!important}
.story-banner>img{opacity:.38!important;filter:saturate(.8) contrast(1.08)!important}
.story-banner-shade{background:linear-gradient(90deg,rgba(3,38,28,.93),rgba(3,38,28,.66)),radial-gradient(circle at center,rgba(245,199,62,.12),transparent 45%)!important}
.photo-card{box-shadow:0 18px 38px rgba(0,0,0,.28)!important}

@media(max-width:1000px){
  .nav-wrap,.site-header.scrolled .nav-wrap{grid-template-columns:138px minmax(0,1fr) 145px!important}
  .header-contact{width:145px!important}
  .nav-wrap>nav a{padding-inline:10px!important;font-size:11px!important}
  .hero-inner{width:calc(100% - 42px)!important;gap:34px!important}
}

@media(max-width:860px){
  :root{--header-h:58px}
  html{scroll-padding-top:68px}
  .site-header{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom-color:transparent!important;box-shadow:none!important}
  .site-header.scrolled{background:rgba(3,39,29,.91)!important;-webkit-backdrop-filter:blur(18px) saturate(1.15)!important;backdrop-filter:blur(18px) saturate(1.15)!important;border-bottom-color:rgba(255,224,112,.20)!important;box-shadow:0 10px 28px rgba(0,0,0,.22)!important}
  .nav-wrap,.site-header.scrolled .nav-wrap{width:calc(100% - 8px)!important;height:var(--header-h)!important;min-height:var(--header-h)!important;grid-template-columns:72px minmax(0,1fr) 40px!important;padding:0 6px!important;gap:5px!important}
  .brand,.site-header.scrolled .brand{height:var(--header-h)!important}
  .brand img,.site-header.scrolled .brand img{max-height:47px!important;max-width:70px!important}
  .header-contact{display:none!important}
  .menu-toggle{display:block!important;justify-self:end!important;align-self:center!important;width:38px!important;height:38px!important;padding:5px!important;background:rgba(2,34,25,.18)!important;border:1px solid rgba(255,231,150,.18)!important;border-radius:0!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}
  .site-header.scrolled .menu-toggle{background:rgba(255,255,255,.04)!important}
  .menu-toggle span{width:22px!important;height:2px!important;margin:5px auto!important;background:#fff0ae!important}
  .nav-wrap>nav,.site-header.scrolled .nav-wrap>nav{position:absolute!important;left:6px!important;right:6px!important;top:calc(var(--header-h) + 6px)!important;height:auto!important;display:none!important;flex-direction:column!important;align-items:stretch!important;padding:8px!important;background:rgba(3,39,29,.96)!important;border:1px solid rgba(255,229,137,.2)!important;border-radius:0!important;box-shadow:0 18px 34px rgba(0,0,0,.3)!important;-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important}
  .nav-wrap>nav.open{display:flex!important}
  .nav-wrap>nav a{font-size:12px!important;padding:13px 12px!important;border-radius:0!important}

  .hero{padding-top:var(--header-h)!important;padding-bottom:86px!important;min-height:auto!important}
  .hero-curtain-desktop{display:none!important}
  .hero-curtain-mobile{display:block!important}
  .hero-inner{width:calc(100% - 24px)!important;padding-top:14px!important;gap:24px!important}
  .hero-copy:before{left:-100px!important;top:-50px!important;width:520px!important;height:460px!important;opacity:.74!important}
  .hero h1{font-size:clamp(43px,11vw,62px)!important}
  .hero-stage{margin-top:4px!important}
  .quick-reasons{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:calc(100% - 24px)!important;margin:30px auto 0!important;grid-template-columns:1fr!important}
  .quick-reasons div{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
  .quick-reasons div:last-child{border-bottom:0!important}
  .editorial-break{width:calc(100% - 26px)!important;min-height:390px!important}
  .editorial-break-copy{padding:44px 26px!important}
  .editorial-break-overlay{background:linear-gradient(90deg,rgba(1,29,21,.95),rgba(2,43,31,.78))!important}
}

@media(max-width:560px){
  :root{--header-h:54px}
  .nav-wrap,.site-header.scrolled .nav-wrap{grid-template-columns:64px minmax(0,1fr) 38px!important}
  .brand img,.site-header.scrolled .brand img{max-height:43px!important;max-width:62px!important}
  .hero{padding-bottom:74px!important}
  .hero-inner{padding-top:10px!important}
  .hero h1{font-size:42px!important}
  .hero-text{font-size:16px!important;line-height:1.55!important;margin:16px 0 24px!important}
  .hero-stage{height:400px!important}
  .editorial-break-copy h3{font-size:36px!important}
  .story-banner-content strong{font-size:32px!important}
}

@media(prefers-reduced-motion:reduce){.category-tile:hover{transform:none!important}}


/* === V9: refined image framing + clean hero badge === */

/* Replace the irregular star sticker with a restrained theatrical seal. */
.hero-sticker{
  left:8%!important;
  top:3%!important;
  width:auto!important;
  height:auto!important;
  min-width:142px!important;
  padding:11px 16px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  background:linear-gradient(180deg,#fff9e8 0%,#f4e1aa 100%)!important;
  color:#173f2e!important;
  border:1px solid #d0a739!important;
  outline:1px solid rgba(255,246,205,.85)!important;
  outline-offset:-5px!important;
  box-shadow:0 9px 20px rgba(0,0,0,.22),0 2px 0 rgba(255,255,255,.7) inset!important;
  clip-path:none!important;
  border-radius:2px!important;
  transform:rotate(-3deg)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-style:normal!important;
  line-height:1.05!important;
  text-transform:none!important;
}
.hero-sticker:before,
.hero-sticker:after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  width:18px!important;
  height:1px!important;
  background:#b98c1b!important;
  opacity:.75!important;
}
.hero-sticker:before{left:-11px!important}
.hero-sticker:after{right:-11px!important}
.hero-sticker small{
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:#8f6b16!important;
}
.hero-sticker strong{
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:17px!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
}

/* Hero photos: clean editorial framing instead of arbitrary cut-out polygons. */
.hero-photo{
  overflow:hidden!important;
  border:2px solid #e0b83e!important;
  outline:1px solid rgba(255,247,216,.72)!important;
  outline-offset:5px!important;
  background:#143e2d!important;
  box-shadow:
    0 22px 42px rgba(0,0,0,.28),
    0 0 0 1px rgba(38,23,2,.2)!important;
  clip-path:none!important;
}
.hero-photo:after{
  content:""!important;
  position:absolute!important;
  inset:8px!important;
  border:1px solid rgba(255,235,165,.72)!important;
  pointer-events:none!important;
  z-index:2!important;
}
.hero-photo img{
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(1.03) contrast(1.02)!important;
}
.hero-photo-main{
  width:66%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  left:15%!important;
  top:11%!important;
  transform:rotate(-.8deg)!important;
  border-color:#f1c94a!important;
}
.hero-photo-top{
  width:31%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  right:1%!important;
  top:2%!important;
  transform:rotate(2.4deg)!important;
}
.hero-photo-bottom{
  width:31%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  left:1%!important;
  bottom:1%!important;
  transform:rotate(-2.6deg)!important;
}
.hero-photo-main img{object-position:center center!important}
.hero-photo-top img{object-position:center center!important}
.hero-photo-bottom img{object-position:center center!important}

/* Category art is square source material: preserve its intended composition instead of
   forcing tall crops. */
.category-wall{
  gap:6px!important;
  padding:6px!important;
  background:#ead7a5!important;
  border:1px solid rgba(112,77,11,.34)!important;
  box-shadow:0 18px 38px rgba(72,46,14,.12)!important;
}
.category-tile{
  min-height:0!important;
  aspect-ratio:1/1!important;
  border:0!important;
  outline:1px solid rgba(255,248,223,.55)!important;
  outline-offset:-7px!important;
  box-shadow:0 7px 15px rgba(35,34,18,.12)!important;
}
.category-tile:nth-child(n){border:0!important}
.category-tile img{
  object-fit:cover!important;
  object-position:center!important;
}
.category-tile:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border:1px solid rgba(21,58,41,.32)!important;
  z-index:3!important;
  pointer-events:none!important;
}
.category-tile:after{
  inset:48% 0 0!important;
  background:linear-gradient(to bottom,transparent,rgba(2,29,21,.92))!important;
}
.category-tile div{
  padding:44px 16px 15px!important;
  border-top:0!important;
}
.category-tile div:before{
  content:""!important;
  display:block!important;
  width:34px!important;
  height:2px!important;
  margin:0 0 9px!important;
  background:#f2c84a!important;
}
.category-tile strong{font-size:21px!important}
.category-tile span{font-size:9px!important;letter-spacing:.09em!important}

/* Store photos: more like a curated lookbook, less like scattered polaroids. */
.photo-stack{height:650px!important}
.photo-card{
  padding:7px 7px 34px!important;
  background:#f8efd9!important;
  border:1px solid #caa53a!important;
  outline:1px solid rgba(255,248,225,.85)!important;
  outline-offset:-4px!important;
  box-shadow:0 20px 38px rgba(0,0,0,.24)!important;
}
.photo-card img{
  object-fit:cover!important;
  object-position:center!important;
}
.photo-card figcaption{
  bottom:9px!important;
  font-size:12px!important;
  font-style:normal!important;
  letter-spacing:.02em!important;
}
.photo-card-1{transform:rotate(-2.5deg)!important}
.photo-card-2{transform:rotate(2.3deg)!important}
.photo-card-3{transform:rotate(.4deg)!important}
.photo-card-1:hover{transform:rotate(-1deg) translateY(-4px) scale(1.01)!important}
.photo-card-2:hover{transform:rotate(1deg) translateY(-4px) scale(1.01)!important}
.photo-card-3:hover{transform:rotate(0) translateY(-4px) scale(1.01)!important}

/* Gallery frames: lighter, more premium and consistent. */
.gallery-mosaic{gap:9px!important}
.gallery-item{
  border:1px solid rgba(119,83,18,.48)!important;
  outline:1px solid rgba(255,248,220,.8)!important;
  outline-offset:-6px!important;
  box-shadow:0 14px 28px rgba(54,38,13,.13)!important;
}
.gallery-item:after{
  content:""!important;
  position:absolute!important;
  inset:6px!important;
  border:1px solid rgba(255,236,174,.38)!important;
  pointer-events:none!important;
}
.gallery-item img{
  object-position:center!important;
  filter:saturate(1.02) contrast(1.015)!important;
}

@media(max-width:860px){
  .hero-sticker{
    left:3%!important;
    top:1%!important;
    min-width:118px!important;
    padding:9px 12px 8px!important;
    transform:rotate(-2deg)!important;
  }
  .hero-sticker strong{font-size:14px!important}
  .hero-sticker small{font-size:7px!important}
  .hero-photo-main{
    width:72%!important;
    left:14%!important;
    top:10%!important;
  }
  .hero-photo-top{
    width:29%!important;
    right:1%!important;
    top:2%!important;
  }
  .hero-photo-bottom{
    width:29%!important;
    left:1%!important;
    bottom:2%!important;
  }
  .category-wall{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:78%!important;
    gap:10px!important;
    padding:4px 4px 14px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .category-tile{
    aspect-ratio:1/1!important;
    scroll-snap-align:center!important;
  }
  .photo-stack{height:700px!important}
  .photo-card-1{width:70%!important;height:44%!important;left:0!important;top:0!important}
  .photo-card-2{width:69%!important;height:44%!important;right:0!important;top:28%!important}
  .photo-card-3{width:70%!important;height:42%!important;left:5%!important;bottom:0!important}
}

@media(max-width:560px){
  .hero-sticker{
    min-width:106px!important;
    padding:8px 10px 7px!important;
  }
  .hero-sticker strong{font-size:12px!important}
  .hero-sticker:before,.hero-sticker:after{width:12px!important}
  .hero-photo{outline-offset:3px!important}
  .hero-photo:after{inset:6px!important}
  .category-wall{grid-auto-columns:84%!important}
  .category-tile strong{font-size:24px!important}
  .category-tile span{font-size:10px!important}
}

/* === V10: conversion, motion and faster curtain rendering === */
.hero-curtain-shell,.hero-curtain{transition:none!important;animation:none!important;opacity:1!important}
.hero-curtain{backface-visibility:hidden;transform:translateZ(0)}

/* Bring the 01 / 02 / 03 strip closer to the bottom edge. */
.quick-reasons{bottom:18px!important}

/* Progressive enhancement: content remains visible without JS. */
.motion-ready .reveal{
  opacity:0!important;
  transform:translate3d(0,30px,0)!important;
  transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .82s cubic-bezier(.2,.7,.2,1)!important;
  will-change:opacity,transform;
}
.motion-ready .reveal.reveal-left{transform:translate3d(-38px,16px,0)!important}
.motion-ready .reveal.reveal-right{transform:translate3d(38px,16px,0)!important}
.motion-ready .reveal.reveal-scale{transform:translate3d(0,18px,0) scale(.975)!important}
.motion-ready .reveal.is-visible{opacity:1!important;transform:translate3d(0,0,0) scale(1)!important;will-change:auto}
.motion-ready .category-tile.reveal{transition-delay:var(--stagger,0ms)!important}
.motion-ready .photo-card.reveal{transition-delay:var(--stagger,0ms)!important}

/* Hero entrance is intentionally short so the first screen feels immediate. */
.motion-ready .hero-copy{animation:heroCopyIn .78s .05s both cubic-bezier(.16,.78,.2,1)}
.motion-ready .hero-stage{animation:heroStageIn .9s .12s both cubic-bezier(.16,.78,.2,1)}
@keyframes heroCopyIn{from{opacity:0;transform:translate3d(-20px,14px,0)}to{opacity:1;transform:none}}
@keyframes heroStageIn{from{opacity:0;transform:translate3d(24px,18px,0) scale(.985)}to{opacity:1;transform:none}}

/* Refined interactive polish. */
.btn{position:relative;isolation:isolate;overflow:hidden}
.btn:before{content:"";position:absolute;inset:-2px auto -2px -38%;width:24%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transition:left .62s ease;z-index:-1}
.btn:hover:before,.btn:focus-visible:before{left:116%}
.category-tile img,.gallery-item img,.photo-card img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease!important}
.category-tile:hover img,.gallery-item:hover img,.photo-card:hover img{transform:scale(1.045)!important;filter:saturate(1.07) contrast(1.025)!important}
.detail-row,.map-ticket,.faq details{transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}
.detail-row:hover,.map-ticket:hover,.faq details:hover{transform:translateY(-2px)}

@media(max-width:860px){.quick-reasons{margin-top:44px!important}}
@media(max-width:560px){.quick-reasons{margin-top:50px!important}}
@media(prefers-reduced-motion:reduce){
  .motion-ready .reveal,.motion-ready .hero-copy,.motion-ready .hero-stage{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .btn:before{display:none}
}

/* Instant LQIP curtain placeholder prevents a blank first frame while the optimized curtain decodes. */
.hero-curtain-shell{background-image:url("data:image/webp;base64,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")!important;background-repeat:no-repeat!important;background-position:top center!important;background-size:100% 100%!important}
@media(max-width:860px){.hero-curtain-shell{background-image:url("data:image/webp;base64,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")!important}}

/* Hero stays immediately readable while its internal lines get a fast staged entrance. */
.motion-ready .hero-copy.reveal,
.motion-ready .hero-stage.reveal{opacity:1!important;transform:none!important;transition:none!important}
.motion-ready .hero-copy>*,
.motion-ready .hero-stage>.hero-photo,
.motion-ready .hero-stage>.hero-sign,
.motion-ready .hero-stage>.hero-sticker{animation:heroDetailIn .62s both cubic-bezier(.16,.78,.2,1)}
.motion-ready .hero-copy>*:nth-child(1){animation-delay:.03s}
.motion-ready .hero-copy>*:nth-child(2){animation-delay:.10s}
.motion-ready .hero-copy>*:nth-child(3){animation-delay:.17s}
.motion-ready .hero-copy>*:nth-child(4){animation-delay:.24s}
.motion-ready .hero-copy>*:nth-child(5){animation-delay:.31s}
.motion-ready .hero-stage>.hero-photo-main{animation-delay:.12s}
.motion-ready .hero-stage>.hero-photo-top{animation-delay:.22s}
.motion-ready .hero-stage>.hero-photo-bottom{animation-delay:.30s}
.motion-ready .hero-stage>.hero-sign{animation-delay:.38s}
.motion-ready .hero-stage>.hero-sticker{animation-delay:.44s}
@keyframes heroDetailIn{from{opacity:0;translate:0 14px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-copy>*,.motion-ready .hero-stage>*{animation:none!important;opacity:1!important;translate:none!important;scale:1!important}}


/* === V11 DELIVERY PASS: polished gallery, themed Google map, scrollbar-free WA modal, responsive consistency === */

/* Gallery: one coherent editorial frame system, no arbitrary polygon crops. */
.gallery-section{isolation:isolate}
.gallery-mosaic{
  perspective:1200px!important;
  gap:16px!important;
  height:720px!important;
}
.gallery-item{
  --tilt-x:0deg;
  --tilt-y:0deg;
  --lift:0px;
  --img-x:0px;
  --img-y:0px;
  clip-path:none!important;
  border:1px solid rgba(118,82,19,.72)!important;
  outline:0!important;
  background:#132f24!important;
  box-shadow:0 16px 34px rgba(38,28,10,.17),0 0 0 7px #f8edcf,0 0 0 8px rgba(156,116,28,.62)!important;
  transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--lift))!important;
  transform-style:preserve-3d!important;
  transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s ease,filter .34s ease!important;
  will-change:transform!important;
}
.gallery-item:before{
  content:""!important;
  position:absolute!important;
  inset:10px!important;
  z-index:3!important;
  pointer-events:none!important;
  border:1px solid rgba(255,232,153,.55)!important;
  box-shadow:inset 0 0 0 1px rgba(8,45,32,.28)!important;
}
.gallery-item:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  border:0!important;
  background:
    linear-gradient(135deg,rgba(255,221,106,.9) 0 2px,transparent 2px) 7px 7px/28px 28px no-repeat,
    linear-gradient(225deg,rgba(255,221,106,.9) 0 2px,transparent 2px) calc(100% - 7px) 7px/28px 28px no-repeat,
    linear-gradient(45deg,rgba(255,221,106,.9) 0 2px,transparent 2px) 7px calc(100% - 7px)/28px 28px no-repeat,
    linear-gradient(315deg,rgba(255,221,106,.9) 0 2px,transparent 2px) calc(100% - 7px) calc(100% - 7px)/28px 28px no-repeat,
    linear-gradient(to top,rgba(2,25,18,.88),rgba(2,25,18,.25) 31%,transparent 55%)!important;
}
.gallery-item img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:translate3d(var(--img-x),var(--img-y),0) scale(1.035)!important;
  transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .38s ease!important;
}
.gallery-item figcaption{
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:20px!important;
  z-index:4!important;
  color:#fff!important;
  transform:translateZ(24px)!important;
  text-shadow:0 2px 12px rgba(0,0,0,.5)!important;
}
.gallery-item figcaption small{
  display:block!important;
  margin-bottom:5px!important;
  color:#f4ca4a!important;
  font-size:9px!important;
  line-height:1.1!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.gallery-item figcaption strong{
  display:block!important;
  max-width:290px!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:18px!important;
  line-height:1.12!important;
}
.gallery-item:hover,.gallery-item.is-tilting{
  --lift:-7px;
  box-shadow:0 27px 50px rgba(38,28,10,.24),0 0 0 7px #fff4d9,0 0 0 9px #d5aa36!important;
  z-index:5!important;
}
.gallery-item:hover img,.gallery-item.is-tilting img{filter:saturate(1.08) contrast(1.03)!important}
.gallery-a{grid-row:1/3!important}
.gallery-b,.gallery-c,.gallery-d,.gallery-e{clip-path:none!important}

/* Themed Google Maps section. The map remains Google Maps; the page frame, tint and controls carry the brand. */
.location-section{
  position:relative;
  overflow:hidden;
  padding:98px 0;
  background:
    radial-gradient(circle at 12% 15%,rgba(247,201,70,.12) 0 2px,transparent 2.5px) 0 0/90px 90px,
    linear-gradient(135deg,#032b20 0%,#075038 52%,#032f22 100%);
  color:#fff;
}
.location-section:before,.location-section:after{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  border:1px solid rgba(246,205,80,.12);
  transform:rotate(45deg);
  pointer-events:none;
}
.location-section:before{left:-210px;top:-190px}
.location-section:after{right:-215px;bottom:-205px}
.location-inner{
  position:relative;
  z-index:2;
  width:min(1180px,calc(100% - 48px));
  margin:auto;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  align-items:center;
  gap:58px;
}
.location-copy h2{
  margin:0;
  max-width:520px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(42px,4.8vw,67px);
  line-height:.98;
  letter-spacing:-.04em;
}
.location-copy>p:not(.kicker){max-width:510px;margin:22px 0;color:#e9e4d2;font-size:17px;line-height:1.65}
.location-copy address{
  margin:28px 0;
  padding:18px 0 18px 19px;
  border-left:3px solid var(--gold);
  font-style:normal;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.location-copy address span{font:700 20px/1.2 Georgia,'Times New Roman',serif;color:#fff6cf}
.location-copy address strong{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#e5c769}
.location-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}
.location-phone{display:flex;flex-direction:column;gap:4px;padding-left:18px;border-left:1px solid rgba(255,231,150,.3)}
.location-phone small{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#dfc676;font-weight:900}
.location-phone strong{font-family:Georgia,serif;font-size:17px}
.themed-map{
  position:relative;
  min-width:0;
  height:520px;
  padding:10px;
  background:#f3d366;
  border:1px solid #ffed9d;
  box-shadow:0 28px 70px rgba(0,0,0,.35),inset 0 0 0 4px #7a5a10;
  overflow:hidden;
}
.themed-map:before{
  content:"";
  position:absolute;
  inset:10px;
  z-index:2;
  pointer-events:none;
  border:2px solid rgba(2,49,35,.75);
  box-shadow:inset 0 0 0 1px rgba(255,234,157,.72);
}
.themed-map iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:sepia(.16) saturate(.8) hue-rotate(78deg) brightness(.9) contrast(1.05);
  transition:filter .35s ease,transform .45s cubic-bezier(.2,.8,.2,1);
}
.themed-map:hover iframe,.themed-map:focus-within iframe{filter:sepia(.04) saturate(.95) hue-rotate(30deg) brightness(.96) contrast(1.02);transform:scale(1.01)}
.map-frame-corners{position:absolute;inset:0;z-index:3;pointer-events:none}
.map-frame-corners:before,.map-frame-corners:after{
  content:"✦";
  position:absolute;
  top:16px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  background:#06402e;
  border:2px solid #f6d261;
  color:#f9dc70;
  font-size:11px;
  transform:rotate(45deg);
  box-shadow:0 5px 15px rgba(0,0,0,.2);
}
.map-frame-corners:before{left:16px}.map-frame-corners:after{right:16px}
.map-plaque{
  position:absolute;
  z-index:4;
  left:26px;
  bottom:26px;
  display:flex;
  align-items:center;
  gap:11px;
  max-width:calc(100% - 190px);
  padding:11px 15px;
  background:rgba(3,48,34,.93);
  color:#fff;
  border:1px solid rgba(255,224,111,.7);
  box-shadow:0 10px 24px rgba(0,0,0,.3);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.map-plaque-dot{width:13px;height:13px;background:#f6cf50;transform:rotate(45deg);box-shadow:0 0 0 4px rgba(246,207,80,.18)}
.map-plaque small{display:block;margin-bottom:2px;font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:#e6ca72;font-weight:900}
.map-plaque strong{font-family:Georgia,serif;font-size:16px}
.map-open{
  position:absolute;
  z-index:4;
  right:26px;
  bottom:26px;
  padding:12px 14px;
  background:#f8e6ad;
  color:#113b2a;
  border:1px solid #b38a20;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
  transition:transform .22s ease,background .22s ease;
}
.map-open:hover,.map-open:focus-visible{transform:translateY(-3px);background:#fff3cb}

/* Global responsive sanity pass. */
main,section,header,footer{min-width:0}
.hero-inner>*,.store-inner>*,.contact-inner>*,.location-inner>*{min-width:0}
.hero-copy,.store-copy,.contact-copy,.location-copy{overflow-wrap:anywhere}
.btn{max-width:100%;text-align:center}
iframe{max-width:100%}

@media(max-width:980px){
  .gallery-mosaic{height:650px!important;gap:13px!important}
  .location-inner{gap:38px;grid-template-columns:.9fr 1.1fr}
  .themed-map{height:460px}
}

@media(max-width:860px){
  .gallery-mosaic{
    height:auto!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:340px 290px 310px!important;
    gap:13px!important;
    perspective:none!important;
  }
  .gallery-item{transform:none!important;will-change:auto!important;box-shadow:0 14px 28px rgba(38,28,10,.14),0 0 0 5px #f8edcf,0 0 0 6px rgba(156,116,28,.55)!important}
  .gallery-item:hover,.gallery-item.is-tilting{transform:translateY(-4px)!important}
  .gallery-a{grid-row:1/3!important}
  .gallery-e{grid-column:1/3!important}
  .gallery-item figcaption{left:17px!important;right:17px!important;bottom:15px!important}
  .gallery-item figcaption strong{font-size:16px!important}
  .location-section{padding:78px 0 82px}
  .location-inner{width:calc(100% - 30px);grid-template-columns:1fr;gap:34px}
  .location-copy{text-align:center}
  .location-copy h2,.location-copy>p:not(.kicker){margin-left:auto;margin-right:auto}
  .location-copy address{max-width:560px;margin:26px auto;text-align:left}
  .location-actions{justify-content:center}
  .themed-map{height:470px}
  .map-plaque{max-width:calc(100% - 52px);right:26px;bottom:73px}
  .map-open{left:26px;right:26px;bottom:22px;text-align:center}
}

@media(max-width:620px){
  .gallery-section{padding-inline:0!important}
  .gallery-heading{width:calc(100% - 30px)!important}
  .gallery-mosaic{
    width:calc(100% - 30px)!important;
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    display:grid!important;
    gap:18px!important;
  }
  .gallery-item,.gallery-a,.gallery-b,.gallery-c,.gallery-d,.gallery-e{
    grid-column:auto!important;
    grid-row:auto!important;
    height:auto!important;
    aspect-ratio:4/3!important;
  }
  .gallery-a{aspect-ratio:4/5!important}
  .gallery-cta{width:calc(100% - 30px)!important;margin-top:34px!important}
  .location-section{padding:68px 0 72px}
  .location-inner{width:calc(100% - 24px)}
  .location-copy h2{font-size:40px}
  .location-copy>p:not(.kicker){font-size:15px}
  .location-actions{flex-direction:column;align-items:stretch;gap:14px}
  .location-actions .btn{width:100%}
  .location-phone{border-left:0;border-top:1px solid rgba(255,231,150,.3);padding:14px 0 0;align-items:center}
  .themed-map{height:400px;padding:7px}
  .themed-map:before{inset:7px}
  .map-frame-corners:before,.map-frame-corners:after{top:12px;width:30px;height:30px}.map-frame-corners:before{left:12px}.map-frame-corners:after{right:12px}
  .map-plaque{left:18px;right:18px;bottom:69px;max-width:none;padding:10px 12px}
  .map-open{left:18px;right:18px;bottom:17px;padding:11px 10px}
}

@media(max-width:390px){
  .gallery-mosaic{width:calc(100% - 24px)!important}
  .gallery-heading{width:calc(100% - 24px)!important}
  .gallery-item{aspect-ratio:1/1!important}
  .gallery-a{aspect-ratio:4/5!important}
  .location-copy h2{font-size:36px}
  .themed-map{height:360px}
  .map-plaque strong{font-size:14px}
}

@media(prefers-reduced-motion:reduce){
  .gallery-item,.gallery-item img,.themed-map iframe,.map-open{transition:none!important;transform:none!important}
}

/* === V13 — stable local icon system (layout-safe) === */

/* Header: icon is decorative and absolutely positioned, so it cannot break alignment. */
.header-contact{position:relative!important;padding-left:38px!important}
.header-phone-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:#f1cf5c;opacity:.95}

/* Button arrows preserve the exact existing gap/height. */
.button-arrow,.inline-arrow{width:13px;height:13px;transition:transform .22s ease}
.btn:hover .button-arrow,.btn:focus-visible .button-arrow,.story-banner a:hover .inline-arrow{transform:translateX(3px)}
.swipe-hint{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important}
.swipe-arrow{width:11px;height:11px}
.inline-chevron{width:11px;height:11px;margin-left:5px;transform:rotate(-90deg)}

/* Service ribbon: watermark icons, zero impact on document flow. */
.commercial-ribbon>div{position:relative;overflow:hidden}
.ribbon-ico{position:absolute;right:17px;top:15px;width:38px;height:38px;color:currentColor;opacity:.18;pointer-events:none;transform:skewX(4deg)}
.ribbon-gold .ribbon-ico{color:#173d2d;opacity:.19}

/* Magic divider: restrained, premium medallions. */
.magic-icon{width:38px;height:38px;display:grid!important;place-items:center;border:1px solid rgba(184,132,18,.28);background:rgba(255,250,231,.72);box-shadow:4px 4px 0 rgba(116,79,11,.08);font-size:16px!important}
.magic-icon .ico{width:16px;height:16px;color:#ae7a13}

/* Store highlights: fixed-size pictograms, no grid restructuring. */
.store-features span{display:flex!important;align-items:center;gap:10px}
.feature-ico{width:18px;height:18px;color:var(--gold);flex:0 0 18px}

/* Map and contact pictograms. */
.map-plaque-dot{display:grid!important;place-items:center!important;transform:none!important;width:30px!important;height:30px!important;background:#f6cf50!important;box-shadow:0 0 0 4px rgba(246,207,80,.14)!important}
.map-plaque-dot .ico{width:13px;height:13px;color:#174832}
.map-external{width:11px;height:11px;margin-left:7px}
.detail-icon{font-size:inherit!important}
.detail-icon .ico{width:18px;height:18px}
.map-ticket .pin{display:grid!important;place-items:center!important;clip-path:none!important;border-radius:50%!important;box-shadow:none!important;background:#1e5a40!important;border:2px solid #d5a62c!important}
.map-ticket .pin .ico{width:15px;height:15px;color:#ffe17b}

/* Mobile quick actions. */
.mobile-action-ico{width:31px!important;height:31px!important;display:grid!important;place-items:center!important;color:var(--gold)!important;font-size:inherit!important;border:1px solid rgba(245,198,66,.23);background:rgba(255,255,255,.04)}
.mobile-action-ico .ico{width:13px;height:13px}

/* FAQ: a single chevron replaces typographic +/- without touching summary layout. */
.faq summary:after{content:""!important;position:absolute!important;right:8px!important;top:50%!important;width:13px!important;height:13px!important;background:var(--gold)!important;transform:translateY(-50%) rotate(0deg)!important;-webkit-mask:url('assets/icons/chevron-down.svg') center/contain no-repeat!important;mask:url('assets/icons/chevron-down.svg') center/contain no-repeat!important;transition:transform .24s ease!important}
.faq details[open] summary:after{transform:translateY(-50%) rotate(180deg)!important}

@media(max-width:860px){
  .header-contact{display:none!important}
  .ribbon-ico{width:32px;height:32px;right:14px;top:13px;transform:none}
  .magic-icon{width:34px;height:34px;flex:0 0 34px}
  .magic-icon .ico{width:14px;height:14px}
}
@media(max-width:560px){
  .ribbon-ico{width:29px;height:29px;opacity:.16}
  .feature-ico{width:16px;height:16px;flex-basis:16px}
}
@media(prefers-reduced-motion:reduce){.button-arrow,.submit-arrow,.faq summary:after{transition:none!important}}



/* Center all main content containers consistently without changing their designed widths. */
.hero-inner,
.quick-reasons,
.section-heading,
.category-wall,
.commercial-ribbon,
.how-section,
.magic-band,
.store-inner,
.gallery-heading,
.gallery-mosaic,
.gallery-cta,
.location-inner,
.contact-inner,
.faq,
.footer-inner{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* The category swipe cue now behaves like part of the carousel instead of floating off-axis. */
.swipe-hint{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Mobile curtain: use the stable viewport height, remove GPU transforms and dynamic-vh resizing.
   This prevents the tiny "breathing"/jitter caused by browser chrome changing the dvh value. */
@media(max-width:860px){
  .hero-curtain-shell{
    left:0!important;
    right:0!important;
    top:0!important;
    width:100%!important;
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    overflow:hidden!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    will-change:auto!important;
    contain:paint!important;
  }
  .hero-curtain{
    width:100%!important;
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    object-fit:fill!important;
    object-position:top center!important;
    transform:none!important;
    translate:none!important;
    scale:1!important;
    backface-visibility:visible!important;
    will-change:auto!important;
  }

  /* Keep the content optically centered inside the mobile safe column. */
  .hero-inner,
  .quick-reasons,
  .section-heading,
  .commercial-ribbon,
  .how-section,
  .magic-band,
  .store-inner,
  .gallery-heading,
  .gallery-mosaic,
  .gallery-cta,
  .location-inner,
  .contact-inner,
  .faq,
  .footer-inner{
    width:calc(100% - 30px)!important;
    max-width:720px!important;
  }

  .hero-copy,
  .section-heading,
  .gallery-heading{
    text-align:center!important;
  }
  .hero-copy{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hero-copy .hero-text{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hero-actions,
  .hero-notes{
    justify-content:center!important;
  }

  /* The carousel itself remains full enough to show the next card edge,
     while the section title and surrounding blocks stay centered. */
  .category-wall{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:clamp(15px,4vw,28px)!important;
    padding-right:clamp(15px,4vw,28px)!important;
    scroll-padding-inline:clamp(15px,4vw,28px)!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
    scroll-behavior:smooth!important;
  }
  .category-wall::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .category-tile{
    scroll-snap-align:center!important;
    scroll-snap-stop:normal!important;
  }
  .swipe-hint{
    width:auto!important;
    max-width:calc(100% - 30px)!important;
    justify-content:center!important;
    text-align:center!important;
    margin-top:12px!important;
    color:#765718!important;
  }
  .swipe-arrow{
    animation:categoryHint 1.45s ease-in-out infinite!important;
  }

  /* Keep content groups internally balanced on small screens. */
  .commercial-ribbon{text-align:center!important}
  .store-features{justify-items:start!important}
  .contact-actions{align-items:center!important}
  .footer-inner{justify-content:center!important}
}

@keyframes categoryHint{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(5px)}
}

@media(max-width:560px){
  .hero-inner,
  .quick-reasons,
  .section-heading,
  .commercial-ribbon,
  .how-section,
  .magic-band,
  .store-inner,
  .gallery-heading,
  .gallery-mosaic,
  .gallery-cta,
  .location-inner,
  .contact-inner,
  .faq,
  .footer-inner{
    width:calc(100% - 24px)!important;
  }
  .category-wall{
    width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
    scroll-padding-inline:12px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .swipe-arrow{animation:none!important}
}

/* V14.1 — precise mobile carousel centering */
@media (min-width:561px) and (max-width:860px){
  .category-wall{padding-left:11vw!important;padding-right:11vw!important;scroll-padding-inline:11vw!important}
}
@media (max-width:560px){
  .category-wall{padding-left:8vw!important;padding-right:8vw!important;scroll-padding-inline:8vw!important}
}

/* === V16: inline SVG icon system — no masks, no glyph fallbacks, no square rendering === */
.svg-icon{
  display:inline-block;
  width:1em;
  height:1em;
  flex:0 0 auto;
  overflow:visible;
  fill:currentColor;
  stroke:none;
  vertical-align:-.12em;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}

/* Preserve the intended dimensions of each contextual icon. */
.header-phone-ico{width:15px!important;height:15px!important}
.button-arrow,.inline-arrow{width:13px!important;height:13px!important}
.swipe-arrow{width:11px!important;height:11px!important}
.inline-chevron{width:11px!important;height:11px!important}
.ribbon-ico{width:38px!important;height:38px!important;background:none!important}
.feature-ico{width:18px!important;height:18px!important;background:none!important}
.map-external{width:11px!important;height:11px!important;background:none!important}
.magic-icon .svg-icon{width:16px!important;height:16px!important;color:#ae7a13!important}
.detail-icon .svg-icon{width:18px!important;height:18px!important}
.map-ticket .pin .svg-icon{width:15px!important;height:15px!important;color:#ffe17b!important}
.map-plaque-dot .svg-icon{width:13px!important;height:13px!important;color:#174832!important}
.mobile-action-ico .svg-icon{width:13px!important;height:13px!important}

/* Remove the old icon boxes: holders become refined round medallions. */
.magic-icon{
  width:38px!important;height:38px!important;border-radius:50%!important;
  border:1px solid rgba(184,132,18,.30)!important;
  background:radial-gradient(circle at 35% 28%,#fffef8 0,#f6e8bd 72%,#e3c675 100%)!important;
  box-shadow:0 5px 12px rgba(90,58,8,.10),inset 0 0 0 3px rgba(255,255,255,.38)!important;
}
.detail-icon{
  width:44px!important;height:44px!important;border-radius:50%!important;
  border:1px solid rgba(245,198,66,.60)!important;
  background:rgba(255,255,255,.045)!important;
  box-shadow:inset 0 0 0 4px rgba(245,198,66,.045)!important;
}
.mobile-action-ico{
  width:30px!important;height:30px!important;border-radius:50%!important;
  border:1px solid rgba(245,198,66,.28)!important;
  background:rgba(255,255,255,.045)!important;
  box-shadow:none!important;
}
.map-plaque-dot{border-radius:50%!important}

/* FAQ uses pure CSS geometry instead of an SVG mask, so it cannot render as a box. */
.faq summary:after{
  content:""!important;
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  width:8px!important;
  height:8px!important;
  background:transparent!important;
  border-right:2px solid var(--gold)!important;
  border-bottom:2px solid var(--gold)!important;
  -webkit-mask:none!important;
  mask:none!important;
  transform:translateY(-65%) rotate(45deg)!important;
  transition:transform .24s ease!important;
}
.faq details[open] summary:after{transform:translateY(-35%) rotate(225deg)!important}

/* Neutralize the obsolete mask class if anything hidden from an old cache survives. */
.ico{background:transparent!important;-webkit-mask:none!important;mask:none!important}

@media(max-width:860px){
  .ribbon-ico{width:32px!important;height:32px!important}
  .magic-icon{width:34px!important;height:34px!important}
  .magic-icon .svg-icon{width:14px!important;height:14px!important}
  .detail-icon{width:40px!important;height:40px!important}
}
@media(max-width:560px){
  .ribbon-ico{width:29px!important;height:29px!important}
  .feature-ico{width:16px!important;height:16px!important}
}


/* === V17: desktop quick-reasons placement === */
@media (min-width:861px){
  .hero{
    padding-bottom:210px!important;
  }

  .quick-reasons{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(980px,calc(100% - 64px))!important;
    margin:72px auto 0!important;
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    align-items:stretch!important;
    justify-content:center!important;
    background:rgba(1,38,27,.82)!important;
    border-top:1px solid rgba(255,255,255,.15)!important;
    border-bottom:1px solid rgba(255,255,255,.15)!important;
    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
    z-index:6!important;
  }

  .quick-reasons div{
    min-height:86px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    padding:18px 26px!important;
    text-align:left!important;
  }

  .quick-reasons strong{
    flex:0 0 auto!important;
    min-width:42px!important;
    text-align:center!important;
  }

  .quick-reasons span{
    max-width:220px!important;
  }
}


/* === V18: category click galleries === */
.category-tile{
  cursor:pointer!important;
  isolation:isolate;
}
.category-tile:focus-visible{
  outline:3px solid #f4c63d!important;
  outline-offset:4px!important;
}
.category-view{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:max-content!important;
  margin-top:10px!important;
  padding:6px 9px!important;
  border:1px solid rgba(255,231,149,.55)!important;
  background:rgba(0,0,0,.18)!important;
  color:#fff3bd!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  opacity:.92!important;
  transition:background .2s ease,color .2s ease,transform .2s ease!important;
}
.category-view svg{width:11px;height:11px;fill:currentColor;flex:0 0 auto}
.category-tile:hover .category-view,
.category-tile:focus-visible .category-view{
  background:#f1c545!important;
  color:#173e2c!important;
  transform:translateY(-1px)!important;
}

/* Modal */
body.category-gallery-open{overflow:hidden}
.category-gallery-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:24px;
  visibility:hidden;
  opacity:0;
  transition:opacity .28s ease,visibility .28s ease;
}
.category-gallery-modal.is-open{visibility:visible;opacity:1}
.category-gallery-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,24,17,.82);
  backdrop-filter:blur(13px) saturate(.9);
  -webkit-backdrop-filter:blur(13px) saturate(.9);
}
.category-gallery-dialog{
  position:relative;
  z-index:1;
  width:min(1040px,100%);
  max-height:min(92svh,900px);
  overflow:auto;
  scrollbar-width:none;
  color:#173e2c;
  background:
    radial-gradient(circle at 92% 7%,rgba(244,198,61,.16),transparent 24%),
    linear-gradient(180deg,#fff8e8,#f7ecd2);
  border:1px solid #d4aa31;
  box-shadow:0 32px 80px rgba(0,0,0,.42),inset 0 0 0 6px rgba(255,255,255,.38);
  padding:34px 36px 30px;
  transform:translateY(16px) scale(.985);
  transition:transform .3s cubic-bezier(.2,.75,.2,1);
}
.category-gallery-dialog::-webkit-scrollbar{display:none}
.category-gallery-modal.is-open .category-gallery-dialog{transform:none}
.category-gallery-dialog:before{
  content:"";
  position:absolute;
  inset:8px;
  pointer-events:none;
  border:1px solid rgba(122,83,12,.18);
}
.category-gallery-close{
  position:absolute;
  z-index:4;
  top:18px;
  right:18px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,233,163,.36);
  background:#063d2b;
  color:#ffe37a;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.category-gallery-close svg{width:16px;height:16px;fill:currentColor}
.category-gallery-head{text-align:center;padding:2px 56px 20px}
.category-gallery-head .kicker{margin-bottom:9px}
.category-gallery-head h3{
  margin:0;
  color:#0b563b;
  font:800 clamp(34px,4vw,54px)/1 Georgia,'Times New Roman',serif;
  letter-spacing:-.035em;
}
.category-gallery-head>p:last-child{
  max-width:620px;
  margin:12px auto 0;
  color:#5f665d;
  line-height:1.55;
}
.category-gallery-stage{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 54px;
  align-items:center;
  gap:15px;
}
.category-gallery-main{
  position:relative;
  margin:0;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#102f24;
  border:1px solid #bd9229;
  outline:1px solid rgba(255,255,255,.82);
  outline-offset:-7px;
  box-shadow:0 18px 34px rgba(58,40,8,.17);
}
.category-gallery-main:after{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(255,233,153,.45);
  pointer-events:none;
}
.category-gallery-main img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:linear-gradient(135deg,#113d2d,#07291f);
  transition:opacity .18s ease,transform .32s ease;
}
.category-gallery-main.is-changing img{opacity:.15;transform:scale(.985)}
.category-gallery-main figcaption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:2;
  width:max-content;
  max-width:calc(100% - 36px);
  padding:9px 12px;
  color:#fff7df;
  background:rgba(3,48,34,.84);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  border-left:3px solid #f2c742;
}
.category-gallery-nav{
  width:48px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid #d0a12d;
  background:#0a543b;
  color:#ffe482;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease;
}
.category-gallery-nav:hover{transform:scale(1.05);background:#086346}
.category-gallery-nav svg{width:15px;height:20px;fill:currentColor}
.category-gallery-thumbs{
  display:flex;
  justify-content:flex-start;
  gap:9px;
  margin:16px auto 0;
  overflow-x:auto;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
  scroll-padding-inline:45%;
  overscroll-behavior-inline:contain;
  padding:3px;
}
.category-gallery-thumbs::-webkit-scrollbar{display:none}
.category-gallery-thumb{
  flex:0 0 92px;
  width:92px;
  height:70px;
  padding:3px;
  border:1px solid rgba(112,79,14,.32);
  background:#fff8e6;
  cursor:pointer;
  opacity:.72;
  transition:opacity .2s ease,transform .2s ease,border-color .2s ease;
  scroll-snap-align:center;
}
.category-gallery-thumb:hover,
.category-gallery-thumb.is-active{opacity:1;transform:translateY(-2px);border-color:#0d6a49}
.category-gallery-thumb.is-active{box-shadow:0 0 0 2px #e7bc3b}
.category-gallery-thumb img{width:100%;height:100%;object-fit:cover}
.category-gallery-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(123,91,22,.2);
}
.category-gallery-foot p{
  max-width:600px;
  margin:0;
  color:#646a61;
  font-size:12px;
  line-height:1.5;
}
.category-gallery-foot .btn{flex:0 0 auto}

@media(max-width:860px){
  .category-view{font-size:9px!important;padding:7px 10px!important}
  .category-gallery-modal{padding:10px}
  .category-gallery-dialog{
    width:100%;
    max-height:94svh;
    padding:28px 16px 22px;
  }
  .category-gallery-close{top:12px;right:12px;width:40px;height:40px}
  .category-gallery-head{padding:8px 42px 16px}
  .category-gallery-head h3{font-size:36px}
  .category-gallery-head>p:last-child{font-size:13px}
  .category-gallery-stage{
    grid-template-columns:1fr;
    gap:0;
  }
  .category-gallery-main{aspect-ratio:1/1}
  .category-gallery-nav{
    position:absolute;
    z-index:3;
    top:50%;
    width:42px;
    height:52px;
    transform:translateY(-50%);
    background:rgba(5,62,43,.88);
  }
  .category-gallery-nav:hover{transform:translateY(-50%)}
  .category-gallery-prev{left:9px}
  .category-gallery-next{right:9px}
  .category-gallery-main figcaption{left:12px;right:12px;bottom:12px;max-width:calc(100% - 24px)}
  .category-gallery-thumbs{justify-content:flex-start;padding:5px 2px 6px}
  .category-gallery-thumb{flex-basis:78px;width:78px;height:60px}
  .category-gallery-foot{
    flex-direction:column;
    align-items:stretch;
    text-align:center;
    gap:14px;
  }
  .category-gallery-foot .btn{width:100%}
}
@media(max-width:420px){
  .category-gallery-modal{padding:0}
  .category-gallery-dialog{
    max-height:100svh;
    min-height:100svh;
    padding:22px 12px 18px;
    border-left:0;
    border-right:0;
  }
  .category-gallery-head{padding-top:18px}
  .category-gallery-head h3{font-size:31px}
  .category-gallery-main{aspect-ratio:4/5}
}
@media(prefers-reduced-motion:reduce){
  .category-gallery-modal,
  .category-gallery-dialog,
  .category-gallery-main img,
  .category-gallery-thumb,
  .category-gallery-nav{transition:none!important}
}

/* =========================================================
   Gallery viewport fit — keeps the complete modal inside screen
   ========================================================= */
.category-gallery-dialog{
  height:min(92svh,900px);
  height:min(92dvh,900px);
  max-height:min(92svh,900px);
  max-height:min(92dvh,900px);
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto auto;
}
.category-gallery-stage{
  min-height:0;
  height:100%;
}
.category-gallery-main{
  min-height:0;
  height:100%;
  aspect-ratio:auto;
}
.category-gallery-main img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.category-gallery-thumbs{
  width:100%;
  max-width:100%;
  min-width:0;
}

@media(max-width:860px){
  .category-gallery-modal{
    padding:clamp(6px,1.5vw,10px);
  }
  .category-gallery-dialog{
    height:calc(100svh - 20px);
    height:calc(100dvh - 20px);
    max-height:calc(100svh - 20px);
    max-height:calc(100dvh - 20px);
    min-height:0;
    overflow:hidden;
    grid-template-rows:auto minmax(0,1fr) auto auto;
  }
  .category-gallery-stage{
    min-height:0;
    height:100%;
  }
  .category-gallery-main{
    width:100%;
    height:100%;
    min-height:0;
    aspect-ratio:auto;
  }
  .category-gallery-thumbs{
    flex:0 0 auto;
    margin-top:10px;
  }
  .category-gallery-foot{
    flex:0 0 auto;
    margin-top:10px;
    padding-top:10px;
    gap:10px;
  }
}

@media(max-width:420px){
  .category-gallery-modal{padding:0}
  .category-gallery-dialog{
    width:100%;
    height:100svh;
    height:100dvh;
    max-height:100svh;
    max-height:100dvh;
    min-height:0;
    padding:14px 10px 12px;
    grid-template-rows:auto minmax(0,1fr) auto auto;
  }
  .category-gallery-head{
    padding:4px 42px 10px;
  }
  .category-gallery-head .kicker{margin-bottom:5px}
  .category-gallery-head h3{
    font-size:clamp(25px,8vw,31px);
    line-height:1.02;
  }
  .category-gallery-head>p:last-child{
    margin-top:7px;
    line-height:1.35;
  }
  .category-gallery-stage,
  .category-gallery-main{
    height:100%;
    min-height:0;
  }
  .category-gallery-thumb{
    flex-basis:68px;
    width:68px;
    height:52px;
  }
  .category-gallery-foot{
    margin-top:8px;
    padding-top:8px;
    gap:8px;
  }
  .category-gallery-foot p{
    font-size:10px;
    line-height:1.35;
  }
  .category-gallery-foot .btn{
    min-height:40px;
    padding-top:10px;
    padding-bottom:10px;
  }
}

@media(max-height:700px){
  .category-gallery-dialog{
    padding-top:16px;
    padding-bottom:14px;
  }
  .category-gallery-head{
    padding-top:0;
    padding-bottom:10px;
  }
  .category-gallery-head .kicker{display:none}
  .category-gallery-head h3{font-size:clamp(26px,4vw,38px)}
  .category-gallery-head>p:last-child{
    margin-top:6px;
    font-size:11px;
    line-height:1.3;
  }
  .category-gallery-thumbs{margin-top:8px}
  .category-gallery-thumb{
    flex-basis:64px;
    width:64px;
    height:48px;
  }
  .category-gallery-foot{
    margin-top:8px;
    padding-top:8px;
  }
  .category-gallery-foot p{font-size:10px;line-height:1.3}
  .category-gallery-foot .btn{min-height:38px;padding:9px 14px}
}


/* === FINAL: structurally isolated mobile navigation; viewport-fixed and scroll-safe === */
.mobile-menu-layer{display:none}

@media(max-width:860px){
  body.mobile-menu-open{overflow:hidden!important}

  .site-header,
  .site-header.scrolled{
    position:fixed!important;
    inset:0 0 auto 0!important;
    width:100%!important;
    height:var(--header-h)!important;
    min-height:var(--header-h)!important;
    z-index:700!important;
    transform:none!important;
    -webkit-transform:none!important;
    filter:none!important;
    contain:none!important;
    isolation:auto!important;
  }

  .nav-wrap,
  .site-header.scrolled .nav-wrap{
    position:relative!important;
    width:calc(100% - 8px)!important;
    height:var(--header-h)!important;
    min-height:var(--header-h)!important;
    overflow:visible!important;
    z-index:auto!important;
  }

  /* Desktop nav is never reused as the mobile dropdown. */
  .nav-wrap>#menu,
  .site-header.scrolled .nav-wrap>#menu{
    display:none!important;
    position:static!important;
  }

  .menu-toggle{
    display:block!important;
    position:absolute!important;
    right:10px!important;
    top:50%!important;
    left:auto!important;
    margin:0!important;
    transform:translateY(-50%)!important;
    -webkit-transform:translateY(-50%)!important;
    justify-self:auto!important;
    z-index:702!important;
    touch-action:manipulation!important;
  }

  .mobile-menu-layer{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:650!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:none!important;
    -webkit-transform:none!important;
    transition:opacity .18s ease,visibility .18s ease!important;
  }
  .mobile-menu-layer.is-open{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  .mobile-menu-backdrop{
    position:absolute!important;
    inset:var(--header-h) 0 0 0!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:rgba(0,18,13,.32)!important;
    -webkit-backdrop-filter:blur(2px)!important;
    backdrop-filter:blur(2px)!important;
    cursor:default!important;
  }

  .mobile-menu-panel{
    position:absolute!important;
    top:calc(var(--header-h) + 7px)!important;
    left:7px!important;
    right:7px!important;
    bottom:auto!important;
    width:auto!important;
    max-height:calc(100svh - var(--header-h) - 14px)!important;
    max-height:calc(100dvh - var(--header-h) - 14px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    margin:0!important;
    padding:8px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    background:rgba(3,39,29,.985)!important;
    border:1px solid rgba(255,229,137,.28)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.38)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;
    backdrop-filter:blur(18px) saturate(1.1)!important;
    transform:translateY(-6px)!important;
    transition:transform .2s ease!important;
    scrollbar-width:none!important;
  }
  .mobile-menu-layer.is-open .mobile-menu-panel{transform:translateY(0)!important}
  .mobile-menu-panel::-webkit-scrollbar{display:none!important}
  .mobile-menu-panel a{
    width:100%!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:13px 14px!important;
    color:#fff8e3!important;
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.11)!important;
    border-radius:0!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:900!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
    text-align:center!important;
    text-shadow:0 2px 8px rgba(0,0,0,.42)!important;
  }
  .mobile-menu-panel a:last-child{border-bottom:0!important}
  .mobile-menu-panel a.active,
  .mobile-menu-panel a:hover,
  .mobile-menu-panel a:focus-visible{
    color:#ffe16a!important;
    background:rgba(255,255,255,.065)!important;
    box-shadow:inset 3px 0 0 #f5c642!important;
  }
}

@media(max-width:560px){
  .mobile-menu-panel{
    top:calc(var(--header-h) + 5px)!important;
    left:5px!important;
    right:5px!important;
    max-height:calc(100svh - var(--header-h) - 10px)!important;
    max-height:calc(100dvh - var(--header-h) - 10px)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .mobile-menu-layer,
  .mobile-menu-panel{transition:none!important}
}


/* ===== Ajustes finais solicitados pelo cliente · 14/09/2026 ===== */
.header-whatsapp{border-color:rgba(62,214,116,.4)!important}
.header-whatsapp:hover{background:rgba(42,185,93,.12)!important}
.btn-whatsapp,.whatsapp-primary{white-space:nowrap}

/* Hero com fotografias reais e composição orgânica, sem molduras quadradas. */
.hero-stage{isolation:isolate}
.hero-photo{
  border:0!important;
  outline:0!important;
  box-shadow:0 24px 55px rgba(0,0,0,.28)!important;
  clip-path:none!important;
  overflow:hidden!important;
  background:#0a3d2c!important;
}
.hero-photo:after{display:none!important}
.hero-photo-main{
  width:62%!important;height:79%!important;left:19%!important;top:8%!important;
  border-radius:48% 52% 42% 58% / 42% 42% 58% 58%!important;
  transform:rotate(-1.6deg)!important;
}
.hero-photo-top{
  width:31.5%!important;height:35%!important;right:5%!important;top:5%!important;
  border-radius:55% 45% 52% 48% / 45% 55% 45% 55%!important;
  transform:rotate(3.8deg)!important;
  z-index:5!important;
}
.hero-photo-bottom{
  width:30.5%!important;height:38%!important;left:5%!important;bottom:4%!important;
  border-radius:44% 56% 48% 52% / 58% 42% 58% 42%!important;
  transform:rotate(-3.6deg)!important;
  z-index:5!important;
}
.hero-photo-main img{object-position:center 50%!important}
.hero-photo-top img{object-position:center 38%!important}
.hero-photo-bottom img{object-position:center 34%!important}
.hero-brandmark{
  position:absolute;right:5%;bottom:7%;z-index:7;width:190px;min-height:160px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:10px 16px 13px;border-radius:50%;background:rgba(2,40,29,.94);
  border:2px solid #e8b92e;box-shadow:0 18px 40px rgba(0,0,0,.32);backdrop-filter:blur(6px);
}
.hero-brandmark img{width:126px;height:auto;max-height:118px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.22))}
.hero-brandmark span{font-size:9px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#f9e7ae;text-align:center}

/* Categorias com fotos reais em cartões mais leves e naturais. */
.category-wall{
  border:0!important;box-shadow:none!important;gap:12px!important;background:transparent!important;
}
.category-tile{
  border:0!important;border-radius:22px!important;min-height:350px!important;
  box-shadow:0 15px 34px rgba(40,44,30,.14)!important;background:#0b3327!important;
}
.category-tile img{object-position:center center!important}
.category-tile:after{background:linear-gradient(to bottom,transparent 25%,rgba(2,27,20,.93) 100%)!important}
.category-tile div{border-top:0!important;padding:66px 18px 20px!important}
.category-tile div:before{display:none!important}

/* Google Reviews */
.reviews-section{position:relative;padding:96px 0;background:#f6f0e1;border-top:1px solid rgba(89,65,19,.08);border-bottom:1px solid rgba(89,65,19,.08);overflow:hidden}
.reviews-section:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(232,185,46,.16),transparent 70%);right:-120px;top:-130px;pointer-events:none}
.reviews-inner{position:relative;z-index:1;width:min(1120px,calc(100% - 190px));margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.reviews-copy h2{font-family:Georgia,serif;font-size:clamp(38px,4.2vw,62px);line-height:1.02;color:#103a2b;margin:10px 0 18px;max-width:720px}
.reviews-copy>p:not(.kicker){font-size:17px;line-height:1.7;color:#4e5f55;max-width:650px;margin-bottom:24px}
.google-rating-card{display:block;text-decoration:none;color:#163d2e;background:#fff;border:1px solid rgba(15,71,51,.12);border-radius:26px;padding:34px 36px;box-shadow:0 24px 58px rgba(67,56,28,.13);transition:transform .25s ease,box-shadow .25s ease}
.google-rating-card:hover{transform:translateY(-5px);box-shadow:0 30px 68px rgba(67,56,28,.18)}
.google-wordmark{display:inline-flex;font-weight:900;letter-spacing:-.03em;font-size:22px;color:#33423a;margin-bottom:20px}
.google-score-row{display:flex;align-items:center;gap:18px;margin-bottom:12px}
.google-score-row>strong{font-family:Georgia,serif;font-size:64px;line-height:1;color:#103a2b}
.google-stars{display:flex;gap:2px;font-size:25px;line-height:1}
.google-stars span{color:#efb72b}
.google-stars .star-partial{background:linear-gradient(90deg,#efb72b 40%,#d7d7d7 40%);-webkit-background-clip:text;background-clip:text;color:transparent}
.google-rating-card p{margin:8px 0 18px;color:#53635b;font-size:15px}
.google-rating-card p strong{color:#153d2e}
.google-open{font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:#0a6849}

/* WhatsApp flutuante no desktop. */
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:125;display:flex;align-items:center;gap:10px;min-height:54px;padding:0 16px 0 18px;border-radius:999px;background:#1fa955;color:#fff;box-shadow:0 16px 36px rgba(0,0,0,.28);font-weight:900;font-size:13px;letter-spacing:.02em;transition:transform .2s ease,box-shadow .2s ease}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(0,0,0,.33)}
.whatsapp-float svg{width:20px;height:20px;fill:currentColor}

@media(max-width:1100px){
  .reviews-inner{width:calc(100% - 78px);gap:42px}
  .hero-brandmark{width:165px;min-height:145px;right:3%;bottom:4%}
  .hero-brandmark img{width:108px}
}
@media(max-width:860px){
  .reviews-section{padding:78px 0}
  .reviews-inner{width:calc(100% - 48px);grid-template-columns:1fr;gap:30px}
  .google-rating-card{max-width:560px;width:100%}
  .hero-photo-main{width:68%!important;height:76%!important;left:16%!important}
  .hero-photo-top{width:31.5%!important;height:32%!important;right:4%!important;top:5%!important}
  .hero-photo-bottom{width:31%!important;height:36%!important;left:4%!important;bottom:4%!important}
  .hero-brandmark{width:145px;min-height:124px;right:4%;bottom:2%}
  .hero-brandmark img{width:92px;max-height:86px}
  .hero-brandmark span{font-size:8px}
}
@media(max-width:640px){
  .reviews-inner{width:calc(100% - 32px)}
  .reviews-copy h2{font-size:40px}
  .google-rating-card{padding:27px 24px;border-radius:20px}
  .google-score-row>strong{font-size:54px}
  .google-stars{font-size:22px}
  .whatsapp-float{display:none}
  .mobile-actions{grid-template-columns:repeat(3,1fr)!important;height:68px!important}
  .mobile-actions a{gap:5px!important;flex-direction:column!important;font-size:9px!important;line-height:1.05!important;padding:7px 3px!important}
  .mobile-actions a+a{border-left:1px solid rgba(255,255,255,.18)!important}
  .mobile-actions .mobile-action-ico{font-size:16px!important;height:18px}
  .hero-stage{height:430px!important}
  .hero-photo-main{width:72%!important;height:77%!important;left:14%!important;top:10%!important}
  .hero-photo-top{width:33%!important;height:30%!important;right:4%!important;top:4%!important}
  .hero-photo-bottom{width:32%!important;height:33%!important;left:4%!important;bottom:4%!important}
  .hero-brandmark{width:118px;min-height:106px;right:4%;bottom:5%;padding:7px 10px 10px}
  .hero-brandmark img{width:75px;max-height:72px}
  .hero-brandmark span{font-size:7px}
  .category-wall{gap:10px!important}
  .category-tile{border-radius:18px!important;min-height:390px!important}
}
@media(max-width:390px){
  .hero-stage{height:395px!important}
  .hero-brandmark{width:106px;min-height:96px}
  .reviews-copy h2{font-size:36px}
  .google-score-row{gap:12px}
}

/* === V22: categorias reorganizadas, editoriais e sem recortes quadrados === */
.fantasias-section .section-heading{max-width:820px!important}
.category-wall{
  width:min(1180px,calc(100% - 150px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:18px!important;
  padding:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  scroll-snap-type:none!important;
}
.category-wall .category-tile{
  grid-column:span 3!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  aspect-ratio:4/5!important;
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(13,62,43,.12)!important;
  border-radius:20px!important;
  outline:0!important;
  background:#0b3327!important;
  box-shadow:0 14px 34px rgba(48,48,31,.12)!important;
  scroll-snap-align:none!important;
  transform:none!important;
  isolation:isolate!important;
}
.category-wall .category-tile:nth-last-child(3){grid-column:2 / span 3!important}
.category-wall .category-tile:nth-last-child(2){grid-column:5 / span 3!important}
.category-wall .category-tile:nth-last-child(1){grid-column:8 / span 3!important}
.category-wall .category-tile img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:var(--cover-pos,center center)!important;
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease!important;
}
.category-wall .category-tile:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  border:0!important;
  background:linear-gradient(180deg,rgba(3,26,19,.02) 28%,rgba(3,26,19,.2) 52%,rgba(3,26,19,.92) 100%)!important;
}
.category-wall .category-tile:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(120deg,rgba(255,255,255,.11),transparent 25%)!important;
  opacity:.42!important;
}
.category-wall .category-tile>div{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:3!important;
  padding:46px 18px 18px!important;
  border:0!important;
  color:#fff!important;
}
.category-wall .category-tile>div:before{display:none!important}
.category-wall .category-tile strong{
  display:block!important;
  margin:0!important;
  font-family:Georgia,serif!important;
  font-size:clamp(22px,1.75vw,28px)!important;
  line-height:1.02!important;
  letter-spacing:-.02em!important;
  text-shadow:0 2px 14px rgba(0,0,0,.28)!important;
}
.category-wall .category-tile span{
  display:block!important;
  margin:8px 0 13px!important;
  max-width:220px!important;
  color:#f8ecc8!important;
  font-size:10px!important;
  line-height:1.35!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
.category-wall .category-view{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:max-content!important;
  padding:7px 10px!important;
  border:1px solid rgba(255,220,111,.68)!important;
  border-radius:999px!important;
  background:rgba(3,34,24,.58)!important;
  color:#ffe386!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  opacity:.96!important;
  transform:none!important;
  backdrop-filter:blur(4px)!important;
}
.category-wall .category-view svg{width:11px!important;height:11px!important;fill:currentColor!important}
.category-wall .category-tile:hover,
.category-wall .category-tile:focus-visible{
  transform:translateY(-5px)!important;
  box-shadow:0 22px 42px rgba(34,49,31,.18)!important;
  border-color:rgba(197,153,38,.34)!important;
}
.category-wall .category-tile:hover img,
.category-wall .category-tile:focus-visible img{transform:scale(1.045)!important;filter:saturate(1.04) contrast(1.02)!important}
.category-wall .category-tile:focus-visible{outline:3px solid #e9bd37!important;outline-offset:3px!important}
.fantasias-section .swipe-hint{display:none!important}

@media(max-width:1180px){
  .category-wall{width:calc(100% - 100px)!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:16px!important}
  .category-wall .category-tile{grid-column:span 2!important}
  .category-wall .category-tile:nth-last-child(3){grid-column:span 2!important}
  .category-wall .category-tile:nth-last-child(2){grid-column:2 / span 2!important}
  .category-wall .category-tile:nth-last-child(1){grid-column:4 / span 2!important}
}
@media(max-width:860px){
  .category-wall{
    width:calc(100% - 54px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:13px!important;
    padding:0!important;
    overflow:visible!important;
  }
  .category-wall .category-tile,
  .category-wall .category-tile:nth-last-child(3),
  .category-wall .category-tile:nth-last-child(2){grid-column:span 1!important}
  .category-wall .category-tile:nth-last-child(1){grid-column:1 / -1!important;width:calc(50% - 7px)!important;justify-self:center!important}
  .category-wall .category-tile{aspect-ratio:4/5!important;border-radius:17px!important}
  .category-wall .category-tile>div{padding:38px 14px 14px!important}
  .category-wall .category-tile strong{font-size:clamp(19px,4.7vw,25px)!important}
  .category-wall .category-tile span{font-size:8px!important;margin:7px 0 10px!important}
  .category-wall .category-view{padding:6px 8px!important;font-size:8px!important}
}
@media(max-width:560px){
  .category-wall{width:calc(100% - 24px)!important;gap:10px!important;padding:0!important;scroll-padding-inline:0!important}
  .category-wall .category-tile{min-height:0!important;aspect-ratio:4/5!important;border-radius:15px!important;border-width:1px!important}
  .category-wall .category-tile:nth-last-child(1){width:calc(50% - 5px)!important}
  .category-wall .category-tile>div{padding:34px 11px 11px!important}
  .category-wall .category-tile strong{font-size:18px!important}
  .category-wall .category-tile span{font-size:7.5px!important;line-height:1.3!important;letter-spacing:.055em!important;margin:6px 0 8px!important}
  .category-wall .category-view{font-size:7px!important;padding:5px 7px!important;gap:5px!important}
  .category-wall .category-view svg{width:9px!important;height:9px!important}
}
@media(max-width:390px){
  .category-wall{gap:8px!important}
  .category-wall .category-tile strong{font-size:17px!important}
  .category-wall .category-tile span{font-size:7px!important}
}


/* ===== Ajuste final de categorias fornecidas pelo cliente · 20/09/2026 ===== */
.hero-logo-stage{display:flex!important;align-items:center!important;justify-content:center!important;min-height:520px!important}
.hero-logo-only{width:min(88%,540px);height:min(88%,540px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}
.hero-logo-only img{width:min(94%,470px);height:auto;object-fit:contain;filter:drop-shadow(0 24px 34px rgba(0,0,0,.28))}
.hero-logo-only span{font-size:13px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:#f6d66a;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.brand,.site-header.scrolled .brand{width:154px!important;max-width:154px!important}
.category-wall{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;max-width:1180px!important;margin-inline:auto!important}
.category-tile{min-height:390px!important}
.category-tile img{object-fit:cover!important}
@media(max-width:1100px){.category-wall{grid-template-columns:repeat(3,minmax(0,1fr))!important}.brand,.site-header.scrolled .brand{width:138px!important;max-width:138px!important}.hero-logo-stage{min-height:470px!important}}
@media(max-width:760px){.category-wall{grid-template-columns:repeat(2,minmax(0,1fr))!important}.category-tile{min-height:330px!important}.brand,.site-header.scrolled .brand{width:108px!important;max-width:108px!important}.hero-logo-stage{min-height:360px!important}.hero-logo-only img{width:min(92%,330px)}}
@media(max-width:440px){.category-wall{grid-template-columns:1fr 1fr!important;gap:10px!important}.category-tile{min-height:280px!important}.category-tile div{padding:56px 13px 16px!important}.category-tile div strong{font-size:18px!important}.category-tile div span{font-size:11px!important}.brand,.site-header.scrolled .brand{width:96px!important;max-width:96px!important}}

/* ===== Correção definitiva das categorias · grade uniforme profissional ===== */
.fantasias-section .category-wall{
  width:min(1180px,calc(100% - 64px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  grid-auto-columns:auto!important;
  gap:18px!important;
  overflow:visible!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  scroll-snap-type:none!important;
}
.fantasias-section .category-wall .category-tile,
.fantasias-section .category-wall .category-tile:nth-child(n),
.fantasias-section .category-wall .category-tile:nth-last-child(1),
.fantasias-section .category-wall .category-tile:nth-last-child(2),
.fantasias-section .category-wall .category-tile:nth-last-child(3){
  grid-column:span 2!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:3 / 4!important;
  margin:0!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(226,192,101,.34)!important;
  border-radius:20px!important;
  background:#0a3325!important;
  box-shadow:0 15px 34px rgba(27,44,31,.16)!important;
  scroll-snap-align:none!important;
}
/* Segunda linha centrada, sem alterar o tamanho das três peças. */
.fantasias-section .category-wall .category-tile:nth-child(5){grid-column:2 / span 2!important}
.fantasias-section .category-wall .category-tile:nth-child(6){grid-column:4 / span 2!important}
.fantasias-section .category-wall .category-tile:nth-child(7){grid-column:6 / span 2!important}

.fantasias-section .category-wall .category-tile>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  border-radius:inherit!important;
}
.fantasias-section .category-wall .category-tile:before{display:none!important}
.fantasias-section .category-wall .category-tile:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(2,22,16,0) 38%,rgba(2,25,18,.28) 58%,rgba(2,25,18,.96) 100%)!important;
  pointer-events:none!important;
}
.fantasias-section .category-wall .category-tile>div{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:2!important;
  min-height:132px!important;
  padding:46px 18px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  border:0!important;
  background:transparent!important;
}
.fantasias-section .category-wall .category-tile>div:before{display:none!important}
.fantasias-section .category-wall .category-tile strong{
  display:block!important;
  margin:0!important;
  font-family:Georgia,serif!important;
  font-size:25px!important;
  line-height:1.05!important;
  color:#fff!important;
}
.fantasias-section .category-wall .category-tile span{
  display:block!important;
  margin:7px 0 12px!important;
  min-height:28px!important;
  font-size:10px!important;
  line-height:1.35!important;
  font-weight:800!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
  color:#f9e7ae!important;
}
.fantasias-section .category-wall .category-view{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  padding:7px 10px!important;
  border:1px solid rgba(255,224,132,.58)!important;
  border-radius:999px!important;
  background:rgba(1,28,20,.62)!important;
  color:#ffe48a!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
.fantasias-section .category-wall .category-tile:hover,
.fantasias-section .category-wall .category-tile:focus-visible{
  transform:translateY(-4px)!important;
  box-shadow:0 22px 44px rgba(27,44,31,.22)!important;
}
.fantasias-section .category-wall .category-tile:hover>img,
.fantasias-section .category-wall .category-tile:focus-visible>img{
  transform:scale(1.035)!important;
}
.fantasias-section .swipe-hint{display:none!important}

@media(max-width:1100px){
  .fantasias-section .category-wall{
    width:min(930px,calc(100% - 48px))!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .fantasias-section .category-wall .category-tile,
  .fantasias-section .category-wall .category-tile:nth-child(n){grid-column:span 2!important}
  .fantasias-section .category-wall .category-tile:nth-child(7){grid-column:3 / span 2!important}
}
@media(max-width:760px){
  .fantasias-section .category-wall{
    width:calc(100% - 28px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  .fantasias-section .category-wall .category-tile,
  .fantasias-section .category-wall .category-tile:nth-child(n){
    grid-column:span 1!important;
    width:100%!important;
    aspect-ratio:3 / 4!important;
    border-radius:16px!important;
  }
  .fantasias-section .category-wall .category-tile:nth-child(7){
    grid-column:1 / -1!important;
    width:calc((100% - 12px)/2)!important;
    justify-self:center!important;
  }
  .fantasias-section .category-wall .category-tile>div{min-height:118px!important;padding:40px 13px 13px!important}
  .fantasias-section .category-wall .category-tile strong{font-size:20px!important}
  .fantasias-section .category-wall .category-tile span{font-size:8px!important;min-height:24px!important;margin:6px 0 9px!important}
  .fantasias-section .category-wall .category-view{font-size:8px!important;padding:6px 8px!important}
}
@media(max-width:460px){
  .fantasias-section .category-wall{
    width:calc(100% - 32px)!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .fantasias-section .category-wall .category-tile,
  .fantasias-section .category-wall .category-tile:nth-child(n),
  .fantasias-section .category-wall .category-tile:nth-child(7){
    grid-column:1!important;
    width:100%!important;
    max-width:360px!important;
    justify-self:center!important;
    aspect-ratio:4 / 5!important;
  }
  .fantasias-section .category-wall .category-tile>div{padding:46px 16px 16px!important}
  .fantasias-section .category-wall .category-tile strong{font-size:24px!important}
  .fantasias-section .category-wall .category-tile span{font-size:9px!important;min-height:0!important}
}


/* ===== Limpeza final 21/09/2026 · categorias uniformes ===== */
.fantasias-section .category-wall .category-tile{aspect-ratio:3/4!important;min-height:0!important}
.fantasias-section .category-wall .category-tile>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.category-gallery-thumbs{align-items:stretch!important}
.category-gallery-thumb{flex:0 0 92px!important;width:92px!important;height:70px!important;aspect-ratio:auto!important;overflow:hidden!important;border-radius:8px!important}
.category-gallery-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
@media(max-width:860px){.category-gallery-thumb{flex-basis:78px!important;width:78px!important;height:60px!important}}
@media(max-width:420px){.category-gallery-thumb{flex-basis:68px!important;width:68px!important;height:52px!important}}
