@import url('https://fonts.googleapis.com/css2?family=Noto+Kufi+Arabic:wght@300;400;500;600&display=swap');

:root{
  --bg:#faf7f1;
  --surface:#f2ece3;
  --surface-2:#e9dfd1;
  --ink:#17191a;
  --muted:#707674;
  --midnight:#0d1012;
  --emerald:#102c2c;
  --gold:#c9a66a;
  --champagne:#e8d8b5;
  --white:#fff;
  --line:rgba(23,25,26,.14);
  --font:"Noto Kufi Arabic",Arial,sans-serif;
  --section-space:120px;
  --section-space-mobile:82px;
}

html[data-theme="dark"]{
  --bg:#0d1012;
  --surface:#15191b;
  --surface-2:#1d2224;
  --ink:#f5f0e7;
  --muted:#abb3b0;
  --line:rgba(255,255,255,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--font);overflow-x:hidden;
  transition:background .35s ease,color .35s ease;
}
body[dir="ltr"]{font-family:var(--font)}
a{text-decoration:none;color:inherit}
img{display:block;width:100%}
button,input{font:inherit}
button{cursor:pointer}

.grain{
  position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

.utility-header{
  height:58px;position:fixed;top:0;left:0;right:0;z-index:60;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:0 3vw;border-bottom:1px solid rgba(255,255,255,.1);
  color:#fff;background:rgba(13,16,18,.72);backdrop-filter:blur(16px);
}
.utility-menu,.utility-actions button{
  border:0;background:none;color:inherit;font-size:9px;letter-spacing:.12em;text-transform:uppercase;
}
.utility-menu{display:flex;align-items:center;gap:10px;justify-self:start;padding:0}
.utility-menu span{width:18px;height:1px;background:#fff;display:block}
.utility-menu span+span{width:11px}
.utility-center{font-size:9px;letter-spacing:.1em;opacity:.7}
.utility-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px}

.side-menu{
  position:fixed;inset:0 auto 0 0;width:min(520px,100%);z-index:90;
  background:var(--emerald);color:#fff;padding:90px 60px 50px;
  transform:translateX(-105%);transition:.55s cubic-bezier(.77,0,.18,1);
  display:flex;flex-direction:column;
}
.side-menu.open{transform:none}
.side-menu-close{position:absolute;top:22px;right:25px;border:0;background:none;color:#fff;font-size:42px}
.side-menu-logo{width:130px;height:190px;margin-bottom:50px}
.side-menu-logo img{height:100%;object-fit:contain}
.side-menu nav{display:grid;gap:22px}
.side-menu nav a{font-size:30px;font-weight:300;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:15px}

.search-overlay{
  position:fixed;inset:0;z-index:95;background:rgba(13,16,18,.96);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:.35s;
}
.search-overlay.open{opacity:1;visibility:visible}
.search-overlay button{position:absolute;top:20px;right:25px;border:0;background:none;color:#fff;font-size:42px}
.search-overlay label{font-family:var(--font);font-size:48px;margin-bottom:25px}
.search-overlay input{
  width:min(760px,84vw);background:none;border:0;border-bottom:1px solid rgba(255,255,255,.4);
  padding:15px 5px;color:#fff;font-size:22px;outline:none;
}

.logo-stage{
  min-height:650px;padding:110px 5vw 55px;background:var(--bg);
  display:grid;place-items:center;position:relative;border-bottom:1px solid var(--line);
}
.logo-stage-meta{
  position:absolute;top:105px;left:5vw;right:5vw;
  display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:var(--muted);
}
.vertical-logo-frame{
  width:270px;height:390px;padding:24px;position:relative;
  display:grid;place-items:center;
}
.vertical-logo-frame:before,.vertical-logo-frame:after{
  content:"";position:absolute;inset:0;border:1px solid var(--line);
}
.vertical-logo-frame:after{inset:14px}
.vertical-logo-frame img{height:100%;object-fit:contain}
.logo-stage-note{
  position:absolute;bottom:45px;display:flex;align-items:center;gap:16px;
  font-size:9px;letter-spacing:.16em;color:var(--muted);
}
.logo-stage-note i{width:70px;height:1px;background:var(--gold)}

.hero-editorial{
  min-height:920px;display:grid;grid-template-columns:.88fr 1.12fr;
  position:relative;background:var(--surface);
}
.hero-copy{padding:13vw 7vw 8vw;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:9px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin:0 0 20px}

.hero-copy h1 span,.hero-copy h1 em{display:block}

.hero-copy h1 em{font-family:var(--font);font-weight:400;color:var(--gold)}
.hero-copy>p:not(.eyebrow){line-height:2;color:var(--muted);font-size:12px;max-width:520px}
.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:24px}
.button{min-height:52px;padding:0 28px;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.button-dark{background:var(--midnight);color:#fff}
.button-gold{background:var(--gold);color:#fff}
.button-outline{border:1px solid var(--gold);color:#fff}
.text-link{font-size:11px;border-bottom:1px solid currentColor;padding-bottom:5px}

.hero-image{position:relative;overflow:hidden}
.hero-image>img:first-child{height:100%;object-fit:cover}
.hero-diamond{position:absolute;width:48%;right:8%;top:14%;opacity:.38;animation:rotate 32s linear infinite}
@keyframes rotate{to{transform:rotate(360deg)}}
.hero-caption{
  position:absolute;left:30px;bottom:30px;background:rgba(255,255,255,.86);
  color:#17201f;padding:18px 20px;display:flex;gap:15px;align-items:center;min-width:270px;backdrop-filter:blur(12px);
}
.hero-caption>span{font-family:var(--font);color:var(--gold)}
.hero-caption b{display:block;font-family:var(--font);font-size:24px}
.hero-caption small{font-size:8px}
.hero-index{
  position:absolute;right:5vw;bottom:32px;display:flex;align-items:center;gap:12px;
  font-family:var(--font);font-size:12px;color:var(--muted);
}
.hero-index i{width:65px;height:1px;background:var(--gold)}

.collection-nav{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--line);background:var(--bg);
}
.collection-nav a{
  min-height:120px;padding:28px;border-left:1px solid var(--line);
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;transition:.3s;
}
.collection-nav a:hover{background:var(--emerald);color:#fff}
.collection-nav span{font-family:var(--font);color:var(--gold)}
.collection-nav b{font-weight:400;font-size:15px}
.collection-nav em{font-style:normal}

.new-arrivals{padding:130px 5vw;background:var(--bg)}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:70px}

.section-heading>p{max-width:420px;color:var(--muted);line-height:2;font-size:11px}

.mosaic-products{
  display:grid;grid-template-columns:1.1fr .8fr .9fr;
  grid-template-rows:520px 340px 520px;gap:22px;
}
.product-a{grid-row:1/3}
.product-b{grid-column:2/4}
.product-c{grid-column:2}
.product-d{grid-column:3;grid-row:2/4}
.product-e{grid-column:1/3}
.product-media{position:relative;height:100%;overflow:hidden;background:var(--surface)}
.product-media img{height:100%;object-fit:cover;transition:transform .8s}
.product:hover img{transform:scale(1.035)}
.wish{
  position:absolute;top:16px;left:16px;width:38px;height:38px;border-radius:50%;
  border:0;background:rgba(255,255,255,.8);font-size:20px;
}
.wish.active{background:var(--emerald);color:#fff}
.quick-view{
  position:absolute;left:16px;right:16px;bottom:16px;height:44px;
  border:0;background:rgba(13,16,18,.9);color:#fff;font-size:9px;letter-spacing:.12em;
  transform:translateY(12px);opacity:0;transition:.3s;
}
.product:hover .quick-view{opacity:1;transform:none}
.product-meta{padding:14px 2px 6px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.product-meta span{font-size:8px;color:var(--gold)}
.product-meta h3{font-family:var(--font);font-size:24px;font-weight:500;margin:0}
.product-meta b{font-size:9px;font-weight:400;color:var(--muted)}

.full-collection{min-height:100vh;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.full-collection>img{position:absolute;inset:0;height:100%;object-fit:cover}
.full-collection-necklaces>img{object-position:center 58%}
.collection-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,15,16,.8),rgba(7,15,16,.08) 65%)}
.collection-copy{position:relative;z-index:2;padding:80px 7vw;max-width:760px}
.collection-copy>span{font-size:9px;letter-spacing:.18em;color:var(--gold)}

.collection-copy p{line-height:2;color:rgba(255,255,255,.72);font-size:12px;max-width:500px}
.collection-copy a{display:inline-block;margin-top:15px;border-bottom:1px solid var(--gold);padding-bottom:6px;font-size:11px}

.craft-section{display:grid;grid-template-columns:1.08fr .92fr;min-height:850px;background:var(--surface)}
.craft-image img{height:100%;object-fit:cover}
.craft-content{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}
.craft-content h2{font-size:clamp(50px,6vw,86px)}
.craft-steps{margin-top:40px;border-top:1px solid var(--line)}
.craft-steps div{display:grid;grid-template-columns:55px 1fr;padding:18px 0;border-bottom:1px solid var(--line)}
.craft-steps span{font-family:var(--font);color:var(--gold)}
.craft-steps b{font-weight:400}

.bridal-section{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--midnight);color:#fff;min-height:900px}
.bridal-copy{padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}
.bridal-copy>span{font-size:9px;letter-spacing:.18em;color:var(--gold)}
.bridal-copy h2{font-size:clamp(50px,7vw,96px);margin:20px 0}
.bridal-copy p{line-height:2;color:rgba(255,255,255,.66);font-size:12px}
.bridal-copy .button{align-self:flex-start;margin-top:20px}
.bridal-image img{height:100%;object-fit:cover;filter:saturate(.65) contrast(1.08)}

.appointment{min-height:760px;position:relative;display:grid;place-items:center;text-align:center;color:#fff;padding:80px 20px}
.appointment>img{position:absolute;inset:0;height:100%;object-fit:cover}
.appointment-shade{position:absolute;inset:0;background:rgba(4,15,16,.76)}
.appointment-content{position:relative;z-index:2;max-width:900px}
.appointment-content>span{font-size:9px;letter-spacing:.2em;color:var(--gold)}
.appointment-content p{max-width:640px;margin:25px auto 30px;line-height:2;color:rgba(255,255,255,.68);font-size:12px}

.product-modal{
  position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.78);
  display:none;align-items:center;justify-content:center;padding:30px;
}
.product-modal.open{display:flex}
.modal-close{position:absolute;top:20px;right:25px;border:0;background:none;color:#fff;font-size:42px}
.modal-card{width:min(980px,95vw);background:var(--bg);display:grid;grid-template-columns:1fr 1fr}
.modal-card>img{height:620px;object-fit:cover}
.modal-info{padding:60px;display:flex;flex-direction:column;justify-content:center}
.modal-info>span{font-size:9px;letter-spacing:.18em;color:var(--gold)}

.modal-info p{line-height:1.8;color:var(--muted)}
.modal-info button{height:52px;border:0;background:var(--midnight);color:#fff;margin-top:15px}

footer{
  background:#070a0b;color:#fff;padding:55px 5vw;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;
}
.footer-logo{width:90px;height:120px}
.footer-logo img{height:100%;object-fit:contain}
footer p{text-align:center;font-size:9px;letter-spacing:.15em}
.footer-links{display:flex;justify-content:flex-end;gap:20px;font-size:9px}


/* Unified typography and spacing system */
body,
button,
input,
textarea,
select,
a,
span,
small,
b,
strong,
em,
h1,h2,h3,h4,h5,h6,
p{
  font-family:var(--font);
}

h1,h2,h3,h4,h5,h6{
  font-style:normal;
  letter-spacing:-.035em;
}

p{
  letter-spacing:0;
}

main > section{
  scroll-margin-top:58px;
}

.logo-stage{
  padding-top:calc(var(--section-space) + 20px);
  padding-bottom:72px;
}

.hero-copy,
.new-arrivals,
.craft-content,
.bridal-copy{
  padding-top:var(--section-space);
  padding-bottom:var(--section-space);
}

.collection-copy{
  padding-top:var(--section-space);
  padding-bottom:var(--section-space);
}

.appointment{
  padding-top:var(--section-space);
  padding-bottom:var(--section-space);
}

.section-heading,
.drop-title,
.gallery-intro{
  margin-top:0;
}

.eyebrow,
.logo-stage-meta,
.logo-stage-note,
.product-meta span,
.collection-copy > span,
.bridal-copy > span,
.appointment-content > span,
.utility-header,
.hero-caption small{
  letter-spacing:.08em;
}

.hero-copy h1,
.section-heading h2,
.craft-content h2,
.bridal-copy h2,
.appointment-content h2,
.collection-copy h2,
.product-meta h3,


.hero-copy h1 em{
  font-family:var(--font);
  font-style:normal;
  color:var(--gold);
}

.product-meta h3{
  font-size:20px;
  line-height:1.55;
}

.hero-caption b{
  font-family:var(--font);
  font-size:17px;
  line-height:1.5;
}






/* V4.2 — refined heading scale, content spacing and navigation controls */
:root{
  --content-gap:28px;
  --content-gap-large:38px;
}

/* Larger, clearer navigation controls */
.utility-header{
  height:68px;
  padding-inline:3.5vw;
}

.utility-menu{
  min-width:104px;
  min-height:44px;
  gap:11px;
}

.utility-menu span{
  width:24px;
  height:2px;
}

.utility-menu span + span{
  width:16px;
}

.utility-menu b,
.utility-actions button{
  font-size:11px;
  line-height:1;
}

.utility-actions{
  gap:12px;
}

.utility-actions button{
  min-width:42px;
  min-height:42px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  transition:background .25s ease;
}

.utility-actions button:hover{
  background:rgba(255,255,255,.12);
}

.utility-actions button:first-child,
.utility-actions button:last-child{
  border-radius:999px;
  padding-inline:14px;
}

/* Reduced title sizes and improved line height */










/* Prevent crowded text blocks */
.hero-copy .eyebrow,
.craft-content .eyebrow,
.section-heading .eyebrow{
  margin-bottom:24px;
}

.hero-copy h1 + p,
.craft-content h2 + .craft-steps,
.bridal-copy h2 + p,
.appointment-content h2 + p{
  margin-top:var(--content-gap-large);
}

.hero-copy > p:not(.eyebrow){
  margin-bottom:0;
  line-height:2.15;
}

.hero-actions{
  margin-top:34px;
}

.section-heading{
  gap:64px;
  margin-bottom:82px;
}



.section-heading > p{
  padding-top:12px;
  line-height:2.15;
}

.product-meta{
  padding-top:18px;
  row-gap:8px;
}

.product-meta h3{
  line-height:1.65;
}

.collection-copy > span{
  display:block;
  margin-bottom:28px;
}



.collection-copy p{
  margin-top:0;
  margin-bottom:26px;
  line-height:2.15;
}

.craft-content .eyebrow{
  margin-bottom:28px;
}

.craft-steps{
  margin-top:44px;
}

.craft-steps div{
  padding-block:22px;
}

.bridal-copy > span{
  display:block;
  margin-bottom:28px;
}

.bridal-copy h2{
  margin:0;
}

.bridal-copy p{
  margin-bottom:0;
  line-height:2.15;
}

.bridal-copy .button{
  margin-top:34px;
}

.appointment-content > span{
  display:block;
  margin-bottom:28px;
}

.appointment-content h2{
  margin:0;
}

.appointment-content p{
  margin-bottom:34px;
}

.logo-stage{
  padding-top:150px;
}

.logo-stage-meta{
  top:94px;
}

@media(max-width:1000px){
  .utility-center{display:none}
  .utility-header{grid-template-columns:1fr 1fr}
  .hero-editorial{grid-template-columns:1fr}
  .hero-image{min-height:700px}
  .collection-nav{grid-template-columns:repeat(2,1fr)}
  .mosaic-products{grid-template-columns:1fr 1fr;grid-template-rows:620px 420px 520px 420px}
  .product-a{grid-row:auto;grid-column:1/3}
  .product-b{grid-column:1}
  .product-c{grid-column:2}
  .product-d{grid-column:1/3;grid-row:auto}
  .product-e{grid-column:1/3}
  .craft-section,.bridal-section{grid-template-columns:1fr}
  .craft-image,.bridal-image{min-height:650px}
}
@media(max-width:680px){

  .utility-header{
    height:62px;
    padding-inline:12px;
  }

  .utility-menu{
    min-width:48px;
    min-height:44px;
  }

  .utility-menu span{
    width:23px;
  }

  .utility-menu span + span{
    width:15px;
  }

  .utility-actions{
    gap:5px;
  }

  .utility-actions button{
    min-width:38px;
    min-height:38px;
    padding-inline:8px;
    font-size:10px;
  }

  .utility-actions button:last-child{
    padding-inline:10px;
  }

  .logo-stage{
    padding-top:112px;
  }

  .logo-stage-meta{
    top:78px;
  }

  

  

  

  

  .hero-copy .eyebrow,
  .craft-content .eyebrow,
  .section-heading .eyebrow{
    margin-bottom:20px;
  }

  .hero-copy h1 + p,
  .craft-content h2 + .craft-steps,
  .bridal-copy h2 + p,
  .appointment-content h2 + p{
    margin-top:30px;
  }

  .hero-actions{
    margin-top:30px;
  }

  .section-heading{
    margin-bottom:58px;
  }

  .collection-copy > span,
  .bridal-copy > span,
  .appointment-content > span{
    margin-bottom:22px;
  }


  main > section{scroll-margin-top:54px}
  .logo-stage{
    padding-top:calc(var(--section-space-mobile) + 15px);
    padding-bottom:48px;
  }
  .hero-copy,
  .new-arrivals,
  .craft-content,
  .bridal-copy,
  .collection-copy,
  .appointment{
    padding-top:var(--section-space-mobile);
    padding-bottom:var(--section-space-mobile);
  }

  .utility-header{height:54px;padding:0 15px}
  .utility-menu b,.utility-actions button:first-child{display:none}
  .utility-actions{gap:8px}
  .logo-stage{min-height:520px;padding-top:90px}
  .logo-stage-meta{top:80px;font-size:7px}
  .vertical-logo-frame{width:190px;height:300px}
  .logo-stage-note{bottom:28px;font-size:7px}
  .hero-editorial{min-height:auto}
  .hero-copy{padding:100px 22px 70px}
  
  .hero-image{min-height:560px}
  .hero-caption{left:16px;right:16px;bottom:16px;min-width:auto}
  .collection-nav{grid-template-columns:1fr 1fr}
  .collection-nav a{min-height:92px;padding:18px 14px}
  .new-arrivals{padding:90px 16px}
  .section-heading{display:block}
  .section-heading>p{margin-top:20px}
  .mosaic-products{display:block}
  .product{margin-bottom:48px}
  .product-media{height:auto}
  .product-media img{aspect-ratio:4/5}
  .quick-view{opacity:1;transform:none}
  .product-meta{grid-template-columns:1fr auto}
  .product-meta span{grid-column:1/-1}
  .full-collection{min-height:800px}
  .collection-copy{padding:70px 22px}
  
  .craft-content,.bridal-copy{padding:90px 22px}
  .craft-image,.bridal-image{min-height:520px}
  .appointment{min-height:650px}
  .modal-card{grid-template-columns:1fr;max-height:90vh;overflow:auto}
  .modal-card>img{height:360px}
  .modal-info{padding:30px}
  footer{grid-template-columns:1fr;text-align:center}
  .footer-logo{margin:auto}
  .footer-links{justify-content:center}
}

/* =========================================================
   FINAL TYPOGRAPHY SYSTEM — CLEANED VERSION
   ========================================================= */

.hero-copy h1{
  display:block;
  font-family:var(--font);
  font-size:clamp(34px,3.8vw,56px);
  font-weight:400;
  line-height:1.35;
  letter-spacing:-0.025em;
  margin:0 0 30px;
  max-width:720px;
}

.hero-copy h1 span,
.hero-copy h1 em{
  display:block;
}

.hero-copy h1 em{
  margin-top:8px;
  font-style:normal;
  color:var(--gold);
}

.section-heading h2{
  font-family:var(--font);
  font-size:clamp(34px,4vw,58px);
  font-weight:400;
  line-height:1.35;
  letter-spacing:-0.025em;
  margin:8px 0 0;
}

.craft-content h2,
.bridal-copy h2,
.appointment-content h2{
  font-family:var(--font);
  font-size:clamp(36px,4.4vw,62px);
  font-weight:400;
  line-height:1.35;
  letter-spacing:-0.025em;
}

.collection-copy h2{
  display:block;
  font-family:var(--font);
  font-size:clamp(40px,4.2vw,60px);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-0.02em;
  margin:12px 0 22px;
  padding:0;
  max-width:460px;
  color:#fff;
}

.modal-info h2{
  font-family:var(--font);
  font-size:38px;
  font-weight:400;
  line-height:1.4;
  margin:15px 0 22px;
}

/* Improved spacing between text blocks */
.hero-copy .eyebrow,
.craft-content .eyebrow,
.section-heading .eyebrow{
  margin-bottom:24px;
}

.hero-copy > p:not(.eyebrow),
.section-heading > p,
.collection-copy p,
.bridal-copy p,
.appointment-content p{
  line-height:2.1;
}

.hero-copy h1 + p,
.craft-content h2 + .craft-steps,
.bridal-copy h2 + p,
.appointment-content h2 + p{
  margin-top:32px;
}

.collection-copy > span,
.bridal-copy > span,
.appointment-content > span{
  display:block;
  margin-bottom:24px;
}

/* Tablet */
@media (max-width:1000px){
  .hero-copy h1{
    font-size:clamp(32px,5vw,50px);
    line-height:1.38;
  }

  .section-heading h2{
    font-size:clamp(32px,5vw,50px);
  }

  .craft-content h2,
  .bridal-copy h2,
  .appointment-content h2{
    font-size:clamp(34px,5.5vw,54px);
  }

  .collection-copy h2{
    font-size:clamp(36px,5vw,52px);
    line-height:1.15;
    max-width:420px;
  }
}

/* Mobile */
@media (max-width:680px){
  .hero-copy h1{
    font-size:34px;
    line-height:1.45;
    margin-bottom:24px;
  }

  .section-heading h2{
    font-size:32px;
    line-height:1.45;
  }

  .craft-content h2,
  .bridal-copy h2,
  .appointment-content h2{
    font-size:34px;
    line-height:1.45;
  }

  .collection-copy h2{
    font-size:34px;
    line-height:1.2;
    margin:10px 0 18px;
    max-width:100%;
  }

  .modal-info h2{
    font-size:32px;
    line-height:1.4;
  }
}
