*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F6F1E9;
  --cream2:#EEE6D8;
  --paper:#FBF8F2;
  --ink:#241E18;
  --ink-soft:rgba(36,30,24,0.56);
  --ink-faint:rgba(36,30,24,0.34);
  --taupe:#9C9080;
  --line:rgba(36,30,24,0.14);
  --dark:#1B1712;
  --dark-soft:rgba(246,241,233,0.56);
  --dark-faint:rgba(246,241,233,0.3);
  --line-inv:rgba(246,241,233,0.14);
  --pad:clamp(24px,5vw,80px);
  --t:0.25s ease;
}
html{scroll-behavior:smooth;background:var(--cream)}
body{font-family:'Inter',sans-serif;font-weight:300;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--pad)}
.micro{font-size:10px;letter-spacing:0.32em;text-transform:uppercase;font-weight:400}
.serif{font-family:'Cormorant Garamond',serif}
.dark{background:var(--dark);color:var(--cream)}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  height:68px;padding:0 var(--pad);
  background:rgba(246,241,233,0.88);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
}
.nav-logo{display:flex;align-items:center;gap:9px}
.nav-logo img{width:20px;height:20px}
.nav-logo span{
  font-family:'Cormorant Garamond',serif;
  font-size:18px;font-weight:400;letter-spacing:0.03em;
}
.nav-logo em{font-style:italic}
.nav-right{display:flex;align-items:center;gap:30px}
.nav-links{display:flex;gap:36px}
.nav-links a{
  font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--ink-soft);transition:color var(--t);padding:4px 0;
  border-bottom:1px solid transparent;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a.active{color:var(--ink);border-bottom-color:var(--ink)}
.nav-cta{
  font-size:11px;letter-spacing:0.12em;text-transform:uppercase;
  border:1px solid var(--ink);padding:9px 22px;
  transition:background var(--t),color var(--t);white-space:nowrap;
}
.nav-cta:hover{background:var(--ink);color:var(--cream)}
.lang-toggle{
  display:flex;align-items:center;gap:6px;background:none;border:none;
  cursor:pointer;font-family:inherit;font-size:11px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--ink-soft);padding:0;
}
.lang-toggle span{transition:color var(--t)}
.lang-toggle span[data-lang]{color:var(--ink-faint)}
.lang-toggle span.active{color:var(--ink)}
.lang-toggle .sep{color:var(--ink-faint)}
.hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:40px;cursor:pointer;background:none;border:none;
}
.hamburger span{display:block;width:22px;height:1px;background:var(--ink);transition:all 0.3s;transform-origin:center}
.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-nav{
  display:none;position:fixed;inset:0;background:var(--cream);z-index:99;
  flex-direction:column;justify-content:center;align-items:center;
  padding:80px var(--pad) 40px;
}
.mobile-nav.open{display:flex}
.mobile-nav a{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,10vw,56px);font-weight:300;
  letter-spacing:-0.02em;font-style:italic;
  color:var(--ink);padding:16px 0;
  border-bottom:1px solid var(--line);width:100%;text-align:center;
  transition:color var(--t);
}
.mobile-nav a:first-child{border-top:1px solid var(--line)}
.mobile-nav a:hover{color:var(--taupe)}
.mobile-nav a.active{color:var(--taupe)}

/* ── HERO (home) ── */
.hero{
  height:100vh;min-height:560px;position:relative;overflow:hidden;
  background:var(--dark);
}
.hero-img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;
  opacity:0.82;display:block;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(20,16,12,0.88) 0%, rgba(20,16,12,0.18) 55%, rgba(20,16,12,0.35) 100%);
}
.hero-content{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:0 var(--pad);
}
.hero-tag{
  font-size:10px;letter-spacing:0.34em;text-transform:uppercase;
  color:rgba(246,241,233,0.55);font-weight:400;margin-bottom:22px;
}
.hero-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(46px,7.5vw,108px);
  font-weight:300;line-height:0.98;
  letter-spacing:-0.02em;color:var(--cream);
  max-width:16ch;
}
.hero-title em{font-style:italic}
.hero-sub{
  font-size:14px;font-weight:300;line-height:1.75;
  color:rgba(246,241,233,0.6);text-align:center;
  max-width:44ch;margin:26px auto 34px;
}
.hero-cta{
  font-size:11px;letter-spacing:0.18em;text-transform:uppercase;
  border-bottom:1px solid rgba(246,241,233,0.4);
  padding-bottom:6px;color:var(--cream);
  transition:border-color var(--t),color var(--t);
}
.hero-cta:hover{border-color:var(--cream);color:var(--cream)}

/* ── PAGE HEADER (interior pages) ── */
.page-hero{padding:clamp(150px,20vh,220px) 0 clamp(56px,7vw,90px)}
.page-hero-inner{text-align:center}
.page-eyebrow{color:var(--taupe);margin-bottom:20px}
.page-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(44px,7vw,92px);font-weight:300;
  letter-spacing:-0.025em;line-height:0.98;color:var(--ink);
}
.page-title em{font-style:italic}
.page-sub{
  font-size:14px;font-weight:300;color:var(--ink-soft);
  max-width:46ch;margin:22px auto 0;line-height:1.7;
}

/* ── SECTION HEAD (shared) ── */
.sec-head{display:flex;justify-content:space-between;align-items:baseline;
  padding-bottom:48px;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px}
.dark .sec-head{border-bottom:1px solid var(--line-inv)}
.sec-label{color:var(--taupe)}
.dark .sec-label{color:var(--dark-faint)}
.sec-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(32px,4vw,54px);font-weight:300;
  letter-spacing:-0.02em;line-height:1;color:var(--ink);
}
.dark .sec-title{color:var(--cream)}
.sec-title em{font-style:italic}
.sec-desc{
  font-size:13px;font-weight:300;color:var(--ink-soft);
  max-width:30ch;text-align:right;line-height:1.7;
}
.dark .sec-desc{color:var(--dark-soft)}
.section-pad{padding:clamp(70px,9vw,120px) 0}

/* ── COLLECTION GRID ── */
.piece-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,3vw,40px);margin-top:56px;
}
.piece-card{display:flex;flex-direction:column;gap:0}
.piece-frame{overflow:hidden;position:relative;aspect-ratio:4/5;background:var(--cream2)}
.piece-frame img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 0.9s ease;
}
.piece-card:hover .piece-frame img{transform:scale(1.04)}
.piece-name{
  font-family:'Cormorant Garamond',serif;font-size:clamp(20px,2vw,26px);
  font-weight:300;letter-spacing:-0.01em;color:var(--ink);
  margin-top:22px;
}
.piece-mat{
  font-size:11px;letter-spacing:0.06em;color:var(--taupe);margin-top:8px;
}
.collection-cta{
  border-top:1px solid var(--line);margin-top:clamp(56px,7vw,96px);
  padding-top:36px;display:flex;justify-content:space-between;align-items:center;
  gap:20px;flex-wrap:wrap;
}
.collection-cta-text{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(20px,2vw,28px);font-weight:300;
  letter-spacing:-0.01em;color:var(--ink);
}
.collection-cta-text em{font-style:italic}
.collection-link{
  font-size:11px;letter-spacing:0.15em;text-transform:uppercase;
  border:1px solid var(--ink);padding:11px 22px;
  transition:background var(--t),color var(--t);
}
.collection-link:hover{background:var(--ink);color:var(--cream)}

/* ── HOME: featured strip ── */
.featured{padding:clamp(80px,10vw,130px) 0}
.featured-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px);
  margin-top:56px;
}
.featured-cell{overflow:hidden;position:relative;aspect-ratio:4/5}
.featured-cell img{width:100%;height:100%;object-fit:cover;transition:transform 0.9s ease;filter:brightness(0.94)}
.featured-cell:hover img{transform:scale(1.04);filter:brightness(1)}
.featured-cell .cap{
  position:absolute;bottom:0;left:0;right:0;padding:34px 20px 18px;
  background:linear-gradient(to top,rgba(20,16,12,0.65),transparent);
  font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(246,241,233,0.75);
}

/* ── ABOUT ── */
.about-grid{
  display:grid;grid-template-columns:0.9fr 1.1fr;
  gap:clamp(40px,6vw,90px);align-items:center;
}
.about-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}
.about-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4.5vw,64px);font-weight:300;
  letter-spacing:-0.02em;line-height:1.04;color:var(--ink);margin-bottom:28px;
}
.about-title em{font-style:italic}
.about-body{
  font-size:15px;font-weight:300;line-height:1.85;
  color:var(--ink-soft);
  display:flex;flex-direction:column;gap:18px;max-width:48ch;
}
.about-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  margin-top:clamp(56px,7vw,90px);
}
.about-stat{
  padding:30px clamp(16px,2vw,28px);border-right:1px solid var(--line);
}
.about-stat:last-child{border-right:none}
.stat-k{
  font-size:9px;letter-spacing:0.24em;text-transform:uppercase;
  color:var(--taupe);display:block;margin-bottom:14px;
}
.stat-v{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(24px,2.6vw,38px);font-weight:300;
  letter-spacing:-0.02em;color:var(--ink);line-height:1.05;
}
.stat-v em{font-style:italic}

/* ── APPROACH (about page, dark) ── */
.approach-grid{display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(32px,5vw,80px);margin-top:56px}
.approach-list .row{
  display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line-inv);
  font-size:14px;color:var(--dark-soft);font-weight:300;line-height:1.6;
}
.approach-list .row:first-child{border-top:1px solid var(--line-inv)}
.approach-list .row .n{font-size:9px;letter-spacing:0.2em;color:var(--dark-faint);min-width:24px;padding-top:2px}

/* ── CONTACT ── */
.contact-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(48px,6vw,96px);align-items:start;
}
.contact-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(44px,6vw,86px);font-weight:300;
  letter-spacing:-0.025em;line-height:0.96;
  color:var(--ink);margin-bottom:22px;
}
.contact-title em{font-style:italic}
.contact-sub{
  font-size:14px;font-weight:300;line-height:1.75;
  color:var(--ink-soft);max-width:38ch;
}
.contact-items{display:flex;flex-direction:column}
.contact-item{
  display:flex;justify-content:space-between;align-items:flex-end;
  padding:30px 0;border-top:1px solid var(--line);
  transition:color var(--t);
}
.contact-item:last-child{border-bottom:1px solid var(--line)}
.contact-item:hover{color:var(--taupe)}
.contact-k{
  font-size:9px;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--taupe);display:block;margin-bottom:10px;
}
.contact-v{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(22px,2.6vw,38px);font-weight:300;
  letter-spacing:-0.02em;line-height:1;
}
.contact-arr{
  font-size:clamp(20px,2.5vw,36px);
  transition:transform var(--t);
}
.contact-item:hover .contact-arr{transform:translateX(8px)}

/* ── FOOTER ── */
footer{
  border-top:1px solid var(--line);padding:26px var(--pad);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
}
.dark footer{border-top:1px solid var(--line-inv)}
.footer-brand{
  font-family:'Cormorant Garamond',serif;
  font-size:14px;font-weight:400;color:var(--ink-soft);
}
.footer-right{color:var(--ink-faint)}
.footer-links{display:flex;gap:24px}
.footer-links a{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);transition:color var(--t)}
.footer-links a:hover{color:var(--ink)}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .hamburger{display:flex}
  .nav-links,.nav-cta{display:none}
  .piece-grid{grid-template-columns:1fr 1fr}
  .featured-grid{grid-template-columns:1fr 1fr}
  .about-grid,.contact-grid,.approach-grid{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr 1fr}
  .about-stat{border-bottom:1px solid var(--line)}
  .about-stat:nth-child(2n){border-right:none}
  .sec-head{flex-direction:column;gap:12px;align-items:flex-start}
  .sec-desc{text-align:left;max-width:100%}
  .collection-cta{flex-direction:column;align-items:flex-start}
  footer{flex-direction:column;text-align:center}
}
@media(max-width:600px){
  :root{--pad:20px}
  .piece-grid{grid-template-columns:1fr}
  .featured-grid{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr 1fr}
}
