/* ===== Tokens ===== */
:root{
  --cream: #EFE7D8;
  --cream-2: #E4D9C4;
  --ink: #241F1A;
  --charcoal: #1B1712;
  --clay: #A6552E;
  --clay-2: #7E3E22;
  --verde: #4B5A4E;
  --verde-2: #3A473D;
  --brass: #B08D57;
  --line: rgba(36,31,26,0.12);
  --line-light: rgba(239,231,216,0.18);

  --f-display: "Fraunces", serif;
  --f-body: "Work Sans", sans-serif;
  --f-mono: "Space Mono", monospace;

  --radius: 2px;
  --wrap: 1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--f-body);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3{font-family:var(--f-display);margin:0;font-weight:560;letter-spacing:-0.01em;}

/* ===== Strata rail (signature nav) ===== */
.strata-rail{
  position:fixed;
  left:0; top:0; bottom:0;
  width:14px;
  z-index:60;
  display:none;
}
.strata-rail ol{list-style:none;margin:0;padding:0;height:100%;display:flex;flex-direction:column;}
.strata-rail li{
  flex:1;
  position:relative;
  display:flex;
  align-items:center;
}
.strata-rail .bed{
  display:block;
  width:14px;
  height:100%;
  cursor:pointer;
  transition:width .25s ease;
}
.strata-rail li:hover .bed{width:22px;}
.strata-rail li.active .bed{width:22px; box-shadow:0 0 0 2px var(--cream) inset;}
.strata-rail em{
  position:absolute;
  left:26px;
  font-style:normal;
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.04em;
  background:var(--ink);
  color:var(--cream);
  padding:3px 8px;
  border-radius:2px;
  white-space:nowrap;
  opacity:0;
  transform:translateX(-6px);
  transition:opacity .2s ease, transform .2s ease;
  pointer-events:none;
}
.strata-rail li:hover em{opacity:1;transform:translateX(0);}

.bed-cream{background:#E4D9C4;}
.bed-clay{background:var(--clay);}
.bed-brass{background:var(--brass);}
.bed-verde{background:var(--verde);}
.bed-stone{background:#8A7A61;}
.bed-cream2{background:#D9C9A8;}
.bed-charcoal{background:var(--charcoal);}
.bed-clay2{background:var(--clay-2);}
.bed-verde2{background:var(--verde-2);}
.bed-brass2{background:#8C6F42;}

@media (min-width:1080px){
  .strata-rail{display:block;}
  body{padding-left:14px;}
}

/* ===== Top bar ===== */
.topbar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 28px;
  background:rgba(239,231,216,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.brand{
  font-family:var(--f-display);
  font-size:1.25rem;
  font-weight:560;
  text-decoration:none;
  color:var(--ink);
}
.asterisk{color:var(--clay);}
.topbar-links{display:none; align-items:center; gap:28px;}
.topbar-links a{
  text-decoration:none;
  font-size:.92rem;
  color:var(--ink);
  position:relative;
}
.topbar-links a:not(.cta)::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-4px;
  height:1px; background:var(--clay);
  transform:scaleX(0); transform-origin:left;
  transition:transform .2s ease;
}
.topbar-links a:not(.cta):hover::after{transform:scaleX(1);}
.topbar-links a.cta{
  font-family:var(--f-mono);
  font-size:.78rem;
  padding:8px 14px;
  background:var(--ink);
  color:var(--cream);
  border-radius:2px;
  text-decoration:none;
}
.menu-toggle{
  display:flex; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:6px;
}
.menu-toggle span{width:22px;height:2px;background:var(--ink);display:block;}

@media (min-width:860px){
  .topbar-links{display:flex;}
  .menu-toggle{display:none;}
}

/* mobile dropdown */
body.nav-open .topbar-links{
  display:flex;
  position:absolute; top:100%; left:0; right:0;
  flex-direction:column; align-items:flex-start;
  background:var(--cream); padding:18px 28px 24px;
  border-bottom:1px solid var(--line);
  gap:16px;
}

/* ===== Hero ===== */
.hero{
  position:relative;
  min-height:88vh;
  display:flex; align-items:center;
  padding:60px 28px 90px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 80% 10%, rgba(160,120,70,0.18), transparent 55%),
    var(--cream);
}
.hero-copy{max-width:640px; position:relative; z-index:2;}
.eyebrow{
  font-family:var(--f-mono);
  font-size:.75rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--clay-2);
  margin:0 0 18px;
}
.hero h1{
  font-size:clamp(2.4rem, 6vw, 4.2rem);
  line-height:1.03;
  margin-bottom:24px;
}
.lede{
  font-size:1.05rem;
  line-height:1.65;
  color:#3a342c;
  max-width:52ch;
  margin:0 0 32px;
}
.hero-actions{display:flex; gap:16px; flex-wrap:wrap;}
.btn-primary, .btn-ghost{
  display:inline-block;
  padding:14px 26px;
  font-family:var(--f-mono);
  font-size:.82rem;
  text-decoration:none;
  border-radius:2px;
  letter-spacing:.02em;
}
.btn-primary{background:var(--ink); color:var(--cream);}
.btn-ghost{border:1px solid var(--ink); color:var(--ink);}

.hero-strata{
  position:absolute;
  right:-6%; top:0; bottom:0;
  width:60%;
  display:flex;
  transform:skewX(-9deg);
  z-index:1;
  opacity:.9;
}
.hero-strata span{
  flex:1;
  background:var(--c);
  margin-left:6px;
}
@media (max-width:760px){
  .hero-strata{width:38%; opacity:.5;}
}

/* ===== Sections ===== */
.section{
  padding:100px 28px;
  position:relative;
}
.section-light{background:var(--cream);}
.section-alt{background:var(--cream-2);}
.section-dark{background:var(--ink); color:var(--cream);}
.section-dark h2, .section-dark h3{color:var(--cream);}
.section-dark p{color:#cfc4b2;}

.section::before{
  content:"";
  position:absolute; top:0; left:28px; right:28px;
  height:1px;
  background:linear-gradient(90deg, var(--clay), var(--brass), var(--verde));
  opacity:.5;
}

.section-head{max-width:var(--wrap); margin:0 auto 56px;}
.tag{
  display:inline-block;
  font-family:var(--f-mono);
  font-size:.75rem;
  letter-spacing:.06em;
  color:var(--clay-2);
  margin-bottom:14px;
}
.tag-light{color:var(--brass);}
.section-head h2{
  font-size:clamp(1.8rem, 3.4vw, 2.6rem);
  margin-bottom:14px;
}
.section-head p{
  max-width:56ch;
  line-height:1.6;
  color:#4a4335;
}

.sub-h{
  max-width:var(--wrap);
  margin:0 auto 22px;
  font-size:1.15rem;
  font-weight:560;
  padding-top:4px;
}
.sub-h span{font-family:var(--f-mono); font-size:.85rem; color:var(--brass); font-weight:400;}
.sub-h--light{color:var(--cream);}

/* ===== Swatches ===== */
.swatch-grid{
  max-width:var(--wrap); margin:0 auto 64px;
  display:grid; gap:18px;
  grid-template-columns:repeat(2,1fr);
}
.swatch-grid--3{grid-template-columns:repeat(2,1fr);}
.swatch{margin:0; background:#fff; border:1px solid var(--line); overflow:hidden;}
.swatch img{height:190px; width:100%; object-fit:cover;}
.swatch figcaption{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:12px 14px;
  font-size:.85rem;
}
.swatch figcaption span{font-family:var(--f-mono); font-size:.78rem; color:var(--clay-2);}

@media (min-width:640px){
  .swatch-grid{grid-template-columns:repeat(3,1fr);}
  .swatch-grid--3{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:960px){
  .swatch-grid{grid-template-columns:repeat(5,1fr);}
}

/* ===== Tables ===== */
.table-wrap{max-width:var(--wrap); margin:0 auto 48px; overflow-x:auto;}
.table-wrap--light{background:var(--cream); padding:8px; border-radius:2px;}
table.compare{
  width:100%; border-collapse:collapse;
  font-size:.92rem;
  min-width:420px;
}
table.compare th{
  text-align:left;
  font-family:var(--f-mono);
  font-weight:400;
  font-size:.72rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--brass);
  padding:10px 14px;
  border-bottom:1px solid var(--line-light);
}
table.compare td{
  padding:12px 14px;
  border-bottom:1px solid var(--line-light);
}
table.compare tbody tr:hover{background:rgba(239,231,216,0.06);}
table.compare.compare--light th{color:var(--clay-2); border-color:var(--line);}
table.compare.compare--light td{border-color:var(--line); color:var(--ink);}
table.compare.compare--light tbody tr:hover{background:rgba(36,31,26,0.04);}

/* ===== Import section ===== */
.import-layout{
  max-width:var(--wrap); margin:0 auto;
  display:grid; gap:40px;
}
.import-highlight{
  background:linear-gradient(135deg, rgba(176,141,87,0.14), transparent);
  border:1px solid var(--line);
  padding:32px;
}
.big-number{
  font-family:var(--f-display);
  font-size:clamp(2.2rem,5vw,3rem);
  margin:0;
  color:var(--clay-2);
}
.big-label{font-family:var(--f-mono); font-size:.8rem; color:#4a4335; margin:6px 0 26px;}
.mini-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
.mini-list li{display:flex; justify-content:space-between; font-size:.9rem; border-top:1px solid var(--line); padding-top:12px;}
.mini-list strong{font-family:var(--f-mono); font-weight:700;}

@media (min-width:900px){
  .import-layout{grid-template-columns:1fr 1.3fr; align-items:start;}
}

.price-columns{
  max-width:var(--wrap); margin:0 auto;
  display:grid; gap:40px;
}
@media (min-width:800px){
  .price-columns{grid-template-columns:1fr 1fr;}
}

/* ===== Galleries ===== */
.gallery{
  max-width:var(--wrap); margin:0 auto;
  display:grid; gap:14px;
  grid-template-columns:repeat(2,1fr);
}
.gallery img{width:100%; height:220px; object-fit:cover; border-radius:2px;}
.gallery--wide img{height:200px;}
.gallery--two{grid-template-columns:1fr; max-width:900px;}
.gallery--two img{height:340px;}
.gallery--three{grid-template-columns:1fr;}
.gallery--faience{grid-template-columns:1fr; align-items:start;}
.gallery--faience .tall{grid-row:span 2; height:460px;}

@media (min-width:640px){
  .gallery{grid-template-columns:repeat(3,1fr);}
  .gallery--two{grid-template-columns:1fr 1fr;}
  .gallery--two img{height:420px;}
  .gallery--three{grid-template-columns:repeat(3,1fr);}
  .gallery--faience{grid-template-columns:1fr 1fr; grid-auto-rows:220px;}
  .gallery--faience .tall{height:100%;}
  .gallery--faience img:not(.tall){height:100%;}
}
@media (min-width:960px){
  .gallery{grid-template-columns:repeat(4,1fr);}
}

/* ===== Footer ===== */
.footer{
  background:var(--charcoal);
  color:var(--cream);
  padding:70px 28px 30px;
}
.footer-inner{
  max-width:var(--wrap); margin:0 auto;
  display:flex; flex-wrap:wrap; gap:40px;
  justify-content:space-between;
  border-bottom:1px solid var(--line-light);
  padding-bottom:40px;
}
.brand-mark{font-family:var(--f-display); font-size:1.6rem; margin:0 0 8px;}
.footer-tagline{color:#b8ab93; margin:0; font-size:.92rem;}
.footer-details p{margin:0 0 10px; font-family:var(--f-mono); font-size:.88rem; color:#d8cdb8;}
.footer-details a{text-decoration:none;}
.footer-fine{
  max-width:var(--wrap); margin:22px auto 0;
  font-size:.78rem; color:#8a7f6c;
  font-family:var(--f-mono);
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important;}
}
