:root{
  --espresso:#311A0A;
  --espresso-deep:#210F04;
  --cream:#FAF5EC;
  --gold-light:#E8C77C;
  --gold-deep:#9C6B2E;
  --ivory:#F3E9DB;
  --bronze:#8A6B4C;
  --gold-gradient: linear-gradient(90deg, #9C6B2E 0%, #E8C77C 35%, #F6E2AE 50%, #E8C77C 65%, #9C6B2E 100%);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Jost', sans-serif;
  background:var(--cream);
  color:var(--espresso);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.wordmark{font-family:'Playfair Display', serif;}
a{text-decoration:none;color:inherit;}
img,svg{display:block;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ---------- Nav ---------- */
nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 6vw;
  background:rgba(250,245,236,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(43,24,16,0.08);
}
.wordmark{font-size:1.3rem; font-weight:600; letter-spacing:0.02em; display:flex; align-items:center; gap:0.7rem;}
.wordmark span{color:var(--gold-deep); font-style:italic;}
.logo-mark img{
  width:40px!important; height:40px; border-radius:50%; flex:0 0 40px;
  background:var(--espresso); color:var(--gold-light);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
  border:1px solid rgba(232,199,124,0.5);
}
/*.logo-mark img{width:100%; height:100%; object-fit:cover; transform:scale(1.32);}*/
footer .logo-mark{border-color:rgba(232,199,124,0.3);}

/* ---------- Brand logo (larger emblem placements) ---------- */
.brand-logo{display:block; width:100%; height:auto; position:relative; z-index:1;}
.hero-logo{width:min(150px, 26vw); margin:0 0 2rem;}
.hero.compact .hero-logo{width:min(100px, 20vw); margin-bottom:1.4rem;}
.nav-links{display:flex; gap:2.4rem; font-size:0.95rem; letter-spacing:0.03em;}
.nav-links a{position:relative; padding-bottom:4px;}
.nav-links a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:1px;
  background:var(--gold-deep); transition:width 0.3s ease;
}
.nav-links a:hover::after{width:100%;}
.nav-links a[aria-current="page"]::after{width:100%;}
.nav-links a:focus-visible, .wordmark:focus-visible{outline:2px solid var(--gold-deep); outline-offset:4px;}

/* ---------- Hero (used on every page, shorter on inner pages) ---------- */
header.hero{
  background:radial-gradient(120% 140% at 15% 0%, #3A2418 0%, var(--espresso) 45%, var(--espresso-deep) 100%);
  color:var(--ivory);
  padding:9vw 6vw 7vw;
  position:relative;
  overflow:hidden;
}
header.hero.compact{padding:6vw 6vw 5vw;}
header.hero::before{
  content:'';
  position:absolute; inset:0;
  background-image:
    radial-gradient(circle at 85% 20%, rgba(232,199,124,0.10) 0%, transparent 40%),
    radial-gradient(circle at 10% 90%, rgba(232,199,124,0.06) 0%, transparent 35%);
  pointer-events:none;
}
.eyebrow{
  font-size:0.8rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold-light); font-weight:500; margin-bottom:1.4rem;
  display:flex; align-items:center; gap:0.8rem;
}
.eyebrow::before{content:''; width:28px; height:1px; background:var(--gold-light);}
h1.hero-title{
  font-size:clamp(2.2rem, 4.6vw, 4rem);
  font-weight:600;
  line-height:1.14;
  max-width:16ch;
  letter-spacing:-0.01em;
}
h1.hero-title em{color:var(--gold-light); font-style:italic; font-weight:500;}
.hero-sub{
  margin-top:1.6rem; font-size:1.1rem; color:var(--bronze);
  max-width:46ch; line-height:1.65; font-weight:300;
}
.hero-sub strong{color:var(--ivory); font-weight:500;}

.signature-bar{
  margin-top:2.4rem;
  height:5px; width:180px; border-radius:3px;
  background:var(--gold-gradient);
  background-size:200% 100%;
  animation:shimmer 3.5s linear infinite;
}
@keyframes shimmer{
  0%{background-position:0% 0%;}
  100%{background-position:200% 0%;}
}

.hero-cta{
  margin-top:2.6rem; display:inline-flex; align-items:center; gap:0.7rem;
  padding:0.95rem 2.1rem; background:var(--gold-light); color:var(--espresso-deep);
  font-family:'Jost',sans-serif; font-weight:500; font-size:0.95rem; letter-spacing:0.03em;
  border-radius:2px; transition:background 0.25s ease, transform 0.25s ease;
}
.hero-cta:hover{background:#F6E2AE; transform:translateY(-2px);}
.hero-cta:focus-visible{outline:2px solid var(--ivory); outline-offset:3px;}
.hero-cta.ghost{
  background:transparent; color:var(--ivory); border:1px solid rgba(243,233,220,0.35);
  margin-left:1rem;
}
.hero-cta.ghost:hover{background:rgba(243,233,220,0.08); border-color:var(--gold-light);}

.divider{height:4px; background:var(--gold-gradient); background-size:200% 100%;}

/* ---------- About / generic two-col ---------- */
section.about{
  padding:7vw 6vw;
  display:grid; grid-template-columns:1.1fr 0.9fr; gap:5vw; align-items:center;
}
section.about h2{font-size:clamp(1.8rem,3vw,2.6rem); font-weight:600; line-height:1.2; margin-bottom:1.4rem;}
section.about p{color:var(--bronze); line-height:1.85; font-size:1.02rem; margin-bottom:1.1rem; max-width:52ch;}
.about-badge{
  display:inline-flex; align-items:center; gap:0.6rem; margin-top:0.6rem;
  padding:0.6rem 1.1rem; border:1px solid rgba(43,24,16,0.15); border-radius:2px;
  font-size:0.85rem; letter-spacing:0.05em; color:var(--espresso);
}
.about-badge .dot{width:6px; height:6px; border-radius:50%; background:var(--gold-deep);}

.ingot-wrap{display:flex; align-items:center; justify-content:center;}
.ingot{
  width:100%; max-width:320px; aspect-ratio:4/3;
  border-radius:6px;
  background:linear-gradient(155deg, #EDEAE2 0%, #C9C4B7 28%, #F6F4EE 50%, #B7B0A0 68%, #E9E5DB 100%);
  box-shadow: 0 24px 50px -18px rgba(43,24,16,0.35), inset 0 1px 0 rgba(255,255,255,0.6);
  position:relative;
  display:flex; align-items:flex-end; justify-content:center;
  padding-bottom:1.4rem;
}
.ingot::before{
  content:''; position:absolute; inset:14% 10%; border-radius:4px;
  background:linear-gradient(155deg, rgba(255,255,255,0.5), rgba(255,255,255,0) 40%);
  pointer-events:none;
}
.ingot span{
  font-family:'Playfair Display', serif; font-style:italic; font-size:0.85rem;
  color:var(--espresso); letter-spacing:0.04em; opacity:0.75;
}

/* ---------- Values / feature rows ---------- */
section.highlights{
  background:var(--espresso-deep); color:var(--ivory);
  padding:5.5vw 6vw;
  display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem;
}
.highlight h3{font-size:1.1rem; font-weight:600; margin-bottom:0.6rem; color:var(--gold-light);}
.highlight p{font-size:0.92rem; color:var(--bronze); line-height:1.7;}
.highlight .num{font-family:'Playfair Display',serif; font-style:italic; font-size:0.85rem; color:var(--gold-deep); margin-bottom:0.8rem; display:block;}

/* ---------- Timeline (About page) ---------- */
section.timeline{padding:6vw 6vw 7vw;}
.timeline-head{max-width:56ch; margin-bottom:3rem;}
.timeline-head h2{font-size:clamp(1.8rem,3vw,2.6rem); font-weight:600; margin-bottom:0.9rem;}
.timeline-head p{color:var(--bronze); line-height:1.75;}
.timeline-row{
  display:grid; grid-template-columns:120px 1fr; gap:2rem;
  padding:1.8rem 0; border-top:1px solid rgba(43,24,16,0.1);
}
.timeline-row:last-child{border-bottom:1px solid rgba(43,24,16,0.1);}
.timeline-row .tag{font-family:'Playfair Display',serif; font-style:italic; color:var(--gold-deep); font-size:1rem;}
.timeline-row h3{font-size:1.05rem; font-weight:600; margin-bottom:0.4rem;}
.timeline-row p{color:var(--bronze); font-size:0.95rem; line-height:1.7; max-width:60ch;}

/* ---------- Collection gallery ---------- */
section.collection{padding:6vw 6vw 7vw; background:var(--cream);}
.collection-head{max-width:56ch; margin-bottom:3.2rem;}
.collection-head h2{font-size:clamp(1.8rem,3vw,2.6rem); font-weight:600; margin-bottom:0.9rem;}
.collection-head p{color:var(--bronze); line-height:1.75; font-size:1.02rem;}
.collection-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem;}
.collection-grid.two-col{grid-template-columns:repeat(2,1fr); gap:2.2rem;}
.collection-card{
  background:#fff; border:1px solid rgba(43,24,16,0.08); border-radius:8px;
  padding:2.4rem 1.4rem 1.8rem; text-align:center;
  transition:transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.collection-card.wide{padding:2.6rem 2rem; text-align:left;}
.collection-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px -20px rgba(43,24,16,0.25);
  border-color:rgba(156,107,46,0.3);
}
.collection-icon{width:64px; height:64px; margin:0 auto 1.3rem; display:flex; align-items:center; justify-content:center;}
.collection-card.wide .collection-icon{margin:0 0 1.3rem;}
.collection-icon svg{width:100%; height:100%;}
.collection-card h3{font-family:'Playfair Display',serif; font-weight:600; font-size:1.05rem; margin-bottom:0.4rem; color:var(--espresso);}
.collection-card p{font-size:0.85rem; color:var(--bronze); line-height:1.6;}

/* ---------- Contact ---------- */
section.contact{padding:7vw 6vw; background:var(--cream);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:5vw; align-items:start;}
.contact h2{font-size:clamp(1.8rem,3vw,2.6rem); font-weight:600; margin-bottom:0.8rem;}
.contact-grid p.lead{color:var(--bronze); line-height:1.8; margin-bottom:2.2rem; max-width:44ch;}

.contact-item{display:flex; gap:1.1rem; margin-bottom:1.7rem; align-items:flex-start;}
.contact-icon{
  width:38px; height:38px; border-radius:50%; flex:0 0 38px;
  background:var(--espresso); color:var(--gold-light);
  display:flex; align-items:center; justify-content:center; font-size:1rem;
}
.contact-item .label{font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:0.2rem;}
.contact-item .value{font-size:1.02rem; color:var(--espresso); line-height:1.55;}
.contact-item a.value:hover{color:var(--gold-deep);}

.visit-card{
  background:var(--espresso); color:var(--ivory);
  border-radius:8px; padding:2.4rem;
  position:relative; overflow:hidden;
}
.visit-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--gold-gradient); background-size:200% 100%; animation:shimmer 3.5s linear infinite;
}
.visit-card h3{font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:600; margin-bottom:0.8rem;}
.visit-card p{color:var(--bronze); font-size:0.95rem; line-height:1.7; margin-bottom:1.6rem;}
.visit-card .hours{display:flex; justify-content:space-between; font-size:0.92rem; padding:0.9rem 0; border-top:1px solid rgba(243,233,220,0.12);}
.visit-card .hours span:first-child{color:var(--bronze);}
.map-btn{
  display:inline-flex; align-items:center; gap:0.6rem; margin-top:1.6rem;
  color:var(--gold-light); font-size:0.9rem; letter-spacing:0.03em;
  border-bottom:1px solid rgba(232,199,124,0.4); padding-bottom:2px;
}
.map-btn:hover{border-color:var(--gold-light);}

/* ---------- Contact form ---------- */
.contact-form{margin-top:0.5rem;}
.form-row{margin-bottom:1.3rem;}
.form-row label{display:block; font-size:0.78rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:0.5rem;}
.form-row input, .form-row textarea{
  width:100%; padding:0.85rem 1rem; border:1px solid rgba(43,24,16,0.18); border-radius:4px;
  background:#fff; font-family:'Jost',sans-serif; font-size:0.95rem; color:var(--espresso);
}
.form-row textarea{resize:vertical; min-height:110px;}
.form-row input:focus, .form-row textarea:focus{outline:2px solid var(--gold-deep); outline-offset:1px;}
.form-submit{
  border:none; cursor:pointer; font-family:'Jost',sans-serif;
  padding:0.9rem 2rem; background:var(--espresso); color:var(--ivory);
  font-weight:500; font-size:0.92rem; letter-spacing:0.03em; border-radius:2px;
  transition:background 0.25s ease;
}
.form-submit:hover{background:var(--espresso-deep);}
.form-note{font-size:0.8rem; color:var(--bronze); margin-top:0.9rem;}

/* ---------- Footer ---------- */
footer.site-footer{
  background:var(--espresso-deep); color:var(--bronze);
  padding:4.5rem 6vw 0;
}
.footer-top{
  display:grid; grid-template-columns:1.6fr 1fr 1.3fr 1.3fr; gap:2.8rem;
  padding-bottom:3rem;
}
footer .wordmark{color:var(--ivory); font-size:1.2rem; margin-bottom:1rem;}
.footer-tagline{font-size:0.9rem; color:var(--bronze); line-height:1.7; max-width:26ch;}
.footer-col h4{
  font-family:'Playfair Display', serif; font-style:italic; font-weight:500;
  color:var(--gold-light); font-size:1.02rem; margin-bottom:1.2rem;
}
.footer-col a, .footer-address{
  display:block; font-size:0.9rem; color:var(--bronze); line-height:1.85;
  transition:color 0.2s ease;
}
.footer-col a:hover{color:var(--gold-light);}
.footer-contact-link{display:flex; align-items:center; gap:0.7rem; margin-bottom:0.8rem;}
.footer-contact-link svg{flex:0 0 17px; width:17px; height:17px;}
.footer-divider{height:2px; background:var(--gold-gradient); background-size:200% 100%; opacity:0.55;}
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.8rem;
  padding:1.7rem 0; font-size:0.78rem; color:var(--bronze); letter-spacing:0.02em;
}

@media (max-width:860px){
  nav{padding:18px 6vw;}
  .nav-links{gap:1.2rem; font-size:0.82rem;}
  section.about{grid-template-columns:1fr; gap:3rem;}
  .ingot-wrap{order:-1;}
  section.highlights{grid-template-columns:1fr; gap:2.2rem;}
  .collection-grid{grid-template-columns:repeat(2,1fr); gap:1.2rem;}
  .collection-grid.two-col{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr; gap:3rem;}
  .timeline-row{grid-template-columns:1fr; gap:0.5rem;}
  .footer-top{grid-template-columns:1fr 1fr; gap:2.4rem;}
  .footer-bottom{flex-direction:column; align-items:flex-start; gap:0.4rem;}
  .hero-cta.ghost{margin-left:0; margin-top:1rem;}
}

@media (max-width:560px){
  .footer-top{grid-template-columns:1fr; gap:2.2rem;}
  footer.site-footer{padding:3.5rem 6vw 0;}
}
