.calculator-page-main{
  padding:clamp(2.2rem,5vw,4.5rem) 0 clamp(5rem,8vw,7rem);
}
.calculator-intro{
  max-width:850px;
  margin-bottom:clamp(2rem,4vw,3.2rem);
}
.calculator-intro .eyebrow{margin-bottom:.7rem}
.calculator-intro h1{
  margin:0 0 1rem;
  color:var(--color-green-deep);
  font-size:clamp(2.05rem,5.5vw,4.4rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.calculator-intro p{
  max-width:740px;
  margin:0;
  color:var(--color-text-soft);
  font-size:clamp(1rem,2vw,1.12rem);
  line-height:1.65;
}
.calculator-intro-actions{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  margin-top:1.3rem;
}
.calculator-shell{
  max-width:980px;
  margin:0 auto;
}
.calculator-heading{
  margin-bottom:1.2rem;
}
.calculator-heading h2{
  margin:0 0 .55rem;
  color:var(--color-green-deep);
  font-size:clamp(1.55rem,3vw,2.25rem);
  letter-spacing:-.035em;
}
.calculator-heading p{margin:0;color:var(--color-text-soft);line-height:1.6}
.calculator-form{
  display:grid;
  gap:1rem;
}
.calc-step{
  padding:clamp(1.1rem,3vw,1.65rem);
  border:1px solid var(--color-border);
  border-radius:20px 20px 20px 10px;
  background:var(--color-surface);
}
.calc-step-heading{
  display:flex;
  align-items:baseline;
  gap:.65rem;
  margin-bottom:1.15rem;
}
.calc-step-number{
  color:var(--color-green-dark);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.calc-step h3{
  margin:0;
  color:var(--color-text);
  font-size:1.08rem;
}
.calc-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.calc-field{min-width:0}
.calc-field--full{grid-column:1/-1}
.calc-field label,
.calc-field legend{
  display:block;
  margin-bottom:.42rem;
  color:var(--color-text);
  font-size:.91rem;
  font-weight:780;
}
.calc-field select,
.calc-field input[type="number"]{
  width:100%;
  min-height:48px;
  padding:.72rem .82rem;
  border:1px solid var(--color-border);
  border-radius:12px;
  color:var(--color-text);
  background:var(--color-cream-light);
  font:inherit;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.calc-field select:focus,
.calc-field input[type="number"]:focus{
  border-color:var(--color-green);
  box-shadow:0 0 0 3px rgba(79,125,59,.16);
}
.calc-field select:disabled,
.calc-field input:disabled{
  opacity:.68;
  cursor:not-allowed;
}
.calc-help,
.calc-note{
  margin:.42rem 0 0;
  color:var(--color-text-soft);
  font-size:.86rem;
  line-height:1.5;
}
.calc-note{
  padding:.72rem .82rem;
  border-left:3px solid var(--color-green);
  border-radius:8px;
  background:var(--color-green-soft);
  color:var(--color-text);
}
.mode-switch{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  margin-bottom:.9rem;
}
.mode-choice{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  min-height:42px;
  padding:.55rem .72rem;
  border:1px solid var(--color-border);
  border-radius:999px;
  background:var(--color-cream-light);
  color:var(--color-text);
  cursor:pointer;
}
.mode-choice input{accent-color:var(--color-green)}
.checkbox-row{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  padding:.72rem .78rem;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:var(--color-cream-light);
}
.checkbox-row input{margin-top:.18rem;accent-color:var(--color-green)}
.checkbox-row label{margin:0;font-weight:650;line-height:1.45}
.earth-note{
  padding:.9rem 1rem;
  border:1px solid rgba(79,125,59,.2);
  border-radius:12px;
  background:var(--color-green-soft);
  color:var(--color-text);
  font-size:.88rem;
  line-height:1.55;
}
.blocked-work{
  margin:0 0 1rem;
  padding:1.1rem 1.15rem;
  border:1px solid #c99855;
  border-radius:16px;
  background:#fff7ea;
  color:#4e341b;
}
.blocked-work h3{margin:0 0 .5rem;color:#3d2817}
.blocked-work p{margin:0 0 .85rem;line-height:1.6}
.calculator-fields.is-disabled{opacity:.55;pointer-events:none}
.calc-actions{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  justify-content:flex-start;
  padding-top:.25rem;
}
.calc-actions .button{min-width:150px}
.calculator-result{
  display:none;
  margin-top:1.1rem;
  padding:clamp(1.2rem,3vw,1.8rem);
  border-radius:20px 20px 20px 10px;
  border:1px solid var(--color-border);
  background:var(--color-surface);
}
.calculator-result.is-visible{display:block}
.calculator-result--success{border-color:rgba(79,125,59,.32)}
.calculator-result--warning{border-color:#c99855;background:#fff7ea;color:#4e341b}
.calculator-result--error{border-color:#b96b63;background:#fff1ef;color:#572a26}
.result-kicker{
  margin:0 0 .4rem;
  color:var(--color-green-dark);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.calculator-result--warning .result-kicker,
.calculator-result--error .result-kicker{color:inherit}
.calculator-result h3{margin:0;color:var(--color-text);font-size:1.18rem}
.calculator-result--warning h3,
.calculator-result--error h3{color:inherit}
.result-heading-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.result-section{
  margin:.25rem 0 0;
  color:var(--color-green-deep);
  font-size:clamp(1.75rem,5vw,3rem);
  line-height:1;
  font-weight:880;
  letter-spacing:-.045em;
}
.estimate-badge{
  flex:0 0 auto;
  padding:.42rem .58rem;
  border-radius:999px;
  background:var(--color-green-soft);
  color:var(--color-green-dark);
  font-size:.76rem;
  font-weight:800;
}
.result-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
}
.result-grid>div{
  min-width:0;
  padding:.72rem;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:var(--color-cream-light);
}
.result-grid span{display:block;margin-bottom:.24rem;color:var(--color-text-soft);font-size:.75rem}
.result-grid strong{display:block;color:var(--color-text);font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}
.result-margin,.purchase-note,.technical-disclaimer{line-height:1.55}
.purchase-note{padding:.8rem .9rem;border-left:3px solid var(--color-green);background:var(--color-green-soft);border-radius:8px}
.result-warnings{margin-top:1rem;padding:.85rem .9rem;border:1px solid var(--color-border);border-radius:12px}
.result-warnings ul{margin:.45rem 0 0;padding-left:1.2rem}
.result-warnings li+li{margin-top:.35rem}
.technical-disclaimer{margin-bottom:0;color:var(--color-text-soft);font-size:.82rem}
.calculator-tech-note{
  max-width:980px;
  margin:1.15rem auto 0;
  padding:1rem 1.05rem;
  border-top:1px solid var(--color-border);
  color:var(--color-text-soft);
  font-size:.82rem;
  line-height:1.55;
}

:root[data-theme="dark"] .calc-step,
:root[data-theme="dark"] .calculator-result{background:#1a231d}
:root[data-theme="dark"] .calc-field select,
:root[data-theme="dark"] .calc-field input[type="number"],
:root[data-theme="dark"] .mode-choice,
:root[data-theme="dark"] .checkbox-row,
:root[data-theme="dark"] .result-grid>div{
  background:#111713;
  color:#f7f9f4;
  border-color:#68766a;
}
:root[data-theme="dark"] .earth-note,
:root[data-theme="dark"] .purchase-note,
:root[data-theme="dark"] .estimate-badge{
  background:#243126;
  color:#f1f6ee;
}
:root[data-theme="dark"] .result-section{color:#e2f0da}
:root[data-theme="dark"] .blocked-work,
:root[data-theme="dark"] .calculator-result--warning{background:#32291c;color:#fff0d7;border-color:#9f7a48}
:root[data-theme="dark"] .calculator-result--error{background:#34211f;color:#ffe5e1;border-color:#9e5e57}

@media (prefers-color-scheme: dark){
  :root:not([data-theme]) .calc-step,
  :root:not([data-theme]) .calculator-result{background:#1a231d}
  :root:not([data-theme]) .calc-field select,
  :root:not([data-theme]) .calc-field input[type="number"],
  :root:not([data-theme]) .mode-choice,
  :root:not([data-theme]) .checkbox-row,
  :root:not([data-theme]) .result-grid>div{
    background:#111713;color:#f7f9f4;border-color:#68766a;
  }
  :root:not([data-theme]) .earth-note,
  :root:not([data-theme]) .purchase-note,
  :root:not([data-theme]) .estimate-badge{background:#243126;color:#f1f6ee}
  :root:not([data-theme]) .result-section{color:#e2f0da}
  :root:not([data-theme]) .blocked-work,
  :root:not([data-theme]) .calculator-result--warning{background:#32291c;color:#fff0d7;border-color:#9f7a48}
  :root:not([data-theme]) .calculator-result--error{background:#34211f;color:#ffe5e1;border-color:#9e5e57}
}

@media(max-width:760px){
  .calc-grid{grid-template-columns:1fr}
  .calc-field--full{grid-column:auto}
  .result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .result-heading-row{display:block}
  .estimate-badge{display:inline-block;margin-top:.75rem}
}
@media(max-width:430px){
  .calculator-page-main{padding-top:1.45rem}
  .calc-step{padding:1rem;border-radius:16px 16px 16px 8px}
  .result-grid{grid-template-columns:1fr}
  .calc-actions .button{width:100%}
}
