:root{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:#151515;
  background:#f5f3ee;
  font-synthesis:none;
}
*{box-sizing:border-box}
body{margin:0;background:#f5f3ee;color:#151515}
a{text-decoration:none;color:inherit}
button{font:inherit}
.site-shell{min-height:100vh;display:flex;flex-direction:column}
.site-header{position:sticky;top:0;z-index:10;background:rgba(245,243,238,.94);backdrop-filter:blur(14px);border-bottom:1px solid #dedbd2}
.header-inner{max-width:1180px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-size:19px;font-weight:800;letter-spacing:-.03em}
.nav{display:flex;gap:22px;align-items:center}
.nav button{border:0;background:transparent;color:#67645d;padding:8px 0;cursor:pointer}
.nav button.active{color:#111;font-weight:700}
main{flex:1}
.hero{max-width:1180px;margin:0 auto;padding:110px 24px 82px;display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:end}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#7e7a70;font-weight:700;margin-bottom:18px}
.hero h1{font-size:clamp(54px,8vw,108px);line-height:.9;letter-spacing:-.06em;margin:0 0 28px;max-width:900px}
.hero p{font-size:20px;line-height:1.6;color:#5f5c55;max-width:680px;margin:0}
.hero-aside{border-left:1px solid #d8d4ca;padding-left:26px;color:#666259;line-height:1.7}
.cta{display:inline-flex;margin-top:28px;background:#171717;color:#fff;padding:14px 20px;border-radius:10px;font-weight:700}
.section{border-top:1px solid #ddd9cf}
.section-inner{max-width:1180px;margin:0 auto;padding:72px 24px}
.section h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.04em;margin:0 0 18px}
.section p{font-size:18px;line-height:1.7;color:#615d55;max-width:760px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.card{background:#fff;border:1px solid #dfdcd4;border-radius:18px;padding:24px;min-height:220px;display:flex;flex-direction:column}
.card h3{font-size:24px;letter-spacing:-.03em;margin:0 0 12px}
.card p{font-size:15px;line-height:1.6;color:#69655e;margin:0}
.card .price{margin-top:auto;padding-top:20px;font-weight:800}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.contact-box{background:#fff;border:1px solid #dfdcd4;border-radius:16px;padding:22px}
.contact-box span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#8a867e;margin-bottom:8px}
.contact-box strong{font-size:20px}
.site-footer{background:#151515;color:#fff;margin-top:40px}
.footer-inner{max-width:1180px;margin:0 auto;padding:42px 24px;display:flex;justify-content:space-between;gap:28px;align-items:flex-end}
.footer-inner small,.footer-inner p{color:#bbb7ad;margin:5px 0 0}
.version-pill{font-size:12px;border:1px solid #393939;border-radius:999px;padding:8px 11px;color:#c9c5bc}
.loading-shell,.error-shell{min-height:100vh;display:grid;place-items:center;text-align:center;padding:24px}
.loading-mark{width:48px;height:48px;border-radius:14px;background:#171717;color:#fff;display:grid;place-items:center;font-weight:800;margin:0 auto 14px}
.error-shell div{max-width:560px;background:#fff;border:1px solid #ddd8ce;border-radius:18px;padding:28px}
.error-shell h1{margin-top:0}
@media(max-width:820px){
  .header-inner{align-items:flex-start;flex-direction:column}
  .nav{gap:16px;overflow:auto;width:100%}
  .hero{grid-template-columns:1fr;padding-top:72px}
  .hero-aside{border-left:0;border-top:1px solid #d8d4ca;padding-left:0;padding-top:22px}
  .cards,.contact-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
}
