:root {
  --bg: #f4efe6;
  --bg-soft: #e8dccd;
  --card: rgba(255,255,255,.64);
  --card-strong: rgba(255,255,255,.82);
  --text: #211912;
  --muted: rgba(33,25,18,.66);
  --line: rgba(33,25,18,.14);
  --header: rgba(244,239,230,.88);
  --nav-panel: rgba(244,239,230,.98);
  --footer: #211912;
  --footer-text: #fff7ed;
  --dust-a: rgba(192,132,252,.14);
  --dust-b: rgba(251,146,60,.15);
  --button-text: #160f0a;
  --input: rgba(255,255,255,.72);
  --accent: #c084fc;
  --accent-2: #fb923c;
  --shadow: 0 26px 80px rgba(0,0,0,.34);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 12% 12%, var(--dust-a), transparent 28%),
    radial-gradient(circle at 88% 18%, var(--dust-b), transparent 30%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-soft) 48%, var(--bg) 100%);
  color: var(--text);
  font-family: Inter, Montserrat, Arial, sans-serif;
  line-height: 1.5;
}
img { display:block; max-width:100%; object-fit:cover; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.site-header {
  align-items:center;
  backdrop-filter: blur(18px);
  background: var(--header);
  border-bottom: 1px solid var(--line);
  display:flex;
  justify-content:space-between;
  min-height:72px;
  padding: 14px clamp(18px,5vw,72px);
  position: sticky;
  top:0;
  z-index:30;
}
.brand { font-size: clamp(1.05rem,2vw,1.55rem); font-weight:800; letter-spacing:-.02em; }
.site-nav { align-items:center; display:flex; gap: clamp(16px,3vw,34px); }
.site-nav a { color: var(--muted); font-weight:700; font-size:.92rem; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--text); }
.nav-toggle { display:none; background:transparent; border:1px solid var(--line); border-radius:999px; color:var(--text); padding:10px 16px; }
.hero {
  display:grid;
  grid-template-columns: minmax(0, .95fr) minmax(340px, .76fr);
  gap: clamp(28px,6vw,90px);
  align-items:center;
  min-height: calc(100vh - 72px);
  padding: clamp(58px,9vw,130px) clamp(18px,5vw,72px);
}
.kicker, .section-kicker {
  color: var(--accent-2);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.16em;
  margin:0 0 14px;
  text-transform:uppercase;
}
h1, h2, h3, p { margin-top:0; }
h1, h2, h3 { letter-spacing:-.03em; overflow-wrap:break-word; }
h1 { font-size: clamp(3rem,7.8vw,7.2rem); line-height:.9; margin-bottom:22px; }
h2 { font-size: clamp(2.1rem,5vw,5rem); line-height:.96; margin-bottom:18px; }
h3 { font-size: clamp(1.35rem,2.5vw,2.2rem); line-height:1; margin-bottom:10px; }
p { color: var(--muted); }
.hero-copy p:not(.kicker), .section-head p { font-size: clamp(1rem,1.45vw,1.18rem); max-width:720px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero-actions--wide { justify-content:center; }
.hero-actions--barber { align-items:stretch; max-width:520px; }
.hero-actions--barber .button { min-width:180px; }
.hero-actions--single { align-items:center; gap:18px; }
.hero-actions--garage { background:var(--card); border:1px solid var(--line); border-radius:22px; display:inline-flex; padding:10px; }
.hero-actions--clinic { gap:10px; }
.hero-actions--builder { align-items:center; border-left:4px solid var(--accent); padding-left:18px; }
.button {
  align-items:center;
  background: var(--accent);
  border:1px solid var(--accent);
  border-radius:999px;
  color:var(--button-text);
  display:inline-flex;
  font-weight:900;
  justify-content:center;
  min-height:50px;
  padding:13px 22px;
}
.button.secondary { background:transparent; color:var(--text); border-color:var(--line); }
.button--large { min-height:58px; padding:16px 30px; font-size:1.02rem; }
.button--small { min-height:42px; padding:10px 16px; font-size:.88rem; }
.button--ghost { background:var(--card); border-color:var(--line); color:var(--text); }
.button--text { background:transparent; border-color:transparent; color:var(--text); padding-inline:0; }
.hero-card {
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow: var(--shadow);
  min-height:540px;
  overflow:hidden;
  position:relative;
}
.hero-card img { height:100%; min-height:540px; width:100%; }
.hero-card::after {
  background: linear-gradient(180deg, transparent 42%, rgba(0,0,0,.82));
  content:"";
  inset:0;
  position:absolute;
}
.floating-note {
  background: rgba(5,6,9,.72);
  border:1px solid var(--line);
  border-radius:18px;
  color:#ffffff;
  bottom:20px;
  left:20px;
  padding:18px;
  position:absolute;
  right:20px;
  z-index:1;
}
.floating-note strong { display:block; font-size:1.3rem; line-height:1.05; }
.floating-note p { color:rgba(255,255,255,.7); }
.hero--center {
  grid-template-columns:1fr;
  min-height:auto;
  text-align:center;
}
.hero--center .hero-copy { margin-inline:auto; max-width:900px; }
.hero--center .hero-copy p:not(.kicker) { margin-inline:auto; }
.hero--center .hero-card { min-height:430px; margin-inline:auto; max-width:980px; width:100%; }
.hero--center .hero-card img { min-height:430px; }
.hero--reverse { grid-template-columns:minmax(340px,.75fr) minmax(0,.95fr); }
.hero--reverse .hero-copy { order:2; }
.hero--reverse .hero-card { order:1; transform:rotate(-1deg); }
.hero--realestate {
  grid-template-columns:minmax(0,.82fr) minmax(420px,1fr);
  align-items:end;
}
.hero--realestate h1 { font-size:clamp(2.8rem,5.6vw,5.8rem); }
.hero--realestate .hero-card { border-radius:0 40px 40px 0; min-height:620px; }
.hero--realestate .hero-card img { min-height:620px; }
.hero--garage {
  grid-template-columns:minmax(0,.72fr) minmax(460px,1fr);
  border-bottom:1px solid var(--line);
}
.hero--garage .hero-card { border-radius:42px 12px 42px 12px; }
.hero--clinic {
  grid-template-columns:minmax(0,1fr) minmax(320px,.58fr);
  min-height:auto;
  padding-top:clamp(48px,7vw,96px);
}
.hero--clinic .hero-card { min-height:420px; border-radius:34px; }
.hero--clinic .hero-card img { min-height:420px; }
.hero--builder {
  grid-template-columns:minmax(0,.9fr) minmax(380px,.9fr);
  align-items:start;
}
.hero--builder h1 { font-size:clamp(2.8rem,5.6vw,5.8rem); }
.hero--builder .hero-card { margin-top:52px; border-radius:8px; }
.stats {
  border-block:1px solid var(--line);
  display:grid;
  grid-template-columns: repeat(4,1fr);
}
.stats article { padding: clamp(22px,4vw,42px) clamp(18px,4vw,50px); }
.stats article + article { border-left:1px solid var(--line); }
.stats strong { color:var(--accent); display:block; font-size:clamp(1.8rem,4vw,3.6rem); line-height:1; }
.stats span { color:var(--muted); font-weight:700; }
.stats--pills {
  border:0;
  gap:12px;
  padding:0 clamp(18px,5vw,72px) clamp(38px,6vw,70px);
}
.stats--pills article {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:999px;
}
.stats--pills article + article { border-left:1px solid var(--line); }
.stats--strip article { background:var(--card); }
.stats--quiet { border-block:0; padding-inline:clamp(18px,5vw,72px); gap:16px; }
.stats--quiet article { border:1px solid var(--line); border-radius:18px; background:var(--card); }
.stats--quiet article + article { border-left:1px solid var(--line); }
.stats--garage { transform:skewY(-1deg); background:var(--card); }
.stats--garage article { transform:skewY(1deg); }
.stats--cards {
  border:0;
  gap:18px;
  padding:0 clamp(18px,5vw,72px) clamp(34px,5vw,60px);
}
.stats--cards article { border:1px solid var(--line); border-radius:22px; background:var(--card-strong); }
.stats--cards article + article { border-left:1px solid var(--line); }
.stats--timeline {
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-block:0;
  padding:0 clamp(18px,5vw,72px) 36px;
}
.stats--timeline article { border-top:3px solid var(--accent); }
.section { padding: clamp(58px,9vw,120px) clamp(18px,5vw,72px); }
.section-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.55fr); gap:24px; align-items:end; margin-bottom:32px; }
.cards { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:18px; }
.cards--menu { grid-template-columns:1.15fr .85fr; align-items:stretch; }
.cards--menu .card:first-child { grid-row:span 2; min-height:478px; }
.cards--offset .card:nth-child(even) { transform:translateY(34px); }
.cards--property { grid-template-columns:repeat(4,minmax(0,1fr)); }
.cards--property .card { min-height:270px; }
.cards--compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cards--compact .card { min-height:150px; }
.cards--soft { grid-template-columns:1fr 1fr; max-width:980px; margin-inline:auto; }
.cards--builder { grid-template-columns:1.25fr 1fr 1fr; }
.cards--builder .card:first-child { grid-row:span 2; min-height:500px; }
.card {
  background: var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  min-height:230px;
  padding:24px;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.card:hover { transform:translateY(-4px); border-color: color-mix(in srgb, var(--accent) 58%, white 0%); background:var(--card-strong); }
.card span { color:var(--accent-2); display:block; font-size:.78rem; font-weight:900; letter-spacing:.12em; margin-bottom:18px; text-transform:uppercase; }
.split {
  align-items:center;
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(320px,1fr);
  gap:clamp(28px,6vw,80px);
}
.image-panel { border:1px solid var(--line); border-radius:22px; box-shadow:var(--shadow); overflow:hidden; }
.image-panel img { aspect-ratio: 16/11; width:100%; }
.list { display:grid; gap:12px; margin:24px 0 0; padding:0; }
.list li { background:var(--card); border:1px solid var(--line); border-radius:14px; color:var(--muted); list-style:none; padding:14px 16px; }
.catalog-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:18px; }
.catalog-grid--menu { grid-template-columns:1.1fr 1fr 1fr; }
.catalog-grid--menu .price-card:first-child { grid-column:span 2; }
.catalog-grid--side { grid-template-columns:280px 1fr; }
.catalog-grid--side .price-card:nth-child(2) { grid-row:span 2; }
.catalog-grid--property { grid-template-columns:repeat(4,minmax(0,1fr)); }
.catalog-grid--compact { grid-template-columns:1fr; max-width:860px; }
.catalog-grid--compact .price-card { display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; }
.catalog-grid--soft { max-width:980px; margin-inline:auto; }
.catalog-grid--builder { grid-template-columns:1fr 1fr; }
.catalog-grid--builder .price-card:first-child { grid-column:span 2; }
.price-card { background:var(--card); border:1px solid var(--line); border-radius:20px; padding:24px; }
.price-card strong { color:var(--accent); display:block; font-size:1.7rem; margin:8px 0 12px; }
.contact-grid { align-items:start; display:grid; grid-template-columns:minmax(0,.75fr) minmax(320px,1fr); gap:clamp(24px,5vw,70px); }
.contact-grid--stacked { grid-template-columns:1fr; max-width:980px; margin-inline:auto; }
.contact-grid--split-card { grid-template-columns:minmax(0,1fr) minmax(300px,.62fr); }
.contact-grid--clinic { grid-template-columns:minmax(320px,.55fr) minmax(0,1fr); }
.contact-grid--builder { grid-template-columns:minmax(0,.65fr) minmax(360px,1fr); align-items:center; }
.contact-card, .form-card { background:var(--card); border:1px solid var(--line); border-radius:22px; padding:clamp(22px,4vw,34px); }
.contact-row { border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:16px; padding:16px 0; }
.contact-row:first-child { padding-top:0; }
.contact-row:last-child { border-bottom:0; padding-bottom:0; }
.form-card label { color:var(--text); display:grid; gap:8px; font-weight:700; margin-bottom:14px; }
.form-card input, .form-card textarea {
  background:var(--input);
  border:1px solid var(--line);
  border-radius:14px;
  color:var(--text);
  min-height:50px;
  padding:13px 14px;
}
.form-card textarea { min-height:130px; resize:vertical; }
.footer {
  align-items:center;
  background:var(--footer);
  border-top:1px solid var(--line);
  color:var(--footer-text);
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:28px clamp(18px,5vw,72px);
}
.footer p { color:color-mix(in srgb, var(--footer-text) 76%, transparent); margin:0; }
.footer a { color:var(--footer-text); border-bottom:1px solid currentColor; font-weight:800; }
@media (max-width: 920px) {
  .nav-toggle { display:inline-flex; }
  .site-nav { background:var(--nav-panel); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); display:none; flex-direction:column; min-width:220px; padding:16px; position:absolute; right:18px; top:calc(100% + 10px); }
  .site-nav.is-open { display:flex; }
  .hero, .split, .section-head, .contact-grid { grid-template-columns:1fr; }
  .hero-card, .hero-card img { min-height:380px; }
  .stats, .cards, .catalog-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px) {
  h1 { font-size: clamp(2.55rem,15vw,4rem); }
  .hero, .section { padding-left:16px; padding-right:16px; }
  .hero-card, .hero-card img { min-height:310px; }
  .stats, .cards, .catalog-grid { grid-template-columns:1fr; }
  .stats article + article { border-left:0; border-top:1px solid var(--line); }
  .contact-row, .footer { align-items:flex-start; flex-direction:column; }
}