/* Onur Jewellers — taste ref: pin-597923288076620230 (clinical-premium jeweller) */
:root{
  --ground:#E9E5D6;   /* warm cream ground (reference facts.json) */
  --card:#D7C9B2;      /* tinted card */
  --ink:#22201E;       /* near-black text */
  --accent:#6D6745;    /* muted olive accent */
  --accent-deep:#4C4830;
  --line:#958A6D;      /* hairlines */
  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --body:"EB Garamond", Georgia, serif;
  --wrap:1200px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);
  font-size:18px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.06;margin:0;
  letter-spacing:.005em}
h1{font-size:clamp(2.6rem,7vw,5.4rem)}
h2{font-size:clamp(1.9rem,4.4vw,3.2rem)}
h3{font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:400}
p{margin:0 0 1rem}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}
.eyebrow{font-family:var(--body);font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--accent);margin:0 0 1.4rem;font-weight:600}
.section-head{font-family:var(--body);font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--accent);font-weight:600}
.lede{font-size:1.28rem;line-height:1.5;color:#3a382f;max-width:44ch}

/* ---------- progress + splash ---------- */
#progress{display:none}
@supports (animation-timeline: scroll()){
  @media (prefers-reduced-motion: no-preference){
    #progress{display:block;position:fixed;top:0;left:0;right:0;height:3px;z-index:120;pointer-events:none}
    #progress i{display:block;height:100%;
      background:linear-gradient(90deg,var(--accent),var(--accent-deep));
      transform-origin:0 50%;transform:scaleX(0);animation:pgrow linear both;animation-timeline:scroll(root)}
  }
}
@keyframes pgrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
#splash{position:fixed;inset:0;z-index:300;background:var(--ground);display:flex;align-items:center;
  justify-content:center;flex-direction:column;gap:18px;transition:opacity .35s ease}
#splash .mark{font-family:var(--serif);font-size:clamp(1.4rem,4vw,2rem);letter-spacing:.34em;
  text-transform:uppercase;color:var(--ink);padding-left:.34em}
#splash .sub{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
#splash .bar{width:180px;height:2px;background:var(--line);overflow:hidden}
#splash .bar i{display:block;height:100%;width:0;background:var(--accent);animation:fillbar .55s ease forwards .1s}
@keyframes fillbar{to{width:100%}}
#splash.hide{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){#splash .bar i{animation:none;width:100%}}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:100;background:var(--ground);
  border-bottom:1px solid rgba(149,138,109,.4)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding-block:18px;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}
.brand{display:flex;flex-direction:column;line-height:1;text-decoration:none}
.brand b{font-family:var(--serif);font-weight:400;font-size:1.5rem;letter-spacing:.22em;padding-left:.22em}
.brand span{font-size:.6rem;letter-spacing:.42em;text-transform:uppercase;color:var(--accent);
  margin-top:5px;padding-left:.42em}
.nav-links{display:flex;gap:30px;align-items:center;list-style:none;margin:0;padding:0}
.nav-links a{text-decoration:none;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink);position:relative;padding-block:4px;
  transition:color .4s cubic-bezier(.23,1,.32,1)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--accent);
  transition:width .45s cubic-bezier(.23,1,.32,1)}
.nav-links a:hover{color:var(--accent)}
.nav-links a:hover::after{width:100%}
.nav-cta{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  border:1px solid var(--ink);padding:9px 18px;color:var(--ink);
  transition:background .4s cubic-bezier(.23,1,.32,1),color .4s cubic-bezier(.23,1,.32,1)}
.nav-cta:hover{background:var(--ink);color:var(--ground)}
.nav-cta:active{background:var(--accent-deep);color:var(--ground)}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:24px;height:1.5px;background:var(--ink);margin:5px 0;
  transition:transform .4s cubic-bezier(.23,1,.32,1),opacity .3s ease}

/* mobile drawer */
.drawer{position:fixed;inset:0 0 0 auto;width:min(80vw,320px);background:var(--card);z-index:200;
  transform:translateX(100%);transition:transform .42s cubic-bezier(.23,1,.32,1);
  padding:88px 32px 40px;display:flex;flex-direction:column;gap:6px}
.drawer.open{transform:translateX(0)}
.drawer a{text-decoration:none;font-family:var(--serif);font-size:1.7rem;font-weight:300;
  color:var(--ink);padding:12px 0;border-bottom:1px solid rgba(149,138,109,.4);
  transition:color .35s ease,padding-left .35s cubic-bezier(.23,1,.32,1)}
.drawer a:hover{color:var(--accent);padding-left:8px}
.scrim{position:fixed;inset:0;background:rgba(34,32,30,.42);z-index:150;opacity:0;visibility:hidden;
  transition:opacity .4s ease,visibility .4s ease}
.scrim.open{opacity:1;visibility:visible}
.drawer-close{position:absolute;top:26px;right:26px;background:none;border:0;font-family:var(--serif);
  font-size:2rem;line-height:1;color:var(--ink);cursor:pointer}

/* ---------- opening ---------- */
.intro{padding-block:clamp(48px,8vw,96px) clamp(40px,6vw,72px)}
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.intro h1{margin-bottom:1.6rem}
.intro .gold{color:var(--accent)}
.meta-line{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-top:2rem;
  padding-top:1.6rem;border-top:1px solid rgba(149,138,109,.5)}
.rating{display:flex;align-items:baseline;gap:9px;font-size:.86rem;letter-spacing:.04em}
.rating b{font-family:var(--serif);font-size:1.5rem;font-weight:400}
.stars{color:var(--accent);letter-spacing:2px;font-size:.8rem}
.rating span{color:#5a574c}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:2rem}
.btn{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  padding:14px 26px;border:1px solid var(--ink);color:var(--ink);
  transition:background .4s cubic-bezier(.23,1,.32,1),color .4s cubic-bezier(.23,1,.32,1),
    transform .4s cubic-bezier(.23,1,.32,1)}
.btn.solid{background:var(--ink);color:var(--ground)}
.btn:hover{background:var(--ink);color:var(--ground)}
.btn.solid:hover{background:var(--accent-deep)}
.btn:active{transform:translateY(1px);background:var(--accent-deep);color:var(--ground)}
.intro-img{aspect-ratio:3/4;overflow:hidden;background:var(--card)}
.intro-img img{width:100%;height:100%;object-fit:cover}

/* quiet hours line */
.hours-pill{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;letter-spacing:.18em;
  text-transform:uppercase;opacity:.8;color:var(--ink)}
.hours-pill .dot{width:6px;height:6px;border-radius:3px;background:var(--accent);flex:none}
.hours-pill.is-open .dot{background:#5f7250}

/* ---------- full-bleed band ---------- */
.band{position:relative;margin-block:clamp(40px,6vw,80px)}
.band img{width:100%;height:clamp(320px,52vw,560px);object-fit:cover;object-position:center 62%}
.band .cap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,5vw,48px);
  margin-top:20px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}

/* ---------- collections ---------- */
.collections{padding-block:clamp(40px,6vw,72px)}
.sec-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-bottom:clamp(28px,4vw,48px);padding-bottom:18px;border-bottom:1px solid rgba(149,138,109,.5)}
.coll-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px)}
.coll{text-decoration:none;color:inherit;display:flex;flex-direction:column}
.coll .ph{aspect-ratio:4/5;overflow:hidden;background:var(--card);margin-bottom:18px}
.coll .ph img{width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s cubic-bezier(.23,1,.32,1)}
.coll:hover .ph img{transform:scale(1.05)}
.coll.text .ph{display:flex;align-items:flex-end;padding:26px;background:var(--card)}
.coll.text .ph p{margin:0;font-family:var(--serif);font-size:1.5rem;font-weight:300;line-height:1.15}
.coll h3{margin-bottom:6px;transition:color .4s cubic-bezier(.23,1,.32,1)}
.coll:hover h3{color:var(--accent)}
.coll .note{font-size:.82rem;color:#5a574c;letter-spacing:.02em}

/* ---------- about / editorial text ---------- */
.about{padding-block:clamp(48px,7vw,96px)}
.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,6vw,80px);align-items:start}
.about h2{margin-bottom:1.4rem}
.about p{color:#3a382f;max-width:52ch}

/* ---------- reviews ---------- */
.reviews{padding-block:clamp(48px,7vw,88px);border-top:1px solid rgba(149,138,109,.5)}
.rev-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);margin-top:clamp(28px,4vw,48px)}
.rev blockquote{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(1.4rem,2.6vw,1.9rem);
  line-height:1.32}
.rev .who{margin-top:18px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}

/* ---------- visit ---------- */
.visit{padding-block:clamp(48px,7vw,88px);border-top:1px solid rgba(149,138,109,.5)}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,56px);align-items:stretch}
.visit-info dl{margin:0}
.visit-info dt{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);
  margin-top:22px}
.visit-info dd{margin:6px 0 0;font-size:1.05rem}
.visit-info dd a{text-decoration:none;border-bottom:1px solid var(--line);
  transition:border-color .35s ease,color .35s ease}
.visit-info dd a:hover{color:var(--accent);border-color:var(--accent)}
.hours-row{display:flex;justify-content:space-between;max-width:320px;padding:5px 0;
  border-bottom:1px solid rgba(149,138,109,.3);font-size:.95rem}
.hours-row.today{color:var(--accent);font-weight:600}
.map-card{display:flex;flex-direction:column}
.map-card iframe{width:100%;flex:1;min-height:340px;border:1px solid var(--line);background:var(--card)}
.map-link{margin-top:14px;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;color:var(--ink);border-bottom:1px solid var(--accent);align-self:flex-start;
  padding-bottom:3px;transition:color .35s ease}
.map-link:hover{color:var(--accent)}
.visit-photo{aspect-ratio:3/4;overflow:hidden;background:var(--card);margin-top:26px}
.visit-photo img{width:100%;height:100%;object-fit:cover}

/* ---------- footer ---------- */
footer{border-top:1px solid rgba(149,138,109,.5);padding-block:clamp(40px,6vw,64px) 120px;
  margin-top:clamp(40px,6vw,72px)}
.foot-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-end}
.foot-brand b{font-family:var(--serif);font-size:1.6rem;font-weight:400;letter-spacing:.2em}
.foot-brand p{margin:10px 0 0;font-size:.9rem;color:#5a574c;max-width:34ch}
.foot-links{display:flex;flex-direction:column;gap:8px;font-size:.85rem;letter-spacing:.06em}
.foot-links a{text-decoration:none;transition:color .35s ease}
.foot-links a:hover{color:var(--accent)}
.legal{margin-top:36px;font-size:.72rem;color:#7a7563;letter-spacing:.04em}

/* ---------- mobile call bar (the ONE persistent affordance) ---------- */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:110;display:none;
  background:var(--ground);border-top:1px solid var(--line)}
.callbar a{flex:1;text-align:center;text-decoration:none;padding:15px 8px;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
  transition:background .3s ease,color .3s ease}
.callbar a.solid{background:var(--ink);color:var(--ground)}
.callbar a:active{background:var(--accent-deep);color:var(--ground)}

/* ---------- services page ---------- */
.svc-hero{padding-block:clamp(48px,8vw,104px) clamp(24px,4vw,48px)}
.svc-list{padding-bottom:clamp(48px,8vw,104px)}
.svc{display:grid;grid-template-columns:1fr auto;gap:clamp(16px,4vw,48px);align-items:baseline;
  padding:clamp(22px,3vw,34px) 0;border-top:1px solid rgba(149,138,109,.5)}
.svc:last-child{border-bottom:1px solid rgba(149,138,109,.5)}
.svc .num{font-family:var(--serif);font-size:1.1rem;color:var(--line)}
.svc h3{margin-bottom:8px}
.svc p{margin:0;color:#3a382f;font-size:1rem;max-width:52ch}
.svc .price{font-family:var(--serif);font-size:1.15rem;color:var(--accent);white-space:nowrap;text-align:right}
.backlink{display:inline-block;margin-top:14px;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:3px;
  transition:color .35s ease}
.backlink:hover{color:var(--accent)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .nav-links,.nav-cta{display:none}
  .burger{display:block}
  .intro-grid{grid-template-columns:1fr;gap:36px}
  .intro-img{aspect-ratio:4/3;order:-1}
  .coll-grid{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr;gap:24px}
  .rev-grid{grid-template-columns:1fr;gap:36px}
  .visit-grid{grid-template-columns:1fr}
  .visit-photo{display:none}
  .callbar{display:flex}
}
@media (max-width:560px){
  body{font-size:17px}
  .coll-grid{grid-template-columns:1fr}
  .svc{grid-template-columns:auto 1fr;gap:14px}
  .svc .price{grid-column:1;text-align:left;margin-top:4px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
