/* =========================================================
   HOME PAGE — page-specific styles only.
   Shared layout (header, footer, cards, section patterns)
   lives in /assets/common.css
   ========================================================= */

/* ===== HERO ===== */
.hero{
  position:relative;background:var(--deep);color:var(--cream);
  overflow:hidden;
  padding:90px 0 70px;
}
.spine-deco{
  position:absolute;right:-40px;top:0;bottom:0;width:340px;opacity:.14;
  pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;position:relative;z-index:2;}
.hero h1{color:#fff;font-size:clamp(34px,4.4vw,54px);margin-bottom:20px;}
.hero h1 em{font-style:normal;color:var(--gold-light);}
.hero p.lead{font-size:17px;color:#D9E4DE;max-width:520px;margin-bottom:32px;}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:46px;}
.stat-row{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.15);padding-top:28px;flex-wrap:wrap;}
.stat{flex:1;min-width:110px;padding-right:20px;}
.stat .num{font-family:'Fraunces',serif;font-size:30px;color:var(--gold-light);font-weight:600;}
.stat .label{font-size:12.5px;color:#B9C9C2;text-transform:uppercase;letter-spacing:.06em;margin-top:4px;}
.hero-media{position:relative;}
.hero-media .frame{
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  border:6px solid rgba(255,255,255,.08);
}
.hero-media img{aspect-ratio:4/5;object-fit:cover;width:100%;}
.hero-badge{
  position:absolute;left:-24px;bottom:26px;background:var(--card);color:var(--ink);
  border-radius:12px;padding:16px 20px;box-shadow:var(--shadow);
  display:flex;align-items:center;gap:12px;max-width:230px;
  animation:floaty 4.5s ease-in-out infinite;
}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.hero-badge .icon{
  width:40px;height:40px;border-radius:50%;background:var(--sage);
  display:flex;align-items:center;justify-content:center;color:var(--deep);flex-shrink:0;
}
.hero-badge .t{font-size:13px;font-weight:600;color:var(--deep-dark);}
.hero-badge .s{font-size:11.5px;color:var(--ink-soft);}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-media{order:-1;max-width:420px;margin:0 auto;}
}
@media (max-width:760px){
  .hero{padding:50px 0 50px;}
  .hero-badge{position:static;margin-top:16px;max-width:100%;}
  .stat-row{gap:16px;}
  .stat{min-width:45%;}
}
