@font-face { font-family: "Anton"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/ecosystem/anton-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Anton"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/ecosystem/anton-latin.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 600 700; font-display: swap; src: url("/fonts/ecosystem/oswald-cyrillic.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 600 700; font-display: swap; src: url("/fonts/ecosystem/oswald-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 600 700; font-display: swap; src: url("/fonts/ecosystem/oswald-latin.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("/fonts/ecosystem/inter-cyrillic.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("/fonts/ecosystem/inter-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("/fonts/ecosystem/inter-latin.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 500; font-display: swap; src: url("/fonts/ecosystem/cormorant-cyrillic.woff2") format("woff2"); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 500; font-display: swap; src: url("/fonts/ecosystem/cormorant-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 500; font-display: swap; src: url("/fonts/ecosystem/cormorant-latin.woff2") format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
  --smash-black: #130e0b;
  --smash-ink: #1a1411;
  --smash-cream: #f5efdf;
  --smash-white: #fffdf7;
  --burger-orange: #f0440e;
  --burger-red: #b9210c;
  --burger-yellow: #ffbd24;
  --fresh-green: #0a4a2f;
  --fresh-green-dark: #032d1d;
  --fresh-green-deep: #021e14;
  --fresh-lime: #9bb80d;
  --fresh-orange: #b83d04;
  --fresh-cream: #f0ead8;
  --fresh-wood: #a9703d;
  --fresh-metal: #171b18;
  --display: "Anton", "Oswald", Impact, sans-serif;
  --body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --script: "Cormorant Garamond", Georgia, serif;
  --header-height: 74px;
  --page-pad: clamp(18px, 4vw, 64px);
  --ease: cubic-bezier(.2, .75, .25, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--smash-black); }
body { margin: 0; min-width: 0; color: var(--smash-cream); background: var(--smash-black); font-family: var(--body); line-height: 1.5; overflow-x: hidden; }
body::selection { color: var(--smash-black); background: var(--burger-yellow); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, select { cursor: pointer; }
:focus-visible { outline: 3px solid var(--burger-yellow); outline-offset: 4px; }
.fresh-page :focus-visible { outline-color: var(--fresh-orange); }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 12px 18px; color: #111; background: #fff; transform: translateY(-160%); transition: transform .2s; }
.skip-link:focus { transform: none; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.shell { width: min(1240px, calc(100% - (var(--page-pad) * 2))); margin-inline: auto; }
.eyebrow { margin: 0 0 16px; color: var(--burger-yellow); font-size: 12px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.fresh-page .eyebrow { color: var(--fresh-orange); }
.display-title { margin: 0; font-family: var(--display); font-size: clamp(52px, 8vw, 126px); font-weight: 900; letter-spacing: -.035em; line-height: .88; text-transform: uppercase; }
.body-copy { max-width: 650px; margin: 24px 0 0; color: rgba(245, 239, 223, .72); font-size: clamp(17px, 1.65vw, 22px); }
.slash { color: var(--burger-orange); }

.ecosystem-header { position: fixed; z-index: 100; top: 0; left: 0; width: 100%; color: var(--smash-white); border-bottom: 1px solid rgba(255,255,255,.13); background: linear-gradient(180deg, rgba(4,4,3,.82), rgba(4,4,3,.32)); backdrop-filter: blur(16px) saturate(1.25); }
.ecosystem-header.is-solid { position: sticky; color: var(--fresh-cream); background: rgba(2,30,20,.96); }
.ecosystem-nav { min-height: var(--header-height); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; }
.ecosystem-brand { display: inline-flex; align-items: baseline; gap: 9px; font-family: var(--display); font-size: 26px; letter-spacing: .035em; line-height: 1; }
.ecosystem-brand span { color: var(--burger-orange); font-size: 35px; transform: skewX(-11deg); }
.ecosystem-links { justify-self: center; display: flex; align-items: center; gap: clamp(20px, 3vw, 46px); }
.ecosystem-links a { position: relative; padding: 10px 0; font-size: 12px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.ecosystem-links a::after { content: ""; position: absolute; right: 0; bottom: 2px; left: 0; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .25s var(--ease); }
.ecosystem-links a:hover::after, .ecosystem-links a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.language-shell { position: relative; min-width: 72px; }
.language-shell::after { content: "⌄"; position: absolute; top: 50%; right: 14px; pointer-events: none; transform: translateY(-58%); color: currentColor; font-size: 12px; }
.language-shell select { width: 100%; height: 42px; padding: 0 32px 0 14px; color: inherit; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(255,255,255,.07); font-size: 12px; font-weight: 900; letter-spacing: .1em; appearance: none; }
.language-shell option { color: #111; background: #fff; }
.nav-toggle { display: none; width: 44px; height: 44px; padding: 0; color: inherit; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: transparent; }
.nav-toggle span, .nav-toggle::before, .nav-toggle::after { content: ""; display: block; width: 18px; height: 2px; margin: 4px auto; background: currentColor; transition: transform .2s, opacity .2s; }
.mobile-nav { display: none; }
.mobile-nav[hidden] { display: none !important; }

.gateway-hero { position: relative; min-height: max(760px, 100svh); overflow: hidden; isolation: isolate; background: #071d13; }
.gateway-panel { position: absolute; inset: 0; display: flex; align-items: flex-end; overflow: hidden; transition: clip-path .7s var(--ease), filter .6s var(--ease); }
.gateway-panel::before, .gateway-panel::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.gateway-panel--burger { z-index: 1; clip-path: polygon(0 0, 59% 0, 46% 100%, 0 100%); background: var(--smash-black); }
.gateway-burger-media { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.gateway-panel--burger::before { z-index: 1; background: linear-gradient(90deg, rgba(13,8,6,.42), rgba(13,8,6,.1) 46%, rgba(13,8,6,.94) 72%), linear-gradient(0deg, rgba(13,8,6,.93), transparent 65%); }
.gateway-panel--burger::after { z-index: 2; background: radial-gradient(circle at 26% 24%, rgba(240,68,14,.22), transparent 30%), linear-gradient(120deg, transparent 65%, rgba(240,68,14,.25)); mix-blend-mode: screen; }
.gateway-panel--fresh { z-index: 0; justify-content: flex-end; clip-path: polygon(59% 0, 100% 0, 100% 100%, 46% 100%); color: var(--fresh-cream); background: var(--fresh-green-dark); }
.gateway-panel--fresh::before { background: linear-gradient(128deg, rgba(2,30,20,.98) 24%, rgba(10,74,47,.87) 66%, rgba(5,39,25,.94)), repeating-linear-gradient(90deg, transparent 0 64px, rgba(255,255,255,.035) 64px 65px), repeating-linear-gradient(0deg, transparent 0 64px, rgba(255,255,255,.025) 64px 65px); }
.gateway-panel--fresh::after { inset: auto 0 0 43%; height: 30%; background: linear-gradient(100deg, rgba(121,75,35,.08), rgba(169,112,61,.72), rgba(74,40,22,.55)), repeating-linear-gradient(94deg, transparent 0 80px, rgba(40,20,12,.22) 80px 82px); box-shadow: 0 -1px rgba(255,255,255,.12); }
.gateway-fresh-logo { position: absolute; z-index: 2; top: calc(var(--header-height) + 74px); right: 7vw; width: clamp(110px, 13vw, 190px); aspect-ratio: 1; object-fit: cover; border: 10px solid rgba(240,234,216,.88); border-radius: 50%; opacity: .8; box-shadow: 18px 18px 0 rgba(0,0,0,.14); }
.gateway-panel-content { position: relative; z-index: 3; width: min(590px, 45vw); padding: calc(var(--header-height) + 80px) var(--page-pad) clamp(54px, 7vw, 104px); }
.gateway-panel--fresh .gateway-panel-content { text-align: right; }
.gateway-panel-label { margin: 0 0 8px; color: var(--burger-yellow); font-size: 12px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.gateway-panel--fresh .gateway-panel-label { color: #c1d53c; }
.gateway-panel h2 { max-width: 540px; margin: 0; font-family: var(--display); font-size: clamp(62px, 8.2vw, 138px); font-weight: 400; letter-spacing: -.045em; line-height: .82; text-transform: uppercase; }
.gateway-panel--fresh h2 { margin-left: auto; }
.gateway-panel-claim { margin: 20px 0 0; font-size: clamp(16px, 1.5vw, 22px); font-weight: 700; }
.gateway-panel-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.gateway-panel--fresh .gateway-panel-actions { justify-content: flex-end; }
.cta { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 22px; border: 1px solid currentColor; font-size: 12px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; transition: color .25s, background .25s, transform .25s; }
.cta:hover { transform: translateY(-2px); }
.cta--burger { color: #fff; border-color: var(--burger-orange); background: var(--burger-orange); }
.cta--fresh { color: var(--fresh-green-deep); border-color: var(--fresh-cream); background: var(--fresh-cream); }
.cta--ghost { background: transparent; }
.gateway-panel--fresh .cta--ghost { color: var(--fresh-cream); border-color: rgba(240,234,216,.55); }
.gateway-slash { position: absolute; z-index: 5; top: 50%; left: 52.5%; color: var(--smash-white); font-family: var(--display); font-size: clamp(150px, 25vw, 400px); line-height: .6; text-shadow: 0 0 50px rgba(0,0,0,.45); transform: translate(-50%, -46%) rotate(5deg); pointer-events: none; }
.gateway-slash::after { content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 155%; background: linear-gradient(var(--burger-orange), var(--fresh-lime)); transform: translate(-50%, -50%) rotate(4deg); opacity: .7; filter: blur(.2px); }
.gateway-slash span { position: relative; z-index: 1; }
.gateway-chooser { position: absolute; z-index: 6; top: calc(var(--header-height) + 30px); left: 50%; margin: 0; color: rgba(255,255,255,.72); font-size: 10px; font-weight: 900; letter-spacing: .22em; text-transform: uppercase; transform: translateX(-50%); white-space: nowrap; }
.gateway-scroll { position: absolute; z-index: 6; bottom: 22px; left: 50%; color: rgba(255,255,255,.62); font-size: 9px; font-weight: 900; letter-spacing: .22em; transform: translateX(-50%); }
.gateway-hero:has(.gateway-panel--burger:hover) .gateway-panel--burger { clip-path: polygon(0 0, 66% 0, 53% 100%, 0 100%); }
.gateway-hero:has(.gateway-panel--burger:hover) .gateway-panel--fresh { clip-path: polygon(66% 0, 100% 0, 100% 100%, 53% 100%); filter: brightness(.72); }
.gateway-hero:has(.gateway-panel--fresh:hover) .gateway-panel--burger { clip-path: polygon(0 0, 52% 0, 39% 100%, 0 100%); filter: brightness(.72); }
.gateway-hero:has(.gateway-panel--fresh:hover) .gateway-panel--fresh { clip-path: polygon(52% 0, 100% 0, 100% 100%, 39% 100%); }

.ecosystem-story { padding: clamp(96px, 12vw, 180px) 0; color: var(--smash-ink); background: var(--smash-cream); }
.ecosystem-story-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(50px, 9vw, 130px); align-items: end; }
.ecosystem-story .eyebrow { color: var(--burger-orange); }
.ecosystem-story .display-title { max-width: 720px; }
.ecosystem-story .story-copy { max-width: 560px; margin: 0 0 5px; font-size: clamp(19px, 2.05vw, 30px); line-height: 1.35; }
.story-rule { width: 88px; height: 8px; margin: 28px 0 0; background: linear-gradient(90deg, var(--burger-orange) 0 46%, transparent 46% 54%, var(--fresh-green) 54%); transform: skewX(-23deg); }

.concept-feature { position: relative; min-height: 780px; display: grid; align-items: end; overflow: hidden; }
.concept-feature::before { content: ""; position: absolute; inset: 0; }
.concept-feature .shell { position: relative; z-index: 2; padding-block: clamp(100px, 12vw, 170px); }
.concept-feature-copy { max-width: 700px; }
.concept-feature--burger { background: #140d0a; }
.concept-feature--burger::before { background: linear-gradient(90deg, rgba(16,9,6,.95) 10%, rgba(16,9,6,.56) 54%, rgba(16,9,6,.05)), linear-gradient(0deg, rgba(16,9,6,.85), transparent 65%), url("/img/hasim/Procam-38.jpg") 72% center/cover no-repeat; }
.concept-feature--fresh { color: var(--fresh-cream); background: var(--fresh-green-deep); }
.concept-feature--fresh::before { background: linear-gradient(110deg, rgba(2,30,20,.96) 0 48%, rgba(10,74,47,.74) 80%), repeating-linear-gradient(0deg, transparent 0 85px, rgba(255,255,255,.025) 85px 86px); }
.concept-feature--fresh .shell::after { content: ""; position: absolute; z-index: -1; top: 50%; right: 4%; width: min(38vw, 520px); aspect-ratio: 1; border: 1px solid rgba(240,234,216,.18); border-radius: 50%; background: radial-gradient(circle at 44% 40%, rgba(155,184,13,.65) 0 3%, transparent 3.5%), repeating-radial-gradient(circle, transparent 0 19px, rgba(240,234,216,.06) 20px 21px); transform: translateY(-50%); }
.concept-feature--fresh .display-title { color: var(--fresh-cream); }
.concept-feature .body-copy { margin-bottom: 34px; }
.fresh-category-line { margin: 26px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
.fresh-category-line span { padding: 8px 12px; border: 1px solid rgba(240,234,216,.28); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.play-section { position: relative; padding: clamp(100px, 12vw, 180px) 0; color: var(--smash-ink); background: var(--burger-yellow); overflow: hidden; }
.play-section::after { content: "PLAY"; position: absolute; right: -3vw; bottom: -9vw; color: rgba(19,14,11,.08); font-family: var(--display); font-size: 34vw; line-height: .75; pointer-events: none; }
.play-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; }
.play-section .eyebrow { color: var(--smash-ink); }
.play-section .body-copy { color: rgba(26,20,17,.74); }
.play-links { display: grid; gap: 12px; }
.play-link { min-height: 66px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border: 2px solid var(--smash-ink); font-size: 13px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; transition: color .2s, background .2s, transform .2s; }
.play-link:hover { color: var(--burger-yellow); background: var(--smash-ink); transform: translateX(6px); }

.locations-section { padding: clamp(100px, 12vw, 170px) 0; background: #efe8d8; color: var(--smash-ink); }
.locations-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 54px; }
.locations-heading .display-title { max-width: 850px; }
.location-grid { display: grid; grid-template-columns: 1fr 1fr; border: 2px solid var(--smash-ink); }
.location-card { min-height: 430px; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(30px, 5vw, 70px); }
.location-card + .location-card { border-left: 2px solid var(--smash-ink); }
.location-card--burger { color: #fff; background: linear-gradient(135deg, #1a0f0a, #371305); }
.location-card--fresh { color: var(--fresh-cream); background: linear-gradient(135deg, var(--fresh-green-deep), var(--fresh-green)); }
.location-index { font-family: var(--display); font-size: 22px; opacity: .55; }
.location-card h3 { margin: 0; font-family: var(--display); font-size: clamp(48px, 5vw, 82px); line-height: .88; text-transform: uppercase; }
.location-card p { max-width: 390px; margin: 18px 0 28px; color: inherit; opacity: .78; }
.text-link { display: inline-flex; align-items: center; gap: 12px; width: fit-content; padding-bottom: 4px; border-bottom: 2px solid currentColor; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

.ecosystem-footer { padding: 70px 0 110px; color: rgba(245,239,223,.76); background: #100c09; }
.fresh-page .ecosystem-footer { background: #01150e; }
.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(4, 1fr); gap: 34px; }
.footer-mark { color: #fff; font-family: var(--display); font-size: clamp(38px, 4vw, 62px); line-height: .85; }
.footer-mark span { color: var(--burger-orange); }
.fresh-page .footer-mark span { color: var(--fresh-lime); }
.footer-col { display: grid; align-content: start; gap: 10px; }
.footer-col strong { margin-bottom: 6px; color: #fff; font-size: 11px; letter-spacing: .15em; }
.footer-col a { width: fit-content; font-size: 13px; }
.footer-col a:hover { color: #fff; }
.footer-bottom { margin-top: 54px; padding-top: 22px; display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid rgba(255,255,255,.13); font-size: 11px; letter-spacing: .08em; }

/* Fresh shared surfaces */
.fresh-page { color: var(--fresh-cream); background: var(--fresh-green-deep); }
.fresh-page::selection { color: var(--fresh-green-deep); background: var(--fresh-lime); }
.fresh-nav-logo { display: flex; align-items: center; gap: 12px; }
.fresh-nav-logo img { width: 52px; height: 52px; object-fit: cover; border-radius: 50%; background: #fff; }
.fresh-nav-logo strong { font-family: var(--display); font-size: 23px; letter-spacing: .04em; line-height: .88; }
.concept-context { display: flex; align-items: center; gap: 8px; color: rgba(240,234,216,.65); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.concept-context b { color: var(--fresh-lime); }
.fresh-hero { position: relative; min-height: calc(100svh - var(--header-height)); display: grid; align-items: end; overflow: hidden; background: var(--fresh-green-deep); isolation: isolate; }
.fresh-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(100deg, rgba(2,30,20,.98) 10%, rgba(2,30,20,.62) 58%, rgba(10,74,47,.12)), radial-gradient(circle at 76% 34%, rgba(155,184,13,.3), transparent 24%), repeating-linear-gradient(90deg, transparent 0 90px, rgba(255,255,255,.035) 90px 91px); }
.fresh-hero::after { content: ""; position: absolute; z-index: -1; right: -8vw; bottom: -18vw; width: 58vw; aspect-ratio: 1; border: 3px solid rgba(240,234,216,.1); border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 31px, rgba(240,234,216,.055) 32px 33px); }
.fresh-hero .shell { padding-block: clamp(100px, 13vw, 180px) clamp(80px, 10vw, 130px); }
.fresh-hero-layout { display: grid; grid-template-columns: 1fr minmax(230px, .42fr); gap: 70px; align-items: end; }
.fresh-hero h1 { max-width: 890px; color: var(--fresh-cream); font-family: var(--display); font-size: clamp(64px, 10vw, 156px); letter-spacing: -.045em; line-height: .82; text-transform: uppercase; }
.fresh-hero-copy { max-width: 630px; margin: 26px 0 34px; color: rgba(240,234,216,.72); font-size: clamp(18px, 1.7vw, 24px); }
.fresh-hero-logo { align-self: center; padding: 20px; border: 1px solid rgba(240,234,216,.18); background: rgba(240,234,216,.95); transform: rotate(2deg); box-shadow: 22px 22px 0 rgba(0,0,0,.18); }
.fresh-hero-logo img { width: 100%; }
.fresh-wordline { position: absolute; right: 0; bottom: 0; left: 0; height: 44px; display: flex; align-items: center; overflow: hidden; color: var(--fresh-green-deep); background: var(--fresh-lime); white-space: nowrap; font-family: var(--display); font-size: 20px; letter-spacing: .08em; }
.fresh-wordline span { display: inline-block; padding-left: 24px; animation: marquee 20s linear infinite; }

.fresh-category-section { position: relative; padding: clamp(90px, 11vw, 160px) 0; overflow: hidden; }
.fresh-category-section:nth-of-type(even) { color: var(--fresh-green-deep); background: var(--fresh-cream); }
.fresh-category-section:nth-of-type(odd) { color: var(--fresh-cream); background: var(--fresh-green); }
.fresh-category-layout { display: grid; grid-template-columns: minmax(280px, .86fr) 1.14fr; gap: clamp(50px, 9vw, 130px); align-items: start; }
.fresh-category-heading { position: sticky; top: calc(var(--header-height) + 36px); }
.fresh-category-heading h2 { max-width: 560px; margin: 0; font-family: var(--display); font-size: clamp(54px, 7vw, 104px); line-height: .86; letter-spacing: -.035em; text-transform: uppercase; }
.fresh-category-heading p:not(.eyebrow) { max-width: 510px; margin: 24px 0 0; font-size: 18px; opacity: .72; }
.time-badge { display: inline-flex; margin-left: 8px; padding: 6px 10px; color: var(--fresh-green-deep); background: var(--fresh-lime); font-size: 10px; font-weight: 900; letter-spacing: .1em; vertical-align: middle; }
.fresh-feature-list { display: grid; border-top: 1px solid currentColor; }
.fresh-feature-card { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 26px; padding: 28px 0; border-bottom: 1px solid currentColor; }
.fresh-feature-card::before { content: attr(data-number); position: absolute; top: 31px; left: -45px; font-family: var(--display); font-size: 14px; opacity: .42; }
.fresh-feature-card h3 { margin: 0; font-family: var(--display); font-size: clamp(28px, 3.2vw, 46px); line-height: 1; text-transform: uppercase; }
.fresh-feature-card p { max-width: 540px; margin: 10px 0 0; opacity: .68; }
.fresh-feature-card strong { align-self: start; color: var(--fresh-orange); font-family: var(--display); font-size: clamp(24px, 2.7vw, 40px); white-space: nowrap; }
.fresh-category-section:nth-of-type(odd) .fresh-feature-card strong { color: #d2e343; }
.fresh-cta-row { margin-top: 38px; }
.fresh-category-section:nth-of-type(even) .cta--fresh { color: var(--fresh-cream); border-color: var(--fresh-green); background: var(--fresh-green); }

.fresh-location { position: relative; padding: clamp(100px, 12vw, 180px) 0; overflow: hidden; color: var(--fresh-cream); background: var(--fresh-metal); }
.fresh-location::before { content: ""; position: absolute; inset: 0 0 0 50%; background: linear-gradient(115deg, rgba(10,74,47,.8), rgba(169,112,61,.62)), repeating-linear-gradient(90deg, transparent 0 58px, rgba(0,0,0,.16) 58px 60px); }
.fresh-location-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.fresh-location h2 { max-width: 620px; margin: 0; font-family: var(--display); font-size: clamp(62px, 8vw, 120px); line-height: .84; text-transform: uppercase; }
.fresh-location-copy { align-self: end; padding: 50px; color: var(--fresh-green-deep); background: var(--fresh-cream); }
.fresh-location-copy h3 { margin: 0; font-family: var(--display); font-size: 48px; line-height: .9; text-transform: uppercase; }
.fresh-location-copy p { margin: 18px 0 0; }

/* Fresh menu */
.fresh-menu-hero { padding: clamp(110px, 14vw, 190px) 0 64px; color: var(--fresh-cream); background: radial-gradient(circle at 82% 16%, rgba(155,184,13,.18), transparent 26%), var(--fresh-green-deep); }
.fresh-menu-hero h1 { max-width: 980px; margin: 0; font-family: var(--display); font-size: clamp(60px, 9vw, 136px); letter-spacing: -.04em; line-height: .84; text-transform: uppercase; }
.fresh-menu-hero p:not(.eyebrow) { max-width: 680px; margin: 24px 0 0; color: rgba(240,234,216,.7); font-size: 19px; }
.fresh-menu-tools { position: sticky; z-index: 40; top: var(--header-height); padding: 14px 0; color: var(--fresh-green-deep); border-bottom: 1px solid rgba(3,45,29,.15); background: rgba(240,234,216,.96); backdrop-filter: blur(14px); }
.fresh-search { position: relative; display: grid; grid-template-columns: minmax(210px, .6fr) 1fr auto; gap: 12px; align-items: center; }
.fresh-search-input { position: relative; }
.fresh-search-input::before { content: "⌕"; position: absolute; top: 50%; left: 16px; font-size: 26px; transform: translateY(-54%); }
.fresh-search input { width: 100%; height: 48px; padding: 0 16px 0 48px; color: var(--fresh-green-deep); border: 1px solid rgba(3,45,29,.28); border-radius: 0; background: #fffdf7; }
.fresh-category-buttons { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.fresh-category-buttons::-webkit-scrollbar { display: none; }
.fresh-category-buttons button { min-height: 42px; padding: 0 14px; color: var(--fresh-green-deep); border: 1px solid rgba(3,45,29,.28); border-radius: 0; background: transparent; font-size: 10px; font-weight: 900; letter-spacing: .09em; white-space: nowrap; text-transform: uppercase; }
.fresh-category-buttons button.is-active { color: var(--fresh-cream); border-color: var(--fresh-green); background: var(--fresh-green); }
.menu-count { font-size: 11px; font-weight: 800; white-space: nowrap; }
.fresh-menu-surface { min-height: 70vh; padding: 64px 0 130px; color: var(--fresh-green-deep); background: var(--fresh-cream); }
.fresh-menu-group + .fresh-menu-group { margin-top: 90px; }
.fresh-menu-group > header { display: grid; grid-template-columns: 1fr; gap: 20px; align-items: start; margin-bottom: 30px; padding-bottom: 22px; border-bottom: 3px solid var(--fresh-green-deep); }
.fresh-section-number { color: var(--fresh-orange); font-family: var(--display); font-size: 32px; }
.fresh-menu-group h2 { display: inline; margin: 0; font-family: var(--display); font-size: clamp(46px, 6vw, 86px); letter-spacing: -.025em; line-height: .9; text-transform: uppercase; }
.availability-badge { display: inline-flex; margin-left: 14px; padding: 7px 10px; color: var(--fresh-cream); background: var(--fresh-orange); font-size: 10px; font-weight: 900; letter-spacing: .08em; vertical-align: top; }
.fresh-menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(3,45,29,.28); }
.fresh-menu-card { position: relative; min-height: 160px; display: grid; grid-template-columns: 1fr auto; gap: 22px; padding: 28px 26px 28px 52px; border-bottom: 1px solid rgba(3,45,29,.28); user-select: none; -webkit-user-select: none; }
.fresh-menu-card:nth-child(odd) { border-right: 1px solid rgba(3,45,29,.28); }
.fresh-menu-card::before { content: var(--item-index); position: absolute; top: 32px; left: 15px; color: var(--fresh-orange); font-family: var(--display); font-size: 13px; }
.fresh-menu-card h3 { margin: 0; font-family: var(--display); font-size: clamp(26px, 2.6vw, 38px); line-height: 1; text-transform: uppercase; }
.fresh-menu-card p { margin: 12px 0 0; color: rgba(3,45,29,.68); }
.fresh-menu-card strong { align-self: start; color: var(--fresh-orange); font-family: var(--display); font-size: 28px; white-space: nowrap; }
.menu-empty { padding: 80px 20px; text-align: center; border: 2px solid var(--fresh-green-deep); }
.menu-empty h2 { margin: 0 0 24px; font-family: var(--display); font-size: 44px; text-transform: uppercase; }
.menu-note { margin-top: 52px; padding-top: 20px; border-top: 1px solid rgba(3,45,29,.26); color: rgba(3,45,29,.65); font-size: 12px; }

[data-reveal] { opacity: 0; transform: translateY(30px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal].is-visible { opacity: 1; transform: none; }
@keyframes marquee { to { transform: translateX(-50%); } }

@media (max-width: 1080px) {
  .ecosystem-links { gap: 20px; }
  .gateway-panel-content { width: 49vw; }
  .gateway-panel h2 { font-size: clamp(56px, 9vw, 104px); }
  .footer-grid { grid-template-columns: 1.5fr repeat(2, 1fr); }
  .footer-col:nth-of-type(4), .footer-col:nth-of-type(5) { margin-top: 18px; }
  .fresh-search { grid-template-columns: minmax(210px, .8fr) 1.2fr; }
  .menu-count { display: none; }
}

@media (max-width: 820px) {
  :root { --header-height: 66px; --page-pad: 20px; }
  .ecosystem-nav { grid-template-columns: 1fr auto auto; gap: 10px; }
  .ecosystem-links { display: none; }
  .ecosystem-brand { font-size: 22px; }
  .ecosystem-brand span { font-size: 29px; }
  .nav-toggle { display: block; }
  .mobile-nav { position: fixed; top: var(--header-height); right: 0; left: 0; display: grid; gap: 0; padding: 10px var(--page-pad) 18px; border-bottom: 1px solid rgba(255,255,255,.14); background: rgba(2,30,20,.98); transform: translateY(-130%); transition: transform .3s var(--ease); }
  .root-page .mobile-nav { background: rgba(16,12,9,.98); }
  .mobile-nav.is-open { transform: none; }
  .mobile-nav a { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.11); font-size: 12px; font-weight: 900; letter-spacing: .13em; }
  .gateway-hero { min-height: auto; padding-top: var(--header-height); display: grid; grid-template-rows: minmax(460px, calc(54svh - 33px)) minmax(460px, calc(54svh - 33px)); }
  .gateway-panel { position: relative; inset: auto; clip-path: none !important; filter: none !important; transition: none; }
  .gateway-panel--burger { grid-row: 1; }
  .gateway-panel--fresh { grid-row: 2; }
  .gateway-burger-media { object-position: 60% center; }
  .gateway-panel--fresh::after { inset: auto 0 0; height: 25%; }
  .gateway-fresh-logo { top: 32px; right: 20px; width: 92px; border-width: 6px; opacity: .5; box-shadow: 10px 10px 0 rgba(0,0,0,.12); }
  .gateway-panel-content { width: 100%; padding: 70px var(--page-pad) 48px; }
  .gateway-panel--fresh .gateway-panel-content { text-align: left; }
  .gateway-panel--fresh h2 { margin-left: 0; }
  .gateway-panel--fresh .gateway-panel-actions { justify-content: flex-start; }
  .gateway-panel h2 { font-size: clamp(60px, 17vw, 96px); }
  .gateway-slash { top: 50%; left: 50%; font-size: 116px; transform: translate(-50%, -50%) rotate(58deg); }
  .gateway-slash::after { display: none; }
  .gateway-chooser { top: calc(var(--header-height) + 16px); }
  .gateway-scroll { display: none; }
  .ecosystem-story-grid, .play-grid, .fresh-hero-layout, .fresh-category-layout, .fresh-location-grid { grid-template-columns: 1fr; }
  .ecosystem-story-grid { gap: 34px; }
  .concept-feature { min-height: 700px; }
  .concept-feature--burger::before { background-position: 65% center; }
  .concept-feature--fresh .shell::after { top: auto; right: -20%; bottom: 4%; width: 78vw; transform: none; }
  .play-grid { gap: 42px; }
  .location-grid { grid-template-columns: 1fr; }
  .location-card + .location-card { border-top: 2px solid var(--smash-ink); border-left: 0; }
  .location-card { min-height: 390px; }
  .fresh-nav-logo strong { font-size: 19px; }
  .concept-context { display: none; }
  .fresh-hero { min-height: 880px; }
  .fresh-hero-layout { gap: 44px; }
  .fresh-hero-logo { width: min(300px, 76vw); transform: rotate(1deg); }
  .fresh-category-heading { position: static; }
  .fresh-category-layout { gap: 50px; }
  .fresh-feature-card::before { display: none; }
  .fresh-location::before { inset: 50% 0 0; }
  .fresh-location-grid { gap: 70px; }
  .fresh-location-copy { padding: 34px; }
  .fresh-search { grid-template-columns: 1fr; }
  .fresh-category-buttons { order: 2; }
  .fresh-menu-tools { top: var(--header-height); padding-bottom: 10px; }
  .fresh-menu-grid { grid-template-columns: 1fr; }
  .fresh-menu-card:nth-child(odd) { border-right: 0; }
  .fresh-menu-group + .fresh-menu-group { margin-top: 72px; }
}

@media (max-width: 560px) {
  .language-shell { min-width: 62px; }
  .language-shell select { height: 40px; padding-left: 11px; }
  .gateway-panel-content { padding-top: 64px; }
  .gateway-panel-actions { display: grid; grid-template-columns: 1fr; width: min(310px, 100%); }
  .cta { width: 100%; }
  .display-title { font-size: clamp(50px, 16vw, 78px); }
  .concept-feature { min-height: 640px; }
  .concept-feature--burger::before { background-position: 72% center; }
  .locations-heading { display: block; }
  .location-card { min-height: 350px; }
  .location-card h3 { font-size: 52px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > :first-child { grid-column: 1 / -1; margin-bottom: 20px; }
  .footer-bottom { flex-direction: column; }
  .fresh-nav-logo img { width: 43px; height: 43px; }
  .fresh-nav-logo strong { font-size: 17px; }
  .fresh-hero h1 { font-size: clamp(58px, 18vw, 86px); }
  .fresh-feature-card { grid-template-columns: 1fr; gap: 12px; }
  .fresh-feature-card strong { justify-self: start; }
  .fresh-menu-hero { padding-top: 116px; }
  .fresh-menu-hero h1 { font-size: clamp(56px, 17vw, 82px); }
  .fresh-menu-group > header { grid-template-columns: 1fr; gap: 10px; }
  .fresh-section-number { font-size: 24px; }
  .fresh-menu-group h2 { font-size: 43px; }
  .availability-badge { display: flex; width: fit-content; margin: 10px 0 0; }
  .fresh-menu-card { min-height: 0; grid-template-columns: 1fr; gap: 18px; padding: 24px 18px 24px 42px; }
  .fresh-menu-card::before { top: 27px; left: 11px; }
  .fresh-menu-card strong { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
