/* =========================================================================
   Valley Shawls — RIMOWA-base design system
   Voice: light grotesque (Inter Tight / Inter), single family.
   Palette: RIMOWA graphite + aluminium grey + white; product photos provide colour.
   Patterns: uppercase tracked labels, underlined text CTAs, hairline lines,
   generous whitespace (120px desktop / 80px mobile), no radius/shadow/gradient.
   ========================================================================= */

:root{
  /* Typography — grotesque only (RIMOWA voice) */
  --font-display:"Inter Tight","Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --font-body:"Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;

  /* Palette — RIMOWA graphite / aluminium / white */
  --ink:#17191a;
  --ink-soft:#6f7071;
  --ink-faint:#8b8c8d;
  --bg:#f4f4f4;
  --bg-soft:#e8e8e8;
  --paper:#ffffff;
  --line:rgba(23,25,26,.16);
  --line-strong:rgba(23,25,26,.48);
  --accent:#17191a;
  --on-dark:#f4f4f4;
  --on-dark-soft:#b9babc;

  /* Type scale */
  --fs-label:11px;
  --fs-btn:12px;
  --fs-small:13px;
  --fs-body:15px;
  --fs-lede:17px;
  --fs-sub:20px;
  --fs-h2:clamp(28px,3.6vw,46px);
  --fs-h1:clamp(42px,7vw,96px);

  /* Rhythm */
  --section:120px;
  --section-m:80px;
  --gutter:clamp(20px,4.5vw,56px);
  --max:1440px;
  --max-large:1680px;

  --ls-label:.2em;
  --ls-btn:.14em;
  --ls-display:-.022em;
  --lh-heading:1.08;
  --lh-body:1.6;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:400 var(--fs-body)/var(--lh-body) var(--font-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* Editorial site width: keep the storefront centered instead of stretching on ultrawide screens. */
.site-header,.hero,.section,.footer{width:100%;max-width:var(--max);margin-inline:auto}
img{display:block;width:100%;height:auto}
a{color:inherit}
button,a{touch-action:manipulation}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:300;letter-spacing:var(--ls-display)}

.wrap{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--gutter)}
.wrap-wide{width:min(100%,var(--max-large));margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}

/* Eyebrow — the signature RIMOWA label */
.eyebrow{
  margin:0 0 22px;color:var(--ink-soft);
  font:400 var(--fs-label)/1.5 var(--font-body);
  letter-spacing:var(--ls-label);text-transform:uppercase;
}

/* Underlined text CTA — primary RIMOWA interaction */
.cta{
  display:inline-flex;align-items:center;gap:8px;
  font:400 var(--fs-btn)/1 var(--font-body);
  letter-spacing:var(--ls-btn);text-transform:uppercase;
  color:var(--ink);
  text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;
  text-decoration-color:var(--line-strong);
  transition:color .2s ease,text-decoration-color .2s ease;
}
.cta:hover,.cta:focus-visible{color:var(--accent);text-decoration-color:var(--accent)}

/* Skip link */
.skip-link{
  position:fixed;left:12px;top:8px;z-index:100;
  background:var(--ink);color:var(--on-dark);padding:12px 16px;
  transform:translateY(-150%);transition:transform .2s ease;
  font-size:var(--fs-btn);text-decoration:none;
}
.skip-link:focus{transform:none}

/* =========================================================================
   Header
   ========================================================================= */
.site-header{
  position:sticky;top:0;z-index:40;
  display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
  min-height:72px;padding:10px var(--gutter);
  background:rgba(244,244,244,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
}
.brand{text-decoration:none;display:inline-flex;align-items:center;gap:12px;min-height:44px}
.brand img{
  width:auto;height:50px;max-width:100%;background:transparent;
  /* Keep the artwork crisp. A glow here makes the fine logo strokes blur. */
  filter:none;opacity:1;
}
.desktop-nav{justify-self:center;display:flex;gap:clamp(22px,3.4vw,48px)}
.desktop-nav a{
  min-height:44px;display:inline-flex;align-items:center;
  text-decoration:none;position:relative;
  font:400 14px/1 var(--font-body);letter-spacing:.02em;color:var(--ink);
}
.desktop-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:var(--ink);
  transition:right .24s ease;
}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{right:0}

.lang-switch{position:relative}
.lang-toggle{
  display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
  padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;
  transition:background .18s ease;
}
.lang-toggle:hover{background:rgba(23,25,26,.07)}
.lang-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.lang-menu{
  position:absolute;top:calc(100% + 10px);right:0;z-index:50;min-width:172px;
  margin:0;padding:8px;list-style:none;background:var(--paper);border:1px solid var(--line);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.lang-menu.is-open{opacity:1;visibility:visible;transform:none}
.lang-menu li{margin:0}
.lang-menu a{display:block;padding:10px 14px;text-decoration:none;color:var(--ink-soft);font-size:13.5px}
.lang-menu a:hover{color:var(--ink);background:rgba(23,25,26,.05)}
.lang-menu a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:4px}

.menu-button,.mobile-menu{display:none}

/* =========================================================================
   Hero — full-bleed dark photo, left-aligned copy, underlined CTAs
   ========================================================================= */
.hero{
  position:relative;min-height:min(88vh,900px);display:block;
  background:var(--ink);color:var(--on-dark);
}
.hero-image{position:absolute;inset:0;overflow:hidden}
.hero-image picture,.hero-image img{width:100%;height:100%}
.hero-image img{object-fit:cover;object-position:center top;filter:saturate(.94) contrast(1.03)}
.hero-image::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(23,25,26,.78) 0%,rgba(23,25,26,.46) 44%,rgba(23,25,26,.06) 78%);
}
.hero-copy{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  max-width:min(680px,60%);padding:clamp(48px,7vw,120px) clamp(24px,7vw,110px);
  display:flex;flex-direction:column;align-items:flex-start;
}
.hero .eyebrow{color:#bfc0c1;margin:0 0 24px}
.hero h1{max-width:16ch;margin:0;font-size:var(--fs-h1);line-height:1.02;color:var(--on-dark)}
.hero-lede{
  max-width:44ch;margin:26px 0 0;color:#d6d6d7;
  font:300 var(--fs-lede)/1.55 var(--font-body);
}
.hero-actions{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;margin-top:40px}
.hero-actions .cta,
.hero-actions .button{
  color:var(--on-dark);text-decoration-color:rgba(244,244,244,.5);
}
.hero-actions .cta:hover,
.hero-actions .button:hover{color:#fff;text-decoration-color:#fff}
.quiet-offer{margin:34px 0 0;color:#afb0b1;font:300 var(--fs-small)/1.5 var(--font-body)}

/* =========================================================================
   Intro — editorial statement
   ========================================================================= */
.intro{
  background:var(--ink);
  color:var(--on-dark);
  border-bottom:1px solid rgba(244,244,244,.16);
}
.intro-grid{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:clamp(34px,8vw,130px);align-items:end;
}
.intro h2{margin:0;font-size:var(--fs-h2);line-height:var(--lh-heading)}
.intro-grid>p{max-width:50ch;margin:0;color:var(--on-dark-soft);font:300 var(--fs-lede)/1.65 var(--font-body)}

/* =========================================================================
   Sections — shared heading
   ========================================================================= */
.section-heading{
  display:grid;grid-template-columns:1fr minmax(280px,.5fr);
  gap:10px 48px;align-items:end;margin-bottom:clamp(44px,6vw,80px);
}
.section-heading .eyebrow{grid-column:1/-1;margin-bottom:6px}
.section-heading h2{margin:0;font-size:var(--fs-h2);line-height:var(--lh-heading)}
.section-heading>p:last-child{margin:0;color:var(--ink-soft);font:300 var(--fs-body)/1.6 var(--font-body)}

/* =========================================================================
   Collections — products as objects, clean grid
   ========================================================================= */
.collection-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(56px,7vw,96px) clamp(24px,3vw,44px);
}
.collection-card{align-self:start}
.collection-grid > .collection-card{order:0}
/* Marked layout: Himalayan Throws + Cashmere share the first row. */
.collection-grid > [data-collection-card="himalayan"]{order:-2}
.collection-grid > [data-collection-card="cashmere"]{order:-1}
.collection-grid > [data-collection-card="lamb"],
.collection-grid > [data-collection-card="basoli"]{order:0}
.collection-grid > .collection-card:first-child{order:1}
.collection-card-large{margin-top:clamp(48px,8vw,120px)}
.collection-grid > [data-collection-card="himalayan"],
.collection-grid > [data-collection-card="cashmere"]{
  align-self:start;display:block;margin-top:0;
}
.collection-card picture{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--bg-soft)}
.collection-card img{height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1),filter .3s ease}
.collection-card picture.pashmina-ad{aspect-ratio:2797/2120;background:#17191a}
.collection-card picture.pashmina-ad img{object-fit:contain}
.collection-card[data-collection-card="lamb"] picture{
  width:100%;height:auto;aspect-ratio:4/5;overflow:hidden;
}
.collection-card[data-collection-card="lamb"] picture img{
  display:block;width:100%;height:100%;min-height:100%;
  object-fit:cover;object-position:center top;filter:none;
}
.collection-card[data-collection-card="lamb"]:hover img{filter:none}
.collection-card:hover img{transform:scale(1.02)}
.card-copy{padding:26px 4px 0}
.collection-grid > [data-collection-card="himalayan"] .card-copy,
.collection-grid > [data-collection-card="cashmere"] .card-copy{
  flex:1;display:flex;flex-direction:column;
}
.card-meta{
  margin:0 0 9px;color:var(--ink-soft);
  font:400 var(--fs-label)/1.5 var(--font-body);
  letter-spacing:var(--ls-label);text-transform:uppercase;
}
.card-copy h3{margin:0;font-size:clamp(1.5rem,2vw,2rem);font-weight:300;line-height:1.1}
.card-copy>p:not(.card-meta){max-width:50ch;margin:13px 0 18px;color:var(--ink-soft)}
.card-subtitle{margin:5px 0 0;color:var(--ink-faint);font-size:var(--fs-small)}
.card-copy a{
  min-height:44px;display:inline-flex;align-items:center;gap:8px;
  font:400 var(--fs-btn)/1 var(--font-body);letter-spacing:var(--ls-btn);text-transform:uppercase;
  text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;text-decoration-color:var(--line-strong);
}
.card-copy a:hover{color:var(--accent);text-decoration-color:var(--accent)}

.item-palette{margin:22px 0 18px;padding-top:18px;border-top:1px solid var(--line)}
.item-palette>p{margin:0 0 12px;font:400 var(--fs-label)/1.4 var(--font-body);letter-spacing:var(--ls-label);text-transform:uppercase}
.palette-sub{display:block;margin-top:2px;color:var(--ink-faint);font-size:10px;font-weight:400;letter-spacing:.05em;text-transform:none}
.palette-swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px}
.palette-swatches span{
  min-width:0;min-height:44px;display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;
  padding:5px 6px;border:1px solid var(--line);background:var(--paper);
}
.palette-swatches i{
  display:block;width:26px;height:26px;border:1px solid rgba(244,244,244,.28);border-radius:50%;
  background-color:var(--swatch) !important;
  box-shadow:inset 0 0 0 1px rgba(23,25,26,.12)
}
.palette-swatches i[data-melange]{
  background-color:var(--swatch) !important;
  background-image:linear-gradient(90deg,var(--swatch) 0 50%,var(--swatch2) 50% 100%) !important
}
.palette-swatches b{overflow:hidden;font:400 11px/1.2 var(--font-body);text-overflow:ellipsis}

.item-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px}
.collection-grid > [data-collection-card="himalayan"] .item-details,
.collection-grid > [data-collection-card="cashmere"] .item-details{margin-top:0}
.item-details figure{min-width:0;margin:0;padding:5px;border:1px solid var(--line);background:var(--paper)}
.item-details img{aspect-ratio:1/1;object-fit:cover}
.item-details figcaption{min-height:28px;display:flex;align-items:center;padding:6px 2px 0;color:var(--ink-soft);font-size:10px;line-height:1.25}

/* =========================================================================
   Materials — dark full-bleed band (RIMOWA dark content block)
   ========================================================================= */
.materials{background:var(--ink);color:var(--on-dark)}
.materials-grid{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);
  gap:clamp(48px,9vw,140px);align-items:center;
}
.materials-image{aspect-ratio:4/5;overflow:hidden}
.materials-image img{height:100%;object-fit:cover;filter:saturate(.9)}
.materials-copy .eyebrow{color:#bfc0c1}
.materials-copy h2{margin:0 0 42px;font-size:var(--fs-h2);line-height:var(--lh-heading);color:var(--on-dark)}
.materials dl{margin:0}
.materials dl div{display:grid;grid-template-columns:minmax(110px,.36fr) 1fr;gap:24px;padding:22px 0;border-top:1px solid rgba(244,244,244,.18)}
.materials dt{font:300 clamp(1.2rem,1.4vw,1.375rem)/1.3 var(--font-display)}
.materials dd{margin:0;color:var(--on-dark-soft);font-weight:300}

/* =========================================================================
   Catalog — hairline-divided price list
   ========================================================================= */
.price-list{border-top:1px solid var(--line)}
.price-list>article{display:grid;grid-template-columns:minmax(220px,.7fr) 1fr;gap:38px;padding:34px 0;border-bottom:1px solid var(--line)}
.price-list h3{margin:0;font:300 clamp(1.6rem,2.1vw,1.9rem)/1.2 var(--font-display)}
.price-list article>div>p{margin:8px 0 0;color:var(--ink-soft);font-size:var(--fs-small)}
.price-list dl,.price-list dl div{margin:0}
.price-list dl div{display:grid;grid-template-columns:1fr auto;gap:16px;padding:9px 0}
.price-list dt{color:var(--ink-soft)}
.price-list dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}

/* =========================================================================
   Story
   ========================================================================= */
.story{background:var(--bg-soft)}
.story-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:clamp(46px,8vw,120px);align-items:center}
.story-copy h2{margin:0 0 32px;font-size:var(--fs-h2);line-height:var(--lh-heading)}
.story-copy>p:not(.eyebrow){color:var(--ink-soft);max-width:52ch}
.story-image{aspect-ratio:259/166;overflow:hidden}
.story-image img{height:100%;object-fit:contain}

/* =========================================================================
   Delivery
   ========================================================================= */
.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.delivery-grid article{padding:32px clamp(18px,3vw,38px)}
.delivery-grid article+article{border-left:1px solid var(--line)}
.delivery-grid span{color:var(--accent);font-size:var(--fs-label);letter-spacing:.1em}
.delivery-grid h3{margin:32px 0 14px;font:300 clamp(1.5rem,1.9vw,1.75rem)/1.2 var(--font-display)}
.delivery-grid p{margin:0;color:var(--ink-soft)}
.delivery-grid code{font-size:12px;word-break:break-all;display:inline-block;margin-top:8px}

/* =========================================================================
   Contact — dark band
   ========================================================================= */
.contact{background:var(--ink);color:var(--on-dark)}
.contact-inner{display:grid;grid-template-columns:1fr minmax(300px,.62fr);gap:50px;align-items:end}
.contact .eyebrow{color:#bfc0c1}
.contact h2{margin:0;font-size:var(--fs-h1);line-height:1.04;color:var(--on-dark)}
.contact-inner>div>p:last-child{max-width:52ch;color:var(--on-dark-soft);font-weight:300}
.contact-actions{display:grid;gap:12px}
.contact-actions .cta,
.contact-actions .button{color:var(--on-dark);text-decoration-color:rgba(244,244,244,.4)}
.contact-actions .cta:hover{color:#fff;text-decoration-color:#fff}
.button-light{background:var(--on-dark);color:var(--ink);padding:14px 24px;display:inline-flex;align-items:center;justify-content:center;min-height:50px;text-decoration:none;font:400 var(--fs-btn)/1 var(--font-body);letter-spacing:var(--ls-btn);text-transform:uppercase}
.button-light:hover{background:#fff}
.button-outline-light{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border:1px solid #8a8b8c;color:var(--on-dark);text-decoration:none;font:400 var(--fs-btn)/1 var(--font-body);letter-spacing:var(--ls-btn);text-transform:uppercase;transition:border-color .2s ease}
.button-outline-light:hover{border-color:#fff}

.item-qr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px}
.item-qr a{
  min-height:44px;display:grid;grid-template-columns:minmax(96px,132px) 1fr;gap:10px;align-items:center;
  padding:10px;background:#fff;color:var(--ink);text-decoration:none;border:1px solid var(--line);
}
.item-qr img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:8px;background:#fff;filter:grayscale(1) contrast(1.12)}
.item-qr span{font-size:12px;font-weight:500}
.contact-qr{margin-top:6px}

/* =========================================================================
   Footer
   ========================================================================= */
.footer{padding:36px 0 110px;background:var(--ink);color:var(--on-dark-soft);border-top:1px solid #37393a}
.footer-inner{display:grid;grid-template-columns:auto 1fr;gap:clamp(48px,8vw,120px);align-items:center}
.brand-footer{color:var(--on-dark);display:inline-flex;align-items:center;min-height:44px}
.brand-footer img{display:block;width:min(240px,42vw);height:auto;max-height:none;object-fit:contain}
.footer p{margin:0;font-size:var(--fs-label)}
.footer-inner>p{display:flex!important;align-items:center;justify-content:flex-start;width:100%;gap:0;flex-wrap:nowrap;white-space:nowrap}
.footer-inner>p>a{flex:0 0 auto;margin-left:auto;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;color:var(--on-dark-soft)!important}
.footer-inner>p>a::before{content:"design and development ";}
.footer-inner>p>a>span{display:none!important}

/* =========================================================================
   Reveal
   ========================================================================= */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:none}
a:focus-visible,button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(23,25,26,.28)}

/* =========================================================================
   Mobile
   ========================================================================= */
@media(max-width:880px){
  :root{--section:var(--section-m)}
  html{scroll-padding-top:76px}
  .desktop-nav{display:none}
  .site-header{grid-template-columns:1fr auto auto;min-height:64px}
  .brand img{height:42px}
  .menu-button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}
  .menu-button svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6}
  .mobile-menu{position:absolute;top:100%;left:0;right:0;display:grid;padding:10px var(--gutter) 24px;background:var(--bg);border-bottom:1px solid var(--line)}
  .mobile-menu[hidden]{display:none}
  .mobile-menu>a:not(.button){min-height:52px;display:flex;align-items:center;border-bottom:1px solid var(--line);text-decoration:none}
  .hero{min-height:0}
  .hero-image{position:relative;inset:auto;height:auto}
  .hero-image picture{display:block;width:100%;height:auto}
  .hero-image img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
  .hero-image::after{display:none}
  .hero-copy{position:static;max-width:100%;padding:44px 20px 56px;background:var(--bg);color:var(--ink)}
  .hero .eyebrow{color:var(--accent);margin-bottom:18px}
  .hero h1{font-size:clamp(2.3rem,11vw,3.2rem);color:var(--ink)}
  .hero-lede{color:var(--ink-soft);margin-top:22px}
  .hero-actions{display:grid;width:100%;gap:6px;margin-top:30px}
  .hero-actions .cta,.hero-actions .button{justify-content:flex-start;width:100%;color:var(--ink);text-decoration-color:var(--line-strong)}
  .hero-actions .cta:hover,.hero-actions .button:hover{color:var(--accent);text-decoration-color:var(--accent)}
  .quiet-offer{color:var(--ink-soft);margin-top:24px}
  .intro-grid,.materials-grid,.story-grid,.contact-inner{grid-template-columns:1fr}
  .intro-grid{align-items:start}
  .collection-grid{gap:64px 18px}
  .collection-card-large{margin-top:64px}
  .materials-grid,.story-grid{gap:52px}
  .materials-image{max-height:680px}
  .delivery-grid{grid-template-columns:1fr}
  .delivery-grid article{padding:28px 0}
  .delivery-grid article+article{border-left:0;border-top:1px solid var(--line)}
  .contact-actions{width:100%}
  .footer-inner{grid-template-columns:1fr;align-items:start}
  .footer-inner>p{flex-wrap:wrap;white-space:normal;row-gap:14px}
}

@media(max-width:620px){
  :root{--gutter:18px}
  .hero-copy{padding-top:48px}
  .section-heading{grid-template-columns:1fr;margin-bottom:38px}
  .collection-grid{grid-template-columns:1fr;gap:64px}
  .collection-card-large{margin-top:0}
  .collection-card picture{aspect-ratio:4/5}
  .collection-card picture.pashmina-ad{aspect-ratio:2797/2120}
  .collection-card[data-collection-card="lamb"] picture{width:100%;height:auto;aspect-ratio:4/5;overflow:hidden}
  .collection-card[data-collection-card="lamb"] picture img{width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center top}
  .collection-grid > [data-collection-card="himalayan"],
  .collection-grid > [data-collection-card="cashmere"]{display:block;margin-top:0}
  .collection-grid > [data-collection-card="himalayan"] .card-copy,
  .collection-grid > [data-collection-card="cashmere"] .card-copy{display:block}
  .card-copy{padding-top:22px}
  .materials-grid{gap:42px}
  .materials dl div{grid-template-columns:1fr;gap:7px}
  .price-list>article{grid-template-columns:1fr;gap:20px;padding:28px 0}
  .price-list dt{max-width:18ch}
  .delivery-grid h3{margin-top:22px}
  .contact{padding-bottom:110px}
  .contact h2{font-size:clamp(2.2rem,9vw,3rem)}
  .contact-actions .button,.contact-actions .button-light,.contact-actions .button-outline-light{width:100%}
  .item-qr{grid-template-columns:1fr}
  .item-qr a{grid-template-columns:112px 1fr}
  .palette-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
}

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

/* =========================================================================
   RIMOWA TYPE SCALE — authoritative final pass
   One semantic size per role across the whole site. Values follow the
   RIMOWA reference: 12px labels/CTAs, 16px body, 18px subheads,
   28–40px section headings, and a display hero capped at 100px.
   Keep this block last so old page-specific overrides cannot drift sizes.
   ========================================================================= */
:root{
  --fs-label:12px;
  --fs-btn:12px;
  --fs-small:14px;
  --fs-body:16px;
  --fs-lede:16px;
  --fs-sub:18px;
  --fs-h2:clamp(28px,3.2vw,40px);
  --fs-h1:clamp(40px,7vw,100px);
  --lh-heading:1.15;
  --lh-body:1.5;
}

body{font-size:var(--fs-body);line-height:var(--lh-body)}
.desktop-nav a{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.lang-menu a{font-size:14px}
.hero h1,.contact h2{font-size:var(--fs-h1);line-height:1.02}
.hero-lede,.intro-grid>p{font-size:var(--fs-lede);line-height:1.5}
.quiet-offer{font-size:var(--fs-small)}
.card-copy h3,.materials dt,.price-list h3,.delivery-grid h3{font-size:var(--fs-sub);line-height:1.2}
.card-copy>p:not(.card-meta),.card-subtitle,.price-list article>div>p,.price-list dt,.price-list dd,.delivery-grid p,.story-copy>p:not(.eyebrow),.materials dd{font-size:var(--fs-body);line-height:1.5}
.palette-sub{font-size:12px}
.palette-swatches b{font-size:12px;line-height:1.25}
.item-details figcaption{font-size:12px;line-height:1.3}
.item-qr span{font-size:12px}
.delivery-grid span,.footer p{font-size:var(--fs-label)}

@media(max-width:620px){
  .hero h1{font-size:40px;line-height:1.05}
  .contact h2{font-size:40px;line-height:1.05}
  .card-copy h3,.materials dt,.price-list h3,.delivery-grid h3{font-size:18px}
}

/* =========================================================================
   LIGHT EDITION — final contrast pass
   Keep the RIMOWA aluminium language, but make every information surface
   readable: dark logo/text on white and aluminium backgrounds, no dark
   sections behind dark artwork, no glow or image wash.
   ========================================================================= */
:root{
  --bg:#f4f4f4;
  --bg-soft:#e8e8e8;
  --paper:#ffffff;
  --ink:#17191a;
  --ink-soft:#55585a;
  --ink-faint:#737678;
  --line:rgba(23,25,26,.20);
  --line-strong:rgba(23,25,26,.58);
  --accent:#17191a;
  --on-dark:#17191a;
  --on-dark-soft:#55585a;
}

body{background:var(--bg);color:var(--ink)}
.site-header{background:rgba(244,244,244,.98);border-bottom-color:var(--line);backdrop-filter:none}
.brand img{filter:none;opacity:1}
.desktop-nav a,.lang-toggle{color:var(--ink)}
.lang-menu{background:var(--paper);border-color:var(--line);box-shadow:0 12px 28px rgba(23,25,26,.10)}

/* Light editorial hero: photo and copy are separate, so neither dark text
   nor the logo relies on a dark overlay for contrast. */
.hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);min-height:clamp(560px,calc(100svh - 92px),820px);background:var(--paper);color:var(--ink)}
.hero-image{position:relative;inset:auto;grid-column:1;grid-row:1;overflow:hidden}
.hero-image picture,.hero-image img{width:100%;height:100%}
.hero-image img{object-fit:cover;object-position:center top;filter:none}
.hero-image::after{display:none}
.hero-copy{position:relative;left:auto;right:auto;bottom:auto;grid-column:2;grid-row:1;display:flex;justify-content:center;max-width:none;padding:clamp(40px,6vw,96px);background:var(--paper);color:var(--ink)}
.hero .eyebrow{color:var(--ink-soft)}
.hero h1{max-width:10ch;font-size:clamp(40px,4.4vw,72px);line-height:1.04}
.hero h1,.hero-lede,.hero .text-link,.hero-actions .cta,.hero-actions .button{color:var(--ink)}
.hero-lede{color:var(--ink-soft)}
.hero-actions .cta,.hero-actions .button{border:0;background:transparent;text-decoration-color:var(--line-strong)}
.quiet-offer{color:var(--ink-soft)}

.intro,.catalog,.delivery{background:var(--bg)}
.materials,.contact,.footer{background:var(--bg-soft);color:var(--ink);border-color:var(--line)}
.materials-copy h2,.contact h2{color:var(--ink)}
.materials .eyebrow,.contact .eyebrow{color:var(--ink-soft)}
.materials dd,.contact-inner>div>p:last-child{color:var(--ink-soft)}
.story{background:var(--paper);color:var(--ink)}
.story-copy>p:not(.eyebrow){color:var(--ink-soft)}
.footer{color:var(--ink-soft)}
.footer .brand-footer{color:var(--ink)}
.brand-footer img{filter:none}
.button-light{background:var(--ink);color:var(--paper)}
.button-light:hover,.button-light:focus-visible{background:#3a3d3f}
.button-outline-light{border-color:var(--ink);color:var(--ink)}
.button-outline-light:hover,.button-outline-light:focus-visible{border-color:var(--ink);background:rgba(23,25,26,.07)}

@media(max-width:760px){
  .hero{display:block;min-height:0;background:var(--paper)}
  .hero-image{position:relative;inset:auto}
  .hero-image img{height:auto;aspect-ratio:4/5;object-fit:cover}
  .hero-copy{position:static;padding:44px 20px 56px;background:var(--paper);color:var(--ink)}
  .hero h1{color:var(--ink)}
}

/* FINAL DARK COLLECTIONS CONTRAST — keep the RIMOWA graphite surface
   readable without white UI tiles. Product colour remains in imagery/swatches. */
.collections,
.collections .section-heading,
.collections .card-copy,
.collections .card-copy h3,
.collections .card-copy a,
.collections .item-palette,
.collections .item-palette > p,
.collections .item-details figcaption{
  color:var(--cover-paper,#f3f3f1);
}
.collections .card-meta,
.collections .card-copy > p:not(.card-meta),
.collections .card-subtitle,
.collections .palette-sub,
.collections .item-details figcaption{
  color:#c8cbca;
}
.collections .section-heading > p:last-child{
  color:#c8cbca;
}
.collections .item-palette{border-top-color:rgba(243,243,241,.24)}
.collections .palette-swatches span{
  background:#2a2e2f;
  border-color:rgba(243,243,241,.26);
}
.collections .palette-swatches b{color:#f3f3f1}
.collections .item-details figure{
  background:#2a2e2f;
  border-color:rgba(243,243,241,.26);
}
.collections .card-copy a{text-decoration-color:rgba(243,243,241,.66)}
.collections .card-copy a:hover,
.collections .card-copy a:focus-visible{color:#fff;text-decoration-color:#fff}

/* Final dark-surface correction: keep the editorial Intro continuous with
   the graphite page. This must come after the light-edition overrides. */
.intro{
  background:var(--ink) !important;
  color:var(--on-dark) !important;
  border-bottom-color:rgba(244,244,244,.16) !important;
}
.intro h2{color:var(--on-dark) !important}
.intro-grid>p{color:var(--on-dark-soft) !important}

/* FINAL REFERENCE RESTORE — approved dark cover composition */
:root{
  --cover-bg:#1c2021;
  --cover-text:#f3f3f1;
  --cover-muted:#c9cecc;
}
html,body{background:var(--cover-bg);color:var(--cover-text)}
.site-header{
  width:100%;max-width:none;margin:0;
  min-height:58px;padding:7px max(24px,calc((100% - 1500px)/2));
  background:var(--cover-bg);border:0;color:var(--cover-text);backdrop-filter:none
}
.brand img{height:50px;width:auto;filter:none;opacity:1}
.desktop-nav a,.lang-toggle{color:var(--cover-text)}
.desktop-nav a::after{background:var(--cover-text)}
.hero{
  width:min(100%,1440px);max-width:1440px;margin-inline:auto;
  position:relative;display:block;height:900px;min-height:0;max-height:calc(100svh - 58px);
  background:var(--cover-bg);color:var(--cover-text);overflow:hidden
}
.hero-image{position:absolute;inset:0;overflow:hidden}
.hero-image picture,.hero-image img{display:block;width:100%;height:100%}
.hero-image img{object-fit:cover;object-position:center center;filter:saturate(.78) contrast(1.02) brightness(.84)}
.hero-image::after{display:block;content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,32,33,.82) 0%,rgba(28,32,33,.62) 30%,rgba(28,32,33,.25) 58%,rgba(28,32,33,.04) 100%),linear-gradient(0deg,rgba(28,32,33,.2),transparent 36%)}
.hero-copy{position:absolute;left:0;right:auto;bottom:0;z-index:2;width:min(58%,760px);max-width:none;padding:clamp(48px,7vw,112px) clamp(28px,7.6vw,110px) clamp(54px,8vw,118px);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;background:transparent;color:var(--cover-text)}
.hero .eyebrow{margin:0 0 26px;color:var(--cover-muted)}
.hero h1{max-width:7.2ch;color:var(--cover-text);font-size:clamp(54px,6.1vw,96px);line-height:.985;letter-spacing:-.035em;text-wrap:balance}
.hero-lede{max-width:47ch;margin:30px 0 0;color:#d2d5d4;font-size:16px;line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;margin-top:38px}
.hero-actions .cta,.hero-actions .button{min-height:44px;padding:11px 0;color:var(--cover-text);background:transparent;border:0;border-radius:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration-color:rgba(243,243,241,.66)}
.hero-actions .cta:hover,.hero-actions .cta:focus-visible,.hero-actions .button:hover,.hero-actions .button:focus-visible{color:#fff;text-decoration-color:#fff}
.quiet-offer{margin:26px 0 0;color:#aeb4b2;font-size:14px}
.materials,.contact,.footer{background:var(--cover-bg);color:var(--cover-text)}
.story{background:#2a2e2f;color:var(--cover-text)}

@media(max-width:760px){
  .site-header{min-height:58px;padding:7px 18px}
  .brand img{height:42px}
  .mobile-menu{background:var(--cover-bg);color:var(--cover-text);border-bottom-color:rgba(243,243,241,.2)}
  .hero{width:100%;height:auto;max-height:none;min-height:0}
  .hero-image{position:relative;inset:auto;height:auto}
  .hero-image picture{height:auto}
  .hero-image img{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top}
  .hero-image::after{background:linear-gradient(0deg,rgba(28,32,33,.82),rgba(28,32,33,.22) 48%,rgba(28,32,33,.05))}
  .hero-copy{position:absolute;left:0;right:0;bottom:0;width:100%;padding:40px 20px 44px;background:transparent;color:var(--cover-text)}
  .hero h1{max-width:8.5ch;color:var(--cover-text);font-size:42px;line-height:1.01}
  .hero-lede{margin-top:20px;color:#d2d5d4;font-size:15px}
  .hero-actions{display:grid;width:100%;gap:4px;margin-top:26px}
  .hero-actions .cta,.hero-actions .button{justify-content:flex-start;width:100%;color:var(--cover-text)}
}

/* =========================================================================
   COVER RESTORE — dark editorial hero from the approved reference
   The image is the surface; copy sits over a restrained graphite veil.
   ========================================================================= */
:root{
  --cover-ink:#1c2021;
  --cover-paper:#f3f3f1;
  --cover-soft:#c8cbca;
}

body{background:var(--cover-ink)}
.site-header{
  background:rgba(28,32,33,.98);
  border-bottom-color:transparent;
  color:var(--cover-paper);
  backdrop-filter:none;
}
.brand img{filter:none;opacity:.92}
.desktop-nav a,.lang-toggle{color:var(--cover-paper)}
.desktop-nav a::after{background:var(--cover-paper)}
.lang-toggle:hover,.lang-toggle[aria-expanded="true"]{background:rgba(243,243,241,.08)}
.lang-menu{background:#25292a;border-color:rgba(243,243,241,.22)}
.lang-menu a{color:var(--cover-soft)}
.lang-menu a:hover,.lang-menu a:focus-visible{color:var(--cover-paper);background:rgba(243,243,241,.08)}
.lang-menu a[aria-current]{color:var(--cover-paper);background:rgba(243,243,241,.12)}

.hero{
  position:relative;
  display:block;
  /* Keep the complete editorial composition inside the photograph. The
     source hero is 2:1; a fixed 640–900px height made the copy taller than
     the image at ordinary desktop viewports. */
  height:auto;
  aspect-ratio:2 / 1;
  min-height:0;
  max-height:none;
  background:var(--cover-ink);
  color:var(--cover-paper);
  overflow:hidden;
}
.hero-image{position:absolute;inset:0;overflow:hidden}
.hero-image picture,.hero-image img{display:block;width:100%;height:100%}
.hero-image img{object-fit:cover;object-position:center center;filter:saturate(.78) contrast(1.02) brightness(.84)}
.hero-image::after{
  display:block;
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(28,32,33,.82) 0%,rgba(28,32,33,.62) 30%,rgba(28,32,33,.25) 58%,rgba(28,32,33,.04) 100%),linear-gradient(0deg,rgba(28,32,33,.20),transparent 36%);
}
.hero-copy{
  position:absolute;left:0;right:auto;bottom:0;z-index:2;
  display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;
  width:min(56%,760px);max-width:none;
  padding:clamp(36px,5vw,76px) clamp(28px,6vw,88px) clamp(36px,5vw,76px);
  background:transparent;color:var(--cover-paper);
}
.hero .eyebrow{color:#c9cecc;margin:0 0 26px}
.hero h1{
  max-width:11ch;
  color:var(--cover-paper);
  font-size:clamp(48px,5.2vw,78px);
  line-height:.985;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.hero-lede{max-width:47ch;margin:30px 0 0;color:#d2d5d4;font-size:16px;line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;margin-top:38px}
.hero-actions .cta,.hero-actions .button{
  min-height:44px;padding:11px 0;
  color:var(--cover-paper);background:transparent;border:0;border-radius:0;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  text-decoration-color:rgba(243,243,241,.66);
}
.hero-actions .cta:hover,.hero-actions .cta:focus-visible,
.hero-actions .button:hover,.hero-actions .button:focus-visible{color:#fff;text-decoration-color:#fff}
.quiet-offer{margin:26px 0 0;color:#aeb4b2;font-size:14px}

@media(max-width:760px){
  .site-header{background:rgba(28,32,33,.98)}
  .menu-button{color:var(--cover-paper)}
  .mobile-menu{background:var(--cover-ink);color:var(--cover-paper);border-bottom-color:rgba(243,243,241,.2)}
  .hero{height:auto;min-height:0;background:var(--cover-ink);aspect-ratio:auto}
  .hero-image{position:relative;inset:auto;height:auto}
  .hero-image picture{height:auto}
  .hero-image img{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top}
  .hero-image::after{background:linear-gradient(0deg,rgba(28,32,33,.80) 0%,rgba(28,32,33,.32) 42%,rgba(28,32,33,.06) 100%)}
  .hero-copy{
    position:static;left:auto;right:auto;bottom:auto;width:100%;
    padding:40px 20px 44px;background:var(--cover-ink);color:var(--cover-paper)
  }
  .hero .eyebrow{color:#c9cecc;margin-bottom:18px}
  .hero h1{max-width:8.5ch;color:var(--cover-paper);font-size:42px;line-height:1.01}
  .hero-lede{margin-top:20px;color:#d2d5d4;font-size:15px}
  .hero-actions{display:grid;width:100%;gap:4px;margin-top:26px}
  .hero-actions .cta,.hero-actions .button{justify-content:flex-start;width:100%;color:var(--cover-paper);text-decoration-color:rgba(243,243,241,.66)}
  .quiet-offer{margin-top:18px;color:#b9bfbd}
}

/* FINAL SURFACE NORMALIZATION
   The former light-edition block sits earlier in this file and can otherwise
   reintroduce white catalog/shipping panels after the graphite cover theme.
   Keep every editorial information section on the same RIMOWA graphite
   surface, with explicit text colors so no inherited light-theme values leak. */
html,body{background:var(--cover-ink);color:var(--cover-paper)}
.intro,.collections,.materials,.catalog,.story,.delivery,.contact,.footer{
  background:var(--cover-ink);
  color:var(--cover-paper);
}
.intro{border-bottom-color:rgba(243,243,241,.16)!important}
.intro h2,.section-heading h2,.catalog h2,.delivery h2,
.materials-copy h2,.story-copy h2,.contact h2{color:var(--cover-paper)}
.intro-grid>p,.section-heading>p:last-child,
.card-copy>p:not(.card-meta),.card-subtitle,
.story-copy>p:not(.eyebrow),.materials dd,
.catalog .section-heading>p:last-child,
.delivery-grid p,.contact-inner>div>p:last-child{color:var(--cover-soft)}
.eyebrow,.card-meta,.catalog .eyebrow,.delivery .eyebrow,
.materials .eyebrow,.story .eyebrow,.contact .eyebrow{color:var(--cover-soft)}
.price-list,.price-list>article,
.delivery-grid,.delivery-grid article+article{border-color:rgba(243,243,241,.22)}
.price-list h3,.price-list dt,.price-list dd,
.delivery-grid h3,.delivery-grid span{color:var(--cover-paper)}
.price-list article>div>p{color:var(--cover-soft)}
.delivery-grid article+article{border-left-color:rgba(243,243,241,.22)}
.button-outline-light{border-color:rgba(243,243,241,.58);color:var(--cover-paper)}

/* FINAL GEOMETRY — one canonical desktop hero model.
   Earlier repair passes left competing hero rules in the cascade. Keep the
   editorial surface at a standard 1440px and reserve a real text column so
   the headline wraps by composition, not by an arbitrary 7–11ch clamp. */
@media(min-width:761px){
  .hero{
    width:min(100%,1440px);
    max-width:1440px;
    height:auto;
    aspect-ratio:2 / 1;
    min-height:0;
    max-height:none;
    margin-inline:auto;
    overflow:hidden;
  }
  .hero-image{position:absolute;inset:0}
  .hero-image picture,.hero-image img{width:100%;height:100%}
  .hero-image img{object-fit:cover;object-position:center center}
  .hero-copy{
    left:0;right:auto;bottom:0;
    width:50%;
    max-width:720px;
    padding:clamp(40px,5vw,76px) clamp(48px,7.7vw,112px) clamp(40px,5vw,76px);
  }
  .hero h1{
    width:100%;
    max-width:15ch;
    font-size:clamp(52px,5.2vw,78px);
    line-height:.99;
    text-wrap:pretty;
  }
}
.button-outline-light:hover,.button-outline-light:focus-visible{border-color:var(--cover-paper);background:rgba(243,243,241,.08)}
.button-light{background:var(--cover-paper);color:var(--cover-ink)}
.button-light:hover,.button-light:focus-visible{background:#fff;color:var(--cover-ink)}
.item-qr a{background:var(--cover-paper);color:var(--cover-ink)}
/* These two selectors had !important in the previous light-edition repair;
   retain the precedence but point them at the graphite theme. */
.intro{background:var(--cover-ink)!important;color:var(--cover-paper)!important}
.intro h2{color:var(--cover-paper)!important}
.intro-grid>p{color:var(--cover-soft)!important}
/* Never leave editorial copy invisible while the observer is late, blocked,
   or a browser restores a scrolled page from its bfcache. */
.reveal{opacity:1;transform:none}
@media(max-width:760px){
  .delivery-grid article+article{border-left:0;border-top-color:rgba(243,243,241,.22)}
}

/* FINAL RIMOWA SURFACE RHYTHM
   RIMOWA does not use one uninterrupted black canvas: the editorial page
   alternates two near-graphite blocks. Keep the difference restrained, but
   visible enough to establish section boundaries without adding decoration.
   Full-bleed bands retain a centered 1440px reading column. */
:root{
  --surface-a:#000000;
  --surface-b:#f4f4f4;
  --surface-ink:#000000;
  --surface-muted:#6f6f6f;
  --surface-line:rgba(0,0,0,.22);
}

html,body{background:var(--surface-a)}
.site-header{background:var(--surface-a)}

/* Full-width section bands; inner content still follows the 1440px grid. */
.section.wrap{
  width:100%;
  max-width:none;
  padding-inline:max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)));
}

/* Alternating RIMOWA-style full-bleed bands: graphite / aluminium. */
#intro,#materials,#story,.contact,.footer{background:var(--surface-a)!important}
#collections,#catalog,#delivery{background:var(--surface-b)!important;color:var(--surface-ink)}

#intro,#materials,#story,.contact,.footer{color:var(--cover-paper)}
#intro{border-bottom-color:var(--surface-line)!important}

/* Preserve readable copy and rules on both dark surfaces. */
#intro h2,#materials h2,#story h2,.contact h2{color:var(--cover-paper)}
#intro p:not(.eyebrow),#materials p:not(.eyebrow),#story p:not(.eyebrow),
.contact p:not(.eyebrow),.footer p{color:var(--cover-soft)}
#intro .eyebrow,#materials .eyebrow,#story .eyebrow,.contact .eyebrow{color:var(--cover-soft)}
#collections h2,#catalog h2,#delivery h2{color:var(--surface-ink)}
#collections p:not(.eyebrow),#catalog p:not(.eyebrow),#delivery p:not(.eyebrow),
#collections .eyebrow,#catalog .eyebrow,#delivery .eyebrow,
#collections .card-meta,#catalog .card-meta{color:var(--surface-muted)}
#collections .card-copy h3,#catalog h3,#delivery h3,
#catalog dt,#catalog dd,#delivery span{color:var(--surface-ink)}
#catalog .price-list,#catalog .price-list>article,
#delivery .delivery-grid,#delivery .delivery-grid article+article{border-color:var(--surface-line)}
#collections .item-palette,#collections .item-details figure{border-color:rgba(0,0,0,.2)}
#collections .item-palette>p,#collections .palette-swatches b,
#collections .item-details figcaption{color:var(--surface-ink)}
#collections .palette-swatches span,#collections .item-details figure{background:#e8e8e8}

/* CANONICAL FINAL LAYOUT
   One authoritative layer after the historical iterations above. */
html,body{margin:0;background:#000;color:#fff;overflow-x:hidden}
.site-header{width:100%;max-width:none;background:#000;color:#fff;border-bottom:0}
.site-header .brand,.site-header .desktop-nav,.site-header .lang-switch{position:relative;z-index:2}
.hero{display:block;position:relative;width:min(100%,1440px);height:auto;min-height:0;max-height:none;aspect-ratio:2/1;margin:0 auto;overflow:hidden;background:#000;color:#fff}
.hero-image{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.hero-image picture,.hero-image img{display:block;width:100%;height:100%}
.hero-image img{object-fit:cover;object-position:center center;filter:saturate(.78) contrast(1.02) brightness(.84)}
.hero-image::after{content:"";display:block;position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.55) 32%,rgba(0,0,0,.16) 68%,rgba(0,0,0,0) 100%),linear-gradient(0deg,rgba(0,0,0,.2),transparent 38%)}
.hero-copy{position:absolute;left:0;right:auto;bottom:0;z-index:2;width:min(50%,720px);max-width:none;padding:clamp(40px,5vw,76px) clamp(48px,7.7vw,112px);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;background:transparent;color:#fff}
.hero .eyebrow{color:#d8d8d8}.hero h1{width:100%;max-width:15ch;margin:0;color:#fff;font-size:clamp(52px,5.2vw,78px);line-height:.99;letter-spacing:-.035em;text-wrap:pretty}
.hero-lede{max-width:47ch;margin:30px 0 0;color:#d8d8d8;font-size:16px;line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;margin-top:38px}
.hero-actions .cta,.hero-actions .button{min-height:44px;padding:11px 0;color:#fff;background:transparent;border:0;border-radius:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration-color:rgba(255,255,255,.66)}
.quiet-offer{margin:26px 0 0;color:#bdbdbd;font-size:14px}
.intro,.materials,.story,.contact,.footer{background:#000!important;color:#fff!important}
.collections,.catalog,.delivery{background:#f4f4f4!important;color:#000!important}
.intro{border-bottom-color:rgba(255,255,255,.22)!important}
.intro h2,.materials h2,.story h2,.contact h2{color:#fff!important}
.intro p:not(.eyebrow),.materials p:not(.eyebrow),.story p:not(.eyebrow),.contact p:not(.eyebrow),.footer p{color:#d8d8d8!important}
.intro .eyebrow,.materials .eyebrow,.story .eyebrow,.contact .eyebrow{color:#d8d8d8!important}
.collections h2,.catalog h2,.delivery h2,.collections h3,.catalog h3,.delivery h3{color:#000!important}
.collections p:not(.eyebrow),.catalog p:not(.eyebrow),.delivery p:not(.eyebrow),.collections .eyebrow,.catalog .eyebrow,.delivery .eyebrow,.collections .card-meta,.catalog .card-meta{color:#6f6f6f!important}
.collections .card-copy>p:not(.card-meta),.collections .card-subtitle{color:#6f6f6f!important}
.collections .item-palette>p,.collections .palette-swatches b,.collections .item-details figcaption{color:#000!important}
.collections .palette-swatches span,.collections .item-details figure{background:#e8e8e8!important;border-color:rgba(0,0,0,.2)!important}
.catalog dt,.catalog dd,.delivery span{color:#000!important}
.price-list,.price-list>article,.delivery-grid,.delivery-grid article+article{border-color:rgba(0,0,0,.22)!important}
.materials dd,.story-copy>p:not(.eyebrow),.delivery-grid p,.contact-inner>div>p:last-child{color:#d8d8d8!important}
.reveal{opacity:1!important;transform:none!important}
@media(min-width:761px){.hero{width:min(100%,1440px);aspect-ratio:2/1}.hero-copy{width:50%;max-width:720px}}
@media(max-width:760px){
  .hero{width:100%;aspect-ratio:auto;display:block}
  .hero-image{position:relative;inset:auto;width:100%;height:125vw;min-height:480px;overflow:hidden}
  .hero-image picture{display:block;position:absolute;inset:0;width:100%;height:100%}
  .hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
  .hero-copy{position:static;width:100%;padding:40px 20px 44px;background:#000;color:#fff}
  .hero h1{max-width:8.5ch;font-size:42px;line-height:1.01}
  .hero-actions{display:grid;width:100%;gap:4px;margin-top:26px}
  .hero-actions .cta,.hero-actions .button{width:100%;justify-content:flex-start;color:#fff}
}

@media(max-width:760px){
  .section.wrap{
    padding-inline:var(--gutter);
  }
}

/* =====================================================================
   RIMOWA CANONICAL SYSTEM — final authoritative layer
   Source: valley-shawls/REFERENCE-RIMOWA.md
   Keep this block last: one palette, one grotesque family, one geometry.
   ===================================================================== */
:root{
  --rimowa-black:#0d0901;
  --rimowa-white:#fff;
  --rimowa-body:#424242;
  --rimowa-muted:#6f6f6f;
  --rimowa-aluminium:#f4f4f4;
  --rimowa-grey:#e8e8e8;
  --rimowa-line:rgba(13,9,1,.5);
  --rimowa-font:"Inter Tight","Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --rimowa-body-font:"Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --gutter:clamp(20px,4vw,56px);
  --section:120px;
  --max:1440px;
  --max-large:1800px;
}

/* Full-bleed graphite surround: the centered hero must never reveal the
   browser's white canvas on ultrawide screens. Light bands set their own
   full-width background below. */
html,body,#main{background:var(--rimowa-black);color:var(--rimowa-body)}
body{font-family:var(--rimowa-body-font);font-size:16px;line-height:1.6}
h1,h2,h3,h4{font-family:var(--rimowa-font);font-weight:300;letter-spacing:-.02em}
.site-header{position:sticky;top:0;z-index:40;width:100%;max-width:none;min-height:64px;padding:8px max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)));background:var(--rimowa-black);color:var(--rimowa-white);border-bottom:1px solid rgba(255,255,255,.16);backdrop-filter:none}
.brand img{height:44px;width:auto;filter:none;opacity:1}
.site-header .brand img{filter:none}
.desktop-nav a,.lang-toggle{color:var(--rimowa-white)}
.desktop-nav a{font:300 12px/1 var(--rimowa-font);letter-spacing:.2em;text-transform:uppercase}
.desktop-nav a::after{background:var(--rimowa-white)}
.lang-toggle:hover{background:rgba(255,255,255,.08)}
.lang-menu{background:var(--rimowa-black);border:1px solid rgba(255,255,255,.25);box-shadow:none;border-radius:0}
.lang-menu a{color:#d8d8d8;font-family:var(--rimowa-body-font)}
.lang-menu a:hover{background:rgba(255,255,255,.08);color:var(--rimowa-white)}
.menu-button{color:var(--rimowa-white)}
.mobile-menu{background:var(--rimowa-black);color:var(--rimowa-white);border-bottom:1px solid rgba(255,255,255,.25)}

.section{padding-block:var(--section)}
.section.wrap{width:100%;max-width:none;padding-inline:max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)))}
.eyebrow,.card-meta{margin-bottom:20px;color:var(--rimowa-muted);font:300 11px/1.3 var(--rimowa-body-font);letter-spacing:.2em;text-transform:uppercase}
.cta,.card-copy a,.text-link{font:300 12px/1.2 var(--rimowa-body-font);letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;text-decoration-color:var(--rimowa-line);border-radius:0}
.cta:hover,.card-copy a:hover,.text-link:hover{color:var(--rimowa-black);text-decoration-color:var(--rimowa-black)}
.button{border-radius:0!important;box-shadow:none!important}
.button-dark{background:var(--rimowa-black);color:var(--rimowa-white);border:1px solid var(--rimowa-black);padding:13px 18px;font:300 12px/1.2 var(--rimowa-body-font);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.button-outline{background:transparent;color:var(--rimowa-black);border:1px solid var(--rimowa-black);padding:13px 18px;font:300 12px/1.2 var(--rimowa-body-font);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.button-dark:hover{background:#424242;border-color:#424242}
.button-outline:hover{background:var(--rimowa-black);color:var(--rimowa-white)}

.hero{width:100%;max-width:var(--max-large);height:auto;aspect-ratio:2/1;margin-inline:auto;background:var(--rimowa-black);color:var(--rimowa-white)}
.hero-image img{filter:none}
.hero-image::after{background:linear-gradient(90deg,rgba(13,9,1,.58),rgba(13,9,1,.14) 58%,transparent)}
.hero-copy{width:min(50%,720px);padding:clamp(40px,5vw,76px) clamp(28px,7vw,112px);color:var(--rimowa-white)}
.hero .eyebrow{color:#d8d8d8}
.hero h1{max-width:15ch;color:var(--rimowa-white);font:300 clamp(52px,6vw,100px)/1 var(--rimowa-font);letter-spacing:-.035em}
.hero-lede{max-width:47ch;margin-top:28px;color:#d8d8d8;font:300 16px/1.5 var(--rimowa-body-font)}
.hero-actions{gap:20px 32px;margin-top:40px}
.hero-actions .button,.hero-actions .cta{color:var(--rimowa-white);background:transparent;border:0;text-decoration-color:rgba(255,255,255,.7)}
.hero-actions .button:hover,.hero-actions .cta:hover{color:#fff;text-decoration-color:#fff}
.quiet-offer{color:#d8d8d8;font-size:14px}

#intro,#materials,#story,.contact,.footer{background:var(--rimowa-black)!important;color:var(--rimowa-white)!important}
#collections,#catalog,#delivery{
  color:var(--rimowa-black)!important;
  background:linear-gradient(90deg,
    var(--rimowa-black) 0,
    var(--rimowa-black) max(0px,calc((100% - var(--max))/2)),
    var(--rimowa-white) max(0px,calc((100% - var(--max))/2)),
    var(--rimowa-white) min(100%,calc(100% - (100% - var(--max))/2)),
    var(--rimowa-black) min(100%,calc(100% - (100% - var(--max))/2)),
    var(--rimowa-black) 100%)!important;
}
.intro h2,.materials h2,.story h2,.contact h2{color:var(--rimowa-white)!important;font-weight:300}
.intro-grid>p,.materials dd,.story-copy>p:not(.eyebrow),.contact-inner>div>p:last-child{color:#d8d8d8!important}
.section-heading h2,.card-copy h3,.catalog h2,.catalog h3,.delivery h2,.delivery h3{color:var(--rimowa-black)!important;font-weight:300}
.section-heading>p:last-child,.card-copy>p:not(.card-meta),.card-subtitle,.catalog p:not(.eyebrow),.delivery p:not(.eyebrow){color:var(--rimowa-muted)!important}
.intro .eyebrow,.materials .eyebrow,.story .eyebrow,.contact .eyebrow{color:#d8d8d8!important}
.collections .eyebrow,.catalog .eyebrow,.delivery .eyebrow,.card-meta{color:var(--rimowa-muted)!important}

.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(56px,7vw,96px) clamp(24px,3vw,44px)}
.collection-card picture{border-radius:0;background:var(--rimowa-aluminium)}
.collection-card img{filter:none;transform:none!important}
.card-copy{padding:24px 0 0}
.card-copy h3{font-size:clamp(28px,3vw,40px);line-height:1.1}
.item-palette{border-top:1px solid rgba(13,9,1,.25)}
.palette-swatches span,.item-details figure{border-radius:0;box-shadow:none;background:var(--rimowa-aluminium)!important;border-color:rgba(13,9,1,.2)!important}
.palette-swatches i{border-radius:0;box-shadow:none}
.item-details{gap:8px}

.price-list,.delivery-grid{border-color:rgba(13,9,1,.5)!important}
.price-list>article{padding:34px 0;border-color:rgba(13,9,1,.25)!important}
.price-list h3,.price-list dt,.price-list dd,.delivery-grid h3,.delivery-grid span{color:var(--rimowa-black)!important;font-weight:300}
.delivery-grid article{padding:32px clamp(18px,3vw,38px)}
.delivery-grid article+article{border-color:rgba(13,9,1,.25)!important}
.materials dl div{border-color:rgba(255,255,255,.35)}
.story{background:var(--rimowa-aluminium)!important;color:var(--rimowa-body)!important}
.story h2{color:var(--rimowa-black)!important}
.story-copy>p:not(.eyebrow){color:var(--rimowa-body)!important}
.contact{background:var(--rimowa-black)!important}
.button-light{background:var(--rimowa-white);color:var(--rimowa-black);border-radius:0}
.button-outline-light{border-color:var(--rimowa-white);color:var(--rimowa-white);border-radius:0}
.item-qr a{border-radius:0;background:#b8bab9;color:var(--rimowa-black)}
.contact-qr img{filter:grayscale(1) contrast(1.12) brightness(.86)}
.footer{background:var(--rimowa-black)!important;border-top:1px solid rgba(255,255,255,.35);color:#d8d8d8!important}
.brand-footer{color:var(--rimowa-white)}
.footer a[href*="quantwave.app"]{background:transparent!important;border-color:rgba(255,255,255,.35)!important;border-radius:0!important;color:#fff!important;font-family:var(--rimowa-body-font)!important}
.footer a[href*="quantwave.app"] span{background:#fff!important}

/* Keep the primary contact action visible on the graphite contact surface.
   The generic contact-link rule has higher specificity than .button-light;
   this explicit variant restores the intended high-contrast email button. */
.contact-actions .button-light{
  background:#b8bab9!important;
  color:var(--rimowa-black)!important;
  border:1px solid #b8bab9;
  text-decoration:none;
}
.contact-actions .button-light:hover,
.contact-actions .button-light:focus-visible{
  background:transparent!important;
  color:var(--rimowa-white)!important;
  border-color:var(--rimowa-white);
}

/* Contact tiles: use the existing neutral graphite used by the site,
   keeping the social and email actions quiet on the dark contact surface. */
.item-qr a{
  background:#2a2e2f!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18);
}
.contact-actions .button-light{
  background:#2a2e2f!important;
  color:#fff!important;
  border-color:#2a2e2f;
}

@media(max-width:760px){
  :root{--section:80px;--gutter:20px}
  .site-header{min-height:58px;padding:7px 20px;background:var(--rimowa-black)}
  .brand img{height:40px}
  .hero{aspect-ratio:auto}
  .hero-image{height:125vw;min-height:480px}
  .hero-image img{filter:none}
  .hero-image::after{background:linear-gradient(0deg,rgba(13,9,1,.68),rgba(13,9,1,.08) 60%,transparent)}
  .hero-copy{position:static;width:100%;padding:40px 20px 44px;background:var(--rimowa-black)}
  .hero h1{max-width:9ch;font-size:42px;line-height:1.02}
  .hero-lede{font-size:15px}
  .hero-actions{display:grid;width:100%;gap:4px;margin-top:28px}
  .hero-actions .button,.hero-actions .cta{width:100%;justify-content:flex-start}
  .intro-grid,.materials-grid,.story-grid,.contact-inner{grid-template-columns:1fr}
  .collection-grid{grid-template-columns:1fr;gap:64px}
  .section-heading{grid-template-columns:1fr;margin-bottom:40px}
  .price-list>article{grid-template-columns:1fr;gap:20px;padding:28px 0}
  .delivery-grid{grid-template-columns:1fr}
  .delivery-grid article+article{border-left:0;border-top:1px solid rgba(13,9,1,.25)!important}
  .footer-inner{grid-template-columns:1fr;align-items:start}
}

@media(max-width:1440px){
  #collections,#catalog,#delivery{background:var(--rimowa-white)!important}
}

/* FINAL FIX — no floating white panels on the graphite storefront.
   The centered content grid may keep its generous gutters, but every
   editorial section shares one continuous surface. Photos and swatches
   remain the only colour interruptions. */
html,body,#main,
#intro,#collections,#materials,#catalog,#story,#delivery,.contact,.footer{
  background:var(--rimowa-black)!important;
  color:var(--rimowa-white)!important;
}
#collections,#catalog,#delivery{background:var(--rimowa-black)!important}
#collections h2,#collections h3,#catalog h2,#catalog h3,#delivery h2,#delivery h3,
#catalog dt,#catalog dd,#delivery span,
#collections .item-palette>p,#collections .palette-swatches b,
#collections .item-details figcaption{
  color:var(--rimowa-white)!important;
}
#collections p:not(.eyebrow),#catalog p:not(.eyebrow),#delivery p:not(.eyebrow),
#collections .eyebrow,#catalog .eyebrow,#delivery .eyebrow,
#collections .card-meta,#catalog .card-meta,
#collections .card-copy>p:not(.card-meta),#collections .card-subtitle{
  color:#c8cbca!important;
}
#catalog .price-list,#catalog .price-list>article,
#delivery .delivery-grid,#delivery .delivery-grid article+article{
  border-color:rgba(255,255,255,.22)!important;
}
#collections .item-palette{border-top-color:rgba(255,255,255,.22)!important}
#collections .palette-swatches span,#collections .item-details figure{
  background:#2a2e2f!important;
  border-color:rgba(255,255,255,.24)!important;
}
#delivery .delivery-grid article+article{border-left-color:rgba(255,255,255,.22)!important}
.story{background:var(--rimowa-black)!important;color:var(--rimowa-white)!important}
.story h2{color:var(--rimowa-white)!important}
.story-copy>p:not(.eyebrow){color:#c8cbca!important}
