:root {
  --ink: #121212;
  --navy: #314897;
  --navy-deep: #253878;
  --paper: #FBFBF9;
  --panel: #f5f7fb;
  --white: #ffffff;
  --muted: #4f5d73;
  --line: #dfe6ee;
  --accent: #eaf1ff;
  --error: #a32920;
}

* { box-sizing:border-box; }
html { background:#ffffff; }
body {
  margin:0;
  background:#ffffff;
  color:var(--ink);
  font-family:Arial, Helvetica, sans-serif;
  min-height:100vh;
}

body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:0;
  background-image:radial-gradient(var(--navy) .7px, transparent .7px);
  background-size:8px 8px;
}

.site-header {
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:26px clamp(24px,5vw,72px);
  border-bottom:1px solid var(--line);
  background:var(--paper);
}

.brand {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  line-height:1;
}
.brand img {
  display:block;
  width:235px;
  height:auto;
}
.header-label {
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
  font-family:Arial, Helvetica, sans-serif;
  font-weight:700;
}

main { position:relative; width:min(1060px,calc(100% - 32px)); margin:0 auto; }
.intro { min-height:auto; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:70px 0 80px; max-width:850px; }
.eyebrow {
  margin:0 0 18px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--navy);
  font-family:Arial, Helvetica, sans-serif;
}

h1,h2,h3 {
  font-family:"Prata", Georgia, serif;
  font-weight:400;
  letter-spacing:-.03em;
  color:var(--ink);
}

h1 {
  font-size:clamp(3rem,8vw,6.6rem);
  line-height:.94;
  margin:0;
  max-width:950px;
}

.lead {
  font-size:clamp(1.05rem,2vw,1.3rem);
  line-height:1.6;
  max-width:640px;
  color:var(--muted);
  margin:30px 0;
  font-family:Arial, Helvetica, sans-serif;
}

button,.primary-button {
  font:600 .95rem Arial, Helvetica, sans-serif;
}

.primary-button {
  border:0;
  background:var(--navy);
  color:var(--white);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  padding:17px 22px;
  text-decoration:none;
  cursor:pointer;
  transition:.2s;
  box-shadow:none;
}
.primary-button:hover {
  background:var(--navy-deep);
  transform:translateY(-2px);
}
.primary-button:focus-visible, .text-button:focus-visible, input:focus-visible, select:focus-visible, button:focus-visible, label:focus-visible {
  outline:3px solid var(--navy);
  outline-offset:3px;
}
.primary-button span { color:var(--accent); font-size:1.2rem; }
.primary-button:disabled { opacity:.55; cursor:wait; }

.trust-row {
  display:flex;
  gap:26px;
  flex-wrap:wrap;
  margin-top:28px;
  color:var(--muted);
  font-size:.85rem;
  font-family:Arial, Helvetica, sans-serif;
}
.trust-row span::before{content:"✓";color:var(--navy);margin-right:7px}
.hidden { display:none !important; }
.estimator,.result { padding:65px 0 90px; max-width:880px; margin:auto; }
.progress-wrap{margin-bottom:60px}.progress-meta{display:flex;justify-content:space-between;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;color:var(--ink);font-family:Arial, Helvetica, sans-serif;font-weight:700}.progress-track{height:3px;background:var(--line)}.progress-bar{height:100%;background:var(--navy);width:25%;transition:.3s}
.step{display:none}.step.active{display:block;animation:fade .3s ease}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
h2{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.02;margin:0 0 15px}.step-copy{color:var(--muted);margin:0 0 30px;font-family:Arial, Helvetica, sans-serif}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}.choice{position:relative;background:var(--white);border:1px solid #c7d0db;padding:24px;min-height:165px;display:flex;flex-direction:column;cursor:pointer;transition:.18s;color:var(--ink)}.choice:hover{background:var(--panel);transform:translateY(-2px)}.choice:has(input:checked){background:var(--navy);color:var(--white);border-color:var(--navy-deep);box-shadow:none}.choice input{position:absolute;opacity:0}.choice-icon{font-size:1.3rem;margin-bottom:auto;color:var(--navy)}.choice strong{font-family:Arial, Helvetica, sans-serif;font-size:1rem;font-weight:700}.choice small{color:var(--muted);margin-top:6px;line-height:1.4;font-family:Arial, Helvetica, sans-serif}.choice:has(input:checked) small{color:var(--white)}.choice:has(input:checked) .choice-icon{color:var(--accent)}
fieldset{border:0;padding:0;margin:34px 0}legend,.field>label{font-weight:700;margin-bottom:12px;display:block;color:var(--ink);font-family:Arial, Helvetica, sans-serif}legend small{font-weight:400;color:var(--muted);margin-left:8px;font-family:Arial, Helvetica, sans-serif}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}.field{margin:24px 0}input[type=number],select{width:100%;border:1px solid #c7d0db;background:var(--white);padding:15px;font:inherit;border-radius:0;color:var(--ink);font-family:Arial, Helvetica, sans-serif}
.pill-options,.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pill-options label,.check-grid label,.stack-options label{cursor:pointer}.pill-options input,.check-grid input,.stack-options input{position:absolute;opacity:0}.pill-options span,.check-grid span{display:flex;align-items:center;justify-content:space-between;border:1px solid #c7d0db;background:var(--white);padding:16px;color:var(--ink);font-family:Arial, Helvetica, sans-serif}.pill-options label:has(input:checked) span,.check-grid label:has(input:checked) span{background:var(--navy);color:var(--white);border-color:var(--navy-deep)}.check-grid small{color:var(--muted);font-family:Arial, Helvetica, sans-serif}.check-grid label:has(input:checked) small{color:var(--white)}
.stack-options{display:grid;gap:9px}.stack-options label>span{display:flex;flex-direction:column;border:1px solid #c7d0db;padding:17px 20px;background:var(--white);color:var(--ink)}.stack-options small{color:var(--muted);margin-top:4px;font-family:Arial, Helvetica, sans-serif}.stack-options label:has(input:checked)>span{background:var(--navy);color:var(--white);border-color:var(--navy-deep)}.stack-options label:has(input:checked) small{color:var(--white)}.hint{font-size:.83rem;color:var(--muted);margin-top:-15px;font-family:Arial, Helvetica, sans-serif}.quantity-hint{margin-top:8px;margin-bottom:0;color:var(--muted);font-family:Arial, Helvetica, sans-serif}.hint.warning,.quantity-hint.warning{color:var(--error);font-weight:600}
.form-actions{border-top:1px solid var(--line);margin-top:45px;padding-top:22px;display:flex;justify-content:space-between}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:var(--ink);pointer-events:auto;font-family:Arial, Helvetica, sans-serif}.text-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.form-error{background:#f9dfdc;color:var(--error);padding:13px 16px;margin:25px 0 0;font-weight:600;font-family:Arial, Helvetica, sans-serif}
.review-card{margin-top:30px;border-top:1px solid #c7d0db}.review-card div{display:flex;justify-content:space-between;gap:30px;padding:17px 0;border-bottom:1px solid #c7d0db}.review-card span{color:var(--muted);font-family:Arial, Helvetica, sans-serif}.review-card strong{text-align:right;text-transform:capitalize;color:var(--ink);font-family:Arial, Helvetica, sans-serif}.privacy-note{display:flex;gap:15px;background:#0b0f1a;padding:20px;margin-top:25px;border:1px solid rgba(105,143,255,.45);color:var(--white)}.privacy-note>span{font-weight:700;color:var(--white)}.privacy-note p{margin:0;line-height:1.45;font-family:Arial, Helvetica, sans-serif;color:var(--white)}.privacy-note strong{color:var(--white)}
.result{text-align:center;max-width:720px}.result h2{font-size:clamp(2rem,4vw,3.2rem)}.amount{font:400 clamp(4.5rem,12vw,8rem) "Prata", Georgia, serif;letter-spacing:-.07em;margin:30px 0;color:var(--ink)}.included{background:#0b0f1a;text-align:left;padding:28px;margin:35px 0;border:1px solid rgba(105,143,255,.45)}.included h3{margin:0 0 16px;font-size:1.15rem;color:var(--white);font-family:Arial, Helvetica, sans-serif}.included ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;color:var(--white);font-family:Arial, Helvetica, sans-serif}.included ul li{color:var(--white)}.disclaimer{color:var(--muted);line-height:1.6;font-family:Arial, Helvetica, sans-serif}.result-actions{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:28px}.result-actions .primary-button{border:1px solid var(--navy-deep);box-shadow:none}
.contact-form-panel{max-width:720px;margin:0 auto 80px;border:1px solid #c7d0db;background:var(--white);padding:28px;box-shadow:none}.contact-form-header{margin-bottom:18px}.contact-form-header h3{font-size:clamp(2rem,4vw,3rem);margin:0 0 10px}.contact-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.contact-field{display:flex;flex-direction:column;gap:8px}.contact-field label{font-family:Arial, Helvetica, sans-serif;font-weight:700;color:var(--ink)}.contact-field input,.contact-field textarea{width:100%;border:1px solid #c7d0db;background:var(--white);padding:14px 15px;font:inherit;color:var(--ink);font-family:Arial, Helvetica, sans-serif;resize:vertical}.contact-field textarea{min-height:140px}.contact-field-full{grid-column:1 / -1}.contact-actions{display:flex;justify-content:flex-start;margin-top:24px}.contact-status{margin-top:18px;padding:14px 16px;border:1px solid #c7d0db;font-family:Arial, Helvetica, sans-serif}.contact-status.success{background:#edf8ef;border-color:#9ec6a2;color:#1a5a2d}.contact-status.error{background:#f9dfdc;border-color:#d7a8a0;color:var(--error)}
@media (max-width:900px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-actions{flex-direction:column-reverse;align-items:stretch;gap:12px}.form-actions .primary-button,.form-actions .text-button{width:100%;justify-content:center}.result-actions{flex-direction:column;align-items:stretch}.result-actions .primary-button,.result-actions .text-button{width:100%;justify-content:center}.contact-field-grid{grid-template-columns:1fr}}
@media(max-width:700px){main{width:min(100% - 28px,1060px)}.site-header{padding:20px;flex-wrap:wrap;gap:8px}.brand{font-size:1.25rem}.brand img{width:185px}.choice-grid{grid-template-columns:1fr 1fr}.choice{min-height:145px;padding:18px}.two-column,.pill-options,.check-grid{grid-template-columns:1fr}.included ul{grid-template-columns:1fr}.intro{padding:55px 0;min-height:auto}.estimator{padding-top:35px}.review-card div{align-items:flex-start}.header-label{display:none}.privacy-note{flex-direction:column}.trust-row{gap:12px 16px}.contact-form-panel{padding:22px}} 
@media(max-width:440px){.choice-grid{grid-template-columns:1fr}.choice{min-height:125px}.primary-button{width:100%;justify-content:center}.text-button{width:100%;text-align:center}.contact-actions .primary-button{width:100%}}
