:root{
  --bg:#f7f2ee;
  --bg2:#fcf8f5;
  --paper:#fffaf7;
  --glass:rgba(255,250,247,.74);
  --glass-2:rgba(255,248,245,.90);
  --text:#241d1a;
  --muted:#7b7068;
  --line:rgba(201,170,149,.16);
  --ivory:#fbf7f2;
  --champagne:#e1ccb0;
  --champagne-deep:#c9af8c;
  --blush:#eeddd6;
  --rose-gold:#c9978f;
  --taupe:#b69785;
  --river:#7d5a66;
  --river-soft:#b79da4;
  --river-deep:#6f4e59;
  --river-mist:#d7c3c4;
  --mauve:#8a6672;
  --mauve-soft:#a88c96;
  --plum:#7d5a66;
  --plum-deep:#62454f;
  --shadow:0 22px 70px rgba(66,44,33,.10);
  --radius-xl:40px;
  --radius-lg:30px;
  --radius-md:22px;
  --max:1320px;
}

.sm-home{
  color:var(--text);
  background:
    radial-gradient(circle at 10% 0%, rgba(225,204,176,.22), transparent 24%),
    radial-gradient(circle at 100% 14%, rgba(151,167,170,.10), transparent 24%),
    linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);
}

.sm-home *{box-sizing:border-box}
.sm-home a{text-decoration:none;color:inherit}
.sm-home img{display:block;max-width:100%}

.sm-container{
  width:min(var(--max), calc(100% - 40px));
  margin:0 auto;
}

.sm-section{padding:96px 0}
.sm-section-sm{padding:64px 0}
.sm-center{text-align:center}
.sm-serif{font-family:Georgia,"Times New Roman",serif}

.sm-home h1,.sm-home h2,.sm-home h3{
  margin:0 0 16px;
  line-height:.98;
}
.sm-home h1{
  font-size:clamp(3.2rem,8vw,6.6rem);
  letter-spacing:-.05em;
  font-weight:600;
}
.sm-home h2{
  font-size:clamp(2.2rem,5vw,4.1rem);
  letter-spacing:-.04em;
  font-weight:600;
}
.sm-home h3{
  font-size:clamp(1.08rem,2vw,1.4rem);
}
.sm-home p{
  margin:0 0 16px;
  color:var(--muted);
}
.sm-lead{
  font-size:1.08rem;
  line-height:1.86;
  max-width:62ch;
}
.sm-display-copy{
  font-size:clamp(1.02rem,1.3vw,1.16rem);
  line-height:1.88;
  max-width:60ch;
}

.sm-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(201,170,149,.18);
  background:rgba(255,255,255,.54);
  backdrop-filter:blur(10px);
  color:#8b7162;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.sm-eyebrow::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--rose-gold),var(--champagne));
}

.sm-btns{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.sm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 22px;
  border-radius:999px;
  font-weight:700;
  border:1px solid transparent;
  transition:.25s ease;
}
.sm-btn-primary{
  background:#7d5a66;
  color:#fff;
  box-shadow:0 18px 42px rgba(125,90,102,.24);
}
.sm-btn-secondary{
  background:rgba(255,255,255,.72);
  border-color:rgba(125,90,102,.16);
  color:var(--text);
}
.sm-btn-ghost{
  background:transparent;
  padding:0;
  min-height:auto;
  color:var(--river-deep);
}

.sm-hero{
  padding:40px 0 78px;
  overflow:hidden;
}
.sm-hero-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:32px;
  align-items:center;
}
.sm-hero-copy{
  padding:32px 0 12px;
}
.sm-hero-title{
  max-width:10.8ch;
}
.sm-hero-title .accent{
  color:var(--river-deep);
}
.sm-hero-actions{
  margin-top:30px;
}
.sm-hero-note{
  margin-top:22px;
  font-size:.95rem;
  color:var(--muted);
}

.sm-hero-stage{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:18px;
  min-height:690px;
}
.sm-hero-main,
.sm-portrait{
  position:relative;
  overflow:hidden;
  border-radius:40px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.sm-hero-main{
  background:linear-gradient(145deg,#f8f0e7 0%, #ecdccf 24%, #ddc7b2 44%, #cfbab7 64%, #b79da4 84%, #7d5a66 100%);
  min-height:690px;
}
.sm-portrait{
  min-height:410px;
  background:linear-gradient(160deg,#faf3eb 0%, #f0e4da 22%, #dfcfc3 44%, #d6c0bc 66%, #c2a7ad 84%, #8f707b 100%);
}
.sm-hero-glow{
  position:absolute;
  inset:auto -50px -70px auto;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(225,204,176,.40), transparent 65%);
}
.sm-hero-caption{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  padding:22px;
  border-radius:28px;
  background:rgba(255,249,246,.82);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.42);
}
.sm-hero-caption h3{color:var(--text)}
.sm-hero-caption p{color:#5f5550;margin-bottom:0}
.sm-portrait-badge{
  position:absolute;
  left:18px;
  top:18px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,250,247,.82);
  backdrop-filter:blur(12px);
  font-weight:700;
  color:#8b7162;
}

@media (max-width:1100px){
  .sm-hero-grid,
  .sm-hero-stage{
    grid-template-columns:1fr;
  }
}
@media (max-width:820px){
  .sm-section{padding:76px 0}
  .sm-hero{
    padding:20px 0 42px;
  }
  .sm-container{
    width:min(var(--max), calc(100% - 24px));
  }
  .sm-home h1{
    font-size:clamp(2.4rem,11vw,3.3rem);
  }
  .sm-display-copy{
    font-size:1rem;
    line-height:1.78;
  }
  .sm-btns{
    flex-direction:column;
  }
  .sm-btn{
    width:100%;
  }
  .sm-hero-main,
  .sm-portrait{
    min-height:340px;
    border-radius:28px;
  }
  .sm-hero-caption{
    left:16px;
    right:16px;
    bottom:16px;
    padding:16px;
    border-radius:20px;
  }
}