.estimate-page { background:#fff; }

.estimate-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:148px 0 72px;
  background:var(--c-navy);
  color:#fff;
}
.estimate-hero__media {
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  overflow:hidden;
  pointer-events:none;
}
.estimate-hero__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.96) contrast(1.08) brightness(1.28);
}
.estimate-hero::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background-image:
    linear-gradient(90deg,rgba(7,17,31,.96) 0%,rgba(7,17,31,.88) 43%,rgba(7,17,31,.58) 70%,rgba(7,17,31,.32) 100%),
    linear-gradient(rgba(37,99,235,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,.07) 1px, transparent 1px);
  background-size:auto,52px 52px,52px 52px;
  pointer-events:none;
}
.estimate-hero::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--c-cyan),transparent);
  opacity:.7;
}
.estimate-hero > .wrap { position:relative; z-index:2; }
.estimate-hero__grid {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:72px;
  align-items:end;
}
.estimate-hero__grid > * { min-width:0; }
.estimate-crumbs {
  margin-bottom:22px;
  color:rgba(255,255,255,.48);
  font-size:13px;
}
.estimate-crumbs a { color:var(--c-cyan); }
.estimate-hero h1 {
  max-width:780px;
  margin:0 0 20px;
  color:#fff;
  font-family:var(--f-display);
  font-size:clamp(38px,5.5vw,64px);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.estimate-hero__lead {
  max-width:680px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:18px;
  line-height:1.65;
}
.estimate-proof {
  border-left:1px solid rgba(255,255,255,.14);
  padding-left:30px;
}
.estimate-proof__row {
  display:grid;
  grid-template-columns:minmax(132px,max-content) minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.estimate-proof__row:last-child { border-bottom:0; }
.estimate-proof__value {
  color:var(--c-cyan);
  font-family:var(--f-display);
  font-size:20px;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
}
.estimate-proof__row strong {
  display:block;
  margin-bottom:2px;
  color:#fff;
  font-size:14px;
}
.estimate-proof__row span:last-child {
  color:rgba(255,255,255,.74);
  font-size:12.5px;
  line-height:1.45;
}

.estimate-page #calculadora { padding:82px 0 96px; }
.estimate-page #calculadora .sec-hdr { margin-bottom:46px; }
.estimate-page #calculadora .calc-box { box-shadow:0 18px 60px rgba(7,17,31,.09); }

.estimate-ranges { padding:98px 0; background:#fff; }
.estimate-section-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);
  gap:54px;
  align-items:end;
  margin-bottom:46px;
}
.estimate-section-head .s-label { margin-bottom:14px; }
.estimate-section-head h2 {
  max-width:760px;
  color:var(--c-navy);
  font-family:var(--f-display);
  font-size:clamp(30px,4vw,46px);
  font-weight:800;
  line-height:1.08;
  text-wrap:balance;
}
.estimate-section-head p {
  color:var(--c-muted);
  font-size:15.5px;
  line-height:1.7;
}
.estimate-range-list {
  border-top:2px solid var(--c-navy);
  list-style:none;
}
.estimate-range-row {
  display:grid;
  grid-template-columns:minmax(210px,.75fr) minmax(280px,1.35fr) auto;
  gap:34px;
  align-items:center;
  padding:26px 4px;
  border-bottom:1px solid var(--c-border);
}
.estimate-range-device {
  display:flex;
  align-items:center;
  gap:13px;
  color:var(--c-navy);
  font-family:var(--f-display);
  font-size:17px;
  font-weight:800;
}
.estimate-range-device span {
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:50%;
  background:var(--c-card);
  font-size:21px;
}
.estimate-range-examples { color:var(--c-muted); font-size:14px; line-height:1.6; }
.estimate-range-price {
  min-width:130px;
  color:var(--c-blue);
  font-family:var(--f-display);
  font-size:20px;
  font-weight:800;
  text-align:right;
  white-space:nowrap;
}
.estimate-range-note {
  max-width:820px;
  margin:22px 0 0;
  color:var(--c-slate);
  font-size:13px;
  line-height:1.65;
}
.estimate-range-note a { color:var(--c-blue); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.estimate-decision-card {
  display:flex;
  gap:28px;
  align-items:center;
  justify-content:space-between;
  margin-top:30px;
  padding:22px 24px;
  border:1px solid rgba(37,99,235,.2);
  border-left:3px solid var(--c-blue);
  background:linear-gradient(100deg,rgba(37,99,235,.08),rgba(34,211,238,.04));
  color:inherit;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.estimate-decision-card:hover { border-color:rgba(37,99,235,.42); transform:translateY(-2px); box-shadow:0 14px 34px rgba(7,17,31,.08); }
.estimate-decision-card span { display:flex; min-width:0; flex-direction:column; gap:4px; }
.estimate-decision-card small { color:var(--c-blue); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.estimate-decision-card strong { color:var(--c-navy); font-family:var(--f-display); font-size:16px; line-height:1.45; }
.estimate-decision-card b { flex:0 0 auto; color:var(--c-blue); font-size:12px; white-space:nowrap; }

.estimate-process { padding:96px 0; background:var(--c-card); border-block:1px solid var(--c-border); }
.estimate-process__grid {
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:88px;
  align-items:start;
}
.estimate-process h2 {
  margin-bottom:18px;
  color:var(--c-navy);
  font-family:var(--f-display);
  font-size:clamp(30px,4vw,44px);
  line-height:1.08;
  text-wrap:balance;
}
.estimate-process__intro > p { color:var(--c-muted); font-size:16px; line-height:1.72; }
.estimate-steps { list-style:none; counter-reset:estimate-step; border-top:1px solid var(--c-border); }
.estimate-steps li {
  position:relative;
  counter-increment:estimate-step;
  padding:24px 0 24px 64px;
  border-bottom:1px solid var(--c-border);
}
.estimate-steps li::before {
  content:'0' counter(estimate-step);
  position:absolute;
  top:26px;
  left:0;
  color:var(--c-blue);
  font-family:var(--f-display);
  font-size:14px;
  font-weight:800;
  letter-spacing:.08em;
}
.estimate-steps h3 { margin-bottom:6px; color:var(--c-navy); font-family:var(--f-display); font-size:17px; }
.estimate-steps p { color:var(--c-muted); font-size:14.5px; line-height:1.65; }

.estimate-page #faq { padding:96px 0; }
.estimate-page .faq-q {
  width:100%;
  border:0;
  text-align:left;
}

.estimate-footer-nav {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 24px;
  margin-bottom:26px;
}
.estimate-footer-nav a { color:rgba(255,255,255,.55); font-size:14px; font-weight:600; }
.estimate-footer-nav a:hover { color:#fff; }
.estimate-page footer .logo { display:flex; justify-content:center; margin-bottom:26px; }
.estimate-page footer .ft-bot { justify-content:center; text-align:center; }

@media (max-width:900px) {
  .estimate-hero__grid,
  .estimate-section-head,
  .estimate-process__grid { grid-template-columns:minmax(0,1fr); }
  .estimate-hero__grid { gap:38px; }
  .estimate-proof { display:grid; grid-template-columns:repeat(3,1fr); border-left:0; border-top:1px solid rgba(255,255,255,.14); padding:18px 0 0; }
  .estimate-proof__row { grid-template-columns:1fr; gap:5px; text-align:center; padding:10px 12px; border-right:1px solid rgba(255,255,255,.09); border-bottom:0; }
  .estimate-proof__row:last-child { border-right:0; }
  .estimate-section-head,
  .estimate-process__grid { gap:30px; }
}

@media (max-width:680px) {
  .estimate-hero { padding:124px 0 54px; }
  .estimate-hero__media img { object-position:82% center; }
  .estimate-hero::before {
    background-image:
      linear-gradient(180deg,rgba(7,17,31,.34) 0%,rgba(7,17,31,.54) 55%,rgba(7,17,31,.78) 100%),
      linear-gradient(rgba(37,99,235,.07) 1px, transparent 1px),
      linear-gradient(90deg,rgba(37,99,235,.07) 1px, transparent 1px);
  }
  .estimate-hero .s-label { gap:7px; font-size:9px; letter-spacing:.1em; white-space:nowrap; }
  .estimate-hero .s-label::before,
  .estimate-hero .s-label::after { width:13px; }
  .estimate-hero h1 {
    font-size:clamp(32px,9.4vw,38px);
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:pretty;
  }
  .estimate-hero__lead { font-size:16px; }
  .estimate-proof { grid-template-columns:1fr; }
  .estimate-proof__row { grid-template-columns:minmax(120px,max-content) minmax(0,1fr); gap:14px; text-align:left; border-right:0; border-bottom:1px solid rgba(255,255,255,.09); }
  .estimate-proof__value { font-size:18px; }
  .estimate-proof__row:last-child { border-bottom:0; }
  .estimate-page #calculadora,
  .estimate-ranges,
  .estimate-process,
  .estimate-page #faq { padding:72px 0; }
  .estimate-range-row { grid-template-columns:1fr auto; gap:10px 16px; padding:22px 0; }
  .estimate-range-examples { grid-column:1 / -1; }
  .estimate-range-price { min-width:0; font-size:18px; }
  .estimate-range-device { font-size:15px; }
  .estimate-range-device span { width:36px; height:36px; font-size:18px; }
  .estimate-steps li { padding-left:52px; }
  .estimate-decision-card { align-items:flex-start; flex-direction:column; gap:14px; padding:20px; }
}

@media (max-width:360px) {
  .estimate-proof__row { grid-template-columns:minmax(112px,max-content) minmax(0,1fr); gap:10px; padding-inline:8px; }
  .estimate-proof__value { font-size:17px; }
}

@media (max-width:480px) {
  .estimate-page .calc-box { padding:30px 18px; }
  .estimate-page .calc-progress { margin-bottom:34px; }
  .estimate-page .cp-step { width:88px; }
  .estimate-page .cp-label { font-size:10px; }
  .estimate-page .calc-options,
  .estimate-page .calc-options.wrap2 { grid-template-columns:1fr; }
  .estimate-page .price-pill { padding:16px 30px; font-size:30px; }
  .estimate-page .calc-lead-box { padding:22px 18px; }
  .estimate-page .calc-lead-row button { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .estimate-page .calc-pane.active { animation:none; }
}
