/* ============================================
   LUMIÈRE — Haute Joaillerie & Diamonds
   Main Stylesheet — Version 1.0
   ============================================ */

/* ══ Variables ══ */
:root {
  --black: #F7F0E8;
  --dark: #F2E8DC;
  --deep: #EDE0D0;
  --gold: #8B5E3C;
  --gold2: #A67450;
  --gold3: #6B4426;
  --cream: #2C1A0E;
  --ivory: #1A0E06;
  --warm: #3D2512;
  --muted: rgba(44,26,14,.5);
  --border: rgba(139,94,60,.22);
  --border2: rgba(139,94,60,.45);
  --font-latin: 'Cinzel', serif;
  --font-tr: 'Cormorant Garamond', 'EB Garamond', Georgia, 'Times New Roman', serif;
  --nav-height: 100px;
}

/* ══ Reset ══ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:18px;scroll-padding-top:var(--nav-height);overflow-x:clip;overflow-x:hidden;max-width:100%;width:100%}
body{
  font-family:'Cormorant Garamond',serif;
  background:var(--black);
  color:#2C1A0E;
  overflow-x:clip;
  overflow-x:hidden;
  max-width:100%;
  width:100%;
  position:relative;
  touch-action:pan-y;
}

.gold-site{
  width:100%;max-width:100%;
  overflow-x:hidden;
  position:relative;
}
.cursor{
  position:fixed;width:8px;height:8px;border-radius:50%;
  background:var(--gold);pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s;
}
.cursor-ring{
  position:fixed;width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(201,169,110,.5);pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);transition:all .12s ease;
}
body:hover .cursor{opacity:1}

/* ══ Noise overlay ══ */
body::before{
  content:'';position:fixed;inset:0;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
  pointer-events:none;
}

/* ══ NAV ══ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  width:100%;max-width:100%;box-sizing:border-box;
  padding:28px 64px;
  min-height:var(--nav-height);
  display:flex;align-items:center;justify-content:space-between;
  transition:all .6s ease;
  background:rgba(247,240,232,.88);
  backdrop-filter:blur(16px);
}
nav.solid{
  background:rgba(242,232,220,.95);
  backdrop-filter:blur(24px);
  padding:18px 64px;
  border-bottom:1px solid var(--border);
}
.nav-logo{
  font-family:var(--font-latin);font-size:1.6rem;font-weight:600;
  letter-spacing:.35em;color:var(--gold);text-decoration:none;
  text-transform:none;
}
.nav-logo span{color:var(--ivory);font-weight:400}
.nav-links{display:flex;gap:40px;list-style:none}
.nav-links a{
  font-family:var(--font-latin);font-size:.7rem;font-weight:500;
  letter-spacing:.22em;text-transform:none;color:rgba(44,26,14,.85);
  text-decoration:none;transition:.3s;
}
.nav-links a:hover{color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:24px}
.nav-right a{color:rgba(44,26,14,.75);font-size:17px;text-decoration:none;transition:.3s}
.nav-right a:not(.nav-book):hover{color:var(--gold)}
.nav-book{
  font-family:var(--font-latin);font-size:.65rem;font-weight:700;
  letter-spacing:.2em;text-transform:none;
  border:1px solid var(--border2);color:var(--gold3);
  padding:10px 22px;text-decoration:none;transition:.3s;
}
.nav-book:hover,.nav-right a.nav-book:hover{background:var(--gold);color:#fff}
.ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:none}
.ham span{width:22px;height:1px;background:var(--cream)}

/* ══ HERO ══ */
.hero{
  min-height:100vh;
  min-height:100dvh;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding-top:calc(var(--nav-height) + 48px);
  padding-bottom:80px;
  padding-left:16px;padding-right:16px;
  box-sizing:border-box;
  width:100%;max-width:100%;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 60% 40%, rgba(139,94,60,.09) 0%, transparent 50%),
    radial-gradient(ellipse at 20% 70%, rgba(139,94,60,.05) 0%, transparent 40%),
    linear-gradient(180deg, var(--black) 0%, var(--deep) 100%);
}
/* Geometric diamond lines */
.hero-diamond{
  position:absolute;top:50%;left:50%;
  width:min(60vw,600px);height:min(60vw,600px);
  border:1px solid rgba(139,94,60,.12);
  transform:translate(-50%,-50%) rotate(45deg);
  animation:spin 60s linear infinite;
  pointer-events:none;
}
.hero-diamond::before{
  content:'';position:absolute;inset:30px;
  border:1px solid rgba(139,94,60,.09);
}
.hero-diamond::after{
  content:'';position:absolute;inset:60px;
  border:1px solid rgba(139,94,60,.06);
}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(405deg)}}

/* Corner ornaments */
.hero-corner{
  position:absolute;width:80px;height:80px;
}
.hero-corner--tl{top:calc(var(--nav-height) + 24px);left:64px;border-top:1px solid var(--border);border-left:1px solid var(--border)}
.hero-corner--tr{top:calc(var(--nav-height) + 24px);right:64px;border-top:1px solid var(--border);border-right:1px solid var(--border)}
.hero-corner--bl{bottom:60px;left:64px;border-bottom:1px solid var(--border);border-left:1px solid var(--border)}
.hero-corner--br{bottom:60px;right:64px;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}

.hero-content{
  position:relative;z-index:2;text-align:center;
  display:flex;flex-direction:column;align-items:center;
  width:100%;max-width:920px;
  margin-top:40px;
  animation:heroIn 1.4s ease both;
}
@keyframes heroIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

.hero-tag{
  font-family:var(--font-latin);font-size:.65rem;font-weight:400;
  letter-spacing:.4em;text-transform:none;color:var(--gold);
  display:flex;align-items:center;justify-content:center;gap:16px;
  margin-bottom:28px;
}
.hero-tag::before,.hero-tag::after{
  content:'';width:40px;height:1px;background:var(--gold);opacity:.5;
}
.hero-h1{
  font-family:var(--font-latin);
  font-size:clamp(3.5rem,8vw,7rem);
  font-weight:400;line-height:1;
  letter-spacing:.12em;
  color:var(--ivory);
  margin-bottom:8px;
}
.hero-h1 em{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;font-weight:300;font-size:1.1em;
  color:var(--gold);letter-spacing:.06em;
  display:block;
}
.hero-sub{
  font-size:1rem;font-weight:300;font-style:italic;
  color:var(--muted);letter-spacing:.12em;
  margin-bottom:56px;line-height:2;
}
.hero-btns{
  display:flex;flex-direction:column;gap:12px;
  justify-content:center;align-items:center;
  width:100%;
}
.hero-btns .btn-gold,
.hero-btns .btn-ghost{
  display:block;width:100%;max-width:300px;
  text-align:center;box-sizing:border-box;
}
@media(min-width:681px){
  .hero-btns{flex-direction:row;gap:20px}
  .hero-btns .btn-gold,
  .hero-btns .btn-ghost{width:auto;max-width:none;display:inline-block}
}
.btn-gold{
  font-family:var(--font-latin);font-size:.7rem;font-weight:500;
  letter-spacing:.25em;text-transform:none;
  background:var(--gold);color:#F7F0E8;
  padding:16px 40px;text-decoration:none;transition:.4s;
  display:inline-block;
}
.btn-gold:hover{background:var(--gold2);letter-spacing:.3em}
.btn-ghost{
  font-family:var(--font-latin);font-size:.7rem;font-weight:400;
  letter-spacing:.25em;text-transform:none;
  border:1px solid var(--border2);color:#2C1A0E;
  padding:16px 40px;text-decoration:none;transition:.4s;
  display:inline-block;
}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);letter-spacing:.3em}
.hero-scroll{
  position:static;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  margin-top:28px;
  z-index:2;
  pointer-events:none;
}
.hero-scroll span{font-family:var(--font-latin);font-size:.55rem;letter-spacing:.3em;text-transform:none;color:var(--muted)}
.scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollDown 2s ease infinite}
@keyframes scrollDown{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ══ MARQUEE ══ */
.marquee-wrap{
  background:var(--gold);padding:14px 0;overflow:hidden;
  position:relative;z-index:2;
}
.marquee-track{
  display:flex;gap:0;white-space:nowrap;
  animation:marquee 30s linear infinite;
}
.marquee-track span{
  font-family:var(--font-latin);font-size:.65rem;font-weight:500;
  letter-spacing:.3em;text-transform:none;color:#F7F0E8;
  padding:0 40px;
}
.marquee-track span::after{content:'✦';margin-left:40px;opacity:.5}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ══ SECTION SHARED ══ */
section{position:relative;z-index:2}
.sec-label{
  font-family:var(--font-latin);font-size:.62rem;font-weight:400;
  letter-spacing:.38em;text-transform:none;color:var(--gold);
  display:flex;align-items:center;gap:14px;margin-bottom:20px;
}
.sec-label::before{content:'✦';font-size:.5rem}
.sec-h2{
  font-family:var(--font-latin);
  font-size:clamp(1.8rem,4vw,3.2rem);
  font-weight:400;letter-spacing:.1em;line-height:1.2;
  color:var(--ivory);margin-bottom:16px;
}
.sec-h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;color:var(--gold)}
.sec-text{
  font-size:1.2rem;font-weight:300;line-height:1.95;
  color:var(--muted);letter-spacing:.04em;max-width:540px;
}

/* ══ ABOUT ══ */
.about{padding:150px 64px 130px}
.about-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;
  max-width:1200px;margin:0 auto;
}
.about-visual{
  position:relative;height:580px;
  overflow:hidden;
}
.about-frame{
  position:absolute;inset:0;
  border:1px solid var(--border);
}
.about-frame::before{
  content:'';position:absolute;top:20px;left:20px;right:20px;bottom:20px;
  border:1px solid rgba(139,94,60,.12);
}
.about-img-placeholder{
  width:100%;height:100%;
  background:linear-gradient(135deg,#E0CCBA 0%,#D4B898 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:20px;
}
.about-badge{
  position:absolute;bottom:-24px;right:-24px;
  width:120px;height:120px;
  background:var(--gold);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;z-index:1;
}
.about-badge-num{font-family:var(--font-latin);font-size:2.3rem;font-weight:600;color:#F7F0E8;line-height:1}
.about-badge-txt{font-family:var(--font-latin);font-size:.5rem;font-weight:400;letter-spacing:.15em;text-transform:none;color:rgba(247,240,232,.7);text-align:center}

.about-ornament{
  position:absolute;top:50%;right:-20px;transform:translateY(-50%);
  width:40px;height:1px;background:var(--gold);opacity:.4;
}

/* ══ COLLECTIONS ══ */
.collections{padding:0 64px 130px}
.col-header{
  display:flex;align-items:flex-end;justify-content:space-between;
  max-width:1200px;margin:0 auto 60px;
}
.col-link{
  font-family:var(--font-latin);font-size:.65rem;letter-spacing:.25em;
  text-transform:none;color:var(--gold);text-decoration:none;
  display:flex;align-items:center;gap:10px;transition:.3s;
  border-bottom:1px solid transparent;padding-bottom:4px;
}
.col-link:hover{border-color:var(--gold);letter-spacing:.3em}

/* New masonry-style grid */
.col-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:280px 280px;
  gap:12px;
  max-width:1200px;margin:0 auto;
}

.col-card{
  position:relative;overflow:hidden;
  cursor:none;
  border-radius:4px;
}
.col-card-media{
  position:absolute;inset:0;
}
/* Layout positions */
.col-card:nth-child(1){grid-column:1/7;grid-row:1/3}   /* big left */
.col-card:nth-child(2){grid-column:7/10;grid-row:1/2}  /* top mid */
.col-card:nth-child(3){grid-column:10/13;grid-row:1/2} /* top right */
.col-card:nth-child(4){grid-column:7/10;grid-row:2/3}  /* bot mid */
.col-card:nth-child(5){grid-column:10/13;grid-row:2/3} /* bot right */

/* SVG illustrated backgrounds */
.col-card-visual{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  transition:transform .8s cubic-bezier(.4,0,.2,1);
}
.col-card:hover .col-card-visual{transform:scale(1.07)}

/* Card 1 — Engagement — Deep rose */
.col-card:nth-child(1) .col-card-visual{
  background:linear-gradient(145deg,#5C2D3C 0%,#8B4055 35%,#B06070 60%,#C8909A 85%,#D4A8B0 100%);
}
/* Card 2 — Necklaces — Sapphire */
.col-card:nth-child(2) .col-card-visual{
  background:linear-gradient(135deg,#1A2E4A 0%,#2A4870 40%,#3A6090 70%,#5080AA 100%);
}
/* Card 3 — Earrings — Emerald */
.col-card:nth-child(3) .col-card-visual{
  background:linear-gradient(135deg,#1A3A2A 0%,#2A5A40 40%,#3A7855 70%,#508A65 100%);
}
/* Card 4 — Bracelets — Amethyst */
.col-card:nth-child(4) .col-card-visual{
  background:linear-gradient(135deg,#2E1A4A 0%,#4A2A70 40%,#603A8A 70%,#7850A0 100%);
}
/* Card 5 — Bespoke — Gold */
.col-card:nth-child(5) .col-card-visual{
  background:linear-gradient(135deg,#3A2A0A 0%,#5A4020 40%,#7A5C32 70%,#9A7848 100%);
}

/* Gem SVG illustration inside */
.col-gem{
  font-size:82px;
  filter:drop-shadow(0 8px 32px rgba(0,0,0,.3)) drop-shadow(0 0 60px rgba(255,255,255,.15));
  animation:gemFloat 7s ease-in-out infinite;
  position:relative;z-index:1;
}
.col-card:nth-child(1) .col-gem{font-size:122px}
.col-gem-2{position:absolute;opacity:.15;font-size:202px;right:-20px;bottom:-30px;transform:rotate(-15deg)}

/* Shine effect */
.col-shine{
  position:absolute;inset:0;
  background:linear-gradient(125deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);
  transform:translateX(-100%);transition:transform .6s ease;
}
.col-card:hover .col-shine{transform:translateX(100%)}

/* Gradient overlay */
.col-card-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(0,0,0,.08) 0%,
    rgba(0,0,0,.2) 50%,
    rgba(0,0,0,.72) 100%
  );
  transition:.4s;
}
.col-card:hover .col-card-overlay{
  background:linear-gradient(180deg,
    rgba(0,0,0,.0) 0%,
    rgba(0,0,0,.1) 40%,
    rgba(0,0,0,.78) 100%
  );
}

/* Info text */
.col-card-info{
  position:absolute;bottom:0;left:0;right:0;
  padding:28px;
  transform:translateY(4px);transition:.4s;
  z-index:2;
}
.col-card:hover .col-card-info{transform:translateY(0)}

.col-cat{
  font-family:var(--font-latin);font-size:.55rem;letter-spacing:.32em;
  text-transform:none;color:rgba(255,255,255,.65);
  margin-bottom:8px;
  opacity:0;transition:.35s;transform:translateY(6px);
}
.col-card:hover .col-cat{opacity:1;transform:translateY(0)}

.col-name{
  font-family:var(--font-latin);
  font-size:1.2rem;font-weight:500;
  letter-spacing:.1em;color:#fff;
  margin-bottom:6px;line-height:1.3;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.col-card:nth-child(1) .col-name{font-size:1.6rem}

.col-desc{
  font-family:'Cormorant Garamond',serif;
  font-size:.95rem;font-weight:300;font-style:italic;
  color:rgba(255,255,255,.65);
  opacity:0;transform:translateY(5px);transition:.35s .06s;
  line-height:1.6;
}
.col-card:hover .col-desc{opacity:1;transform:translateY(0)}

.col-arrow{
  position:absolute;top:24px;right:24px;
  width:36px;height:36px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.6);font-size:.7rem;
  opacity:0;transform:translateY(-6px);transition:.35s;
}
.col-card:hover .col-arrow{opacity:1;transform:translateY(0);border-color:rgba(255,255,255,.6)}

/* Badge on card 1 */
.col-badge{
  position:absolute;top:24px;left:24px;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.25);
  font-family:var(--font-latin);font-size:.55rem;font-weight:500;
  letter-spacing:.2em;text-transform:none;color:#fff;
  padding:7px 14px;border-radius:2px;
}

/* ══ FEATURED ══ */
.featured{padding:130px 64px;background:var(--deep)}
.featured-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.featured-visual{
  position:relative;
}
.feat-img{
  width:100%;aspect-ratio:1;
  background:linear-gradient(135deg,#E8D8C4,#DCC8A8);
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.feat-img::after{
  content:'';position:absolute;
  top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg);
  width:60%;height:60%;border:1px solid rgba(139,94,60,.2);
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.feat-tag{
  position:absolute;top:24px;left:24px;
  background:var(--gold);color:#F7F0E8;
  font-family:var(--font-latin);font-size:.55rem;font-weight:600;
  letter-spacing:.2em;text-transform:none;
  padding:8px 16px;
}
.feat-price{
  position:absolute;bottom:24px;right:24px;
  font-family:var(--font-latin);font-size:.65rem;letter-spacing:.15em;
  color:var(--gold);border:1px solid var(--border);
  padding:10px 18px;background:rgba(247,240,232,.85);
  backdrop-filter:blur(10px);
}

.feat-content .sec-label{margin-bottom:28px}
.feat-details{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
  margin:36px 0;
}
.feat-detail{
  padding:20px;border:1px solid var(--border);
  border-top:2px solid var(--gold);
}
.feat-detail-num{
  font-family:var(--font-latin);font-size:1.6rem;font-weight:400;
  color:var(--gold);display:block;margin-bottom:4px;
}
.feat-detail-lbl{font-size:.85rem;font-weight:300;color:var(--muted);letter-spacing:.06em}

/* ══ PROCESS ══ */
.process{padding:130px 64px}
.process-inner{max-width:1200px;margin:0 auto}
.process-head{text-align:center;margin-bottom:80px}
.process-head .sec-text{margin:0 auto}
.process-steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:2px;position:relative;
}
.process-steps::before{
  content:'';position:absolute;top:32px;left:12.5%;right:12.5%;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),var(--gold),transparent);
  opacity:.2;
}
.proc-step{padding:0 20px;text-align:center}
.proc-num{
  width:64px;height:64px;
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-latin);font-size:1.2rem;font-weight:400;
  color:var(--gold);margin:0 auto 28px;
  position:relative;z-index:2;background:var(--black);
  transition:.3s;
}
.proc-step:hover .proc-num{background:var(--gold);color:#F7F0E8;border-color:var(--gold)}
.proc-h3{font-family:var(--font-latin);font-size:1rem;font-weight:400;letter-spacing:.1em;color:var(--ivory);margin-bottom:12px}
.proc-txt{font-size:.95rem;font-weight:300;color:var(--muted);line-height:1.9;letter-spacing:.04em}

/* ══ TESTIMONIALS ══ */
.testimonials{padding:130px 64px;background:var(--dark)}
.test-inner{max-width:900px;margin:0 auto;text-align:center}
.test-grid{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;margin-top:60px;
}
.test-card{
  padding:36px 28px;border:1px solid var(--border);
  border-top:2px solid var(--gold);text-align:left;
  transition:.3s;
}
.test-card:hover{border-color:var(--border2);background:rgba(201,169,110,.03)}
.test-stars{color:var(--gold);font-size:.8rem;margin-bottom:16px;letter-spacing:.1em}
.test-quote{
  font-size:1.15rem;font-style:italic;font-weight:300;
  color:#2C1A0E;line-height:1.9;margin-bottom:24px;
  border-left:1px solid var(--border);padding-left:18px;
}
.test-name{font-family:var(--font-latin);font-size:.7rem;letter-spacing:.2em;text-transform:none;color:var(--gold)}
.test-role{font-size:.85rem;font-weight:300;color:var(--muted);margin-top:4px}

/* ══ CTA BANNER ══ */
.cta-banner{
  padding:100px 64px;
  background:
    radial-gradient(ellipse at center, rgba(139,94,60,.08) 0%, transparent 60%),
    var(--deep);
  text-align:center;position:relative;overflow:hidden;
}
.cta-banner::before,.cta-banner::after{
  content:'';position:absolute;
  border:1px solid var(--border);
  border-radius:50%;transform:translate(-50%,-50%);
  pointer-events:none;
}
.cta-banner::before{width:700px;height:700px;top:50%;left:50%}
.cta-banner::after{width:400px;height:400px;top:50%;left:50%}
.cta-h2{
  font-family:var(--font-latin);font-size:clamp(2rem,5vw,4rem);font-weight:400;
  letter-spacing:.12em;color:var(--ivory);margin-bottom:12px;
}
.cta-h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;color:var(--gold)}
.cta-sub{font-size:1.2rem;font-weight:300;font-style:italic;color:var(--muted);margin-bottom:48px;letter-spacing:.06em}
.cta-ornament{
  width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--gold),transparent);
  margin:0 auto 48px;
}

/* ══ CONTACT ══ */
.contact{padding:130px 64px;background:var(--deep)}
.contact-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px}
.contact-info .sec-label{margin-bottom:28px}
.contact-items{display:flex;flex-direction:column;gap:28px;margin-top:40px}
.contact-item{
  display:flex;gap:20px;padding:24px;border:1px solid var(--border);
  transition:.3s;
}
.contact-item:hover{border-color:var(--border2)}
.contact-item-icon{
  width:44px;height:44px;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:.9rem;flex-shrink:0;
}
.contact-item h4{font-family:var(--font-latin);font-size:.7rem;letter-spacing:.2em;text-transform:none;color:var(--ivory);margin-bottom:6px}
.contact-item p{font-size:.95rem;font-weight:300;color:var(--muted);line-height:1.7}

.contact-form{display:flex;flex-direction:column;gap:20px}
.contact-form label{font-family:var(--font-latin);font-size:.6rem;letter-spacing:.25em;text-transform:none;color:var(--gold);display:block;margin-bottom:8px}
.form-field{
  width:100%;padding:16px 20px;
  background:rgba(139,94,60,.05);border:1px solid var(--border);
  color:#2C1A0E;font-family:'Cormorant Garamond',serif;font-size:1rem;
  font-weight:300;letter-spacing:.04em;outline:none;transition:.3s;
  -webkit-appearance:none;
}
.form-field:focus{border-color:var(--gold)}
.form-field::placeholder{color:var(--muted)}
.form-field option{background:var(--dark);color:var(--cream)}
textarea.form-field{resize:none;height:120px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-submit{
  width:100%;padding:18px;
  background:var(--gold);border:none;
  font-family:var(--font-latin);font-size:.7rem;font-weight:500;
  letter-spacing:.3em;text-transform:none;
  color:#F7F0E8;cursor:none;transition:.4s;
  margin-top:8px;
}
.form-submit:hover{background:var(--gold2);letter-spacing:.35em}

/* ══ FOOTER ══ */
footer{
  background:linear-gradient(160deg,#C8B09A 0%,#BEAA96 30%,#C4A898 60%,#BAA08E 100%);
  border-top:1px solid rgba(201,169,110,.25);
  position:relative;overflow:hidden;
}
footer::before{
  content:'';position:absolute;
  top:-200px;left:50%;transform:translateX(-50%);
  width:800px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,169,110,.14) 0%,transparent 65%);
  pointer-events:none;
}
.foot-newsletter{
  padding:64px;border-bottom:1px solid rgba(201,169,110,.2);
  display:flex;align-items:center;justify-content:space-between;gap:40px;
  max-width:1200px;margin:0 auto;flex-wrap:wrap;
}
.foot-nl-text{}
.foot-nl-label{
  font-family:var(--font-latin);font-size:.6rem;letter-spacing:.32em;text-transform:none;
  color:#2E1506;margin-bottom:8px;
}
.foot-nl-title{
  font-family:var(--font-latin);font-size:1.5rem;font-weight:400;letter-spacing:.08em;
  color:#180C02;line-height:1.3;
}
.foot-nl-title em{font-family:'Cormorant Garamond',serif;font-style:italic;color:#6B4820}
.foot-nl-form{display:flex;gap:0;min-width:0;width:100%;max-width:480px;border:1px solid rgba(100,70,40,.25)}
.foot-nl-input{
  flex:1;padding:14px 20px;background:rgba(255,255,255,.35);
  border:none;outline:none;color:#3A2215;
  font-family:'Cormorant Garamond',serif;font-size:1rem;letter-spacing:.06em;
}
.foot-nl-input::placeholder{color:rgba(38,18,4,.92)}
.foot-nl-btn{
  font-family:var(--font-latin);font-size:.6rem;font-weight:600;letter-spacing:.22em;text-transform:none;
  background:var(--gold);color:#1A0C04;border:none;padding:14px 22px;cursor:pointer;transition:.3s;
  white-space:nowrap;
}
.foot-nl-btn:hover{background:var(--gold2)}

.foot-top{
  display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;
  gap:48px;max-width:1200px;margin:0 auto;
  padding:64px 64px 0;
}
.foot-brand-name{
  font-family:var(--font-latin);font-size:1.7rem;font-weight:600;
  letter-spacing:.35em;color:#4A2C10;margin-bottom:6px;
}
.foot-brand-tagline{
  font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;
  font-size:.95rem;letter-spacing:.12em;color:#261204;
  margin-bottom:18px;
}
.foot-brand-sub{
  font-size:.9rem;font-weight:300;font-style:italic;
  color:#261204;line-height:1.9;margin-bottom:28px;
  border-left:1px solid rgba(100,70,40,.25);padding-left:16px;
}
.foot-awards{display:flex;gap:14px;margin-bottom:28px;flex-wrap:wrap}
.foot-award{
  border:1px solid rgba(74,44,16,.3);
  padding:6px 12px;
  font-family:var(--font-latin);font-size:.52rem;font-weight:400;letter-spacing:.15em;text-transform:none;
  color:#2E1506;
}
.foot-social{display:flex;gap:10px}
.foot-social a{
  width:38px;height:38px;
  border:1px solid rgba(74,44,16,.25);
  display:flex;align-items:center;justify-content:center;
  color:#261204;font-size:.85rem;text-decoration:none;transition:.3s;
}
.foot-social a:hover{border-color:#4A2C10;color:#4A2C10;background:rgba(74,44,16,.12)}

.foot-col h4{
  font-family:var(--font-latin);font-size:.65rem;letter-spacing:.28em;text-transform:none;
  color:#2E1506;margin-bottom:22px;
  display:flex;align-items:center;gap:10px;
}
.foot-col h4::after{content:'';flex:1;height:1px;background:rgba(74,44,16,.18)}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.foot-col a{
  font-family:'Cormorant Garamond',serif;
  font-size:1rem;font-weight:300;font-style:italic;
  color:#261204;text-decoration:none;transition:.3s;letter-spacing:.06em;
  display:flex;align-items:center;gap:8px;
}
.foot-col a::before{content:'✦';font-size:.45rem;color:#2E1506;flex-shrink:0}
.foot-col a:hover{color:#2E1506;padding-left:4px}

.foot-divider{
  max-width:1200px;margin:48px 64px 0;
  height:1px;background:linear-gradient(90deg,transparent,rgba(74,44,16,.28),transparent);
}

.foot-bottom{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1200px;margin:0 auto;
  padding:24px 64px 40px;
  font-family:var(--font-latin);font-size:.55rem;letter-spacing:.2em;text-transform:none;
  color:rgba(38,18,4,.95);
}
.foot-bottom-center{
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.foot-bottom-gem{font-size:1.3rem;color:#2E1506;opacity:.9}
.foot-bottom-txt{color:#2E1506;font-size:.52rem;letter-spacing:.25em}

/* ══ Reveal animations ══ */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

/* ══ Mobile ══ */
@media(max-width:1024px){
  :root{--nav-height:80px}
  nav{padding:20px 32px}
  nav.solid{padding:14px 32px}
  .nav-links{gap:24px}
  .about,.collections,.featured,.process,.testimonials,.cta-banner,.contact{padding-left:32px;padding-right:32px}
  .about-grid,.featured-inner,.contact-inner{grid-template-columns:1fr;gap:48px}
  .about-visual{height:400px}

  /* Collections — tablet: featured + 2×2, text always on the photo */
  .col-header{
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
    margin-bottom:40px;
  }
  .col-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:380px 250px 250px;
    gap:12px;
  }
  .col-card:nth-child(1){grid-column:1/-1;grid-row:1}
  .col-card:nth-child(2){grid-column:1;grid-row:2}
  .col-card:nth-child(3){grid-column:2;grid-row:2}
  .col-card:nth-child(4){grid-column:1;grid-row:3}
  .col-card:nth-child(5){grid-column:2;grid-row:3}
  .col-cat,.col-desc,.col-arrow{opacity:1;transform:none}
  .col-card-info{transform:none;padding:22px}
  .col-card-overlay{
    background:linear-gradient(180deg,rgba(0,0,0,.04) 20%,rgba(0,0,0,.55) 100%);
  }

  .process-steps{grid-template-columns:1fr 1fr;gap:32px}
  .process-steps::before{display:none}
  .test-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr 1fr;gap:32px}
  .hero-corner--tl,.hero-corner--tr,.hero-corner--bl,.hero-corner--br{display:none}
}
@media(max-width:680px){
  :root{--nav-height:88px}
  nav{
    padding:14px 16px;
    min-height:var(--nav-height);
    align-items:center;
    gap:12px;
  }
  nav.solid{padding:12px 16px}
  .nav-logo,
  .custom-logo-link{
    flex:1 1 auto;
    min-width:0;
    max-width:calc(100% - 52px);
  }
  .nav-logo{
    font-size:1.15rem;
    letter-spacing:.18em;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .custom-logo{max-height:40px!important;width:auto!important;max-width:100%}
  .nav-right{flex:0 0 auto;gap:0}
  .nav-links,.nav-book{display:none}
  .ham{display:flex;flex-shrink:0;margin-left:auto}

  .hero{
    min-height:auto;
    padding:calc(var(--nav-height) + 24px) 16px 48px;
    align-items:center;
    justify-content:flex-start;
    overflow:hidden;
    width:100%;
    max-width:100%;
  }
  .hero-content{
    margin-top:0;
    padding:0 4px;
    width:100%;
    max-width:100%;
    flex:0 0 auto;
  }
  .hero-tag{
    font-size:.55rem;
    letter-spacing:.22em;
    gap:10px;
    margin-bottom:20px;
  }
  .hero-tag::before,.hero-tag::after{width:24px}
  .hero-h1{
    font-size:clamp(2rem,11vw,2.75rem);
    letter-spacing:.08em;
    word-break:break-word;
  }
  .hero-h1 em{font-size:1em}
  .hero-sub{
    font-size:.95rem;
    letter-spacing:.06em;
    margin-bottom:32px;
    padding:0 4px;
    line-height:1.7;
  }
  .hero-diamond{display:none}

  .marquee-wrap{overflow:hidden;width:100%;max-width:100%;contain:layout paint}
  .collections{padding:0 20px 80px}
  .about{padding:100px 20px 80px}
  .about-visual{height:320px;margin-bottom:32px}
  .about-badge{
    right:12px;
    bottom:-16px;
    width:96px;
    height:96px;
  }
  .about-badge-num{font-size:1.8rem}

  .about,.collections,.featured,.process,.testimonials,.cta-banner,.contact{padding-left:20px;padding-right:20px}

  /* Collections — mobile: stacked photo cards, overlay text always readable */
  .collections{padding-bottom:80px}
  .col-header{margin-bottom:28px;gap:14px}
  .col-grid{
    grid-template-columns:1fr;
    grid-template-rows:400px 260px 260px 260px 260px;
    gap:10px;
  }
  .col-card:nth-child(1){grid-column:1;grid-row:1}
  .col-card:nth-child(2){grid-column:1;grid-row:2}
  .col-card:nth-child(3){grid-column:1;grid-row:3}
  .col-card:nth-child(4){grid-column:1;grid-row:4}
  .col-card:nth-child(5){grid-column:1;grid-row:5}
  .col-card-media{position:absolute;inset:0}
  .col-card-info{
    position:absolute;
    padding:20px 18px 22px;
    transform:none;
  }
  .col-cat{
    opacity:1;
    transform:none;
    font-size:.5rem;
    letter-spacing:.22em;
    margin-bottom:6px;
    color:rgba(255,255,255,.75);
  }
  .col-name{
    font-size:1.05rem;
    margin-bottom:4px;
    color:#fff;
    text-shadow:0 2px 12px rgba(0,0,0,.45);
  }
  .col-card:nth-child(1) .col-name{font-size:1.35rem}
  .col-desc{
    opacity:1;
    transform:none;
    font-size:.85rem;
    line-height:1.45;
    color:rgba(255,255,255,.78);
  }
  .col-arrow{display:none}
  .col-badge{top:16px;left:16px;font-size:.5rem;padding:6px 12px}
  .col-card-overlay{
    background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.7) 100%);
  }
  .col-card:hover .col-card-visual,
  .col-card:hover .col-card-img{transform:none}

  .test-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr;padding:32px 20px 0}
  .foot-newsletter{padding:32px 20px;flex-direction:column;align-items:stretch}
  .foot-nl-form{min-width:0;width:100%;max-width:100%}
  .foot-nl-input{min-width:0}
  .foot-divider{margin:32px 20px 0}
  .foot-bottom{flex-direction:column;gap:8px;text-align:center;padding:20px 20px 32px}
  .form-row{grid-template-columns:1fr}
  .feat-details{grid-template-columns:1fr 1fr}
}

/* Touch devices — always show card details */
@media(hover:none){
  .col-cat,.col-desc,.col-arrow{opacity:1;transform:none}
  .col-card-info{transform:none}
}

/* ── Real Image Support ── */
.about-img-real{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.col-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.4,0,.2,1)}
.col-card:hover .col-card-img{transform:scale(1.07)}
.feat-img-real{width:100%;height:100%;object-fit:cover;display:block}

/* ── Image Placeholder Boxes ── */
.img-box{
  width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;background:linear-gradient(135deg,#E8DDD0 0%,#D8CCBC 100%);
  border:2px dashed rgba(139,94,60,.3);
  position:relative;overflow:hidden;
}
.img-box::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(
    45deg,transparent,transparent 20px,
    rgba(139,94,60,.04) 20px,rgba(139,94,60,.04) 21px
  );
}
.img-box-icon{
  font-size:40px;opacity:.35;position:relative;z-index:1;
}
.img-box-label{
  font-family:var(--font-latin);font-size:.55rem;font-weight:500;
  letter-spacing:.2em;text-transform:none;
  color:rgba(139,94,60,.6);text-align:center;line-height:1.8;
  position:relative;z-index:1;
}
.img-box-size{
  font-family:var(--font-latin);font-size:.5rem;font-weight:400;
  letter-spacing:.15em;color:rgba(139,94,60,.4);
  background:rgba(255,255,255,.5);padding:4px 12px;border-radius:2px;
  position:relative;z-index:1;
}

/* ══ SVG Icon Images ══ */
.nav-icon {
  width: 18px;
  height: 18px;
  display: block;
  opacity: .55;
  transition: opacity .3s;
  filter: brightness(0) saturate(100%);
}
.nav-right a:hover .nav-icon { opacity: .85; }

.inline-icon {
  width: 13px;
  height: 13px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 2px;
  filter: brightness(0) saturate(100%) invert(52%) sepia(28%) saturate(500%) hue-rotate(0deg);
  opacity: .8;
  transition: .3s;
}

.col-arrow img {
  width: 16px;
  height: 16px;
  display: block;
  filter: invert(1);
  opacity: .9;
}

.contact-icon {
  width: 20px;
  height: 20px;
  display: block;
  filter: brightness(0) saturate(100%) invert(42%) sepia(30%) saturate(600%) hue-rotate(0deg);
}

.social-icon {
  width: 16px;
  height: 16px;
  display: block;
  opacity: .5;
  transition: opacity .3s;
  filter: brightness(0) saturate(100%) invert(25%) sepia(20%) saturate(400%) hue-rotate(10deg);
}
.foot-social a:hover .social-icon { opacity: .9; }

/* ══ Our Story — Image Icon Replacements ══ */
.img-box-svg {
  width: 44px;
  height: 44px;
  opacity: .35;
  display: block;
  position: relative;
  z-index: 1;
  filter: brightness(0) saturate(100%) invert(42%) sepia(20%) saturate(400%) hue-rotate(10deg);
}

/* Replace ✦ CSS content in sec-label with SVG image */
.sec-label {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sec-label::before {
  content: none; /* remove the old ✦ text */
}
.sec-label-icon {
  width: 10px;
  height: 10px;
  display: inline-block;
  flex-shrink: 0;
  filter: brightness(0) saturate(100%) invert(42%) sepia(30%) saturate(600%) hue-rotate(0deg);
  opacity: .85;
}

.nav-links a,
.nav-book,
.hero-tag,
.hero-h1 em,
.hero-sub,
.hero-scroll span,
.hero-btns a,
.sec-label,
.sec-h2,
.sec-text,
.about-badge-txt,
.col-cat,
.col-badge,
.col-link,
.col-name,
.feat-tag,
.feat-detail-lbl,
.feat-price,
.proc-h3,
.proc-txt,
.test-name,
.test-role,
.test-quote,
.cta-h2,
.cta-sub,
.cta-banner a,
.contact-item h4,
.contact-item p,
.contact-form label,
.contact-form .form-field,
.form-submit,
.marquee-track span,
.foot-nl-label,
.foot-nl-title,
.foot-nl-btn,
.foot-brand-tagline,
.foot-brand-sub,
.foot-col h4,
.foot-col a,
.foot-award,
.foot-bottom-txt,
.btn-gold,
.btn-ghost {
  font-family: var(--font-tr) !important;
}

/* ══ Mobile overflow & touch ══ */
@media (hover:hover) and (pointer:fine){
  body{cursor:none}
}
@media (hover:none),(pointer:coarse){
  .cursor,.cursor-ring{display:none!important}
}
@media(max-width:680px){
  .col-gem-2,.about-ornament{display:none}
  .foot-divider{margin-left:20px;margin-right:20px}
  .foot-newsletter,.foot-top,.foot-bottom{padding-left:20px;padding-right:20px;max-width:100%}
  nav,.hero,section,footer,.marquee-wrap,.col-grid,.contact-inner,.featured-inner,.about-grid{
    max-width:100%;
    overflow-x:hidden;
  }
  .hero-h1,.hero-tag,.sec-h2,.foot-brand-name{overflow-wrap:break-word;word-break:break-word}
}
