
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#faf8f5;--bg2:#f4f0eb;--surface:#ffffff;
  --border:rgba(100,80,70,0.10);--border2:rgba(100,80,70,0.18);
  --text:#2a2220;--muted:#8a7b74;
  --rose:#cbaabb;--amethyst:#b193b7;
  --champagne:#e2c58d;--champagne-dark:#c9a96e;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--bg);color:var(--text);font-family:'Jost',sans-serif;font-weight:300;overflow-x:hidden;cursor:none;}

/* CURSOR */
#cursor{position:fixed;width:6px;height:6px;background:var(--champagne-dark);border-radius:50%;pointer-events:none;z-index:999999;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s,opacity .25s;mix-blend-mode:difference;}
#cursor-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(42,34,32,0.35);border-radius:50%;pointer-events:none;z-index:999998;transform:translate(-50%,-50%);transition:width .4s cubic-bezier(.23,1,.32,1),height .4s cubic-bezier(.23,1,.32,1),border-color .3s ease;}
body:has(a:hover) #cursor,body:has(button:hover) #cursor{width:10px;height:10px;background:var(--amethyst);}
body:has(a:hover) #cursor-ring,body:has(button:hover) #cursor-ring{width:52px;height:52px;border-color:var(--amethyst);}

/* PRELOADER */
#preloader{position:fixed;inset:0;background:var(--bg);z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;}
.pre-logo{font-family:'Jost',sans-serif;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:200;letter-spacing:.6em;color:var(--text);opacity:0;animation:fadeIn 1s ease .3s forwards;}
@keyframes fadeIn{to{opacity:1}}
.pre-line{width:160px;height:1px;background:var(--border2);overflow:hidden;}
.pre-fill{height:100%;width:0;background:var(--champagne-dark);animation:barFill 1.8s ease .5s forwards;}
@keyframes barFill{to{width:100%}}
/* NAV CONTAINER */
nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9500;
    padding: 0 60px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(250, 248, 245, 0.98);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
}

/* LOGO */
.nav-logo {
    font-family: 'Jost', sans-serif;
    font-weight: 400;
    letter-spacing: .55em;
    font-size: .95rem;
    color: var(--text);
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.nav-logo:hover {
    opacity: 0.7;
}

/* NAV LINKS GROUP */
.nav-links {
    display: flex;
    gap: 35px;
    align-items: center;
}

/* INDIVIDUAL LINK STYLE */
.nav-links a {
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(42, 34, 32, 0.75);
    text-decoration: none;
    position: relative;
    padding: 6px 0;
    transition: color 0.3s ease;
}

/* UNDERLINE ANIMATION */
.nav-links a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 1px;
    background-color: var(--text);
    transition: width 0.4s cubic-bezier(0.25,0.46,0.45,0.94),
                left 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}

.nav-links a:hover,
.nav-links a.active {
    color: var(--text);
}

.nav-links a:hover::after,
.nav-links a.active::after {
    width: 100%;
    left: 0;
}

/* WHATSAPP CTA BUTTON */
.nav-wa {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 22px;
    background: transparent;
    border: 1.5px solid var(--text);
    font-size: .68rem;
    font-weight: 500;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--text);
    text-decoration: none;
    transition: all 0.3s ease;
}

.nav-wa:hover {
    background: var(--text);
    color: var(--bg);
}

.nav-wa svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}

/* HAMBURGER TOGGLE — elegant two-line style */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10001;
  position: relative;
  padding: 0;
}

.nav-toggle span {
  display: block;
  height: 1px;
  background-color: var(--text);
  border-radius: 0;
  transition: width 0.4s cubic-bezier(0.23, 1, 0.32, 1),
              transform 0.4s cubic-bezier(0.23, 1, 0.32, 1),
              opacity 0.3s ease;
}

/* Long / short / long pattern */
.nav-toggle span:nth-child(1) { width: 24px; }
.nav-toggle span:nth-child(2) { width: 16px; }
.nav-toggle span:nth-child(3) { width: 24px; }

/* Animate to X when open */
.nav-toggle.open span:nth-child(1) {
  width: 22px;
  transform: translateY(6px) rotate(45deg);
}
.nav-toggle.open span:nth-child(2) {
  width: 0;
  opacity: 0;
}
.nav-toggle.open span:nth-child(3) {
  width: 22px;
  transform: translateY(-6px) rotate(-45deg);
}

/* MOBILE NAV PANEL */
@media (max-width: 768px) {
  .nav-toggle { display: flex !important; }
  .nav-wa { display: none !important; }

  .nav-links {
    display: none !important;
    position: fixed;
    top: 75px;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
    background: rgba(250, 248, 245, 0.98);
    backdrop-filter: blur(24px);
    border-bottom: 1px solid var(--border2);
    box-shadow: 0 8px 32px rgba(42,34,32,0.08);
    z-index: 9000;
  }

  .nav-links.active {
    display: flex !important;
    animation: navSlideDown 0.3s cubic-bezier(0.23, 1, 0.32, 1) forwards;
  }

  @keyframes navSlideDown {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  .nav-links a {
    width: 100%;
    text-align: center;
    padding: 16px 24px;
    font-size: .7rem;
    font-weight: 500;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--text);
    border-bottom: 1px solid var(--border);
    transition: background 0.2s ease, color 0.2s ease;
  }

  .nav-links a:last-child { border-bottom: none; }

  .nav-links a:hover,
  .nav-links a.active {
    background: var(--bg2);
    color: var(--champagne-dark);
  }

  .nav-links a::after { display: none; }

  .nav-links::after {
    content: 'WhatsApp  ·  +94 77 109 4687';
    display: block;
    width: 100%;
    text-align: center;
    padding: 13px 24px;
    font-size: .6rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--muted);
    border-top: 1px solid var(--border);
    font-family: 'Jost', sans-serif;
  }
}

/* OPTIONAL: Adjust padding for smaller screens */
@media (max-width: 1100px) {
    nav { padding: 0 30px; }
}

@media (max-width: 640px) {
    nav { padding: 0 20px; }
}


/* HERO — cinematic full-screen carousel */
#hero{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;}

/* Slides */
.hero-slides{position:absolute;inset:0;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s cubic-bezier(.4,0,.2,1);}
.hero-slide.active{opacity:1;}
.hero-slide-img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 8s cubic-bezier(.25,.46,.45,.94);}
.hero-slide.active .hero-slide-img{transform:scale(1);}

/* layered dark vignette */
.hero-slide::after{content:'';position:absolute;inset:0;background:
  linear-gradient(to right, rgba(15,10,8,.82) 0%, rgba(15,10,8,.55) 52%, rgba(15,10,8,.28) 100%),
  linear-gradient(to top, rgba(15,10,8,.6) 0%, transparent 50%);
pointer-events:none;}

/* Content */
.hero-content{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:0 80px;padding-top:72px;}
.hero-eyebrow{font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;color:var(--champagne);margin-bottom:32px;display:flex;align-items:center;gap:18px;opacity:0;transform:translateY(14px);transition:opacity .7s ease .2s,transform .7s ease .2s;}
.hero-eyebrow.in{opacity:1;transform:none;}
.hero-eyebrow::before{content:'';display:block;width:44px;height:1px;background:var(--champagne-dark);}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(3.2rem,6.5vw,6.8rem);font-weight:300;line-height:1.02;color:#faf8f5;margin-bottom:24px;max-width:720px;opacity:0;transform:translateY(20px);transition:opacity .8s ease .35s,transform .8s ease .35s;}
.hero-title.in{opacity:1;transform:none;}
.hero-title em{font-style:italic;color:var(--rose);}
.hero-sub{font-size:.9rem;line-height:1.85;color:rgba(250,248,245,.62);max-width:420px;margin-bottom:48px;opacity:0;transform:translateY(16px);transition:opacity .8s ease .5s,transform .8s ease .5s;}
.hero-sub.in{opacity:1;transform:none;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;opacity:0;transform:translateY(12px);transition:opacity .7s ease .65s,transform .7s ease .65s;}
.hero-btns.in{opacity:1;transform:none;}

.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;border:1px solid rgba(250,248,245,.6);font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#faf8f5;text-decoration:none;transition:all .3s;cursor:none;background:transparent;}
.btn-primary:hover{background:rgba(250,248,245,.12);border-color:#faf8f5;}
.btn-primary svg{width:13px;height:13px;transition:transform .3s;stroke:#faf8f5;}
.btn-primary:hover svg{transform:translateX(4px);}
.btn-wa{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border:1px solid rgba(37,211,102,0.45);font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#5fe88a;text-decoration:none;transition:all .3s;cursor:none;background:rgba(37,211,102,0.08);}
.btn-wa:hover{background:rgba(37,211,102,.16);border-color:rgba(37,211,102,.7);}
.btn-wa svg{width:15px;height:15px;fill:#25D366;flex-shrink:0;}

/* Slide navigation — right side vertical pills */
.hero-nav{position:absolute;right:48px;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:10px;}
.hero-nav-dot{width:3px;height:28px;background:rgba(250,248,245,.25);border:none;cursor:none;transition:background .35s,height .35s;padding:0;position:relative;}
.hero-nav-dot::after{content:'';position:absolute;top:0;left:0;width:100%;height:0%;background:var(--champagne-dark);transition:height .35s;}
.hero-nav-dot.active{background:rgba(250,248,245,.12);}
.hero-nav-dot.active::after{height:100%;}

/* Progress bar */
.hero-progress{position:absolute;bottom:0;left:0;height:2px;width:0%;background:var(--champagne-dark);z-index:6;transition:width linear;}

/* Slide label — bottom right */
.hero-slide-label{position:absolute;bottom:44px;right:48px;z-index:6;text-align:right;}
.slide-label-gem{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300;color:rgba(250,248,245,.85);letter-spacing:.04em;transition:opacity .5s ease,transform .5s ease;}
.slide-label-sub{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(250,248,245,.4);margin-top:3px;transition:opacity .5s ease .1s;}

/* Scroll indicator */
.hero-scroll{position:absolute;bottom:44px;left:80px;display:flex;align-items:center;gap:13px;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(250,248,245,.38);z-index:6;}
.hero-scroll-line{width:48px;height:1px;background:rgba(250,248,245,.18);position:relative;overflow:hidden;}
.hero-scroll-line::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--champagne-dark);animation:scrollLine 2.5s ease infinite;}
@keyframes scrollLine{0%{left:-100%}100%{left:100%}}

/* Counter */
.hero-counter{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);z-index:6;font-size:.62rem;letter-spacing:.2em;color:rgba(250,248,245,.32);display:flex;align-items:center;gap:10px;}
.hero-counter-cur{color:rgba(250,248,245,.7);}

@media(max-width:1100px){
  .hero-content{padding:0 36px;padding-top:72px;}
  .hero-scroll{left:36px;}
  .hero-slide-label{right:36px;}
  .hero-nav{right:16px;}
}
@media(max-width:640px){
  .hero-title{font-size:clamp(2.8rem,11vw,4rem);}
  .hero-nav{display:none;}
}

/* MARQUEE */
.marquee-wrap{padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;}
.marquee-track{display:flex;white-space:nowrap;animation:marquee 28s linear infinite;}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-item{display:inline-flex;align-items:center;gap:22px;padding:0 28px;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);}
.marquee-dot{width:4px;height:4px;border-radius:50%;background:var(--rose);flex-shrink:0;}

/* SECTION LABELS */
.section-label{font-size:.64rem;letter-spacing:.35em;text-transform:uppercase;color:var(--champagne-dark);margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.section-label::before{content:'';display:block;width:28px;height:1px;background:var(--champagne-dark);}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:300;line-height:1.15;color:var(--text);}
.section-title em{font-style:italic;color:var(--amethyst);}

/* ABOUT */
#about{padding:110px 60px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-text p{font-size:.9rem;line-height:1.85;color:var(--muted);margin-top:22px;max-width:440px;}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin-top:44px;}
.stat-box{padding:26px 22px;background:var(--bg);}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:var(--text);line-height:1;}
.stat-label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
.about-visual{position:relative;display:flex;align-items:center;justify-content:center;}
.about-img-wrap{width:100%;max-width:500px;aspect-ratio:3/4;overflow:hidden;}
.about-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.about-img-wrap:hover img{transform:scale(1.03);}



.about-img1-wrap{width:100%;max-width:600px;aspect-ratio:1/1;overflow:hidden;}
.about-img1-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.about-img1-wrap:hover img{transform:scale(1.03);}

.collection-item {
  will-change: transform, opacity;
}

/* SHOP */
#shop{padding:90px 60px;}
.shop-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px;}
.shop-filters{display:flex;gap:6px;flex-wrap:wrap;}
.filter-btn{padding:7px 16px;border:1px solid var(--border2);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);background:transparent;cursor:none;transition:all .25s;font-family:'Jost',sans-serif;}
.filter-btn.active,.filter-btn:hover{background:var(--text);color:var(--bg);border-color:var(--text);}
.gems-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}

/* GEM CARD - Optimized */
.gem-card {
  background: var(--surface);
  border: 1px solid var(--border);
  overflow: hidden;
  cursor: none;
  transition: box-shadow 0.3s ease;
  will-change: transform; /* GPU hint */
}

.gem-card:hover {
  box-shadow: 0 8px 40px rgba(42, 34, 32, 0.08);
}

.gem-images {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
}

.gem-images .slides {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 0.5s ease;
  will-change: transform; /* GPU hint */
}

.gem-images .slide {
  min-width: 100%;
  height: 100%;
}



.gem-images .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease; /* faster and only transform */
}

/* Base image style */
.gem-card .gem-images .slide img {
  transition: transform 0.3s ease-in-out;
  transform: scale(1); /* normal state */
  backface-visibility: hidden; /* helps with GPU rendering */
}

.gem-card:nth-child(3) {
  margin-bottom: 80px; /* adjust the space as needed */
}

/* Hover effect */
.gem-card:hover .gem-images .slide img {
  transform: scale(1.01); /* subtle zoom */
  will-change: transform;   /* only active on hover */
}

.gem-dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 5px;
}

.gem-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: transparent;
  cursor: none;
  transition: background 0.2s;
}

.gem-dot.active {
  background: white;
}

.gem-arrows {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.gem-card:hover .gem-arrows {
  opacity: 1;
}

.gem-arrow {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.88);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: none;
  border: none;
  font-size: 13px;
  color: var(--text);
}

.gem-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 3px 9px;
  background: var(--champagne);
  font-size: 0.58rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text);
}

.gem-info {
  padding: 22px;
}

.gem-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--text);
  margin-bottom: 3px;
}

.gem-cut {
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  color: var(--muted);
  text-transform: uppercase;
  margin-bottom: 14px;
}

.gem-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  margin-bottom: 14px;
}

.gem-spec {
  padding: 9px 10px;
  background: var(--bg);
}

.gem-spec-label {
  font-size: 0.57rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--muted);
}

.gem-spec-val {
  font-size: 0.76rem;
  color: var(--text);
  margin-top: 2px;
}

.gem-desc {
  font-size: 0.75rem;
  line-height: 1.7;
  color: var(--muted);
  margin-bottom: 18px;
  padding-top: 11px;
  border-top: 1px solid var(--border);
}

.gem-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.gem-price {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--text);
}

.gem-price span {
  font-size: 0.6rem;
  font-family: 'Jost', sans-serif;
  color: var(--muted);
  display: block;
}

.gem-buy {
  padding: 9px 16px;
  border: 1px solid var(--text);
  font-family: 'Jost', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text);
  background: transparent;
  cursor: none;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
  will-change: transform, background, color;
}

.gem-buy:hover {
  transform: scale(1.02); /* subtle hover effect */
  background: var(--text);
  color: var(--bg);
}

/* PROCESS */
#process{padding:90px 60px;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.process-header{text-align:center;margin-bottom:60px;}
.process-header .section-label{justify-content:center;}
.process-header .section-label::before{display:none;}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);}
.process-step{padding:42px 30px;background:var(--bg2);position:relative;overflow:hidden;}
.step-num{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:rgba(42,34,32,.06);line-height:1;position:absolute;top:16px;right:16px;}
.step-icon{width:40px;height:40px;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.step-icon svg{width:18px;height:18px;stroke:var(--amethyst);fill:none;}
.step-title{font-family:'Cormorant Garamond',serif;font-size:1.12rem;font-weight:400;color:var(--text);margin-bottom:10px;}
.step-desc{font-size:.75rem;line-height:1.75;color:var(--muted);}

/* TESTIMONIALS */
#testimonials{padding:90px 60px;}
.testimonials-header{text-align:center;margin-bottom:50px;}
.testimonials-header .section-label{justify-content:center;}
.testimonials-header .section-label::before{display:none;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.testi-card{padding:34px 30px;border:1px solid var(--border);background:var(--surface);}
.testi-stars{display:flex;gap:2px;margin-bottom:16px;font-size:11px;color:var(--champagne-dark);}
.testi-text{font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;line-height:1.7;color:var(--text);margin-bottom:18px;}
.testi-author{font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);}
.testi-gem{font-size:.63rem;color:var(--rose);margin-top:4px;}

/* NEWSLETTER */
#newsletter{padding:76px 60px;background:var(--text);display:flex;align-items:center;justify-content:space-between;gap:60px;}
.nl-content .section-label{color:var(--champagne);}
.nl-content .section-label::before{background:var(--champagne);}
.nl-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:300;color:var(--bg);line-height:1.2;margin-top:12px;}
.nl-title em{font-style:italic;color:var(--rose);}
.nl-form{display:flex;flex-shrink:0;width:390px;}
.nl-input{flex:1;padding:13px 16px;background:transparent;border:1px solid rgba(250,248,245,.18);border-right:none;font-family:'Jost',sans-serif;font-size:.78rem;color:var(--bg);outline:none;}
.nl-input::placeholder{color:rgba(250,248,245,.32);}
.nl-btn{padding:13px 22px;background:var(--champagne-dark);border:1px solid var(--champagne-dark);font-family:'Jost',sans-serif;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bg);cursor:none;transition:background .25s;}
.nl-btn:hover{background:var(--champagne);}

/* FOOTER — simplified */
footer{padding:48px 60px;background:var(--text);border-top:1px solid rgba(250,248,245,.07);display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:32px;}
.footer-brand{font-family:'Jost',sans-serif;font-weight:350;letter-spacing:.5em;font-size:1.85rem;color:var(--bg);}
.footer-tagline{font-size:.85rem;color:rgba(250,248,245,.6);margin-top:8px;letter-spacing:.04em;}
.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px;}
.footer-socials{display:flex;gap:28px;}
.footer-socials a{font-size:.80rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(250,248,245,.65);text-decoration:none;transition:color .25s;}
.footer-socials a:hover{color:var(--bg);}
.footer-contact{font-size:.80rem;color:rgba(250,248,245,.55);line-height:1.8;}
.footer-contact a{color:rgba(250,248,245,.8);text-decoration:none;transition:color .25s;}
.footer-contact a:hover{color:var(--champagne);}
.footer-bottom{display:flex;flex-direction:column;align-items:flex-end;gap:5px;border-top:1px solid rgba(250,248,245,.08);padding-top:14px;margin-top:2px;}
.footer-copy{font-size:.62rem;color:rgba(250,248,245,.45);letter-spacing:.08em;}
.footer-credit{font-size:.6rem;color:rgba(250,248,245,.3);letter-spacing:.06em;}
.footer-credit a{color:rgba(250,248,245,.45);text-decoration:none;transition:color .25s;}
.footer-credit a:hover{color:var(--champagne);}

/* LIGHTBOX */
#lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;padding:20px;}
#lightbox.open{display:flex;animation:fadeIn .3s ease;}
.lb-inner{background:var(--surface);border-radius:4px;max-width:900px;width:100%;max-height:90vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;position:relative;}
@media(max-width:680px){.lb-inner{grid-template-columns:1fr;}}
.lb-gallery-main{aspect-ratio:1;overflow:hidden;background:var(--bg);}
.lb-gallery-main img{width:100%;height:100%;object-fit:cover;}
.lb-gallery-nav{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;background:var(--bg);}
.lb-thumb{width:60px;height:60px;flex-shrink:0;overflow:hidden;border:2px solid transparent;cursor:pointer;border-radius:2px;opacity:0.6;}
.lb-thumb.active,.lb-thumb:hover{border-color:var(--text);opacity:1;}
.lb-thumb img{width:100%;height:100%;object-fit:cover;}
.lb-details{padding:32px;display:flex;flex-direction:column;gap:14px;background:var(--surface);}
.lb-gem-name{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:400;color:var(--text);line-height:1.1;}
.lb-gem-cut{font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:-8px;}

/* SPECIFICATIONS GRID */
.lb-specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);margin:10px 0;}
.lb-spec-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--bg);}
.lb-spec-label{font-family:'Jost',sans-serif;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);}
.lb-spec-val{font-family:'Jost',sans-serif;font-size:.85rem;font-weight:400;color:var(--text);display:flex;align-items:center;gap:6px;}

.lb-desc{font-family:'Jost',sans-serif;font-size:.84rem;color:var(--muted);line-height:1.7;}
.lb-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;flex-wrap:wrap;padding-top:10px;}
.lb-price-wrap{display:flex;flex-direction:column;}
.lb-price-sub{font-family:'Jost',sans-serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.lb-price{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;color:var(--text);}
.lb-enquire{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;padding:10px 18px;border-radius:2px;font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:background .3s;}
.lb-enquire:hover{background:#1da851;}
.lb-enquire svg{width:16px;height:16px;fill:#fff;}
.lb-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--muted);z-index:2;}
.lb-close:hover{color:var(--text);}

/* ANIMATIONS */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}

.about-actions {
    margin-top: 40px;
}

.btn-discover {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    color: var(--text);
    font-size: 0.75rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    position: relative;
    padding: 10px 0;
    transition: all 0.4s ease;
}

/* The animated line underneath */
.btn-line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px; /* Start short */
    height: 1px;
    background: var(--champagne-dark);
    transition: width 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btn-arrow {
    width: 18px;
    height: 18px;
    transform: translateX(0);
    transition: transform 0.4s ease, color 0.4s ease;
    stroke: var(--muted);
}

/* Hover Effects */
.btn-discover:hover .btn-line {
    width: 100%; /* Line stretches to full width */
    background: var(--text);
}

.btn-discover:hover .btn-arrow {
    transform: translateX(8px); /* Arrow nudges right */
    stroke: var(--text);
}

.btn-discover:hover {
    color: var(--text);
    letter-spacing: 0.3em; /* Subtle text expansion */
}

/* RESPONSIVE */
@media(max-width:1100px){
  #hero{grid-template-columns:1fr;}
  .hero-right{display:none;}
  .hero-left{min-height:100vh;padding:120px 28px 80px;}
  .hero-scroll{left:28px;}
  nav{padding:0 28px;}
  #about{grid-template-columns:1fr;gap:48px;padding:80px 28px;}
  #shop{padding:80px 28px;}
  .gems-grid{grid-template-columns:repeat(2,1fr);}
  #process{padding:80px 28px;}
  .process-steps{grid-template-columns:repeat(2,1fr);}
  #testimonials{padding:80px 28px;}
  .testi-grid{grid-template-columns:1fr 1fr;}
  #newsletter{flex-direction:column;padding:56px 28px;gap:28px;}
  .nl-form{width:100%;}
  footer{padding:30px 28px;}
}
@media(max-width:640px){
  .gems-grid{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .process-steps{grid-template-columns:1fr;}
  .shop-header{flex-direction:column;align-items:flex-start;gap:16px;}
  .lb-inner{grid-template-columns:1fr;}
  footer{flex-direction:column;align-items:flex-start;}
  .footer-right{align-items:flex-start;}
  .footer-bottom{align-items:flex-start;}
}


.collection-item {
  width: 300px;
  height: 400px;
  will-change: transform, opacity;
}

/* CONTAINER FOR CENTERING */
.collection-footer {
    display: flex;
    justify-content: center;
    padding: 60px 0 100px;
    border-bottom: 1px solid var(--border);
}

/* REFINED GHOST BUTTON */
.btn-refined {
    position: relative;
    display: inline-block;
    padding: 18px 45px;
    border: 1px solid var(--text);
    text-decoration: none;
    color: var(--text);
    overflow: hidden;
    transition: color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

.btn-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Jost', sans-serif;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.btn-icon {
    width: 14px;
    height: 14px;
    transition: transform 0.4s ease;
}

/* SLIDING BACKGROUND ANIMATION */
.btn-refined::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: var(--text);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

/* HOVER STATES */
.btn-refined:hover {
    color: var(--bg);
}

.btn-refined:hover::before {
    width: 100%;
}

.btn-refined:hover .btn-icon {
    transform: translateX(5px);
}

/* RESPONSIVE */
@media (max-width: 640px) {
    .btn-refined {
        width: 80%;
        text-align: center;
        padding: 16px 20px;
    }
    .btn-inner {
        justify-content: center;
    }
}
















    .about-hero-img1 {
        position: absolute;
        inset: 0;
        background-image: url('https://images.unsplash.com/photo-1740415940851-e532ceaa39d3?q=80&w=1471&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
        background-size: cover;
        background-position: center;
        opacity: 0.5;
        transform: scale(1.1);
        animation: heroZoom 20s linear infinite alternate;
    }








/* Heritage page */

    .about-hero {
        height: 70vh;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        position: relative;
        background: #0f0a08;
        overflow: hidden;
        margin-top: 72px;
    }
    .about-hero-img {
        position: absolute;
        inset: 0;
        background-image: url('https://images.unsplash.com/photo-1609216970378-ce61cd74a187?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
        background-size: cover;
        background-position: center;
        opacity: 0.5;
        transform: scale(1.1);
        animation: heroZoom 20s linear infinite alternate;
    }
    @keyframes heroZoom { to { transform: scale(1); } }

    .about-hero-content { position: relative; z-index: 2; padding: 0 24px; }
    
    .story-section { padding: 120px 60px; max-width: 1200px; margin: 0 auto; }
    .story-grid { 
        display: grid; 
        grid-template-columns: 1.2fr 0.8fr; 
        gap: 80px; 
        align-items: center; 
    }
    .story-text p {
        font-size: 1rem;
        line-height: 1.9;
        color: var(--muted);
        margin-bottom: 28px;
    }
    .story-visual img {
        width: 100%;
        height: auto;
        border: 1px solid var(--border);
        filter: grayscale(0.2);
    }

    @media (max-width: 900px) {
        .story-grid { grid-template-columns: 1fr; gap: 40px; }
        .story-section { padding: 80px 24px; }
    }

    /* New Section Styles */
    .values-section { padding: 100px 60px; background: var(--bg2); border-top: 1px solid var(--border); }
    .values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 50px; }
    .value-card { padding: 40px; background: var(--bg); border: 1px solid var(--border); transition: transform 0.3s ease; }
    .value-card:hover { transform: translateY(-10px); border-color: var(--champagne-dark); }
    .value-icon { width: 45px; height: 45px; margin-bottom: 20px; stroke: var(--amethyst); fill: none; }
    .value-title { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; margin-bottom: 15px; }
    .value-desc { font-size: 0.85rem; color: var(--muted); line-height: 1.7; }

    .cert-section { padding: 100px 60px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
    .cert-logos { display: flex; gap: 30px; align-items: center; margin-top: 30px; opacity: 0.6; }
    .cert-tag { font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--rose); font-weight: 500; }

    .cta-banner { padding: 120px 60px; text-align: center; background: var(--text); color: var(--bg); position: relative; overflow: hidden; }
    .cta-banner h2 { font-size: 3rem; margin-bottom: 30px; }

    @media (max-width: 900px) {
        .values-grid { grid-template-columns: 1fr; }
        .cert-section { grid-template-columns: 1fr; gap: 40px; }
    }






/* Collection page */






    


  /* filter bar dynamic */
  .shop-filters{display:flex;gap:8px;flex-wrap:wrap;}
  .filter-btn{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 16px;border:1px solid #ccc;background:transparent;cursor:pointer;border-radius:2px;transition:all .25s;}
  .filter-btn.active,.filter-btn:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}
  /* loading state */
  .gems-loading{text-align:center;padding:60px 20px;font-family:'Jost',sans-serif;color:#aaa;letter-spacing:.1em;font-size:.8rem;}






  
/* Styles from index.html */

/* ── MOBILE HERO FIX ── */
@media (max-width: 600px) {
  .hero-content {
    padding: 0 20px 80px !important;
    bottom: 0 !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    position: absolute !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    background: linear-gradient(to top, rgba(0,0,0,.75) 0%, transparent 100%) !important;
    pointer-events: none;
  }
  .hero-content > * { pointer-events: auto; }
  .hero-title {
    font-size: clamp(2.6rem, 13vw, 3.8rem) !important;
    line-height: 1.1 !important;
  }
  .hero-eyebrow {
    font-size: .65rem !important;
  }
  .hero-sub {
    font-size: .82rem !important;
    max-width: 100% !important;
  }
  .hero-btns {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .hero-btns .btn-primary,
  .hero-btns .btn-wa {
    width: 100% !important;
    justify-content: center !important;
  }
  .hero-scroll { display: none !important; }
  .hero-slide-label { bottom: 16px !important; left: 20px !important; right: auto !important; }
  .hero-counter { bottom: 16px !important; right: 16px !important; }
}

/* ── AUTO-SCROLL TESTIMONIALS ── */
.testi-scroller-outer {
  overflow: hidden;
  position: relative;
  width: 100%;
  /* fade edges */
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.testi-scroller-track {
  display: flex;
  gap: 24px;
  width: max-content;
  animation: testiScroll 32s linear infinite;
}
.testi-scroller-track:hover {
  animation-play-state: paused;
}
@keyframes testiScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.testi-card {
  flex-shrink: 0;
  width: 340px;
}
@media (max-width: 500px) {
  .testi-card { width: 280px; }
}

/* keep old testi-grid hidden if it exists */
.testi-grid { display: none !important; }



/* Styles from collection.html */

  /* ── COLLECTION LAYOUT ── */
  .collection-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 50px;
    align-items: start;
    margin-top: 20px;
  }
  @media(max-width: 900px) {
    .collection-layout {
      grid-template-columns: 1fr;
      gap: 30px;
    }
  }

  .collection-sidebar {
    position: sticky;
    top: 100px;
  }

  .sidebar-search {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #d8d2c9;
    padding-bottom: 8px;
    margin-bottom: 32px;
    transition: border-color .3s;
  }
  .sidebar-search:focus-within {
    border-color: #b8902a;
  }
  .sidebar-search svg {
    width: 16px; height: 16px; color: #888;
  }
  .sidebar-search input {
    border: none; outline: none; background: transparent;
    font-family: 'Jost', sans-serif; font-size: .88rem; flex: 1; padding: 4px 12px; color: #1a1a1a;
  }
  .sidebar-search input::placeholder { color: #bbb; }
  .search-clear {
    background: none; border: none; cursor: pointer; color: #bbb;
    font-size: 1rem; display: none; padding: 0 4px;
  }
  .search-clear:hover { color: #555; }
  .search-clear.visible { display: block; }

  .adv-filters-vert {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .adv-filter-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .adv-filter-label {
    font-size: .65rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #1a1a1a;
    font-weight: 500;
  }
  .adv-filter-input {
    font-family: 'Jost', sans-serif;
    font-size: .8rem;
    padding: 10px 12px;
    border: 1px solid #ede9e2;
    border-radius: 2px;
    background: #fff;
    color: #555;
    outline: none;
    width: 100%;
    transition: border .2s;
  }
  .adv-filter-input:focus { border-color: #b8902a; }
  .adv-filter-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 8px;
    align-items: center;
  }
  .adv-filter-row span { color: #ccc; }
  
  .adv-reset-btn {
    margin-top: 10px;
    padding: 12px;
    background: transparent;
    border: 1px solid #1a1a1a;
    color: #1a1a1a;
    font-family: 'Jost', sans-serif;
    font-size: .7rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .3s;
  }
  .adv-reset-btn:hover {
    background: #1a1a1a;
    color: #fff;
  }

  .search-results-count {
    font-family: 'Jost', sans-serif;
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #888;
    margin-bottom: 20px;
    min-height: 18px;
  }

  /* filter bar */
  .shop-filters{display:flex;gap:8px;flex-wrap:wrap;}
  .filter-btn{font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 16px;border:1px solid #ccc;background:transparent;cursor:pointer;border-radius:2px;transition:all .25s;}
  .filter-btn.active,.filter-btn:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a;}
  .gems-loading{text-align:center;padding:60px 20px;font-family:'Jost',sans-serif;color:#aaa;letter-spacing:.1em;font-size:.8rem;}



/* Styles from process.html */

    /* ── HERO — identical pattern to .about-hero ── */
    .process-hero {
      height: 70vh;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: relative;
      background: #0f0a08;
      overflow: hidden;
      margin-top: 75px;
    }

    .process-hero-img {
      position: absolute;
      inset: 0;
      background-image: url('https://images.unsplash.com/photo-1515562141207-7a88fb7ce338?w=1800&q=90');
      background-size: cover;
      background-position: center;
      opacity: 0.5;
      transform: scale(1.1);
      animation: heroZoom 20s linear infinite alternate;
    }

    @keyframes heroZoom {
      to {
        transform: scale(1);
      }
    }

    .process-hero-content {
      position: relative;
      z-index: 2;
      padding: 0 24px;
    }

    /* ── INTRO — mirrors story-section spacing ── */
    .process-intro {
      padding: 120px 60px;
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 100px;
      align-items: center;
    }

    .process-intro-text p {
      font-size: .9rem;
      line-height: 1.85;
      color: var(--muted);
      margin-bottom: 20px;
    }

    .process-intro-text p:first-of-type {
      margin-top: 22px;
    }

    .process-intro-img {
      width: 100%;
      aspect-ratio: 4/5;
      overflow: hidden;
      border: 1px solid var(--border);
    }

    .process-intro-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .8s ease;
    }

    .process-intro-img:hover img {
      transform: scale(1.03);
    }

    /* ── STEPS — uses same grid/border pattern as .process-steps on homepage ── */
    .process-steps-section {
      padding: 90px 60px;
      background: var(--bg2);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }

    .process-steps-header {
      text-align: center;
      margin-bottom: 60px;
    }

    .process-steps-header .section-label {
      justify-content: center;
    }

    .process-steps-header .section-label::before {
      display: none;
    }

    .steps-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1px;
      background: var(--border);
      border: 1px solid var(--border);
      max-width: 1200px;
      margin: 0 auto;
    }

    .step-card {
      padding: 48px 36px;
      background: var(--bg2);
      position: relative;
      overflow: hidden;
      transition: background .3s ease;
    }

    .step-card:hover {
      background: var(--bg);
    }

    .step-card-num {
      font-family: 'Cormorant Garamond', serif;
      font-size: 4rem;
      font-weight: 300;
      color: rgba(42, 34, 32, .05);
      line-height: 1;
      position: absolute;
      top: 16px;
      right: 18px;
      transition: color .3s ease;
    }

    .step-card:hover .step-card-num {
      color: rgba(42, 34, 32, .09);
    }

    .step-card-icon {
      width: 40px;
      height: 40px;
      border: 1px solid var(--border2);
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px;
    }

    .step-card-icon svg {
      width: 18px;
      height: 18px;
      stroke: var(--amethyst);
      fill: none;
    }

    .step-card-eyebrow {
      font-family: 'Jost', sans-serif;
      font-size: .58rem;
      letter-spacing: .25em;
      text-transform: uppercase;
      color: var(--champagne-dark);
      margin-bottom: 10px;
    }

    .step-card-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.25rem;
      font-weight: 400;
      color: var(--text);
      margin-bottom: 12px;
      line-height: 1.2;
    }

    .step-card-title em {
      font-style: italic;
      font-weight: 300;
    }

    .step-card-desc {
      font-size: .78rem;
      line-height: 1.8;
      color: var(--muted);
    }

    .step-card-details {
      margin-top: 20px;
      padding-top: 18px;
      border-top: 1px solid var(--border);
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .step-card-detail {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: .72rem;
      color: var(--muted);
      line-height: 1.4;
    }

    .step-card-detail::before {
      content: '';
      width: 14px;
      height: 1px;
      background: var(--champagne-dark);
      flex-shrink: 0;
      margin-top: 7px;
      opacity: .7;
    }



    /* ── CTA BAND — mirrors .cta-banner from about.html exactly ── */
    .cta-band {
      padding: 120px 60px;
      text-align: center;
      background: #ffffff;
      color: var(--text);
      border-top: 1px solid var(--border);
      position: relative;
      overflow: hidden;
    }

    .cta-band .section-label {
      justify-content: center;
      color: var(--champagne-dark);
      margin-bottom: 16px;
    }

    .cta-band .section-label::before {
      background: var(--champagne-dark);
    }

    .cta-band .section-title {
      color: var(--text);
      font-size: clamp(2rem, 4vw, 3.2rem);
      margin-bottom: 24px;
    }

    .cta-band>p {
      font-family: 'Jost', sans-serif;
      font-size: .9rem;
      color: var(--muted);
      line-height: 1.9;
      max-width: 520px;
      margin: 0 auto 44px;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 1100px) {
      .process-intro {
        padding: 80px 36px;
        gap: 60px;
      }

      .cert-section {
        padding: 80px 36px;
        gap: 48px;
      }

      .steps-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .guarantee-section {
        padding: 80px 36px;
      }

      .guarantee-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
      }

      .cta-band {
        padding: 80px 36px;
      }
    }

    @media (max-width: 768px) {
      .process-intro {
        grid-template-columns: 1fr;
        padding: 60px 24px;
        gap: 36px;
      }

      .process-intro-img {
        aspect-ratio: 3/2;
      }

      .process-steps-section {
        padding: 60px 24px;
      }

      .steps-grid {
        grid-template-columns: 1fr;
      }

      .cert-section {
        grid-template-columns: 1fr;
        padding: 60px 24px;
        gap: 32px;
      }

      .guarantee-section {
        padding: 60px 24px;
      }

      .guarantee-grid {
        grid-template-columns: 1fr;
      }

      .cta-band {
        padding: 60px 24px;
      }
    }

    .process-intro-center {
      max-width: 700px;
      margin: 80px auto 60px;
      padding: 0 5vw;
      text-align: center;
    }

    .process-intro-center .section-label {
      justify-content: center;
      display: flex;
      font-size: 0.85rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--champagne-dark);
    }

    .process-intro-center .section-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2rem, 5vw, 3rem);
      margin-top: 16px;
    }

    .process-intro-center p {
      font-family: 'Jost', sans-serif;
      font-size: .96rem;
      color: var(--muted, #888);
      line-height: 1.9;
      margin-top: 20px;
    }
  
