/*
 * Juiced Cannabis Co. — production presentation.
 *
 * Order matters: the base layer carries Tailwind's preflight reset exactly as
 * the approved Sites release used it, the theme layer carries its default font
 * variables, and the unlayered rules below are the site styles ported from
 * app/globals.css followed by WordPress-specific additions.
 */

@layer theme, base;

@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}

@layer base {
/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: --theme(
    --default-font-family,
    ui-sans-serif,
    system-ui,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ); /* 4 */
  font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */
  font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: --theme(
    --default-mono-font-family,
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace
  ); /* 1 */
  font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */
  font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

/*
  Restore indentation.
*/

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

/*
  Restore space after button.
*/

::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/

::-webkit-calendar-picker-indicator {
  line-height: 1;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}
}

/* ---------- Site styles (ported verbatim from app/globals.css) ---------- */


:root { --black:#000; --white:#fff; --red:#f41e26; --blue:#29abe2; --indigo:#282866; --strawberry:#f4b9c0; --chocolate:#995f45; --pistachio:#bdbb5b; --midnight:#aba6fb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--black); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { cursor:pointer; }
.kicker { font-size:10px; font-weight:900; letter-spacing:.18em; margin:0; text-transform:uppercase; }
h1,h2,h3 { font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif; font-weight:900; }

.announcement { align-items:center; background:var(--red); color:white; display:flex; font-size:9px; font-weight:900; justify-content:space-between; letter-spacing:.16em; min-height:34px; padding:0 4vw; }
.nav { align-items:center; background:rgba(255,255,255,.94); border-bottom:1px solid #bbb; display:grid; grid-template-columns:1fr auto 1fr; height:82px; padding:0 4vw; position:sticky; top:0; z-index:40; backdrop-filter:blur(16px); }
.nav-logo { display:block; height:48px; width:150px; }
.nav-logo img { height:100%; object-fit:contain; object-position:left center; width:100%; }
.nav-links { display:flex; gap:32px; }
.nav-links a { font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.nav-links a:hover { color:var(--red); }
.nav-cta,.pill { align-items:center; border-radius:100px; display:inline-flex; font-size:10px; font-weight:900; justify-content:center; letter-spacing:.1em; min-height:48px; padding:0 22px; text-transform:uppercase; }
.nav-cta { background:var(--black); color:var(--white); justify-self:end; }
.nav-cta:hover { background:var(--red); }
.menu-toggle { display:none; }

.brand-pattern { background-color:transparent; background-image:url("../img/brand/u-mark.png"); background-position:center; background-repeat:repeat; background-size:90px auto; inset:0; opacity:.14; pointer-events:none; position:absolute; }
.brand-pattern.dark { filter:brightness(0) invert(1); opacity:.1; }

.hero { background:var(--indigo); color:white; display:grid; grid-template-columns:.88fr 1.12fr; min-height:calc(100svh - 116px); overflow:hidden; padding:6vw 4vw 0; position:relative; }
.hero > .brand-pattern { background-size:115px auto; mask-image:linear-gradient(90deg,black,transparent 65%); }
.hero-copy { align-self:center; padding-bottom:10vw; position:relative; z-index:3; }
.hero-copy h1 { font-size:clamp(66px,7.6vw,134px); letter-spacing:-.075em; line-height:.78; margin:24px 0 38px; }
.hero-copy h1 span,.intro h2 span,.section-head h2 span,.brand-copy h2 span,.markets h2 span,.partners h2 span,.find h2 span { color:var(--blue); }
.hero-lede { font-size:18px; line-height:1.55; margin:0; max-width:500px; }
.hero-actions { align-items:center; display:flex; gap:28px; margin-top:30px; }
.pill.light { background:white; color:black; }
.pill.dark { background:black; color:white; }
.pill.outline { border:1px solid rgba(255,255,255,.5); color:white; }
.pill:hover { background:var(--red); color:white; }
.underlink { border-bottom:1px solid; font-size:10px; font-weight:900; letter-spacing:.1em; padding-bottom:7px; text-transform:uppercase; }
.hero-collection { min-height:650px; position:relative; z-index:2; }
.hero-gradient { background:linear-gradient(180deg,var(--blue) 0%,var(--indigo) 82%); border-radius:50%; height:min(41vw,610px); left:50%; position:absolute; top:45%; transform:translate(-50%,-50%); width:min(41vw,610px); }
.hero-mark { filter:brightness(0) invert(1); height:auto; left:50%; opacity:.13; position:absolute; top:45%; transform:translate(-50%,-50%); width:min(29vw,430px); }
.hero-products { animation:collectionFloat 9s ease-in-out infinite; height:min(47vw,680px); left:50%; position:absolute; top:47%; transform:translate(-50%,-50%); width:min(53vw,800px); }
.hero-product { filter:drop-shadow(12px 24px 20px rgba(0,0,0,.34)); height:46%; object-fit:contain; position:absolute; width:auto; }
.hero-product-1 { height:54%; left:34%; top:24%; z-index:6; }.hero-product-2 { left:7%; top:9%; transform:rotate(-5deg); z-index:3; }.hero-product-3 { right:5%; top:10%; transform:rotate(5deg); z-index:2; }.hero-product-4 { bottom:3%; left:9%; transform:rotate(4deg); z-index:4; }.hero-product-5 { bottom:2%; right:7%; transform:rotate(-4deg); z-index:3; }.hero-product-6 { height:41%; left:40%; top:1%; z-index:1; }
.hero-count { align-items:center; bottom:8%; display:flex; gap:12px; position:absolute; right:0; z-index:5; }.hero-count strong { color:var(--red); font-size:46px; letter-spacing:-.06em; }.hero-count span { font-size:9px; font-weight:900; letter-spacing:.12em; line-height:1.45; text-transform:uppercase; }
.hero-bottom { border-top:1px solid rgba(255,255,255,.4); display:flex; font-size:9px; font-weight:900; grid-column:1/-1; justify-content:space-between; letter-spacing:.15em; padding:22px 0; position:relative; text-transform:uppercase; z-index:3; }

.hero-film { border-radius:48% 52% 51% 49% / 48% 43% 57% 52%; box-shadow:0 40px 90px rgba(0,0,0,.35); height:min(45vw,680px); left:50%; overflow:hidden; position:absolute; top:46%; transform:translate(-50%,-50%); width:min(52vw,800px); z-index:2; }
.hero-film::after { background:linear-gradient(105deg,rgba(40,40,102,.32),transparent 45%,rgba(244,30,38,.1)); content:""; inset:0; position:absolute; }
.hero-film img { animation:cinematicPush 18s ease-in-out infinite alternate; object-fit:cover; }
.hero-overlay-sku { animation:overlayFloat 7s ease-in-out infinite; bottom:3%; filter:drop-shadow(0 25px 20px rgba(0,0,0,.38)); height:32%; object-fit:contain; position:absolute; right:-2%; transform:rotate(5deg); width:auto; z-index:4; }
.motion-rings { inset:0; pointer-events:none; position:absolute; z-index:3; }.motion-rings i { animation:ringDrift 10s ease-in-out infinite; border:1px solid rgba(255,255,255,.55); border-radius:50%; height:44px; position:absolute; width:44px; }.motion-rings i:nth-child(1) { left:8%; top:20%; }.motion-rings i:nth-child(2) { animation-delay:-3s; height:24px; right:8%; top:22%; width:24px; }.motion-rings i:nth-child(3) { animation-delay:-6s; bottom:18%; height:68px; left:15%; width:68px; }

.ticker { background:var(--red); color:white; overflow:hidden; padding:16px 0; white-space:nowrap; }.ticker div { animation:ticker 24s linear infinite; font-family:"Arial Rounded MT Bold",Arial,sans-serif; font-size:22px; font-weight:900; width:max-content; }.ticker i { color:var(--blue); font-style:normal; margin:0 24px; }

.intro { padding:125px 4vw 0; }.intro-heading { align-items:end; display:grid; gap:5vw; grid-template-columns:.35fr 1fr; }.intro h2,.section-head h2,.brand-copy h2,.markets h2,.partners h2,.find h2 { font-size:clamp(58px,7.4vw,124px); letter-spacing:-.075em; line-height:.82; margin:0; }.intro h2 span { color:var(--red); }.intro-copy { display:grid; gap:4vw; grid-template-columns:1fr 1fr; margin:65px 0 90px 35%; }.intro-copy p { font-size:17px; line-height:1.6; margin:0; }.intro-values { border-top:1px solid; display:grid; grid-template-columns:repeat(3,1fr); }.intro-values article { min-height:280px; padding:30px 3vw 45px 0; }.intro-values article + article { border-left:1px solid; padding-left:3vw; }.intro-values strong { color:var(--red); font-size:10px; }.intro-values h3 { font-size:27px; margin:70px 0 13px; }.intro-values p { color:#555; font-size:14px; line-height:1.55; max-width:330px; }

.lifestyle-gallery { background:black; display:grid; grid-template-columns:1.35fr 1fr; min-height:760px; overflow:hidden; }.lifestyle-shot { min-height:760px; overflow:hidden; position:relative; }.lifestyle-shot + .lifestyle-shot { border-left:2px solid white; }.lifestyle-shot::after { background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.78)); content:""; inset:0; position:absolute; z-index:1; }.lifestyle-shot img { object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }.lifestyle-shot:hover img { transform:scale(1.045); }.lifestyle-shot.day img { object-position:62% center; }.lifestyle-shot.night img { object-position:52% center; }.lifestyle-shot > div { bottom:7%; color:white; left:7%; position:absolute; z-index:2; }.lifestyle-shot span { font-size:9px; font-weight:900; letter-spacing:.17em; }.lifestyle-shot h2 { font-size:clamp(46px,5vw,84px); letter-spacing:-.07em; line-height:.8; margin:16px 0 0; }

.products { background:var(--blue); overflow:hidden; padding:120px 4vw; position:relative; }.products > .brand-pattern { filter:brightness(0) invert(1); opacity:.12; }.section-head { align-items:end; display:grid; gap:8vw; grid-template-columns:1.25fr .55fr; margin-bottom:65px; position:relative; z-index:2; }.section-head h2 { margin-top:25px; }.section-head h2 span { color:white; }.section-side p { font-size:16px; line-height:1.5; }.rail-controls { display:flex; gap:8px; margin-top:22px; }.rail-controls button { background:white; border:1px solid; border-radius:50%; height:48px; width:48px; }.product-rail { display:flex; gap:20px; margin:0 -4vw; overflow-x:auto; padding:0 4vw 10px; position:relative; scroll-padding-left:4vw; scroll-snap-type:x mandatory; scrollbar-width:none; z-index:2; }.product-rail::-webkit-scrollbar { display:none; }.product-card { flex:0 0 min(40vw,540px); scroll-snap-align:start; }.product-stage { aspect-ratio:1; border-radius:50%; overflow:hidden; position:relative; }.product-card.red .product-stage { background:linear-gradient(180deg,#ff777d,var(--red)); }.product-card.pink .product-stage { background:linear-gradient(180deg,#ffd6dc,var(--strawberry)); }.product-card.orange .product-stage { background:linear-gradient(180deg,#ffb064,#e46620); }.product-card.blue .product-stage { background:linear-gradient(180deg,#8ed9f4,var(--indigo)); }.product-card.brown .product-stage { background:linear-gradient(180deg,#d49b7f,var(--chocolate)); }.product-card.indigo .product-stage { background:linear-gradient(180deg,var(--midnight),var(--indigo)); }.product-number { font-size:10px; font-weight:900; left:9%; position:absolute; top:9%; z-index:4; }.card-mark { filter:brightness(0) invert(1); height:65%; left:50%; opacity:.16; position:absolute; top:50%; transform:translate(-50%,-50%); width:auto; }.product-image { filter:drop-shadow(10px 24px 16px rgba(0,0,0,.28)); height:82%; left:9%; object-fit:contain; position:absolute; top:9%; transition:transform .55s ease; width:82%; z-index:3; }.product-card:hover .product-image { transform:translateY(-10px) scale(1.035); }.product-info { padding:24px 12px 0; }.product-info p,.product-info span { font-size:9px; font-weight:900; letter-spacing:.14em; margin:0; text-transform:uppercase; }.product-info h3 { font-size:38px; letter-spacing:-.04em; margin:8px 0 14px; }

.brand-world { display:grid; grid-template-columns:1fr 1fr; min-height:780px; }.brand-visual { align-items:center; background:var(--red); display:flex; justify-content:center; overflow:hidden; position:relative; }.brand-visual > img { filter:brightness(0) invert(1); height:48%; opacity:.88; position:relative; width:auto; z-index:2; }.brand-visual > span { bottom:7%; color:white; font-family:"Arial Rounded MT Bold",Arial,sans-serif; font-size:clamp(54px,6vw,104px); font-weight:900; left:7%; letter-spacing:-.07em; line-height:.76; position:absolute; z-index:3; }.brand-copy { background:var(--black); color:white; display:flex; flex-direction:column; justify-content:center; padding:8vw; }.brand-copy h2 { margin:30px 0 38px; }.brand-copy h2 span { color:var(--blue); }.brand-copy > p:not(.kicker) { color:#bbb; font-size:17px; line-height:1.6; max-width:580px; }.brand-copy .underlink { align-self:flex-start; margin-top:30px; }

.markets { display:grid; grid-template-columns:1fr 1fr; }.markets-title { padding:120px 5vw 120px 4vw; }.markets-title h2 { margin-top:30px; }.markets-title h2 span { color:var(--red); }.market-list { border-left:1px solid; }.market { align-items:center; border-bottom:1px solid; display:grid; grid-template-columns:.25fr .45fr 1fr auto; min-height:180px; padding:0 4vw; }.market:last-child { border:0; }.market span,.market small { font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }.market strong { color:var(--indigo); font-size:76px; letter-spacing:-.08em; }.market h3 { font-size:21px; }.market small { border:1px solid; border-radius:99px; padding:9px 12px; }.market.live { background:var(--red); color:white; }.market.live strong { color:white; }.market.live small { background:white; color:black; }

.partners { align-items:end; background:var(--white); display:grid; gap:8vw; grid-template-columns:1.15fr .65fr; overflow:hidden; padding:120px 4vw; position:relative; }.partners > *:not(.brand-pattern) { position:relative; z-index:2; }.partners > .brand-pattern { opacity:.08; }.partners h2 { margin-top:25px; }.partners h2 span { color:var(--blue); }.partners > div:last-child p { font-size:18px; line-height:1.55; margin:0 0 28px; }
.find { display:grid; grid-template-columns:1.1fr .9fr; }.find-copy { background:var(--indigo); color:white; padding:120px 8vw 120px 4vw; }.find h2 { margin:25px 0 35px; }.find h2 span { color:var(--red); }.find-copy > p:not(.kicker) { color:#bbb; }.find form { margin-top:45px; max-width:560px; }.find label { display:block; font-size:9px; font-weight:900; letter-spacing:.14em; margin-bottom:10px; text-transform:uppercase; }.find form > div { background:white; border:1px solid white; display:grid; grid-template-columns:1fr auto; padding:7px; }.find input { border:0; outline:0; padding:0 14px; }.find button { background:var(--red); border:0; color:white; font-size:10px; font-weight:900; letter-spacing:.1em; padding:17px 22px; text-transform:uppercase; }.find-art { align-items:center; background:var(--blue); display:flex; justify-content:center; overflow:hidden; position:relative; }.find-art > img { filter:brightness(0) invert(1); height:62%; position:relative; width:auto; z-index:2; }

footer { background:black; color:white; padding:90px 4vw 32px; }.footer-brand { align-items:end; border-bottom:1px solid #444; display:flex; justify-content:space-between; padding-bottom:60px; }.footer-brand img { height:auto; width:min(52vw,760px); }.footer-brand p { color:#aaa; font-size:14px; }.footer-links { display:grid; grid-template-columns:repeat(3,1fr); margin-left:50%; padding:52px 0; }.footer-links > div { display:flex; flex-direction:column; gap:10px; }.footer-links span { color:#777; font-size:9px; font-weight:900; letter-spacing:.15em; margin-bottom:10px; text-transform:uppercase; }.footer-links a,.footer-links p { font-size:13px; margin:0; }.legal { border-top:1px solid #444; color:#777; display:flex; font-size:9px; justify-content:space-between; padding-top:24px; text-transform:uppercase; }

.age-gate { align-items:center; background:var(--black); color:white; display:flex; inset:0; justify-content:center; overflow:hidden; padding:25px; position:fixed; z-index:100; }.age-panel { max-width:720px; position:relative; text-align:center; z-index:2; }.age-panel > img { height:auto; margin:0 auto 55px; width:min(430px,80vw); }.age-panel h1 { font-size:clamp(65px,8vw,120px); letter-spacing:-.07em; line-height:.8; margin:24px 0 32px; }.age-panel > p:not(.kicker) { color:#aaa; }.age-panel > div { display:flex; gap:10px; justify-content:center; margin-top:34px; }

@keyframes ticker { to { transform:translateX(-50%); } } @keyframes collectionFloat { 0%,100% { transform:translate(-50%,-50%); } 50% { transform:translate(-50%,calc(-50% - 10px)); } }
@keyframes cinematicPush { 0% { transform:scale(1.02) translate3d(-1.5%,0,0); } 100% { transform:scale(1.1) translate3d(1.5%,-1%,0); } }
@keyframes overlayFloat { 0%,100% { transform:rotate(5deg) translateY(0); } 50% { transform:rotate(2deg) translateY(-16px); } }
@keyframes ringDrift { 0%,100% { opacity:.35; transform:translateY(0) scale(.9); } 50% { opacity:.8; transform:translateY(-24px) scale(1.08); } }

@media (max-width:900px) {
  .announcement span:first-child,.announcement span:last-child { display:none; }.announcement { justify-content:center; }.nav { grid-template-columns:1fr auto; height:70px; }.nav-logo { height:40px; width:130px; }.nav-cta { display:none; }.menu-toggle { background:none; border:0; display:grid; gap:6px; padding:10px; }.menu-toggle i { background:black; display:block; height:2px; width:25px; }.nav-links { background:white; border-bottom:1px solid; display:none; flex-direction:column; gap:23px; left:0; padding:30px 5vw; position:absolute; top:70px; width:100%; }.nav-links.open { display:flex; }
  .hero { display:block; padding:72px 5vw 0; }.hero-copy { padding:0; }.hero-copy h1 { font-size:clamp(62px,18vw,112px); }.hero-collection { min-height:560px; margin-top:35px; }.hero-film { height:500px; width:100%; }.hero-overlay-sku { bottom:0; right:-3%; }.hero-count { bottom:2%; }.hero-bottom { margin:0 -5vw; padding:20px 5vw; }
  .intro { padding:90px 5vw 0; }.intro-heading { display:block; }.intro h2 { margin-top:25px; }.intro-copy { margin:50px 0 60px; }.intro-values { grid-template-columns:1fr; }.intro-values article,.intro-values article + article { border-bottom:1px solid; border-left:0; min-height:0; padding:32px 0; }.intro-values h3 { margin:30px 0 10px; }
  .products { padding:90px 5vw; }.section-head { display:block; }.section-side { align-items:end; display:flex; gap:20px; justify-content:space-between; margin-top:35px; }.product-rail { margin:0 -5vw; padding-left:5vw; }.product-card { flex-basis:min(78vw,480px); }
  .lifestyle-gallery { grid-template-columns:1fr; }.lifestyle-shot { min-height:620px; }.lifestyle-shot + .lifestyle-shot { border-left:0; border-top:2px solid white; }
  .brand-world { grid-template-columns:1fr; }.brand-visual { min-height:540px; }.brand-copy { min-height:620px; padding:90px 5vw; }
  .markets { grid-template-columns:1fr; }.markets-title { padding:90px 5vw; }.market-list { border-left:0; }.market { padding:0 5vw; }
  .partners { display:block; padding:90px 5vw; }.partners > div:last-child { margin-top:55px; }
  .find { grid-template-columns:1fr; }.find-copy { padding:90px 5vw; }.find-art { min-height:480px; }.footer-brand { align-items:flex-start; flex-direction:column; gap:45px; }.footer-brand img { width:85vw; }.footer-links { margin-left:0; }
}
@media (max-width:560px) {
  .hero-actions { align-items:flex-start; flex-direction:column; }.hero-collection { min-height:450px; }.hero-film { border-radius:42px; height:410px; }.hero-overlay-sku { height:28%; }.hero-count { display:none; }.intro-copy { grid-template-columns:1fr; }.lifestyle-shot { min-height:500px; }.section-side { align-items:flex-start; flex-direction:column; }.product-card { flex-basis:84vw; }.product-info h3 { font-size:31px; }.market { grid-template-columns:.2fr .45fr 1fr; min-height:140px; }.market strong { font-size:54px; }.market small { display:none; }.brand-visual { min-height:420px; }.partners h2 { font-size:58px; }.find form > div { grid-template-columns:1fr; }.find button { margin-top:6px; }.footer-links { gap:30px; grid-template-columns:1fr 1fr; }.footer-links > div:last-child { display:none; }.legal { display:block; line-height:1.5; }.age-panel > div { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; } }
.campaign-hero { aspect-ratio:16/9; background:#050507; color:white; max-height:calc(100svh - 116px); min-height:460px; overflow:hidden; position:relative; }
.campaign-slides { display:flex; height:100%; transition:transform 1.15s cubic-bezier(.65,0,.18,1); will-change:transform; }
.campaign-hero-slide { flex:0 0 100%; height:100%; margin:0; overflow:hidden; position:relative; }
.campaign-hero-slide::after { background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.48)); content:""; inset:0; position:absolute; }
.campaign-hero-slide img { animation:bannerBreath 7s ease-in-out infinite alternate; object-fit:cover; transform-origin:center; }
.campaign-hero-slide[aria-hidden="false"] img { transform:scale(1.04) translate3d(calc(var(--mx,0) * -8px),calc(var(--my,0) * -5px),0); transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.liquid-light { inset:-20%; overflow:hidden; pointer-events:none; position:absolute; z-index:2; }.liquid-light i { animation:liquidOrbit 12s ease-in-out infinite; background:radial-gradient(ellipse,rgba(255,255,255,.28),rgba(41,171,226,.12) 35%,transparent 68%); border-radius:50%; filter:blur(22px); height:44%; left:12%; mix-blend-mode:screen; position:absolute; top:10%; width:36%; }.liquid-light i:nth-child(2) { animation-delay:-4s; background:radial-gradient(ellipse,rgba(244,30,38,.3),transparent 65%); height:36%; left:62%; top:48%; width:30%; }.liquid-light i:nth-child(3) { animation-delay:-8s; background:linear-gradient(110deg,transparent,rgba(255,255,255,.16),transparent); border-radius:0; filter:blur(7px); height:170%; left:-45%; top:-30%; transform:rotate(12deg); width:18%; }
.campaign-hero-controls { align-items:center; backdrop-filter:blur(16px); background:rgba(0,0,0,.58); border:1px solid rgba(255,255,255,.2); border-radius:999px; bottom:2.2rem; display:flex; gap:.75rem; left:50%; padding:.45rem; position:absolute; transform:translateX(-50%); z-index:4; }
.campaign-hero-controls > button { align-items:center; background:white; border:0; border-radius:50%; display:flex; height:42px; justify-content:center; width:42px; }
.campaign-hero-controls > span { font-size:.68rem; font-weight:900; letter-spacing:.14em; min-width:58px; text-align:center; }
.campaign-dots { align-items:center; display:flex; gap:2px; }.campaign-dots button { background:transparent; border:0; padding:9px 5px; }.campaign-dots i { background:rgba(255,255,255,.4); border-radius:4px; display:block; height:3px; transition:width .4s ease,background .4s ease; width:14px; }.campaign-dots button.active i { background:white; width:30px; }
.campaign-progress { background:rgba(255,255,255,.18); bottom:0; height:3px; left:0; position:absolute; right:0; z-index:4; }.campaign-progress i { animation:campaignProgress 5.2s linear forwards; background:var(--red); display:block; height:100%; transform-origin:left; }
@keyframes bannerBreath { from { transform:scale(1.01); } to { transform:scale(1.055); } }
@keyframes campaignProgress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes liquidOrbit { 0%,100% { opacity:.3; transform:translate3d(-7%,-4%,0) rotate(-8deg) scale(.9); } 50% { opacity:.78; transform:translate3d(23%,14%,0) rotate(14deg) scale(1.18); } }
.reveal { opacity:0; transform:translateY(65px); transition:opacity 1s ease,transform 1.1s cubic-bezier(.2,.75,.2,1); }.reveal.is-visible { opacity:1; transform:none; }
.intro-values article,.market,.product-card { transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .65s ease; }
.reveal.is-visible .intro-values article:nth-child(2),.reveal.is-visible .market:nth-child(2) { transition-delay:.12s; }.reveal.is-visible .intro-values article:nth-child(3),.reveal.is-visible .market:nth-child(3) { transition-delay:.24s; }
.product-card:hover { transform:translateY(-14px); }.product-card:hover .product-stage { filter:saturate(1.12) brightness(1.04); }
.product-stage::after { background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.32) 48%,transparent 70%); content:""; inset:-25%; position:absolute; transform:translateX(-120%) rotate(9deg); transition:transform .9s ease; z-index:4; }.product-card:hover .product-stage::after { transform:translateX(120%) rotate(9deg); }
.brand-visual > img { animation:brandPulse 7s ease-in-out infinite; }.find-art > img { animation:brandPulse 8s ease-in-out infinite reverse; }
@keyframes brandPulse { 0%,100% { transform:scale(.96) rotate(-1deg); } 50% { transform:scale(1.045) rotate(1deg); } }

@media (max-width:900px) {
  .campaign-hero { aspect-ratio:16/9; max-height:none; min-height:0; }
  .campaign-hero-controls { bottom:1rem; gap:.2rem; }
  .campaign-hero-controls > button { height:34px; width:34px; }
  .campaign-dots button { padding:7px 3px; }.campaign-dots i { width:8px; }.campaign-dots button.active i { width:18px; }
  .campaign-hero-controls > span { display:none; }
}

/* ---------- WordPress additions ---------- */

/* Equivalent of the framework's fill-mode image: absolute, edge to edge. */
.img-fill { color:transparent; height:100%; inset:0; position:absolute; width:100%; }
.juiced-site img { color:transparent; }

/* The age gate is shown only when the pre-paint script finds no acknowledgement. */
.age-gate { display:none; }
html.juiced-gate .age-gate { display:flex; }

/* Sections stay visible when JavaScript is unavailable. */
html:not(.js) .reveal { opacity:1; transform:none; }

.skip-link { background:var(--black); color:var(--white); font-size:11px; font-weight:900; left:-999px; letter-spacing:.12em; padding:14px 18px; position:absolute; text-transform:uppercase; top:0; z-index:200; }
.skip-link:focus { left:16px; top:16px; }

.not-found { background:var(--indigo); color:var(--white); display:grid; min-height:calc(100svh - 116px); overflow:hidden; padding:12vw 5vw; place-items:center; position:relative; text-align:center; }
.not-found > div { max-width:720px; position:relative; z-index:2; }
.not-found h1 { font-size:clamp(58px,9vw,140px); letter-spacing:-.075em; line-height:.8; margin:24px 0 28px; }
.not-found h1 span { color:var(--blue); }
.not-found p:not(.kicker) { color:#bbb; font-size:17px; line-height:1.55; margin:0 0 30px; }
