
:root{
  --paper:#f4f0e9;
  --ink:#2e2b27;
  --muted:#716c65;
  --line:#d8d1c8;
  --white:#fffdf8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  line-height:1.6
}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
figure{margin:0}
.shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.topbar{
  min-height:82px;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;
  background:rgba(244,240,233,.95);backdrop-filter:blur(12px)
}
.brand{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;letter-spacing:.12em;font-size:15px}
.nav{display:flex;gap:24px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.nav a[aria-current="page"]{color:var(--ink)}
.hero{padding:26px 0 72px}
.hero-media{height:min(76vh,860px);min-height:560px;overflow:hidden}
.hero-media.about-photo img{object-position:center 38%}
.hero-copy{display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:end;padding-top:34px}
.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;margin:0}
h1{font-size:clamp(46px,6vw,84px);line-height:.98;letter-spacing:-.035em}
h2{font-size:clamp(34px,4.5vw,62px);line-height:1.03;letter-spacing:-.025em}
h3{font-size:27px;line-height:1.18}
p{margin:0}
.copy{font-size:16px;color:var(--muted);max-width:650px}
.copy p+p{margin-top:18px}
.section{padding:82px 0;border-top:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;margin-bottom:40px}
.image-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}
.image-grid .big{min-height:700px}
.stack{display:grid;grid-template-rows:1fr 1fr;gap:22px;min-height:700px}
.caption{
  display:block;margin-top:12px;padding-bottom:4px;
  font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
  line-height:1.35
}
.quote-band{padding:90px 0;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.statement{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3.3vw,46px);line-height:1.22;max-width:900px}
.quote-band .statement{text-align:center;margin:0 auto}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.tall-img{min-height:700px}
.button{
  display:inline-flex;min-height:52px;padding:0 24px;align-items:center;justify-content:center;
  border:1px solid var(--ink);font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:.2s ease
}
.button:hover{background:var(--ink);color:var(--paper)}
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.step{background:var(--paper);padding:34px;min-height:250px}
.step .num{font-size:11px;letter-spacing:.15em;color:var(--muted);margin-bottom:20px}
.step p{color:var(--muted);margin-top:12px}

/* Westwing editorial layout */
.west-hero{padding:28px 0 20px}
.west-feature{
  position:relative;min-height:620px;overflow:hidden;background:#ddd
}
.west-feature img{position:absolute;inset:0}
.west-overlay{
  position:absolute;left:0;top:0;bottom:0;width:min(48%,560px);
  display:flex;align-items:center;padding:54px;
  background:linear-gradient(90deg,rgba(244,240,233,.96),rgba(244,240,233,.84),rgba(244,240,233,.10))
}
.west-overlay-inner{max-width:390px}
.west-overlay h1{font-size:clamp(48px,5.5vw,78px);margin-bottom:20px}
.west-overlay p{color:var(--muted);margin-bottom:28px}
.west-gallery{padding:22px 0 70px}
.editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.editorial-grid figure{overflow:hidden}
.editorial-grid .a{grid-column:span 6;min-height:650px}
.editorial-grid .b{grid-column:span 6;min-height:300px}
.editorial-grid .c{grid-column:span 6;min-height:332px}
.editorial-grid .d{grid-column:span 4;min-height:430px}
.editorial-grid .e{grid-column:span 4;min-height:430px}
.editorial-grid .f{grid-column:span 4;min-height:430px}
.west-cta{
  display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;
  border-top:1px solid var(--line);padding:28px 0 0;margin-top:24px
}
.west-cta strong{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:28px;margin-bottom:4px}
.west-cta p{color:var(--muted);font-size:14px}

.legal{padding:80px 0 46px}
.legal-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;border-top:1px solid var(--line);padding-top:34px}
.legal p{color:var(--muted);margin-bottom:8px}
.legal a{border-bottom:1px solid var(--line)}
footer{
  border-top:1px solid var(--line);padding:20px 0 28px;display:flex;justify-content:space-between;gap:20px;
  color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.13em
}
@media(max-width:820px){
  .shell{width:min(100% - 24px,1180px)}
  .topbar{min-height:68px}.nav{gap:14px}
  .hero{padding-top:16px;padding-bottom:58px}.hero-media{min-height:470px;height:66vh}
  .hero-copy,.section-head,.two-col,.legal-grid,.west-cta{grid-template-columns:1fr;gap:26px}
  .section{padding:58px 0}.image-grid{grid-template-columns:1fr}
  .image-grid .big{min-height:520px}.stack{min-height:auto;grid-template-rows:none}.stack>figure{height:auto}.stack img{height:420px}
  .steps{grid-template-columns:1fr}
  .west-feature{min-height:680px}
  .west-overlay{width:100%;align-items:flex-end;padding:28px;background:linear-gradient(0deg,rgba(244,240,233,.96),rgba(244,240,233,.80),rgba(244,240,233,.05))}
  .editorial-grid{grid-template-columns:1fr}
  .editorial-grid .a,.editorial-grid .b,.editorial-grid .c,.editorial-grid .d,.editorial-grid .e,.editorial-grid .f{grid-column:auto;min-height:440px}
  footer{flex-direction:column}
}

/* Final refinements */
.home-hero img{object-position:center 36%;}

.about-trio{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:22px;
  align-items:stretch;
}
.about-trio .left{
  min-height:720px;
}
.about-trio .right{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:22px;
  min-height:720px;
}
.about-trio figure{overflow:hidden}
@media(max-width:820px){
  .about-trio{grid-template-columns:1fr}
  .about-trio .left{min-height:520px}
  .about-trio .right{min-height:auto}
  .about-trio .right figure{height:420px}
}

.west-intro{
  padding:82px 0 70px;
  border-top:1px solid var(--line);
}
.west-intro-card{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  background:var(--white);
  min-height:720px;
}
.west-intro-copy{
  padding:58px 56px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.west-intro-copy h1{
  font-size:clamp(50px,5.5vw,80px);
  margin-bottom:24px;
}
.west-intro-copy p{
  color:var(--muted);
  max-width:520px;
  margin-bottom:26px;
}
.west-intro-image{min-height:720px}
.west-divider{
  border-top:1px solid var(--line);
  padding:78px 0 38px;
}
.west-collage{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
  align-items:stretch;
}
.west-collage figure{overflow:hidden}
.west-collage .w1{grid-column:span 6;min-height:560px}
.west-collage .w2{grid-column:span 6;min-height:560px}
.west-collage .w3{grid-column:span 12;min-height:620px}
.west-collage .w4{grid-column:span 6;min-height:520px}
.west-collage .w5{grid-column:span 6;min-height:520px}
.west-collage .w6{grid-column:span 4;min-height:430px}
.west-collage .w7{grid-column:span 4;min-height:430px}
.west-collage .w8{grid-column:span 4;min-height:430px}
@media(max-width:820px){
  .west-intro-card{grid-template-columns:1fr;min-height:auto}
  .west-intro-copy{padding:34px 26px}
  .west-intro-image{min-height:520px}
  .west-collage{grid-template-columns:1fr}
  .west-collage .w1,.west-collage .w2,.west-collage .w3,.west-collage .w4,.west-collage .w5,.west-collage .w6,.west-collage .w7,.west-collage .w8{
    grid-column:auto;min-height:440px
  }
}

/* v4 refinements */
.home-hero img{
  object-position:center 72% !important;
}

/* Keep captions fully visible and separate from image crops */
.stack{
  grid-template-rows:minmax(0,1fr) minmax(0,1fr);
}
.stack figure{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.stack figure img{
  flex:1 1 auto;
  min-height:0;
  height:auto;
}
.stack .caption{
  flex:0 0 auto;
  margin-top:12px;
  padding:0 0 4px 0;
  position:relative;
  z-index:2;
  background:var(--paper);
}

/* About trio: vertical bath works best as the tall left image */
.about-trio{
  grid-template-columns:.9fr 1.1fr;
}
.about-trio .left img{
  object-position:center center;
}

/* Westwing gallery rhythm */
.west-collage .w1{grid-column:span 6;min-height:560px}
.west-collage .w2{grid-column:span 6;min-height:560px}
.west-collage .w3{grid-column:span 7;min-height:600px}
.west-collage .w4{grid-column:span 5;min-height:600px}
.west-collage .w5{grid-column:span 4;min-height:430px}
.west-collage .w6{grid-column:span 4;min-height:430px}
.west-collage .w7{grid-column:span 4;min-height:430px}

/* Final micro-adjustment: Home kitchen hero slightly lower */
.home-hero img{
  object-position:center 70.5% !important;
}

/* Final 2 mm micro-adjustment */
.home-hero img{
  object-position:center 69.5% !important;
}
