
/* HERO */
.hero {
  min-height:80vh; position:relative; overflow:hidden;
  display:flex; align-items:flex-end;
  background:linear-gradient(150deg, #080E1A 0%, #1A2A4A 50%, #050810 100%);
}
.hero-gem-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 75% 40%, rgba(30,60,140,.1) 0%, transparent 55%),
    radial-gradient(ellipse at 20% 70%, rgba(184,150,62,.05) 0%, transparent 40%);
}
.hero-img-block {
  position:absolute; right:0; top:0; bottom:0; width:55%;
  display:flex; align-items:center; justify-content:center;
  opacity:.15;
}
.hero-img-note {
  font-family:"Cormorant SC",serif; font-size:9.5px; letter-spacing:.38em;
  color:rgba(255,255,255,.4); text-transform:uppercase; text-align:center; line-height:2;
}
.hero-content {
  position:relative; z-index:2; padding:230px 8% 80px; max-width:600px;
}
.hero-gem-name {
  font-family:"Cormorant SC",serif; font-size:9px; letter-spacing:.6em;
  color:var(--gem-accent); text-transform:uppercase; display:block; margin-bottom:22px;
  opacity:0; animation:fade-up .9s ease forwards .3s;
}
.hero-title {
  font-family:"Cormorant Garamond",serif; font-size:clamp(52px,7vw,88px);
  font-weight:300; color:var(--white); line-height:1.02; margin-bottom:20px;
  opacity:0; animation:fade-up .9s ease forwards .5s;
}
.hero-title em { font-style:italic; color:var(--gem-accent); }
.hero-rule {
  display:flex; align-items:center; gap:16px; margin-bottom:24px;
  opacity:0; animation:fade-in .9s ease forwards .8s;
}
.hr-l { width:50px; height:1px; background:linear-gradient(to right,transparent,rgba(184,150,62,.5)); }
.hr-d { width:4px; height:4px; background:var(--gold); transform:rotate(45deg); flex-shrink:0; }
.hero-origin {
  font-family:"Cormorant SC",serif; font-size:9px; letter-spacing:.35em;
  color:rgba(240,228,195,.45); text-transform:uppercase;
  opacity:0; animation:fade-in .9s ease forwards .8s;
}
.hero-sub {
  font-family:"Cormorant Garamond",serif; font-style:italic;
  font-size:clamp(17px,1.8vw,21px); color:rgba(240,228,195,.7); line-height:1.8;
  max-width:480px; margin-bottom:36px;
  opacity:0; animation:fade-up .9s ease forwards 1s;
}
.hero-scroll {
  position:absolute; bottom:28px; right:8%;
  font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.38em;
  color:rgba(184,150,62,.45); text-transform:uppercase;
  display:flex; align-items:center; gap:12px;
  opacity:0; animation:fade-in 1.2s ease forwards 1.4s;
}
.hero-scroll::after { content:""; width:40px; height:1px; background:rgba(184,150,62,.3); }

@keyframes fade-up { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }
@keyframes fade-in { from{opacity:0} to{opacity:1} }


/* OPENING */
.section-open {
  background:var(--white); padding:96px 0;
  display:grid; grid-template-columns:1fr 1px 1fr; gap:72px; align-items:start;
  max-width:1200px; margin:0 auto; padding:96px 80px;
}
.open-left { padding-right:20px; }
.open-eyebrow {
  font-family:"Cormorant SC",serif; font-size:11px; letter-spacing:.42em;
  color:var(--gold); text-transform:uppercase; display:block; margin-bottom:20px;
}
.open-statement {
  font-family:"Cormorant Garamond",serif; font-size:clamp(26px,2.8vw,38px);
  font-weight:300; color:var(--ink); line-height:1.25;
}
.open-statement em { font-style:italic; }
.open-sep { background:linear-gradient(to bottom,transparent,rgba(184,150,62,.25),transparent); }
.open-right { padding-left:20px; }
.open-body {
  font-family:"EB Garamond",serif; font-size:20px; line-height:1.9;
  color:var(--ink-mid); margin-bottom:20px;
}
.open-body-i {
  font-family:"Cormorant Garamond",serif; font-style:italic;
  font-size:18px; color:var(--ink-light); line-height:1.82;
}

/* STONE FACTS BAR */
.stone-bar {
  background:var(--gem-dark); padding:44px 80px;
  display:flex; justify-content:space-between; align-items:center;
  gap:20px; flex-wrap:wrap;
}
.stone-fact { text-align:center; flex:1; min-width:140px; }
.stone-fact-num {
  font-family:"Cormorant Garamond",serif; font-size:clamp(28px,3vw,40px);
  font-weight:300; color:rgba(212,175,106,.78); display:block; line-height:1;
}
.stone-fact-label {
  font-family:"Cormorant SC",serif; font-size:11px; letter-spacing:.3em;
  color:rgba(240,228,195,.72); text-transform:uppercase; margin-top:8px; display:block;
}
.stone-fact-sep { width:1px; height:60px; background:rgba(184,150,62,.15); }

/* PIECES GRID */
.section-pieces { background:var(--cream); padding:96px 0; }
.pieces-header { text-align:center; padding:0 40px 56px; }
.sec-eyebrow {
  font-family:"Cormorant SC",serif; font-size:11px; letter-spacing:.44em;
  color:var(--gold); text-transform:uppercase; display:block; margin-bottom:14px;
}
.sec-title {
  font-family:"Cormorant Garamond",serif; font-size:clamp(28px,3.2vw,42px);
  font-weight:300; color:var(--ink); line-height:1.15;
}
.sec-title em { font-style:italic; }
.gold-rule { width:46px; height:1px; background:var(--gold); margin:16px auto 0; opacity:.5; }

/* Category filter tabs */
.piece-filters {
  display:flex; justify-content:center; gap:0; margin-bottom:52px;
  border-bottom:1px solid rgba(184,150,62,.15);
}
.pf-tab {
  font-family:"Cormorant SC",serif; font-size:11px; letter-spacing:.25em;
  color:var(--ink-light); text-transform:uppercase; padding:12px 26px;
  cursor:none; transition:color .3s; border:none; background:none;
  position:relative;
}
.pf-tab:hover { color:var(--gold); }
.pf-tab.active { color:var(--gold); }
.pf-tab.active::after {
  content:""; position:absolute; bottom:-1px; left:0; right:0; height:1px;
  background:var(--gold);
}

/* Pieces grid — 3 column */
.pieces-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:2px; max-width:1300px; margin:0 auto;
  padding:0 2px;
}
.piece-card {
  background:var(--white); position:relative; overflow:hidden;
  cursor:none; aspect-ratio:3/4;
  display:flex; flex-direction:column;
}
.piece-img {
  flex:1; position:relative; overflow:hidden;
  background:linear-gradient(150deg,#1a2a4a,#0d1825);
  display:flex; align-items:center; justify-content:center;
  transition:background .5s;
}
.piece-card:hover .piece-img { background:linear-gradient(150deg,#20335a,#121e30); }
.piece-img-ph {
  display:flex; flex-direction:column; align-items:center; gap:12px;
  text-align:center; padding:24px; opacity:.2;
  transition:opacity .4s;
}
.piece-card:hover .piece-img-ph { opacity:.12; }
.piece-img-ph span {
  font-family:"Cormorant SC",serif; font-size:9px; letter-spacing:.32em;
  color:rgba(255,255,255,.8); text-transform:uppercase; line-height:1.8;
}
.piece-img-zoom {
  position:absolute; inset:0; background-size:cover; background-position:center;
   will-change: transform;
   transform: translateZ(0);
}
.piece-card:hover .piece-img-zoom { transform:scale(1.05); }
.piece-tag {
  position:absolute; top:16px; left:16px;
  font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.25em;
  color:var(--white); text-transform:uppercase;
  background:rgba(14,12,9,.55); padding:5px 12px;
  opacity:1; transform:translateY(0); transition:opacity .35s,transform .35s;
}
.piece-card:hover .piece-tag { opacity:1; transform:translateY(0); }
.piece-info {
  padding:20px 22px; border-top:1px solid rgba(184,150,62,.1);
}
.piece-name {
  font-family:"Cormorant Garamond",serif; font-style:italic;
  font-size:17px; color:var(--ink); display:block; margin-bottom:5px;
  transition:color .3s;
}
.piece-card:hover .piece-name { color:var(--gold); }
.piece-desc {
  font-family:"EB Garamond",serif; font-size:15.5px; color:var(--ink-light);
  line-height:1.6; opacity:.85;
}
.piece-enquire {
  display:inline-flex; align-items:center; gap:8px; margin-top:14px;
  font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.28em;
  color:var(--gold); text-decoration:none; text-transform:uppercase;
  opacity:1; transform:translateY(0);
  transition:opacity .35s .05s, transform .35s .05s; cursor:none;
}
.piece-card:hover .piece-enquire { opacity:1; transform:translateY(0); }
.piece-enquire::after { content:"→"; }

/* STONE STORY */
.section-story {
  background:var(--white); padding:96px 80px;
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
  max-width:1300px; margin:0 auto;
}
.story-img {
  background:linear-gradient(150deg, #080E1A 0%, #1A2A4A 60%, #050810 100%);
  min-height:480px; display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.story-img-note {
  font-family:"Cormorant SC",serif; font-size:9.5px; letter-spacing:.38em;
  color:rgba(255,255,255,.18); text-transform:uppercase; text-align:center; line-height:2;
  padding:40px;
}
.story-text { padding:20px 0; }
.story-eyebrow {
  font-family:"Cormorant SC",serif; font-size:11px; letter-spacing:.42em;
  color:var(--gold); text-transform:uppercase; display:block; margin-bottom:20px;
}
.story-h2 {
  font-family:"Cormorant Garamond",serif; font-size:clamp(26px,2.8vw,38px);
  font-weight:300; color:var(--ink); line-height:1.2; margin-bottom:8px;
}
.story-h2 em { font-style:italic; }
.story-sub {
  font-family:"Cormorant SC",serif; font-size:11px; letter-spacing:.25em;
  color:var(--gold); text-transform:uppercase; display:block; margin-bottom:24px;
}
.story-rule { width:40px; height:1px; background:var(--gold); opacity:.4; margin-bottom:24px; }
.story-body {
  font-family:"EB Garamond",serif; font-size:19px; line-height:1.88;
  color:var(--ink-mid); margin-bottom:16px;
}
.story-body-i {
  font-family:"Cormorant Garamond",serif; font-style:italic;
  font-size:17.5px; color:var(--ink-light); line-height:1.82; margin-bottom:34px;
}
.text-link {
  font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.3em;
  color:var(--gold); text-decoration:none; text-transform:uppercase;
  border:0px solid transparent; 
  background-color: transparent;
  display:inline-flex; align-items:center; gap:10px; transition:gap .3s; cursor:none;
}
.text-link:hover { gap:16px; }
.text-link::after { content:"→"; }

/* CTA */
.section-cta {
  background:var(--gem-dark);
  padding:100px 40px; text-align:center; position:relative; overflow:hidden;
}
.section-cta::before {
  content:""; position:absolute; top:-100px; left:50%; transform:translateX(-50%);
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(30,60,140,.12) 0%, transparent 70%);
  pointer-events:none;
}
.cta-eyebrow {
  font-family:"Cormorant SC",serif; font-size:11px; letter-spacing:.44em;
  color:var(--gem-accent); text-transform:uppercase; display:block;
  margin-bottom:24px; position:relative;
}
.cta-title {
  font-family:"Cormorant Garamond",serif; font-size:clamp(32px,4vw,52px);
  font-weight:300; color:var(--white); line-height:1.12; margin-bottom:10px; position:relative;
}
.cta-title em { font-style:italic; color:var(--gem-accent); }
.cta-rule { width:1px; height:52px; background:linear-gradient(to bottom,rgba(184,150,62,.5),transparent); margin:28px auto; }
.cta-text {
  font-family:"Cormorant Garamond",serif; font-style:italic;
  font-size:18px; color:rgba(240,228,195,.6); max-width:440px;
  margin:0 auto 44px; line-height:1.82; position:relative;
}
.cta-btn {
  display:inline-block; font-family:"Cormorant SC",serif;
  font-size:10.5px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--white); border:1px solid rgba(255,255,255,.3);
  padding:16px 52px; text-decoration:none; cursor:none; transition:all .4s; position:relative;
}
.cta-btn:hover { background:var(--gold); border-color:var(--gold); }




/* BRIDAL-SPECIFIC */

/* Override active nav */
.nav-item-link.active-page { color: var(--gold); }
.nav-item-link.active-page::after { transform: scaleX(1); }

/* HERO */
.hero-bridal {
  min-height: 88vh; position: relative; overflow: hidden;
  display: flex; align-items: flex-end;
  background: linear-gradient(155deg, #1A0A0A 0%, #3B1515 45%, #0D0505 100%);
}
.hero-bg-overlay {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 72% 38%, rgba(140,50,50,.14) 0%, transparent 55%),
    radial-gradient(ellipse at 18% 72%, rgba(184,150,62,.07) 0%, transparent 45%);
}
.hero-motif {
  position: absolute; right: 6%; top: 14%;
  width: 340px; height: 340px;
  border: 1px solid rgba(184,150,62,.08);
  transform: rotate(45deg);
}
.hero-motif::before { content:""; position:absolute; inset:32px; border:1px solid rgba(184,150,62,.05); }
.hero-motif::after  { content:""; position:absolute; inset:64px; border:1px solid rgba(184,150,62,.03); }
.hero-img-block {
  position: absolute; right: 0; top: 0; bottom: 0; width: 52%;
  display: flex; align-items: center; justify-content: center; opacity: .09;
}
.hero-img-note {
  font-family:"Cormorant SC",serif; font-size:9.5px; letter-spacing:.38em;
  color:rgba(255,255,255,.5); text-transform:uppercase; text-align:center; line-height:2; padding:40px;
}
.hero-content { position:relative; z-index:2; padding:240px 8% 96px; max-width:640px; }
.hero-eyebrow {
  font-family:"Cormorant SC",serif; font-size:9px; letter-spacing:.62em;
  color:var(--bridal-accent); text-transform:uppercase; display:block; margin-bottom:22px;
  opacity:0; animation:fade-up .9s ease forwards .3s;
}
.hero-title {
  font-family:"Cormorant Garamond",serif; font-size:clamp(52px,7vw,88px);
  font-weight:300; color:var(--white); line-height:1.02; margin-bottom:22px;
  opacity:0; animation:fade-up .9s ease forwards .5s;
}
.hero-title em { font-style:italic; color:var(--gold-light); }
.hero-rule { display:flex; align-items:center; gap:16px; margin-bottom:28px; opacity:0; animation:fade-in .9s ease forwards .8s; }
.hr-l { width:50px; height:1px; background:linear-gradient(to right,transparent,rgba(184,150,62,.5)); }
.hr-d { width:4px; height:4px; background:var(--gold); transform:rotate(45deg); flex-shrink:0; }
.hero-origin { font-family:"Cormorant SC",serif; font-size:9px; letter-spacing:.35em; color:rgba(240,228,195,.4); text-transform:uppercase; }
.hero-sub {
  font-family:"Cormorant Garamond",serif; font-style:italic;
  font-size:clamp(17px,1.8vw,21px); color:rgba(240,228,195,.68); line-height:1.85;
  max-width:510px; margin-bottom:42px;
  opacity:0; animation:fade-up .9s ease forwards 1s;
}
.hero-cta-row { display:flex; align-items:center; gap:28px; opacity:0; animation:fade-up .9s ease forwards 1.2s; }
.hero-btn {
  font-family:"Cormorant SC",serif; font-size:10.5px; letter-spacing:.28em;
  text-transform:uppercase; color:var(--dark); background:var(--gold);
  border:1px solid var(--gold); padding:15px 42px;
  text-decoration:none; cursor:none; transition:all .4s;
}
.hero-btn:hover { background:transparent; color:var(--gold-light); border-color:rgba(212,175,106,.55); }
.hero-btn-ghost {
  font-family:"Cormorant SC",serif; font-size:10.5px; letter-spacing:.28em;
  text-transform:uppercase; color:rgba(240,228,195,.52);
  border:1px solid rgba(184,150,62,.3); padding:15px 36px;
  text-decoration:none; cursor:none; transition:all .4s;
}
.hero-btn-ghost:hover { color:var(--gold-light); border-color:rgba(184,150,62,.6); }
.hero-scroll {
  position:absolute; bottom:30px; right:8%;
  font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.38em;
  color:rgba(184,150,62,.38); text-transform:uppercase;
  display:flex; align-items:center; gap:12px;
  opacity:0; animation:fade-in 1.2s ease forwards 1.5s;
}
.hero-scroll::after { content:""; width:40px; height:1px; background:rgba(184,150,62,.28); }

/* IN-PAGE BRIDAL NAV */
.bridal-nav {
  background: var(--white); border-bottom: 1px solid rgba(184,150,62,.1);
  display: flex; justify-content: center;
  position: sticky; top: 52px; z-index: 100;
}
.bridal-nav-item {
  font-family:"Cormorant SC",serif; font-size:12px; letter-spacing:.28em;
  color:var(--ink-light); text-decoration:none; text-transform:uppercase;
  padding:17px 36px; transition:color .3s; cursor:none; position:relative;
  border-right:1px solid rgba(184,150,62,.1);
}
.bridal-nav-item:last-child { border-right:none; }
.bridal-nav-item:hover { color:var(--gold); }
.bridal-nav-item.active { color:var(--gold); }
.bridal-nav-item.active::after { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--gold); }

/* OPENING */
.section-open-bridal {
  background:var(--white);
  display:grid; grid-template-columns:1fr 1px 1fr; gap:72px; align-items:start;
  max-width:1200px; margin:0 auto; padding:100px 80px;
}

/* ARCHETYPE DIVIDERS */
.archetype-divider { padding:56px 0; text-align:center; }
.archetype-divider--light { background:var(--cream); }
.archetype-divider--dark  { background:#110606; }
.arch-div-rule { display:flex; align-items:center; gap:24px; justify-content:center; margin-bottom:22px; }
.arch-div-line   { width:80px; height:1px; background:linear-gradient(to right,transparent,rgba(184,150,62,.4)); }
.arch-div-line.r { background:linear-gradient(to left,transparent,rgba(184,150,62,.4)); }
.arch-div-diamond { width:6px; height:6px; background:var(--gold); transform:rotate(45deg); opacity:.7; }
.arch-div-label { font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.52em; color:var(--gold); text-transform:uppercase; opacity:.8; display:block; margin-bottom:12px; }
.arch-div-title { font-family:"Cormorant Garamond",serif; font-size:clamp(28px,3vw,42px); font-weight:300; line-height:1.1; }
.arch-div-title em { font-style:italic; }
.arch-div-title--light { color:var(--ink); }
.arch-div-title--dark  { color:rgba(240,228,195,.88); }

/* ARCHETYPE HERO PANELS */
.archetype-hero { min-height:72vh; position:relative; overflow:hidden; display:flex; align-items:center; }
.archetype-hero--contemporary { background:linear-gradient(135deg,#F0EBE2 0%,#E8E0D4 40%,#F7F3EC 100%); }
.arch-c-accent {
  position:absolute; right:0; top:0; bottom:0; width:52%;
  background:linear-gradient(145deg,#E2D9CC 0%,#D4C9B8 100%);
  clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);
}
.arch-c-img { position:absolute; right:0; top:0; bottom:0; width:52%; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#E0D5C5 0%,#C8BBA7 100%); overflow:hidden; }
.arch-img-ph { font-family:"Cormorant SC",serif; font-size:9px; letter-spacing:.35em; text-transform:uppercase; text-align:center; line-height:2.2; }
.arch-img-ph--c { color:rgba(107,100,89,.28); }
.arch-img-ph--h { color:rgba(184,150,62,.15); }
.arch-content { position:relative; z-index:2; padding:80px 8%; max-width:52%; }
.arch-content--h { position:relative; z-index:2; padding:80px 8%; max-width:52%; margin-left:auto; }
.arch-eyebrow { font-family:"Cormorant SC",serif; font-size:9px; letter-spacing:.58em; text-transform:uppercase; display:block; margin-bottom:20px; }
.arch-eyebrow--c { color:rgba(107,100,89,.6); }
.arch-eyebrow--h { color:rgba(212,175,106,.58); }
.arch-title { font-family:"Cormorant Garamond",serif; font-size:clamp(38px,4.5vw,64px); font-weight:300; line-height:1.05; margin-bottom:20px; }
.arch-title--c { color:var(--ink); }
.arch-title--c em { font-style:italic; color:var(--gold); }
.arch-title--h { color:rgba(240,228,195,.9); }
.arch-title--h em { font-style:italic; color:var(--gold-light); }
.arch-rule { width:40px; height:1px; background:var(--gold); opacity:.5; margin-bottom:28px; }
.arch-body { font-family:"EB Garamond",serif; font-size:19px; line-height:1.88; margin-bottom:18px; }
.arch-body--c { color:var(--ink-mid); }
.arch-body--h { color:rgba(240,228,195,.62); }
.arch-body-i { font-family:"Cormorant Garamond",serif; font-style:italic; font-size:17px; line-height:1.82; margin-bottom:40px; }
.arch-body-i--c { color:var(--ink-light); }
.arch-body-i--h { color:rgba(212,175,106,.5); }
.arch-btn { font-family:"Cormorant SC",serif; font-size:10.5px; letter-spacing:.28em; text-transform:uppercase; text-decoration:none; cursor:none; padding:13px 38px; border:1px solid; transition:all .4s; display:inline-block; }
.arch-btn--c { color:var(--ink); border-color:rgba(28,26,23,.32); }
.arch-btn--c:hover { background:var(--ink); color:var(--white); }
.arch-btn--h {  background:var(--gold); color:var(--dark); border-color:var(--gold); }
.arch-btn--h:hover {  color:var(--gold-light); border-color:rgba(184,150,62,.42);  }
.arch-btn--dark { color:var(--ink); border-color:rgba(28,26,23,.28); }
.arch-btn--dark:hover { background:var(--ink); color:var(--white); }

/* HERITAGE */
.archetype-hero--heritage { background:linear-gradient(135deg,#1A0A0A 0%,#2E1010 50%,#1A0A0A 100%); }
.arch-h-accent {
  position:absolute; left:0; top:0; bottom:0; width:52%;
  background:linear-gradient(145deg,#240C0C 0%,#1C0808 100%);
  clip-path:polygon(0 0,92% 0,100% 100%,0 100%);
}
.arch-h-img { position:absolute; left:0; top:0; bottom:0; width:52%; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#2A0D0D 0%,#1A0505 100%); overflow:hidden; }
.corner-tl { position:absolute; top:40px; right:40px; width:72px; height:72px; border-top:1px solid rgba(184,150,62,.18); border-right:1px solid rgba(184,150,62,.18); }
.corner-br { position:absolute; bottom:40px; right:40px; width:72px; height:72px; border-bottom:1px solid rgba(184,150,62,.18); border-right:1px solid rgba(184,150,62,.18); }

/* TRAITS BAR */
.traits-bar { padding:52px 80px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.traits-bar--c { background:var(--white); }
.traits-bar--h { background:#110606; }
.trait { text-align:center; flex:1; min-width:120px; }
.trait-word { font-family:"Cormorant Garamond",serif; font-size:clamp(17px,1.7vw,23px); font-weight:300; display:block; line-height:1; }
.trait-word--c { color:var(--ink); }
.trait-word--h { color:rgba(212,175,106,.85); }
.trait-sub { font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.28em; text-transform:uppercase; margin-top:8px; display:block; }
.trait-sub--c { color:var(--ink-light); }
.trait-sub--h { color:rgba(240,228,195,.4); }
.trait-sep { width:1px; height:44px; }
.trait-sep--c { background:rgba(184,150,62,.15); }
.trait-sep--h { background:rgba(184,150,62,.1); }

/* PIECES GRID — UNIFORM CARD SIZE */
.section-pieces-bridal { padding:96px 0; }
.section-pieces--c { background:var(--cream); }
.section-pieces--h { background:#0D0505; }
.pieces-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:2px; max-width:1300px; margin:0 auto; padding:0 2px;
}
.piece-card-bridal { position:relative; overflow:hidden; cursor:none; display:flex; flex-direction:column; }
.piece-card-bridal--c { background:var(--white); }
.piece-card-bridal--h { background:#160606; }
/* FIXED HEIGHT IMAGE AREA — all cards identical */
.piece-img-bridal {
  width:100%; height:340px; flex-shrink:0;
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  transition:background .5s;
}
.piece-img--c { background:linear-gradient(150deg,#E8E0D4,#D8CFC0); }
.piece-card-bridal--c:hover .piece-img--c { background:linear-gradient(150deg,#DDD4C6,#CBBFB0); }
.piece-img--h { background:linear-gradient(150deg,#2A0C0C,#1A0606); }
.piece-card-bridal--h:hover .piece-img--h { background:linear-gradient(150deg,#380E0E,#220808); }
.piece-img-ph-b {
  display:flex; flex-direction:column; align-items:center; gap:10px;
  text-align:center; padding:24px; opacity:.22; transition:opacity .4s;
}
.piece-card-bridal:hover .piece-img-ph-b { opacity:.12; }
.piece-img-ph-b span { font-family:"Cormorant SC",serif; font-size:9px; letter-spacing:.32em; text-transform:uppercase; line-height:1.8; }
.piece-img-ph-b--c span { color:rgba(60,50,40,.7); }
.piece-img-ph-b--h span { color:rgba(255,255,255,.8); }
.piece-info-bridal { padding:22px 24px; border-top:1px solid rgba(184,150,62,.1); flex:1; display:flex; flex-direction:column; }
.piece-name-b { font-family:"Cormorant Garamond",serif; font-style:italic; font-size:18px; display:block; margin-bottom:7px; transition:color .3s; }
.piece-name-b--c { color:var(--ink); }
.piece-name-b--h { color:rgba(240,228,195,.85); }
.piece-card-bridal--c:hover .piece-name-b--c { color:var(--gold); }
.piece-card-bridal--h:hover .piece-name-b--h { color:var(--gold-light); }
.piece-desc-b { font-family:"EB Garamond",serif; font-size:15.5px; line-height:1.65; flex:1; }
.piece-desc-b--c { color:var(--ink-light); }
.piece-desc-b--h { color:rgba(240,228,195,.42); }
.piece-enquire-b { display:inline-flex; align-items:center; gap:8px; margin-top:16px; font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.28em; color:var(--gold); text-decoration:none; text-transform:uppercase; cursor:none; transition:gap .3s; }
.piece-enquire-b:hover { gap:13px; }
.piece-enquire-b::after { content:"→"; }
.piece-tag-bridal { position:absolute; top:16px; left:16px; font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.25em; color:var(--white); text-transform:uppercase; background:rgba(14,12,9,.52); padding:5px 12px; }

/* TROUSSEAU */
.section-trousseau { background:var(--dark); display:grid; grid-template-columns:1fr 1fr; }
.trousseau-img { background:linear-gradient(155deg,#1A0A0A 0%,#2E1010 60%,#0D0505 100%); min-height:520px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.trousseau-img-note { font-family:"Cormorant SC",serif; font-size:9.5px; letter-spacing:.38em; color:rgba(255,255,255,.1); text-transform:uppercase; text-align:center; line-height:2; padding:40px; }
.trousseau-text { padding:80px 72px; display:flex; flex-direction:column; justify-content:center; }
.trousseau-eyebrow { font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.48em; color:var(--gold); text-transform:uppercase; display:block; margin-bottom:24px; opacity:.88; }
.trousseau-h2 { font-family:"Cormorant Garamond",serif; font-size:clamp(28px,2.8vw,40px); font-weight:300; color:rgba(240,228,195,.9); line-height:1.2; margin-bottom:28px; }
.trousseau-h2 em { font-style:italic; color:var(--gold-light); }
.trousseau-rule { width:40px; height:1px; background:var(--gold); opacity:.32; margin-bottom:28px; }
.trousseau-body { font-family:"EB Garamond",serif; font-size:19px; line-height:1.9; color:rgba(240,228,195,.58); margin-bottom:16px; }
.trousseau-body-i { font-family:"Cormorant Garamond",serif; font-style:italic; font-size:17px; color:rgba(212,175,106,.48); line-height:1.82; margin-bottom:42px; }

/* BESPOKE */
.section-bespoke-wrap { background:var(--cream); }
.section-bespoke { display:grid; grid-template-columns:1fr 1px 1fr; gap:72px; align-items:center; max-width:1200px; margin:0 auto; padding:88px 80px; }
.bespoke-eyebrow { font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.48em; color:var(--gold); text-transform:uppercase; display:block; margin-bottom:20px; }
.bespoke-h2 { font-family:"Cormorant Garamond",serif; font-size:clamp(26px,2.8vw,38px); font-weight:300; color:var(--ink); line-height:1.22; }
.bespoke-h2 em { font-style:italic; }
.bespoke-sep { background:linear-gradient(to bottom,transparent,rgba(184,150,62,.22),transparent); }
.bespoke-body { font-family:"EB Garamond",serif; font-size:19px; line-height:1.88; color:var(--ink-mid); margin-bottom:18px; }
.bespoke-body-i { font-family:"Cormorant Garamond",serif; font-style:italic; font-size:17px; color:var(--ink-light); line-height:1.82; margin-bottom:36px; }

/* CTA */
.section-cta-bridal { background:var(--bridal-dark); padding:112px 40px; text-align:center; position:relative; overflow:hidden; }
.section-cta-bridal::before { content:""; position:absolute; top:-80px; left:50%; transform:translateX(-50%); width:580px; height:580px; border-radius:50%; background:radial-gradient(circle,rgba(140,50,50,.1) 0%,transparent 70%); pointer-events:none; }
.cta-eyebrow-b { font-family:"Cormorant SC",serif; font-size:11px; letter-spacing:.44em; color:var(--bridal-accent); text-transform:uppercase; display:block; margin-bottom:24px; position:relative; }
.cta-title-b { font-family:"Cormorant Garamond",serif; font-size:clamp(32px,4vw,54px); font-weight:300; color:var(--white); line-height:1.1; margin-bottom:10px; position:relative; }
.cta-title-b em { font-style:italic; color:var(--gold-light); }
.cta-rule-b { width:1px; height:52px; background:linear-gradient(to bottom,rgba(184,150,62,.5),transparent); margin:28px auto; }
.cta-text-b { font-family:"Cormorant Garamond",serif; font-style:italic; font-size:18px; color:rgba(240,228,195,.56); max-width:480px; margin:0 auto 46px; line-height:1.85; position:relative; }
.cta-btn-row-b { display:flex; align-items:center; justify-content:center; gap:18px; position:relative; }
.cta-btn-b { font-family:"Cormorant SC",serif; font-size:10.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--dark); background:var(--gold); border:1px solid var(--gold); padding:16px 52px; text-decoration:none; cursor:none; transition:all .4s; display:inline-block; }
.cta-btn-b:hover { background:transparent; color:var(--gold-light); border-color:rgba(212,175,106,.48); }
.cta-btn-ghost-b { font-family:"Cormorant SC",serif; font-size:10.5px; letter-spacing:.3em; text-transform:uppercase; color:rgba(240,228,195,.48); border:1px solid rgba(184,150,62,.26); padding:16px 44px; text-decoration:none; cursor:none; transition:all .4s; display:inline-block; }
.cta-btn-ghost-b:hover { border-color:rgba(184,150,62,.62); color:rgba(184,150,62,.88); }

/* TEXT LINK */
.text-link { font-family:"Cormorant SC",serif; font-size:10px; letter-spacing:.3em; text-decoration:none; text-transform:uppercase; display:inline-flex; align-items:center; gap:10px; transition:gap .3s; cursor:none; }
.text-link--gold { color:var(--gold); }
.text-link--gold:hover { gap:16px; }
.text-link::after { content:"→"; }


/* ── ENQUIRY MODAL ───────────────────────────────────────────────────────── */
.modal-overlay {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(10, 5, 3, 0.82);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity .4s ease;
}
.modal-overlay.open {
  opacity: 1; pointer-events: all;
}
.modal-box {
  background: var(--white);
  max-width: 520px; width: 92%;
  padding: 56px 52px 48px;
  position: relative;
  transform: translateY(20px);
  transition: transform .4s ease;
}
.modal-overlay.open .modal-box {
  transform: translateY(0);
}
.modal-close {
  position: absolute; top: 20px; right: 24px;
  background: none; border: none; cursor: pointer;
  font-family: "Cormorant Garamond", serif;
  font-size: 22px; color: var(--ink-light);
  line-height: 1; padding: 4px;
  transition: color .3s;
}
.modal-close:hover { color: var(--ink); }
.modal-eyebrow {
  font-family: "Cormorant SC", serif;
  font-size: 9.5px; letter-spacing: .48em;
  color: var(--gold); text-transform: uppercase;
  display: block; margin-bottom: 14px;
}
.modal-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 28px; font-weight: 300;
  color: var(--ink); line-height: 1.15;
  margin-bottom: 8px;
}
.modal-title em { font-style: italic; }
.modal-piece-context {
  font-family: "Cormorant Garamond", serif;
  font-style: italic; font-size: 15px;
  color: var(--ink-light); margin-bottom: 30px;
  display: block;
}
.modal-rule { width: 32px; height: 1px; background: rgba(184,150,62,.35); margin-bottom: 30px; }
.modal-form { display: flex; flex-direction: column; gap: 16px; }
.modal-field {
  display: flex; flex-direction: column; gap: 7px;
}
.modal-label {
  font-family: "Cormorant SC", serif;
  font-size: 9px; letter-spacing: .36em;
  color: var(--ink-light); text-transform: uppercase;
}
.modal-input {
  border: none;
  border-bottom: 1px solid rgba(107,100,89,.22);
  padding: 10px 0;
  font-family: "EB Garamond", serif;
  font-size: 17px; color: var(--ink);
  background: transparent;
  outline: none;
  transition: border-color .3s;
}
.modal-input::placeholder { color: rgba(107,100,89,.38); }
.modal-input:focus { border-bottom-color: var(--gold); }
.modal-actions { display: flex; flex-direction: column; gap: 14px; margin-top: 10px; }
.modal-btn-whatsapp {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  background: #1A1A1A; color: rgba(240,228,195,.9);
  font-family: "Cormorant SC", serif;
  font-size: 10.5px; letter-spacing: .28em;
  text-transform: uppercase;
  padding: 16px 32px; border: none; cursor: pointer;
  transition: background .3s;
  text-decoration: none;
}
.modal-btn-whatsapp:hover { background: #111; }
.modal-btn-whatsapp svg { width: 18px; height: 18px; flex-shrink: 0; }
.modal-btn-email {
  font-family: "Cormorant SC", serif;
  font-size: 10px; letter-spacing: .26em;
  color: var(--ink-light); text-transform: uppercase;
  background: none; border: 1px solid rgba(107,100,89,.2);
  padding: 13px 28px; cursor: pointer;
  transition: all .3s;
  text-decoration: none; text-align: center;
}
.modal-btn-email:hover { border-color: rgba(184,150,62,.45); color: var(--gold); }
.modal-note {
  font-family: "EB Garamond", serif; font-style: italic;
  font-size: 13.5px; color: rgba(107,100,89,.5);
  text-align: center; margin-top: 4px; line-height: 1.7;
}


/* ── EDITORIAL SHOWCASE (bridal) ─────────────────────────────────────── */
.ed-showcase-bridal{overflow:hidden;}
.ed-showcase-bridal--light{background:var(--cream);}
.ed-showcase-bridal--dark{background:#0A0805;}
.ed-showcase-header-b{padding:72px 9% 52px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:48px;}
.esh-label-b{font-family:"Cormorant SC",serif;font-size:9px;letter-spacing:.52em;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:14px;}
.esh-h3-b{font-family:"Cormorant Garamond",serif;font-size:clamp(26px,3vw,40px);font-weight:300;color:var(--ink);line-height:1.1;}
.esh-h3-b em{font-style:italic;color:var(--gold);}
.esh-body-b{font-family:"EB Garamond",serif;font-size:17px;line-height:1.88;color:var(--ink-mid);}
.ed-row-main-b{display:grid;grid-template-columns:1.2fr 1fr;gap:3px;background:#050402;}
.ed-row-3-b{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px;background:#050402;margin-top:3px;}
.ed-slot-b{position:relative;overflow:hidden;background:#1A1612;}
.ed-slot-b--hero{height:72vh;min-height:480px;}
.ed-slot-b--tall{height:56vh;min-height:360px;}
.ed-occasion-b{position:absolute;bottom:18px;left:18px;z-index:2;font-family:"Cormorant SC",serif;font-size:9px;letter-spacing:.3em;color:rgba(240,228,195,.45);text-transform:uppercase;background:rgba(8,6,3,.38);backdrop-filter:blur(4px);padding:5px 10px;}
.ed-showcase-close-b{padding:36px 9%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(184,150,62,.1);}
.esc-text-b{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:16px;color:var(--ink-light);}
.esc-btn-b{font-family:"Cormorant SC",serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);background:none;border:1px solid rgba(184,150,62,.28);padding:12px 32px;cursor:none;transition:all .4s;}
.esc-btn-b:hover{border-color:rgba(184,150,62,.55);background:rgba(184,150,62,.05);}

/* Modals */
.modal-overlay{position:fixed;inset:0;z-index:9000;background:rgba(8,6,3,.86);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal-box{background:var(--white);max-width:580px;width:92%;padding:60px 56px 52px;position:relative;transform:translateY(22px);transition:transform .4s;max-height:90vh;overflow-y:auto;}
.modal-overlay.open .modal-box{transform:translateY(0);}
.modal-close{position:absolute;top:22px;right:26px;background:none;border:none;cursor:pointer;font-family:"Cormorant Garamond",serif;font-size:24px;color:var(--ink-light);line-height:1;transition:color .3s;}
.modal-close:hover{color:var(--ink);}
.modal-eyebrow{font-family:"Cormorant SC",serif;font-size:9.5px;letter-spacing:.48em;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:16px;}
.modal-title{font-family:"Cormorant Garamond",serif;font-size:clamp(26px,3vw,36px);font-weight:300;color:var(--ink);line-height:1.1;margin-bottom:0;}
.modal-title em{font-style:italic;}
.modal-rule{width:36px;height:1px;background:rgba(184,150,62,.3);margin:24px 0;}
.modal-body{font-family:"EB Garamond",serif;font-size:17.5px;line-height:1.92;color:var(--ink-mid);margin-bottom:14px;}
.modal-body-i{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:16.5px;color:var(--ink-light);line-height:1.85;margin-bottom:26px;}
.modal-list{list-style:none;padding:0;margin:0 0 28px;border-top:1px solid rgba(184,150,62,.1);}
.modal-list li{font-family:"EB Garamond",serif;font-size:17px;color:var(--ink-mid);padding:12px 0;border-bottom:1px solid rgba(184,150,62,.08);display:flex;align-items:flex-start;gap:12px;}
.modal-list li::before{content:"◆";font-size:6px;color:var(--gold);margin-top:8px;flex-shrink:0;}
.modal-form{display:flex;flex-direction:column;gap:14px;margin-bottom:20px;}
.modal-field{display:flex;flex-direction:column;gap:6px;}
.modal-label{font-family:"Cormorant SC",serif;font-size:9px;letter-spacing:.36em;color:var(--ink-light);text-transform:uppercase;}
.modal-input{border:none;border-bottom:1px solid rgba(107,100,89,.22);padding:9px 0;font-family:"EB Garamond",serif;font-size:17px;color:var(--ink);background:transparent;outline:none;transition:border-color .3s;}
.modal-input::placeholder{color:rgba(107,100,89,.38);}
.modal-input:focus{border-bottom-color:var(--gold);}
.modal-enquire-label{font-family:"Cormorant SC",serif;font-size:9px;letter-spacing:.38em;color:var(--ink-light);text-transform:uppercase;display:block;margin-bottom:14px;}
.modal-actions{display:flex;flex-direction:column;gap:12px;}
.modal-btn-wa{display:flex;align-items:center;justify-content:center;gap:12px;background:#1A1A1A;color:rgba(240,228,195,.9);font-family:"Cormorant SC",serif;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;padding:16px 32px;border:none;cursor:pointer;text-decoration:none;transition:background .3s;}
.modal-btn-wa:hover{background:#111;}
.modal-btn-wa svg{width:18px;height:18px;flex-shrink:0;}
.modal-btn-email{font-family:"Cormorant SC",serif;font-size:10px;letter-spacing:.26em;color:var(--ink-light);text-transform:uppercase;background:none;border:1px solid rgba(107,100,89,.2);padding:13px 28px;cursor:pointer;text-decoration:none;text-align:center;transition:all .3s;}
.modal-btn-email:hover{border-color:rgba(184,150,62,.45);color:var(--gold);}
.modal-note{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:13.5px;color:rgba(107,100,89,.5);text-align:center;margin-top:6px;line-height:1.7;}

/* =========================================================
   GLOBAL RESPONSIVE FIX
========================================================= */


/* =========================================================
   HERO SECTION
========================================================= */

@media (max-width: 991px) {

  .hero,
  .hero-bridal {
    min-height: auto;
    padding-bottom: 60px;
  }

  .hero-content {
    padding: 160px 40px 40px;
    max-width: 100%;
  }

  .hero-title {
    font-size: clamp(52px, 8vw, 72px);
    line-height: 1;
  }

  .hero-sub {
    font-size: 18px;
    max-width: 100%;
    line-height: 1.8;
  }

  .hero-img-block {
    width: 100%;
    opacity: .08;
  }

  .hero-scroll {
    display: none;
  }

  .hero-cta-row {
    flex-wrap: wrap;
    gap: 14px;
  }
}

@media (max-width: 767px) {

  .hero-content {
    padding: 130px 24px 30px;
  }

  .hero-title {
    font-size: 52px;
  }

  .hero-sub {
    font-size: 17px;
  }

  .hero-cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-btn,
  .hero-btn-ghost {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 480px) {

  .hero-content {
    padding: 120px 18px 24px;
  }

  .hero-title {
    font-size: 42px;
  }

  .hero-sub {
    font-size: 15px;
  }
}


/* =========================================================
   NAVIGATION
========================================================= */

@media (max-width: 991px) {

  .gem-nav {
    overflow-x: auto;
    white-space: nowrap;
    justify-content: flex-start;
    top: 0;
    padding-left: 10px;
  }

  .gem-nav::-webkit-scrollbar {
    display: none;
  }

  .gem-nav-item,
  .bridal-nav-item {
    flex-shrink: 0;
    padding: 14px 18px;
    font-size: 10px;
  }
}


/* =========================================================
   OPENING SECTION
========================================================= */

@media (max-width: 991px) {

  .section-open,
  .section-open-bridal {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 70px 40px;
  }

  .open-left,
  .open-right {
    padding: 0;
  }

  .open-sep {
    width: 100%;
    height: 1px;
    background: linear-gradient(
      to right,
      transparent,
      rgba(184,150,62,.25),
      transparent
    );
  }

  .open-statement {
    max-width: 100%;
  }
}

@media (max-width: 767px) {

  .section-open,
  .section-open-bridal {
    padding: 60px 24px;
  }

  .open-statement {
    font-size: 36px;
    line-height: 1.2;
  }

  .open-body,
  .open-body-i {
    font-size: 17px;
    line-height: 1.8;
  }
}

@media (max-width: 480px) {

  .open-statement {
    font-size: 30px;
  }

  .open-body,
  .open-body-i {
    font-size: 15px;
  }
}

/* ════════════════════════════════════
   PERFORMANCE & ANTI-FLASH FIXES
════════════════════════════════════ */

/* Prevent white boxes in Explore Collections panel */
.section-other .other-panel {
  background: linear-gradient(150deg,#1a1410 0%,#0e0c09 100%);
}
.section-other .other-bg {
  background-color: #1a1410;
  will-change: transform;
}

/* All img tags: smooth rendering + fade-in on load to prevent white scanline flash */
img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Ensure editorial slot bg tone consistent with jewellery photography */
.ed-slot-b img {
  background: #1A1612;
}

/* Archetype hero container images prevent flash by having gradient as fallback */
.arch-c-img img,
.arch-h-img img,
.trousseau-img img {
  background-color: transparent;
  transition: opacity .45s ease;
}

/* Reduce layout thrashing by pre-committing to layers */
.hero-gem-bg,
.arch-c-accent,
.arch-h-accent {
  will-change: auto;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}


/* =========================================================
   ARCHETYPE DIVIDER
========================================================= */

@media (max-width: 767px) {

  .archetype-divider {
    padding: 60px 20px;
    text-align: center;
  }

  .arch-div-title {
    font-size: 36px;
    line-height: 1.2;
  }
}

@media (max-width: 480px) {

  .arch-div-title {
    font-size: 30px;
  }
}


/* =========================================================
   ARCHETYPE HERO
========================================================= */

@media (max-width: 991px) {

  .archetype-hero {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 70px 40px;
  }

  .arch-c-img img,
  .arch-h-img img {
    width: 100%;
    height: auto;
  }
}

@media (max-width: 767px) {

  .archetype-hero {
    padding: 60px 24px;
  }

  .arch-c-copy,
  .arch-h-copy {
    padding: 0;
  }
}


/* =========================================================
   STONE BAR
========================================================= */

@media (max-width: 991px) {

  .stone-bar {
    justify-content: center;
    gap: 30px;
    padding: 40px;
  }

  .stone-fact {
    min-width: calc(50% - 20px);
  }

  .stone-fact-sep {
    display: none;
  }
}

@media (max-width: 767px) {

  .stone-bar {
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
  }

  .stone-fact {
    width: 100%;
    min-width: 100%;
  }
}


/* =========================================================
   PIECES HEADER
========================================================= */

@media (max-width: 767px) {

  .pieces-header,
  .other-header {
    padding: 0 20px 40px;
  }

  .sec-title {
    font-size: 36px;
    line-height: 1.2;
  }
}

@media (max-width: 480px) {

  .sec-title {
    font-size: 30px;
  }
}


/* =========================================================
   FILTER TABS
========================================================= */

@media (max-width: 991px) {

  .piece-filters {
    overflow-x: auto;
    white-space: nowrap;
    justify-content: flex-start;
    padding: 0 20px 10px;
  }

  .piece-filters::-webkit-scrollbar {
    display: none;
  }

  .pf-tab {
    flex-shrink: 0;
  }
}


/* =========================================================
   PIECES GRID
========================================================= */

@media (max-width: 1200px) {

  .pieces-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
}

@media (max-width: 767px) {

  .pieces-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0 16px;
  }

  .piece-card {
    aspect-ratio: auto;
  }

  .piece-img {
    min-height: 420px;
  }

  .piece-info {
    padding: 22px 18px;
  }

  .piece-name {
    font-size: 22px;
  }

  .piece-desc {
    font-size: 16px;
    line-height: 1.7;
  }
}

@media (max-width: 480px) {

  .piece-img {
    min-height: 340px;
  }

  .piece-info {
    padding: 16px;
  }

  .piece-name {
    font-size: 20px;
  }
}


/* =========================================================
   STORY SECTION
========================================================= */

@media (max-width: 991px) {
   .ed-showcase-close-b { 
    display: grid;
    gap:15px; 
   }
  .section-story {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 70px 40px;
  }

  .story-img {
    min-height: 400px;
  }

  .story-text {
    padding: 0;
  }
}

@media (max-width: 767px) {

  .section-story {
    padding: 60px 24px;
  }

  .story-h2 {
    font-size: 36px;
    line-height: 1.2;
  }

  .story-body,
  .story-body-i {
    font-size: 17px;
    line-height: 1.8;
  }

  .story-img {
    min-height: 320px;
  }
}

@media (max-width: 480px) {

  .story-h2 {
    font-size: 30px;
  }

  .story-body,
  .story-body-i {
    font-size: 15px;
  }

  .story-img {
    min-height: 260px;
  }
}


/* =========================================================
   CTA SECTION
========================================================= */

@media (max-width: 991px) {

  .section-cta {
    padding: 80px 30px;
  }

  .cta-text {
    max-width: 100%;
  }
}

@media (max-width: 767px) {

  .section-cta {
    padding: 70px 24px;
  }

  .cta-title {
    font-size: 40px;
    line-height: 1.2;
  }

  .cta-text {
    font-size: 17px;
  }

  .cta-btn {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 480px) {

  .cta-title {
    font-size: 30px;
  }

  .cta-text {
    font-size: 15px;
  }
}


/* =========================================================
   OTHER COLLECTIONS
========================================================= */

@media (max-width: 767px) {

  .other-grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    padding: 0 16px;
  }

  .other-panel {
    height: 280px;
  }
}

@media (max-width: 480px) {

  .other-panel {
    height: 220px;
  }
}


/* =========================================================
   MODALS
========================================================= */

@media (max-width: 991px) {
    .arch-c-accent, .arch-h-accent, .bespoke-sep{ 
      display: none;
    }
    .archetype-hero, .cta-btn-row-b{ 
      display: grid;
    }
    .arch-c-img, .arch-content, .arch-h-img, .arch-content--h{ 
      position: relative !important; 
      width: 100%;
      max-width: 100%;
    }

    .section-trousseau, .section-bespoke{ 
      grid-template-columns: 1fr;
    }
      .ed-row-main-b{ 
             grid-template-columns: 1fr 1fr;
      }
    .ed-showcase-header-b{
      grid-template-columns: 1fr;
    }
    .ed-slot-b--hero{ 
      min-height: 250px; 
      height: 100%;
    }
    .ed-slot-b--tall {
    height: 100px;
    min-height: 200px;
}
  .modal-box {
    width: calc(100% - 40px);
    padding: 40px 26px;
    max-height: 90vh;
    overflow-y: auto;
  }

  .modal-actions {
    flex-direction: column;
    gap: 14px;
  }

  .modal-btn-wa,
  .modal-btn-email,
  .modal-btn-whatsapp {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 767px) {

  .modal-box {
    width: calc(100% - 24px);
    padding: 34px 20px;
    border-radius: 18px;
  }

  .modal-title {
    font-size: 36px;
    line-height: 1.1;
  }

  .modal-body,
  .modal-body-i,
  .modal-list li {
    font-size: 16px;
    line-height: 1.8;
  }

  .modal-input {
    height: 54px;
    font-size: 16px;
  }
}

@media (max-width: 480px) {

  .modal-box {
    padding: 28px 16px;
  }

  .modal-title {
    font-size: 30px;
  }
}