/** Shopify CDN: Minification failed

Line 810:2 Expected identifier but found "."
Line 812:0 Unexpected "}"

**/
/* =========================================================================
   ELMAIYE v5 — Design System
   Editorial luxury jewellery, converting Shopify-grade
   ========================================================================= */

:root{
  /* Palette — warm cream + soft gold + charcoal */
  --ivory:      #F6F1EA;
  --cream:      #FBF7F2;
  --cream-2:    #F0E8DC;
  --ink:        #1A1613;
  --charcoal:   #2A2521;
  --mute:       #8A7F73;
  --line:       #E3D9CB;
  --line-2:     #EFE7DA;
  --gold:       #B08D57;
  --gold-deep:  #8E6E3E;
  --gold-soft:  #D4B896;

  /* Editorial (Sensus-inspired) */
  --coral:      #C24E1A;
  --coral-2:    #D46E3E;
  --coral-soft: #F5D8C4;
  --navy:       #0F1420;
  --umber:      #6B3D2A;
  --umber-2:    #4E2C1F;
  --peach:      #F1DCC4;
  --peach-soft: #F7E9D8;
  --script-serif: "Fraunces", "Times New Roman", serif;
  --error:      #B4381E;
  --success:    #4A6B3E;

  /* Type */
  --serif: "Fraunces", "Times New Roman", serif;
  --sans:  "Inter Tight", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;

  /* Radii */
  --r-xs: 3px;
  --r-sm: 6px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-pill: 999px;

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur: 320ms;
  --dur-slow: 640ms;

  /* Layout */
  --wrap: 1440px;
  --gutter: clamp(20px, 3.2vw, 44px);
  --nav-h: 68px;
  --announce-h: 40px;
}

/* Reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-behavior:smooth; overflow-x:clip}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img,svg{display:block; max-width:100%}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer}
input,select,textarea{font:inherit; color:inherit}
h1,h2,h3,h4,h5,p,figure,ul,ol{margin:0; padding:0}
ul,ol{list-style:none}
::selection{background:var(--ink); color:var(--cream)}

/* Typography scale */
.display, h1.display{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(48px, 8vw, 116px);
  line-height:0.95;
  letter-spacing:-0.02em;
  font-variation-settings:"opsz" 144;
}
.display em, h1.display em{
  font-style:italic;
  font-variation-settings:"opsz" 144;
}
h1,.h1{ font-family:var(--serif); font-weight:300; font-size:clamp(36px, 5vw, 68px); line-height:1.02; letter-spacing:-0.02em; font-variation-settings:"opsz" 120 }
h2,.h2{ font-family:var(--serif); font-weight:300; font-size:clamp(30px, 4vw, 54px); line-height:1.05; letter-spacing:-0.018em; font-variation-settings:"opsz" 96 }
h3,.h3{ font-family:var(--serif); font-weight:300; font-size:clamp(22px, 2.4vw, 34px); line-height:1.12; letter-spacing:-0.012em; font-variation-settings:"opsz" 60 }
h4,.h4{ font-family:var(--serif); font-weight:400; font-size:clamp(18px, 1.6vw, 22px); line-height:1.2 }
h1 em,h2 em,h3 em{ font-style:italic }
.eyebrow{
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--gold-deep);
  display:inline-block;
}
.eyebrow.mute{color:var(--mute)}
.eyebrow.ink{color:var(--ink)}
.lede{ font-size:clamp(16px, 1.4vw, 19px); line-height:1.55; color:var(--charcoal); max-width:58ch }
.mute{ color:var(--mute) }
.mono{ font-family:var(--sans); font-feature-settings:"tnum"; letter-spacing:0.02em }

/* Layout */
.wrap{
  width:100%;
  max-width:var(--wrap);
  margin:0 auto;
  padding-inline:var(--gutter);
}
.section{ padding-block:clamp(64px, 8vw, 128px) }
.section--tight{ padding-block:clamp(40px, 5vw, 72px) }
.section--flush{ padding-block:0 }
.stack > * + *{ margin-top:1rem }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px;
  font-family:var(--sans);
  font-size:13px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:500;
  border-radius:var(--r-pill);
  transition:all var(--dur) var(--ease-out);
  cursor:pointer; border:1px solid transparent;
  white-space:nowrap;
}
.btn-dark{ background:var(--ink); color:var(--cream) }
.btn-dark:hover{ background:var(--charcoal); transform:translateY(-1px) }
.btn-light{ background:var(--cream); color:var(--ink) }
.btn-light:hover{ background:#fff; transform:translateY(-1px) }
.btn-outline{ background:transparent; color:var(--ink); border-color:var(--ink) }
.btn-outline:hover{ background:var(--ink); color:var(--cream) }
.btn-outline-light{ background:transparent; color:var(--cream); border-color:var(--cream) }
.btn-outline-light:hover{ background:var(--cream); color:var(--ink) }
.btn-gold{ background:var(--gold); color:var(--cream) }
.btn-gold:hover{ background:var(--gold-deep) }
.btn-block{ width:100%; justify-content:center }
.btn-sm{ padding:10px 18px; font-size:11px }
.btn-lg{ padding:18px 34px; font-size:13px }

.btn-text{
  display:inline-flex; align-items:center; gap:10px;
  font-size:12px; letter-spacing:0.18em; text-transform:uppercase; font-weight:500;
  padding-bottom:6px;
  border-bottom:1px solid currentColor;
  transition:color var(--dur) var(--ease-out), gap var(--dur) var(--ease-out);
}
.btn-text:hover{ gap:16px; color:var(--gold-deep) }
.btn-arrow{ display:inline-block; width:14px; height:1px; background:currentColor; position:relative; transition:width var(--dur) var(--ease-out) }
.btn-arrow::after{ content:""; position:absolute; right:0; top:-3px; width:6px; height:6px; border-right:1px solid currentColor; border-top:1px solid currentColor; transform:rotate(45deg) }
.btn-text:hover .btn-arrow{ width:22px }

/* Announce carousel */
.announce{
  background:var(--ink);
  color:var(--cream);
  height:var(--announce-h);
  display:flex; align-items:center; justify-content:center;
  font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  overflow:hidden;
  position:relative;
}
.announce__slide{
  display:none;
  align-items:center; gap:14px;
  animation:fadeIn var(--dur) var(--ease-out);
}
.announce__slide.is-active{ display:inline-flex }
.announce__dot{ width:3px; height:3px; border-radius:50%; background:var(--gold-soft) }

@keyframes fadeIn{ from{opacity:0} to{opacity:1} }

/* Header */
.header{
  position:sticky; top:0; z-index:80;
  background:var(--cream);
  border-bottom:1px solid transparent;
  transition:background var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);
}
.header.is-scrolled{ background:rgba(251,247,242,0.94); backdrop-filter:blur(14px); border-bottom-color:var(--line-2) }
.header.is-transparent{ background:transparent; color:var(--cream); position:absolute; top:var(--announce-h); left:0; right:0 }
.header.is-transparent.is-scrolled{ background:rgba(251,247,242,0.94); color:var(--ink); position:fixed; top:0 }
.header__row{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  padding:0 var(--gutter);
  height:var(--nav-h);
}
.brand{
  font-family:var(--sans);
  font-weight:500;
  font-size:16px;
  letter-spacing:0.34em;
  text-transform:uppercase;
  justify-self:center;
  color:inherit;
}
.nav{ display:flex; align-items:center; gap:26px; font-size:13px; letter-spacing:0.06em }
.nav a{ position:relative; padding:6px 0; transition:color var(--dur) var(--ease-out) }
.nav a:hover{ color:var(--gold-deep) }
.nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  height:1px; background:currentColor; transform:scaleX(0); transform-origin:right;
  transition:transform var(--dur) var(--ease-out);
}
.nav a:hover::after{ transform:scaleX(1); transform-origin:left }
.nav__right{ justify-self:end; gap:18px }
.nav__left{ justify-self:start }
.nav-icons{ display:flex; align-items:center; gap:12px }
.icon-btn{
  width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:var(--r-pill); transition:background var(--dur) var(--ease-out);
}
.icon-btn:hover{ background:var(--cream-2) }
.icon-btn svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.4 }
.bag-count{
  position:absolute; top:-4px; right:-4px;
  min-width:16px; height:16px; padding:0 4px;
  background:var(--gold); color:var(--cream);
  font-size:10px; font-weight:600; border-radius:var(--r-pill);
  display:inline-flex; align-items:center; justify-content:center;
}
.icon-btn__wrap{ position:relative }
.menu-toggle{ display:none }

/* Sub-nav (secondary) */
.subnav{
  border-top:1px solid var(--line-2);
  border-bottom:1px solid var(--line-2);
  background:var(--cream);
}
.subnav__row{
  display:flex; align-items:center; justify-content:center; gap:34px;
  height:44px;
  font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  overflow-x:auto; white-space:nowrap;
  padding-inline:var(--gutter);
}
.subnav__row a{ color:var(--charcoal); transition:color var(--dur) var(--ease-out) }
.subnav__row a:hover, .subnav__row a.is-active{ color:var(--ink); font-weight:500 }

/* Mobile menu */
.mobile-panel{
  position:fixed; inset:0; z-index:120;
  background:var(--cream); color:var(--ink);
  transform:translateX(-100%); transition:transform var(--dur) var(--ease-in-out);
  padding:24px var(--gutter); display:flex; flex-direction:column;
  overflow-y:auto;
}
.mobile-panel.is-open{ transform:translateX(0) }
.mobile-panel__head{ display:flex; justify-content:space-between; align-items:center; padding-bottom:24px; border-bottom:1px solid var(--line) }
.mobile-panel__nav{ padding-top:24px; display:flex; flex-direction:column; gap:2px }
.mobile-panel__nav a{
  font-family:var(--serif); font-weight:300; font-size:32px; line-height:1.2;
  padding:14px 0; border-bottom:1px solid var(--line-2);
}
.mobile-panel__foot{ margin-top:auto; padding-top:24px; display:flex; flex-direction:column; gap:8px; font-size:13px }

/* Hero */
.hero{
  position:relative;
  min-height:min(88vh, 900px);
  overflow:hidden;
  background:var(--ink);
  color:var(--cream);
  display:flex; align-items:flex-end;
}
.hero__media, .hero__media img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.hero__media{ background-size:cover; background-position:center }
.hero__media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(26,22,19,0.28) 0%, rgba(26,22,19,0.05) 40%, rgba(26,22,19,0.65) 100%);
}
.hero__content{
  position:relative;
  padding:var(--gutter);
  padding-bottom:clamp(48px, 6vw, 96px);
  width:100%;
  max-width:var(--wrap); margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end;
}
.hero__title{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(52px, 8.6vw, 132px);
  line-height:0.92; letter-spacing:-0.025em;
  font-variation-settings:"opsz" 144;
  max-width:14ch;
}
.hero__title em{ font-style:italic }
.hero__aside{ display:flex; flex-direction:column; gap:24px; max-width:44ch; padding-bottom:8px }
.hero__sub{ font-size:16px; line-height:1.55; opacity:0.9 }
.hero__actions{ display:flex; gap:12px; flex-wrap:wrap }
.hero__scroll{
  position:absolute; right:var(--gutter); top:50%; transform:translateY(-50%) rotate(90deg);
  transform-origin:right center;
  display:flex; align-items:center; gap:14px;
  font-size:11px; letter-spacing:0.24em; text-transform:uppercase;
  color:var(--cream); opacity:0.7;
}
.hero__scroll::after{ content:""; width:60px; height:1px; background:var(--cream) }

/* Promise ticker */
.promise{
  background:var(--ink); color:var(--cream);
  padding:18px 0; overflow:hidden;
  border-top:1px solid rgba(255,255,255,0.06);
}
.promise__row{
  display:flex; gap:60px; white-space:nowrap;
  animation:tickerScroll 42s linear infinite;
  font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
}
.promise__row span{ display:inline-flex; align-items:center; gap:12px; opacity:0.85 }
.promise__row span::after{ content:""; width:3px; height:3px; border-radius:50%; background:var(--gold-soft); margin-left:60px }
@keyframes tickerScroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* Category cards */
.cat-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:14px;
}
.cat-card{
  position:relative; display:block;
  aspect-ratio:3/4; overflow:hidden; border-radius:var(--r-md);
  background:var(--cream-2);
}
.cat-card__img{
  position:absolute; inset:0; background-size:cover; background-position:center;
  transition:transform 900ms var(--ease-out);
}
.cat-card:hover .cat-card__img{ transform:scale(1.05) }
.cat-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(26,22,19,0.55) 100%);
}
.cat-card__label{
  position:absolute; left:20px; right:20px; bottom:20px;
  color:var(--cream);
  display:flex; align-items:center; justify-content:space-between;
  z-index:2;
}
.cat-card__label h3{ font-size:clamp(20px, 1.9vw, 26px) }
.cat-card__label .btn-arrow{ background:var(--cream) }

/* Section head */
.sec-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  padding-bottom:36px;
}
.sec-head__l{ display:flex; flex-direction:column; gap:14px; max-width:52ch }
.sec-head__l h2 em{ font-style:italic }

/* Product grid */
.products{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:20px 16px;
}
.product{
  position:relative;
  display:flex; flex-direction:column; gap:14px;
}
.product__media{
  position:relative;
  aspect-ratio:1/1;
  background:var(--cream-2);
  border-radius:var(--r-sm);
  overflow:hidden;
  display:block;
}
.product__img{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transition:opacity 500ms var(--ease-out), transform 900ms var(--ease-out);
}
.product__img--alt{ opacity:0 }
.product:hover .product__img--main{ opacity:0 }
.product:hover .product__img--alt{ opacity:1 }
.product:hover .product__img{ transform:scale(1.04) }
.product__badges{
  position:absolute; top:12px; left:12px; z-index:2;
  display:flex; flex-direction:column; gap:6px; align-items:flex-start;
}
.badge{
  padding:4px 10px;
  font-size:10px; letter-spacing:0.16em; text-transform:uppercase; font-weight:500;
  background:var(--cream); color:var(--ink);
  border-radius:var(--r-pill);
}
.badge--dark{ background:var(--ink); color:var(--cream) }
.badge--gold{ background:var(--gold); color:var(--cream) }
.product__wish{
  position:absolute; top:12px; right:12px; z-index:2;
  width:32px; height:32px; border-radius:50%;
  background:rgba(251,247,242,0.9); backdrop-filter:blur(8px);
  display:inline-flex; align-items:center; justify-content:center;
  transition:background var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);
}
.product__wish:hover{ background:var(--cream); transform:scale(1.06) }
.product__wish svg{ width:14px; height:14px; stroke:var(--ink); fill:none; stroke-width:1.4 }
.product__wish.is-saved svg{ fill:var(--gold); stroke:var(--gold) }
.product__quick{
  position:absolute; left:12px; right:12px; bottom:12px;
  padding:11px 14px;
  background:var(--ink); color:var(--cream);
  font-size:11px; letter-spacing:0.16em; text-transform:uppercase; font-weight:500;
  text-align:center; border-radius:var(--r-pill);
  opacity:0; transform:translateY(6px);
  transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);
  z-index:2;
  cursor:pointer;
}
.product:hover .product__quick{ opacity:1; transform:translateY(0) }
.product__info{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding-inline:2px }
.product__info-l{ display:flex; flex-direction:column; gap:3px; min-width:0 }
.product__name{ font-family:var(--sans); font-size:14px; font-weight:500; letter-spacing:0; line-height:1.3 }
.product__meta{ font-size:11px; color:var(--mute); letter-spacing:0.06em }
.product__price{ font-size:14px; font-weight:500; text-align:right; white-space:nowrap }
.product__price s{ color:var(--mute); font-weight:400; margin-right:6px }

/* Filter bar */
.filter-bar{
  display:flex; gap:8px; flex-wrap:wrap;
  padding-bottom:28px;
}
.chip{
  padding:9px 18px;
  font-size:12px; letter-spacing:0.12em; text-transform:uppercase; font-weight:500;
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  background:transparent;
  transition:all var(--dur) var(--ease-out);
  color:var(--charcoal);
}
.chip:hover{ border-color:var(--ink); color:var(--ink) }
.chip.is-active{ background:var(--ink); color:var(--cream); border-color:var(--ink) }
.chip__count{ font-size:10px; opacity:0.6; margin-left:6px }

/* Horizontal scroll carousel */
.rail{
  display:flex; gap:20px;
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-left:var(--gutter);
  padding-inline:var(--gutter);
  padding-bottom:6px;
  scrollbar-width:none;
}
.rail::-webkit-scrollbar{ display:none }
.rail > .product{ flex:0 0 clamp(240px, 22vw, 320px); scroll-snap-align:start }
.rail-controls{ display:flex; gap:8px; justify-content:flex-end; padding-inline:var(--gutter); margin-top:20px }
.rail-controls button{
  width:44px; height:44px; border:1px solid var(--line); border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);
}
.rail-controls button:hover{ background:var(--ink); color:var(--cream); border-color:var(--ink) }
.rail-controls svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:1.4 }

/* Studio (piercing) block */
.studio{
  position:relative;
  min-height:640px;
  border-radius:var(--r-lg);
  overflow:hidden;
  color:var(--cream);
  display:flex; align-items:flex-end;
  margin-inline:var(--gutter);
  padding:clamp(32px, 4vw, 60px);
}
.studio__bg{ position:absolute; inset:0; background-size:cover; background-position:center }
.studio__bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(26,22,19,0.6) 0%, rgba(26,22,19,0.15) 60%, rgba(26,22,19,0.7) 100%);
}
.studio__content{
  position:relative; z-index:2; max-width:520px;
  display:flex; flex-direction:column; gap:22px;
}
.studio__title{ font-family:var(--serif); font-weight:300; font-size:clamp(36px, 4.6vw, 62px); line-height:1.02; letter-spacing:-0.02em }
.studio__title em{ font-style:italic }
.studio__list{ display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; padding-top:8px }
.studio__list li{ font-size:13px; letter-spacing:0.04em; display:flex; gap:10px; align-items:center }
.studio__list li::before{ content:""; width:16px; height:1px; background:var(--gold-soft) }

/* Editorial split */
.split{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px, 5vw, 96px);
  align-items:center;
}
.split__img{
  aspect-ratio:4/5; border-radius:var(--r-md);
  background-size:cover; background-position:center;
}
.split__content{ display:flex; flex-direction:column; gap:20px; max-width:52ch }
.split__stats{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; padding-top:20px; margin-top:20px; border-top:1px solid var(--line) }
.split__stats dt{ font-family:var(--serif); font-weight:300; font-size:36px; line-height:1; letter-spacing:-0.02em }
.split__stats dd{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--mute); margin-top:6px }

/* Testimonials */
.testimonials{
  background:var(--ivory);
  padding:clamp(56px, 7vw, 96px) 0;
  overflow:hidden;
}
.review-rail{
  display:flex; gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding-inline:var(--gutter);
  scrollbar-width:none;
}
.review-rail::-webkit-scrollbar{ display:none }
.review{
  flex:0 0 clamp(300px, 30vw, 420px);
  background:var(--cream);
  border-radius:var(--r-md); padding:28px;
  display:flex; flex-direction:column; gap:16px;
  scroll-snap-align:start;
}
.review__stars{ display:flex; gap:2px }
.review__stars svg{ width:14px; height:14px; fill:var(--gold) }
.review__body{ font-family:var(--serif); font-weight:300; font-size:19px; line-height:1.4; letter-spacing:-0.01em }
.review__foot{ display:flex; align-items:center; gap:14px; margin-top:auto }
.review__thumb{ width:56px; height:56px; border-radius:var(--r-sm); background-size:cover; background-position:center; background-color:var(--cream-2) }
.review__name{ font-size:13px; font-weight:500 }
.review__prod{ font-size:11px; color:var(--mute); text-transform:uppercase; letter-spacing:0.14em }

/* Journal grid */
.journal-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;
}
.article{ display:flex; flex-direction:column; gap:16px; group:card; }
.article__media{ aspect-ratio:4/3; border-radius:var(--r-sm); overflow:hidden; background:var(--cream-2) }
.article__img{
  width:100%; height:100%;
  background-size:cover; background-position:center;
  transition:transform 800ms var(--ease-out);
}
.article:hover .article__img{ transform:scale(1.05) }
.article__meta{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--mute) }
.article__title{ font-family:var(--serif); font-weight:300; font-size:22px; line-height:1.2; letter-spacing:-0.01em }

/* Newsletter */
.newsletter{
  background:var(--ink); color:var(--cream);
  padding:clamp(64px, 8vw, 120px) var(--gutter);
}
.newsletter__inner{
  max-width:var(--wrap); margin:0 auto;
  display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px, 4vw, 80px); align-items:center;
}
.newsletter__title{ font-family:var(--serif); font-weight:300; font-size:clamp(32px, 4vw, 56px); line-height:1.02; letter-spacing:-0.02em }
.newsletter__title em{ font-style:italic }
.newsletter__sub{ margin-top:16px; opacity:0.75; font-size:15px; max-width:44ch }
.newsletter__form{ display:flex; flex-direction:column; gap:14px }
.newsletter__row{ display:flex; gap:0; border:1px solid rgba(251,247,242,0.3); border-radius:var(--r-pill); overflow:hidden }
.newsletter__row input{
  flex:1; background:transparent; border:0; padding:16px 22px;
  color:var(--cream); font-size:14px;
}
.newsletter__row input::placeholder{ color:rgba(251,247,242,0.5) }
.newsletter__row button{
  padding:14px 26px; background:var(--cream); color:var(--ink);
  font-size:12px; letter-spacing:0.14em; text-transform:uppercase; font-weight:500;
  border-radius:0;
}
.newsletter__row button:hover{ background:var(--gold-soft) }
.newsletter__consent{ font-size:11px; letter-spacing:0.06em; opacity:0.6 }

/* Footer */
.footer{
  background:var(--cream);
  padding:clamp(64px, 7vw, 96px) var(--gutter) 32px;
  border-top:1px solid var(--line-2);
}
.footer__grid{
  max-width:var(--wrap); margin:0 auto;
  display:grid; grid-template-columns:1.4fr repeat(4, 1fr); gap:48px 32px;
  padding-bottom:56px; border-bottom:1px solid var(--line-2);
}
.footer__brand{ display:flex; flex-direction:column; gap:20px; max-width:34ch }
.footer__logo{ font-family:var(--sans); font-weight:500; font-size:18px; letter-spacing:0.34em; text-transform:uppercase }
.footer__tag{ font-size:13px; color:var(--charcoal); line-height:1.5 }
.footer__social{ display:flex; gap:10px }
.footer__social a{
  width:36px; height:36px; border-radius:50%;
  border:1px solid var(--line);
  display:inline-flex; align-items:center; justify-content:center;
  transition:all var(--dur) var(--ease-out);
}
.footer__social a:hover{ background:var(--ink); color:var(--cream); border-color:var(--ink) }
.footer__social svg{ width:15px; height:15px; fill:currentColor }
.footer__col h5{ font-size:11px; letter-spacing:0.2em; text-transform:uppercase; font-weight:600; margin-bottom:18px; color:var(--ink) }
.footer__col ul{ display:flex; flex-direction:column; gap:10px }
.footer__col li a{ font-size:13px; color:var(--charcoal); transition:color var(--dur) var(--ease-out) }
.footer__col li a:hover{ color:var(--ink); text-decoration:underline }
.footer__bottom{
  max-width:var(--wrap); margin:32px auto 0;
  display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
  font-size:12px; color:var(--mute);
}
.footer__pay{ display:flex; gap:8px; align-items:center }
.footer__pay span{
  padding:5px 10px; border:1px solid var(--line); border-radius:var(--r-xs);
  font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--charcoal);
}

/* Cart drawer */
.drawer{
  position:fixed; inset:0; z-index:150;
  pointer-events:none;
}
.drawer.is-open{ pointer-events:auto }
.drawer__scrim{
  position:absolute; inset:0;
  background:rgba(26,22,19,0.4); backdrop-filter:blur(6px);
  opacity:0; transition:opacity var(--dur) var(--ease-out);
}
.drawer.is-open .drawer__scrim{ opacity:1 }
.drawer__panel{
  position:absolute; top:0; right:0; bottom:0;
  width:min(440px, 96vw);
  background:var(--cream);
  transform:translateX(100%); transition:transform var(--dur) var(--ease-in-out);
  display:flex; flex-direction:column;
}
.drawer.is-open .drawer__panel{ transform:translateX(0) }
.drawer__head{
  padding:22px 24px; border-bottom:1px solid var(--line-2);
  display:flex; justify-content:space-between; align-items:center;
}
.drawer__title{ font-family:var(--serif); font-weight:400; font-style:italic; font-size:22px }
.drawer__body{ flex:1; overflow-y:auto; padding:24px }
.drawer__foot{ border-top:1px solid var(--line-2); padding:22px 24px; display:flex; flex-direction:column; gap:14px }
.drawer__row{ display:flex; justify-content:space-between; align-items:center; font-size:14px }
.drawer__total{ font-family:var(--serif); font-size:22px; font-weight:400 }

.cart-item{ display:flex; gap:16px; padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--line-2) }
.cart-item__img{ width:84px; height:84px; border-radius:var(--r-sm); background-size:cover; background-position:center; background-color:var(--cream-2); flex-shrink:0 }
.cart-item__info{ flex:1; display:flex; flex-direction:column; gap:6px }
.cart-item__title{ font-size:14px; font-weight:500 }
.cart-item__meta{ font-size:11px; color:var(--mute); letter-spacing:0.06em }
.cart-item__foot{ margin-top:auto; display:flex; justify-content:space-between; align-items:center }
.qty{
  display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:var(--r-pill); overflow:hidden;
}
.qty button{ width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; font-size:14px }
.qty button:hover{ background:var(--cream-2) }
.qty span{ min-width:24px; text-align:center; font-size:13px; font-weight:500 }

/* Collection banner */
.collection-hero{
  padding:clamp(64px, 8vw, 120px) 0 clamp(32px, 4vw, 56px);
  text-align:center;
}
.collection-hero__title{ margin-top:16px }
.collection-hero__sub{ margin-top:16px; max-width:52ch; margin-inline:auto; color:var(--charcoal) }
.collection-hero__count{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--mute); margin-top:20px }

/* PDP */
.pdp{ padding-top:clamp(24px, 3vw, 40px) }
.pdp__grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(24px, 5vw, 96px); align-items:start }
.pdp__gallery{ display:grid; grid-template-columns:1fr 1fr; gap:8px }
.pdp__img{ aspect-ratio:4/5; background-size:cover; background-position:center; background-color:var(--cream-2); border-radius:var(--r-sm) }
.pdp__img:first-child{ grid-column:span 2; aspect-ratio:1/1 }
.pdp__info{ position:sticky; top:calc(var(--nav-h) + 24px); display:flex; flex-direction:column; gap:22px; padding-block:8px }
.pdp__crumbs{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--mute) }
.pdp__title{ font-family:var(--serif); font-weight:300; font-size:clamp(32px, 3.6vw, 48px); line-height:1.02; letter-spacing:-0.02em; font-variation-settings:"opsz" 96 }
.pdp__price-row{ display:flex; align-items:center; gap:14px }
.pdp__price{ font-family:var(--serif); font-weight:400; font-size:24px }
.pdp__price s{ color:var(--mute); font-weight:300; margin-right:8px }
.pdp__reviews{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--charcoal) }
.pdp__reviews svg{ width:12px; height:12px; fill:var(--gold) }
.pdp__opt{ display:flex; flex-direction:column; gap:10px }
.pdp__opt-label{ font-size:12px; letter-spacing:0.14em; text-transform:uppercase; font-weight:500 }
.pdp__opt-list{ display:flex; gap:8px; flex-wrap:wrap }
.opt{
  padding:11px 18px; border:1px solid var(--line); border-radius:var(--r-pill);
  font-size:13px; cursor:pointer;
  transition:all var(--dur) var(--ease-out);
}
.opt:hover{ border-color:var(--ink) }
.opt.is-active{ background:var(--ink); color:var(--cream); border-color:var(--ink) }
.pdp__actions{ display:flex; flex-direction:column; gap:10px }
.pdp__usp{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:14px;
  padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  margin-top:8px;
}
.pdp__usp-item{ text-align:center; display:flex; flex-direction:column; gap:6px; align-items:center }
.pdp__usp-item svg{ width:22px; height:22px; stroke:var(--gold-deep); fill:none; stroke-width:1.4 }
.pdp__usp-item span{ font-size:11px; letter-spacing:0.06em; color:var(--charcoal) }
.pdp__acc{ border-top:1px solid var(--line-2) }
.pdp__acc details{ border-bottom:1px solid var(--line-2) }
.pdp__acc summary{
  list-style:none; cursor:pointer;
  padding:18px 0;
  display:flex; justify-content:space-between; align-items:center;
  font-size:13px; letter-spacing:0.12em; text-transform:uppercase; font-weight:500;
}
.pdp__acc summary::-webkit-details-marker{ display:none }
.pdp__acc summary::after{ content:"+"; font-size:20px; color:var(--charcoal); transition:transform var(--dur) var(--ease-out) }
.pdp__acc details[open] summary::after{ transform:rotate(45deg) }
.pdp__acc-body{ padding-bottom:22px; font-size:14px; color:var(--charcoal); line-height:1.6 }

/* About / editorial */
.about-hero{
  padding:clamp(80px, 10vw, 160px) 0 clamp(60px, 7vw, 100px);
  text-align:center;
}
.about-hero__eyebrow{ margin-bottom:14px }
.about-hero__title{ max-width:20ch; margin:0 auto }
.timeline{ position:relative; padding-inline:var(--gutter) }
.timeline__item{
  display:grid; grid-template-columns:120px 1fr; gap:32px;
  padding:32px 0; border-top:1px solid var(--line-2);
}
.timeline__year{ font-family:var(--serif); font-weight:300; font-size:26px; letter-spacing:-0.01em }
.timeline__body h4{ margin-bottom:8px }
.timeline__body p{ color:var(--charcoal); max-width:52ch }

/* FAQ */
.faq{ max-width:820px; margin:0 auto }
.faq details{
  border-bottom:1px solid var(--line-2);
}
.faq summary{
  padding:24px 0; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:20px;
  font-family:var(--serif); font-weight:400; font-size:20px; letter-spacing:-0.01em;
  list-style:none;
}
.faq summary::-webkit-details-marker{ display:none }
.faq summary::after{
  content:""; width:14px; height:14px; flex-shrink:0;
  border-right:1px solid var(--ink); border-bottom:1px solid var(--ink);
  transform:rotate(45deg); transform-origin:60% 60%;
  transition:transform var(--dur) var(--ease-out);
}
.faq details[open] summary::after{ transform:rotate(-135deg) }
.faq details p{ padding:0 0 24px; color:var(--charcoal); line-height:1.65 }
.faq__cats{ display:flex; gap:8px; margin-bottom:40px; justify-content:center; flex-wrap:wrap }

/* Forms */
.form{ max-width:520px; display:flex; flex-direction:column; gap:16px }
.field{ display:flex; flex-direction:column; gap:6px }
.field label{ font-size:11px; letter-spacing:0.16em; text-transform:uppercase; font-weight:500 }
.field input, .field textarea, .field select{
  padding:14px 16px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  font-size:14px;
  transition:border-color var(--dur) var(--ease-out);
}
.field input:focus, .field textarea:focus, .field select:focus{ outline:0; border-color:var(--ink) }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px }

/* Utilities */
.hide-mobile{ display:initial }
.hide-desktop{ display:none }
.text-center{ text-align:center }
.mt-lg{ margin-top:clamp(40px, 5vw, 72px) }

/* Reveal on scroll */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity 900ms var(--ease-out), transform 900ms var(--ease-out) }
.reveal.is-visible{ opacity:1; transform:none }
.reveal.delay-1{ transition-delay:80ms }
.reveal.delay-2{ transition-delay:160ms }
.reveal.delay-3{ transition-delay:240ms }

/* =========================================================================
   EDITORIAL (Sensus × A&M) — v5.1 sections
   ========================================================================= */
.ed-body{ background:var(--cream) }

.announce--dark{ background:var(--navy); color:#F1E7DA; font-weight:500 }

.header--editorial{ background:var(--cream); border-bottom:0 }
.header--editorial .brand{ letter-spacing:0.36em; font-size:16px; font-weight:600 }
.header--editorial .subnav{ border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); background:var(--cream); }
.header--editorial .subnav__row a{ color:var(--charcoal); font-size:11.5px; letter-spacing:0.16em }

.ed-label{
  font-family:var(--sans); font-size:10.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--charcoal); font-weight:600; display:inline-block;
}

/* Editorial Hero */
.ed-hero{
  position:relative;
  background:var(--peach-soft);
  ...
}
}
  padding:clamp(48px, 6vw, 96px) var(--gutter) 0;
  overflow:hidden;
  border-bottom:1px solid var(--line-2);
}
.ed-hero__wash{
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 20% 30%, rgba(255,220,180,0.9), transparent 60%),
             radial-gradient(ellipse at 80% 70%, rgba(232,180,140,0.5), transparent 55%);
  pointer-events:none;
}
.ed-hero__markshape{
  position:absolute; right:-10%; top:-8%;
  width:60%; max-width:900px; opacity:0.14;
  pointer-events:none;
}
.ed-hero__grid{
  position:relative;
  max-width:var(--wrap); margin:0 auto;
  display:grid; grid-template-columns:1.15fr 1fr; grid-template-rows:auto auto;
  gap:24px 60px; align-items:end;
  min-height:min(78vh, 780px);
  padding-bottom:60px;
}
.ed-hero__title-block{ grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:22px; padding-top:40px }
.ed-hero__eyebrow{
  font-family:var(--sans); font-size:11px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--coral); font-weight:600;
}
.ed-hero__title{ font-family:var(--serif); font-weight:300; line-height:0.92; letter-spacing:-0.02em; display:flex; flex-direction:column; gap:6px }
.ed-hero__script{
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(44px, 6.4vw, 96px);
  color:var(--ink);
  font-variation-settings:"opsz" 144;
}
.ed-hero__display{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(56px, 8.6vw, 132px);
  letter-spacing:-0.03em; text-transform:uppercase;
  line-height:0.88;
  color:var(--ink);
  font-variation-settings:"opsz" 144;
}
.ed-hero__image{
  grid-column:2; grid-row:1 / span 2;
  aspect-ratio:4/5;
  background-size:cover; background-position:center;
  border-radius:2px;
  align-self:stretch;
  min-height:540px;
  box-shadow:0 30px 60px -30px rgba(15,20,32,0.25);
}
.ed-hero__aside{ grid-column:1; grid-row:2; display:flex; flex-direction:column; gap:20px; max-width:44ch; padding-bottom:16px }
.ed-hero__aside p{ font-size:16px; line-height:1.55; color:var(--charcoal) }
.ed-hero__cta{ display:flex; gap:10px; flex-wrap:wrap }
.ed-hero__ticker{
  position:relative;
  border-top:1px solid rgba(15,20,32,0.15);
  padding:14px var(--gutter);
  margin:0 calc(var(--gutter) * -1);
  display:flex; justify-content:center; gap:12px; flex-wrap:wrap;
  font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--umber);
}

/* Editorial intro paragraph */
.ed-intro{
  padding:clamp(60px, 8vw, 120px) var(--gutter);
  text-align:center;
}
.ed-intro p{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(20px, 2.4vw, 30px);
  line-height:1.36; letter-spacing:-0.01em;
  max-width:32ch; margin:0 auto;
  color:var(--ink);
  font-variation-settings:"opsz" 96;
}
.ed-intro em{ font-style:italic }

.ed-section{ padding-block:clamp(56px, 7vw, 100px) }
.ed-head{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line-2);
  margin-bottom:32px;
}

/* Shop by moment */
.moment-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;
}
.moment{
  display:flex; flex-direction:column; gap:14px;
  transition:transform var(--dur) var(--ease-out);
}
.moment__img{
  aspect-ratio:4/5;
  background-size:cover; background-position:center;
  background-color:var(--peach-soft);
  border-radius:var(--r-sm);
  overflow:hidden;
  transition:transform 900ms var(--ease-out);
}
.moment:nth-child(1) .moment__img{ background-color:#EFE1D0 }
.moment:nth-child(2) .moment__img{ background-color:#E5D6C3 }
.moment:nth-child(3) .moment__img{ background-color:#F0D9BF }
.moment:nth-child(4) .moment__img{ background-color:#DFCFB9 }
.moment:hover .moment__img{ transform:scale(1.04) }
.moment__label{
  font-family:var(--serif); font-weight:400; font-style:italic;
  font-size:22px; letter-spacing:-0.01em;
  color:var(--ink);
}

/* Small-caps marquee (brands/attributes) */
.marquee{
  background:var(--peach-soft);
  color:var(--umber);
  padding:22px 0; overflow:hidden;
  border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2);
}
.marquee__row{
  display:flex; gap:44px; white-space:nowrap;
  animation:tickerScroll 48s linear infinite;
  font-family:var(--serif); font-weight:400; font-style:italic;
  font-size:clamp(22px, 2.4vw, 34px);
  letter-spacing:-0.01em;
}
.marquee__row em{ font-style:normal; color:var(--coral); opacity:0.65 }

/* Press marquee */
.press{
  padding:32px 0; overflow:hidden;
  background:var(--cream); border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2);
}
.press__row{
  display:flex; gap:68px; white-space:nowrap;
  animation:tickerScroll 60s linear infinite;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(20px, 2.2vw, 28px);
  color:var(--charcoal); letter-spacing:0.02em;
  align-items:center;
}
.press__row span{ opacity:0.85 }

/* Feature strip (ALFIE style) */
.feature-strip{
  background:var(--peach);
  padding:clamp(48px, 6vw, 96px) var(--gutter);
}
.feature-strip__inner{
  max-width:var(--wrap); margin:0 auto;
  display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(24px, 3vw, 48px);
  align-items:stretch;
}
.feature-strip__portrait{
  aspect-ratio:4/5;
  background-size:cover; background-position:center;
  border-radius:2px;
  min-height:520px;
}
.feature-strip__cards{ display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:stretch }
.feature-strip__brand{
  background:var(--cream);
  padding:32px 28px;
  display:flex; flex-direction:column; gap:16px;
  border-radius:2px;
}
.feature-strip__logo{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(38px, 4.2vw, 58px);
  line-height:0.9; letter-spacing:-0.03em;
  color:var(--ink);
  text-transform:uppercase;
}
.feature-strip__brand p{ font-size:14px; color:var(--charcoal); line-height:1.55 }
.feature-strip__prods{ display:grid; grid-template-rows:1fr 1fr; gap:16px }
.fp-card{
  background:var(--cream); padding:20px;
  display:flex; flex-direction:column; gap:12px;
  border-radius:2px;
  transition:transform var(--dur) var(--ease-out);
}
.fp-card:hover{ transform:translateY(-2px) }
.fp-card__img{ flex:1; background-size:contain; background-position:center; background-repeat:no-repeat; min-height:120px }
.fp-card span{ font-size:12px; letter-spacing:0.06em; color:var(--charcoal); text-align:center }

/* Get to know */
.know{
  position:relative;
  padding:clamp(80px, 10vw, 160px) var(--gutter);
  background:var(--cream);
  overflow:hidden;
  min-height:min(80vh, 720px);
  display:flex; align-items:center;
}
.know__mark{
  position:absolute; right:-6%; top:50%; transform:translateY(-50%);
  width:70%; max-width:1000px; opacity:0.95;
  pointer-events:none;
}
.know__content{
  position:relative; z-index:2;
  max-width:40ch; display:flex; flex-direction:column; gap:20px;
  max-width:var(--wrap); width:100%; margin:0 auto;
}
.know__content > *{ max-width:36ch }
.know__title{ font-family:var(--serif); font-weight:300; display:flex; flex-direction:column; gap:6px; line-height:0.92 }
.know__script{ font-style:italic; font-size:clamp(36px, 4vw, 54px); font-variation-settings:"opsz" 96 }
.know__display{ font-weight:500; font-size:clamp(48px, 6vw, 88px); letter-spacing:-0.03em; font-variation-settings:"opsz" 144 }
.know p{ font-size:15px; line-height:1.6; color:var(--charcoal) }

/* Edit block (Autumn Edit) */
.edit-block{ padding:clamp(56px, 7vw, 100px) var(--gutter); background:var(--cream) }
.edit-block__inner{
  max-width:var(--wrap); margin:0 auto;
  display:grid; grid-template-columns:1.6fr 1fr; gap:24px;
}
.edit-block__flat{
  position:relative;
  background:var(--peach); border-radius:2px;
  aspect-ratio:4/3;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.edit-block__scene{ width:65%; height:auto; opacity:0.95 }
.edit-block__hover{
  position:absolute; left:32px; bottom:32px;
  background:var(--cream); padding:24px;
  max-width:280px;
  display:flex; flex-direction:column; gap:12px;
  border-radius:2px;
  box-shadow:0 12px 32px -12px rgba(15,20,32,0.2);
}
.edit-block__hover p{ font-size:13px; line-height:1.5; color:var(--charcoal) }
.edit-block__list{ display:flex; flex-direction:column; gap:12px; align-content:flex-start }
.edit-item{
  display:flex; gap:14px; align-items:center;
  padding:12px; background:var(--peach-soft);
  border-radius:2px;
  transition:background var(--dur) var(--ease-out);
}
.edit-item:hover{ background:var(--peach) }
.edit-item img{ width:56px; height:56px; object-fit:contain; background:var(--cream); border-radius:2px; padding:6px }
.edit-item h5{ font-family:var(--sans); font-weight:500; font-size:13px }
.edit-item span{ font-size:12px; color:var(--mute); letter-spacing:0.06em }

/* Editorial portrait */
.ed-portrait{
  padding:clamp(56px, 7vw, 100px) var(--gutter);
  max-width:var(--wrap); margin:0 auto;
  display:grid; grid-template-columns:1.5fr 1fr; gap:60px; align-items:center;
}
.ed-portrait__frame{
  position:relative;
  aspect-ratio:4/5; border-radius:2px; overflow:hidden;
  background:var(--peach-soft);
}
.ed-portrait__img{ position:absolute; inset:0; background-size:cover; background-position:center }
.ed-portrait__script{
  position:absolute; top:20%; left:50%; transform:translateX(-50%) rotate(-3deg);
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(38px, 5vw, 68px);
  color:var(--cream); line-height:1;
  text-shadow:0 2px 20px rgba(0,0,0,0.35);
  font-variation-settings:"opsz" 96;
}
.ed-portrait__script em{ font-style:italic; font-weight:400 }
.ed-portrait__prod{
  position:absolute; bottom:24px; left:24px;
  background:var(--cream); padding:14px;
  display:flex; align-items:center; gap:12px;
  border-radius:2px;
  box-shadow:0 8px 24px -12px rgba(0,0,0,0.3);
}
.ed-portrait__prodimg{ width:60px; height:60px; background-size:contain; background-repeat:no-repeat; background-position:center; background-color:var(--peach-soft); border-radius:2px }
.ed-portrait__prod h5{ font-family:var(--sans); font-weight:500; font-size:13px }
.ed-portrait__prod span{ font-size:12px; color:var(--mute) }
.ed-portrait__aside{ display:flex; flex-direction:column; gap:16px; max-width:40ch }
.ed-portrait__aside h3{ font-family:var(--serif); font-weight:300; font-size:clamp(24px, 2.8vw, 38px); line-height:1.05; letter-spacing:-0.02em }
.ed-portrait__aside p{ color:var(--charcoal); line-height:1.55 }

/* Journal list (Sensus style) */
.journal-list{ display:flex; flex-direction:column }
.jl-row{
  display:grid; grid-template-columns:120px 160px 1fr auto;
  gap:24px; align-items:center;
  padding:24px 8px;
  border-top:1px solid var(--line-2);
  transition:background var(--dur) var(--ease-out);
}
.jl-row:last-child{ border-bottom:1px solid var(--line-2) }
.jl-row:hover{ background:var(--peach-soft) }
.jl-date{ font-size:11px; letter-spacing:0.16em; color:var(--mute); font-family:var(--sans); font-variant-numeric:tabular-nums }
.jl-cat{ font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--coral); font-weight:600 }
.jl-title{ font-family:var(--serif); font-weight:400; font-size:clamp(18px, 1.5vw, 22px); letter-spacing:-0.01em }

/* Founder quote */
.ed-quote{
  display:grid; grid-template-columns:1fr 1fr;
  min-height:min(70vh, 640px);
}
.ed-quote__flat{ background-size:cover; background-position:center }
.ed-quote__panel{
  background:var(--umber);
  color:#F1E1CE;
  padding:clamp(48px, 6vw, 96px);
  display:flex; flex-direction:column; gap:20px; justify-content:center;
}
.ed-quote__name{
  font-family:var(--serif); font-weight:500; text-transform:uppercase;
  font-size:clamp(28px, 3.6vw, 48px); letter-spacing:0.02em; line-height:1;
  color:var(--cream);
}
.ed-quote blockquote{
  font-family:var(--serif); font-weight:300; font-style:italic;
  font-size:clamp(18px, 1.6vw, 22px); line-height:1.5;
  color:rgba(241,225,206,0.9);
  max-width:44ch;
  font-variation-settings:"opsz" 60;
}
.ed-quote .btn-outline-light{ align-self:flex-start }

/* Community grid */
.community-grid{
  display:grid; grid-template-columns:repeat(6, 1fr); grid-auto-rows:170px; gap:8px;
}
.cm{
  background-size:cover; background-position:center;
  background-color:var(--peach-soft);
  border-radius:2px;
  transition:transform var(--dur) var(--ease-out);
}
.cm:hover{ transform:scale(1.02) }
.cm--tall{ grid-row:span 2 }

/* Newsletter strip */
.know-strip{
  background:var(--umber-2);
  color:#F1E1CE;
  padding:clamp(64px, 8vw, 120px) 0;
}
.know-strip__inner{
  display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:center;
}
.know-strip__title{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(36px, 4.4vw, 60px);
  letter-spacing:-0.01em; text-transform:uppercase;
  line-height:1;
}
.know-strip__title em{ font-style:italic; font-weight:300; text-transform:none; color:var(--peach-soft) }
.know-strip p{ margin-top:12px; opacity:0.75; font-size:14px; line-height:1.6; max-width:46ch }
.ks-form{ display:flex; flex-direction:column; gap:10px }
.ks-row{ display:flex; border-bottom:1px solid rgba(241,225,206,0.3); padding-bottom:8px }
.ks-row input{
  flex:1; background:transparent; border:0; padding:12px 0;
  color:#F1E1CE; font-size:16px; letter-spacing:0.02em;
}
.ks-row input::placeholder{ color:rgba(241,225,206,0.5) }
.ks-row button{
  padding:12px 20px; background:transparent; color:var(--peach-soft);
  font-size:14px; letter-spacing:0.06em;
}
.ks-consent{ font-size:11px; letter-spacing:0.02em; opacity:0.55; margin-top:4px }

/* Tri strip */
.tri{ background:var(--cream); border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2) }
.tri__row{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:32px;
  padding:32px 0; text-align:center;
}
.tri__row div{ display:flex; flex-direction:column; gap:6px; align-items:center }
.tri__row p{ font-family:var(--serif); font-style:italic; font-weight:300; font-size:15px; color:var(--charcoal) }

/* Editorial footer */
.ed-footer{
  background:var(--navy); color:#F1E1CE;
  padding-top:clamp(56px, 7vw, 96px);
}
.ed-footer__grid{
  display:grid; grid-template-columns:repeat(4, 1fr) 1.4fr; gap:40px;
  padding-bottom:64px;
}
.ed-footer__col h5{
  font-family:var(--sans); font-size:11px; letter-spacing:0.28em; text-transform:uppercase; font-weight:600;
  color:var(--peach-soft); margin-bottom:20px;
}
.ed-footer__col ul{ display:flex; flex-direction:column; gap:10px }
.ed-footer__col li a{ font-size:13.5px; color:rgba(241,225,206,0.75); transition:color var(--dur) var(--ease-out) }
.ed-footer__col li a:hover{ color:var(--peach-soft) }
.ed-footer__form{ display:flex; border-bottom:1px solid rgba(241,225,206,0.3); padding-bottom:4px; margin-bottom:14px }
.ed-footer__form input{ flex:1; background:transparent; border:0; padding:8px 0; color:#F1E1CE; font-size:14px }
.ed-footer__form input::placeholder{ color:rgba(241,225,206,0.45) }
.ed-footer__form button{ padding:8px 12px; background:transparent; color:var(--peach-soft); font-size:12px; letter-spacing:0.06em }
.ed-footer__legal{ font-size:11px; opacity:0.55; line-height:1.6; margin-bottom:16px }
.ed-footer__social{ display:flex; gap:8px }
.ed-footer__social a{
  width:32px; height:32px; border:1px solid rgba(241,225,206,0.25); border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:10px; letter-spacing:0.1em;
  transition:all var(--dur) var(--ease-out);
}
.ed-footer__social a:hover{ background:var(--peach-soft); color:var(--navy) }
.ed-footer__mark{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(80px, 20vw, 320px);
  line-height:0.9; letter-spacing:-0.04em;
  text-align:center;
  color:#F1E1CE;
  padding-block:20px 0;
  overflow:hidden;
  border-top:1px solid rgba(241,225,206,0.14);
}
.ed-footer__bottom{
  display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
  padding:24px 0; border-top:1px solid rgba(241,225,206,0.14);
  font-size:11px; letter-spacing:0.06em; color:rgba(241,225,206,0.5);
}
.ed-footer__pay{ display:flex; gap:6px }
.ed-footer__pay span{ padding:4px 8px; border:1px solid rgba(241,225,206,0.25); border-radius:2px; font-size:9px; letter-spacing:0.14em }

/* Responsive */
@media (max-width:1100px){
  .products{ grid-template-columns:repeat(3, 1fr) }
  .cat-grid{ grid-template-columns:repeat(2, 1fr) }
  .footer__grid{ grid-template-columns:1.4fr 1fr 1fr }
  .journal-grid{ grid-template-columns:repeat(2, 1fr) }
}

@media (max-width:820px){
  :root{ --nav-h:60px }
  .hide-mobile{ display:none }
  .hide-desktop{ display:initial }
  .nav.nav__left, .nav.nav__right > a{ display:none }
  .menu-toggle{ display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center }
  .menu-toggle svg{ width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.4 }
  .header__row{ grid-template-columns:auto 1fr auto }
  .brand{ justify-self:center; font-size:22px }
  .subnav__row{ justify-content:flex-start }
  .hero{ min-height:min(80vh, 720px); align-items:flex-end }
  .hero__content{ grid-template-columns:1fr; gap:20px }
  .hero__title{ font-size:clamp(44px, 12vw, 68px) }
  .hero__scroll{ display:none }
  .products{ grid-template-columns:repeat(2, 1fr); gap:16px 10px }
  .split{ grid-template-columns:1fr; gap:32px }
  .split__stats{ grid-template-columns:repeat(3, 1fr); gap:16px }
  .newsletter__inner{ grid-template-columns:1fr; gap:24px }
  .footer__grid{ grid-template-columns:1fr 1fr; gap:32px 20px }
  .footer__brand{ grid-column:1/-1 }
  .cat-card{ aspect-ratio:4/5 }
  .pdp__grid{ grid-template-columns:1fr; gap:32px }
  .pdp__info{ position:static }
  .pdp__gallery{ grid-template-columns:1fr }
  .pdp__img:first-child{ grid-column:auto }
  .studio{ margin-inline:16px; min-height:520px }
  .studio__list{ grid-template-columns:1fr }
  .timeline__item{ grid-template-columns:1fr; gap:8px }
  .review{ flex-basis:78vw }
  .cat-grid{ grid-template-columns:1fr 1fr; gap:10px }
  .rail > .product{ flex-basis:65vw }
  .sec-head{ flex-direction:column; align-items:flex-start; gap:16px }
}
