:root { --pink:#f0147d; --ink:#08080a; --paper:#f5f3ef; --line:rgba(255,255,255,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.amnesia-site { margin:0; background:var(--paper); color:#111; font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.amnesia-site-shell { width:100%; overflow:clip; }
body.amnesia-age-pending .amnesia-site-shell { visibility:hidden; }
body.amnesia-age-locked { overflow:hidden; }
[hidden] { display:none!important; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.screen-reader-text:focus { z-index:10000; top:10px; left:10px; width:auto!important; height:auto!important; padding:12px 16px!important; margin:0!important; clip:auto!important; color:#fff; background:#111; }
:where(a,button,input,[tabindex]):focus-visible { outline:3px solid #ff68b4; outline-offset:4px; }
.legal-bar { height:30px; display:flex; align-items:center; justify-content:space-between; padding:0 3.5vw; background:var(--pink); color:white; font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.nav { height:78px; padding:0 3.5vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; position:absolute; top:30px; z-index:20; width:100%; border-bottom:1px solid var(--line); background:rgba(8,8,10,.72); backdrop-filter:blur(9px); text-shadow:0 1px 3px rgba(0,0,0,.85); }
.nav,.hero { color:white; }
.nav-logo { grid-column:2; width:84px; height:54px; display:flex; align-items:center; }
.nav-logo img { width:100%; height:100%; object-fit:contain; filter:brightness(0) invert(1); }
footer img { width:100%; height:100%; object-fit:contain; filter:brightness(0); }

/* Product category pages */
.catalog-page { min-height:100vh; color:#111; background:#f4f1ed; }
.catalog-legal { height:28px; padding:0 4vw; display:flex; justify-content:space-between; align-items:center; color:#fff; background:#09090b; font-size:8px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.catalog-nav { height:82px; padding:0 4vw; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #d8d3cd; background:rgba(250,248,245,.94); }
.catalog-nav>a img { width:145px; height:58px; object-fit:contain; filter:brightness(0); }
.catalog-nav>div { display:flex; gap:30px; }
.catalog-nav>div a { color:#111; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.catalog-hero { min-height:610px; padding:74px 6vw 54px; display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; border-bottom:1px solid #d8d3cd; background:radial-gradient(circle at 78% 42%,rgba(240,20,125,.13),transparent 26%),linear-gradient(120deg,#fbfaf8,#efeae5); }
.catalog-hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.catalog-back { margin-bottom:50px; color:#777; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.catalog-hero h1 { margin:14px 0 22px; font-size:clamp(78px,11vw,168px); line-height:.75; letter-spacing:-.08em; text-transform:uppercase; }
.catalog-hero h1 span,.format-intro h2 span { color:var(--pink); }
.catalog-hero-copy>p:not(.eyebrow) { max-width:570px; color:#68686d; font-size:15px; line-height:1.7; }
.catalog-hero-copy>div { margin-top:36px; display:flex; align-items:center; gap:15px; }
.catalog-hero-copy>div strong { color:var(--pink); font-size:46px; line-height:1; }
.catalog-hero-copy>div span { color:#777; font-size:8px; font-weight:900; line-height:1.4; letter-spacing:.14em; text-transform:uppercase; }
.catalog-hero-art { position:relative; min-height:450px; display:grid; place-items:center; }
.catalog-hero-art>span { position:absolute; width:80%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(240,20,125,.25),rgba(240,20,125,.04) 48%,transparent 70%); filter:blur(12px); }
.catalog-hero-art img { position:relative; z-index:1; max-width:82%; max-height:530px; object-fit:contain; filter:drop-shadow(0 36px 30px rgba(26,13,20,.22)); transform:rotate(-5deg); }
.format-section { padding:100px 0 115px; overflow:hidden; background:linear-gradient(180deg,#f8f6f3,#efebe6); }
.format-intro { padding:0 6vw 46px; display:flex; justify-content:space-between; align-items:end; gap:50px; }
.format-intro h2 { margin:15px 0 0; font-size:clamp(58px,6vw,96px); line-height:.86; letter-spacing:-.065em; text-transform:uppercase; }
.format-intro-copy { width:min(380px,36vw); }
.format-intro-copy p { margin:0 0 20px; color:#73737a; font-size:12px; line-height:1.65; }
.format-intro-copy>span { display:flex; align-items:center; justify-content:space-between; padding-top:14px; color:#111; border-top:1px solid #c9c4bd; font-size:8px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.format-intro-copy b { color:var(--pink); font-size:20px; font-weight:400; }
.format-list { padding:0 6vw 32px; display:flex; gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-left:6vw; scrollbar-color:var(--pink) #d8d2cb; scrollbar-width:thin; }
.format-list::-webkit-scrollbar { height:5px; }.format-list::-webkit-scrollbar-track { background:#d8d2cb; }.format-list::-webkit-scrollbar-thumb { background:var(--pink); }
.format-card { min-width:min(1160px,88vw); overflow:hidden; scroll-snap-align:start; border:1px solid rgba(20,17,19,.12); background:#fbfaf8; box-shadow:0 30px 70px rgba(35,20,28,.10); }
.format-card-head { min-height:132px; padding:24px 32px; display:grid; grid-template-columns:64px 1fr auto; gap:22px; align-items:center; border-bottom:1px solid #ddd8d1; }
.format-card-head>span { color:rgba(15,15,18,.15); font-size:34px; font-weight:300; }
.format-card-head small { color:#8b8990; font-size:8px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.format-card-head h3 { margin:8px 0 0; font-size:clamp(32px,4vw,58px); line-height:.88; letter-spacing:-.055em; text-transform:uppercase; }
.format-card-head em { padding:9px 13px; color:#fff; background:var(--pink); font-size:8px; font-style:normal; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.format-card-body { min-height:610px; display:grid; grid-template-columns:48% 52%; }
.format-image { position:relative; min-height:610px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 44%,#fff 0 13%,#f1ece7 48%,#e3dcd5 100%); }
.format-image::after { content:"AMNESIA"; position:absolute; bottom:18px; left:30px; color:rgba(17,17,20,.055); font-size:clamp(50px,7vw,110px); font-weight:900; letter-spacing:-.07em; }
.format-image>span { position:absolute; width:92%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(240,20,125,.22),rgba(240,20,125,.05) 47%,transparent 69%); filter:blur(8px); }
.format-image img { position:relative; z-index:1; max-width:92%; max-height:540px; object-fit:contain; filter:drop-shadow(0 35px 25px rgba(25,15,20,.26)); transform:rotate(-5deg) scale(1.04); transition:.45s cubic-bezier(.2,.75,.2,1); }
.format-card:hover .format-image img { transform:translateY(-10px) rotate(-1deg) scale(1.1); }
.flavor-groups { padding:46px 42px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 25px; align-content:center; background:#fbfaf8; }
.flavor-title { grid-column:1/-1; margin-bottom:33px; padding-bottom:24px; border-bottom:1px solid #d8d3cd; }
.flavor-title small { display:block; margin-bottom:8px; color:var(--pink); font-size:8px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.flavor-title strong { font-size:clamp(27px,3vw,46px); line-height:.9; letter-spacing:-.05em; text-transform:uppercase; }
.flavor-group { min-height:190px; padding:0 0 0 15px; border-left:1px solid #d8d3cd; }
.flavor-group h4 { margin:0 0 18px; color:#111; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.flavor-group.indica h4 { color:#148ec2; }.flavor-group.hybrid h4 { color:#609d22; }.flavor-group.sativa h4 { color:#d36c00; }.flavor-group.pairings { grid-column:1/-1; }.flavor-group.pairings h4 { color:var(--pink); }
.flavor-group ul { margin:0; padding:0; list-style:none; columns:1; }
.flavor-group.pairings ul { columns:2; column-gap:28px; }
.flavor-group li { margin:0 0 8px; color:#616168; font-size:10px; line-height:1.4; break-inside:avoid; }
.flavor-group li::before { content:"+"; margin-right:7px; color:var(--pink); font-weight:900; }
.catalog-cta { padding:70px 6vw; display:flex; justify-content:space-between; align-items:end; color:#fff; background:#101012; }
.catalog-cta h2 { max-width:720px; margin:12px 0 0; font-size:clamp(45px,7vw,100px); line-height:.85; letter-spacing:-.06em; text-transform:uppercase; }
.catalog-cta>a { min-width:190px; padding:18px; display:flex; justify-content:space-between; color:#fff; background:var(--pink); font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.catalog-footer { min-height:130px; padding:25px 4vw; display:grid; grid-template-columns:180px 1fr auto; gap:30px; align-items:center; border-top:1px solid #2e2e33; color:#aaa; background:#101012; }
.catalog-footer img { width:150px; height:70px; object-fit:contain; filter:brightness(0) invert(1); }
.catalog-footer p,.catalog-footer a { color:#888; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

@media (max-width:900px) {
  .catalog-hero { min-height:auto; grid-template-columns:1fr; }
  .catalog-hero-art { min-height:400px; }
  .format-intro { align-items:start; }
  .format-card-body { grid-template-columns:1fr; }
  .format-card { min-width:86vw; }
  .format-image { min-height:560px; }
  .format-image img { max-height:500px; }
}

@media (max-width:620px) {
  .catalog-nav { height:68px; }.catalog-nav>a img { width:112px; }.catalog-nav>div { gap:15px; }.catalog-nav>div a { font-size:7px; }
  .catalog-hero { padding:48px 6vw 35px; }.catalog-back { margin-bottom:35px; }.catalog-hero h1 { font-size:21vw; }.catalog-hero-art { min-height:330px; }
  .format-section { padding:65px 0 75px; }.format-intro { padding:0 5vw 35px; flex-direction:column; }.format-intro h2 { font-size:48px; }.format-intro-copy { width:100%; }
  .format-list { padding-left:5vw; padding-right:5vw; scroll-padding-left:5vw; gap:14px; }.format-card { min-width:90vw; }
  .format-card-head { grid-template-columns:40px 1fr; }.format-card-head em { grid-column:2; justify-self:start; }
  .format-image { min-height:430px; }.format-image img { max-width:96%; max-height:390px; }
  .flavor-groups { padding:34px 24px; grid-template-columns:1fr; gap:24px; }.flavor-title { grid-column:auto; }.flavor-group { min-height:0; padding-bottom:20px; }.flavor-group.pairings { grid-column:auto; }.flavor-group.pairings ul { columns:1; }
  .catalog-cta { align-items:start; flex-direction:column; gap:35px; }.catalog-footer { grid-template-columns:1fr; }
}
.nav-links { position:absolute; left:3.5vw; display:flex; gap:34px; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.nav-links a:hover { color:#ff61ad; }
.nav-actions { justify-self:end; display:flex; align-items:center; gap:10px; }
.market-pill { font-size:9px; letter-spacing:.13em; font-weight:800; border:1px solid rgba(255,255,255,.2); border-radius:100px; padding:12px 14px; }
.find-button { font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; border:1px solid rgba(255,255,255,.55); border-radius:100px; padding:12px 17px; }
.find-button:hover { background:white; color:black; }
.menu-button { display:none; }
.hero { height:min(820px,calc(100vh - 30px)); min-height:680px; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:0 3.5vw 70px; }
.hero-image { position:absolute; inset:0; background-image:url('../images/amnesia-campaign.jpg'); background-size:cover; background-position:center; transform:scale(1.03); animation:slowZoom 12s ease-out both; }
.hero-bubble-hash { height:clamp(420px,31.25vw,620px); min-height:420px; padding:0; align-items:flex-end; background:#49c8fa; }
.hero-bubble-hash .hero-image { background-image:url('../images/amnesia-bubble-hash-hero.jpeg'); background-size:cover; background-position:center; transform:none; animation:heroBannerIn 1s ease both; }
.hero-banner-bar { position:relative; z-index:3; width:100%; min-height:84px; padding:17px 3.5vw; display:flex; justify-content:space-between; align-items:center; gap:30px; color:#fff; background:linear-gradient(90deg,rgba(10,10,14,.94),rgba(16,11,18,.86)); border-top:1px solid rgba(255,255,255,.15); backdrop-filter:blur(12px); }
.hero-banner-bar>div { display:flex; align-items:center; gap:20px; }
.hero-banner-bar small { color:#ff69b4; font-size:8px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.hero-banner-bar strong { font-size:18px; letter-spacing:-.025em; text-transform:uppercase; }
.hero-banner-bar a { min-width:205px; padding:14px 16px; display:flex; justify-content:space-between; color:#fff; background:var(--pink); font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.hero-product .hero-image { filter:saturate(.65) brightness(.42); }
.hero-left .hero-image { background-position:left center; }
.hero-right .hero-image { background-position:right center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.38) 45%,rgba(0,0,0,.08) 72%),linear-gradient(0deg,rgba(0,0,0,.64),transparent 50%); }
.hero-content { position:relative; z-index:2; width:min(680px,60vw); animation:rise .6s ease both; }
.hero-packshot { position:absolute; z-index:2; right:10vw; top:135px; bottom:25px; width:min(30vw,390px); display:flex; align-items:center; justify-content:center; pointer-events:none; }
.hero-packshot img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 45px 45px rgba(0,0,0,.7)) drop-shadow(0 0 22px rgba(240,20,125,.17)); animation:productFloat 6s ease-in-out infinite; }
.eyebrow { margin:0 0 18px; display:flex; align-items:center; gap:12px; font-size:10px; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
.eyebrow i { width:28px; height:2px; background:var(--pink); }
.eyebrow.dark { color:#191919; }
.hero h1 { font-size:clamp(64px,7.7vw,124px); line-height:.82; letter-spacing:-.065em; text-transform:uppercase; max-width:780px; margin:0 0 26px; font-weight:900; }
.hero-copy { font-size:15px; line-height:1.55; max-width:520px; color:rgba(255,255,255,.76); }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:28px; }
.button { display:inline-flex; align-items:center; gap:30px; padding:16px 20px; font-size:11px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; transition:.2s; }
.button-pink { background:var(--pink); color:white; }
.button-pink:hover { background:#ff4da3; transform:translateY(-2px); }
.button-light { background:white; color:black; }
.button-light:hover { background:#ff4da3; color:white; }
.text-link { font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.4); padding-bottom:5px; }
.hero-controls { position:absolute; right:3.5vw; bottom:74px; z-index:3; display:flex; gap:6px; }
.hero-controls button { width:54px; background:transparent; color:white; border:0; padding:10px 0; border-top:2px solid rgba(255,255,255,.25); text-align:left; font-size:10px; cursor:pointer; }
.hero-controls button.active { border-color:var(--pink); }
.video-note { position:absolute; right:3.5vw; top:135px; z-index:3; display:flex; gap:12px; align-items:center; background:rgba(7,7,9,.7); border:1px solid var(--line); padding:12px 15px; backdrop-filter:blur(10px); }
.video-note .play { width:34px; height:34px; border-radius:50%; background:var(--pink); display:grid; place-items:center; font-size:10px; }
.video-note b,.video-note small { display:block; }
.video-note b { font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.video-note small { color:#aaa; font-size:9px; margin-top:4px; }
.brand-ticker { height:52px; color:#111; background:#fff; border-bottom:1px solid #dedbd5; overflow:hidden; display:flex; align-items:center; }
.brand-ticker>div { min-width:max-content; display:flex; gap:30px; align-items:center; padding-left:3.5vw; animation:ticker 22s linear infinite; }
.brand-ticker span { font-size:11px; font-weight:900; letter-spacing:.16em; }
.brand-ticker i { color:var(--pink); font-style:normal; }
.collection { position:relative; background:radial-gradient(circle at 75% 10%,rgba(240,20,125,.08),transparent 32%),var(--paper); color:#111; padding:110px 3.5vw 130px; overflow:hidden; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:55px; }
.section-heading h2,.state-copy h2 { font-size:clamp(54px,6vw,96px); line-height:.88; letter-spacing:-.06em; text-transform:uppercase; margin:0; }
.section-heading>p { width:390px; color:#5d5d5d; line-height:1.55; font-size:14px; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; perspective:1400px; }
.category-card { min-height:570px; padding:20px; display:flex; flex-direction:column; justify-content:space-between; color:white; border:1px solid rgba(255,255,255,.14); overflow:hidden; transition:.45s cubic-bezier(.2,.75,.2,1); position:relative; isolation:isolate; box-shadow:0 18px 45px rgba(20,10,15,.12); }
.category-card::before { content:""; position:absolute; inset:1px; z-index:-1; pointer-events:none; border:1px solid rgba(255,255,255,.08); background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 24% 72%,rgba(255,255,255,.05)); }
.category-stage { position:relative; min-height:350px; display:grid; place-items:center; margin:0 -8px; }
.category-product { position:relative; z-index:2; width:82%; height:330px; object-fit:contain; margin:auto; filter:drop-shadow(0 34px 26px rgba(0,0,0,.52)) drop-shadow(0 0 18px rgba(255,255,255,.12)); transition:.55s cubic-bezier(.2,.8,.2,1); will-change:transform; }
.category-product.vape { width:56%; height:350px; }
.product-halo { position:absolute; z-index:0; width:72%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.25),rgba(255,255,255,.04) 52%,transparent 70%); filter:blur(2px); transition:.45s; }
.product-floor { position:absolute; z-index:1; bottom:28px; width:58%; height:22px; border-radius:50%; background:rgba(0,0,0,.52); filter:blur(15px); transition:.45s; }
.category-stage small { position:absolute; left:8px; bottom:4px; z-index:3; color:rgba(255,255,255,.52); font-size:7px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.category-card:hover .category-product { transform:translateY(-14px) rotate(-2deg) scale(1.1); filter:drop-shadow(0 44px 30px rgba(0,0,0,.58)) drop-shadow(0 0 28px rgba(255,255,255,.2)); }
.category-card:hover .product-halo { transform:scale(1.16); opacity:.9; }
.category-card:hover .product-floor { transform:scaleX(1.12); opacity:.72; }
.category-art { position:absolute; inset:0; z-index:-2; background-image:url('../images/amnesia-campaign.jpg'); background-size:auto 100%; opacity:.1; transform:scale(1.1); mix-blend-mode:luminosity; transition:.55s ease; }
.category-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(5,5,8,.05),rgba(5,5,8,.7)); transition:.45s; }
.art-01 { background-position:0 center; }.art-02 { background-position:35% center; }.art-03 { background-position:65% center; }.art-04 { background-position:100% center; }
.category-card:hover { transform:translateY(-12px) rotateX(1.5deg); box-shadow:0 28px 60px rgba(0,0,0,.24); border-color:rgba(255,255,255,.28); }
.category-card:hover .category-art { opacity:.24; transform:scale(1.02); }
.category-top { position:relative; z-index:3; display:flex; justify-content:space-between; align-items:center; color:rgba(255,255,255,.72); font-size:8px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.market-chip { padding:6px 8px; border:1px solid rgba(255,255,255,.22); border-radius:100px; color:white; background:rgba(0,0,0,.14); backdrop-filter:blur(8px); }
.category-bottom { position:relative; z-index:3; display:flex; align-items:flex-end; justify-content:space-between; gap:15px; padding-top:18px; border-top:1px solid rgba(255,255,255,.16); }
.category-card h3 { font-size:clamp(32px,2.8vw,46px); text-transform:uppercase; margin:0 0 7px; letter-spacing:-.055em; }
.category-card p { margin:0; color:rgba(255,255,255,.7); font-size:10px; line-height:1.45; max-width:200px; }
.category-cta { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; overflow:hidden; color:transparent; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(255,255,255,.08); transition:.3s; }
.category-cta b { color:white; font-size:15px; font-weight:500; }
.category-card:hover .category-cta { color:white; width:86px; border-radius:100px; background:white; color:#111; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.category-card:hover .category-cta b { color:#111; }
.pink { background:radial-gradient(circle at 50% 38%,#fa2b94,#7d073f 68%,#240614); }
.lime { background:radial-gradient(circle at 50% 38%,#b7e83a,#38540c 68%,#101705); }
.blue { background:radial-gradient(circle at 50% 38%,#3979ff,#102d76 68%,#060d24); }
.orange { background:radial-gradient(circle at 50% 38%,#ff7540,#8b2609 68%,#260b05); }
.package-shape { width:92px; height:205px; border-radius:18px 18px 10px 10px; margin:auto; background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(0,0,0,.2)); border:1px solid rgba(255,255,255,.6); box-shadow:inset 8px 8px 20px rgba(255,255,255,.4),0 22px 30px rgba(0,0,0,.18); transform:rotate(-8deg); display:grid; place-items:center; }
.package-logo { font-size:48px; font-weight:900; font-style:italic; color:white; text-shadow:0 2px 12px rgba(0,0,0,.3); }
.master-products { padding:115px 3.5vw 125px; color:#111; background:radial-gradient(circle at 82% 6%,rgba(240,20,125,.1),transparent 28%),var(--paper); }
.master-products-head { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr); gap:7vw; align-items:end; margin-bottom:58px; }
.master-products-head h2 { margin:0; font-size:clamp(64px,8vw,126px); line-height:.82; letter-spacing:-.07em; text-transform:uppercase; }
.master-products-head h2 span { color:var(--pink); text-shadow:0 0 32px rgba(240,20,125,.28); }
.master-products-copy { padding-bottom:6px; }
.master-products-copy>p { max-width:440px; color:#67676d; font-size:13px; line-height:1.65; }
.master-products-copy>strong { display:flex; align-items:baseline; gap:12px; margin-top:30px; color:#111; font-size:38px; letter-spacing:-.04em; }
.master-products-copy>strong small { color:#777; font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.master-filter-bar { position:sticky; top:0; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; padding:14px; border:1px solid #d8d5cf; background:rgba(250,249,246,.9); box-shadow:0 10px 30px rgba(38,22,30,.05); backdrop-filter:blur(18px); }
.master-filter-bar .catalog-tabs { margin:0; }
.master-filter-bar .catalog-tabs button { color:#555; border-color:#c9c5be; }
.master-filter-bar .catalog-tabs button:hover { color:var(--pink); border-color:rgba(240,20,125,.5); }
.master-filter-bar .catalog-tabs button.selected { color:white; background:var(--pink); border-color:var(--pink); box-shadow:0 7px 18px rgba(240,20,125,.18); }
.master-filter-bar>span { color:#707078; font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.master-filter-bar>strong { font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.master-sku-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.master-sku-grid article { position:relative; min-height:520px; padding:20px; display:flex; flex-direction:column; overflow:hidden; background:linear-gradient(150deg,#fff,#f0ede8 76%); border:1px solid #d8d5cf; transition:.4s cubic-bezier(.2,.75,.2,1); box-shadow:0 14px 34px rgba(28,18,23,.06); }
.master-sku-grid article::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(125deg,rgba(255,255,255,.7),transparent 24% 76%,rgba(240,20,125,.04)); }
.master-sku-grid article:hover { z-index:2; transform:translateY(-9px); border-color:rgba(240,20,125,.42); box-shadow:0 24px 55px rgba(42,20,31,.16),0 0 32px rgba(240,20,125,.07); }
.sku-index { position:absolute; right:16px; bottom:68px; color:rgba(10,10,12,.035); font-size:90px; line-height:1; font-weight:900; letter-spacing:-.08em; }
.master-sku-grid h3 { position:relative; z-index:2; margin:8px 0 0; max-width:85%; font-size:clamp(24px,2vw,34px); line-height:.92; letter-spacing:-.045em; text-transform:uppercase; }
.master-sku-grid .sku-meta span { color:#777; font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.category-lines { position:relative; z-index:2; min-height:76px; margin:13px 0 0; padding:0; list-style:none; color:#68686e; font-size:9px; line-height:1.55; }
.category-lines li { display:flex; gap:8px; }
.category-lines li::before { content:"+"; color:var(--pink); font-weight:900; }
.master-sku-grid .product-render { min-height:320px; padding:20px 4px 8px; }
.master-sku-grid .product-render img { max-height:335px; }
.master-sku-grid article:hover .product-render img { transform:translateY(-10px) scale(1.07) rotate(-1.5deg); }
.sku-glow { position:absolute; width:78%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(240,20,125,.2),transparent 66%); filter:blur(4px); transition:.4s; }
.master-sku-grid article:nth-child(4n+2) .sku-glow { background:radial-gradient(circle,rgba(190,237,56,.18),transparent 66%); }
.master-sku-grid article:nth-child(4n+3) .sku-glow { background:radial-gradient(circle,rgba(58,119,255,.2),transparent 66%); }
.master-sku-grid article:nth-child(4n) .sku-glow { background:radial-gradient(circle,rgba(255,114,61,.18),transparent 66%); }
.master-sku-grid article:hover .sku-glow { transform:scale(1.18); opacity:1; }
.master-sku-grid article>a { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; padding-top:15px; border-top:1px solid #d0ccc5; color:#666; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.master-sku-grid article>a b { width:30px; height:30px; display:grid; place-items:center; border:1px solid #bbb7b0; border-radius:50%; color:#111; transition:.25s; }
.master-sku-grid article:hover>a b { color:white; background:var(--pink); border-color:var(--pink); transform:rotate(45deg); }
.catalog { min-height:760px; display:grid; grid-template-columns:38% 62%; }
.catalog-intro { padding:100px 4vw; background:#09090b; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.catalog-intro h2 { font-size:clamp(58px,6.3vw,102px); line-height:.86; letter-spacing:-.065em; text-transform:uppercase; margin:0 0 28px; }
.catalog-intro h2 span { color:var(--pink); }
.catalog-intro>p { color:#929297; line-height:1.6; max-width:420px; }
.catalog-intro .button { margin-top:24px; }
.catalog-panel { background:#151518; padding:55px 3.5vw; }
.catalog-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:38px; }
.catalog-tabs button { color:#aaa; background:transparent; border:1px solid #37373b; border-radius:100px; padding:9px 15px; font-size:10px; text-transform:uppercase; }
.catalog-tabs button { cursor:pointer; }
.catalog-tabs button.selected { background:white; color:black; }
.sku-list { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; height:560px; }
.sku-list article { background:linear-gradient(150deg,#242428,#18181b); padding:18px; display:flex; flex-direction:column; overflow:hidden; position:relative; transition:.25s; border:1px solid rgba(255,255,255,.04); }
.sku-list article:hover { background:#29292e; transform:translateY(-5px); }
.sku-list span { font-size:9px; letter-spacing:.12em; color:#999; }
.sku-meta { display:flex; justify-content:space-between; align-items:center; }
.sku-meta em { font-style:normal; color:#ff58aa; border:1px solid rgba(255,88,170,.35); padding:5px 7px; border-radius:20px; font-size:8px; font-weight:800; letter-spacing:.1em; }
.sku-list h3 { margin:7px 0 0; font-size:25px; text-transform:uppercase; }
.sku-list article>a { display:flex; justify-content:space-between; border-top:1px solid #3a3a3e; padding-top:13px; font-size:9px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.mini-device { margin:auto; width:72px; height:290px; border-radius:22px 22px 12px 12px; transform:rotate(7deg); box-shadow:inset 7px 7px 15px rgba(255,255,255,.3),0 20px 35px rgba(0,0,0,.4); }
.pink-device { background:linear-gradient(#ff58ad,#760036); }
.blue-device { height:220px; width:120px; border-radius:12px; background:linear-gradient(145deg,#6cb5ff,#142d8b); }
.orange-device { height:260px; width:135px; border-radius:8px; background:linear-gradient(145deg,#ff9b45,#a62700); }
.lime-device { height:245px; width:90px; background:linear-gradient(145deg,#d6ff53,#265c15); }
.product-render { flex:1; min-height:0; display:flex; align-items:center; justify-content:center; padding:20px 8px 12px; position:relative; }
.product-render::after { content:""; position:absolute; width:62%; height:18px; bottom:12%; border-radius:50%; background:rgba(240,20,125,.18); filter:blur(15px); opacity:.55; }
.product-render img { position:relative; z-index:1; width:100%; height:100%; max-height:390px; object-fit:contain; filter:drop-shadow(0 28px 22px rgba(0,0,0,.62)) drop-shadow(0 0 10px rgba(240,20,125,.1)); transition:.35s cubic-bezier(.2,.7,.2,1); }
.sku-list article:hover .product-render img { transform:translateY(-7px) scale(1.035); }
.story { min-height:800px; display:grid; grid-template-columns:58% 42%; position:relative; }
.story-image { background:url('../images/amnesia-campaign.jpg') center/cover no-repeat; min-height:650px; }
.story-copy { padding:70px 4vw; color:white; background:linear-gradient(145deg,#ee0878,#6c0b44); display:flex; flex-direction:column; justify-content:center; }
.story-copy h2 { font-size:clamp(52px,5.3vw,88px); line-height:.88; text-transform:uppercase; letter-spacing:-.06em; margin:0 0 30px; }
.story-copy>p { line-height:1.65; max-width:470px; color:rgba(255,255,255,.8); }
.story-copy .text-link { align-self:flex-start; margin-top:24px; }
.brand-proof { color:#111; background:#fff; border-top:1px solid #ddd9d2; border-bottom:1px solid #ddd9d2; display:grid; grid-template-columns:repeat(3,1fr) 1.25fr; }
.brand-proof>div,.brand-proof>p { min-height:150px; margin:0; padding:30px 3vw; border-right:1px solid #ddd9d2; display:flex; flex-direction:column; justify-content:space-between; }
.brand-proof small { color:#777; text-transform:uppercase; letter-spacing:.13em; font-size:9px; }
.brand-proof strong { font-size:17px; text-transform:uppercase; }
.brand-proof>p { background:var(--pink); font-size:22px; line-height:1.05; font-weight:900; text-transform:uppercase; letter-spacing:-.03em; }
.locator { padding:115px 3.5vw; color:#111; background:#f8f6f2; overflow:hidden; }
.locator-top { display:grid; grid-template-columns:1fr 460px; gap:60px; align-items:end; margin-bottom:58px; }
.locator-top h2 { margin:0; font-size:clamp(62px,7vw,112px); line-height:.82; letter-spacing:-.065em; text-transform:uppercase; }
.locator-top h2 span { color:var(--pink); text-shadow:0 0 26px rgba(240,20,125,.4); }
.locator-search>p { color:#8f8f96; line-height:1.6; max-width:430px; }
.locator-search label { display:block; margin:26px 0 9px; color:#777; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.locator-search form>div { display:flex; border-bottom:1px solid #44444b; }
.locator-search input { flex:1; min-width:0; padding:16px 0; border:0; outline:0; color:#111; background:transparent; font-size:16px; }
.locator-search input:focus { border-color:var(--pink); }
.locator-search button { border:0; padding:0 18px; color:white; background:var(--pink); cursor:pointer; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.locator-stage { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(340px,.7fr); min-height:650px; border:1px solid #28282e; box-shadow:0 0 80px rgba(240,20,125,.08); }
.locator-map { position:relative; overflow:hidden; min-height:650px; background:#0c0c10; border-right:1px solid #28282e; }
.leaflet-city-map { position:absolute; inset:0; z-index:1; background:#09090c; }
.locator-map .leaflet-tile-pane { filter:grayscale(1) invert(.91) contrast(1.28) brightness(.42) hue-rotate(165deg); }
.locator-map .leaflet-control-zoom a { color:#ff3d9d; background:rgba(8,8,11,.92); border-color:#3d2634; }
.locator-map .leaflet-control-zoom a:hover { color:white; background:var(--pink); }
.locator-map .leaflet-control-attribution { color:#777; background:rgba(7,7,10,.78); }
.locator-map .leaflet-control-attribution a { color:#ff4ca3; }
.map-wash { position:absolute; inset:0; z-index:400; pointer-events:none; background:linear-gradient(135deg,rgba(3,3,6,.34),rgba(36,0,20,.1)),radial-gradient(circle at 50% 48%,transparent 0 25%,rgba(5,5,8,.3) 82%); box-shadow:inset 0 0 95px rgba(0,0,0,.65),inset 0 0 35px rgba(240,20,125,.12); }
.amnesia-marker-shell { background:transparent; border:0; }
.amnesia-logo-only { width:20px!important; height:20px!important; max-width:20px!important; max-height:20px!important; display:block!important; object-fit:contain!important; filter:drop-shadow(0 0 3px rgba(240,20,125,.9)); }
.primary-shell { color:white; }
.amnesia-logo-only.primary { width:30px!important; height:30px!important; max-width:30px!important; max-height:30px!important; filter:drop-shadow(0 0 6px rgba(240,20,125,.95)); }
.primary-shell>b { position:absolute; left:50%; top:34px; transform:translateX(-50%); padding:5px 7px; white-space:nowrap; background:rgba(7,7,10,.9); border:1px solid rgba(255,78,166,.45); box-shadow:0 0 12px rgba(240,20,125,.14); font-size:7px; letter-spacing:.12em; text-transform:uppercase; }
.locator-map .leaflet-tooltip { color:white; background:rgba(7,7,10,.9); border:1px solid rgba(240,20,125,.55); box-shadow:0 0 18px rgba(240,20,125,.22); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.locator-map .leaflet-tooltip-top:before { border-top-color:rgba(240,20,125,.55); }
.map-status { position:absolute; left:25px; bottom:25px; z-index:700; display:flex; gap:8px; align-items:center; padding:10px 13px; border:1px solid #34343a; background:rgba(8,8,11,.72); color:#aaa; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.map-status i { width:7px; height:7px; border-radius:50%; background:#ff218d; box-shadow:0 0 10px #ff218d; }
.map-expand { position:absolute; right:25px; bottom:25px; z-index:4; padding:10px 13px; border:1px solid #45454c; background:rgba(8,8,11,.78); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.network-count { position:absolute; top:25px; right:25px; z-index:4; display:flex; align-items:center; gap:12px; padding:11px 14px; color:white; background:rgba(7,7,10,.82); border:1px solid rgba(240,20,125,.5); box-shadow:0 0 24px rgba(240,20,125,.13); backdrop-filter:blur(9px); }
.network-count strong { color:#ff3d9d; font-size:25px; line-height:1; }
.network-count span { color:#aaa; font-size:8px; line-height:1.35; letter-spacing:.12em; text-transform:uppercase; }
.locator-panel { padding:34px; display:flex; flex-direction:column; color:white; background:linear-gradient(155deg,#141418,#0a0a0d); }
.market-tabs { display:grid; grid-template-columns:1fr 1fr; border:1px solid #34343a; }
.market-tabs button { padding:14px; background:transparent; color:#777; border:0; cursor:pointer; text-transform:uppercase; font-size:9px; font-weight:900; letter-spacing:.12em; }
.market-tabs button.active { background:var(--pink); color:white; box-shadow:0 0 20px rgba(240,20,125,.28); }
.market-copy { padding:45px 0 30px; }
.market-copy small,.inventory-note { color:#666; text-transform:uppercase; letter-spacing:.13em; font-size:8px; }
.market-copy h3 { margin:9px 0 15px; font-size:47px; line-height:.9; text-transform:uppercase; letter-spacing:-.05em; }
.market-copy p { color:#8f8f96; font-size:12px; line-height:1.6; }
.city-list { border-top:1px solid #303035; }
.city-list button { width:100%; padding:20px 0; display:grid; grid-template-columns:34px 1fr auto; gap:12px; align-items:center; text-align:left; color:white; background:transparent; border:0; border-bottom:1px solid #303035; cursor:pointer; }
.city-list button:hover strong,.city-list button:hover b { color:#ff4ca3; }
.city-list button.selected { padding-left:10px; background:linear-gradient(90deg,rgba(240,20,125,.12),transparent); }
.city-list button.selected strong,.city-list button.selected b { color:#ff4ca3; }
.city-list span,.city-list b { color:#6f6f76; font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.city-list strong { font-size:14px; text-transform:uppercase; }
.inventory-note { display:block; margin-top:auto; padding-top:28px; line-height:1.55; }
.states { padding:110px 3.5vw; background:var(--paper); color:#111; display:grid; grid-template-columns:40% 60%; gap:5vw; }
.state-copy p:last-child { color:#666; line-height:1.55; max-width:400px; }
.state-grid { border-top:1px solid #bbb; }
.state-grid>a { min-height:155px; border-bottom:1px solid #bbb; display:grid; grid-template-columns:55px 1fr auto; align-items:center; gap:20px; transition:.2s; }
.state-grid>a:hover { padding-left:18px; color:var(--pink); }
.state-grid>a>span { font-size:11px; }
.state-grid small { text-transform:uppercase; letter-spacing:.12em; font-size:9px; color:#777; }
.state-grid h3 { margin:5px 0 0; font-size:42px; text-transform:uppercase; }
.state-grid b { font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.state-next { padding:30px 0; display:flex; gap:20px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#777; }
footer { padding:110px 3.5vw 30px; color:#111; background:#fff; }
.footer-main { min-height:300px; display:grid; grid-template-columns:130px 1fr auto; gap:40px; align-items:center; }
.footer-main h2 { font-size:clamp(60px,8vw,132px); line-height:.84; margin:0; text-transform:uppercase; letter-spacing:-.07em; }
.footer-bottom { padding-top:24px; border-top:1px solid #ddd9d2; display:flex; justify-content:space-between; color:#777; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
@keyframes slowZoom { from{transform:scale(1.08)} to{transform:scale(1.02)} }
@keyframes rise { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }
@keyframes ticker { to{transform:translateX(-20%)} }
@keyframes productFloat { 0%,100%{transform:translateY(0) rotate(2deg)} 50%{transform:translateY(-14px) rotate(-1deg)} }
@keyframes heroBannerIn { from{opacity:0;transform:scale(1.025)} to{opacity:1;transform:scale(1)} }
@keyframes pinPulse { 70%{box-shadow:0 0 0 13px rgba(240,20,125,0),0 0 24px 5px var(--pink)} }
@keyframes networkGlow { 50%{opacity:.58;filter:brightness(.8)} }
.age-gate { position:fixed; inset:0; z-index:999; color:#111; background:#f8f6f2; display:grid; grid-template-columns:56% 44%; }
.age-art { background:url('../images/amnesia-campaign.jpg') center/cover no-repeat; position:relative; }
.age-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 60%,#f8f6f2),linear-gradient(0deg,rgba(0,0,0,.18),transparent); }
.age-panel { padding:8vw 6vw; display:flex; flex-direction:column; justify-content:center; }
.age-panel>img { width:120px; height:80px; object-fit:contain; filter:brightness(0); margin-bottom:60px; }
.age-panel h2 { font-size:clamp(52px,5vw,84px); line-height:.9; letter-spacing:-.06em; text-transform:uppercase; margin:0 0 22px; }
.age-panel>p:not(.eyebrow) { color:#4f4f54; line-height:1.55; max-width:410px; }
.age-actions { display:flex; align-items:center; gap:22px; margin:30px 0 45px; }
.age-actions button { background:var(--pink); color:white; border:0; padding:16px 20px; text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:900; cursor:pointer; display:flex; gap:30px; }
.age-actions a { font-size:10px; text-transform:uppercase; letter-spacing:.1em; border-bottom:1px solid #777; padding-bottom:4px; }
.age-panel>small { color:#666; line-height:1.5; font-size:9px; max-width:430px; }
.age-noscript { padding:12px 14px; border-left:3px solid var(--pink); background:rgba(240,20,125,.08); font-size:12px; }
@media(max-width:900px){
  .nav { grid-template-columns:1fr 1fr; }
  .nav-logo { grid-column:1; width:68px; }
  .find-button { display:none; }
  .market-pill { display:none; }
  .menu-button { display:block; justify-self:end; background:transparent; border:1px solid white; color:white; padding:9px 12px; text-transform:uppercase; font-size:10px; }
  .nav-links { display:none; top:78px; left:0; right:0; padding:25px 4vw; background:#09090b; flex-direction:column; }
  .nav-links.open { display:flex; }
  .hero { min-height:720px; padding-bottom:105px; }
  .hero-content { width:92vw; }
  .hero h1 { font-size:clamp(54px,16vw,90px); }
  .hero-controls { left:4vw; right:auto; bottom:50px; }
  .video-note { display:none; }
  .hero-packshot { right:-2vw; top:165px; width:40vw; opacity:.86; }
  .section-heading,.states { display:block; }
  .section-heading>p { width:auto; max-width:480px; }
  .category-grid { grid-template-columns:1fr 1fr; }
  .category-card { min-height:510px; }
  .category-stage { min-height:310px; }
  .category-product { height:295px; }
  .category-product.vape { height:315px; }
  .master-products-head { grid-template-columns:1fr; gap:35px; }
  .master-sku-grid { grid-template-columns:1fr 1fr; }
  .catalog { grid-template-columns:1fr; }
  .catalog-intro { padding:80px 4vw; }
  .story { grid-template-columns:1fr; }
  .story-image { min-height:480px; }
  .state-grid { margin-top:60px; }
  .footer-main { grid-template-columns:80px 1fr; }
  .footer-main .button { grid-column:1/-1; justify-self:start; }
  .brand-proof { grid-template-columns:1fr 1fr; }
  .locator-top { grid-template-columns:1fr; }
  .locator-stage { grid-template-columns:1fr; }
  .locator-map { border-right:0; border-bottom:1px solid #28282e; min-height:540px; }
  .age-gate { grid-template-columns:1fr; }
  .age-art { position:absolute; inset:0; opacity:.25; }
  .age-panel { position:relative; z-index:2; min-height:100vh; background:linear-gradient(90deg,rgba(248,246,242,.94),rgba(248,246,242,.72)); }
  .age-panel>p:not(.eyebrow) { color:#4f4f54; }
}
@media(max-width:620px){
  .legal-bar span { display:none; }
  .hero { min-height:680px; }
  .hero-bubble-hash { height:560px; min-height:560px; }
  .hero-bubble-hash .hero-image { background-size:auto 100%; background-position:center top; }
  .hero-banner-bar { min-height:118px; align-items:flex-start; flex-direction:column; gap:14px; }
  .hero-banner-bar>div { align-items:flex-start; flex-direction:column; gap:6px; }
  .hero-banner-bar strong { font-size:15px; }
  .hero-banner-bar a { width:100%; }
  .hero-image { background-position:58% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.08) 80%); }
  .hero-packshot { right:-18vw; top:110px; width:68vw; opacity:.42; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .collection { padding-top:80px; }
  .category-grid { grid-template-columns:1fr; }
  .category-card { min-height:500px; }
  .category-stage { min-height:300px; }
  .category-product { width:72%; height:285px; }
  .category-product.vape { width:46%; height:300px; }
  .master-products { padding:80px 4vw 90px; }
  .master-filter-bar { position:relative; align-items:flex-start; flex-direction:column; }
  .master-filter-bar>span { padding-left:3px; }
  .master-sku-grid { grid-template-columns:1fr; }
  .master-sku-grid article { min-height:500px; }
  .sku-list { grid-template-columns:1fr; height:auto; }
  .sku-list article { min-height:390px; }
  .catalog-panel { padding-bottom:70px; }
  .story-image { min-height:350px; }
  .story-copy { padding:70px 5vw; }
  .states { padding-top:80px; }
  .state-grid h3 { font-size:32px; }
  .footer-main { display:flex; flex-direction:column; align-items:flex-start; }
  .footer-main img { width:90px; height:70px; }
  .footer-bottom { flex-direction:column; gap:12px; }
  .brand-proof { grid-template-columns:1fr; }
  .locator { padding:80px 4vw; }
  .locator-top h2 { font-size:16vw; }
  .locator-search form>div { display:block; border:0; }
  .locator-search input { width:100%; border-bottom:1px solid #44444b; }
  .locator-search button { width:100%; padding:16px; margin-top:10px; }
  .locator-map { min-height:430px; }
  .city-pin span { font-size:8px; }
  .map-expand { right:15px; bottom:15px; }
  .network-count { top:15px; right:15px; }
  .retailer-network>span { width:19px; height:19px; margin:-9px 0 0 -9px; padding:4px; }
  .locator-panel { padding:25px; }
  .brand-proof>div,.brand-proof>p { min-height:125px; border-bottom:1px solid #29292c; }
  .age-panel { padding:8vh 6vw; }
  .age-panel>img { margin-bottom:35px; }
  .age-actions { align-items:flex-start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* WordPress integration and source-placeholder treatments. */
.admin-bar .nav { top:62px; }
.placeholder-link { display:inline-block; align-self:flex-start; margin-top:24px; cursor:default; }
.state-row { min-height:155px; border-bottom:1px solid #bbb; display:grid; grid-template-columns:55px 1fr auto; align-items:center; gap:20px; }
.state-row>span { font-size:11px; }
.state-row small { text-transform:uppercase; letter-spacing:.12em; font-size:9px; color:#777; }
.state-row h3 { margin:5px 0 0; font-size:42px; text-transform:uppercase; }
.state-row b { color:#777; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.format-list:focus-visible { outline-offset:-4px; }
.leaflet-container { font-family:inherit; }
.leaflet-control-container a:focus-visible { outline:3px solid #ff68b4; outline-offset:1px; }
.age-gate { isolation:isolate; }
.age-panel { overflow-y:auto; }
.age-actions button,.age-actions a,.menu-button,.market-tabs button,.city-list button,.locator-search button { min-height:44px; }

@media(max-width:782px){
  .admin-bar .nav { top:76px; }
}

@media(max-width:620px){
  .state-row h3 { font-size:32px; }
}
