:root {
  --cherry: #310e13;
  --ivory: #f4e9d7;
  --paper: #f7f1e8;
  --ink: #241b18;
  --taupe: #b9a590;
  --line: rgba(49, 14, 19, .18);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); overflow-x: hidden; }
body.is-locked { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
img { display: block; width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.announcement { height: 30px; display: flex; align-items: center; justify-content: center; gap: 10px; background: var(--ivory); color: var(--cherry); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; position: relative; z-index: 30; }
.site-header { position: fixed; top: 30px; left: 0; width: 100%; height: 88px; padding: 0 4vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; color: var(--ivory); z-index: 25; border-bottom: 1px solid rgba(244,233,215,.18); transition: background .35s, height .35s, color .35s; }
.site-header.is-scrolled, .site-header.menu-open { height: 70px; color: var(--ivory); background: rgba(49,14,19,.96); backdrop-filter: blur(14px); border-color: rgba(244,233,215,.1); }
.brand, .footer-brand { font-family: var(--serif); font-size: 30px; letter-spacing: .24em; line-height: 1; }
.desktop-nav { display: flex; gap: 42px; }
.desktop-nav a, .desktop-contact { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; position: relative; }
.desktop-nav a::after, .desktop-contact::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 0; height: 1px; background: currentColor; transition: width .25s; }
.desktop-nav a:hover::after, .desktop-contact:hover::after { width: 100%; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 22px; }
.icon-button, .menu-button { border: 0; background: transparent; cursor: pointer; padding: 6px; }
.icon-button svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.3; }
.bag-button { position: relative; }
.bag-count { position: absolute; right: -4px; top: -2px; min-width: 16px; height: 16px; border-radius: 50%; background: var(--ivory); color: var(--cherry); font-size: 9px; display: grid; place-items: center; }
.menu-button { display: none; width: 30px; }
.menu-button span { display: block; width: 100%; height: 1px; background: currentColor; margin: 6px 0; }
.mobile-nav { display: none; }

.hero { min-height: 780px; height: calc(100vh - 30px); position: relative; display: flex; align-items: center; padding: 120px 7vw 80px; color: var(--ivory); background: var(--cherry); overflow: hidden; }
.hero::after { content: ""; position: absolute; z-index: 0; inset: 0; background: url("assets/generated/flama-hero-dusk-v3.png") center/cover no-repeat; }
.hero-shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(35,9,13,.94) 0%, rgba(49,14,19,.82) 34%, rgba(49,14,19,.48) 48%, rgba(49,14,19,.06) 68%); }
.hero::before { content: ""; position: absolute; z-index: 1; inset: 0; background-image: linear-gradient(rgba(49,14,19,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(49,14,19,.025) 1px, transparent 1px); background-size: 60px 60px; opacity: .5; }
.hero-content { position: relative; z-index: 2; width: min(650px, 50vw); margin-top: 5vh; }
.eyebrow { margin: 0 0 24px; font-size: 10px; letter-spacing: .26em; line-height: 1.4; text-transform: uppercase; }
.eyebrow.dark { color: var(--cherry); }
h1, h2 { font-family: var(--serif); font-weight: 400; margin: 0; letter-spacing: -.045em; }
h1 { font-size: clamp(66px, 6.6vw, 112px); line-height: .86; }
h1 em, h2 em { font-weight: 400; color: var(--taupe); }
.hero-copy { width: min(430px, 100%); margin: 34px 0 38px; font-family: var(--serif); font-size: 18px; line-height: 1.55; color: rgba(244,233,215,.82); }
.hero-actions { display: flex; align-items: center; gap: 34px; }
.button { min-height: 54px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; border: 1px solid transparent; text-transform: uppercase; letter-spacing: .14em; font-size: 10px; cursor: pointer; transition: transform .25s, background .25s; }
.button:hover { transform: translateY(-2px); }
.button-light { background: var(--ivory); color: var(--cherry); }
.button-light:hover { background: white; }
.button-cherry { background: var(--cherry); color: var(--ivory); }
.text-link { display: inline-flex; align-items: center; gap: 26px; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.text-link span { transition: transform .25s; }.text-link:hover span { transform: translateX(5px); }.text-link-light { color: var(--ivory); }
.hero .button-light { color: var(--cherry); background: var(--ivory); }.hero .button-light:hover { background: white; }
.hero-foot { position: absolute; z-index: 2; left: 4vw; right: 4vw; bottom: 25px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; color: rgba(244,233,215,.72); }
.hero-foot p { margin: 0; }.hero-foot p:first-child { display: flex; align-items: center; gap: 10px; }.hero-foot p:first-child span { width: 45px; height: 1px; background: currentColor; }.hero-foot p:nth-child(2) { padding: 7px 10px; background: rgba(49,14,19,.5); }.hero-foot a { justify-self: end; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(244,233,215,.45); border-radius: 50%; font-size: 16px; background: rgba(49,14,19,.36); }

.intro { min-height: 650px; padding: 100px 7vw; display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; background: var(--ivory); position: relative; overflow: hidden; }
.section-number { align-self: start; margin: 0; color: var(--cherry); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }
.intro-copy { position: relative; z-index: 2; }
.intro-copy h2, .shop h2, .slow-copy h2, .sustain-copy h2, .newsletter h2 { font-size: clamp(54px, 6.4vw, 104px); line-height: .95; }
.intro-copy > p:last-child { width: 430px; max-width: 100%; margin: 38px 0 0 auto; font-family: var(--serif); font-size: 18px; line-height: 1.65; }
.intro-orbit { width: 330px; height: 330px; border: 1px solid rgba(49,14,19,.18); border-radius: 50%; display: grid; place-items: center; position: absolute; right: -100px; bottom: -70px; }
.intro-orbit::before, .intro-orbit::after { content: ""; position: absolute; border: 1px solid rgba(49,14,19,.12); border-radius: 50%; }.intro-orbit::before { inset: 32px; }.intro-orbit::after { inset: 66px; }.intro-orbit span { font-family: var(--serif); font-size: 90px; color: rgba(49,14,19,.13); }

.categories { padding: 0 2vw 110px; display: grid; grid-template-columns: 1.15fr .85fr .95fr; grid-template-rows: 610px; gap: 14px; background: var(--ivory); }
.category { position: relative; overflow: hidden; background: #1b1311; }
.category img { height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.6,.2,1); filter: brightness(.76) saturate(.8); }.category:nth-child(2) img { object-position: 58% center; }.category-cream img { filter: brightness(.82) saturate(.65); }.category:hover img { transform: scale(1.035); }
.category-overlay { position: absolute; inset: 0; padding: 28px; display: flex; flex-direction: column; color: var(--ivory); background: linear-gradient(0deg, rgba(20,4,6,.72), transparent 52%); }.category-overlay p { margin: 0; font-size: 9px; letter-spacing: .15em; }.category-overlay h3 { margin: auto 0 24px; font-family: var(--serif); font-size: clamp(38px, 3.4vw, 58px); font-weight: 400; line-height: .92; }.category-overlay a { display: flex; justify-content: space-between; padding-top: 14px; border-top: 1px solid rgba(244,233,215,.45); font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }

.shop { padding: 120px 5vw 95px; background: var(--paper); }
.shop-head { display: grid; grid-template-columns: 1.5fr 1fr; gap: 10vw; align-items: end; }.shop-intro { width: 360px; max-width: 100%; margin: 0 0 12px; font-family: var(--serif); font-size: 18px; line-height: 1.6; }
.shop-toolbar { margin-top: 70px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }.filters { display: flex; gap: 8px; flex-wrap: wrap; }.filter { border: 0; background: transparent; padding: 10px 14px; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; border-radius: 30px; }.filter.is-active { background: var(--cherry); color: var(--ivory); }.shop-toolbar > p { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.product-grid { margin-top: 32px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 56px 16px; }.product-card { cursor: pointer; outline-offset: 5px; transition: opacity .3s; }.product-card[hidden] { display: none; }.product-image { position: relative; overflow: hidden; background: #e4dbcf; aspect-ratio: 4/5; }.product-image img { height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.6,.2,1); }.product-card:nth-child(1) img { object-position: 55% 75%; }.product-card:nth-child(2) img { object-position: center 70%; }.product-card:nth-child(3) img { object-position: center 73%; }.product-card:nth-child(4) img { object-position: center 80%; }.product-card:hover .product-image img { transform: scale(1.025); }
.product-badge { position: absolute; z-index: 2; top: 16px; left: 16px; padding: 8px 11px; background: rgba(244,233,215,.92); color: var(--cherry); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }.quick-add { position: absolute; z-index: 2; right: 16px; bottom: 16px; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--ivory); color: var(--cherry); font-family: var(--serif); font-size: 24px; cursor: pointer; transform: translateY(70px); transition: transform .3s, background .2s; }.product-card:hover .quick-add, .quick-add:focus { transform: translateY(0); }.quick-add:hover { background: white; }
.product-info { padding: 17px 2px 0; display: flex; align-items: end; justify-content: space-between; gap: 20px; }.product-info p { margin: 0 0 8px; color: #806f65; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }.product-info h3 { margin: 0; font-family: var(--serif); font-size: 22px; font-weight: 400; }.product-info strong { font-size: 11px; font-weight: 500; white-space: nowrap; }.demo-note { margin: 60px 0 0; font-size: 9px; color: #806f65; letter-spacing: .12em; text-transform: uppercase; text-align: center; }

.slow-living { min-height: 790px; display: grid; grid-template-columns: 1.1fr .9fr; background: var(--cherry); color: var(--ivory); }.slow-image { height: 790px; overflow: hidden; }.slow-image img { height: 100%; object-fit: cover; object-position: center bottom; }.slow-copy { padding: 85px 8vw 80px 7vw; display: flex; flex-direction: column; justify-content: center; }.slow-copy .section-number { margin-bottom: auto; color: var(--ivory); }.slow-copy h2 { margin: 70px 0 35px; }.slow-copy > p:not(.section-number) { width: 400px; max-width: 100%; margin: 0 0 40px; font-family: var(--serif); font-size: 18px; line-height: 1.65; color: rgba(244,233,215,.78); }.slow-copy .text-link { align-self: flex-start; }

.flama-bar { min-height: 880px; position: relative; color: var(--ivory); display: flex; align-items: center; padding: 100px 9vw; overflow: hidden; }.flama-bar > img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center 60%; filter: saturate(.8); }.bar-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(24,4,8,.88), rgba(49,14,19,.35) 60%, rgba(49,14,19,.18)); }.bar-content { position: relative; z-index: 2; width: min(670px, 70vw); }.bar-content h2 { font-size: clamp(60px, 7vw, 116px); line-height: .9; }.bar-content > p:not(.eyebrow) { width: 390px; max-width: 100%; margin: 34px 0; font-family: var(--serif); font-size: 18px; line-height: 1.6; }.bar-stamp { position: absolute; z-index: 2; right: 4vw; bottom: 40px; width: 130px; height: 130px; border: 1px solid rgba(244,233,215,.5); border-radius: 50%; display: grid; place-items: center; text-align: center; font-size: 9px; letter-spacing: .17em; line-height: 1.7; }

.sustainability { padding: 130px 7vw 0; display: grid; grid-template-columns: .9fr 1.1fr; gap: 10vw; background: var(--ivory); }.sustain-copy { padding-top: 60px; }.sustain-copy h2 { margin-bottom: 36px; }.sustain-copy > p:not(.eyebrow) { width: 410px; max-width: 100%; margin: 0 0 40px; font-family: var(--serif); font-size: 18px; line-height: 1.6; }.sustain-image { height: 680px; position: relative; overflow: hidden; }.sustain-image img { height: 100%; object-fit: cover; }.material-note { position: absolute; left: 0; bottom: 0; width: 180px; height: 180px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; background: var(--cherry); color: var(--ivory); }.material-note strong { font-family: var(--serif); font-size: 48px; font-weight: 400; }.material-note span { font-size: 10px; letter-spacing: .15em; text-transform: uppercase; line-height: 1.4; }
.values { grid-column: 1 / -1; margin-top: 70px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.values p { margin: 0; padding: 25px 0; font-family: var(--serif); font-size: 20px; border-right: 1px solid var(--line); }.values p:last-child { border: 0; padding-left: 30px; }.values p:nth-child(2) { padding-left: 30px; }.values span { margin-right: 25px; font-family: var(--sans); font-size: 9px; }

.manifesto { padding: 160px 6vw; text-align: center; color: var(--ivory); background: var(--cherry); }.manifesto h2 { font-size: clamp(65px, 8vw, 130px); line-height: .9; }.manifesto > p:last-child { width: 500px; max-width: 100%; margin: 38px auto 0; font-family: var(--serif); font-size: 18px; line-height: 1.6; color: rgba(244,233,215,.75); }
.social-strip { height: 390px; display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; background: var(--paper); }.social-strip > a { overflow: hidden; position: relative; }.social-strip img { height: 100%; object-fit: cover; transition: transform .6s; }.social-strip a:hover img { transform: scale(1.04); }.social-cta { background: var(--ivory); color: var(--cherry); padding: 30px; display: flex; flex-direction: column; justify-content: space-between; text-align: center; }.social-cta span { font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }.social-cta strong { font-family: var(--serif); font-size: 40px; font-weight: 400; }.social-cta i { font-style: normal; font-size: 24px; }
.newsletter { padding: 110px 7vw; display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: 10vw; background: var(--paper); }.newsletter-form { display: flex; border-bottom: 1px solid var(--cherry); }.newsletter-form input { min-width: 0; flex: 1; padding: 18px 0; border: 0; outline: 0; background: transparent; color: var(--cherry); font-family: var(--serif); font-size: 17px; }.newsletter-form input::placeholder { color: #8b7569; }.newsletter-form button { border: 0; background: transparent; padding: 0; cursor: pointer; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }

footer { padding: 90px 5vw 30px; color: var(--ivory); background: #1d090c; }.footer-top { padding-bottom: 70px; display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid rgba(244,233,215,.18); }.footer-brand { font-size: clamp(65px, 10vw, 160px); }.footer-top p { margin: 0; font-family: var(--serif); font-size: 20px; line-height: 1.4; }.footer-grid { padding: 55px 0 80px; display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 6vw; }.footer-grid > div { display: flex; flex-direction: column; gap: 10px; }.footer-grid p, .footer-grid a { margin: 0; font-size: 12px; line-height: 1.7; color: rgba(244,233,215,.75); }.footer-grid .footer-label { margin-bottom: 15px; color: var(--ivory); font-size: 9px; letter-spacing: .17em; text-transform: uppercase; }.footer-grid small { opacity: .5; }.footer-bottom { padding-top: 25px; display: flex; justify-content: space-between; border-top: 1px solid rgba(244,233,215,.18); color: rgba(244,233,215,.45); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }

.cart { position: fixed; z-index: 50; right: 0; top: 0; width: min(440px, 100vw); height: 100dvh; padding: 32px; display: flex; flex-direction: column; color: var(--cherry); background: var(--ivory); transform: translateX(105%); transition: transform .4s cubic-bezier(.2,.7,.2,1); }.cart.is-open { transform: none; }.cart-head { padding-bottom: 25px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); }.cart-head p { margin: 0 0 6px; font-family: var(--serif); font-size: 30px; }.cart-subtitle { font-size: 10px; letter-spacing: .08em; }.cart-close, .dialog-close { border: 0; background: transparent; font-family: var(--serif); font-size: 34px; cursor: pointer; }.cart-items { flex: 1; overflow: auto; }.cart-empty { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.cart-empty span { font-size: 30px; }.cart-empty p { font-family: var(--serif); font-size: 28px; line-height: 1.15; }.cart-empty button { padding: 10px 0; border: 0; border-bottom: 1px solid var(--cherry); background: transparent; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.cart-line { padding: 18px 0; display: grid; grid-template-columns: 80px 1fr auto; gap: 14px; border-bottom: 1px solid var(--line); }.cart-line img { width: 80px; height: 100px; object-fit: cover; }.cart-line h4 { margin: 8px 0 7px; font-family: var(--serif); font-size: 18px; font-weight: 400; }.cart-line p { margin: 0; font-size: 9px; letter-spacing: .08em; }.cart-line button { align-self: start; border: 0; background: transparent; cursor: pointer; }.cart-foot { padding-top: 20px; border-top: 1px solid var(--line); }.cart-foot > div { display: flex; justify-content: space-between; margin-bottom: 20px; font-size: 12px; }.checkout { min-height: 54px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; color: var(--ivory); background: var(--cherry); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }.cart-foot small { display: block; margin-top: 12px; text-align: center; font-size: 9px; color: #7d6c62; }.page-scrim { position: fixed; z-index: 45; inset: 0; background: rgba(18,4,6,.64); opacity: 0; pointer-events: none; transition: opacity .3s; }.page-scrim.is-visible { opacity: 1; pointer-events: auto; }

.product-dialog { width: min(980px, 92vw); max-height: 90vh; padding: 0; border: 0; color: var(--ink); background: var(--paper); overflow: visible; }.product-dialog[open] { display: grid; grid-template-columns: 1fr 1fr; }.product-dialog::backdrop { background: rgba(18,4,6,.75); backdrop-filter: blur(4px); }.dialog-close { position: absolute; z-index: 3; right: 14px; top: 8px; }.dialog-image { min-height: 660px; overflow: hidden; }.dialog-image img { height: 100%; object-fit: cover; }.dialog-copy { padding: 75px 55px 45px; display: flex; flex-direction: column; }.dialog-copy h2 { font-size: clamp(45px, 5vw, 76px); line-height: .92; }.dialog-description { margin: 30px 0; font-family: var(--serif); font-size: 18px; line-height: 1.6; color: #725f54; }.dialog-notes { display: flex; flex-wrap: wrap; gap: 8px; }.dialog-notes span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 30px; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }.dialog-buy { margin-top: auto; padding-top: 30px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); }.dialog-price { font-family: var(--serif); font-size: 22px; font-weight: 400; }.dialog-copy > small { margin-top: 14px; color: #8b7569; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }.toast { position: fixed; z-index: 60; left: 50%; bottom: 28px; transform: translate(-50%, 100px); padding: 13px 20px; background: var(--ivory); color: var(--cherry); box-shadow: 0 10px 40px rgba(0,0,0,.2); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; opacity: 0; transition: transform .35s, opacity .35s; }.toast.is-visible { transform: translate(-50%, 0); opacity: 1; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto; height: 72px; }.desktop-nav, .desktop-contact { display: none; }.menu-button { display: block; }.header-actions { gap: 10px; }
  .mobile-nav { position: fixed; z-index: 23; inset: 30px 0 auto; padding: 100px 8vw 40px; display: flex; flex-direction: column; gap: 23px; color: var(--ivory); background: var(--cherry); transform: translateY(-110%); transition: transform .35s; }.mobile-nav.is-open { transform: none; }.mobile-nav a { font-family: var(--serif); font-size: 32px; }
  .hero { min-height: 760px; height: 100svh; padding: 120px 6vw 70px; align-items: end; }.hero::after { width: 100%; height: 61%; bottom: auto; background-position: 76% center; }.hero-shade { background: linear-gradient(0deg, rgba(35,9,13,.99) 0%, rgba(49,14,19,.96) 38%, rgba(49,14,19,.82) 49%, rgba(49,14,19,.18) 70%, transparent 82%); }.hero-content { width: 100%; margin: 0; }.hero-content h1 { font-size: clamp(55px, 15vw, 82px); }.hero-copy { font-size: 16px; margin: 24px 0 28px; }.hero-foot { display: none; }
  .intro { min-height: 600px; padding: 90px 6vw; display: block; }.intro .section-number { margin-bottom: 100px; }.intro-copy h2, .shop h2, .slow-copy h2, .sustain-copy h2, .newsletter h2 { font-size: clamp(48px, 12vw, 72px); }.intro-copy > p:last-child { margin-left: 0; }
  .categories { padding: 0 4vw 80px; grid-template-columns: 1fr 1fr; grid-template-rows: 540px 480px; }.category:first-child { grid-column: 1 / -1; }.category-overlay h3 { font-size: 40px; }
  .shop { padding: 90px 4vw 70px; }.shop-head { grid-template-columns: 1fr; }.shop-intro { margin-top: 25px; }.product-grid { grid-template-columns: repeat(2, 1fr); }.quick-add { transform: none; }
  .slow-living { grid-template-columns: 1fr; }.slow-image { height: 600px; }.slow-copy { min-height: 600px; padding: 70px 8vw; }.slow-copy .section-number { margin-bottom: 70px; }
  .flama-bar { min-height: 740px; padding: 80px 7vw; align-items: end; }.bar-content { width: 100%; }.bar-content h2 { font-size: clamp(52px, 12vw, 80px); }.bar-stamp { display: none; }
  .sustainability { padding: 90px 5vw 0; grid-template-columns: 1fr; gap: 60px; }.sustain-copy { padding-top: 0; }.sustain-image { height: 580px; }.values { margin-top: 10px; }
  .social-strip { height: 650px; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); }.social-strip > a:last-child { display: none; }.newsletter { grid-template-columns: 1fr; }.footer-grid { grid-template-columns: repeat(2, 1fr); }.footer-top { align-items: start; flex-direction: column; gap: 30px; }
}

@media (max-width: 560px) {
  .announcement { font-size: 8px; }.site-header { padding: 0 5vw; }.brand { font-size: 24px; }
  .hero-content .eyebrow { width: 250px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; }.button { width: 100%; }.hero-copy { width: 310px; }
  .intro { min-height: 610px; }.intro .section-number { margin-bottom: 80px; }.intro-copy > p:last-child { font-size: 16px; }.intro-orbit { width: 240px; height: 240px; }
  .categories { display: flex; overflow-x: auto; padding: 0 5vw 80px; scroll-snap-type: x mandatory; }.category { flex: 0 0 84vw; height: 530px; scroll-snap-align: center; }
  .shop-intro { font-size: 16px; }.shop-toolbar { align-items: flex-start; }.shop-toolbar > p { display: none; }.filters { gap: 2px; }.filter { padding: 9px 10px; }.product-grid { grid-template-columns: 1fr; gap: 42px; }.product-info h3 { font-size: 21px; }
  .slow-image { height: 510px; }.slow-copy { min-height: 570px; }.slow-copy > p:not(.section-number), .bar-content > p:not(.eyebrow), .sustain-copy > p:not(.eyebrow) { font-size: 16px; }
  .flama-bar { min-height: 720px; }.flama-bar > img { object-position: 56% center; }.bar-overlay { background: linear-gradient(0deg, rgba(29,5,9,.88), rgba(49,14,19,.14)); }
  .sustain-image { height: 510px; }.values { grid-template-columns: 1fr; }.values p, .values p:nth-child(2), .values p:last-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--line); }.values p:last-child { border-bottom: 0; }
  .manifesto { padding: 110px 5vw; }.manifesto h2 { font-size: 15vw; }.social-strip { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: 230px 230px; }.social-strip > a:nth-child(4) { display: none; }.social-cta strong { font-size: 28px; }
  .newsletter { padding: 85px 5vw; }.newsletter-form { display: block; border-bottom: 0; }.newsletter-form input { width: 100%; border-bottom: 1px solid var(--cherry); }.newsletter-form button { margin-top: 22px; }
  footer { padding: 70px 6vw 25px; }.footer-brand { font-size: 17vw; }.footer-grid { grid-template-columns: 1fr 1fr; gap: 45px 20px; }.footer-bottom { gap: 30px; }
  .cart { padding: 25px 20px; }.product-dialog { max-height: 92vh; overflow: auto; }.product-dialog[open] { display: block; }.dialog-image { min-height: 0; height: 45vh; }.dialog-copy { padding: 38px 25px 30px; }.dialog-copy h2 { font-size: 45px; }.dialog-buy { align-items: stretch; flex-direction: column; }.dialog-add { width: 100%; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } .reveal { opacity: 1; transform: none; } }
