:root { --forest:#123c32; --forest-dark:#0c3027; --forest-pale:#e8f1ec; --ink:#16221e; --muted:#68736e; --line:#dbe5df; --paper:#fff; --canvas:#f5f7f5; --warm:#fcf6e9; }
* { box-sizing:border-box; }
html,body { max-width:100%; overflow-x:hidden; }
body { margin:0; background:var(--canvas); color:var(--ink); font-family:Manrope,Inter,Arial,sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; }
button,input { font:inherit; } button { cursor:pointer; -webkit-tap-highlight-color:transparent; } button:focus-visible,input:focus-visible { outline:3px solid rgba(18,60,50,.28); outline-offset:3px; }
.app-shell { min-height:100svh; }.welcome { min-height:100svh; display:flex; flex-direction:column; padding:24px 20px 20px; max-width:720px; margin:auto; }.brand { color:var(--forest); font-size:1.18rem; font-weight:800; letter-spacing:-.05em; display:flex; gap:9px; align-items:center; }.brand-mark { width:26px; height:26px; background:var(--forest); border-radius:9px 9px 3px 9px; display:inline-block; transform:rotate(-12deg); }.welcome-copy { margin:clamp(40px,9svh,90px) 0 24px; }.eyebrow,.step-title { color:var(--forest); font-size:.71rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; margin:0 0 13px; }
.landing { max-width:1120px; margin:auto; padding:20px; }.landing-head { display:flex; justify-content:space-between; align-items:center; }.landing-hero { display:grid; gap:28px; padding:60px 0 35px; }.hero-strong { color:var(--forest); font-size:1.18rem; font-weight:800; margin:0 0 12px; }.landing-note { color:var(--muted); font-size:.75rem; margin-top:13px; }.landing-visual { position:relative; min-height:290px; overflow:hidden; border-radius:25px; }.landing-visual img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }.example-card { position:relative; z-index:1; max-width:270px; margin:20px; padding:18px; border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 14px 35px rgba(18,60,50,.18); display:grid; gap:7px; }.example-card p,.example-card span,.example-card small { margin:0; color:var(--muted); font-size:.72rem; }.example-card b { color:var(--forest); font-size:1.1rem; }.proof,.landing-grid,.items-grid { display:grid; gap:12px; }.proof { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px 0 36px; color:var(--forest); font-size:.74rem; font-weight:800; }.landing-section { padding:45px 0; }.landing-section h2,.landing-final h2 { font-size:clamp(1.65rem,6vw,2.4rem); letter-spacing:-.06em; margin:0 0 20px; }.landing-grid article,.items-grid span { padding:18px; border:1px solid var(--line); border-radius:17px; background:#fff; }.landing-grid article b { color:var(--forest); }.landing-grid h3 { margin:10px 0 6px; font-size:1rem; }.landing-grid p,.landing-section>p { color:var(--muted); font-size:.86rem; line-height:1.6; }.landing-grid+.primary,.landing-section .primary,.landing-section .secondary { margin-top:20px; }.items-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.items-grid span { color:var(--forest); font-size:.78rem; font-weight:800; }.editorial { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.faq details { padding:16px 0; border-bottom:1px solid var(--line); }.faq summary { color:var(--ink); font-size:.88rem; font-weight:800; cursor:pointer; }.faq p { color:var(--muted); font-size:.82rem; line-height:1.55; }.landing-final { margin:20px -20px 0; padding:48px 20px; text-align:center; background:var(--forest); color:#fff; }.landing-final h2,.landing-final p { color:#fff; }.landing-final .primary { background:#fff; color:var(--forest); max-width:430px; }.landing-final p { font-size:.86rem; }
.language-switch { display:flex; gap:2px; padding:3px; border:1px solid var(--line); border-radius:10px; background:#fff; }.welcome>.language-switch { position:absolute; top:20px; right:20px; }.language-switch button { min-width:29px; min-height:28px; padding:0 5px; border:0; border-radius:7px; background:transparent; color:var(--muted); font-size:.67rem; font-weight:800; }.language-switch button.active { background:var(--forest); color:#fff; }
h1 { font-size:clamp(2.35rem,10vw,3.8rem); font-weight:800; letter-spacing:-.07em; line-height:1.06; margin:0 0 17px; max-width:520px; }.lead { color:var(--muted); font-size:1rem; font-weight:500; line-height:1.6; margin:0; max-width:385px; }.hero-art { height:clamp(215px,32svh,290px); margin:0 -20px; overflow:hidden; position:relative; border-radius:30px 30px 0 0; background:var(--forest); }.hero-art img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 58%; }.hero-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(9,38,29,.06),rgba(9,38,29,.24)); }.welcome-footer { margin-top:0; }.trust { text-align:center; color:var(--muted); font-size:.78rem; font-weight:600; margin:14px 0 0; }
.primary,.secondary { min-height:56px; border-radius:16px; font-size:.95rem; font-weight:800; border:0; transition:background .15s,transform .15s,border-color .15s; }.primary { width:100%; color:#fff; background:var(--forest); box-shadow:0 9px 22px rgba(18,60,50,.18); }.primary:hover { background:var(--forest-dark); }.primary:active,.secondary:active,.choice:active { transform:scale(.985); }.secondary { color:var(--forest); background:#fff; border:1px solid var(--line); padding:0 18px; }
.flow { max-width:700px; min-height:100svh; margin:0 auto; background:var(--paper); padding:20px 20px 132px; }.flow-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:17px; }.back-link { min-height:40px; padding:7px 0; border:0; background:transparent; color:var(--forest); font-size:.84rem; font-weight:800; }.step-label { color:var(--muted); font-size:.78rem; font-weight:700; }.progress { height:6px; background:#e7eee9; border-radius:999px; overflow:hidden; margin-bottom:29px; }.progress>span { height:100%; display:block; background:var(--forest); border-radius:inherit; transition:width .3s ease; }.question h2 { font-size:clamp(1.7rem,7.4vw,2.25rem); font-weight:800; letter-spacing:-.06em; line-height:1.14; margin:0 0 10px; max-width:570px; }.question>p:not(.step-title) { color:var(--muted); font-size:.93rem; font-weight:500; line-height:1.55; margin:0 0 25px; }
.options { display:grid; gap:11px; }.choice { min-height:78px; width:100%; border:1.5px solid var(--line); background:#fff; border-radius:18px; display:flex; align-items:center; padding:14px 16px; text-align:left; color:var(--ink); font-size:.92rem; font-weight:700; gap:13px; transition:.15s; overflow:hidden; }.choice:hover,.choice.selected { border-color:var(--forest); background:var(--forest-pale); }.choice-label { min-width:0; overflow-wrap:anywhere; }.choice-icon { width:39px; height:39px; border-radius:12px; background:#f0f4f1; display:grid; place-items:center; font-size:1.15rem; flex:0 0 auto; }.choice.selected .choice-icon { background:#fff; color:var(--forest); }.radio,.check-box { margin-left:auto; height:22px; width:22px; flex:0 0 auto; border:1.5px solid #adbbb3; display:grid; place-items:center; }.radio { border-radius:50%; }.check-box { border-radius:7px; color:#fff; font-size:.77rem; font-weight:800; }.selected .radio { border:6px solid var(--forest); }.selected .check-box { background:var(--forest); border-color:var(--forest); }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.field { display:grid; gap:8px; font-size:.8rem; font-weight:800; color:#34433d; }.field input { width:100%; min-width:0; min-height:54px; border:1.5px solid var(--line); border-radius:14px; padding:12px; color:var(--ink); font-size:1rem; font-weight:700; outline-color:var(--forest); }.help-box { padding:16px; border-radius:16px; background:var(--warm); color:#725b28; font-size:.85rem; font-weight:500; line-height:1.5; }
.three-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }.group-label { margin:24px 0 10px!important; color:var(--ink)!important; font-size:.8rem!important; font-weight:800!important; }.group-label:first-child { margin-top:0!important; }.group-help { margin:-3px 0 12px!important; font-size:.78rem!important; }.central-estimate { display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:4px 12px; border:1px solid var(--line); border-radius:18px; padding:16px; margin:0 0 14px; }.central-estimate span { color:var(--muted); font-size:.8rem; font-weight:700; }.central-estimate strong { color:var(--forest); font-size:1.35rem; letter-spacing:-.05em; }.central-estimate small { grid-column:2; color:var(--muted); font-size:.68rem; text-align:right; }.detail-note { padding:13px 15px; border-radius:14px; background:var(--forest-pale); color:var(--forest); font-size:.75rem; font-weight:700; line-height:1.45; }.vat-box { display:grid; gap:10px; margin-top:10px; padding:17px; border:1px solid var(--line); border-radius:18px; }.vat-box p { margin:0; font-size:.85rem; font-weight:800; }.vat-box strong { color:var(--forest); font-size:.82rem; }.vat-box small { color:var(--muted); font-size:.71rem; line-height:1.45; }.vat-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.vat-options button { min-height:42px; min-width:0; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font-size:.72rem; font-weight:800; }.vat-options button.selected { background:var(--forest-pale); border-color:var(--forest); color:var(--forest); }
.sticky-nav { position:fixed; z-index:5; bottom:0; left:0; right:0; display:flex; gap:10px; padding:12px 20px max(16px,env(safe-area-inset-bottom)); background:rgba(255,255,255,.95); backdrop-filter:blur(12px); border-top:1px solid var(--line); }.sticky-nav .secondary { flex:0 0 auto; }.estimate-pill { position:fixed; z-index:4; bottom:88px; left:50%; transform:translateX(-50%); max-width:calc(100vw - 40px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; background:#fff; border:1px solid var(--line); box-shadow:0 8px 25px rgba(21,42,34,.11); border-radius:999px; padding:9px 14px; color:var(--muted); font-size:.76rem; font-weight:600; }.estimate-pill strong { color:var(--forest); margin-left:4px; font-weight:800; }
.photo-panel { min-width:0; }.photo-input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.upload { width:100%; min-height:136px; border:1.5px dashed #9cb5a8; background:#f6faf7; border-radius:20px; padding:22px 18px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:var(--forest); font-size:.96rem; font-weight:800; text-align:center; }.upload-icon { width:35px; height:35px; display:grid; place-items:center; border-radius:11px; background:var(--forest); color:#fff; font-size:1.4rem; line-height:1; }.upload small { color:var(--muted); font-size:.74rem; font-weight:600; }.photo-notice { margin:12px 0 0; color:var(--forest); font-size:.79rem; font-weight:700; line-height:1.45; }.photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:15px; }.photo-card { position:relative; aspect-ratio:1; border-radius:13px; overflow:hidden; background:#e8eee9; }.photo-card img { width:100%; height:100%; object-fit:cover; display:block; }.remove-photo { position:absolute; top:6px; right:6px; width:30px; height:30px; border:0; border-radius:50%; background:rgba(22,34,30,.86); color:#fff; display:grid; place-items:center; font-size:1.35rem; line-height:1; }.text-button { border:0; background:transparent; color:var(--forest); min-height:48px; padding:11px 4px; margin-top:12px; font-size:.82rem; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.result { padding-top:2px; }.result-card { background:var(--forest); color:#fff; border-radius:24px; padding:25px; margin:24px 0 17px; box-shadow:0 13px 27px rgba(18,60,50,.16); }.result-card p { margin:0 0 7px; color:#d8e8df; font-size:.82rem; font-weight:600; }.price { font-size:clamp(2.25rem,10vw,3.25rem); font-weight:800; letter-spacing:-.07em; line-height:1.12; }.result-card .range { margin-top:15px!important; margin-bottom:0!important; font-size:.78rem; }.breakdown { border:1px solid var(--line); border-radius:18px; padding:3px 16px; }.breakdown div { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; padding:15px 0; border-bottom:1px solid var(--line); font-size:.82rem; color:var(--muted); }.breakdown strong { color:var(--ink); white-space:nowrap; font-size:.86rem; }.breakdown div:last-child { border:0; font-weight:800; color:var(--forest); }.breakdown div:last-child strong { color:var(--forest); }.summary { font-size:.81rem; color:var(--muted); line-height:1.55; margin:19px 0; }
.conversion-card { margin:25px 0 20px; padding:20px; border:1px solid var(--line); border-radius:22px; background:#f8faf8; }.conversion-card h3 { margin:0 0 7px; color:var(--forest); font-size:1.1rem; letter-spacing:-.04em; }.conversion-card>p { margin:0 0 18px; color:var(--muted); font-size:.82rem; line-height:1.5; }.lead-grid { display:grid; grid-template-columns:1fr; gap:12px; }.lead-field { display:grid; gap:7px; color:#34433d; font-size:.78rem; font-weight:800; }.lead-field input { width:100%; min-height:52px; padding:12px; border:1.5px solid var(--line); border-radius:13px; background:#fff; color:var(--ink); }.field-error { color:#a23d36; font-size:.72rem; font-weight:700; line-height:1.35; }.consent { display:flex; align-items:flex-start; gap:9px; margin:17px 0 6px; color:var(--ink); font-size:.78rem; font-weight:700; line-height:1.45; }.consent input { width:20px; height:20px; flex:0 0 auto; accent-color:var(--forest); }.privacy-note { display:block; margin:11px 0 17px; color:var(--muted); font-size:.7rem; line-height:1.45; }.simulation-id { font-size:1.15rem; font-weight:800; letter-spacing:.05em; }.confirmation h2 { margin-top:0; }.confirmation-actions { display:grid; gap:10px; margin-top:20px; }.confirmation-actions .secondary { width:100%; }.confirmation-actions .primary { margin-top:2px; }
.honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }.send-error { margin:10px 0 0; color:#a23d36; font-size:.78rem; font-weight:700; line-height:1.45; }.conversion-card .primary:disabled { opacity:.65; cursor:wait; }
@media (min-width:680px) { .welcome { padding:32px 34px 26px; }.hero-art { margin:0 -34px; border-radius:34px 34px 0 0; }.flow { box-shadow:0 0 60px rgba(31,55,43,.06); }.sticky-nav { max-width:700px; left:50%; transform:translateX(-50%); } }
@media (min-width:760px) { .landing { padding:28px 34px; }.landing-hero { grid-template-columns:1.05fr .95fr; align-items:center; min-height:560px; }.proof { grid-template-columns:repeat(4,minmax(0,1fr)); }.landing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.items-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.landing-final { margin-left:-34px; margin-right:-34px; padding:70px 34px; } }
@media (min-width:520px) { .lead-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:360px) { .welcome,.flow { padding-left:16px; padding-right:16px; }.hero-art { margin-left:-16px; margin-right:-16px; }.sticky-nav { padding-left:16px; padding-right:16px; }.back-link span { display:none; }.choice { padding-left:13px; padding-right:13px; } }

/* Landing: composition inspired by the estimator reference, without affecting the simulator flow. */
.landing {
  max-width:1180px;
  padding-top:14px;
}
.landing-head {
  position:relative;
  z-index:3;
  padding:4px 2px 12px;
}
.landing-head .brand {
  font-size:1.05rem;
}
.landing-head .brand-mark {
  width:22px;
  height:22px;
  border-radius:7px 7px 3px 7px;
}
.landing-hero {
  position:relative;
  display:block;
  min-height:590px;
  margin:0 -20px;
  padding:34px 20px 26px;
  overflow:hidden;
  border-radius:0 0 28px 28px;
  isolation:isolate;
  background:#edf2ee;
}
.landing-hero::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 44%,rgba(255,255,255,.28) 72%,rgba(255,255,255,.1) 100%);
}
.landing-hero > div:first-child {
  position:relative;
  z-index:2;
  max-width:410px;
}
.landing-hero .eyebrow {
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:12px;
  padding:6px 9px;
  border:1px solid #c9d8cf;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:var(--ink);
  font-size:.6rem;
  letter-spacing:.055em;
}
.landing-hero h1 {
  max-width:400px;
  margin-bottom:8px;
  font-size:clamp(2.25rem,9vw,4.25rem);
  line-height:.97;
}
.landing-hero .hero-strong {
  display:inline;
  padding:0 .07em;
  color:#0d3328;
  font-size:clamp(1.28rem,5.4vw,2.15rem);
  line-height:1.12;
  background:linear-gradient(transparent 55%,#b9ee62 55%);
}
.landing-hero .lead {
  margin-top:17px;
  max-width:350px;
  color:#3e4c46;
  font-size:.89rem;
  line-height:1.48;
}
.landing-hero .primary {
  width:auto;
  min-width:min(100%,278px);
  min-height:48px;
  margin-top:19px;
  padding:0 21px;
  border-radius:12px;
  font-size:.8rem;
}
.landing-hero .trust {
  max-width:278px;
  margin-top:10px;
  color:#405148;
  font-size:.62rem;
  text-align:center;
}
.landing-note {
  max-width:275px;
  font-size:.65rem;
  line-height:1.4;
}
.landing-visual {
  position:absolute;
  z-index:-2;
  inset:0;
  min-height:0;
  overflow:visible;
  border-radius:0;
}
.landing-visual img {
  object-position:63% center;
  filter:saturate(.9) brightness(1.04);
}
.example-card {
  position:absolute;
  z-index:3;
  right:12px;
  bottom:19px;
  width:min(52vw,290px);
  max-width:none;
  margin:0;
  padding:15px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:16px;
  background:rgba(255,255,255,.93);
  box-shadow:0 16px 38px rgba(18,60,50,.22);
  backdrop-filter:blur(8px);
}
.example-card p {
  color:var(--forest);
  font-weight:800;
}
.example-card strong {
  font-size:.78rem;
}
.example-card span,.example-card small {
  font-size:.61rem;
  line-height:1.3;
}
.example-card b {
  margin:2px 0;
  padding:9px;
  border-radius:9px;
  background:#e5f3d3;
  color:#174533;
  font-size:.87rem;
}
.proof {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin:18px 0 8px;
  padding:0;
  overflow:hidden;
  border:1px solid #dfe9e2;
  border-radius:13px;
  background:#dfe9e2;
}
.proof span {
  min-height:48px;
  display:flex;
  align-items:center;
  padding:9px 10px;
  background:#f3f8f4;
  color:#244b3b;
  font-size:.62rem;
  line-height:1.28;
}
.landing-section {
  padding:42px 0;
}
.landing-section h2,.landing-final h2 {
  max-width:700px;
  margin-right:auto;
  margin-left:auto;
  font-size:clamp(1.55rem,6.5vw,2.5rem);
  line-height:1.05;
  text-align:center;
}
.landing-grid {
  gap:10px;
}
.landing-grid article {
  min-height:150px;
  padding:17px;
  border-color:#e4ebe6;
  border-radius:14px;
  box-shadow:0 7px 18px rgba(25,59,43,.045);
}
.landing-grid article b {
  display:grid;
  width:23px;
  height:23px;
  place-items:center;
  border-radius:50%;
  background:#c7f26d;
  color:#164534;
  font-size:.7rem;
}
.landing-grid h3 {
  margin-top:13px;
}
.items-grid span {
  border-radius:12px;
  background:#fbfdfb;
}
.editorial {
  margin-right:-20px;
  margin-left:-20px;
  padding-right:20px;
  padding-left:20px;
  background:#f0f6f2;
  border:0;
}
.landing-final {
  border-radius:26px 26px 0 0;
}
@media (min-width:760px) {
  .landing { padding-right:34px; padding-left:34px; }
  .landing-hero {
    min-height:570px;
    margin-right:-34px;
    margin-left:-34px;
    padding:78px 68px;
    border-radius:0 0 38px 38px;
  }
  .landing-hero::before {
    background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 43%,rgba(255,255,255,.3) 66%,rgba(255,255,255,.08) 100%);
  }
  .landing-hero .lead { font-size:.96rem; }
  .example-card {
    right:8%;
    bottom:48px;
    width:295px;
    padding:20px;
    border-radius:20px;
  }
  .example-card b { font-size:1.05rem; }
  .proof {
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:22px 0 16px;
  }
  .proof span {
    min-height:61px;
    padding:12px 14px;
    font-size:.68rem;
  }
  .landing-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .editorial {
    margin-right:-34px;
    margin-left:-34px;
    padding-right:34px;
    padding-left:34px;
  }
}

/* Compact result-led hero */
.landing-hero {
  min-height:0;
  padding:28px 20px 0;
  overflow:visible;
  background:#fffdf9;
}
.landing-hero::before {
  background:linear-gradient(180deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.89) 46%,rgba(255,253,249,.28) 100%);
}
.landing-hero h1 {
  max-width:510px;
  font-size:clamp(38px,10.2vw,44px);
  line-height:1.01;
}
.landing-hero h1 span {
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:0 .08em;
  background:linear-gradient(transparent 57%,#b9ee62 57%);
}
.landing-hero .hero-strong {
  display:none;
}
.landing-hero .lead {
  margin-top:16px;
}
.hero-benefits,.estimate-notes {
  list-style:none;
  margin:15px 0 0;
  padding:0;
}
.hero-benefits {
  display:grid;
  gap:7px;
  max-width:350px;
}
.hero-benefits li,.estimate-notes li {
  display:flex;
  align-items:flex-start;
  gap:7px;
  color:#26483b;
  font-size:.72rem;
  font-weight:700;
  line-height:1.35;
}
.hero-benefits li::before,.estimate-notes li::before {
  content:"✓";
  display:grid;
  width:16px;
  height:16px;
  flex:0 0 16px;
  place-items:center;
  border-radius:50%;
  background:#c7f26d;
  color:#174533;
  font-size:.65rem;
}
.landing-hero .landing-note {
  padding-bottom:18px;
}
.landing-visual {
  position:relative;
  z-index:1;
  inset:auto;
  height:510px;
  margin:0 -20px;
  overflow:hidden;
  border-radius:0 0 28px 28px;
}
.landing-visual img {
  height:270px;
  top:0;
  object-position:center 58%;
}
.example-card {
  z-index:4;
  top:150px;
  right:12px;
  bottom:auto;
  width:calc(100% - 24px);
  min-height:0;
  padding:17px;
  border-radius:18px;
  transform:none;
}
.example-card > p {
  font-size:.73rem;
}
.example-card > strong {
  display:block;
  margin-top:3px;
  font-size:.82rem;
}
.range-badge {
  display:inline-flex;
  width:max-content;
  margin-top:7px;
  padding:3px 8px;
  border-radius:999px;
  background:#e5f3d3;
  color:#24503d!important;
  font-size:.62rem!important;
  font-weight:800;
}
.example-card b {
  display:block;
  margin:11px 0 10px;
  padding:11px 12px;
  font-size:1.45rem;
  letter-spacing:-.055em;
  line-height:1;
}
.example-card b small {
  display:block;
  margin-top:5px;
  color:#48705d;
  font-size:.61rem;
  font-weight:800;
  letter-spacing:.04em;
}
.estimate-rows {
  display:grid;
  gap:0;
  border-top:1px solid #e4ebe6;
  border-bottom:1px solid #e4ebe6;
}
.estimate-rows span {
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:7px 0;
  color:#53645c;
  font-size:.64rem;
  line-height:1.2;
}
.estimate-rows span:not(:last-child) {
  border-bottom:1px solid #edf1ee;
}
.estimate-rows strong {
  flex:0 0 auto;
  color:#214536;
  font-size:.63rem;
}
.estimate-notes {
  gap:5px;
  margin-top:11px;
}
.estimate-notes li {
  font-size:.61rem;
}
.estimate-notes li::before {
  width:13px;
  height:13px;
  flex-basis:13px;
  font-size:.55rem;
}
.proof {
  margin-top:11px;
}
.landing-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.landing-grid article {
  min-height:166px;
}
@media (min-width:900px) {
  .landing-hero {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    min-height:650px;
    margin-right:-34px;
    margin-left:-34px;
    padding:72px 68px;
    overflow:hidden;
    border-radius:0 0 38px 38px;
  }
  .landing-hero::before {
    z-index:0;
    background:linear-gradient(90deg,#fffdf9 0%,#fffdf9 48%,rgba(255,253,249,.23) 65%,rgba(255,253,249,.04) 100%);
  }
  .landing-hero > div:first-child {
    align-self:center;
    max-width:480px;
  }
  .landing-hero h1 {
    font-size:clamp(48px,4.3vw,64px);
    line-height:1.01;
    letter-spacing:-.055em;
  }
  .landing-hero .lead {
    max-width:365px;
    font-size:.91rem;
  }
  .landing-visual {
    position:absolute;
    z-index:-1;
    inset:0 0 0 47%;
    height:auto;
    margin:0;
    overflow:visible;
    border-radius:0;
  }
  .landing-visual img {
    height:100%;
    object-position:center;
  }
  .example-card {
    top:50%;
    right:7%;
    width:410px;
    max-width:calc(100% - 34px);
    padding:22px;
    border-radius:22px;
    transform:translateY(-50%) rotate(1deg);
    box-shadow:0 25px 55px rgba(12,48,39,.28);
  }
  .example-card > p {
    font-size:.82rem;
  }
  .example-card > strong {
    font-size:.94rem;
  }
  .example-card b {
    margin:13px 0;
    padding:14px;
    font-size:2rem;
  }
  .estimate-rows span {
    padding:9px 0;
    font-size:.72rem;
  }
  .estimate-rows strong {
    font-size:.7rem;
  }
  .estimate-notes {
    gap:7px;
    margin-top:13px;
  }
  .estimate-notes li {
    font-size:.68rem;
  }
  .landing-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .landing-grid article {
    min-height:175px;
  }
}
