:root {
  --ink: #11110f;
  --paper: #f5f1e9;
  --white: #fff;
  --signal: #ff4c2f;
  --blue: #2448ff;
  --line: rgba(17, 17, 15, .18);
  --muted: #66645e;
  --content: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 15px/1.55 Arial, Helvetica, sans-serif; }
a { color: inherit; }
button, input, select { font: inherit; }
img { max-width: 100%; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 10px 14px; transform: translateY(-160%); background: #fff; }
.skip-link:focus { transform: none; }
.announcement { padding: 8px 20px; background: var(--signal); color: #111; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-align: center; }
.site-header { display: grid; grid-template-columns: 180px 1fr auto; min-height: 76px; align-items: center; gap: 24px; padding: 0 clamp(18px, 4vw, 64px); border-bottom: 1px solid var(--line); background: rgba(245, 241, 233, .96); }
.wordmark { display: flex; align-items: baseline; gap: 8px; text-decoration: none; }
.wordmark span { font-size: 25px; font-weight: 900; letter-spacing: -.08em; }
.wordmark small { color: var(--signal); font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.site-nav { display: flex; justify-content: center; gap: clamp(18px, 3vw, 42px); }
.site-nav a, .header-actions a { font-size: 12px; font-weight: 800; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.site-nav a:hover, .header-actions a:hover { text-decoration: underline; text-underline-offset: 5px; }
.header-actions { display: flex; align-items: center; gap: 22px; }
.cart-link span { display: inline-grid; min-width: 22px; height: 22px; place-items: center; margin-left: 5px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 10px; }
.menu-button { display: none; }
.eyebrow { margin: 0 0 18px; font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.hero { display: grid; grid-template-columns: minmax(0, .95fr) minmax(480px, 1.05fr); min-height: 730px; }
.hero-copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(58px, 8vw, 130px) clamp(24px, 7vw, 110px); }
.hero h1 { margin: 0; font-size: clamp(64px, 8.5vw, 138px); font-weight: 900; letter-spacing: -.095em; line-height: .78; text-transform: uppercase; }
.hero-lead { max-width: 610px; margin: 42px 0 0; color: var(--muted); font-size: clamp(17px, 1.5vw, 22px); }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; margin-top: 38px; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 14px 24px; border: 1px solid var(--ink); background: transparent; font-size: 12px; font-weight: 900; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.button--dark { background: var(--ink); color: #fff; }
.button--dark:hover { background: var(--blue); border-color: var(--blue); }
.button--full { width: 100%; }
.button:disabled { cursor: not-allowed; opacity: .42; }
.text-link { font-size: 12px; font-weight: 900; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.hero-art { position: relative; overflow: hidden; min-width: 0; min-height: 620px; background: var(--blue); color: #fff; }
.hero-art::before { position: absolute; top: 9%; left: 18%; width: 62%; height: 78%; border: 2px solid rgba(255,255,255,.55); border-radius: 48% 48% 8% 8%; content: ""; transform: rotate(7deg); }
.hero-art::after { position: absolute; right: -8%; bottom: -10%; width: 58%; height: 56%; border-radius: 50%; background: var(--signal); content: ""; }
.hero-art__number { position: absolute; z-index: 1; top: 6%; left: 5%; font-size: clamp(130px, 20vw, 300px); font-weight: 900; letter-spacing: -.12em; line-height: .8; }
.hero-art__copy { position: absolute; z-index: 2; right: 7%; bottom: 9%; font-size: clamp(44px, 6vw, 92px); font-weight: 900; letter-spacing: -.08em; line-height: .8; text-align: right; }
.hero-art__note { position: absolute; z-index: 3; top: 50%; left: 8%; padding: 8px 10px; background: var(--paper); color: var(--ink); font-size: 10px; font-weight: 900; letter-spacing: .12em; transform: rotate(-90deg) translateX(-50%); transform-origin: left top; }
.category-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.category-strip a { display: grid; grid-template-columns: auto 1fr; gap: 5px 18px; padding: 28px clamp(20px, 4vw, 56px); border-right: 1px solid var(--line); font-size: clamp(20px, 2.4vw, 36px); font-weight: 900; letter-spacing: -.05em; text-decoration: none; text-transform: uppercase; }
.category-strip a:last-child { border: 0; }
.category-strip span { color: var(--signal); font-size: 10px; letter-spacing: .1em; }
.category-strip strong { grid-column: 2; color: var(--muted); font-size: 10px; letter-spacing: .1em; }
.product-section, .catalog-shell { padding: clamp(64px, 8vw, 118px) clamp(18px, 4vw, 64px); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 0 auto 44px; max-width: var(--content); }
.section-heading h2, .catalog-hero h1 { margin: 0; font-size: clamp(48px, 6vw, 92px); font-weight: 900; letter-spacing: -.08em; line-height: .9; text-transform: uppercase; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 50px 16px; max-width: var(--content); margin: 0 auto; }
.product-card { min-width: 0; }
.product-card__media { position: relative; display: block; overflow: hidden; text-decoration: none; }
.product-art { position: relative; overflow: hidden; aspect-ratio: 4 / 5; background: #ddd; isolation: isolate; }
.product-art img { width: 100%; height: 100%; object-fit: cover; }
.product-art::before { position: absolute; z-index: -1; top: 18%; left: 21%; width: 58%; height: 58%; border: 2px solid currentColor; border-radius: 46% 54% 18% 25%; content: ""; transform: rotate(-12deg); opacity: .55; }
.product-art::after { position: absolute; z-index: -2; right: -18%; bottom: -16%; width: 70%; height: 70%; border-radius: 50%; background: rgba(255,255,255,.35); content: ""; }
.product-card__media:hover .product-art { transform: scale(.985); }
.product-art { transition: transform .25s ease; }
.art-index, .art-label, .art-category { position: absolute; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.art-index { top: 18px; left: 18px; }
.art-label { top: 48%; left: 50%; font-size: clamp(13px, 1.3vw, 18px); line-height: 1.05; text-align: center; transform: translate(-50%, -50%); }
.art-category { right: 14px; bottom: 18px; writing-mode: vertical-rl; }
.tone-sand,.tone-khaki,.tone-oat,.tone-cream,.tone-white { background: #ddd1bb; color: #221e18; }
.tone-ink,.tone-black,.tone-slate,.tone-navy { background: #171d2a; color: #f7f2e8; }
.tone-clay,.tone-rust,.tone-coral,.tone-orange { background: #dc6549; color: #26140e; }
.tone-sage,.tone-olive,.tone-forest,.tone-lime { background: #718a64; color: #101c10; }
.tone-wine,.tone-plum,.tone-oxblood,.tone-burgundy { background: #6d2941; color: #fff0e9; }
.tone-sky,.tone-denim,.tone-cobalt,.tone-azure,.tone-aqua { background: #345fe8; color: #fff; }
.tone-violet { background: #7858b8; color: #fff; }
.tone-ash,.tone-silver { background: #b9bab7; color: #1c1c1a; }
.tone-espresso { background: #49362f; color: #f7eee2; }
.product-badge { position: absolute; top: 14px; right: 14px; padding: 7px 9px; background: var(--paper); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.product-card__body { padding-top: 16px; }
.product-meta { margin: 0 0 6px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-card h2 { margin: 0; font-size: 16px; letter-spacing: -.03em; }
.product-card h2 a { text-decoration: none; }
.product-price { display: flex; gap: 10px; margin: 7px 0 10px; font-weight: 700; }
.product-price del { color: var(--muted); }
.swatches { display: flex; gap: 5px; }
.swatches span { display: grid; width: 18px; height: 18px; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: 7px; font-weight: 900; }
.service-band { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--ink); color: #fff; }
.service-band article { min-height: 270px; padding: 42px; border-right: 1px solid rgba(255,255,255,.25); }
.service-band span { color: var(--signal); font-size: 11px; font-weight: 900; }
.service-band h3 { margin: 70px 0 10px; font-size: 22px; text-transform: uppercase; }
.service-band p { max-width: 360px; margin: 0; color: rgba(255,255,255,.62); }
.catalog-hero { padding: 90px clamp(18px, 4vw, 64px) 70px; border-bottom: 1px solid var(--line); }
.catalog-hero p:last-child { max-width: 620px; color: var(--muted); font-size: 18px; }
.catalog-tools { display: flex; justify-content: space-between; gap: 20px; max-width: var(--content); margin: 0 auto 38px; }
.catalog-count { margin: 0; text-transform: uppercase; }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-button { padding: 9px 13px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
.filter-button.is-active { background: var(--ink); color: #fff; }
.breadcrumbs { display: flex; gap: 10px; padding: 22px clamp(18px, 4vw, 64px); color: var(--muted); font-size: 11px; text-transform: uppercase; }
.product-detail { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(420px, .75fr); gap: clamp(35px, 6vw, 96px); padding: 20px clamp(18px, 4vw, 64px) 100px; }
.product-gallery > .product-art { min-height: 650px; aspect-ratio: 5 / 6; }
.gallery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.mini-art { display: grid; min-height: 260px; place-items: center; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.product-buybox { position: sticky; top: 20px; align-self: start; padding: 16px 0; }
.product-buybox h1 { margin: 10px 0 14px; font-size: clamp(42px, 4.5vw, 74px); font-weight: 900; letter-spacing: -.075em; line-height: .9; text-transform: uppercase; }
.detail-price { font-size: 18px; font-weight: 800; }
.detail-description { max-width: 580px; color: var(--muted); font-size: 17px; }
.option-group { margin: 30px 0 0; padding: 0; border: 0; }
.option-group legend { display: flex; width: 100%; justify-content: space-between; margin-bottom: 12px; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.option-row, .size-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.option-chip, .size-chip { min-height: 42px; padding: 9px 13px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
.option-chip.is-selected, .size-chip.is-selected { border-color: var(--ink); background: var(--ink); color: #fff; }
.selection-message { min-height: 24px; margin: 18px 0 8px; color: var(--signal); font-size: 12px; font-weight: 800; }
.product-buybox details { border-bottom: 1px solid var(--line); }
.product-buybox summary { padding: 20px 0; cursor: pointer; font-weight: 800; text-transform: uppercase; }
.product-buybox details p { color: var(--muted); }
.site-footer { display: grid; grid-template-columns: 1.6fr .7fr .7fr; gap: 50px; padding: 72px clamp(18px, 4vw, 64px) 26px; background: #d9d0c0; }
.site-footer h2 { max-width: 720px; margin: 0; font-size: clamp(38px, 5vw, 76px); letter-spacing: -.07em; line-height: .9; text-transform: uppercase; }
.footer-intro > p:last-child { max-width: 540px; color: var(--muted); }
.footer-label { font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.site-footer > div:not(.footer-intro):not(.footer-bottom) { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.footer-bottom { display: flex; grid-column: 1 / -1; justify-content: space-between; padding-top: 28px; border-top: 1px solid var(--line); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.page-hero { padding: 90px clamp(18px, 5vw, 76px); border-bottom: 1px solid var(--line); }
.page-hero--compact { padding-bottom: 58px; }
.page-hero h1 { margin: 0; font-size: clamp(58px, 9vw, 140px); font-weight: 900; letter-spacing: -.09em; line-height: .8; text-transform: uppercase; }
.page-hero > p:last-child { max-width: 680px; margin: 32px 0 0; color: var(--muted); font-size: 18px; }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(340px, .55fr); gap: clamp(40px, 7vw, 110px); padding: 68px clamp(18px, 5vw, 76px) 110px; }
.cart-items { border-top: 1px solid var(--line); }
.cart-item { display: grid; grid-template-columns: 170px 1fr auto; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.cart-thumb { display: grid; aspect-ratio: 4 / 5; place-items: center; text-decoration: none; }
.cart-thumb span { font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.cart-item__copy h2 { margin: 5px 0 8px; font-size: 23px; letter-spacing: -.045em; }
.cart-item__copy h2 a { text-decoration: none; }
.cart-variant { margin: 0 0 22px; color: var(--muted); font-size: 12px; }
.cart-controls { display: flex; align-items: end; gap: 20px; }
.cart-controls label { display: flex; flex-direction: column; gap: 5px; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.cart-controls select { min-width: 66px; height: 38px; border: 1px solid var(--line); background: transparent; }
.remove-button { padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; cursor: pointer; font-size: 11px; }
.cart-item__price { margin: 0; font-weight: 800; white-space: nowrap; }
.order-summary, .checkout-summary { align-self: start; padding: 32px; border: 1px solid var(--line); background: rgba(255,255,255,.42); }
.order-summary { position: sticky; top: 22px; }
.order-summary dl, .checkout-summary dl { margin: 0; }
.order-summary dl div, .checkout-summary dl div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; }
.order-summary dt, .order-summary dd, .checkout-summary dt, .checkout-summary dd { margin: 0; }
.summary-total { margin-top: 12px; padding-top: 20px !important; border-top: 1px solid var(--line); font-size: 18px; font-weight: 900; }
.summary-note { color: var(--muted); font-size: 11px; }
.continue-link { display: inline-block; margin-top: 22px; }
.is-disabled { pointer-events: none; opacity: .42; }
.empty-state { padding: 72px 0; }
.empty-state h2 { max-width: 680px; margin: 0 0 30px; font-size: clamp(45px, 6vw, 82px); letter-spacing: -.075em; line-height: .9; text-transform: uppercase; }
.checkout-header { display: flex; align-items: center; justify-content: space-between; padding: 28px clamp(18px, 5vw, 76px); border-bottom: 1px solid var(--line); }
.checkout-shell { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); gap: clamp(45px, 7vw, 110px); max-width: 1320px; margin: 0 auto; padding: 62px 24px 110px; }
.checkout-progress { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 70px; border-top: 1px solid var(--line); }
.checkout-progress span { padding: 12px 10px 0 0; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.checkout-progress span.is-current { border-top: 3px solid var(--signal); color: var(--ink); transform: translateY(-1px); }
.checkout-progress span.is-complete { border-top: 3px solid var(--ink); color: var(--ink); transform: translateY(-1px); }
.checkout-step { animation: step-in .28s ease both; }
.checkout-step h1 { max-width: 760px; margin: 0 0 32px; font-size: clamp(54px, 7vw, 96px); font-weight: 900; letter-spacing: -.085em; line-height: .84; text-transform: uppercase; }
.privacy-callout { margin: 0 0 28px; padding: 14px 16px; border-left: 4px solid var(--signal); background: #ebe4d8; font-size: 11px; font-weight: 700; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 14px; margin-bottom: 24px; }
.field { display: flex; flex-direction: column; gap: 7px; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.field span { font-weight: 400; }
.field--wide { grid-column: 1 / -1; }
.field input, .field select { width: 100%; height: 50px; padding: 0 12px; border: 1px solid var(--line); border-radius: 0; background: rgba(255,255,255,.65); color: var(--ink); }
.field input:focus, .field select:focus { outline: 3px solid rgba(36,72,255,.23); border-color: var(--blue); }
.form-error { min-height: 22px; color: #a62913; font-size: 12px; font-weight: 800; }
.shipping-options { display: grid; gap: 12px; }
.shipping-option { display: grid; grid-template-columns: auto 1fr auto; gap: 15px; align-items: center; padding: 20px; border: 1px solid var(--line); background: rgba(255,255,255,.42); cursor: pointer; }
.shipping-option:has(input:checked) { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.shipping-option input { width: 18px; height: 18px; accent-color: var(--ink); }
.shipping-option span { display: flex; flex-direction: column; gap: 3px; }
.shipping-option small { color: var(--muted); }
.checkout-actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 34px; }
.checkout-actions button.text-link { padding: 0; border: 0; background: transparent; cursor: pointer; }
.review-block { border-top: 1px solid var(--line); }
.review-block > div { display: grid; grid-template-columns: 90px 1fr auto; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.review-block span { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.review-block p { margin: 0; }
.review-block button { align-self: start; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.payment-panel { padding: 28px; border: 1px solid var(--line); background: #ebe4d8; }
.payment-trust { margin: 24px 0 0; padding: 20px; border: 1px solid var(--ink); background: var(--paper); }
.payment-trust__heading { display: flex; gap: 12px; align-items: center; }
.payment-trust__heading div { display: flex; flex-direction: column; gap: 2px; }
.payment-trust__heading strong { font-size: 13px; text-transform: uppercase; }
.payment-trust__heading small { color: var(--muted); font-size: 10px; }
.payment-trust__secure { padding: 7px 8px; background: var(--ink); color: var(--paper); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.payment-marks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 18px 0; padding: 0; list-style: none; }
.payment-mark { display: flex; min-height: 42px; align-items: center; justify-content: center; padding: 8px; border: 1px solid var(--line); background: #fff; color: #111; font-size: 12px; font-weight: 900; line-height: 1; white-space: nowrap; }
.payment-mark--paypal { color: #003087; font-size: 15px; font-style: italic; letter-spacing: -.04em; }
.payment-mark--visa { color: #1434cb; font-size: 16px; font-style: italic; letter-spacing: .03em; }
.payment-mark--mastercard { gap: 5px; font-size: 9px; letter-spacing: -.04em; }
.payment-mark--mastercard > span { position: relative; width: 24px; height: 15px; flex: 0 0 auto; }
.payment-mark--mastercard > span::before, .payment-mark--mastercard > span::after { position: absolute; top: 0; width: 15px; height: 15px; border-radius: 50%; content: ""; opacity: .92; }
.payment-mark--mastercard > span::before { left: 0; background: #eb001b; }
.payment-mark--mastercard > span::after { right: 0; background: #f79e1b; }
.payment-mark--apple { font-size: 13px; letter-spacing: -.03em; }
.payment-trust__facts { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.payment-trust__facts span { position: relative; padding: 12px 12px 12px 22px; font-size: 9px; font-weight: 800; line-height: 1.35; }
.payment-trust__facts span + span { border-left: 1px solid var(--line); }
.payment-trust__facts span::before { position: absolute; left: 7px; color: #178447; content: "✓"; }
.payment-trust__note { margin: 12px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.checkout-consent { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; margin-top: 22px; font-size: 13px; line-height: 1.5; }
.checkout-consent input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--ink); }
.checkout-consent a { color: inherit; text-underline-offset: 3px; }
.checkout-summary { position: sticky; top: 22px; }
.checkout-item { display: grid; grid-template-columns: 54px 1fr auto; gap: 13px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.checkout-thumb { display: grid; width: 54px; height: 68px; place-items: end; padding: 5px; font-size: 9px; font-weight: 900; }
.checkout-item div:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.checkout-item strong { font-size: 12px; }
.checkout-item small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.checkout-item b { font-size: 11px; white-space: nowrap; }
.payment-page { max-width: 980px; min-height: 670px; margin: 0 auto; padding: clamp(76px, 10vw, 140px) 24px; }
.payment-page h1 { max-width: 900px; margin: 0; font-size: clamp(62px, 10vw, 132px); font-weight: 900; letter-spacing: -.095em; line-height: .78; text-transform: uppercase; }
.payment-lead { max-width: 760px; margin: 42px 0; color: var(--muted); font-size: 19px; }
.payment-page > .payment-trust { margin: 0 0 28px; }
.payment-status { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 38px; padding: 22px; border: 1px solid var(--line); background: #ebe4d8; }
.payment-status p { margin: 3px 0 0; color: var(--muted); }
.status-dot { width: 12px; height: 12px; flex: 0 0 auto; margin-top: 5px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 6px rgba(255,76,47,.15); }
.status-dot.is-ready { background: #178447; box-shadow: 0 0 0 6px rgba(23,132,71,.15); }
.info-hero { padding: clamp(78px, 10vw, 150px) clamp(18px, 6vw, 92px) 70px; border-bottom: 1px solid var(--line); }
.info-hero h1 { max-width: 1150px; margin: 0; font-size: clamp(62px, 10vw, 150px); font-weight: 900; letter-spacing: -.095em; line-height: .78; text-transform: uppercase; }
.info-hero > p:last-child { max-width: 720px; margin: 38px 0 0; color: var(--muted); font-size: 19px; }
.info-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(270px, .7fr); gap: clamp(50px, 10vw, 160px); max-width: 1240px; margin: 0 auto; padding: 80px 24px 120px; }
.info-prose { max-width: 820px; }
.info-prose h2 { margin: 54px 0 16px; font-size: clamp(30px, 4vw, 52px); letter-spacing: -.06em; line-height: .95; text-transform: uppercase; }
.info-prose h2:first-child { margin-top: 0; }
.info-prose p, .info-prose li { color: #4e4d48; font-size: 17px; }
.info-prose blockquote { margin: 0 0 36px; padding: 18px 22px; border-left: 4px solid var(--signal); background: #ebe4d8; }
.info-prose blockquote p { margin: 0; color: var(--ink); font-size: 14px; font-weight: 800; }
.info-prose table { width: 100%; border-collapse: collapse; margin: 26px 0 42px; font-size: 13px; }
.info-prose th, .info-prose td { padding: 12px 10px; border-bottom: 1px solid var(--line); text-align: left; }
.info-prose th { background: #e4ddcf; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.replace-checklist { align-self: start; padding: 28px; border-top: 5px solid var(--signal); background: #ebe4d8; }
.replace-checklist ul { margin: 0; padding-left: 18px; }
.replace-checklist li + li { margin-top: 12px; }
.search-page { min-height: 620px; padding: 70px clamp(18px, 4vw, 64px) 120px; }
.search-field { display: flex; max-width: var(--content); flex-direction: column; gap: 10px; margin: 0 auto; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.search-field input { height: 72px; padding: 0 18px; border: 0; border-bottom: 3px solid var(--ink); background: transparent; color: var(--ink); font-size: clamp(24px, 4vw, 48px); font-weight: 800; letter-spacing: -.04em; }
.search-field input:focus { outline: 3px solid rgba(36,72,255,.23); outline-offset: 5px; }
.search-status { max-width: var(--content); margin: 24px auto 38px; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }

@keyframes step-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto auto; }
  .site-nav { display: none; grid-column: 1 / -1; justify-content: flex-start; padding-bottom: 20px; }
  .site-nav.is-open { display: flex; }
  .menu-button { display: inline-flex; border: 0; background: transparent; font-size: 11px; font-weight: 900; text-transform: uppercase; }
  .hero { grid-template-columns: 1fr; }
  .hero-art { min-height: 600px; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .product-detail { grid-template-columns: 1fr; }
  .product-buybox { position: static; }
  .cart-layout, .checkout-shell { grid-template-columns: 1fr; }
  .order-summary, .checkout-summary { position: static; }
  .info-layout { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .announcement { font-size: 8px; letter-spacing: .08em; }
  .site-header { grid-template-columns: 1fr auto auto; min-height: 68px; gap: 14px; }
  .header-actions > a:first-child { display: none; }
  .menu-button { grid-column: 2; grid-row: 1; }
  .header-actions { grid-column: 3; grid-row: 1; }
  .hero { min-height: 0; }
  .hero-copy { padding: 58px 18px 64px; }
  .hero h1 { font-size: clamp(54px, 18vw, 92px); }
  .hero-art { min-height: 470px; }
  .category-strip, .service-band { grid-template-columns: 1fr; }
  .category-strip a, .service-band article { border-right: 0; border-bottom: 1px solid var(--line); }
  .section-heading, .catalog-tools { align-items: flex-start; flex-direction: column; }
  .product-grid { gap: 34px 8px; }
  .product-card h2 { font-size: 14px; }
  .product-meta { font-size: 7px; }
  .product-detail { padding-right: 14px; padding-left: 14px; }
  .product-gallery > .product-art { min-height: 0; }
  .page-hero { padding-right: 18px; padding-left: 18px; }
  .cart-layout { padding-right: 18px; padding-left: 18px; }
  .cart-item { grid-template-columns: 100px 1fr; gap: 16px; }
  .cart-item__price { grid-column: 2; }
  .field-grid { grid-template-columns: 1fr; }
  .field, .field--wide { grid-column: 1; }
  .checkout-progress { gap: 5px; }
  .checkout-progress span { font-size: 8px; }
  .checkout-actions { align-items: stretch; flex-direction: column-reverse; }
  .review-block > div { grid-template-columns: 70px 1fr; }
  .review-block button { grid-column: 2; justify-self: start; }
  .payment-marks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .payment-trust__facts { grid-template-columns: 1fr; }
  .payment-trust__facts span + span { border-top: 1px solid var(--line); border-left: 0; }
  .info-hero { padding-right: 18px; padding-left: 18px; }
  .info-layout { padding-right: 18px; padding-left: 18px; }
  .info-prose { overflow-x: auto; }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .footer-intro, .footer-bottom { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
