/*
 * Puro Party Cartel — compiled theme stylesheet by The Free Website Guys.
 * Base/utility layer generated from the site's design tokens; component
 * layer hand-authored to match the brand's visual system exactly.
 */
@import url("https://fonts.googleapis.com/css2?family=Archivo+Black&family=Anton&family=Permanent+Marker&family=Rock+Salt&family=Space+Grotesk:wght@400;500;600;700&family=Inter+Tight:wght@400;500;600;700;800&display=swap");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 5%;--foreground:40 12% 94%;--card:0 0% 8%;--card-foreground:40 12% 94%;--popover:0 0% 7%;--popover-foreground:40 12% 94%;--primary:0 78% 42%;--primary-foreground:40 12% 96%;--secondary:0 0% 12%;--secondary-foreground:40 12% 94%;--muted:0 0% 15%;--muted-foreground:30 6% 65%;--accent:0 78% 42%;--accent-foreground:40 12% 96%;--destructive:0 78% 38%;--destructive-foreground:40 12% 96%;--border:0 0% 18%;--input:0 0% 18%;--ring:0 78% 42%;--radius:0.25rem;--font-display:"Archivo Black","Inter Tight",system-ui,sans-serif;--font-body:"Space Grotesk","Inter Tight",system-ui,sans-serif;--font-condensed:"Anton","Archivo Black",system-ui,sans-serif;--font-graffiti:"Permanent Marker","Archivo Black",system-ui,sans-serif;--font-spray:"Rock Salt","Permanent Marker","Archivo Black",system-ui,sans-serif;--shadow-soft:0 4px 20px -4px rgba(0,0,0,.5);--shadow-elevated:0 12px 40px -8px rgba(0,0,0,.75);--transition-smooth:cubic-bezier(0.4,0,0.2,1);--rosa:0 78% 42%;--marigold:0 78% 42%;--teal:0 0% 65%;--indigo:0 0% 30%;--nopal:0 0% 30%;--butter:0 0% 8%;--surface-deep:0 0% 3%;--surface-deep-foreground:40 12% 94%}.dark{--background:0 0% 5%;--foreground:40 12% 94%}*{border-color:hsl(var(--border))}body,html{max-width:100%;overflow-x:clip;background:hsl(var(--background))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:.005em;text-transform:uppercase;font-weight:400}::-moz-selection{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}::selection{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}body:before{content:"";position:fixed;inset:-50%;z-index:0;pointer-events:none;background-image:radial-gradient(hsla(0,0%,100%,.025) .6px,transparent 1px),radial-gradient(rgba(0,0,0,.35) .5px,transparent 1px);background-size:5px 5px,3px 3px;background-position:0 0,1px 2px;opacity:.45;animation:grainDrift 22s linear infinite;will-change:transform}@keyframes grainDrift{0%{transform:translateZ(0)}25%{transform:translate3d(-1.5%,1%,0)}50%{transform:translate3d(1%,-1.2%,0)}75%{transform:translate3d(-.8%,-.6%,0)}to{transform:translateZ(0)}}@media (prefers-reduced-motion:reduce){body:before{animation:none}}#root{position:relative;z-index:1}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width:1400px){.container{max-width:1400px}}.container-wide{margin-left:auto;margin-right:auto;width:100%;max-width:80rem;padding-left:1.25rem;padding-right:1.25rem}@media (min-width:640px){.container-wide{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.container-wide{padding-left:2.5rem;padding-right:2.5rem}}.link-underline{position:relative;display:inline-block}.link-underline:after{content:"";position:absolute;bottom:0;left:0;height:1px;width:100%;transform-origin:left;--tw-scale-x:0;background-color:currentColor;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s;transition-timing-function:var(--transition-smooth)}.link-underline:after,.link-underline:hover:after{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.link-underline:hover:after{--tw-scale-x:1}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-width:2px;border-color:hsl(var(--primary));background-color:hsl(var(--primary));padding:1rem 2rem;font-family:Archivo Black,Inter Tight,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem;text-transform:uppercase;letter-spacing:.22em;color:hsl(var(--primary-foreground));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.btn-primary:hover{background:transparent;color:hsl(var(--primary))}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-width:2px;border-color:hsl(var(--foreground)/.8);background-color:transparent;padding:1rem 2rem;font-family:Archivo Black,Inter Tight,system-ui,sans-serif;font-size:.875rem;line-height:1.25rem;text-transform:uppercase;letter-spacing:.22em;color:hsl(var(--foreground));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.btn-ghost:hover{background:hsl(var(--foreground));color:hsl(var(--background))}.sticker-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:12px;text-transform:uppercase;letter-spacing:.32em;color:hsl(var(--primary));font-family:var(--font-condensed)}.sticker-tag:before{content:"";display:block;height:1px;width:2rem;background-color:hsl(var(--primary))}.spray-link{position:relative;display:inline-block}.spray-link:after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;height:3px;transform-origin:left;--tw-scale-x:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background-color:hsl(var(--primary));transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s;transform-origin:left center;transition-timing-function:var(--transition-smooth);clip-path:polygon(0 30%,3% 0,8% 60%,15% 20%,22% 80%,30% 40%,40% 90%,50% 25%,60% 75%,70% 15%,80% 85%,88% 35%,95% 70%,100% 45%,100% 100%,0 100%)}.spray-link:hover:after,.spray-link[data-active=true]:after{--tw-scale-x:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tape-strip{background-image:repeating-linear-gradient(-45deg,hsl(var(--primary)) 0 12px,hsl(var(--primary)/.85) 12px 24px)}.grain{background-image:radial-gradient(circle at 20% 30%,hsla(0,0%,100%,.02) 0,transparent 40%),radial-gradient(circle at 80% 70%,hsla(0,0%,100%,.02) 0,transparent 40%)}.overspray{background-image:radial-gradient(circle at 12% 40%,hsl(var(--primary)/.18) 0,transparent 22%),radial-gradient(circle at 88% 60%,hsl(var(--primary)/.14) 0,transparent 24%),radial-gradient(circle at 50% 50%,hsl(var(--primary)/.08) 0,transparent 38%);filter:blur(.4px)}.overspray-dots{background-image:radial-gradient(hsl(var(--primary)/.55) .8px,transparent 1.2px),radial-gradient(hsl(var(--primary)/.35) .6px,transparent 1px);background-size:14px 14px,22px 22px;background-position:0 0,7px 9px}.sticker-hover{transition:transform .25s var(--transition-smooth),filter .25s var(--transition-smooth)}.sticker-hover:hover{transform:rotate(-3deg) scale(1.04);filter:drop-shadow(2px 3px 0 hsl(var(--primary)/.9))}.font-spray{font-family:var(--font-spray);letter-spacing:.02em;font-weight:400;line-height:1.25;text-shadow:0 1px 0 rgba(0,0,0,.35)}.graffiti-mark{font-family:var(--font-graffiti);text-transform:lowercase;letter-spacing:.01em;line-height:.95}.spray-reveal{animation:sprayReveal .9s cubic-bezier(.2,.7,.2,1) both}@keyframes sprayReveal{0%{opacity:0;filter:blur(6px);transform:translateY(4px) rotate(-2deg)}60%{opacity:.85;filter:blur(1.2px)}to{opacity:1;filter:blur(0);transform:translateY(0) rotate(-2deg)}}.graffiti-jitter{transition:transform .2s var(--transition-smooth);display:inline-block}.graffiti-jitter:hover{transform:rotate(-3deg) translateY(-1px) scale(1.02)}@media (prefers-reduced-motion:reduce){.spray-reveal{animation:none}.graffiti-jitter{transition:none}.graffiti-jitter:hover{transform:none}}.sticker-snap{animation:stickerSnap .55s cubic-bezier(.34,1.56,.64,1) .15s both;transform-origin:center}@keyframes stickerSnap{0%{opacity:0;transform:scale(.55) rotate(-14deg)}60%{opacity:1;transform:scale(1.06) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(3deg)}}@media (prefers-reduced-motion:reduce){.sticker-snap{animation:none;transform:rotate(3deg)}}.pulse-dot{width:8px;height:8px;border-radius:999px;background:hsl(var(--primary));box-shadow:0 0 0 0 hsl(var(--primary)/.6);animation:pulseDot 2.2s var(--transition-smooth) infinite}@keyframes pulseDot{0%,to{box-shadow:0 0 0 0 hsl(var(--primary)/.55)}50%{box-shadow:0 0 0 6px hsl(var(--primary)/0)}}.surface-asphalt{background-color:#0f0f0f;background-image:radial-gradient(ellipse 90% 60% at 50% 0,rgba(31,31,31,.55) 0,transparent 60%),radial-gradient(ellipse 100% 55% at 50% 100%,rgba(0,0,0,.6) 0,transparent 60%),radial-gradient(hsla(0,0%,100%,.018) .6px,transparent 1px),radial-gradient(rgba(0,0,0,.35) .5px,transparent 1px);background-size:100% 100%,100% 100%,5px 5px,3px 3px;background-position:0 0,0 0,0 0,1px 2px}.surface-concrete{background-color:#171717;background-image:linear-gradient(180deg,rgba(31,31,31,.5) 0,transparent 30%,transparent 70%,hsla(0,0%,4%,.6) 100%),radial-gradient(ellipse 70% 45% at 15% 20%,hsl(var(--primary)/.045) 0,transparent 60%),radial-gradient(ellipse 60% 40% at 88% 82%,hsla(0,0%,100%,.02) 0,transparent 60%),repeating-linear-gradient(112deg,transparent 0 42px,hsla(0,0%,100%,.012) 42px 43px,transparent 43px 78px),radial-gradient(hsla(0,0%,100%,.02) .6px,transparent 1px),radial-gradient(rgba(0,0,0,.32) .5px,transparent 1px);background-size:100% 100%,100% 100%,100% 100%,100% 100%,6px 6px,3px 3px;background-position:0 0,0 0,0 0,0 0,0 0,1px 2px}.surface-message-board{background-color:#0f0f0f;background-image:radial-gradient(ellipse 45% 80% at 50% 50%,rgba(31,31,31,.55) 0,transparent 65%),radial-gradient(ellipse 30% 20% at 8% 12%,hsl(var(--primary)/.07) 0,transparent 70%),radial-gradient(ellipse 30% 20% at 92% 88%,hsl(var(--primary)/.06) 0,transparent 70%),repeating-linear-gradient(-8deg,transparent 0 60px,hsla(0,0%,100%,.014) 60px 61px,transparent 61px 120px),radial-gradient(hsla(0,0%,100%,.02) .5px,transparent 1px);background-size:100% 100%,100% 100%,100% 100%,100% 100%,5px 5px}.surface-footer-wall{background-color:#0a0a0a;background-image:radial-gradient(ellipse 60% 40% at 50% 0,hsl(var(--primary)/.08) 0,transparent 70%),linear-gradient(180deg,hsla(0,0%,8%,.4) 0,transparent 40%),radial-gradient(hsla(0,0%,100%,.018) .6px,transparent 1px);background-size:100% 100%,100% 100%,6px 6px}.hero-poster-overlay{background-image:repeating-linear-gradient(90deg,transparent 0 118px,hsla(0,0%,100%,.02) 118px 119px,transparent 119px 240px),radial-gradient(ellipse 25% 30% at 8% 92%,hsl(var(--primary)/.14) 0,transparent 65%),radial-gradient(ellipse 22% 26% at 95% 8%,hsl(var(--primary)/.1) 0,transparent 65%),radial-gradient(hsla(0,0%,100%,.02) .5px,transparent 1px);background-size:100% 100%,100% 100%,100% 100%,5px 5px;mix-blend-mode:screen;opacity:.75}.torn-strip{background:#f2f0ee;color:#141414;-webkit-mask-image:linear-gradient(180deg,transparent,#000 6px,#000 calc(100% - 6px),transparent);mask-image:linear-gradient(180deg,transparent,#000 6px,#000 calc(100% - 6px),transparent)}.surface-paper{background-color:#efece7;color:#141414;background-image:radial-gradient(ellipse 65% 45% at 12% 18%,hsla(0,0%,100%,.7) 0,transparent 60%),radial-gradient(ellipse 55% 40% at 88% 82%,hsla(30,15%,82%,.55) 0,transparent 65%),repeating-linear-gradient(6deg,transparent 0 34px,rgba(0,0,0,.025) 34px 35px,transparent 35px 68px),radial-gradient(rgba(0,0,0,.06) .5px,transparent 1px),radial-gradient(hsla(0,0%,100%,.6) .4px,transparent 1px);background-size:100% 100%,100% 100%,100% 100%,4px 4px,6px 6px;background-position:0 0,0 0,0 0,0 0,2px 1px}.paper-fg{color:#141414}.paper-muted{color:#525252}.paper-subtle{color:#737373}.tape-corner{position:absolute;width:44px;height:14px;background:hsl(var(--primary)/.92);background-image:repeating-linear-gradient(-45deg,hsl(var(--primary)) 0 4px,hsl(var(--primary)/.82) 4px 8px);box-shadow:0 2px 6px rgba(0,0,0,.35);z-index:12;pointer-events:none}.tape-corner-tl{top:-6px;left:12px;transform:rotate(-14deg)}.tape-corner-tr{top:-6px;right:12px;transform:rotate(12deg)}.tape-corner-br{bottom:-6px;right:18px;transform:rotate(-10deg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-3{inset:.75rem}.inset-\[10px\]{inset:10px}.-inset-y-3{top:-.75rem;bottom:-.75rem}.inset-x-0{left:0;right:0}.inset-x-3{left:.75rem;right:.75rem}.-bottom-2{bottom:-.5rem}.-bottom-6{bottom:-1.5rem}.-bottom-\[6px\]{bottom:-6px}.-left-4{left:-1rem}.-left-6{left:-1.5rem}.-right-0\.5{right:-.125rem}.-right-2{right:-.5rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-16{top:-4rem}.-top-2{top:-.5rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.-top-6{top:-1.5rem}.-top-\[6px\]{top:-6px}.-top-\[7px\]{top:-7px}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-\[3px\]{bottom:3px}.left-0{left:0}.left-1\/2{left:50%}.left-10{left:2.5rem}.left-16{left:4rem}.left-2\.5{left:.625rem}.left-20{left:5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-6{left:1.5rem}.left-8{left:2rem}.left-\[-2vw\]{left:-2vw}.left-\[50\%\]{left:50%}.right-0{right:0}.right-10{right:2.5rem}.right-14{right:3.5rem}.right-16{right:4rem}.right-2\.5{right:.625rem}.right-24{right:6rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-8{right:2rem}.right-\[-3vw\]{right:-3vw}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.top-3{top:.75rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-\[38\%\]{top:38%}.top-\[50\%\]{top:50%}.top-\[8\%\]{top:8%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[5\]{z-index:5}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2/span 2}.row-span-2{grid-row:span 2/span 2}.float-left{float:left}.-m-10{margin:-2.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.\!h-1\.5{height:.375rem!important}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[14px\]{height:14px}.h-\[20px\]{height:20px}.h-\[3px\]{height:3px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[420px\]{max-height:420px}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92dvh\]{max-height:92dvh}.min-h-0{min-height:0}.min-h-\[36px\]{min-height:36px}.min-h-\[54px\]{min-height:54px}.min-h-\[640px\]{min-height:640px}.min-h-screen{min-height:100vh}.\!w-1\.5{width:.375rem!important}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[45\%\]{width:45%}.w-\[64px\]{width:64px}.w-\[70vw\]{width:70vw}.w-\[84px\]{width:84px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[20px\]{min-width:20px}.min-w-\[52px\]{min-width:52px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[160px\]{max-width:160px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[320px\]{max-width:320px}.max-w-\[380px\]{max-width:380px}.max-w-\[520px\]{max-width:520px}.max-w-\[86vw\]{max-width:86vw}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-bottom-left{transform-origin:bottom left}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-2px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-2px\]{--tw-translate-y:-2px}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.translate-y-\[-50\%\],.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.-rotate-2{--tw-rotate:-2deg}.-rotate-2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-45{--tw-rotate:45deg}.rotate-45,.rotate-\[-14deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-14deg\]{--tw-rotate:-14deg}.rotate-\[-2deg\]{--tw-rotate:-2deg}.rotate-\[-2deg\],.rotate-\[-3deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-3deg\]{--tw-rotate:-3deg}.rotate-\[-4deg\]{--tw-rotate:-4deg}.rotate-\[-4deg\],.rotate-\[-5deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-5deg\]{--tw-rotate:-5deg}.rotate-\[-6deg\]{--tw-rotate:-6deg}.rotate-\[-6deg\],.rotate-\[-8deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[-8deg\]{--tw-rotate:-8deg}.rotate-\[3deg\]{--tw-rotate:3deg}.rotate-\[3deg\],.rotate-\[4deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[4deg\]{--tw-rotate:4deg}.rotate-\[6deg\]{--tw-rotate:6deg}.rotate-\[6deg\],.rotate-\[7deg\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-\[7deg\]{--tw-rotate:7deg}.scale-x-0{--tw-scale-x:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.scroll-mt-20{scroll-margin-top:5rem}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-9{gap:2.25rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-1{row-gap:.25rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded-full{border-radius:9999px}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[3px\]{border-width:3px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-y-2{border-top-width:2px;border-bottom-width:2px}.border-y-\[3px\]{border-top-width:3px;border-bottom-width:3px}.border-b{border-bottom-width:1px}.border-b-\[3px\]{border-bottom-width:3px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-t-\[3px\]{border-top-width:3px}.border-dashed{border-style:dashed}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-border{border-color:hsl(var(--border))}.border-border\/60{border-color:hsl(var(--border)/.6)}.border-border\/70{border-color:hsl(var(--border)/.7)}.border-border\/80{border-color:hsl(var(--border)/.8)}.border-foreground{border-color:hsl(var(--foreground))}.border-foreground\/80{border-color:hsl(var(--foreground)/.8)}.border-foreground\/85{border-color:hsl(var(--foreground)/.85)}.border-foreground\/90{border-color:hsl(var(--foreground)/.9)}.border-primary{border-color:hsl(var(--primary))}.border-primary-foreground\/20{border-color:hsl(var(--primary-foreground)/.2)}.border-primary\/20{border-color:hsl(var(--primary)/.2)}.border-primary\/70{border-color:hsl(var(--primary)/.7)}.\!bg-primary-foreground{background-color:hsl(var(--primary-foreground))!important}.bg-\[hsl\(0_0\%_9\%\)\]{--tw-bg-opacity:1;background-color:hsl(0 0% 9%/var(--tw-bg-opacity,1))}.bg-\[hsl\(38_20\%_92\%\)\]{--tw-bg-opacity:1;background-color:hsl(38 20% 92%/var(--tw-bg-opacity,1))}.bg-background{background-color:hsl(var(--background))}.bg-background\/40{background-color:hsl(var(--background)/.4)}.bg-background\/55{background-color:hsl(var(--background)/.55)}.bg-background\/60{background-color:hsl(var(--background)/.6)}.bg-background\/70{background-color:hsl(var(--background)/.7)}.bg-background\/80{background-color:hsl(var(--background)/.8)}.bg-background\/85{background-color:hsl(var(--background)/.85)}.bg-background\/90{background-color:hsl(var(--background)/.9)}.bg-background\/95{background-color:hsl(var(--background)/.95)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-foreground\/80{background-color:hsl(var(--foreground)/.8)}.bg-muted{background-color:hsl(var(--muted))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-foreground{background-color:hsl(var(--primary-foreground))}.bg-primary\/\[0\.06\]{background-color:hsl(var(--primary)/.06)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/30{background-color:hsl(var(--secondary)/.3)}.bg-secondary\/40{background-color:hsl(var(--secondary)/.4)}.bg-transparent{background-color:transparent}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-background{--tw-gradient-from:hsl(var(--background)) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-background\/70{--tw-gradient-from:hsl(var(--background)/0.7) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-background\/75{--tw-gradient-from:hsl(var(--background)/0.75) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-background\/95{--tw-gradient-from:hsl(var(--background)/0.95) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/40{--tw-gradient-from:rgba(0,0,0,.4) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-background\/55{--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--background)/0.55) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-background\/60{--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--background)/0.6) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-background\/80{--tw-gradient-to:hsl(var(--background)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--background)/0.8) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-background{--tw-gradient-to:hsl(var(--background)) var(--tw-gradient-to-position)}.to-background\/95{--tw-gradient-to:hsl(var(--background)/0.95) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-\[62\%_center\]{-o-object-position:62% center;object-position:62% center}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-\[max\(1rem\2c env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(1rem,env(safe-area-inset-bottom))}.pl-9{padding-left:2.25rem}.pl-\[calc\(2\.5rem\+1\.25rem\)\]{padding-left:3.75rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pr-6{padding-right:1.5rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-baseline{vertical-align:baseline}.font-body{font-family:Space Grotesk,Inter Tight,system-ui,sans-serif}.font-condensed{font-family:Anton,Archivo Black,system-ui,sans-serif}.font-display{font-family:Archivo Black,Inter Tight,system-ui,sans-serif}.font-spray{font-family:Rock Salt,Permanent Marker,Archivo Black,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.72em\]{font-size:.72em}.text-\[0\.75em\]{font-size:.75em}.text-\[100px\]{font-size:100px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[22vw\]{font-size:22vw}.text-\[24vw\]{font-size:24vw}.text-\[26vw\]{font-size:26vw}.text-\[28vw\]{font-size:28vw}.text-\[30vw\]{font-size:30vw}.text-\[34px\]{font-size:34px}.text-\[36px\]{font-size:36px}.text-\[36vw\]{font-size:36vw}.text-\[40px\]{font-size:40px}.text-\[64px\]{font-size:64px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[0\.8\]{line-height:.8}.leading-\[0\.95\]{line-height:.95}.leading-\[1\.02\]{line-height:1.02}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[-0\.05em\]{letter-spacing:-.05em}.tracking-\[0\.01em\]{letter-spacing:.01em}.tracking-\[0\.02em\]{letter-spacing:.02em}.tracking-\[0\.04em\]{letter-spacing:.04em}.tracking-\[0\.05em\]{letter-spacing:.05em}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.24em\]{letter-spacing:.24em}.tracking-\[0\.28em\]{letter-spacing:.28em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.32em\]{letter-spacing:.32em}.tracking-\[0\.34em\]{letter-spacing:.34em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-\[0\.42em\]{letter-spacing:.42em}.tracking-\[0\.4em\]{letter-spacing:.4em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[hsl\(0_0\%_8\%\)\]{--tw-text-opacity:1;color:hsl(0 0% 8%/var(--tw-text-opacity,1))}.text-background{color:hsl(var(--background))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-border{color:hsl(var(--border))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/60{color:hsl(var(--foreground)/.6)}.text-foreground\/70{color:hsl(var(--foreground)/.7)}.text-foreground\/75{color:hsl(var(--foreground)/.75)}.text-foreground\/80{color:hsl(var(--foreground)/.8)}.text-foreground\/85{color:hsl(var(--foreground)/.85)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.opacity-\[0\.045\]{opacity:.045}.opacity-\[0\.05\]{opacity:.05}.opacity-\[0\.06\]{opacity:.06}.opacity-\[0\.08\]{opacity:.08}.opacity-\[0\.09\]{opacity:.09}.opacity-\[0\.10\]{opacity:.1}.opacity-\[0\.12\]{opacity:.12}.opacity-\[0\.28\]{opacity:.28}.mix-blend-screen{mix-blend-mode:screen}.shadow-\[0_30px_60px_-20px_rgba\(0\2c 0\2c 0\2c 0\.7\)\]{--tw-shadow:0 30px 60px -20px rgba(0,0,0,.7);--tw-shadow-colored:0 30px 60px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[10px_12px_0_hsl\(var\(--primary\)\)\]{--tw-shadow:10px 12px 0 hsl(var(--primary));--tw-shadow-colored:10px 12px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[4px_4px_0_hsl\(var\(--primary\)\/0\.5\)\]{--tw-shadow:4px 4px 0 hsl(var(--primary)/0.5);--tw-shadow-colored:4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[8px_10px_0_hsl\(var\(--primary\)\)\]{--tw-shadow:8px 10px 0 hsl(var(--primary));--tw-shadow-colored:8px 10px 0 var(--tw-shadow-color)}.shadow-\[8px_10px_0_hsl\(var\(--primary\)\)\],.shadow-elevated{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-elevated{--tw-shadow:var(--shadow-elevated);--tw-shadow-colored:var(--shadow-elevated)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur-\[2px\]{--tw-blur:blur(2px)}.blur-\[2px\],.drop-shadow-\[0_10px_18px_rgba\(0\2c 0\2c 0\2c 0\.55\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_10px_18px_rgba\(0\2c 0\2c 0\2c 0\.55\)\]{--tw-drop-shadow:drop-shadow(0 10px 18px rgba(0,0,0,.55))}.drop-shadow-\[0_14px_28px_rgba\(0\2c 0\2c 0\2c 0\.55\)\]{--tw-drop-shadow:drop-shadow(0 14px 28px rgba(0,0,0,.55))}.drop-shadow-\[0_14px_28px_rgba\(0\2c 0\2c 0\2c 0\.55\)\],.drop-shadow-\[0_4px_10px_rgba\(0\2c 0\2c 0\2c 0\.5\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_4px_10px_rgba\(0\2c 0\2c 0\2c 0\.5\)\]{--tw-drop-shadow:drop-shadow(0 4px 10px rgba(0,0,0,.5))}.drop-shadow-\[0_4px_20px_rgba\(0\2c 0\2c 0\2c 0\.55\)\]{--tw-drop-shadow:drop-shadow(0 4px 20px rgba(0,0,0,.55))}.drop-shadow-\[0_4px_20px_rgba\(0\2c 0\2c 0\2c 0\.55\)\],.drop-shadow-\[0_4px_6px_rgba\(0\2c 0\2c 0\2c 0\.6\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_4px_6px_rgba\(0\2c 0\2c 0\2c 0\.6\)\]{--tw-drop-shadow:drop-shadow(0 4px 6px rgba(0,0,0,.6))}.drop-shadow-\[0_8px_16px_rgba\(0\2c 0\2c 0\2c 0\.5\)\]{--tw-drop-shadow:drop-shadow(0 8px 16px rgba(0,0,0,.5))}.drop-shadow-\[0_8px_16px_rgba\(0\2c 0\2c 0\2c 0\.5\)\],.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px)}.backdrop-blur-\[1px\],.backdrop-blur-\[2px\]{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-transform{will-change:transform}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.text-stroke{-webkit-text-stroke:1px hsl(var(--foreground));color:transparent}.text-stroke-red{-webkit-text-stroke:1px hsl(var(--primary));color:transparent}.font-condensed{font-family:var(--font-condensed)}.animate-fade-in{animation:fadeIn .6s var(--transition-smooth) forwards}.animate-slide-up{animation:slideUp .6s var(--transition-smooth) forwards}.animate-marquee{animation:marquee 40s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.spray-stroke{position:relative;background:linear-gradient(90deg,hsl(var(--primary)) 0 100%);height:14px;width:100%;transform-origin:left center;transform:scaleX(0);filter:url(#ppc-spray-turb) blur(.4px);animation:spraySweep 1.15s cubic-bezier(.65,.02,.35,1) .15s forwards;clip-path:polygon(0 30%,3% 0,8% 60%,15% 20%,22% 80%,30% 40%,40% 90%,50% 25%,60% 75%,70% 15%,80% 85%,88% 35%,95% 70%,100% 45%,100% 100%,0 100%)}@keyframes spraySweep{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.spray-can-fly{animation:sprayFly 1.4s cubic-bezier(.65,.02,.35,1) forwards}@keyframes sprayFly{0%{transform:translateX(-12vw) rotate(-14deg);opacity:0}10%{opacity:1}to{transform:translateX(88vw) rotate(-8deg);opacity:0}}.spray-mist{animation:sprayMist 1.4s cubic-bezier(.65,.02,.35,1) forwards}@keyframes sprayMist{0%{opacity:0;transform:scaleX(0)}10%{opacity:.55}to{opacity:0;transform:scaleX(1)}}.animate-intro-fade{animation:introFadeOut .4s ease-out 1.5s forwards}@keyframes introFadeOut{to{opacity:0;visibility:hidden}}.hero-word{display:inline-block;overflow:visible;vertical-align:top;padding-block:.06em .22em;margin-block:-.06em -.12em}.hero-word>span{display:inline-block;transform:translateY(105%);animation:heroWordUp .75s cubic-bezier(.2,.7,.2,1) forwards}@keyframes heroWordUp{to{transform:translateY(0)}}.paint-underline{position:absolute;left:0;right:0;bottom:-.04em;height:.18em;background:hsl(var(--primary));opacity:.55;transform-origin:left center;transform:scaleX(0) skewX(-8deg);animation:paintSweep .9s cubic-bezier(.65,.02,.35,1) .55s forwards;clip-path:polygon(0 30%,3% 0,8% 60%,15% 20%,22% 80%,30% 40%,40% 90%,50% 25%,60% 75%,70% 15%,80% 85%,88% 35%,95% 70%,100% 45%,100% 100%,0 100%);z-index:-1;pointer-events:none}@keyframes paintSweep{to{transform:scaleX(1) skewX(-8deg)}}.hero-slash{position:absolute;left:-12%;right:-12%;top:55%;height:.09em;background:hsl(var(--primary));transform-origin:left center;transform:rotate(-14deg) scaleX(0);animation:slashSweep .55s cubic-bezier(.7,0,.3,1) 1.05s forwards;clip-path:polygon(0 40%,4% 10%,12% 60%,22% 20%,34% 70%,46% 25%,58% 65%,70% 20%,82% 60%,92% 30%,100% 55%,100% 100%,0 100%);filter:drop-shadow(0 1px 0 rgba(0,0,0,.35));pointer-events:none;z-index:1}@keyframes slashSweep{to{transform:rotate(-14deg) scaleX(1)}}@media (prefers-reduced-motion:reduce){.hero-slash{animation:none;transform:rotate(-14deg) scaleX(1)}}.faq-marker{position:absolute;left:0;top:8%;bottom:8%;width:3px;background:hsl(var(--primary));transform-origin:top center;animation:faqMarker .35s cubic-bezier(.2,.7,.2,1) forwards;clip-path:polygon(0 0,100% 2%,90% 20%,100% 40%,85% 60%,100% 80%,92% 100%,0 100%)}@keyframes faqMarker{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.spray-can-wiggle:hover{animation:sprayWiggle .6s ease-in-out}@keyframes sprayWiggle{0%,to{transform:rotate(-8deg) translateY(-4px)}20%{transform:rotate(-14deg) translateY(-6px)}40%{transform:rotate(-4deg) translateY(-5px)}60%{transform:rotate(-11deg) translateY(-6px)}80%{transform:rotate(-6deg) translateY(-4px)}}@media (prefers-reduced-motion:reduce){.animate-intro-fade,.animate-marquee,.faq-marker,.hero-word>span,.paint-underline,.pulse-dot,.spray-can-fly,.spray-mist,.spray-stroke{animation:none!important}.hero-word>span{transform:none!important}.paint-underline{transform:scaleX(1) skewX(-8deg)!important}.faq-marker{transform:scaleY(1)!important}*{scroll-behavior:auto!important}}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:border-foreground\/60:hover{border-color:hsl(var(--foreground)/.6)}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:border-primary\/60:hover{border-color:hsl(var(--primary)/.6)}.hover\:border-primary\/70:hover{border-color:hsl(var(--primary)/.7)}.hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.hover\:bg-foreground:hover{background-color:hsl(var(--foreground))}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:text-background:hover{color:hsl(var(--background))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/90:hover{color:hsl(var(--primary)/.9)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[6px_8px_0_hsl\(var\(--primary\)\)\]:hover{--tw-shadow:6px 8px 0 hsl(var(--primary));--tw-shadow-colored:6px 8px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-primary:focus{--tw-ring-color:hsl(var(--primary))}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:hsl(var(--primary))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-transparent:focus-visible{--tw-ring-offset-color:transparent}.active\:scale-\[0\.98\]:active{--tw-scale-x:0.98;--tw-scale-y:0.98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x:0.125rem}.group:hover .group-hover\:translate-x-0\.5,.group:hover .group-hover\:translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:translate-y-0{--tw-translate-y:0px}.group:hover .group-hover\:-rotate-1,.group:hover .group-hover\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:-rotate-1{--tw-rotate:-1deg}.group:hover .group-hover\:rotate-\[-6deg\]{--tw-rotate:-6deg}.group:hover .group-hover\:rotate-\[-6deg\],.group:hover .group-hover\:scale-\[1\.03\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03}.group:hover .group-hover\:scale-x-100{--tw-scale-x:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-primary{border-color:hsl(var(--primary))}.group:hover .group-hover\:text-primary{color:hsl(var(--primary))}.group:hover .group-hover\:opacity-60{opacity:.6}.group:hover .group-hover\:shadow-\[6px_8px_0_hsl\(var\(--primary\)\)\]{--tw-shadow:6px 8px 0 hsl(var(--primary));--tw-shadow-colored:6px 8px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}@media (min-width:640px){.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:inset-6{inset:1.5rem}.md\:inset-x-auto{left:auto;right:auto}.md\:-bottom-8{bottom:-2rem}.md\:-left-6{left:-1.5rem}.md\:-right-10{right:-2.5rem}.md\:-top-10{top:-2.5rem}.md\:-top-6{top:-1.5rem}.md\:bottom-0{bottom:0}.md\:left-16{left:4rem}.md\:left-auto{left:auto}.md\:right-0{right:0}.md\:right-12{right:3rem}.md\:right-24{right:6rem}.md\:top-0{top:0}.md\:top-10{top:2.5rem}.md\:top-\[10\%\]{top:10%}.md\:top-\[42\%\]{top:42%}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:mb-1{margin-bottom:.25rem}.md\:mb-10{margin-bottom:2.5rem}.md\:mb-16{margin-bottom:4rem}.md\:mt-7{margin-top:1.75rem}.md\:block{display:block}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:h-14{height:3.5rem}.md\:h-20{height:5rem}.md\:h-dvh{height:100dvh}.md\:max-h-none{max-height:none}.md\:min-h-\[72px\]{min-height:72px}.md\:min-h-\[calc\(100svh-140px\)\]{min-height:calc(100svh - 140px)}.md\:w-20{width:5rem}.md\:w-64{width:16rem}.md\:w-\[36vw\]{width:36vw}.md\:w-\[78px\]{width:78px}.md\:w-full{width:100%}.md\:max-w-\[220px\]{max-width:220px}.md\:max-w-\[720px\]{max-width:720px}.md\:max-w-md{max-width:28rem}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-10{gap:2.5rem}.md\:gap-2{gap:.5rem}.md\:gap-4{gap:1rem}.md\:gap-6{gap:1.5rem}.md\:gap-7{gap:1.75rem}.md\:gap-8{gap:2rem}.md\:space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.md\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.md\:rounded-none{border-radius:0}.md\:border-l{border-left-width:1px}.md\:border-t-0{border-top-width:0}.md\:p-10{padding:2.5rem}.md\:p-14{padding:3.5rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:p-7{padding:1.75rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:pb-12{padding-bottom:3rem}.md\:pb-16{padding-bottom:4rem}.md\:pb-3{padding-bottom:.75rem}.md\:pb-\[max\(1\.25rem\2c env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(1.25rem,env(safe-area-inset-bottom))}.md\:pl-\[calc\(2\.5rem\+2rem\)\]{padding-left:4.5rem}.md\:pr-8{padding-right:2rem}.md\:pt-14{padding-top:3.5rem}.md\:pt-8{padding-top:2rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-\[11px\]{font-size:11px}.md\:text-\[12px\]{font-size:12px}.md\:text-\[15px\]{font-size:15px}.md\:text-\[16vw\]{font-size:16vw}.md\:text-\[17px\]{font-size:17px}.md\:text-\[18vw\]{font-size:18vw}.md\:text-\[20vw\]{font-size:20vw}.md\:text-\[22vw\]{font-size:22vw}.md\:text-\[46px\]{font-size:46px}.md\:text-\[52px\]{font-size:52px}.md\:text-\[56px\]{font-size:56px}.md\:text-\[60px\]{font-size:60px}.md\:text-\[80px\]{font-size:80px}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:opacity-0{opacity:0}.md\:opacity-\[0\.11\]{opacity:.11}.md\:opacity-\[0\.12\]{opacity:.12}.md\:opacity-\[0\.14\]{opacity:.14}.md\:opacity-\[0\.15\]{opacity:.15}.md\:opacity-\[0\.1\]{opacity:.1}.group:hover .md\:group-hover\:opacity-100{opacity:1}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:inset-8{inset:2rem}.lg\:top-24{top:6rem}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:min-h-\[calc\(100svh-150px\)\]{min-height:calc(100svh - 150px)}.lg\:w-72{width:18rem}.lg\:w-\[30vw\]{width:30vw}.lg\:max-w-\[380px\]{max-width:380px}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:gap-10{gap:2.5rem}.lg\:gap-12{gap:3rem}.lg\:gap-14{gap:3.5rem}.lg\:gap-3{gap:.75rem}.lg\:gap-8{gap:2rem}.lg\:p-14{padding:3.5rem}.lg\:py-14{padding-top:3.5rem}.lg\:pb-14,.lg\:py-14{padding-bottom:3.5rem}.lg\:pt-10{padding-top:2.5rem}.lg\:pt-28{padding-top:7rem}.lg\:pt-8{padding-top:2rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-\[10px\]{font-size:10px}.lg\:text-\[13vw\]{font-size:13vw}.lg\:text-\[14vw\]{font-size:14vw}.lg\:text-\[15vw\]{font-size:15vw}.lg\:text-\[16vw\]{font-size:16vw}.lg\:text-\[17px\]{font-size:17px}.lg\:text-\[17vw\]{font-size:17vw}.lg\:text-\[18vw\]{font-size:18vw}.lg\:text-\[56px\]{font-size:56px}.lg\:text-\[60px\]{font-size:60px}.lg\:text-\[64px\]{font-size:64px}.lg\:text-\[68px\]{font-size:68px}.lg\:text-\[76px\]{font-size:76px}}@media (min-width:1280px){.xl\:max-w-\[420px\]{max-width:420px}}
/* ==========================================================================
   PURO PARTY CARTEL — theme component CSS (hand-authored, pairs with the
   Tailwind-derived utility/base layer above). All colors reference the
   editable CSS custom properties emitted by functions.php.
   ========================================================================== */

/* Heading weight reset (Tailwind preflight parity — Section 2.2) */
h1, h2, h3, h4, h5, h6, .font-display { font-weight: inherit; font-size: inherit; }
* { box-sizing: border-box; }
img { max-width: 100%; }
img:not(.product-card-img):not(.hero-section__mobile-img):not(.hero-section__poster-img):not(.about-section__image):not(.manifesto-section__bg-img):not(.site-logo-img):not(.site-footer__logo-img):not(.site-footer__spray-can):not(.hero-section__watermark):not(.about-section__stamp):not(.contact-section__logo-img):not(.theme-product-card__image) { height: auto; }

[hidden] { display: none !important; }
dl, dt, dd { margin: 0; padding: 0; }

/* Sit content above body grain overlay (Lovable #root z-index:1) */
.theme-announcement-bar,
.theme-home,
.site-main,
.site-footer { position: relative; z-index: 1; }

.scroll-mt-20 { scroll-margin-top: 5rem; }

/* Pulse dot on primary (footer strip) — Lovable !bg-primary-foreground */
.pulse-dot--on-primary {
	background: hsl(var(--color-primary-foreground));
	box-shadow: 0 0 0 0 hsl(var(--color-primary-foreground) / 0.55);
}

/* --------------------------------------------------------------------
   Scroll reveal system (Section 2.1)
   -------------------------------------------------------------------- */
.reveal-fade-up {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity .7s cubic-bezier(.25,.4,.25,1), transform .7s cubic-bezier(.25,.4,.25,1);
	transition-delay: calc(var(--reveal-stagger, 0.08s) * var(--reveal-i, 0));
}
.reveal-fade-up[data-reveal-index="0"] { --reveal-i: 0; }
.reveal-fade-up[data-reveal-index="1"] { --reveal-i: 1; }
.reveal-fade-up[data-reveal-index="2"] { --reveal-i: 2; }
.reveal-fade-up[data-reveal-index="3"] { --reveal-i: 3; }
.reveal-fade-up[data-reveal-index="4"] { --reveal-i: 4; }
.reveal-fade-up[data-reveal-index="5"] { --reveal-i: 5; }
.reveal-fade-up[data-reveal-index="6"] { --reveal-i: 6; }
.reveal-fade-up.in-view { opacity: 1; transform: translateY(0); }

.reveal-wall {
	opacity: 0;
	transform: translateY(24px);
	clip-path: inset(0 0 100% 0);
	transition: opacity .75s cubic-bezier(.25,.4,.25,1), transform .75s cubic-bezier(.25,.4,.25,1), clip-path .75s cubic-bezier(.25,.4,.25,1);
	transition-delay: calc(0.09s * var(--reveal-i, 0));
}
[data-reveal-index="0"].reveal-wall { --reveal-i: 0; }
[data-reveal-index="1"].reveal-wall { --reveal-i: 1; }
[data-reveal-index="2"].reveal-wall { --reveal-i: 2; }
[data-reveal-index="3"].reveal-wall { --reveal-i: 3; }
[data-reveal-index="4"].reveal-wall { --reveal-i: 4; }
[data-reveal-index="5"].reveal-wall { --reveal-i: 5; }
[data-reveal-index="6"].reveal-wall { --reveal-i: 6; }
[data-reveal-index="7"].reveal-wall { --reveal-i: 7; }
[data-reveal-index="8"].reveal-wall { --reveal-i: 8; }
.reveal-wall.in-view { opacity: 1; transform: translateY(0); clip-path: inset(0 0 0% 0); }

body.is-customizer .reveal-fade-up,
body.is-customizer .reveal-wall {
	opacity: 1 !important;
	transform: none !important;
	clip-path: inset(0 0 0% 0) !important;
}

@media (prefers-reduced-motion: reduce) {
	.reveal-fade-up, .reveal-wall { transition: none !important; opacity: 1 !important; transform: none !important; clip-path: inset(0 0 0% 0) !important; }
}

/* --------------------------------------------------------------------
   ANNOUNCEMENT BAR
   -------------------------------------------------------------------- */
.theme-announcement-bar {
	position: relative;
	background: hsl(var(--color-primary));
	color: hsl(var(--color-primary-foreground));
	overflow: hidden;
	border-top: 2px solid hsl(var(--color-primary-foreground) / 0.2);
	border-bottom: 2px solid hsl(var(--color-primary-foreground) / 0.2);
	padding-right: 2.5rem;
}
.theme-announcement-notch {
	position: absolute; left: 0; top: 0; bottom: 0; width: 2rem; z-index: 10; pointer-events: none;
	opacity: 0.7;
	background-image: repeating-linear-gradient(-45deg, hsl(var(--color-primary)) 0 12px, hsl(var(--color-primary) / .85) 12px 24px);
}
.theme-announcement-track {
	display: flex;
	align-items: center;
	white-space: nowrap;
	animation: marquee 40s linear infinite;
	will-change: transform;
	min-height: 36px;
}
.theme-announcement-item {
	margin: 0 1.5rem;
	font-size: 11px;
	letter-spacing: 0.42em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	line-height: 1;
	flex-shrink: 0;
}
.theme-announcement-dot {
	display: inline-block; width: 6px; height: 6px; margin-right: 0.75rem;
	background: hsl(var(--color-primary-foreground)); transform: rotate(45deg); flex-shrink: 0;
}
.theme-announcement-dismiss {
	position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%);
	padding: 0.25rem; z-index: 20; background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground));
	opacity: 0.9; border: none; cursor: pointer;
}
.theme-announcement-dismiss:hover { opacity: 1; }

/* --------------------------------------------------------------------
   HEADER
   -------------------------------------------------------------------- */
.site-header {
	position: sticky; top: 0; left: 0; right: 0; z-index: 50;
	background: hsl(var(--color-background) / 0.7);
	backdrop-filter: blur(4px);
	transition: background-color .3s ease;
}
.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
}
.site-header.is-scrolled, .site-header.menu-open { background: hsl(var(--color-background) / 0.95); backdrop-filter: blur(12px); }
.site-header__overspray {
	position: absolute; inset-inline: 0; bottom: 3px; height: 1.5rem; opacity: .4; pointer-events: none;
	background-image: radial-gradient(circle at 12% 40%, hsl(var(--color-primary) / .18) 0, transparent 22%), radial-gradient(circle at 88% 60%, hsl(var(--color-primary) / .14) 0, transparent 24%), radial-gradient(circle at 50% 50%, hsl(var(--color-primary) / .08) 0, transparent 38%);
}
.site-header__tape {
	position: absolute; inset-inline: 0; bottom: 0; height: 3px; opacity: .9;
	background-image: repeating-linear-gradient(-45deg, hsl(var(--color-primary)) 0 12px, hsl(var(--color-primary) / .85) 12px 24px);
}
.site-header__nav { display: flex; align-items: center; justify-content: space-between; height: 4rem; gap: 1rem; position: relative; }
@media (min-width: 768px) { .site-header__nav { height: 5rem; } }
.site-header__brand { display: flex; align-items: center; flex-shrink: 0; padding: 0.25rem 0; min-width: 0; }
/*
 * Logo lock — beat WooCommerce `.woocommerce img` / `.woocommerce-page img`
 * (higher specificity than a single class) so PDP/checkout don't blow up
 * the graffiti mark to intrinsic size.
 */
.site-header a.site-header__brand img.site-logo-img,
.site-header .site-logo-img {
	height: 44px;
	width: auto;
	max-height: 44px;
	max-width: 160px;
	object-fit: contain;
	object-position: left center;
	flex-shrink: 0;
	display: block;
	transition: transform .2s ease;
}
@media (min-width: 768px) {
	.site-header a.site-header__brand img.site-logo-img,
	.site-header .site-logo-img {
		height: var(--logo-height, 56px);
		max-height: var(--logo-height, 56px);
		max-width: 220px;
	}
}
.site-header__brand:hover .site-logo-img { transform: rotate(-1deg); }
.site-logo-text { font-size: 1.25rem; letter-spacing: 0.04em; text-transform: uppercase; color: hsl(var(--color-foreground)); }
.site-header__desktop-nav { display: none; align-items: center; gap: 2.25rem; position: absolute; left: 50%; transform: translateX(-50%); }
@media (min-width: 1024px) { .site-header__desktop-nav { display: flex; } }
.theme-nav-list { display: flex; align-items: center; gap: 2.25rem; list-style: none; margin: 0; padding: 0; }
.theme-nav-list--mobile { flex-direction: column; align-items: stretch; gap: 0; }
.theme-nav-list a, .theme-nav-link {
	font-family: var(--font-condensed); font-size: 14px; letter-spacing: 0.28em; text-transform: uppercase;
	color: hsl(var(--color-foreground)); text-decoration: none; transition: color .2s ease;
}
.theme-nav-list a:hover, .theme-nav-link:hover, .theme-nav-list a[data-active="true"] { color: hsl(var(--color-primary)); }
.site-header__controls { display: flex; align-items: center; gap: 0.25rem; flex-shrink: 0; }
@media (min-width: 768px) { .site-header__controls { gap: 0.5rem; } }
.site-header__icon-btn {
	position: relative; padding: 0.625rem; color: hsl(var(--color-foreground)); background: none; border: none; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center; transition: color .2s ease;
}
.site-header__icon-btn:hover { color: hsl(var(--color-primary)); }
.site-header__instagram { display: none; padding: 0.5rem; }
@media (min-width: 768px) { .site-header__instagram { display: inline-flex; } }
.site-header__menu-toggle { display: inline-flex; }
@media (min-width: 1024px) { .site-header__menu-toggle { display: none; } }
.site-header__menu-toggle .menu-toggle-icon--close[hidden] { display: none !important; }
.theme-cart-count {
	position: absolute; top: -0.125rem; right: -0.125rem; min-width: 20px; height: 20px; padding: 0 0.25rem;
	display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; font-family: var(--font-body);
	background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); border-radius: 9999px;
}
.theme-cart-count:empty { display: none; }
.site-header__drop-strip { border-top: 1px solid hsl(var(--color-primary) / .2); background: hsl(var(--color-background) / .8); backdrop-filter: blur(4px); }
.site-header.is-scrolled .site-header__drop-strip { background: hsl(var(--color-background) / .95); }
.site-header.menu-open .site-header__drop-strip { display: none; }
.site-header__drop-strip-inner { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .25rem 0; font-size: 10px; letter-spacing: .34em; text-transform: uppercase; line-height: 1; }
@media (min-width: 768px) { .site-header__drop-strip-inner { font-size: 11px; padding: .375rem 0; } }
.site-header__drop-live { display: flex; align-items: center; gap: .5rem; color: hsl(var(--color-primary)); flex-shrink: 0; }
.site-header__drop-live .pulse-dot { width: 6px; height: 6px; }
.site-footer__top-live .pulse-dot { width: 6px; height: 6px; }
.site-footer__loc .pulse-dot { width: 6px; height: 6px; }
.hero-section__badge-inner .pulse-dot,
.hero-section__poster-spec .pulse-dot,
.faq-section__badge .pulse-dot { width: 6px; height: 6px; }
.site-header__drop-sub { display: none; color: hsl(var(--color-muted-foreground)); text-align: center; }
@media (min-width: 640px) { .site-header__drop-sub { display: inline; } }
.site-header__drop-loc { color: hsl(var(--color-muted-foreground)); flex-shrink: 0; }

/* Mobile menu — Lovable Header.tsx inline panel */
.site-header__mobile-menu {
	border-top: 1px solid hsl(var(--color-border));
	padding-block: 1rem;
	animation: fadeIn .6s var(--transition-smooth) forwards;
}
@media (min-width: 1024px) { .site-header__mobile-menu { display: none !important; } }
.site-header__mobile-menu-inner {
	display: flex;
	flex-direction: column;
}
.theme-nav-list--mobile,
.theme-nav-list--mobile ul {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
.theme-nav-list--mobile > li,
.theme-nav-list--mobile.theme-nav-list--fallback > a {
	margin: 0;
	padding: 0;
}
.theme-nav-list--mobile a,
.theme-nav-list--mobile .theme-nav-link,
.theme-nav-list--mobile.theme-nav-list--fallback > a {
	display: block;
	width: 100%;
	text-align: left;
	font-family: var(--font-condensed);
	font-size: 1rem;
	letter-spacing: .28em;
	text-transform: uppercase;
	padding: 1rem 0;
	border: none;
	border-bottom: 1px solid hsl(var(--color-border) / .6);
	border-radius: 0;
	background: none;
	appearance: none;
	color: hsl(var(--color-foreground));
	text-decoration: none;
	transition: color .2s ease;
}
.theme-nav-list--mobile > li:last-child > a,
.theme-nav-list--mobile.theme-nav-list--fallback > a:last-of-type { border-bottom: none; }
.theme-nav-list--mobile a:hover,
.theme-nav-list--mobile .theme-nav-link:hover,
.theme-nav-list--mobile a[data-active="true"] { color: hsl(var(--color-primary)); }
.site-header__mobile-ig {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin-top: 1.25rem;
	font-size: 12px;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: hsl(var(--color-primary));
	text-decoration: none;
}
.site-header__mobile-ig:hover { color: hsl(var(--color-primary) / .85); }

/* --------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------- */
.hero-section { position: relative; min-height: 640px; display: flex; align-items: stretch; overflow: hidden; }
@media (min-width: 768px) { .hero-section { min-height: calc(100svh - 140px); } }
@media (min-width: 1024px) { .hero-section { min-height: calc(100svh - 150px); } }
.hero-section__mobile-bg { position: absolute; inset: 0; }
@media (min-width: 768px) { .hero-section__mobile-bg { display: none; } }
.hero-section__mobile-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% center; opacity: .7; }
.hero-section__mobile-scrim { position: absolute; inset: 0; background: linear-gradient(to bottom, hsl(var(--color-background) / .75), hsl(var(--color-background) / .55) 40%, hsl(var(--color-background) / .95)); }
.hero-section__bloom { position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(ellipse 55% 45% at 0% 100%, hsl(var(--color-primary) / .24) 0%, transparent 62%); }
.hero-section__poster-overlay { position: absolute; inset: 0; opacity: .4; pointer-events: none; }
.hero-section__grain { position: absolute; inset: 0; opacity: .05; mix-blend-mode: screen; pointer-events: none; }
.hero-section__watermark {
	position: absolute; bottom: -1.5rem; left: -1.5rem; width: 70vw; max-width: 520px; opacity: .08; z-index: 0; pointer-events: none;
	transform: rotate(-4deg);
}
@media (min-width: 768px) { .hero-section__watermark { left: auto; right: -2.5rem; width: 36vw; opacity: .12; } }
@media (min-width: 1024px) { .hero-section__watermark { width: 30vw; } }
.hero-section__stencil { position: absolute; inset-inline: 0; top: 8%; display: flex; justify-content: center; z-index: 0; pointer-events: none; }
@media (min-width: 768px) { .hero-section__stencil { top: 10%; } }
.hero-section__stencil span { font-size: 30vw; line-height: 1; letter-spacing: -.05em; text-transform: uppercase; opacity: .1; white-space: nowrap; }
@media (min-width: 768px) { .hero-section__stencil span { font-size: 20vw; opacity: .14; } }
@media (min-width: 1024px) { .hero-section__stencil span { font-size: 17vw; } }
.hero-section__frame { position: absolute; inset: .75rem; border: 1px solid hsl(var(--color-primary) / .2); z-index: 5; pointer-events: none; }
@media (min-width: 768px) { .hero-section__frame { inset: 1.5rem; } }
@media (min-width: 1024px) { .hero-section__frame { inset: 2rem; } }
.hero-section__tape { position: absolute; height: 12px; box-shadow: 0 2px 6px rgba(0,0,0,.35); }
.hero-section__tape--1 { top: -6px; left: 2rem; width: 6rem; transform: rotate(-6deg); opacity: .9; }
.hero-section__tape--2 { top: -6px; right: 2.5rem; width: 5rem; transform: rotate(7deg); opacity: .85; }
.hero-section__tape--3 { bottom: -6px; left: 4rem; width: 4rem; height: 8px; transform: rotate(4deg); opacity: .8; }
.hero-section__tape--4 { bottom: -6px; right: 6rem; width: 3.5rem; height: 8px; transform: rotate(-5deg); opacity: .7; }
.hero-section__badge { pointer-events: none; position: absolute; top: 1.5rem; right: 1.25rem; z-index: 10; }
@media (min-width: 768px) { .hero-section__badge { top: 2.5rem; right: 3rem; } }
.hero-section__badge-inner {
	display: inline-flex; align-items: center; gap: .5rem; border: 2px solid hsl(var(--color-primary)); background: hsl(var(--color-background) / .85);
	backdrop-filter: blur(1px); padding: .375rem .75rem; font-family: var(--font-condensed); font-size: 10px; letter-spacing: .34em; text-transform: uppercase;
	color: hsl(var(--color-primary)); box-shadow: 4px 4px 0 hsl(var(--color-primary) / .5);
}
.hero-section__grid { position: relative; z-index: 10; display: grid; gap: 2rem; align-items: center; padding-top: 2.5rem; padding-bottom: 3.5rem; }
@media (min-width: 768px) { .hero-section__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2rem; padding-top: 2rem; padding-bottom: 3rem; } }
@media (min-width: 1024px) { .hero-section__grid { gap: 2.5rem; padding-top: 2.5rem; padding-bottom: 3.5rem; } }
.hero-section__copy { grid-column: 1 / -1; max-width: 42rem; }
@media (min-width: 768px) { .hero-section__copy { grid-column: span 7; } }
.hero-section__eyebrow-row { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.hero-section__rule { height: 1px; width: 2.5rem; background: hsl(var(--color-primary)); }
.hero-section__eyebrow { font-size: 12px; letter-spacing: .4em; text-transform: uppercase; color: hsl(var(--color-primary)); }
.hero-section__mark { color: hsl(var(--color-primary)); font-size: 1.5rem; transform: rotate(-6deg) translateY(-2px); display: none; }
@media (min-width: 640px) { .hero-section__mark { display: inline-block; } }
@media (min-width: 768px) { .hero-section__mark { font-size: 1.875rem; } }
.hero-section__drop-tag { color: hsl(var(--color-primary)); font-size: 12px; transform: rotate(-4deg); margin-left: .25rem; }
@media (min-width: 768px) { .hero-section__drop-tag { font-size: .875rem; } }
.hero-section__title { text-transform: uppercase; color: hsl(var(--color-foreground)); filter: drop-shadow(0 4px 20px rgba(0,0,0,.55)); font-size: clamp(2.25rem, 5.6vw, 4.5rem); line-height: 1.1; letter-spacing: -.02em; }
.hero-section__title-highlight { position: relative; display: inline-block; color: hsl(var(--color-primary)); font-style: italic; }
.hero-section__description { margin-top: 1.25rem; font-size: .875rem; color: hsl(var(--color-foreground) / .8); max-width: 32rem; line-height: 1.625; }
@media (min-width: 768px) { .hero-section__description { font-size: 1rem; } }
@media (min-width: 1024px) { .hero-section__description { font-size: 17px; } }
.hero-section__ctas { margin-top: 1.5rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
@media (min-width: 768px) { .hero-section__ctas { margin-top: 1.75rem; } }
.hero-section__poster { display: none; grid-column: span 5; position: relative; }
@media (min-width: 768px) { .hero-section__poster { display: block; } }
.hero-section__poster-frame { position: relative; margin: 0 auto; width: 100%; max-width: 320px; aspect-ratio: 3 / 4; box-shadow: 0 30px 60px -20px rgba(0,0,0,.7); transform: rotate(1.5deg); }
@media (min-width: 1024px) { .hero-section__poster-frame { max-width: 380px; } }
@media (min-width: 1280px) { .hero-section__poster-frame { max-width: 420px; } }
.hero-section__poster-border { position: absolute; inset: 0; border: 2px solid hsl(var(--color-primary) / .7); }
.hero-section__poster-mat { position: absolute; inset: 10px; background: hsl(var(--color-background)); overflow: hidden; }
.hero-section__poster-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.hero-section__poster-scrim { position: absolute; inset-inline: 0; bottom: 0; height: 6rem; background: linear-gradient(to top, hsl(var(--color-background) / .95), hsl(var(--color-background) / .6), transparent); }
.hero-section__poster-grain { position: absolute; inset: 0; opacity: .08; mix-blend-mode: screen; pointer-events: none; }
.hero-section__poster-spec { position: absolute; left: .75rem; right: .75rem; bottom: .75rem; display: flex; align-items: center; justify-content: space-between; font-size: 9px; letter-spacing: .34em; text-transform: uppercase; color: hsl(var(--color-primary)); }
.hero-section__poster-tape { position: absolute; height: 12px; box-shadow: 0 2px 6px rgba(0,0,0,.35); }
.hero-section__poster-tape--1 { top: -7px; left: 1.5rem; width: 4rem; transform: rotate(-8deg); opacity: .9; }
.hero-section__poster-tape--2 { top: -7px; right: 2rem; width: 3.5rem; transform: rotate(6deg); opacity: .85; }
.hero-section__poster-tape--3 { bottom: -6px; right: 2.5rem; width: 3rem; height: 8px; transform: rotate(-4deg); opacity: .8; }

.theme-spray-intro { pointer-events: none; position: absolute; inset-inline: 0; top: 38%; z-index: 30; display: none; }
@media (min-width: 768px) { .theme-spray-intro { top: 42%; } }
.theme-spray-intro__stroke-wrap { position: relative; margin: 0 auto; max-width: 86vw; height: 14px; }
@media (min-width: 768px) { .theme-spray-intro__stroke-wrap { max-width: 720px; } }
.theme-spray-intro__mist { position: absolute; top: -.75rem; bottom: -.75rem; left: 0; right: 0; }
.theme-spray-intro__can { position: absolute; top: -4rem; left: 0; width: 4rem; height: auto; filter: drop-shadow(0 10px 18px rgba(0,0,0,.55)); }
@media (min-width: 768px) { .theme-spray-intro__can { width: 5rem; } }
.theme-spray-intro.is-playing { display: block; }

/* --------------------------------------------------------------------
   SHOP
   -------------------------------------------------------------------- */
.shop-section { position: relative; overflow: hidden; }
.shop-section__stencil { position: absolute; top: -1.5rem; right: -3vw; font-size: 36vw; line-height: 1; letter-spacing: -.05em; opacity: .12; white-space: nowrap; pointer-events: none; }
@media (min-width: 768px) { .shop-section__stencil { top: -2.5rem; font-size: 22vw; opacity: .15; } }
@media (min-width: 1024px) { .shop-section__stencil { font-size: 18vw; } }
.shop-section__inner { position: relative; padding-top: 2.5rem; padding-bottom: 3rem; }
@media (min-width: 768px) { .shop-section__inner { padding-top: 3.5rem; padding-bottom: 4rem; } }
.shop-section__heading { display: flex; flex-direction: column; gap: 1.25rem; justify-content: space-between; margin-bottom: 2rem; }
@media (min-width: 768px) { .shop-section__heading { flex-direction: row; align-items: flex-end; margin-bottom: 2.5rem; } }
.shop-section__heading-copy { max-width: 42rem; }
.shop-section__eyebrow-row { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.shop-section__rule { height: 1px; width: 2rem; background: hsl(var(--color-primary)); }
.shop-section__eyebrow { font-size: 10px; letter-spacing: .4em; text-transform: uppercase; color: hsl(var(--color-primary)); }
@media (min-width: 768px) { .shop-section__eyebrow { font-size: 11px; } }
.shop-section__title { font-size: 34px; line-height: .95; letter-spacing: -.02em; text-transform: uppercase; }
@media (min-width: 768px) { .shop-section__title { font-size: 46px; } }
@media (min-width: 1024px) { .shop-section__title { font-size: 56px; } }
.shop-section__title-highlight { color: hsl(var(--color-primary)); font-style: italic; }
.shop-section__description { margin-top: .75rem; font-size: .875rem; color: hsl(var(--color-foreground) / .7); max-width: 28rem; line-height: 1.625; }
@media (min-width: 768px) { .shop-section__description { font-size: 15px; } }
.shop-section__search { position: relative; width: 100%; }
@media (min-width: 768px) { .shop-section__search { width: 16rem; margin-bottom: .25rem; } }
@media (min-width: 1024px) { .shop-section__search { width: 18rem; } }
.shop-section__search-icon { position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); color: hsl(var(--color-muted-foreground)); }
.shop-section__search-input {
	width: 100%; padding: .625rem .75rem .625rem 2.25rem; background: transparent; border: 1px solid hsl(var(--color-border));
	font-size: .875rem; color: hsl(var(--color-foreground)); font-family: var(--font-body); transition: border-color .2s ease;
}
.shop-section__search-input:focus { outline: none; border-color: hsl(var(--color-primary)); }
.shop-section__search-input::placeholder { color: hsl(var(--color-muted-foreground)); }
.shop-section__grid, .theme-product-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; align-items: stretch; }
@media (min-width: 640px) { .shop-section__grid, .theme-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .shop-section__grid, .theme-product-grid { gap: 2rem; } }
@media (min-width: 1024px) { .shop-section__grid, .theme-product-grid { gap: 2.5rem; } }
.shop-section__empty { text-align: center; padding: 4rem 0; }
.shop-section__empty p { color: hsl(var(--color-muted-foreground)); font-family: var(--font-body); }

/* --------------------------------------------------------------------
   PRODUCT CARD (shared across shop / archive / related — Section 31.13)
   -------------------------------------------------------------------- */
.theme-product-card-wrap { display: flex; flex-direction: column; height: 100%; }
.theme-product-card { position: relative; display: flex; flex-direction: column; height: 100%; }
.theme-product-card > .theme-card-link { position: absolute; inset: 0; z-index: 2; pointer-events: auto; }
/* Kill pointer events on decorative layers, but NEVER on the quick-add control
   (or its SVG child) — otherwise clicks fall through to .theme-card-link. */
.theme-product-card *:not(.theme-card-link):not(.theme-product-card__quick-add) { pointer-events: none; }
.theme-product-card .theme-product-card__quick-add,
.theme-product-card .theme-product-card__quick-add * {
	pointer-events: auto;
}
.theme-product-card__image-wrapper {
	/* Above .theme-card-link so the + button can receive clicks; pointer-events
	   none lets the rest of the image fall through to the product link. */
	position: relative; z-index: 3; pointer-events: none; aspect-ratio: 4 / 3; overflow: hidden;
	background: hsl(var(--color-secondary));
	border: 2px solid hsl(var(--color-foreground) / .85); transition: border-color .3s ease, box-shadow .3s ease;
}
.theme-product-card:hover .theme-product-card__image-wrapper { border-color: hsl(var(--color-primary)); box-shadow: 6px 8px 0 hsl(var(--color-primary)); }
.theme-product-card__image, .theme-product-card__image-wrapper img.product-card-img {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
	transition: transform .8s cubic-bezier(.25,.4,.25,1);
}
.theme-product-card:hover .theme-product-card__image { transform: scale(1.05); }
.theme-product-card__image--faded { opacity: .5; }
.theme-product-card__sticker {
	position: absolute; top: .625rem; left: .625rem; z-index: 10; display: inline-flex; align-items: center; gap: .375rem;
	padding: .25rem .5rem; background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground));
	font-size: 10px; letter-spacing: .22em; text-transform: uppercase; transform: rotate(-3deg); transition: transform .3s ease;
}
.theme-product-card:hover .theme-product-card__sticker { transform: rotate(-6deg); }
.theme-product-card__edge {
	position: absolute; left: .75rem; right: .75rem; bottom: .75rem; height: 3px; z-index: 10;
	background: hsl(var(--color-primary)); transform-origin: left; transform: scaleX(0); transition: transform .5s ease-out;
	clip-path: polygon(0 30%,3% 0,8% 60%,15% 20%,22% 80%,30% 40%,40% 90%,50% 25%,60% 75%,70% 15%,80% 85%,88% 35%,95% 70%,100% 45%,100% 100%,0 100%);
}
.theme-product-card:hover .theme-product-card__edge { transform: scaleX(1); }
.theme-product-card__soldout {
	position: absolute; top: .625rem; right: .625rem; padding: .25rem .625rem; font-size: 10px; letter-spacing: .22em; text-transform: uppercase;
	background: hsl(var(--color-foreground)); color: hsl(var(--color-background));
}
.theme-product-card__cta-bar {
	position: absolute; inset-inline: 0; bottom: 0; z-index: 10; transform: translateY(100%); transition: transform .5s ease-out;
	display: flex; align-items: center; justify-content: space-between; padding: .625rem 1rem;
	background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); font-size: 10px; letter-spacing: .3em; text-transform: uppercase;
}
.theme-product-card:hover .theme-product-card__cta-bar { transform: translateY(0); }
.theme-product-card__quick-add {
	position: absolute; top: .625rem; right: .625rem; z-index: 15; width: 2.25rem; height: 2.25rem; border-radius: 0;
	display: flex; align-items: center; justify-content: center; background: hsl(var(--color-background) / .9); color: hsl(var(--color-foreground));
	border: 1px solid hsl(var(--color-border)); box-shadow: var(--shadow-elevated); transition: all .3s ease; text-decoration: none;
	cursor: pointer; padding: 0; appearance: none;
}
.theme-product-card__quick-add:hover { background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); border-color: hsl(var(--color-primary)); }
@media (min-width: 768px) { .theme-product-card__quick-add { opacity: 0; } .theme-product-card:hover .theme-product-card__quick-add { opacity: 1; } }
.theme-product-card__wash { position: absolute; inset-inline: 0; bottom: 0; height: 5rem; background: linear-gradient(to top, hsl(var(--color-background) / .7), transparent); opacity: 0; transition: opacity .5s ease; }
.theme-product-card:hover .theme-product-card__wash { opacity: .6; }
.theme-product-card__info { flex: 1; display: grid; grid-template-columns: 1fr auto; gap: .25rem .75rem; margin-top: .75rem; }
.theme-product-card__category { grid-column: 1; font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); line-height: 1; margin: 0; }
.theme-product-card__category a { color: inherit; text-decoration: none; }
.theme-product-card__price { grid-row: span 2; font-size: .875rem; font-family: var(--font-body); font-weight: 600; color: hsl(var(--color-foreground)); align-self: center; margin: 0; }
.theme-product-card__price ins { text-decoration: none; }
.theme-product-card__price del { opacity: .5; margin-right: .375rem; }
.theme-product-card__title { font-family: var(--font-display); font-size: .875rem; text-transform: uppercase; letter-spacing: .04em; line-height: 1.25; color: hsl(var(--color-foreground)); transition: color .2s ease; margin: 0; min-width: 0; font-weight: 400; }
.theme-product-card:hover .theme-product-card__title { color: hsl(var(--color-primary)); }
@media (min-width: 768px) { .theme-product-card__title, .theme-product-card__price { font-size: 1rem; } }
.theme-product-card__price { font-variant-numeric: tabular-nums; }

/* --------------------------------------------------------------------
   MARQUEE
   -------------------------------------------------------------------- */
.marquee-section__track { display: flex; align-items: center; white-space: nowrap; animation: marquee 40s linear infinite; will-change: transform; min-height: 54px; }
@media (min-width: 768px) { .marquee-section__track { min-height: 72px; } }
.marquee-section__group { display: flex; align-items: center; flex-shrink: 0; }
.marquee-section__item { display: inline-flex; align-items: center; flex-shrink: 0; line-height: 1; color: hsl(0 0% 8%); }
.marquee-section__text { font-size: 1.25rem; letter-spacing: .01em; line-height: 1; margin: 0 1.5rem; }
@media (min-width: 768px) { .marquee-section__text { font-size: 1.875rem; } }
.marquee-section__text--spray { font-size: 1.125rem; transform: rotate(-2deg); display: inline-block; margin: 0 1.5rem; }
@media (min-width: 768px) { .marquee-section__text--spray { font-size: 1.5rem; } }
.marquee-section__star { font-size: 1.25rem; color: hsl(var(--color-primary)); line-height: 1; }
@media (min-width: 768px) { .marquee-section__star { font-size: 1.875rem; } }

/* --------------------------------------------------------------------
   ABOUT
   -------------------------------------------------------------------- */
.about-section {
	position: relative; overflow: hidden;
	color: hsl(var(--color-foreground));
	background-color: hsl(var(--color-background));
	border-top: 3px solid hsl(var(--color-foreground) / .9);
	border-bottom: 3px solid hsl(var(--color-foreground) / .9);
}
.about-section__stencil {
	position: absolute; top: -1rem; left: -2vw; font-size: 24vw; line-height: 1; letter-spacing: -.05em; white-space: nowrap;
	-webkit-text-stroke: 2px hsl(var(--color-foreground) / .9); color: transparent; opacity: .14; pointer-events: none;
}
@media (min-width: 768px) { .about-section__stencil { font-size: 18vw; } }
@media (min-width: 1024px) { .about-section__stencil { font-size: 15vw; } }
.about-section__tape { position: absolute; height: 1rem; box-shadow: 0 2px 6px rgba(0,0,0,.35); }
.about-section__tape--1 { top: -.5rem; left: 2rem; width: 8rem; transform: rotate(-6deg); opacity: .9; }
@media (min-width: 768px) { .about-section__tape--1 { left: 4rem; } }
.about-section__tape--2 { top: -.5rem; right: 2.5rem; width: 6rem; transform: rotate(7deg); opacity: .8; }
@media (min-width: 768px) { .about-section__tape--2 { right: 6rem; } }
.about-section__inner { position: relative; padding-block: 4rem; }
@media (min-width: 768px) { .about-section__inner { padding-block: 6rem; } }
.about-section__grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: start; }
@media (min-width: 1024px) { .about-section__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3.5rem; } }
.about-section__image-col { grid-column: 1 / -1; order: 2; }
@media (min-width: 1024px) { .about-section__image-col { grid-column: span 6; order: 1; } }
.about-section__image-frame { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border: 3px solid hsl(var(--color-foreground) / .9); box-shadow: 8px 10px 0 hsl(var(--color-primary)); }
.about-section__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.about-section__image-scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.4), transparent 70%); }
.about-section__badge { position: absolute; padding: .375rem .75rem; font-size: 13px; }
.about-section__badge--1 { top: 1rem; left: 1rem; transform: rotate(-4deg); border: 2px solid hsl(var(--color-primary)); background: hsl(38 20% 92%); color: hsl(var(--color-primary)); font-family: var(--font-spray); }
.about-section__badge--2 { bottom: 1rem; right: 1rem; transform: rotate(3deg); border: 2px solid hsl(var(--color-foreground)); background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); font-size: 11px; letter-spacing: .3em; }
.about-section__stamp { pointer-events: none; position: absolute; bottom: -1.5rem; left: -1rem; width: 45%; max-width: 220px; transform: rotate(-8deg); opacity: .9; filter: drop-shadow(0 8px 16px rgba(0,0,0,.5)); }
@media (min-width: 768px) { .about-section__stamp { bottom: -2rem; left: -1.5rem; } }
.about-section__caption { margin-top: 1rem; display: flex; align-items: center; gap: .75rem; color: hsl(var(--color-muted-foreground)); font-size: 10px; letter-spacing: .32em; text-transform: uppercase; }
@media (min-width: 768px) { .about-section__caption { font-size: 11px; } }
.about-section__caption-rule { display: inline-block; width: 1.5rem; height: 1px; background: hsl(var(--color-foreground) / .8); }
.about-section__copy-col { grid-column: 1 / -1; order: 1; display: flex; flex-direction: column; justify-content: center; position: relative; }
@media (min-width: 1024px) { .about-section__copy-col { grid-column: span 6; order: 2; } }
.about-section__heading-row { display: flex; align-items: baseline; gap: 1rem; }
.about-section__number { font-size: 1.875rem; letter-spacing: -.025em; line-height: 1; -webkit-text-stroke: 1.5px hsl(var(--color-primary)); color: transparent; }
@media (min-width: 768px) { .about-section__number { font-size: 2.25rem; } }
.about-section__eyebrow { display: inline-flex; align-items: center; gap: .5rem; font-size: 11px; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--color-primary)); }
.about-section__rule { display: block; width: 2rem; height: 1px; background: hsl(var(--color-primary)); }
.about-section__title { font-size: 36px; line-height: .95; letter-spacing: -.02em; margin-top: .75rem; text-transform: uppercase; color: hsl(var(--color-foreground)); }
@media (min-width: 768px) { .about-section__title { font-size: 52px; } }
@media (min-width: 1024px) { .about-section__title { font-size: 64px; } }
.about-section__title-highlight { color: hsl(var(--color-primary)); font-style: italic; }
.about-section__paragraph { margin-top: 2rem; font-size: 17px; line-height: 1.625; color: hsl(var(--color-foreground)); }
@media (min-width: 768px) { .about-section__paragraph { font-size: 1.125rem; } }
.about-section__paragraph--muted { margin-top: 1.25rem; font-size: 1rem; color: hsl(var(--color-muted-foreground)); }
@media (min-width: 768px) { .about-section__paragraph--muted { font-size: 17px; } }
.about-section__paragraph--bold { margin-top: 1.25rem; font-size: 1rem; color: hsl(var(--color-foreground)); font-weight: 600; }
@media (min-width: 768px) { .about-section__paragraph--bold { font-size: 17px; } }
.about-section__dropcap { float: left; font-size: 64px; line-height: .8; margin-right: .75rem; margin-top: .25rem; color: hsl(var(--color-primary)); }
@media (min-width: 768px) { .about-section__dropcap { font-size: 80px; } }
.about-section__specs { margin-top: 2rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; border-top: 2px solid hsl(var(--color-foreground) / .85); border-bottom: 2px solid hsl(var(--color-foreground) / .85); padding: 1rem 0; }
.about-section__spec-label { display: block; font-size: 9px; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); margin-bottom: .25rem; }
.about-section__spec-value { display: block; font-size: 1rem; letter-spacing: -.025em; color: hsl(var(--color-foreground)); }
.about-section__ctas { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.about-section__cta-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	background: hsl(var(--color-foreground)); color: hsl(var(--color-background));
	text-transform: uppercase; letter-spacing: .22em; font-size: .875rem; padding: 1rem 2rem;
	border: 2px solid hsl(var(--color-foreground)); text-decoration: none; transition: all .2s ease;
}
.about-section__cta-btn:hover { background: transparent; color: hsl(var(--color-foreground)); border-color: hsl(var(--color-primary)); }
.about-section__follow { display: inline-flex; align-items: center; gap: .5rem; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: hsl(var(--color-primary)); text-decoration: none; padding: 1rem 0; }

/* --------------------------------------------------------------------
   CRAFT
   -------------------------------------------------------------------- */
.craft-section { position: relative; overflow: hidden; border-top: 3px solid hsl(var(--color-foreground) / .85); border-bottom: 3px solid hsl(var(--color-foreground) / .85); }
.craft-section__stencil { position: absolute; top: -1.5rem; right: -3vw; font-size: 28vw; line-height: 1; letter-spacing: -.05em; text-transform: uppercase; opacity: .09; white-space: nowrap; pointer-events: none; }
@media (min-width: 768px) { .craft-section__stencil { top: -2.5rem; font-size: 20vw; opacity: .11; } }
@media (min-width: 1024px) { .craft-section__stencil { font-size: 16vw; } }
.craft-section__tape { position: absolute; top: -.25rem; height: .75rem; }
.craft-section__tape--1 { left: 2.5rem; width: 7rem; transform: rotate(-6deg); opacity: .9; }
.craft-section__tape--2 { right: 3.5rem; width: 6rem; transform: rotate(7deg); opacity: .85; }
.craft-section__inner { position: relative; padding-block: 4rem; }
@media (min-width: 768px) { .craft-section__inner { padding-block: 6rem; } }
.craft-section__heading { display: flex; flex-direction: column; gap: 2rem; margin-bottom: 3rem; }
@media (min-width: 768px) { .craft-section__heading { flex-direction: row; align-items: flex-end; justify-content: space-between; margin-bottom: 4rem; } }
.craft-section__heading-copy { max-width: 42rem; }
.craft-section__eyebrow-row { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.craft-section__rule { height: 1px; width: 2rem; background: hsl(var(--color-primary)); }
.craft-section__eyebrow { font-size: 10px; letter-spacing: .4em; text-transform: uppercase; color: hsl(var(--color-primary)); }
@media (min-width: 768px) { .craft-section__eyebrow { font-size: 11px; } }
.craft-section__title { font-size: 36px; line-height: .95; letter-spacing: -.02em; text-transform: uppercase; }
@media (min-width: 768px) { .craft-section__title { font-size: 52px; } }
@media (min-width: 1024px) { .craft-section__title { font-size: 64px; } }
.craft-section__title-highlight { color: hsl(var(--color-primary)); font-style: italic; }
.craft-section__description { margin-top: 1rem; font-size: 1rem; color: hsl(var(--color-foreground) / .8); line-height: 1.625; }
@media (min-width: 768px) { .craft-section__description { font-size: 17px; } }
.craft-section__tag { position: relative; flex-shrink: 0; display: none; align-items: flex-end; gap: .75rem; align-self: flex-end; transform: rotate(-4deg); }
@media (min-width: 768px) { .craft-section__tag { display: flex; } }
.craft-section__tag-img { width: 84px; height: auto; filter: drop-shadow(0 10px 18px rgba(0,0,0,.55)); }
.craft-section__tag-copy { display: flex; flex-direction: column; line-height: 1; margin-bottom: .25rem; }
.craft-section__tag-word { color: hsl(var(--color-primary)); font-size: 1.5rem; transform: rotate(-6deg); }
.craft-section__tag-sub { font-size: 10px; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); margin-top: .5rem; }
.craft-section__grid {
	display: grid; grid-template-columns: 1fr; gap: 1.5rem;
	grid-auto-rows: 1fr; align-items: stretch;
}
@media (min-width: 768px) { .craft-section__grid { grid-template-columns: repeat(2, 1fr); gap: 1.75rem; } }
@media (min-width: 1024px) { .craft-section__grid { grid-template-columns: repeat(3, 1fr); } }
.craft-section__grid-item { display: flex; min-height: 0; height: 100%; }
.craft-card {
	position: relative; overflow: hidden; width: 100%;
	background: hsl(0 0% 9%); border: 2px solid hsl(var(--color-foreground) / .8);
	display: flex; flex-direction: column; height: 100%;
	transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.craft-card:hover { border-color: hsl(var(--color-primary)); box-shadow: 6px 8px 0 hsl(var(--color-primary)); transform: translateY(-4px) rotate(-.4deg); }
.craft-card__header { display: flex; align-items: center; justify-content: space-between; background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); padding: .625rem 1.25rem; flex-shrink: 0; }
.craft-card__method { font-size: 10px; letter-spacing: .34em; text-transform: uppercase; }
.craft-card__label { font-size: 10px; letter-spacing: .32em; text-transform: uppercase; opacity: .85; }
.craft-card__body { padding: 1.25rem; flex: 1; display: flex; flex-direction: column; position: relative; min-height: 0; }
@media (min-width: 768px) { .craft-card__body { padding: 1.5rem; } }
.craft-card__ghost-num {
	position: absolute; right: .75rem; top: .25rem; font-size: 100px; line-height: 1;
	opacity: .28; pointer-events: none; user-select: none;
	-webkit-text-stroke: 1px hsl(var(--color-primary)); color: transparent;
}
.craft-card__title { position: relative; z-index: 1; font-size: 1.25rem; letter-spacing: -.025em; line-height: 1.25; text-transform: uppercase; color: hsl(var(--color-foreground)); margin: 0; }
@media (min-width: 768px) { .craft-card__title { font-size: 1.5rem; } }
.craft-card__text { position: relative; z-index: 1; margin-top: .75rem; font-size: 15px; color: hsl(var(--color-foreground) / .75); line-height: 1.625; flex: 1; margin-bottom: 0; }
@media (min-width: 768px) { .craft-card__text { font-size: 1rem; } }
.craft-card__footer {
	border-top: 1px dashed hsl(var(--color-border)); padding: .625rem 1.25rem;
	display: flex; align-items: center; justify-content: space-between;
	font-size: 10px; letter-spacing: .3em; text-transform: uppercase;
	color: hsl(var(--color-muted-foreground)); flex-shrink: 0;
}
@media (min-width: 768px) { .craft-card__footer { padding: .625rem 1.5rem; } }

/* --------------------------------------------------------------------
   MANIFESTO
   -------------------------------------------------------------------- */
.manifesto-section { position: relative; overflow: hidden; background: hsl(var(--color-background)); }
.manifesto-section__bg { position: absolute; inset: 0; }
.manifesto-section__bg-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .2; }
.manifesto-section__bg-scrim { position: absolute; inset: 0; background: linear-gradient(to bottom, hsl(var(--color-background)), hsl(var(--color-background) / .8), hsl(var(--color-background))); }
.manifesto-section__stencil-wrap { pointer-events: none; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 0; }
.manifesto-section__stencil { font-size: 26vw; line-height: 1; letter-spacing: -.05em; text-transform: uppercase; opacity: .09; white-space: nowrap; }
@media (min-width: 768px) { .manifesto-section__stencil { font-size: 22vw; opacity: .11; } }
@media (min-width: 1024px) { .manifesto-section__stencil { font-size: 18vw; } }
.manifesto-section__inner { position: relative; padding-block: 4rem; }
@media (min-width: 768px) { .manifesto-section__inner { padding-block: 6rem; } }
.manifesto-section__panel {
	position: relative; margin: 0 auto; max-width: 56rem; border: 3px solid hsl(var(--color-foreground) / .9); background: hsl(var(--color-background) / .55);
	backdrop-filter: blur(2px); padding: 2rem; box-shadow: 10px 12px 0 hsl(var(--color-primary));
}
@media (min-width: 768px) { .manifesto-section__panel { padding: 3.5rem; } }
.manifesto-section__tape { position: absolute; top: -.5rem; height: .75rem; box-shadow: 0 2px 6px rgba(0,0,0,.35); }
.manifesto-section__tape--1 { left: 2.5rem; width: 7rem; transform: rotate(-5deg); opacity: .9; }
.manifesto-section__tape--2 { right: 4rem; width: 6rem; transform: rotate(6deg); opacity: .9; }
.manifesto-section__tag { margin-bottom: 1.5rem; }
.manifesto-section__quote { font-size: 36px; line-height: .95; letter-spacing: -.02em; text-transform: uppercase; }
@media (min-width: 768px) { .manifesto-section__quote { font-size: 60px; } }
@media (min-width: 1024px) { .manifesto-section__quote { font-size: 76px; } }
.manifesto-section__quote-highlight { position: relative; display: inline-block; color: hsl(var(--color-primary)); font-size: .72em; vertical-align: baseline; }
.manifesto-section__body { margin-top: 1.5rem; max-width: 36rem; font-size: 1rem; color: hsl(var(--color-foreground) / .75); line-height: 1.625; }
@media (min-width: 768px) { .manifesto-section__body { font-size: 1.125rem; } }
.manifesto-section__ctas { margin-top: 2.5rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.manifesto-section__tagline { font-size: 10px; letter-spacing: .4em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); }
@media (min-width: 768px) { .manifesto-section__tagline { font-size: 11px; } }

/* --------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------- */
.faq-section { position: relative; overflow: hidden; border-top: 3px solid hsl(var(--color-foreground) / .85); border-bottom: 3px solid hsl(var(--color-foreground) / .85); }
.faq-section__stencil { position: absolute; top: 1.5rem; left: -2vw; font-size: 24vw; line-height: 1; letter-spacing: -.05em; text-transform: uppercase; opacity: .09; white-space: nowrap; pointer-events: none; }
@media (min-width: 768px) { .faq-section__stencil { font-size: 18vw; opacity: .11; } }
@media (min-width: 1024px) { .faq-section__stencil { font-size: 14vw; } }
.faq-section__tape { position: absolute; top: -.25rem; right: 3.5rem; width: 6rem; height: .75rem; transform: rotate(6deg); opacity: .85; }
.faq-section__inner { position: relative; padding-block: 4rem; }
@media (min-width: 768px) { .faq-section__inner { padding-block: 6rem; } }
.faq-section__grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
@media (min-width: 1024px) { .faq-section__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3.5rem; } }
.faq-section__intro { grid-column: 1 / -1; }
@media (min-width: 1024px) { .faq-section__intro { grid-column: span 4; align-self: start; position: sticky; top: 6rem; } }
.faq-section__badge { display: inline-flex; align-items: center; gap: .5rem; border: 2px solid hsl(var(--color-primary)); padding: .375rem .75rem; font-size: 10px; letter-spacing: .34em; text-transform: uppercase; color: hsl(var(--color-primary)); margin-bottom: 1.25rem; transform: rotate(-2deg); }
@media (min-width: 768px) { .faq-section__badge { font-size: 11px; } }
.faq-section__title { font-size: 40px; line-height: .95; letter-spacing: -.02em; text-transform: uppercase; }
@media (min-width: 768px) { .faq-section__title { font-size: 52px; } }
@media (min-width: 1024px) { .faq-section__title { font-size: 60px; } }
.faq-section__title-highlight { color: hsl(var(--color-primary)); font-size: .75em; vertical-align: baseline; }
.faq-section__description { margin-top: 1.25rem; font-size: 1rem; color: hsl(var(--color-foreground) / .8); max-width: 24rem; line-height: 1.625; }
@media (min-width: 768px) { .faq-section__description { font-size: 17px; } }
.faq-section__count { margin-top: 1.5rem; font-size: 10px; letter-spacing: .4em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); }
@media (min-width: 768px) { .faq-section__count { font-size: 11px; } }
.faq-section__panel { grid-column: 1 / -1; position: relative; border: 3px solid hsl(var(--color-foreground) / .85); background: hsl(var(--color-background) / .4); box-shadow: 8px 10px 0 hsl(var(--color-primary)); }
@media (min-width: 1024px) { .faq-section__panel { grid-column: span 8; } }
.faq-section__panel-header { display: flex; align-items: center; justify-content: space-between; border-bottom: 3px solid hsl(var(--color-foreground) / .85); padding: .75rem 1.25rem; background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); font-size: 10px; letter-spacing: .34em; text-transform: uppercase; }
@media (min-width: 768px) { .faq-section__panel-header { padding: .75rem 1.5rem; font-size: 11px; } }
.faq-item { position: relative; border-bottom: 1px solid hsl(var(--color-border) / .8); transition: background-color .2s ease; }
.faq-item:last-child { border-bottom: none; }
.faq-item--open { background: hsl(var(--color-primary) / .06); }
.faq-item .faq-marker { display: none; }
.faq-item--open .faq-marker { display: block; }
.faq-item__question { width: 100%; text-align: left; padding: 1.25rem 1.25rem; display: flex; align-items: flex-start; gap: 1rem; background: none; border: none; cursor: pointer; }
@media (min-width: 768px) { .faq-item__question { padding: 1.5rem 2rem; gap: 1.5rem; } }
.faq-item__number { font-size: 1.5rem; letter-spacing: -.025em; line-height: 1; flex-shrink: 0; margin-top: .125rem; width: 2.5rem; -webkit-text-stroke: 1px hsl(var(--color-primary)); color: transparent; }
@media (min-width: 768px) { .faq-item__number { font-size: 1.875rem; } }
.faq-item--open .faq-item__number { -webkit-text-stroke: 0; color: hsl(var(--color-primary)); }
.faq-item__q { flex: 1; font-size: 1rem; letter-spacing: .01em; text-transform: uppercase; line-height: 1.375; color: hsl(var(--color-foreground)); transition: color .2s ease; margin: 0; }
@media (min-width: 768px) { .faq-item__q { font-size: 1.125rem; } }
.faq-item__question:hover .faq-item__q { color: hsl(var(--color-primary)); }
.faq-item__chevron { flex-shrink: 0; color: hsl(var(--color-muted-foreground)); margin-top: .25rem; transition: transform .3s ease, color .3s ease; }
.faq-item--open .faq-item__chevron { transform: rotate(180deg); color: hsl(var(--color-primary)); }
.faq-item__answer-wrap { overflow: hidden; transition: height .3s cubic-bezier(.25,.4,.25,1), opacity .3s cubic-bezier(.25,.4,.25,1); }
.faq-item__answer { padding-left: calc(2.5rem + 1.25rem); padding-right: 1.5rem; padding-bottom: 1.5rem; font-size: 15px; color: hsl(var(--color-foreground) / .8); max-width: 42rem; line-height: 1.625; margin: 0; }
@media (min-width: 768px) { .faq-item__answer { padding-left: calc(2.5rem + 2rem); padding-right: 2rem; font-size: 1rem; } }

/* --------------------------------------------------------------------
   CONTACT
   -------------------------------------------------------------------- */
.contact-section { position: relative; overflow: hidden; border-top: 3px solid hsl(var(--color-foreground) / .85); }
.contact-section__stencil { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 0; font-size: 28vw; line-height: 1; letter-spacing: -.05em; text-transform: uppercase; opacity: .08; white-space: nowrap; pointer-events: none; }
@media (min-width: 768px) { .contact-section__stencil { font-size: 20vw; opacity: .1; } }
@media (min-width: 1024px) { .contact-section__stencil { font-size: 16vw; } }
.contact-section__inner { position: relative; padding-block: 4rem; }
@media (min-width: 768px) { .contact-section__inner { padding-block: 6rem; } }
.contact-section__panel {
	position: relative; margin: 0 auto; max-width: 64rem; border: 3px solid hsl(var(--color-foreground) / .9); background: hsl(var(--color-background) / .6);
	backdrop-filter: blur(2px); padding: 1.5rem; box-shadow: 10px 12px 0 hsl(var(--color-primary));
}
@media (min-width: 768px) { .contact-section__panel { padding: 2.5rem; } }
@media (min-width: 1024px) { .contact-section__panel { padding: 3.5rem; } }
.contact-section__tape { position: absolute; top: -.5rem; height: .75rem; box-shadow: 0 2px 6px rgba(0,0,0,.35); }
.contact-section__tape--1 { left: 2.5rem; width: 7rem; transform: rotate(-5deg); opacity: .9; }
.contact-section__tape--2 { right: 3.5rem; width: 6rem; transform: rotate(6deg); opacity: .9; }
.contact-section__badge { position: absolute; top: -.75rem; padding: .25rem .75rem; font-size: 10px; letter-spacing: .3em; text-transform: uppercase; }
.contact-section__badge--1 { left: 5rem; transform: rotate(-4deg); border: 2px solid hsl(var(--color-primary)); background: hsl(var(--color-background)); color: hsl(var(--color-primary)); }
.contact-section__badge--2 { right: 6rem; transform: rotate(3deg); border: 2px solid hsl(var(--color-foreground)); background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); display: none; }
@media (min-width: 640px) { .contact-section__badge--2 { display: block; } }
.contact-section__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
@media (min-width: 768px) { .contact-section__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2.5rem; } }
.contact-section__copy { grid-column: 1 / -1; }
@media (min-width: 768px) { .contact-section__copy { grid-column: span 7; } }
.contact-section__title { font-size: 40px; line-height: .95; letter-spacing: -.02em; text-transform: uppercase; margin-top: .75rem; }
@media (min-width: 768px) { .contact-section__title { font-size: 56px; } }
@media (min-width: 1024px) { .contact-section__title { font-size: 68px; } }
.contact-section__title-highlight { position: relative; display: inline-block; color: hsl(var(--color-primary)); font-size: .72em; vertical-align: baseline; white-space: nowrap; }
.contact-section__description { margin-top: 1.25rem; max-width: 28rem; font-size: 1rem; color: hsl(var(--color-foreground) / .8); line-height: 1.625; }
@media (min-width: 768px) { .contact-section__description { font-size: 17px; } }
.contact-section__ctas { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.contact-section__ig { display: inline-flex; align-items: center; gap: .5rem; font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: hsl(var(--color-primary)); text-decoration: none; padding: 1rem 0; }
.contact-section__logo-col { grid-column: 1 / -1; position: relative; display: flex; align-items: center; justify-content: center; }
@media (min-width: 768px) { .contact-section__logo-col { grid-column: span 5; } }
.contact-section__logo-wrap { position: relative; width: 100%; max-width: 380px; transform: rotate(-3deg); }
.contact-section__logo-haze { position: absolute; inset: -2.5rem; opacity: .6; filter: blur(2px); }
.contact-section__logo-img { position: relative; width: 100%; height: auto; filter: drop-shadow(0 14px 28px rgba(0,0,0,.55)); }
.contact-section__logo-can { position: absolute; bottom: -.5rem; right: -.5rem; width: 64px; transform: rotate(-14deg); filter: drop-shadow(0 10px 18px rgba(0,0,0,.55)); }
@media (min-width: 768px) { .contact-section__logo-can { width: 78px; } }
.contact-section__divider { margin-top: 3rem; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 1rem; }
.contact-section__divider-line { height: 1px; flex: 1; background: hsl(var(--color-border)); }
.contact-section__divider-label { font-size: 10px; letter-spacing: .4em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); }
.contact-section__direct-grid { display: grid; grid-template-columns: 1fr; gap: .75rem; }
@media (min-width: 640px) { .contact-section__direct-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }
.contact-direct-row { display: flex; align-items: center; gap: .75rem; border: 2px solid hsl(var(--color-foreground) / .8); background: hsl(var(--color-background) / .4); padding: .75rem 1rem; text-decoration: none; transition: border-color .2s ease; }
.contact-direct-row:hover { border-color: hsl(var(--color-primary)); }
.contact-direct-row__body { flex: 1; min-width: 0; }
.contact-direct-row__label { display: block; font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); line-height: 1; }
.contact-direct-row__value { display: block; font-size: .875rem; letter-spacing: .01em; color: hsl(var(--color-foreground)); margin-top: .25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 768px) { .contact-direct-row__value { font-size: 15px; } }
.contact-direct-row__arrow { color: hsl(var(--color-muted-foreground)); flex-shrink: 0; transition: color .2s ease, transform .2s ease; }
.contact-direct-row:hover .contact-direct-row__arrow { color: hsl(var(--color-primary)); transform: translateX(2px); }

/* --------------------------------------------------------------------
   FOOTER (Lovable Footer.tsx parity)
   -------------------------------------------------------------------- */
.site-footer { position: relative; color: hsl(var(--color-foreground)); overflow: hidden; }
.site-footer__top-strip { background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); }
.site-footer__top-strip-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .625rem; font-size: 10px; letter-spacing: .34em; text-transform: uppercase; }
@media (min-width: 768px) { .site-footer__top-strip-inner { font-size: 11px; } }
.site-footer__top-live { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.site-footer__top-mid { display: none; opacity: .9; text-align: center; }
@media (min-width: 640px) { .site-footer__top-mid { display: inline; } }
.site-footer__top-loc { flex-shrink: 0; }
.site-footer__stencil {
	pointer-events: none; position: absolute; bottom: -1.5rem; left: -2vw; z-index: 0;
	font-family: var(--font-display); text-transform: uppercase;
	-webkit-text-stroke: 1px hsl(var(--color-foreground)); color: transparent;
	font-size: 24vw; line-height: 1; letter-spacing: -.05em; opacity: .06; white-space: nowrap;
}
@media (min-width: 768px) { .site-footer__stencil { font-size: 16vw; } }
@media (min-width: 1024px) { .site-footer__stencil { font-size: 13vw; } }
/* padding-block only — horizontal padding comes from .container-wide */
.site-footer__body { position: relative; z-index: 1; padding-block: 3rem; }
@media (min-width: 1024px) { .site-footer__body { padding-block: 3.5rem; } }
.site-footer__grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: start; }
@media (min-width: 768px) { .site-footer__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 2.5rem; } }
@media (min-width: 1024px) { .site-footer__grid { gap: 3rem; } }
.site-footer__brand-col { grid-column: 1 / -1; min-width: 0; }
@media (min-width: 768px) { .site-footer__brand-col { grid-column: span 5; } }
.site-footer__brand-link {
	display: inline-flex; flex-direction: column; align-items: flex-start; text-align: left;
	background: none; border: none; padding: 0; cursor: pointer; text-decoration: none;
}
.site-footer__logo-img,
.site-footer a.site-footer__brand-link img.site-footer__logo-img,
.site-footer .site-footer__brand-link .site-footer__logo-img {
	height: 4rem !important;
	width: auto !important;
	max-width: 240px !important;
	max-height: 4rem !important;
	object-fit: contain !important;
	object-position: left center;
	filter: drop-shadow(0 4px 10px rgba(0,0,0,.5));
	transition: transform .3s ease;
	display: block;
}
@media (min-width: 768px) {
	.site-footer__logo-img,
	.site-footer a.site-footer__brand-link img.site-footer__logo-img,
	.site-footer .site-footer__brand-link .site-footer__logo-img {
		height: 5rem !important;
		max-height: 5rem !important;
	}
}
.site-footer__brand-link:hover .site-footer__logo-img { transform: rotate(-1deg); }
.site-footer__loc { margin-top: 1rem; display: flex; align-items: center; gap: .5rem; font-size: 10px; letter-spacing: .4em; text-transform: uppercase; line-height: 1; }
@media (min-width: 768px) { .site-footer__loc { font-size: 11px; } }
.site-footer__loc-primary { color: hsl(var(--color-primary)); }
.site-footer__loc-sep { color: hsl(var(--color-border)); }
.site-footer__loc-secondary { color: hsl(var(--color-muted-foreground)); }
.site-footer__tagline { margin-top: 1.25rem; max-width: 28rem; font-size: 15px; font-family: var(--font-body); color: hsl(var(--color-foreground) / .75); line-height: 1.625; margin-bottom: 0; }
.site-footer__nav-col, .site-footer__contact-col { grid-column: 1 / -1; min-width: 0; }
@media (min-width: 768px) { .site-footer__nav-col { grid-column: span 3; } .site-footer__contact-col { grid-column: span 4; } }
.site-footer__col-heading { font-size: 11px; letter-spacing: .42em; text-transform: uppercase; color: hsl(var(--color-primary)); margin: 0 0 1rem; display: flex; align-items: center; gap: .5rem; }
.site-footer__col-rule { display: block; height: 1px; width: 1.25rem; background: hsl(var(--color-primary)); flex-shrink: 0; }
.site-footer__nav { display: block; }
.site-footer__nav-list,
.site-footer__nav ul {
	display: flex; flex-direction: column; align-items: flex-start; gap: .75rem;
	list-style: none; margin: 0; padding: 0; width: 100%;
}
.site-footer__nav-list > li,
.site-footer__nav ul > li { margin: 0; padding: 0; width: 100%; list-style: none; }
.site-footer__nav-link,
.site-footer__nav-list a,
.site-footer__nav ul a {
	appearance: none; background: none; border: none; padding: 0; cursor: pointer;
	text-align: left; font-family: var(--font-body); font-size: 15px; letter-spacing: .06em;
	text-transform: none; color: hsl(var(--color-foreground) / .85); text-decoration: none;
	transition: color .2s ease; width: fit-content; max-width: 100%;
	position: relative; display: inline-block;
}
.site-footer__nav-link:hover,
.site-footer__nav-list a:hover,
.site-footer__nav ul a:hover { color: hsl(var(--color-primary)); }
.site-footer__nav-link::after,
.site-footer__nav-list a::after,
.site-footer__nav ul a::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: -.25rem; height: 3px;
	transform-origin: left center; transform: scaleX(0); background: hsl(var(--color-primary));
	transition: transform .3s var(--transition-smooth);
	clip-path: polygon(0 30%,3% 0,8% 60%,15% 20%,22% 80%,30% 40%,40% 90%,50% 25%,60% 75%,70% 15%,80% 85%,88% 35%,95% 70%,100% 45%,100% 100%,0 100%);
}
.site-footer__nav-link:hover::after,
.site-footer__nav-list a:hover::after,
.site-footer__nav ul a:hover::after { transform: scaleX(1); }
/* Never inherit header nav row layout inside the footer */
.site-footer .theme-nav-list { flex-direction: column; align-items: flex-start; gap: .75rem; }
.site-footer .theme-nav-list a,
.site-footer .theme-nav-link { font-family: var(--font-body); font-size: 15px; letter-spacing: .06em; text-transform: none; }
.site-footer__contact-rows { display: flex; flex-direction: column; gap: .75rem; align-items: flex-start; }
.site-footer__contact-row {
	display: flex; align-items: center; gap: .75rem; font-size: 15px; font-family: var(--font-body);
	color: hsl(var(--color-foreground) / .85); text-decoration: none; word-break: break-all;
	transition: color .2s ease; max-width: 100%;
}
.site-footer__contact-row:hover { color: hsl(var(--color-primary)); }
.site-footer__contact-row svg { flex-shrink: 0; }
.site-footer__contact-btn {
	margin-top: .5rem; align-self: flex-start; padding: .75rem 1.25rem !important;
	font-size: 12px !important; letter-spacing: .22em; text-transform: uppercase;
	border: 2px solid hsl(var(--color-foreground) / .8) !important; background: transparent !important;
	color: hsl(var(--color-foreground)) !important; min-height: unset !important;
}
.site-footer__contact-btn:hover {
	background: hsl(var(--color-foreground)) !important;
	color: hsl(var(--color-background)) !important;
	border-color: hsl(var(--color-foreground)) !important;
}
.site-footer__meta {
	margin-top: 3rem; padding-top: 1.5rem; border-top: 2px dashed hsl(var(--color-border) / .7);
	display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 1rem;
}
@media (min-width: 640px) { .site-footer__meta { flex-direction: row; align-items: center; } }
.site-footer__meta-tag { display: flex; align-items: center; gap: .75rem; font-size: 11px; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); margin: 0; }
@media (min-width: 768px) { .site-footer__meta-tag { font-size: 12px; } }
.site-footer__spray-can,
.site-footer__meta-tag img.site-footer__spray-can {
	height: 1.5rem !important;
	width: auto !important;
	max-height: 1.5rem !important;
	max-width: 1.375rem !important;
	flex-shrink: 0;
	transform: rotate(-8deg);
	filter: drop-shadow(0 4px 6px rgba(0,0,0,.6));
	object-fit: contain;
}
.site-footer__copyright { font-size: 11px; font-family: var(--font-body); color: hsl(var(--color-muted-foreground)); letter-spacing: .025em; margin: 0; }
@media (min-width: 768px) { .site-footer__copyright { font-size: 12px; } }
.site-footer__credit-link { color: hsl(var(--color-foreground)); text-decoration: underline; text-underline-offset: 4px; transition: color .2s ease; }
.site-footer__credit-link:hover { color: hsl(var(--color-primary)); }

/* --------------------------------------------------------------------
   CONTACT MODAL
   -------------------------------------------------------------------- */
.theme-modal { position: fixed; inset: 0; z-index: 60; display: none; }
.theme-modal[data-state="open"], .theme-modal[data-state="closing"] { display: block; }
.theme-modal__overlay { position: fixed; inset: 0; background: rgba(0,0,0,.8); opacity: 0; transition: opacity .2s ease; }
.theme-modal[data-state="open"] .theme-modal__overlay { opacity: 1; }
.theme-modal__panel {
	position: fixed; left: 50%; top: 50%; transform: translate(-50%, -48%) scale(.95); width: calc(100% - 2rem); max-width: 32rem; max-height: 90vh; overflow-y: auto;
	background: hsl(var(--color-card)); border: 1px solid hsl(var(--color-border)); padding: 1.5rem; box-shadow: var(--shadow-elevated); opacity: 0;
	transition: opacity .2s ease, transform .2s ease;
}
.theme-modal[data-state="open"] .theme-modal__panel { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.theme-modal__close { position: absolute; right: 1rem; top: 1rem; background: none; border: none; color: hsl(var(--color-muted-foreground)); cursor: pointer; padding: .25rem; }
.theme-modal__close:hover { color: hsl(var(--color-foreground)); }
.theme-modal__title { font-size: 1.875rem; letter-spacing: .04em; color: hsl(var(--color-foreground)); margin: 0 0 .5rem; }
.theme-modal__description { font-size: .875rem; color: hsl(var(--color-muted-foreground)); margin: 0 0 1rem; }
.theme-modal__direct { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; font-size: .875rem; color: hsl(var(--color-muted-foreground)); padding-bottom: .5rem; margin-bottom: 1rem; }
.theme-modal__direct a { display: inline-flex; align-items: center; gap: .5rem; color: inherit; text-decoration: none; }
.theme-modal__direct a:hover { color: hsl(var(--color-primary)); }
.theme-modal__success { text-align: center; padding: 2rem 0; }
.theme-modal__success-icon { width: 3.5rem; height: 3.5rem; background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.theme-modal__success h3 { font-size: 1.5rem; margin-bottom: .5rem; letter-spacing: .04em; }
.theme-modal__success p { font-size: .875rem; color: hsl(var(--color-muted-foreground)); margin: 0; }
.theme-modal__form { display: flex; flex-direction: column; gap: 1rem; }
.theme-modal__form-row { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .theme-modal__form-row { grid-template-columns: 1fr 1fr; } }
.theme-modal__form label { font-size: 11px; letter-spacing: .3em; text-transform: uppercase; margin-bottom: .375rem; display: block; color: hsl(var(--color-muted-foreground)); }
.theme-modal__form input, .theme-modal__form textarea {
	width: 100%; padding: .625rem .75rem; background: hsl(var(--color-background)); border: 1px solid hsl(var(--color-border)); font-size: 1rem;
	color: hsl(var(--color-foreground)); font-family: var(--font-body); transition: border-color .2s ease;
}
.theme-modal__form input:focus, .theme-modal__form textarea:focus { outline: none; border-color: hsl(var(--color-primary)); }
.theme-modal__form textarea { resize: none; }
.theme-modal__form-actions { display: flex; justify-content: flex-end; }

/* ==========================================================================
   SINGLE PRODUCT PAGE
   ========================================================================== */
.single-product-page { position: relative; padding-top: 1.5rem; min-height: 100vh; overflow: hidden; }
@media (min-width: 1024px) { .single-product-page { padding-top: 2rem; } }
.single-product-page__watermark { pointer-events: none; position: absolute; top: -1rem; left: 0; right: 0; display: flex; justify-content: center; opacity: .045; }
.single-product-page__watermark span { font-size: 22vw; line-height: 1; letter-spacing: .02em; white-space: nowrap; color: hsl(var(--color-foreground)); }
@media (min-width: 768px) { .single-product-page__watermark span { font-size: 16vw; } }
.single-product-page__container { position: relative; }
.single-product-page__sheet-strip { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding: 1.25rem 0; border-bottom: 1px solid hsl(var(--color-border) / .7); }
.single-product-page__live { display: inline-flex; align-items: center; gap: .5rem; background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); padding: .375rem .75rem; font-size: 10px; letter-spacing: .32em; text-transform: uppercase; }
.single-product-page__live-dot { width: 6px; height: 6px; border-radius: 9999px; background: hsl(var(--color-primary-foreground)); animation: pulse 2s cubic-bezier(.4,0,.6,1) infinite; }
.single-product-page__sheet-num, .single-product-page__cat { font-size: 10px; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); }
.single-product-page__cat { margin-left: auto; display: none; }
@media (min-width: 640px) { .single-product-page__cat { display: inline; } }
.single-product-page__cat a { color: inherit; text-decoration: none; }
.single-product-page__breadcrumb { padding: 1rem 0; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); }
.single-product-page__breadcrumb a { color: inherit; text-decoration: none; transition: color .2s ease; }
.single-product-page__breadcrumb a:hover { color: hsl(var(--color-primary)); }
.single-product-page__breadcrumb-current { color: hsl(var(--color-foreground) / .8); text-transform: none; letter-spacing: normal; }

.single-product-page__layout { display: grid; grid-template-columns: 1fr; gap: 2rem; padding-bottom: 6rem; padding-top: .5rem; align-items: start; min-width: 0; }
@media (min-width: 1024px) { .single-product-page__layout { grid-template-columns: repeat(12, 1fr); gap: 3.5rem; } }
.theme-product-gallery, .theme-product-info { min-width: 0; max-width: 100%; }
.theme-product-gallery { grid-column: 1 / -1; }
@media (min-width: 1024px) { .theme-product-gallery { grid-column: span 7; } }
.theme-product-gallery__mobile { display: block; }
@media (min-width: 1024px) { .theme-product-gallery__mobile { display: none; } }
.theme-product-gallery__main-wrap { position: relative; aspect-ratio: 4 / 5; background: hsl(var(--color-secondary)); overflow: hidden; border: 1px solid hsl(var(--color-border)); }
.theme-product-gallery__main-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.theme-product-gallery__badge { position: absolute; top: .75rem; right: .75rem; background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); padding: .375rem .625rem; font-size: 10px; letter-spacing: .32em; text-transform: uppercase; transform: rotate(3deg); }
.theme-product-gallery__mobile-meta {
	position: absolute; bottom: .75rem; left: .75rem; right: .75rem; display: flex; align-items: center; justify-content: space-between;
	font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: hsl(var(--color-foreground) / .7);
}
.theme-product-thumbnails { display: flex; gap: .5rem; margin-top: .75rem; overflow-x: auto; padding-bottom: .25rem; flex-wrap: wrap; max-width: 100%; }
.theme-product-thumb { position: relative; width: 5rem; height: 5rem; flex-shrink: 0; overflow: hidden; border: 1px solid hsl(var(--color-border)); background: none; padding: 0; cursor: pointer; transition: border-color .2s ease; }
.theme-product-thumb.is-active { border-color: hsl(var(--color-primary)); }
.theme-product-thumb img { width: 100%; height: 100%; object-fit: cover; }
.theme-product-gallery__desktop { display: none; }
@media (min-width: 1024px) { .theme-product-gallery__desktop { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; } }
.theme-product-gallery__desktop-item { position: relative; aspect-ratio: 4 / 5; background: hsl(var(--color-secondary)); overflow: hidden; border: 1px solid hsl(var(--color-border)); }
.theme-product-gallery__desktop-item--main { grid-column: span 2; }
.theme-product-gallery__desktop-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.theme-product-gallery__desktop-item:hover .theme-product-gallery__desktop-img { transform: scale(1.03); }
.theme-product-gallery__meta { position: absolute; bottom: 1rem; left: 1rem; right: 1rem; display: flex; align-items: center; justify-content: space-between; font-size: 10px; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--color-foreground) / .7); }
.theme-product-gallery__view-label { position: absolute; bottom: .75rem; right: .75rem; font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: hsl(var(--color-foreground) / .6); }

.theme-product-info { grid-column: 1 / -1; }
@media (min-width: 1024px) { .theme-product-info { grid-column: span 5; position: sticky; top: 6rem; align-self: start; } }
.theme-product-info__card { position: relative; border: 1px solid hsl(var(--color-border)); background: hsl(var(--color-secondary) / .4); padding: 1.5rem; }
@media (min-width: 768px) { .theme-product-info__card { padding: 1.75rem; } }
.theme-product-info__meta-row { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; flex-wrap: wrap; }
.theme-product-info__meta-row .posted_in, .theme-product-info__meta-row a { color: inherit; text-decoration: none; }
.theme-product-info__num { font-size: 10px; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); }
.product-title, .theme-product-info__title {
	font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
	font-size: clamp(1.875rem, 4vw, 3rem); line-height: 1.02; letter-spacing: .02em; margin: 0 0 1rem; color: hsl(var(--color-foreground));
}
@media (min-width: 768px) { .theme-product-info__title { font-size: 2.25rem; } }
@media (min-width: 1024px) { .theme-product-info__title { font-size: 3rem; } }
.theme-product-info__price-row { display: flex; align-items: baseline; gap: .75rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.theme-product-info__price { font-size: 1.5rem; color: hsl(var(--color-primary)); letter-spacing: .04em; margin: 0; font-family: var(--font-display); }
.theme-product-info__price del { opacity: .5; text-decoration: line-through; margin-right: .5rem; }
.theme-product-info__price-sub { font-size: 10px; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); }
.theme-product-info__stock--out { display: inline-block; margin-bottom: 1.5rem; padding: .375rem .75rem; background: hsl(var(--color-foreground)); color: hsl(var(--color-background)); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; }
.theme-product-info__description { color: hsl(var(--color-muted-foreground)); line-height: 1.625; margin-bottom: 2rem; font-family: var(--font-body); font-size: 1rem; overflow-wrap: break-word; word-break: break-word; }

.theme-product-info__attr-heading { font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); margin: 1.5rem 0 .75rem; font-family: var(--font-display); }
.theme-product-info__attr-slash { color: hsl(var(--color-primary)); margin-right: .5rem; }
.theme-attr-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.theme-attr-pill {
	display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 1rem; font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
	border: 1px solid hsl(var(--color-border)); background: transparent; color: hsl(var(--color-foreground)); font-family: var(--font-display); cursor: pointer; transition: all .2s ease;
}
.theme-attr-pill--size { min-width: 52px; justify-content: center; font-size: 12px; padding: .625rem 1rem; }
.theme-attr-pill:hover { border-color: hsl(var(--color-primary) / .7); }
.theme-attr-pill.is-selected { border-color: hsl(var(--color-primary)); color: hsl(var(--color-primary)); }
.theme-attr-pill--size.is-selected { background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); border-color: hsl(var(--color-primary)); }
.theme-attr-pill__swatch { width: .75rem; height: .75rem; border-radius: 9999px; border: 1px solid hsl(var(--color-border)); display: inline-block; }
.theme-attr-select-hidden { display: none !important; }
.theme-attr-pills-row td { border: none; padding: 0; }

/* Hide native WC label/select rows; keep custom pill/swatch rows visible.
   Never set display:none on the whole .variations table — that hides the pills too. */
.single-product table.variations {
	display: block;
	width: 100%;
	border: 0;
	margin: 0 0 0.5rem;
}
.single-product table.variations tbody {
	display: block;
	width: 100%;
}
.single-product table.variations tr:not(.theme-attr-pills-row) {
	display: none !important;
}
.single-product table.variations tr.theme-attr-pills-row {
	display: block;
	width: 100%;
	margin-bottom: 1.5rem;
}
.single-product table.variations tr.theme-attr-pills-row td {
	display: block;
	width: 100%;
	border: none;
	padding: 0;
}

.theme-quantity-wrapper { display: inline-flex; align-items: center; border: 1px solid hsl(var(--color-border)); background: hsl(var(--color-background)); }
.theme-qty-minus, .theme-qty-plus { padding: .625rem .75rem; background: none; border: none; color: hsl(var(--color-foreground)); cursor: pointer; display: flex; align-items: center; transition: background-color .2s ease; }
.theme-qty-minus:hover, .theme-qty-plus:hover { background: hsl(var(--color-secondary)); }
.theme-qty-input { width: 3rem; text-align: center; border: none; background: none; font-family: var(--font-body); font-size: .875rem; color: hsl(var(--color-foreground)); -moz-appearance: textfield; padding: .625rem 0; }
.theme-qty-input::-webkit-outer-spin-button, .theme-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.single-product .theme-add-to-cart-area, .theme-add-to-cart-area { display: flex; align-items: stretch; flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; }
.theme-add-to-cart-area .theme-product-info__attr-heading { flex: 1 0 100%; margin: 0 0 .25rem; }
.single-product .single_add_to_cart_button, .theme-add-to-cart-area .single_add_to_cart_button { flex: 1 1 auto; min-width: 160px; text-transform: none !important; }

.theme-product-info__dm-link { margin-top: .75rem; width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .75rem 0; font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); text-decoration: none; transition: color .2s ease; }
.theme-product-info__dm-link:hover { color: hsl(var(--color-primary)); }

.theme-product-info__spec-strip { margin-top: 1rem; display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; border: 1px solid hsl(var(--color-border)); background: hsl(var(--color-background)); }
.theme-product-info__spec-strip > div { padding: .75rem; border-right: 1px solid hsl(var(--color-border)); }
.theme-product-info__spec-strip > div:last-child { border-right: none; }
.theme-product-info__spec-strip span { display: block; }
.theme-product-info__spec-strip span:first-child { font-size: 9px; letter-spacing: .3em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); margin-bottom: .25rem; }
.theme-product-info__spec-strip span:last-child { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; }

.theme-product-info__accordions { margin-top: 1.5rem; border-top: 1px solid hsl(var(--color-border)); }
.theme-product-info__accordion-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 0; text-align: left; background: none; border: none; border-bottom: 1px solid hsl(var(--color-border)); cursor: pointer; color: hsl(var(--color-foreground)); }
.theme-product-info__accordion-toggle span:first-child { font-size: 11px; letter-spacing: .3em; text-transform: uppercase; }
.theme-product-info__accordion-num { color: hsl(var(--color-primary)); margin-right: .5rem; }
.theme-product-info__accordion-panel { padding-bottom: 1.5rem; font-family: var(--font-body); color: hsl(var(--color-muted-foreground)); font-size: .9375rem; line-height: 1.6; overflow-wrap: break-word; word-break: break-word; }
.theme-product-info__accordion-panel ul { padding-left: 0; list-style: none; }
.theme-product-info__accordion-panel li { display: flex; align-items: flex-start; margin-bottom: .625rem; }
.theme-product-info__accordion-panel li::before { content: ''; width: 6px; height: 6px; border-radius: 9999px; background: hsl(var(--color-primary)); margin-top: .5rem; margin-right: .75rem; flex-shrink: 0; }
.theme-product-info__accordion-panel p { margin: 0 0 .75rem; }

.related-products-section { padding: 4rem 0; border-top: 1px solid hsl(var(--color-border)); }
.related-products-section__heading { margin-bottom: 2.5rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.related-products-section__title { font-size: 1.875rem; letter-spacing: .02em; margin: .75rem 0 0; }
@media (min-width: 768px) { .related-products-section__title { font-size: 2.25rem; } }
.related-products-section__link { font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: hsl(var(--color-primary)); text-decoration: none; }
.related-products-section__grid { grid-template-columns: 1fr; }
@media (min-width: 640px) { .related-products-section__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .related-products-section__grid { grid-template-columns: repeat(4, 1fr); gap: 2rem; } }

/* --------------------------------------------------------------------
   ADD TO CART BUTTON — GLOBAL OVERRIDE (Section 11.4.1)
   -------------------------------------------------------------------- */
.single_add_to_cart_button.button,
.add_to_cart_button.button,
a.single_add_to_cart_button,
a.add_to_cart_button {
	background-color: hsl(var(--color-primary)) !important;
	color: hsl(var(--color-primary-foreground)) !important;
	border: 2px solid hsl(var(--color-primary)) !important;
	border-radius: 0 !important;
	min-height: 3.25rem !important;
	padding: 1rem 2rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--font-display) !important;
	font-size: .875rem !important;
	font-weight: 400 !important;
	letter-spacing: .22em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: background-color .2s ease, color .2s ease !important;
}
.single_add_to_cart_button.button:hover,
.add_to_cart_button.button:hover {
	opacity: 1 !important;
	background-color: transparent !important;
	color: hsl(var(--color-primary)) !important;
}
.single_add_to_cart_button.button:disabled,
.single_add_to_cart_button.button.disabled,
.add_to_cart_button.button:disabled,
.add_to_cart_button.button.disabled {
	cursor: not-allowed !important;
	opacity: .4 !important;
	pointer-events: none !important;
}
.single_add_to_cart_button.button:disabled:hover,
.single_add_to_cart_button.button.disabled:hover,
.add_to_cart_button.button:disabled:hover,
.add_to_cart_button.button.disabled:hover {
	opacity: .4 !important;
	background-color: hsl(var(--color-primary)) !important;
}
.ajax_add_to_cart.theme-btn-loading {
	opacity: .6 !important;
	pointer-events: none !important;
	cursor: wait !important;
}
.single-product .single_add_to_cart_button.loading::after,
.ajax_add_to_cart.loading::after { display: none !important; }

/* Card compact button — overrides global rules (Section 11.4.1) */
.theme-product-card .add_to_cart_button.ajax_add_to_cart,
.theme-product-card .add_to_cart_button.theme-product-card__quick-add {
	min-height: unset !important;
	padding: 0 !important;
	width: 2.25rem !important;
	height: 2.25rem !important;
	border-radius: 0 !important;
	letter-spacing: normal !important;
	font-size: 0 !important;
}

/* Hide "View cart" injected after AJAX add (Section 11.4.2) */
.woocommerce-page a.added_to_cart.wc-forward,
.single-product a.added_to_cart.wc-forward,
body a.added_to_cart.wc-forward { display: none !important; }

/* Notices — scoped visibility (Section 14.1) */
.single-product .woocommerce-message,
.single-product .woocommerce-info,
#theme-cart-drawer .woocommerce-message { display: none; }
.woocommerce-message, .woocommerce-info {
	background: hsl(var(--color-secondary)); border: 1px solid hsl(var(--color-border)); color: hsl(var(--color-foreground));
	padding: 1rem 1.5rem; border-radius: 0; font-family: var(--font-body); margin-bottom: 1.5rem; list-style: none;
}
.woocommerce-error {
	background: hsl(var(--color-secondary)); border: 1px solid hsl(var(--color-primary)); color: hsl(var(--color-foreground));
	padding: 1rem 1.5rem; margin-bottom: 1.5rem; font-family: var(--font-body); list-style: none;
}

.woocommerce-archive-main__inner { padding: 3rem 0 5rem; }
.woocommerce-archive-header { margin-bottom: 2.5rem; }
.woocommerce-archive-empty { color: hsl(var(--color-muted-foreground)); font-family: var(--font-body); text-align: center; padding: 4rem 0; }
.page-title { font-size: 2.5rem; letter-spacing: .02em; text-transform: uppercase; margin: 0; color: hsl(var(--color-foreground)); }
.woocommerce-pagination { margin-top: 3rem; display: flex; justify-content: center; }
.woocommerce-pagination ul { display: flex; gap: .5rem; list-style: none; padding: 0; }
.woocommerce-pagination a, .woocommerce-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; border: 1px solid hsl(var(--color-border)); color: hsl(var(--color-foreground)); text-decoration: none; font-family: var(--font-body); }
.woocommerce-pagination .current { background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); border-color: hsl(var(--color-primary)); }

/* ==========================================================================
   SIDE CART DRAWER
   ========================================================================== */
#theme-cart-overlay {
	position: fixed; inset: 0; background: rgba(0,0,0,.7); z-index: 55; opacity: 0; pointer-events: none; transition: opacity .3s ease;
}
body.cart-open #theme-cart-overlay { opacity: 1; pointer-events: auto; }
#theme-cart-drawer {
	position: fixed; bottom: 0; left: 0; right: 0; z-index: 56; display: flex; flex-direction: column; width: 100%; height: auto;
	max-height: 92dvh; overflow: hidden; background: hsl(var(--color-background)); border-top: 1px solid hsl(var(--color-border));
	box-shadow: var(--shadow-elevated); border-radius: .75rem .75rem 0 0; transform: translateY(100%); transition: transform .3s ease-out;
}
@media (min-width: 768px) {
	#theme-cart-drawer {
		top: 0; bottom: 0; right: 0; left: auto; width: 100%; max-width: 28rem; height: 100dvh; max-height: none; border-radius: 0;
		border-left: 1px solid hsl(var(--color-border)); border-top: none; transform: translateX(100%);
	}
}
body.cart-open #theme-cart-drawer { transform: translateY(0); }
@media (min-width: 768px) { body.cart-open #theme-cart-drawer { transform: translateX(0); } }
#theme-cart-drawer.is-updating { opacity: .6; pointer-events: none; }
.theme-cart-drawer__banner { background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); padding: .5rem 1.25rem; display: flex; align-items: center; justify-content: space-between; font-size: 10px; letter-spacing: .32em; text-transform: uppercase; flex-shrink: 0; font-family: var(--font-display); }
.theme-cart-drawer__header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid hsl(var(--color-border)); flex-shrink: 0; }
@media (min-width: 768px) { .theme-cart-drawer__header { padding: 1.25rem; } }
.theme-cart-drawer__title { font-size: 1.5rem; letter-spacing: .04em; margin-top: .5rem; }
.theme-cart-drawer__close { padding: .5rem; background: none; border: none; color: hsl(var(--color-foreground)); cursor: pointer; }
.theme-cart-drawer__close:hover { color: hsl(var(--color-primary)); }
.theme-cart-drawer__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1.5rem; text-align: center; overflow-y: auto; color: hsl(var(--color-muted-foreground)); }
.theme-cart-drawer__empty svg { margin-bottom: 1rem; }
.theme-cart-drawer__empty p { margin-bottom: 1.5rem; }
.theme-cart-drawer__items { flex: 1; min-height: 0; overflow: auto; padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: .75rem; }
.theme-cart-item { position: relative; display: flex; gap: 1rem; padding: .75rem; border: 1px solid hsl(var(--color-border)); background: hsl(var(--color-secondary) / .4); transition: border-color .2s ease; }
.theme-cart-item:hover { border-color: hsl(var(--color-primary) / .6); }
.theme-cart-item__bar { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: hsl(var(--color-primary)); }
.theme-cart-item__idx { position: absolute; top: -.5rem; left: .75rem; background: hsl(var(--color-background)); padding: 0 .375rem; font-size: 9px; letter-spacing: .32em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); }
.theme-cart-item__image { width: 5rem; height: 6rem; background: hsl(var(--color-secondary)); overflow: hidden; flex-shrink: 0; border: 1px solid hsl(var(--color-border)); display: block; }
.theme-cart-item__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.theme-cart-item__body { flex: 1; min-width: 0; }
.theme-cart-item__name { font-size: .875rem; text-transform: uppercase; letter-spacing: .06em; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; display: block; color: hsl(var(--color-foreground)); text-decoration: none; }
.theme-cart-item__name:hover { color: hsl(var(--color-primary)); }
.theme-cart-item__variation { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); margin-top: .25rem; }
.theme-cart-item__price { font-size: .875rem; color: hsl(var(--color-primary)); margin-top: .25rem; letter-spacing: .04em; }
.theme-cart-item__controls { display: flex; align-items: center; gap: .75rem; margin-top: .75rem; }
.theme-cart-item__qty { display: inline-flex; align-items: center; border: 1px solid hsl(var(--color-border)); background: hsl(var(--color-background)); }
.theme-cart-item__qty button { padding: .375rem; background: none; border: none; color: hsl(var(--color-foreground)); cursor: pointer; display: flex; }
.theme-cart-item__qty button:hover { background: hsl(var(--color-secondary)); }
.theme-cart-item__qty span { font-size: .875rem; width: 2rem; text-align: center; }
.theme-cart-item__remove { margin-left: auto; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); background: none; border: none; cursor: pointer; }
.theme-cart-item__remove:hover { color: hsl(var(--color-primary)); }
.theme-cart-drawer__footer { padding: 1rem 1.25rem calc(1rem + env(safe-area-inset-bottom)); border-top: 1px solid hsl(var(--color-border)); background: hsl(var(--color-secondary) / .3); display: flex; flex-direction: column; gap: .75rem; flex-shrink: 0; }
@media (min-width: 768px) { .theme-cart-drawer__footer { padding: 1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom)); gap: .875rem; } }
.theme-cart-drawer__totals-top { display: flex; flex-direction: column; gap: .375rem; padding-bottom: .75rem; border-bottom: 1px dashed hsl(var(--color-border)); }
.theme-cart-drawer__totals-top div { display: flex; justify-content: space-between; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: hsl(var(--color-muted-foreground)); }
.theme-cart-drawer__subtotal { display: flex; justify-content: space-between; font-size: 1rem; letter-spacing: .06em; }
.theme-cart-drawer__subtotal span:last-child { color: hsl(var(--color-primary)); }
.theme-cart-drawer__checkout { width: 100%; text-decoration: none; }
.theme-cart-drawer__empty-btn { width: 100%; padding: .5rem 0; font-size: 10px; letter-spacing: .28em; text-transform: uppercase; border: 1px solid hsl(var(--color-border) / .6); color: hsl(var(--color-muted-foreground)); background: none; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: .5rem; transition: all .2s ease; }
.theme-cart-drawer__empty-btn:hover { color: hsl(var(--color-primary)); border-color: hsl(var(--color-primary)); }

/* ==========================================================================
   CHECKOUT (native Checkout Block — Section 13)
   ========================================================================== */
body.woocommerce-checkout .site-main { padding-top: 2rem; padding-bottom: 4rem; }

/* No parent should compress the block checkout layout */
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout #page-content,
body.woocommerce-checkout article,
body.woocommerce-checkout .site-main > .container-wide,
.entry-content:has(.wp-block-woocommerce-checkout) {
	max-width: none;
	width: 100%;
	box-sizing: border-box;
}

/* Checkout block container — 1280px centered */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
.entry-content .wp-block-woocommerce-checkout {
	max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
}

/* Notices — same width/alignment as checkout (wc-block-components-notices) */
body.woocommerce-checkout .wc-block-components-notices,
.entry-content .wc-block-components-notices,
body.woocommerce-checkout .wp-block-woocommerce-checkout > .wc-block-components-notices,
.entry-content .wp-block-woocommerce-checkout > .wc-block-components-notices {
	max-width: 80rem;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
}

/* Two-column layout on sidebar layout wrappers (WC DOM variants) */
body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout,
body.woocommerce-checkout .wc-block-checkout-sidebar-layout,
.entry-content .wc-block-components-sidebar-layout.wc-block-checkout,
.entry-content .wc-block-checkout-sidebar-layout {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 1.5rem;
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout,
	body.woocommerce-checkout .wc-block-checkout-sidebar-layout,
	.entry-content .wc-block-components-sidebar-layout.wc-block-checkout,
	.entry-content .wc-block-checkout-sidebar-layout {
		display: grid !important;
		grid-template-columns: 1fr minmax(360px, 400px);
		gap: 1.5rem;
		align-items: start;
		flex-direction: unset;
	}
}

/* Notices as first grid row when inside the layout */
body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-notices:first-child,
body.woocommerce-checkout .wc-block-checkout-sidebar-layout > .wc-block-components-notices:first-child,
.entry-content .wc-block-components-sidebar-layout > .wc-block-components-notices:first-child,
.entry-content .wc-block-checkout-sidebar-layout > .wc-block-components-notices:first-child {
	grid-column: 1 / -1;
	order: 1;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Form column */
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout-sidebar-layout .wc-block-components-main,
body.woocommerce-checkout .wc-block-checkout-sidebar-layout .wc-block-checkout__main,
.entry-content .wc-block-components-sidebar-layout .wc-block-components-main,
.entry-content .wc-block-components-sidebar-layout .wc-block-checkout__main {
	order: 2;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Order summary / sidebar column */
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-checkout-sidebar-layout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-checkout-sidebar-layout .wc-block-checkout__sidebar,
.entry-content .wc-block-components-sidebar-layout .wc-block-components-sidebar,
.entry-content .wc-block-components-sidebar-layout .wc-block-checkout__sidebar {
	order: 3;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar,
	body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar,
	body.woocommerce-checkout .wc-block-checkout-sidebar-layout .wc-block-components-sidebar,
	body.woocommerce-checkout .wc-block-checkout-sidebar-layout .wc-block-checkout__sidebar,
	.entry-content .wc-block-components-sidebar-layout .wc-block-components-sidebar,
	.entry-content .wc-block-components-sidebar-layout .wc-block-checkout__sidebar {
		min-width: 360px;
	}
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
.entry-content .wp-block-woocommerce-checkout-order-summary-block {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-select select,
body.woocommerce-checkout .wc-block-components-textarea textarea {
	width: 100% !important; max-width: none !important; background: hsl(var(--color-background)); border: 1px solid hsl(var(--color-border));
	color: hsl(var(--color-foreground)); font-family: var(--font-body); border-radius: 0;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-select select:focus { border-color: hsl(var(--color-primary)); outline: none; }
body.woocommerce-checkout .wc-block-components-text-input input::placeholder { color: hsl(var(--color-muted-foreground)); }
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-select label,
body.woocommerce-checkout .wc-blocks-components-select__label,
body.woocommerce-checkout .wc-block-components-select__label,
body.woocommerce-checkout .wc-block-components-label { color: #000; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	background: hsl(var(--color-primary)) !important; color: hsl(var(--color-primary-foreground)) !important; border-radius: 0 !important;
	font-family: var(--font-display) !important; letter-spacing: .1em !important; text-transform: uppercase !important; border: none !important;
}
body.woocommerce-checkout .wc-block-components-notice-banner { border-radius: 0; font-family: var(--font-body); }
body.woocommerce-checkout .wc-block-checkout__sidebar {
	background-color: hsl(var(--color-secondary) / .6); border-radius: 0; padding: 2rem;
}
body.woocommerce-cart .site-main, body.woocommerce-account .site-main { padding-top: 2rem; padding-bottom: 4rem; }

/* ==========================================================================
   THANK YOU PAGE
   ========================================================================== */
body.theme-thankyou-page { overflow-x: hidden; }
body.theme-thankyou-page .theme-thankyou { padding: 3rem 0 5rem; }
body.theme-thankyou-page .theme-thankyou__badge { width: 4rem; height: 4rem; background: hsl(var(--color-primary)); color: hsl(var(--color-primary-foreground)); display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; transform: rotate(3deg); }
body.theme-thankyou-page .woocommerce-order h2,
body.theme-thankyou-page .woocommerce-order-details__title { padding: 0 0 1rem; font-family: var(--font-display); text-transform: uppercase; letter-spacing: .04em; }
body.theme-thankyou-page .woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; padding: 0; margin: 0 0 2rem; }
body.theme-thankyou-page .woocommerce-order-overview li { border-right: 1px solid hsl(var(--color-border)); padding-right: 1rem; font-family: var(--font-body); }
body.theme-thankyou-page .woocommerce-order-overview li:last-child { border-right: none; }
body.theme-thankyou-page .woocommerce-order-details table { width: 100%; table-layout: fixed; border-collapse: collapse; margin-bottom: 2rem; font-family: var(--font-body); }
body.theme-thankyou-page .woocommerce-order-details table th,
body.theme-thankyou-page .woocommerce-order-details table td { border: 1px solid hsl(var(--color-border)); padding: .75rem; text-align: left; }
body.theme-thankyou-page .woocommerce-order-details tfoot th { text-align: left; }
body.theme-thankyou-page .woocommerce-order-details tfoot td { text-align: right; }
body.theme-thankyou-page .woocommerce-customer-details { display: flex; flex-direction: column; gap: 1.5rem; }
body.theme-thankyou-page .woocommerce-customer-details address { max-width: 480px; overflow-wrap: break-word; font-family: var(--font-body); border: 1px solid hsl(var(--color-border)); padding: 1rem; }
@media (min-width: 768px) {
	body.theme-thankyou-page .woocommerce-customer-details { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }
	body.theme-thankyou-page .woocommerce-customer-details address { min-width: 0; max-width: none; }
}
.theme-thankyou__actions { text-align: center; margin-top: 2rem; }

/* ==========================================================================
   404
   ========================================================================== */
.theme-404 { min-height: 100vh; display: flex; align-items: center; background: hsl(var(--muted)); }
.theme-404__inner { text-align: center; padding: 5rem 0; width: 100%; }
.theme-404__code { font-size: 2.25rem; letter-spacing: .04em; margin-bottom: 1rem; color: hsl(var(--color-foreground)); font-weight: 700; }
.theme-404__message { font-size: 1.25rem; color: hsl(var(--color-muted-foreground)); margin-bottom: 1rem; }
.theme-404__link { color: hsl(var(--color-primary)); text-decoration: underline; }
.theme-404__link:hover { color: hsl(var(--color-primary) / .9); }

/* Generic content pages */
.site-main { padding-top: 2rem; padding-bottom: 3rem; }
body.theme-no-hero .site-main { padding-top: 3rem; }
.entry-content { font-family: var(--font-body); line-height: 1.7; color: hsl(var(--color-foreground) / .85); }
