/* ============================================================
   KREVALO — Shared stylesheet · v2 (editorial rhythm)
   Aligns with /Krevalo_DESIGN.md (Stitch DESIGN.md v1 · 2026-04-25)
   Maps to Shopify color schemes 1-5 (sch-1 through sch-5)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;1,9..144,300;1,9..144,400&family=Inter:wght@400;500;600&display=swap');

/* ===== Design tokens ===== */
:root{
  /* Color · 11 tokens (DESIGN.md §2) */
  --bone:#F7F3EC;        /* canvas primary */
  --bone-warm:#FBF8F2;   /* canvas soft */
  --sand:#DDD0B8;        /* surface warm */
  --stone:#B8A890;       /* surface neutral */
  --line:#E8E0D1;        /* border + divider */
  --clay:#B85A3D;        /* accent (único) — hover only */
  --sage:#7D8471;        /* natural accent */
  --sage-dk:#5E6656;
  --ink:#2D2926;         /* heading + structural */
  --text:#4A453E;        /* body */
  --muted:#8A8276;       /* tertiary */
  --stone-dk:#8A7E6A;

  /* Type scale · ratio 1.25, anchor 16px (DESIGN.md §3) */
  --t-eyebrow:11px;      /* Inter 500 0.22em uppercase */
  --t-meta:12px;         /* Inter 400 0.06em */
  --t-ui:13px;           /* Inter 500 0.04em */
  --t-body-sm:14px;      /* Inter 400 */
  --t-body:15px;         /* Inter 400 default */
  --t-prose:16px;        /* Inter 400 long-form */
  --t-prose-lg:17px;     /* Inter 400 lead */
  --t-h6:20px;           /* Fraunces 400 */
  --t-h5:24px;
  --t-h4:32px;
  --t-h3:40px;
  --t-h2:52px;
  --t-h1:64px;
  --t-display:80px;
  --t-display-lg:104px;

  /* Line-heights · 4 categorias */
  --lh-display:1.05;     /* h1, h2 desktop */
  --lh-heading:1.15;     /* h3-h6 */
  --lh-ui:1.4;           /* nav, buttons */
  --lh-body:1.7;         /* paragraph */
  --lh-prose:1.75;       /* long prose */

  /* Letter-spacing · 4 categorias */
  --ls-display:-0.018em; /* h1, h2 */
  --ls-heading:-0.01em;  /* h3-h6 */
  --ls-body:0;
  --ls-ui:0.04em;
  --ls-tab:0.08em;
  --ls-eyebrow:0.22em;

  /* Spacing scale · base 8 (DESIGN.md §5) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px;
  --s-5:20px; --s-6:24px; --s-7:28px; --s-8:32px;
  --s-10:40px; --s-12:48px; --s-14:56px; --s-16:64px;
  --s-20:80px; --s-24:96px; --s-30:120px; --s-40:160px;

  /* Section rhythm */
  --sec-tight:48px;
  --sec-sm:64px;
  --sec-default:96px;
  --sec-lg:120px;

  /* Other */
  --shadow:0 8px 40px rgba(45,41,38,0.08);
  --tx:.25s ease;
  --tx-slow:.35s cubic-bezier(.77,0,.175,1);
  --radius:2px;
}

/* ===== Reset ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bone);
  color:var(--text);
  font-family:'Inter',system-ui,sans-serif;
  font-size:var(--t-body);
  line-height:var(--lh-body);
  letter-spacing:var(--ls-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,picture,video{max-width:100%;display:block}
button{background:none;border:none;cursor:pointer;font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
input,select,textarea{font:inherit;color:inherit}

/* ===== Typography (DESIGN.md §3) ===== */
h1,h2,h3,h4,h5,h6,.heading{
  font-family:'Fraunces',Georgia,serif;
  font-weight:300;
  color:var(--ink);
  line-height:var(--lh-heading);
  letter-spacing:var(--ls-heading);
}
h1{font-size:var(--t-h1);line-height:var(--lh-display);letter-spacing:var(--ls-display)}
h2{font-size:var(--t-h2);line-height:var(--lh-display);letter-spacing:var(--ls-display)}
h3{font-size:var(--t-h4);font-weight:400}
h4{font-size:var(--t-h6);font-weight:400}
h5{font-size:var(--t-body);font-weight:500;font-family:'Inter',sans-serif;letter-spacing:var(--ls-eyebrow);text-transform:uppercase}
h6{font-size:var(--t-meta);font-weight:500;font-family:'Inter',sans-serif;letter-spacing:var(--ls-eyebrow);text-transform:uppercase}

em,.italic{font-style:italic}
em{font-weight:inherit}

/* Eyebrow — universal label */
.eyebrow{
  display:inline-block;
  font-family:'Inter',sans-serif;
  font-size:var(--t-eyebrow);
  letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;
  font-weight:500;
  color:var(--muted);
  line-height:1.5;
}
.clay{color:var(--clay)}
.muted{color:var(--muted)}
.lead{font-size:var(--t-prose-lg);line-height:var(--lh-body);color:var(--text)}

/* ===== Layout helpers ===== */
.wrap{max-width:1360px;margin:0 auto;padding:0 var(--s-8)}
.wrap-sm{max-width:920px;margin:0 auto;padding:0 var(--s-8)}
.wrap-xs{max-width:680px;margin:0 auto;padding:0 var(--s-8)}
section{padding:var(--sec-default) 0}
section.sm,section.section-pad-sm{padding:var(--sec-sm) 0}
section.tight{padding:var(--sec-tight) 0}
section.lg{padding:var(--sec-lg) 0}
.section-pad{padding:var(--sec-default) 0}
.section-pad-sm{padding:var(--sec-sm) 0}

/* ===== Color schemes (DESIGN.md §2) ===== */
.sch-1{background:var(--bone);color:var(--text)}
.sch-2{background:var(--ink);color:var(--sand)}
.sch-2 h1,.sch-2 h2,.sch-2 h3,.sch-2 h4{color:var(--bone)}
.sch-2 .eyebrow{color:var(--sand)}
.sch-3{background:var(--sand);color:var(--text)}
.sch-4{background:var(--sage);color:var(--bone)}
.sch-4 h1,.sch-4 h2,.sch-4 h3,.sch-4 h4{color:var(--bone)}
.sch-4 .eyebrow{color:var(--bone);opacity:0.7}
.sch-5{background:var(--stone);color:var(--text)}
.sch-soft{background:var(--bone-warm);color:var(--text)}

/* ===== Buttons (DESIGN.md §4) ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:12.5px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;
  padding:15px 28px;
  border:1px solid transparent;
  cursor:pointer;transition:all var(--tx);
  border-radius:var(--radius);
  line-height:1;
}
.btn-primary{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.btn-primary:hover{background:var(--clay);border-color:var(--clay)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:var(--bone)}
.btn-light{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.btn-light:hover{background:var(--clay);color:var(--bone);border-color:var(--clay)}
.btn-outline-light{background:transparent;color:var(--bone);border-color:var(--bone)}
.btn-outline-light:hover{background:var(--bone);color:var(--ink)}
.btn-lg{padding:17px 36px;font-size:13px}
.btn-link{font-size:var(--t-ui);letter-spacing:var(--ls-ui);border-bottom:1px solid currentColor;padding-bottom:2px;text-transform:none;font-weight:400;display:inline-block;transition:color .2s}
.btn-link:hover{color:var(--clay)}

/* ===== Announcement bar ===== */
.announcement{background:var(--ink);color:var(--bone);padding:11px 0;overflow:hidden;font-size:var(--t-meta);letter-spacing:0.08em}
.announcement-track{display:flex;gap:60px;white-space:nowrap;animation:ticker 40s linear infinite}
.announcement-track span{display:inline-flex;align-items:center;gap:60px}
.announcement-track span::after{content:"·";opacity:0.5}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== Header ===== */
.site-header{background:var(--bone);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px var(--s-8);max-width:1360px;margin:0 auto;gap:var(--s-8)}
.nav-left,.nav-right{display:flex;align-items:center;gap:var(--s-7)}
.nav-right{justify-content:flex-end}
.brand{font-family:'Fraunces',serif;font-weight:400;font-size:var(--t-h5);letter-spacing:0.18em;color:var(--ink);text-align:center}
.nav-link{font-size:var(--t-ui);letter-spacing:var(--ls-ui);color:var(--ink);font-weight:500;padding:8px 0;position:relative;cursor:pointer;transition:color .2s}
.nav-link:hover{color:var(--clay)}
.nav-link.has-mega::after{content:"";display:inline-block;width:8px;height:8px;margin-left:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .3s}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--ink);transition:all .2s;position:relative}
.icon-btn:hover{background:var(--line)}
.icon-btn svg{width:19px;height:19px;stroke-width:1.6}
.cart-count{position:absolute;top:2px;right:2px;background:var(--clay);color:var(--bone);font-size:10px;font-weight:600;min-width:17px;height:17px;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;font-family:'Inter',sans-serif}
.locale{font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text);padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}

/* ===== Mega menu ===== */
.mega{position:absolute;top:100%;left:0;right:0;background:var(--bone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:48px var(--s-8);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .3s ease;z-index:99}
.mega.open{opacity:1;visibility:visible;transform:translateY(0)}
.mega-inner{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:48px}
.mega-col h5{font-size:var(--t-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);margin-bottom:18px;font-family:'Inter',sans-serif;font-weight:500}
.mega-col a{display:block;font-size:var(--t-body-sm);padding:6px 0;color:var(--text);transition:color .2s}
.mega-col a:hover{color:var(--clay)}
.mega-feature{position:relative;background:var(--sand);border-radius:var(--radius);overflow:hidden;min-height:260px;padding:var(--s-6);display:flex;flex-direction:column;justify-content:flex-end;color:var(--ink)}
.mega-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.mega-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(45,41,38,0.6));z-index:1}
.mega-feature h4{position:relative;z-index:2;font-size:22px;color:var(--bone);margin-bottom:6px}
.mega-feature p{position:relative;z-index:2;font-size:var(--t-body-sm);color:var(--bone);opacity:0.9}

/* ===== Hero ===== */
.hero{position:relative;height:88vh;min-height:640px;background:var(--bone);overflow:hidden}
.hero img.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,41,38,0.1) 0%,rgba(45,41,38,0.5) 100%);z-index:1}
.hero-content{position:absolute;bottom:72px;left:64px;right:64px;z-index:2;color:var(--bone);max-width:720px}
.hero-content .eyebrow{color:var(--bone);opacity:0.85;margin-bottom:18px}
.hero-content h1{font-size:clamp(var(--t-h2),8vw,var(--t-display-lg));color:var(--bone);margin-bottom:18px;font-weight:300;line-height:0.98;letter-spacing:-0.022em}
.hero-content h1 em{font-style:italic;font-weight:300}
.hero-content p{font-size:var(--t-prose-lg);color:var(--bone);opacity:0.92;max-width:500px;margin-bottom:28px;line-height:var(--lh-body)}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-dots{position:absolute;bottom:36px;right:48px;z-index:3;display:flex;gap:8px}
.hero-dot{width:28px;height:1px;background:rgba(247,243,236,0.4);cursor:pointer;transition:background .3s}
.hero-dot.active{background:var(--bone)}

/* ===== Trust strip ===== */
.trust{background:var(--bone-warm);border-bottom:1px solid var(--line);padding:30px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-10);align-items:center}
.trust-item{display:flex;align-items:center;gap:14px}
.trust-item svg{width:28px;height:28px;color:var(--ink);flex-shrink:0;stroke-width:1.4}
.trust-item .title{font-size:var(--t-ui);color:var(--ink);font-weight:500;margin-bottom:3px;letter-spacing:0}
.trust-item .sub{font-size:var(--t-meta);color:var(--muted)}

/* ===== Section header ===== */
.section-head{margin-bottom:var(--s-12);display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--s-6)}
.section-head .left .eyebrow{margin-bottom:14px}
.section-head h2{font-size:clamp(var(--t-h4),4vw,var(--t-h2));max-width:640px;font-weight:300}
.section-head h2 em{font-style:italic;font-weight:300}
.section-head .right{padding-bottom:10px}
.section-head .right a{font-size:var(--t-ui);border-bottom:1px solid var(--ink);padding-bottom:4px;color:var(--ink);letter-spacing:var(--ls-ui);transition:color .2s}
.section-head .right a:hover{color:var(--clay)}
.section-head-center{text-align:center;max-width:720px;margin:0 auto 60px;display:block}
.section-head-center .eyebrow{margin-bottom:14px;display:inline-block}
.section-head-center h2{font-size:clamp(var(--t-h4),4vw,56px);margin-bottom:18px;font-weight:300}
.section-head-center h2 em{font-style:italic;font-weight:300}
.section-head-center p{font-size:var(--t-prose);color:var(--text);max-width:560px;margin:0 auto}

/* ===== Collection cards (home) ===== */
.coll-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.coll-card{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--sand);cursor:pointer}
.coll-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;position:absolute;inset:0}
.coll-card:hover img{transform:scale(1.04)}
.coll-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(45,41,38,0.7));z-index:1}
.coll-card .content{position:absolute;bottom:28px;left:28px;right:28px;color:var(--bone);z-index:2}
.coll-card .num{font-size:var(--t-eyebrow);letter-spacing:var(--ls-eyebrow);opacity:0.85;margin-bottom:8px;font-weight:500}
.coll-card h3{font-size:var(--t-h4);color:var(--bone);margin-bottom:4px;font-weight:300;line-height:var(--lh-heading)}
.coll-card .count{font-size:var(--t-meta);opacity:0.8;letter-spacing:0.08em}
.coll-card .arrow{position:absolute;top:24px;right:24px;width:40px;height:40px;border-radius:50%;background:var(--bone);display:flex;align-items:center;justify-content:center;z-index:2;opacity:0;transform:translateX(10px);transition:all .4s ease}
.coll-card:hover .arrow{opacity:1;transform:translateX(0)}
.coll-card .arrow svg{width:16px;height:16px;color:var(--ink)}

/* ===== Product cards ===== */
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-7)}
.prod-card{display:block;background:var(--bone);position:relative;color:var(--text)}
.prod-card .media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bone-warm);margin-bottom:var(--s-4)}
.prod-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.prod-card:hover .media img{transform:scale(1.04)}
.badge{position:absolute;top:14px;left:14px;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;padding:5px 10px;background:var(--bone);color:var(--ink);font-weight:500;z-index:2;border-radius:var(--radius)}
.badge-clay{background:var(--clay);color:var(--bone)}
.badge-sage{background:var(--sage);color:var(--bone)}
.wishlist{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:var(--bone);display:flex;align-items:center;justify-content:center;z-index:2;opacity:0;transform:translateY(-4px);transition:all .3s ease;color:var(--ink)}
.prod-card:hover .wishlist{opacity:1;transform:translateY(0)}
.wishlist svg{width:15px;height:15px;stroke-width:1.5}
.quick-add{position:absolute;bottom:0;left:0;right:0;background:var(--ink);color:var(--bone);padding:13px;text-align:center;font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;transform:translateY(100%);transition:transform .3s ease;z-index:2;font-weight:500}
.prod-card:hover .quick-add{transform:translateY(0)}
.prod-card .cat{font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:500}
.prod-card h3{font-size:18px;font-weight:400;color:var(--ink);margin-bottom:4px;letter-spacing:-0.005em;line-height:var(--lh-heading);font-family:'Inter',sans-serif}
.prod-card .price{font-size:var(--t-body-sm);color:var(--text);margin-bottom:8px;font-family:'Fraunces',serif;font-weight:400}
.prod-card .price del{color:var(--muted);margin-right:8px;font-size:var(--t-meta);font-family:'Inter',sans-serif}
.prod-card .swatches{display:flex;gap:5px;margin-top:4px}
.prod-card .swatch{width:14px;height:14px;border-radius:50%;border:1px solid var(--line);cursor:pointer}

/* ===== Tabs ===== */
.tabs{display:flex;gap:var(--s-6);margin-bottom:var(--s-10);border-bottom:1px solid var(--line);padding-bottom:0;overflow-x:auto}
.tab{font-size:var(--t-ui);letter-spacing:var(--ls-tab);text-transform:uppercase;padding:12px 2px;color:var(--muted);cursor:pointer;border-bottom:1px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:all .2s}
.tab.active{color:var(--ink);border-bottom-color:var(--ink)}
.tab:hover{color:var(--ink)}

/* ===== Hero product showcase ===== */
.showcase{display:grid;grid-template-columns:6fr 4fr;gap:0;min-height:680px}
.showcase-media{position:relative;overflow:hidden;background:var(--stone)}
.showcase-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.showcase-media .badge{top:24px;left:24px;background:var(--clay);color:var(--bone)}
.showcase-text{padding:80px 72px;display:flex;flex-direction:column;justify-content:center}
.showcase-text h2{font-size:clamp(var(--t-h4),4vw,var(--t-h2));color:var(--bone);margin:14px 0 22px;font-weight:300;letter-spacing:var(--ls-display)}
.showcase-text h2 em{font-style:italic;font-weight:300}
.showcase-text p{color:var(--sand);opacity:0.92;margin-bottom:28px;max-width:440px;line-height:var(--lh-body);font-size:var(--t-prose)}
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-6);padding:var(--s-6) 0;border-top:1px solid rgba(221,208,184,0.2);border-bottom:1px solid rgba(221,208,184,0.2);margin-bottom:28px}
.specs .spec .lbl{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;opacity:0.6;margin-bottom:6px}
.specs .spec .val{font-size:var(--t-body);color:var(--bone);font-family:'Fraunces',serif;font-weight:400}
.showcase-text .price{font-size:var(--t-h6);color:var(--bone);margin-bottom:28px;font-family:'Fraunces',serif}
.showcase-cta{display:flex;gap:12px;flex-wrap:wrap}

/* ===== Principles grid ===== */
.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-10);text-align:center;max-width:1100px;margin:0 auto}
.principle .symbol{font-family:'Fraunces',serif;font-size:46px;font-style:italic;color:var(--clay);margin-bottom:14px;font-weight:300;line-height:1}
.principle h4{font-size:var(--t-h6);margin-bottom:10px;font-weight:400}
.principle p{font-size:var(--t-body-sm);color:var(--text);line-height:var(--lh-body)}

/* ===== Rooms ===== */
.rooms{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.room{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer}
.room img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.room:hover img{transform:scale(1.05)}
.room::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(45,41,38,0.65));z-index:1}
.room .content{position:absolute;bottom:22px;left:22px;right:22px;color:var(--bone);z-index:2}
.room .num{font-size:10.5px;letter-spacing:0.2em;opacity:0.85;margin-bottom:6px;font-weight:500}
.room h3{font-size:22px;color:var(--bone);font-weight:300;line-height:var(--lh-heading)}

/* ===== Materials ===== */
.materials{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.material{background:var(--bone);aspect-ratio:4/5;display:flex;flex-direction:column;overflow:hidden}
.material .media{flex:0 0 62%;position:relative;overflow:hidden}
.material .media img{width:100%;height:100%;object-fit:cover}
.material .chip{position:absolute;top:14px;left:14px;background:var(--bone);color:var(--ink);font-size:10px;padding:4px 9px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;border-radius:var(--radius)}
.material .text{padding:var(--s-5) 22px;flex:1;display:flex;flex-direction:column;justify-content:center}
.material h4{font-size:22px;margin-bottom:6px;font-weight:400;letter-spacing:var(--ls-heading)}
.material p{font-size:var(--t-body-sm);color:var(--text)}

/* ===== FAQ ===== */
.faq{display:grid;grid-template-columns:1fr 2fr;gap:var(--s-20);align-items:flex-start}
.faq-head h2{font-size:var(--t-h3);margin:14px 0 16px;font-weight:300;letter-spacing:var(--ls-display)}
.faq-head h2 em{font-style:italic;font-weight:300}
.faq-head p{font-size:var(--t-body);color:var(--text);margin-bottom:28px;line-height:var(--lh-body)}
.faq-list{display:flex;flex-direction:column}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-q{display:flex;justify-content:space-between;align-items:center;width:100%;padding:22px 0;text-align:left;font-size:var(--t-prose);color:var(--ink);font-weight:400;font-family:'Fraunces',serif;letter-spacing:var(--ls-heading);line-height:1.4}
.faq-q .plus{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;font-size:18px;font-weight:300;color:var(--ink);transition:transform .3s;flex-shrink:0;margin-left:var(--s-4)}
.faq-item.open .faq-q .plus{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;padding:0;color:var(--text);font-size:var(--t-body);line-height:var(--lh-body)}
.faq-item.open .faq-a{max-height:400px;padding:0 0 22px}

/* ===== Newsletter ===== */
.newsletter{padding:var(--sec-lg) 0;text-align:center;background:var(--ink);color:var(--bone)}
.newsletter .eyebrow{color:var(--sand);display:inline-block;margin-bottom:18px}
.newsletter h2{font-size:clamp(var(--t-h3),5vw,var(--t-h1));color:var(--bone);margin-bottom:18px;font-weight:300;letter-spacing:var(--ls-display);line-height:var(--lh-display)}
.newsletter h2 em{font-style:italic;font-weight:300}
.newsletter p{color:var(--sand);opacity:0.92;max-width:520px;margin:0 auto var(--s-10);font-size:var(--t-prose);line-height:var(--lh-body)}
.newsletter-form{display:flex;max-width:460px;margin:0 auto;gap:0;border-bottom:1px solid var(--sand);padding-bottom:4px}
.newsletter-form input{flex:1;background:transparent;border:none;outline:none;color:var(--bone);font-size:var(--t-body);padding:12px 0;font-family:'Inter',sans-serif}
.newsletter-form input::placeholder{color:var(--sand);opacity:0.6}
.newsletter-form button{color:var(--bone);font-size:var(--t-meta);letter-spacing:0.12em;text-transform:uppercase;padding:12px 0 12px 20px;font-weight:500}
.newsletter-form button:hover{color:var(--clay)}
.newsletter .small{font-size:11.5px;color:var(--sand);opacity:0.6;margin-top:20px}

/* ===== Footer ===== */
.site-footer{background:var(--ink);color:var(--sand);padding:80px 0 var(--s-8)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px}
.footer-brand .brand-mark{font-family:'Fraunces',serif;font-size:32px;letter-spacing:0.2em;color:var(--bone);margin-bottom:var(--s-4);font-weight:400}
.footer-brand p{color:var(--sand);opacity:0.78;font-size:var(--t-body-sm);max-width:300px;line-height:var(--lh-body);margin-bottom:22px}
.footer-social{display:flex;gap:12px}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(221,208,184,0.2);display:flex;align-items:center;justify-content:center;color:var(--sand);transition:all .2s}
.footer-social a:hover{background:var(--sand);color:var(--ink);border-color:var(--sand)}
.footer-social svg{width:14px;height:14px}
.footer-col h5{font-size:var(--t-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--bone);margin-bottom:18px;font-weight:500;font-family:'Inter',sans-serif}
.footer-col a{display:block;font-size:13.5px;padding:5px 0;color:var(--sand);opacity:0.78;transition:all .2s}
.footer-col a:hover{opacity:1;color:var(--clay)}
.footer-bottom{border-top:1px solid rgba(221,208,184,0.15);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;font-size:var(--t-meta);color:var(--sand);opacity:0.65}
.payment-badges{display:flex;gap:8px;align-items:center}
.payment-badges span{background:var(--sand);color:var(--ink);padding:3px 8px;font-size:10px;font-weight:600;letter-spacing:0.05em;border-radius:var(--radius);opacity:0.8}

/* ===== Cart drawer ===== */
.drawer-overlay{position:fixed;inset:0;background:rgba(45,41,38,0.4);opacity:0;visibility:hidden;transition:all .3s;z-index:200}
.drawer-overlay.open{opacity:1;visibility:visible}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:var(--bone);z-index:201;transform:translateX(100%);transition:transform var(--tx-slow);display:flex;flex-direction:column}
.cart-drawer.open{transform:translateX(0)}
.cart-head{padding:28px 28px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}
.cart-head h3{font-size:22px;font-weight:400}
.cart-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--ink);cursor:pointer}
.cart-body{flex:1;padding:24px 28px;overflow-y:auto}
.cart-item{display:grid;grid-template-columns:80px 1fr;gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px dotted var(--line)}
.cart-item img{width:80px;height:100px;object-fit:cover;background:var(--bone-warm)}
.cart-item .info h4{font-size:14.5px;font-weight:400;margin-bottom:4px;font-family:'Fraunces',serif;letter-spacing:var(--ls-heading)}
.cart-item .info .variant{font-size:var(--t-meta);color:var(--muted);margin-bottom:10px}
.qty-row{display:flex;justify-content:space-between;align-items:center}
.qty-selector{display:flex;border:1px solid var(--line)}
.qty-selector button{width:28px;height:28px;font-size:14px;color:var(--ink)}
.qty-selector span{width:32px;text-align:center;line-height:28px;font-size:var(--t-ui)}
.cart-item .price{font-size:var(--t-body-sm);color:var(--ink);font-family:'Fraunces',serif}
.cart-foot{padding:22px 28px;border-top:1px solid var(--line);background:var(--bone)}
.cart-subtotal{display:flex;justify-content:space-between;margin-bottom:8px}
.cart-subtotal .lbl{font-size:var(--t-body-sm)}
.cart-subtotal .val{font-size:22px;font-family:'Fraunces',serif;color:var(--ink)}
.cart-note{font-size:var(--t-meta);color:var(--muted);margin-bottom:20px}
.cart-actions{display:flex;flex-direction:column;gap:10px}

/* ===== Cookie banner ===== */
.cookie{position:fixed;bottom:28px;left:28px;right:28px;max-width:540px;background:var(--ink);color:var(--bone);padding:24px 28px;z-index:180;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .35s ease;box-shadow:var(--shadow);border-radius:var(--radius)}
.cookie.show{opacity:1;visibility:visible;transform:translateY(0)}
.cookie h4{font-size:17px;color:var(--bone);margin-bottom:10px;font-weight:400}
.cookie p{font-size:var(--t-body-sm);color:var(--sand);opacity:0.92;margin-bottom:18px;line-height:var(--lh-body)}
.cookie-btns{display:flex;gap:10px;flex-wrap:wrap}
.cookie-btns .btn-link{color:var(--sand);opacity:0.85;padding-bottom:1px}
.cookie-btns .btn-link:hover{color:var(--bone);opacity:1}

/* ============================================================
   PAGE-SPECIFIC: Collection
   ============================================================ */
.breadcrumb{padding:20px 0;font-size:var(--t-meta);letter-spacing:0.06em;color:var(--muted)}
.breadcrumb a{color:var(--muted);transition:color .2s}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb span{color:var(--ink)}
.breadcrumb .sep{margin:0 8px;opacity:0.5}

.coll-hero{position:relative;height:420px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--bone);overflow:hidden;background:var(--stone)}
.coll-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.coll-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,41,38,0.15),rgba(45,41,38,0.55));z-index:1}
.coll-hero-content{position:relative;z-index:2;padding:0 var(--s-8);max-width:720px}
.coll-hero-content .eyebrow{color:var(--bone);opacity:0.88;margin-bottom:14px;display:inline-block}
.coll-hero-content h1{color:var(--bone);font-size:clamp(var(--t-h3),6vw,72px);margin-bottom:14px;font-weight:300;letter-spacing:var(--ls-display);line-height:var(--lh-display)}
.coll-hero-content h1 em{font-style:italic;font-weight:300}
.coll-hero-content p{color:var(--bone);opacity:0.92;font-size:var(--t-prose);max-width:560px;margin:0 auto;line-height:var(--lh-body)}

.filter-bar{border-bottom:1px solid var(--line);padding:22px 0;position:sticky;top:76px;background:var(--bone);z-index:10}
.filter-bar-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--s-6);flex-wrap:wrap}
.filter-chips{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.filter-chip{font-size:var(--t-meta);letter-spacing:0.06em;padding:9px 18px;border:1px solid var(--line);color:var(--ink);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius);background:var(--bone)}
.filter-chip:hover{border-color:var(--ink)}
.filter-chip.active{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.filter-chip .caret{font-size:10px;opacity:0.7}
.filter-results{font-size:var(--t-meta);color:var(--muted);letter-spacing:0.04em}
.sort-select{font-size:var(--t-meta);padding:9px 14px;border:1px solid var(--line);background:var(--bone);color:var(--ink);cursor:pointer;border-radius:var(--radius);letter-spacing:0.04em}

.load-more{display:flex;justify-content:center;margin-top:60px;flex-direction:column;align-items:center;gap:18px}
.load-more p{font-size:var(--t-meta);color:var(--muted);letter-spacing:0.06em}

/* ============================================================
   PAGE-SPECIFIC: Product (PDP)
   ============================================================ */
.pdp{padding:40px 0 60px}
.pdp-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:flex-start}
.pdp-gallery{display:grid;grid-template-columns:80px 1fr;gap:var(--s-4);position:sticky;top:100px}
.pdp-thumbs{display:flex;flex-direction:column;gap:10px}
.pdp-thumb{aspect-ratio:1;background:var(--bone-warm);overflow:hidden;cursor:pointer;border:1px solid transparent;transition:all .2s}
.pdp-thumb.active{border-color:var(--ink)}
.pdp-thumb img{width:100%;height:100%;object-fit:cover}
.pdp-main-img{aspect-ratio:4/5;background:var(--bone-warm);overflow:hidden}
.pdp-main-img img{width:100%;height:100%;object-fit:cover}
.pdp-info .cat{font-size:var(--t-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-weight:500}
.pdp-info h1{font-size:clamp(var(--t-h4),3.5vw,48px);margin-bottom:14px;line-height:1.05;font-weight:300;letter-spacing:var(--ls-display)}
.pdp-info h1 em{font-style:italic;font-weight:300}
.pdp-rating{display:flex;align-items:center;gap:10px;margin-bottom:24px;font-size:var(--t-ui)}
.pdp-stars{color:var(--clay);letter-spacing:2px;font-size:14px}
.pdp-rating .count{color:var(--muted)}
.pdp-rating .count a{color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:1px}
.pdp-price{font-size:28px;font-family:'Fraunces',serif;color:var(--ink);margin-bottom:6px;font-weight:400;letter-spacing:var(--ls-heading)}
.pdp-price del{color:var(--muted);font-size:18px;margin-right:10px;font-family:'Inter',sans-serif}
.pdp-tax{font-size:var(--t-meta);color:var(--muted);margin-bottom:28px}

.pdp-section{margin-bottom:28px}
.pdp-section .label{font-size:var(--t-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-weight:500}
.pdp-section .selected{font-size:var(--t-ui);color:var(--ink);margin-left:6px;font-weight:400;text-transform:none;letter-spacing:0.02em}
.pdp-swatches{display:flex;gap:10px}
.pdp-swatch{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);cursor:pointer;position:relative;transition:all .2s}
.pdp-swatch.active{border-color:var(--ink);border-width:1px;box-shadow:0 0 0 2px var(--bone), 0 0 0 3px var(--ink)}
.pdp-size-options{display:flex;gap:10px;flex-wrap:wrap}
.pdp-size{padding:12px 20px;border:1px solid var(--line);font-size:var(--t-ui);letter-spacing:var(--ls-ui);color:var(--ink);cursor:pointer;transition:all .2s;background:var(--bone);border-radius:var(--radius)}
.pdp-size.active{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.pdp-size:hover{border-color:var(--ink)}

.pdp-qty{display:flex;gap:var(--s-4);margin-bottom:22px}
.pdp-qty .qty-selector{height:52px}
.pdp-qty .qty-selector button{width:50px;height:50px;font-size:16px}
.pdp-qty .qty-selector span{width:50px;line-height:50px;font-size:14px}
.pdp-cta{display:flex;gap:10px;margin-bottom:28px}
.pdp-cta .btn{flex:1;padding:17px 28px;font-size:12.5px}

.pdp-quick{border-top:1px solid var(--line);padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:var(--s-8)}
.pdp-quick .item{display:flex;gap:10px;align-items:flex-start}
.pdp-quick svg{width:18px;height:18px;color:var(--ink);flex-shrink:0;margin-top:2px;stroke-width:1.5}
.pdp-quick .title{font-size:var(--t-ui);color:var(--ink);margin-bottom:2px;font-weight:500;letter-spacing:0}
.pdp-quick .sub{font-size:11.5px;color:var(--muted);line-height:1.5}

.pdp-accordion .acc-item{border-top:1px solid var(--line)}
.pdp-accordion .acc-item:last-child{border-bottom:1px solid var(--line)}
.pdp-accordion .acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:14px;color:var(--ink);font-weight:500;letter-spacing:var(--ls-ui);text-align:left;font-family:'Inter',sans-serif}
.pdp-accordion .acc-q .plus{transition:transform .3s;font-size:18px;font-weight:300}
.pdp-accordion .acc-item.open .acc-q .plus{transform:rotate(45deg)}
.pdp-accordion .acc-a{max-height:0;overflow:hidden;transition:max-height .35s,padding .35s;padding:0;color:var(--text);font-size:14px;line-height:var(--lh-body)}
.pdp-accordion .acc-item.open .acc-a{max-height:600px;padding:0 0 20px}
.pdp-accordion .acc-a ul{padding-left:20px;margin-top:8px}
.pdp-accordion .acc-a ul li{padding:3px 0}

/* Product story */
.pdp-story{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:80px;min-height:520px}
.pdp-story .text{padding:80px;background:var(--bone-warm);display:flex;flex-direction:column;justify-content:center}
.pdp-story .text .eyebrow{margin-bottom:14px}
.pdp-story .text h3{font-size:var(--t-h4);margin-bottom:20px;font-weight:300;letter-spacing:var(--ls-display);line-height:var(--lh-display)}
.pdp-story .text h3 em{font-style:italic;font-weight:300}
.pdp-story .text p{margin-bottom:14px;font-size:var(--t-body);line-height:var(--lh-prose);max-width:480px}
.pdp-story .media{background:var(--stone);position:relative;overflow:hidden}
.pdp-story .media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}

/* Reviews */
.reviews-summary{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px;align-items:center}
.reviews-summary .avg{text-align:center}
.reviews-summary .avg .num{font-size:64px;font-family:'Fraunces',serif;font-weight:300;line-height:1;color:var(--ink);margin-bottom:8px;letter-spacing:var(--ls-display)}
.reviews-summary .avg .stars{color:var(--clay);font-size:18px;letter-spacing:3px;margin-bottom:6px}
.reviews-summary .avg .count{font-size:var(--t-meta);color:var(--muted);letter-spacing:0.06em}
.reviews-summary .bars{display:flex;flex-direction:column;gap:7px}
.reviews-summary .bar{display:grid;grid-template-columns:26px 1fr 32px;align-items:center;gap:10px;font-size:var(--t-meta);color:var(--muted)}
.reviews-summary .bar .track{height:5px;background:var(--line);position:relative;border-radius:100px;overflow:hidden}
.reviews-summary .bar .fill{position:absolute;left:0;top:0;bottom:0;background:var(--clay)}

.reviews-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.review{background:var(--bone-warm);padding:28px;border:1px solid var(--line)}
.review .stars{color:var(--clay);font-size:13px;letter-spacing:2px;margin-bottom:12px}
.review h5{font-size:var(--t-body);font-weight:500;color:var(--ink);margin-bottom:10px;font-family:'Fraunces',serif;text-transform:none;letter-spacing:var(--ls-heading);font-weight:400}
.review p{font-size:13.5px;color:var(--text);line-height:var(--lh-body);margin-bottom:16px}
.review .author,.review .meta{font-size:11.5px;color:var(--muted);letter-spacing:0.05em;display:flex;justify-content:space-between;align-items:center}
.review .author .verified{background:var(--sage);color:var(--bone);padding:2px 7px;font-size:9.5px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;border-radius:var(--radius)}

/* ============================================================
   PAGE-SPECIFIC: Legal / Care Guide / FAQ longform
   ============================================================ */
.legal-hero{padding:72px 0 36px;border-bottom:1px solid var(--line)}
.legal-hero .eyebrow{margin-bottom:14px;display:inline-block}
.legal-hero h1{font-size:clamp(var(--t-h3),5vw,56px);margin-bottom:12px;font-weight:300;letter-spacing:var(--ls-display);line-height:var(--lh-display)}
.legal-hero .meta{font-size:12.5px;color:var(--muted);letter-spacing:0.06em}

.legal-body{padding:56px 0 100px}
.legal-body-grid{display:grid;grid-template-columns:240px 1fr;gap:72px}
.legal-nav{position:sticky;top:104px;align-self:flex-start;font-size:var(--t-ui)}
.legal-nav h5{font-size:var(--t-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-weight:500}
.legal-nav a{display:block;padding:6px 0;color:var(--text);transition:color .2s;border-left:1px solid transparent;padding-left:14px;margin-left:-15px}
.legal-nav a:hover,.legal-nav a.active{color:var(--ink);border-color:var(--ink)}
.legal-content{max-width:680px}
.legal-content h2{font-size:26px;margin:48px 0 16px;font-weight:400;letter-spacing:var(--ls-heading);line-height:var(--lh-heading)}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-size:18px;font-weight:500;margin:28px 0 10px;color:var(--ink);font-family:'Inter',sans-serif;letter-spacing:0}
.legal-content p{margin-bottom:14px;line-height:var(--lh-prose);font-size:var(--t-prose)}
.legal-content ul,.legal-content ol{margin:10px 0 18px 22px}
.legal-content li{margin-bottom:7px;line-height:var(--lh-body);font-size:var(--t-prose)}
.legal-content strong{color:var(--ink);font-weight:500}
.legal-content a{color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:1px}
.legal-content a:hover{color:var(--clay)}
.legal-content .callout{background:var(--bone-warm);border-left:2px solid var(--clay);padding:18px 24px;margin:24px 0;font-size:var(--t-body)}
.legal-content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:13.5px}
.legal-content th,.legal-content td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line)}
.legal-content th{background:var(--bone-warm);font-weight:500;color:var(--ink);font-size:var(--t-meta);letter-spacing:0.06em;text-transform:uppercase}

/* ============================================================
   PAGE-SPECIFIC: About
   ============================================================ */
.about-hero{padding:100px 0;text-align:center}
.about-hero .eyebrow{margin-bottom:18px;display:inline-block}
.about-hero h1{font-size:clamp(var(--t-h3),5vw,72px);max-width:840px;margin:0 auto 22px;font-weight:300;letter-spacing:var(--ls-display);line-height:var(--lh-display)}
.about-hero h1 em{font-style:italic;font-weight:300}
.about-hero p{font-size:var(--t-prose-lg);max-width:580px;margin:0 auto;color:var(--text);line-height:var(--lh-body)}

.about-manifesto{padding:80px 0;background:var(--sand);text-align:center}
.about-manifesto blockquote{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(var(--t-h5),3vw,34px);line-height:1.4;max-width:840px;margin:0 auto;color:var(--ink);font-weight:300;letter-spacing:var(--ls-heading)}
.about-manifesto cite{display:block;margin-top:28px;font-size:var(--t-ui);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);font-style:normal}

.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;max-width:1100px;margin:0 auto}
.about-value{text-align:left}
.about-value .num{font-family:'Fraunces',serif;font-size:42px;color:var(--clay);font-style:italic;font-weight:300;margin-bottom:12px;line-height:1}
.about-value h4{font-size:22px;margin-bottom:12px;font-weight:400}
.about-value p{font-size:var(--t-body-sm);line-height:var(--lh-body);color:var(--text)}

.about-split{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:520px;margin-top:80px}
.about-split .media{background:var(--stone);overflow:hidden;position:relative}
.about-split .media img{width:100%;height:100%;object-fit:cover}
.about-split .text{padding:80px;display:flex;flex-direction:column;justify-content:center;max-width:560px}
.about-split .text h3{font-size:36px;margin:14px 0 20px;font-weight:300;letter-spacing:var(--ls-display);line-height:var(--lh-display)}
.about-split .text h3 em{font-style:italic;font-weight:300}
.about-split .text p{margin-bottom:14px;line-height:var(--lh-prose);font-size:var(--t-body)}

/* ============================================================
   COMMERCE v4 · components (Apr 2026)
   Adds: hero rating badge, trust strip v4, press band, shop the look,
   komorebi editorial collection band, testimonials w/ role+city,
   WhatsApp float, footer CET, PDP why-choose + production + quote.
   Inspired by FIG Living, Outlight, Elera Lights.
   ============================================================ */

/* ---- Hero rating badge (social proof above fold) ---- */
.hero-rating{
  display:inline-flex;align-items:center;gap:10px;
  margin-top:24px;padding:10px 18px;
  background:rgba(247,243,236,0.12);backdrop-filter:blur(8px);
  border:1px solid rgba(247,243,236,0.25);border-radius:100px;
  font-family:'Inter',sans-serif;font-size:13px;color:var(--bone);
  letter-spacing:0.04em;
}
.hero-rating .stars{color:var(--clay);letter-spacing:2px;font-size:13px}
.hero-rating .num{font-weight:600}
.hero-rating .sep{opacity:0.5}

/* ---- Trust strip v4 (Elera pattern) ---- */
.trust-v4{background:var(--bone);padding:48px 0;border-bottom:1px solid var(--line)}
.trust-v4-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:stretch}
.trust-v4-item{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:0 24px;position:relative;
}
.trust-v4-item:not(:last-child)::after{
  content:"";position:absolute;right:0;top:20%;bottom:20%;width:1px;background:var(--line);
}
.trust-v4-item svg{width:32px;height:32px;color:var(--clay);stroke-width:1.4;margin-bottom:14px}
.trust-v4-item .ttl{font-family:'Fraunces',serif;font-size:18px;color:var(--ink);font-weight:400;margin-bottom:6px;letter-spacing:-0.005em}
.trust-v4-item .desc{font-size:13px;color:var(--muted);line-height:1.5;max-width:200px}
@media(max-width:1100px){
  .trust-v4-grid{grid-template-columns:repeat(2,1fr);gap:32px 0}
  .trust-v4-item:nth-child(2)::after{display:none}
  .trust-v4-item:nth-child(2n)::after{display:none}
}
@media(max-width:720px){
  .trust-v4-grid{grid-template-columns:1fr;gap:32px}
  .trust-v4-item::after{display:none}
}

/* ---- Press band ("As featured in") ---- */
.press-band{
  background:var(--bone-warm);padding:56px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.press-band .label{
  text-align:center;font-family:'Inter',sans-serif;
  font-size:var(--t-eyebrow);font-weight:500;letter-spacing:0.32em;
  text-transform:uppercase;color:var(--muted);margin-bottom:32px;
}
.press-band .logos{
  display:flex;justify-content:center;align-items:center;
  gap:64px;flex-wrap:wrap;
}
.press-band .logo{
  font-family:'Fraunces',serif;font-weight:400;color:var(--ink);
  opacity:0.55;transition:opacity .25s ease;letter-spacing:0.04em;
  font-size:22px;font-style:italic;
}
.press-band .logo.sans{font-family:'Inter',sans-serif;font-weight:600;font-style:normal;letter-spacing:0.18em;font-size:16px;text-transform:uppercase}
.press-band .logo:hover{opacity:1}
@media(max-width:720px){.press-band .logos{gap:32px}.press-band .logo{font-size:18px}}

/* ---- Shop the Look (curated lookbook) ---- */
.shop-look{
  display:grid;grid-template-columns:7fr 5fr;gap:0;min-height:640px;
}
.shop-look .scene{position:relative;overflow:hidden;background:var(--stone)}
.shop-look .scene img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.shop-look .scene .pin{
  position:absolute;width:36px;height:36px;border-radius:50%;
  background:var(--bone);color:var(--ink);font-family:'Fraunces',serif;
  font-size:14px;font-weight:500;font-style:italic;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 4px 14px rgba(45,41,38,0.2);
  transition:transform .25s ease;z-index:2;
}
.shop-look .scene .pin:hover{transform:scale(1.15)}
.shop-look .scene .pin::after{
  content:"";position:absolute;inset:-6px;border:1px solid var(--bone);
  border-radius:50%;animation:pulse 2.5s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:0;transform:scale(0.9)}50%{opacity:0.7;transform:scale(1.2)}}
.shop-look .picks{padding:64px;display:flex;flex-direction:column;justify-content:center;background:var(--bone-warm)}
.shop-look .picks .eyebrow{margin-bottom:14px}
.shop-look .picks h3{font-size:clamp(28px,3vw,40px);font-weight:300;letter-spacing:var(--ls-display);line-height:var(--lh-display);margin-bottom:32px}
.shop-look .picks h3 em{font-style:italic;font-weight:300}
.shop-look .picks .pick-list{display:flex;flex-direction:column;gap:16px}
.shop-look .picks .pick{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.shop-look .picks .pick:last-child{border-bottom:1px solid var(--line)}
.shop-look .picks .pick .num{font-family:'Fraunces',serif;font-style:italic;color:var(--clay);font-size:18px;width:auto;align-self:flex-start;margin-right:-8px}
.shop-look .picks .pick img{width:80px;height:96px;object-fit:cover;background:var(--bone)}
.shop-look .picks .pick .info h4{font-family:'Inter',sans-serif;font-weight:400;font-size:15px;color:var(--ink);margin-bottom:3px;letter-spacing:0}
.shop-look .picks .pick .info .cat{font-size:11px;color:var(--muted);letter-spacing:0.16em;text-transform:uppercase}
.shop-look .picks .pick .price{font-family:'Fraunces',serif;font-size:16px;color:var(--ink);font-weight:400}
.shop-look .picks .total{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
.shop-look .picks .total .lbl{font-size:13px;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase}
.shop-look .picks .total .val{font-family:'Fraunces',serif;font-size:22px;color:var(--ink)}
.shop-look .picks .cta{margin-top:24px}
@media(max-width:1100px){
  .shop-look{grid-template-columns:1fr;min-height:auto}
  .shop-look .scene{min-height:420px}
  .shop-look .picks{padding:48px 32px}
}
@media(max-width:720px){
  .shop-look .picks{padding:40px 20px}
}

/* ---- Komorebi Edit (editorial collection band) ---- */
.kome-band{
  background:var(--ink);color:var(--bone);padding:var(--sec-lg) 0;position:relative;overflow:hidden;
}
.kome-band .kome-mark{
  position:absolute;top:-12px;right:-12px;font-family:'Fraunces',serif;
  font-style:italic;font-weight:300;font-size:clamp(120px,18vw,260px);
  color:var(--bone);opacity:0.04;letter-spacing:-0.04em;line-height:0.85;
  pointer-events:none;
}
.kome-band .kome-head{text-align:center;margin-bottom:48px;position:relative;z-index:1}
.kome-band .eyebrow{color:var(--sand);margin-bottom:18px;display:inline-block}
.kome-band h2{color:var(--bone);font-size:clamp(40px,5vw,72px);margin-bottom:18px;font-weight:300;letter-spacing:var(--ls-display);line-height:var(--lh-display)}
.kome-band h2 em{font-style:italic;font-weight:300;color:var(--bone)}
.kome-band .lead{color:var(--sand);opacity:0.92;max-width:560px;margin:0 auto;font-size:17px;line-height:1.7;font-family:'Fraunces',serif;font-style:italic;font-weight:300}
.kome-band .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:1}
.kome-band .item{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--stone)}
.kome-band .item img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;position:absolute;inset:0}
.kome-band .item:hover img{transform:scale(1.06)}
.kome-band .item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(45,41,38,0.85));z-index:1}
.kome-band .item .info{position:absolute;bottom:18px;left:18px;right:18px;color:var(--bone);z-index:2}
.kome-band .item h4{font-family:'Inter',sans-serif;font-weight:400;font-size:15px;color:var(--bone);margin-bottom:3px}
.kome-band .item .price{font-family:'Fraunces',serif;font-size:14px;color:var(--bone);opacity:0.88}
.kome-band .kome-cta{text-align:center;margin-top:48px;position:relative;z-index:1}
@media(max-width:1100px){.kome-band .grid{grid-template-columns:repeat(2,1fr);gap:12px}}
@media(max-width:720px){.kome-band{padding:var(--sec-default) 0}}

/* ---- Testimonial pool (Outlight + Elera mix) ---- */
.testimonial-pool{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.testi{padding:0;background:transparent}
.testi .quote{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:18px;line-height:1.5;color:var(--ink);margin-bottom:20px;
  letter-spacing:-0.005em;
}
.testi .quote::before{content:"\\201C";color:var(--clay);font-size:32px;line-height:0;display:block;margin-bottom:6px}
.testi .author{display:flex;align-items:center;gap:12px}
.testi .avatar{width:42px;height:42px;border-radius:50%;background:var(--sand);object-fit:cover;flex-shrink:0;border:1px solid var(--line)}
.testi .name{font-family:'Inter',sans-serif;font-weight:500;font-size:13px;color:var(--ink);line-height:1.3}
.testi .role{font-family:'Inter',sans-serif;font-size:11.5px;color:var(--muted);letter-spacing:0.04em}
.testi .stars{color:var(--clay);font-size:11px;letter-spacing:1.5px;margin-top:2px}
@media(max-width:1100px){.testimonial-pool{grid-template-columns:repeat(2,1fr);gap:32px 24px}}
@media(max-width:720px){.testimonial-pool{grid-template-columns:1fr;gap:32px}}

/* ---- WhatsApp floating button ---- */
.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:150;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.18);
  transition:transform .25s ease;cursor:pointer;
}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:28px;height:28px;color:#fff}
.wa-float .tooltip{
  position:absolute;right:68px;bottom:50%;transform:translateY(50%);
  background:var(--ink);color:var(--bone);
  padding:8px 14px;font-size:12px;font-family:'Inter',sans-serif;
  white-space:nowrap;border-radius:var(--radius);letter-spacing:0.04em;
  opacity:0;visibility:hidden;transition:all .25s ease;pointer-events:none;
}
.wa-float .tooltip::after{
  content:"";position:absolute;right:-5px;top:50%;transform:translateY(-50%);
  border-left:6px solid var(--ink);border-top:5px solid transparent;border-bottom:5px solid transparent;
}
.wa-float:hover .tooltip{opacity:1;visibility:visible}
@media(max-width:720px){.wa-float{bottom:88px;right:16px}}

/* ---- PDP "Why Choose" 4 bullets (FIG pattern) ---- */
.pdp-why{
  margin:32px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.pdp-why .head{
  font-family:'Inter',sans-serif;font-size:var(--t-eyebrow);font-weight:500;
  letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);
  margin-bottom:18px;
}
.pdp-why .list{display:grid;gap:14px}
.pdp-why .row{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:flex-start}
.pdp-why .row .num{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  color:var(--clay);font-size:22px;line-height:1;letter-spacing:-0.02em;
  width:24px;flex-shrink:0;
}
.pdp-why .row .txt{font-size:14px;line-height:1.55;color:var(--text)}
.pdp-why .row .txt strong{color:var(--ink);font-weight:500}

/* ---- PDP author quote (FIG pattern) ---- */
.pdp-quote{
  margin:48px 0;padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  text-align:center;
}
.pdp-quote blockquote{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(20px,2.4vw,28px);line-height:1.4;color:var(--ink);
  max-width:680px;margin:0 auto;letter-spacing:-0.008em;
}
.pdp-quote cite{
  display:block;margin-top:18px;font-family:'Inter',sans-serif;font-style:normal;
  font-size:var(--t-eyebrow);font-weight:500;letter-spacing:0.32em;
  text-transform:uppercase;color:var(--muted);
}

/* ---- PDP production story ---- */
.pdp-production{
  margin-top:48px;background:var(--bone-warm);padding:48px;border:1px solid var(--line);
  display:grid;grid-template-columns:120px 1fr;gap:32px;align-items:center;
}
.pdp-production .photo{
  width:120px;height:120px;border-radius:50%;overflow:hidden;background:var(--sand);
}
.pdp-production .photo img{width:100%;height:100%;object-fit:cover}
.pdp-production .info .eyebrow{margin-bottom:10px;display:inline-block}
.pdp-production .info h4{font-family:'Fraunces',serif;font-weight:400;font-size:22px;color:var(--ink);margin-bottom:8px;letter-spacing:var(--ls-heading)}
.pdp-production .info p{font-size:14px;line-height:1.65;color:var(--text);margin-bottom:8px}
.pdp-production .info .meta{font-size:12px;color:var(--muted);font-style:italic}
@media(max-width:720px){
  .pdp-production{grid-template-columns:1fr;text-align:center;padding:32px 24px}
  .pdp-production .photo{margin:0 auto}
}

/* ---- Footer CET hours block ---- */
.footer-contact{
  border-top:1px solid rgba(221,208,184,0.15);
  padding:24px 0;display:flex;justify-content:space-between;align-items:center;
  font-size:var(--t-meta);color:var(--sand);opacity:0.75;flex-wrap:wrap;gap:16px;
  margin-bottom:24px;
}
.footer-contact .item{display:flex;align-items:center;gap:10px}
.footer-contact .item svg{width:16px;height:16px;stroke-width:1.6;opacity:0.85}
.footer-contact strong{color:var(--bone);opacity:1;font-weight:500}

/* ============================================================
   COMMERCE v3 · components (Apr 2026)
   Adds: product rating, sticky PDP CTA, free-ship pill,
   refined trust strip, brand wordmark watermark, save chip.
   ============================================================ */

/* ---- Product card rating (social proof) ---- */
.prod-card .rating{
  display:flex;align-items:center;gap:6px;margin-top:4px;
  font-size:var(--t-meta);color:var(--text);
}
.prod-card .rating .stars{
  color:var(--clay);letter-spacing:1.5px;font-size:12px;line-height:1;
}
.prod-card .rating .count{color:var(--muted);font-size:11.5px}

/* ---- Save chip (% off badge) ---- */
.badge-save{
  background:var(--ink) !important;color:var(--bone) !important;
  font-weight:600;letter-spacing:0.12em;
}

/* ---- Free shipping pill (header bar or trust callout) ---- */
.free-ship-pill{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Inter',sans-serif;font-size:11.5px;font-weight:500;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--ink);
  padding:8px 16px;background:var(--bone-warm);
  border:1px solid var(--line);border-radius:100px;
}
.free-ship-pill::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--sage);
  display:inline-block;
}

/* ---- Trust strip v3: more weight, better hierarchy ---- */
.trust-v3 .trust-item{
  flex-direction:column;align-items:flex-start;gap:10px;
  padding:8px 0;
}
.trust-v3 .trust-item svg{width:24px;height:24px;color:var(--clay);stroke-width:1.5}
.trust-v3 .trust-item .title{font-size:13px;font-weight:500;color:var(--ink);letter-spacing:0;line-height:1.3}
.trust-v3 .trust-item .sub{font-size:12px;color:var(--muted);line-height:1.4}

/* ---- PDP sticky add-to-cart (mobile-first commerce pattern) ---- */
.pdp-sticky{
  position:fixed;bottom:0;left:0;right:0;
  background:var(--bone);border-top:1px solid var(--line);
  padding:14px 20px;z-index:90;
  display:none;align-items:center;gap:12px;
  box-shadow:0 -4px 20px rgba(45,41,38,0.06);
}
.pdp-sticky .info{flex:1;min-width:0}
.pdp-sticky .name{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:500;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;
}
.pdp-sticky .price{
  font-family:'Fraunces',serif;font-size:16px;color:var(--ink);font-weight:400;line-height:1.2;
}
.pdp-sticky .btn{padding:13px 22px;font-size:11.5px;flex-shrink:0}
@media(max-width:720px){
  .pdp-sticky{display:flex}
  body.pdp-page{padding-bottom:80px}
}

/* ---- Brand wordmark (small recurring brand mark) ---- */
.brand-mark-mini{
  font-family:'Fraunces',serif;font-weight:400;letter-spacing:0.32em;
  font-size:var(--t-meta);text-transform:uppercase;color:var(--muted);
  display:inline-flex;align-items:center;gap:8px;
}
.brand-mark-mini::before{
  content:"";width:18px;height:1px;background:var(--clay);display:inline-block;
}

/* ---- Sale price treatment (struck-through original price more visual) ---- */
.price-with-sale{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price-with-sale .now{font-family:'Fraunces',serif;color:var(--clay);font-weight:500;font-size:inherit}
.price-with-sale .was{color:var(--muted);text-decoration:line-through;font-size:0.85em}
.price-with-sale .pct{
  background:var(--clay);color:var(--bone);
  padding:2px 7px;font-size:10px;font-weight:600;
  letter-spacing:0.06em;border-radius:2px;
}

/* ---- Brand band (subtle wordmark across page) ---- */
.brand-band{
  background:var(--ink);color:var(--sand);
  padding:var(--s-12) 0;text-align:center;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.brand-band .mark{
  font-family:'Fraunces',serif;font-weight:300;font-style:italic;
  font-size:clamp(48px,8vw,96px);letter-spacing:-0.01em;
  color:var(--bone);opacity:0.92;line-height:1;
}
.brand-band .tag{
  font-family:'Inter',sans-serif;font-size:var(--t-eyebrow);font-weight:500;
  letter-spacing:0.32em;text-transform:uppercase;color:var(--sand);opacity:0.7;
  margin-top:18px;display:inline-block;
}

/* ---- "Shop the look" CTA on rooms ---- */
.room-cta{
  position:absolute;bottom:22px;right:22px;z-index:3;
  background:var(--bone);color:var(--ink);
  padding:8px 14px;font-size:11px;font-weight:500;
  letter-spacing:0.12em;text-transform:uppercase;
  border-radius:100px;
  opacity:0;transform:translateY(8px);transition:all .35s ease;
}
.room:hover .room-cta{opacity:1;transform:translateY(0)}

/* ============================================================
   EDITORIAL v2 · components (Apr 2026)
   Adds: hero edition stamp, photo caption, section ornaments,
   ornamental dividers, pull quotes, asymmetric editorial grids,
   card hover detail, scroll fade-in.
   ============================================================ */

/* ---- Hero v2: edition stamp + caption ---- */
.hero-edition{
  position:absolute;top:64px;left:64px;z-index:3;
  font-family:'Inter',sans-serif;font-size:var(--t-eyebrow);font-weight:500;
  letter-spacing:0.32em;text-transform:uppercase;color:var(--bone);opacity:0.85;
  display:flex;align-items:center;gap:14px;
}
.hero-edition::after{content:"";display:inline-block;width:48px;height:1px;background:var(--bone);opacity:0.6}
.hero-caption{
  position:absolute;bottom:36px;right:48px;z-index:3;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:var(--t-meta);color:var(--bone);opacity:0.75;
  max-width:280px;text-align:right;line-height:1.5;
}
.hero-caption::before{content:"— ";opacity:0.7}

/* Hero v2: cinematic gradient + larger display */
.hero.hero-v2::after{
  background:linear-gradient(160deg,rgba(45,41,38,0.05) 0%,rgba(45,41,38,0.15) 40%,rgba(45,41,38,0.65) 100%);
}
.hero.hero-v2 .hero-content h1{
  font-size:clamp(56px,12vw,168px);
  letter-spacing:-0.025em;
  line-height:0.92;
}

/* ---- Section number ornament (background art) ---- */
.sec-ornament{
  position:absolute;
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(160px,28vw,360px);
  line-height:0.85;letter-spacing:-0.04em;
  color:var(--clay);opacity:0.06;
  pointer-events:none;user-select:none;
  z-index:0;
}
.sec-ornament-tl{top:-32px;left:24px}
.sec-ornament-tr{top:-32px;right:24px}
.sec-ornament-bl{bottom:-48px;left:24px}
.sec-ornament-br{bottom:-48px;right:24px}
section.has-ornament{position:relative;overflow:hidden}
section.has-ornament > *{position:relative;z-index:1}

/* On dark schemes, ornament uses bone instead of clay */
.sch-2 .sec-ornament,.sch-4 .sec-ornament{color:var(--bone);opacity:0.05}

/* ---- Ornamental hairline divider with centered eyebrow ---- */
.ornament-rule{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:var(--s-6);max-width:880px;margin:var(--s-12) auto;
  padding:0 var(--s-8);
}
.ornament-rule::before,.ornament-rule::after{
  content:"";height:1px;background:var(--line);
}
.ornament-rule .mark{
  font-family:'Inter',sans-serif;font-size:var(--t-eyebrow);font-weight:500;
  letter-spacing:0.32em;text-transform:uppercase;color:var(--muted);
  white-space:nowrap;
}
.ornament-rule.tight{margin:var(--s-6) auto}

/* On dark schemes */
.sch-2 .ornament-rule::before,.sch-2 .ornament-rule::after{background:rgba(221,208,184,0.2)}
.sch-2 .ornament-rule .mark{color:var(--sand);opacity:0.7}

/* ---- Pull quote (full-width editorial moment) ---- */
.pull-quote{
  padding:var(--sec-lg) 0;text-align:center;background:var(--bone-warm);
  position:relative;
}
.pull-quote::before,.pull-quote::after{
  content:"";position:absolute;left:50%;width:1px;height:48px;
  background:var(--line);transform:translateX(-50%);
}
.pull-quote::before{top:0}
.pull-quote::after{bottom:0}
.pull-quote blockquote{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:clamp(22px,3vw,38px);line-height:1.35;
  max-width:880px;margin:0 auto;padding:0 var(--s-8);
  color:var(--ink);letter-spacing:-0.012em;
}
.pull-quote cite{
  display:block;margin-top:var(--s-8);
  font-family:'Inter',sans-serif;font-style:normal;font-size:var(--t-eyebrow);font-weight:500;
  letter-spacing:0.32em;text-transform:uppercase;color:var(--muted);
}
.pull-quote.dark{background:var(--ink)}
.pull-quote.dark::before,.pull-quote.dark::after{background:rgba(221,208,184,0.3)}
.pull-quote.dark blockquote{color:var(--bone)}
.pull-quote.dark cite{color:var(--sand);opacity:0.7}

/* ---- Asymmetric editorial grid (Notion-style) ---- */
.editorial-split{
  display:grid;grid-template-columns:5fr 2fr 5fr;gap:0;
  align-items:flex-start;margin-bottom:var(--s-12);
}
.editorial-split .left .eyebrow{margin-bottom:var(--s-4);display:inline-block}
.editorial-split .left h2{
  font-size:clamp(var(--t-h3),5vw,var(--t-h1));
  font-weight:300;letter-spacing:var(--ls-display);line-height:var(--lh-display);
  max-width:420px;
}
.editorial-split .left h2 em{font-style:italic;font-weight:300}
.editorial-split .right{padding-top:var(--s-7)}
.editorial-split .right p{
  font-size:var(--t-prose-lg);line-height:var(--lh-body);color:var(--text);
  max-width:380px;margin-bottom:var(--s-4);
}
.editorial-split .right .btn-link{margin-top:var(--s-3)}
@media(max-width:1100px){
  .editorial-split{grid-template-columns:1fr;gap:var(--s-8)}
  .editorial-split .right{padding-top:0}
}

/* ---- Card hover detail (premium micro-interaction) ---- */
.prod-card .meta-detail{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(180deg,transparent 0%,rgba(45,41,38,0.85) 100%);
  color:var(--bone);padding:var(--s-12) var(--s-5) var(--s-5);
  opacity:0;transition:opacity .35s ease;z-index:1;
  font-size:var(--t-meta);letter-spacing:0.06em;
}
.prod-card:hover .meta-detail{opacity:1}
.prod-card .meta-detail .row{display:flex;justify-content:space-between;align-items:baseline}
.prod-card .meta-detail .lbl{opacity:0.7;text-transform:uppercase;letter-spacing:0.16em;font-size:10px}
.prod-card .meta-detail .val{font-family:'Fraunces',serif;font-size:var(--t-body-sm)}

/* ---- Section eyebrow with sequence (01 — 02 — 03 narrative) ---- */
.sequence{
  display:flex;align-items:center;gap:var(--s-3);
  font-family:'Inter',sans-serif;font-size:var(--t-eyebrow);
  letter-spacing:0.32em;text-transform:uppercase;color:var(--muted);font-weight:500;
}
.sequence .num{color:var(--clay);font-family:'Fraunces',serif;font-style:italic;font-size:var(--t-h6);font-weight:400;letter-spacing:-0.02em}
.sequence .div{width:32px;height:1px;background:var(--line)}
.sch-2 .sequence{color:var(--sand)}
.sch-2 .sequence .num{color:var(--clay)}
.sch-2 .sequence .div{background:rgba(221,208,184,0.3)}

/* ---- Editorial caption (under photo) ---- */
.editorial-cap{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:var(--t-meta);color:var(--muted);
  margin-top:var(--s-3);max-width:420px;line-height:1.5;
}
.editorial-cap::before{content:"— ";opacity:0.6}

/* ---- Scroll fade-up (subtle reveal) ---- */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .8s ease-out,transform .8s ease-out}
.fade-up.in{opacity:1;transform:translateY(0)}
.fade-up.delay-1{transition-delay:.1s}
.fade-up.delay-2{transition-delay:.2s}
.fade-up.delay-3{transition-delay:.3s}
@media(prefers-reduced-motion:reduce){
  .fade-up{opacity:1;transform:none;transition:none}
}

/* ---- Section number callout (small ornamental) ---- */
.sec-num{
  font-family:'Fraunces',serif;font-style:italic;font-weight:300;
  font-size:var(--t-h2);color:var(--clay);
  letter-spacing:-0.02em;line-height:1;
  margin-bottom:var(--s-5);display:inline-block;
}

/* ---- Hero showcase v2: ornamental specs rule ---- */
.showcase-text .specs{position:relative}
.showcase-text .specs::before{
  content:"";position:absolute;top:-1px;left:0;width:40px;height:1px;
  background:var(--clay);
}

/* ---- Mark/highlight (subtle background hint) ---- */
.text-mark{
  background:linear-gradient(transparent 65%,rgba(184,90,61,0.18) 65%);
  padding:0 2px;
}

/* ---- Responsive tweaks v2 ---- */
@media(max-width:1100px){
  .hero-edition{top:32px;left:32px;font-size:10px;letter-spacing:0.24em}
  .hero-edition::after{width:32px}
  .hero-caption{bottom:24px;right:24px;left:24px;text-align:left;max-width:none}
  .sec-ornament{font-size:clamp(120px,22vw,200px)}
  .sec-ornament-tl,.sec-ornament-bl{left:12px}
  .sec-ornament-tr,.sec-ornament-br{right:12px}
}
@media(max-width:720px){
  .hero-edition{display:none}
  .hero-caption{display:none}
  .pull-quote{padding:var(--sec-default) 0}
  .ornament-rule{margin:var(--s-8) auto}
}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1100px){
  :root{
    --sec-default:72px;
    --sec-lg:96px;
  }
  .products-grid{grid-template-columns:repeat(3,1fr)}
  .coll-grid{grid-template-columns:repeat(2,1fr)}
  .rooms,.materials{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr 1fr;gap:32px}
  .footer-brand{grid-column:1/-1;margin-bottom:12px}
  .trust-grid{grid-template-columns:repeat(2,1fr);gap:22px}
  .showcase{grid-template-columns:1fr;min-height:auto}
  .showcase-text{padding:56px 32px}
  .faq{grid-template-columns:1fr;gap:40px}
  .mega-inner{grid-template-columns:repeat(2,1fr);gap:32px}
  .about-values{grid-template-columns:1fr;gap:32px}
  .about-split{grid-template-columns:1fr}
  .about-split .media{min-height:360px}
  .about-split .text{padding:56px 32px;max-width:none}
  .pdp-grid{grid-template-columns:1fr;gap:40px}
  .pdp-gallery{grid-template-columns:1fr;position:static}
  .pdp-thumbs{flex-direction:row;order:2;overflow-x:auto}
  .pdp-thumb{width:70px;flex-shrink:0}
  .pdp-story{grid-template-columns:1fr}
  .pdp-story .text{padding:56px 32px}
  .pdp-story .media{min-height:360px}
  .legal-body-grid{grid-template-columns:1fr;gap:32px}
  .legal-nav{position:static}
  .reviews-summary{grid-template-columns:1fr;gap:30px}
}
@media(max-width:720px){
  :root{
    --sec-default:64px;
    --sec-lg:80px;
  }
  section{padding:var(--sec-default) 0}
  .wrap,.wrap-sm,.wrap-xs{padding:0 20px}
  .header-inner{grid-template-columns:auto 1fr auto;padding:14px 20px;gap:14px}
  .nav-left{display:none}
  .nav-right{gap:10px}
  .brand{font-size:20px;text-align:left}
  .icon-btn{width:44px;height:44px}
  .hero{height:72vh;min-height:480px}
  .hero-content{left:20px;right:20px;bottom:48px}
  .hero-content h1{font-size:clamp(40px,11vw,56px)}
  .products-grid,.coll-grid,.rooms,.materials,.principles{grid-template-columns:1fr 1fr;gap:12px}
  .principles{gap:24px;text-align:center}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{flex-direction:column;text-align:center;gap:14px}
  .cookie{left:12px;right:12px;bottom:12px;padding:20px}
  .cart-drawer{width:100vw}
  .filter-bar{position:static}
  .filter-bar-inner{gap:14px}
  .filter-chip{padding:11px 18px}
  .pdp-cta{flex-direction:column}
  .pdp-cta .btn{width:100%}
  .reviews-list{grid-template-columns:1fr}
  .reviews-summary{padding:24px 0}
  .about-split .text{padding:48px 20px}
}
