/* Enspara calculator — scoped under .calc to avoid clashing with site chrome */

body.page-calculator {
  --ink: #0F241C;
  --pine: #0B3B2C;
  --forest: #12513C;
  --moss: #2E7057;
  --cream: #F5F0E1;
  --paper: #FDFAF1;
  --lime: #C9F04D;
  --lime-deep: #9FCB2A;
  --amber: #F5A63B;
  --sky: #7FC8C0;
  --line: rgba(15, 36, 28, .14);
  --line-soft: rgba(15, 36, 28, .08);
  --shadow: 0 18px 50px -18px rgba(11, 59, 44, .35);
  --r-lg: 26px;
  --r-md: 16px;
  --r-sm: 10px;
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Archivo", -apple-system, sans-serif;
  background: var(--cream);
  overflow-x: hidden;
}

body.page-calculator::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 999;
  opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'\/%3E%3C\/filter%3E%3Crect width='120' height='120' filter='url(%23n)'\/%3E%3C\/svg%3E");
}

/* offset fixed site header + breathing room above the calculator */
body.page-calculator .calc {
  padding-top: calc(72px + 40px);
  padding-bottom: 24px;
  min-height: 60vh;
}

/* Site styles.css applies section { padding: 100px 0 } — kill that here.
   Do not zero .res-hero — it needs its own vertical padding (results + PDF report). */
body.page-calculator .calc section:not(.res-hero),
body.page-calculator .calc .step {
  padding: 0 !important;
}

/* Don't inherit body line-height (1.7) onto display headings */
body.page-calculator .calc h1,
body.page-calculator .calc h2,
body.page-calculator .calc h3 {
  font-weight: inherit;
}

.calc {
  font-family: var(--font-body);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

.calc *,
.calc *::before,
.calc *::after {
  box-sizing: border-box;
}

.calc button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
  color: inherit;
}

.calc input,
.calc select {
  font-family: inherit;
  color: inherit;
}

.calc input[type=number] {
  -moz-appearance: textfield;
}

.calc input::-webkit-outer-spin-button,
.calc input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.calc-rail-wrap {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 24px;
  position: sticky;
  top: 72px;
  z-index: 40;
}

.calc-rail-wrap:has(.rail.show) {
  background: rgba(245, 240, 225, .92);
  backdrop-filter: blur(12px);
}

.calc-rail-wrap .rail {
  padding-top: 14px;
  padding-bottom: 14px;
}

.calc a.calc-btn-primary,
.calc a.btn-outline-l {
  text-decoration: none;
}

/* ticker sits above site chrome but below mobile menu */
.calc-ticker-host .ticker {
  z-index: 900;
}


/* reset scoped below */



.calc ::selection{background:var(--lime);color:var(--ink)}


.calc .wrap{max-width:1060px;margin:0 auto;padding:0 24px}

/* ---------- progress rail ---------- */
.calc .rail{display:none;align-items:center;gap:0;padding:18px 0 0}
.calc .rail.show{display:flex}
.calc .rail-step{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(15,36,28,.4);white-space:nowrap}
.calc .rail-step .dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);font-size:12px;background:var(--paper);transition:.3s}
.calc .rail-step.active{color:var(--ink)}
.calc .rail-step.active .dot{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.calc .rail-step.done .dot{background:var(--lime);border-color:var(--lime-deep);color:var(--ink)}
.calc .rail-bar{flex:1;height:1.5px;background:var(--line);margin:0 12px;position:relative;overflow:hidden}
.calc .rail-bar i{position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.calc .rail-bar.fill i{transform:scaleX(1)}
@media(max-width:640px){.calc .rail-step span.lbl{display:none}}

/* ---------- hero ---------- */
.calc-hero{
  position:relative;
  background:var(--pine);
  color:var(--cream);
  border-radius:var(--r-lg);
  margin:22px auto 0;
  max-width:1060px;
  overflow:hidden;
  isolation:isolate;
}
@media(max-width:1108px){.calc-hero{margin-left:24px;margin-right:24px}}
.calc-hero-inner{padding:clamp(48px,8vw,96px) clamp(28px,6vw,80px);position:relative;z-index:2}
.calc-hero .kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--lime);margin-bottom:26px;
  animation:rise .7s .05s both;
}
.calc-hero .kicker::before{content:"";width:26px;height:1.5px;background:var(--lime)}
.calc-hero h1{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(40px,7vw,84px);
  line-height:.98; /* prototype-tight; must beat site h1 { line-height: 1.25 } */
  letter-spacing:-.025em;
  max-width:12ch;
  animation:rise .7s .15s both;
}
body.page-calculator .calc-hero h1{
  line-height:.98;
}
.calc-hero h1 em{
  font-style:italic;color:var(--lime);
  position:relative;white-space:nowrap;
}
.calc-hero p.sub{
  margin-top:26px;font-size:clamp(16px,2vw,19px);line-height:1.55;
  max-width:46ch;color:rgba(245,240,225,.78);
  animation:rise .7s .25s both;
}
.calc-hero-actions{display:flex;align-items:center;gap:22px;margin-top:40px;flex-wrap:wrap;animation:rise .7s .35s both}
/* Beat .calc button { background: none } via higher specificity */
.calc button.calc-btn-primary,
.calc a.calc-btn-primary,
.calc-btn-primary{
  display:inline-flex;align-items:center;gap:12px;
  background:var(--lime);color:var(--ink);
  font-weight:800;font-size:16px;letter-spacing:.01em;
  padding:18px 32px;border-radius:99px;
  transition:transform .2s,box-shadow .2s;
  box-shadow:0 10px 30px -8px rgba(201,240,77,.5);
  border:none;
}
.calc button.calc-btn-primary:hover,
.calc a.calc-btn-primary:hover,
.calc-btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -8px rgba(201,240,77,.55)}
.calc-btn-primary:active{transform:translateY(0)}
.calc-btn-primary svg{transition:transform .25s}
.calc-btn-primary:hover svg{transform:translateX(4px)}
.calc-hero-meta{display:flex;gap:10px;align-items:center;font-size:13.5px;color:rgba(245,240,225,.65)}
.calc-hero-meta b{color:var(--cream)}
.calc-hero-stats{
  display:flex;gap:0;margin-top:64px;border-top:1px solid rgba(245,240,225,.15);
  animation:rise .7s .45s both;flex-wrap:wrap;
}
.calc-hero-stat{padding:26px 44px 4px 0;margin-right:44px}
.calc-hero-stat .n{font-family:var(--font-display);font-size:clamp(28px,3.6vw,42px);font-weight:600;color:var(--lime)}
.calc-hero-stat .l{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(245,240,225,.6);margin-top:4px;font-weight:600}
/* decorative rings */
.calc-hero::after{
  content:"";position:absolute;right:-180px;top:-180px;width:560px;height:560px;z-index:1;
  border-radius:50%;
  background:radial-gradient(circle at center,rgba(201,240,77,.16),transparent 62%);
}
.calc-hero-coin{
  position:absolute;z-index:1;border-radius:50%;
  border:1.5px dashed rgba(201,240,77,.35);
  animation:spin 40s linear infinite;
}
.calc .coin-a{width:340px;height:340px;right:6%;bottom:-120px}
.calc .coin-b{width:200px;height:200px;right:16%;top:40px;animation-duration:28s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

/* ---------- steps container ---------- */
/* Modest gap under step nav; ticker clearance lives on .calc-fineprint only */
.calc-main{padding-bottom:48px}

/* Fine print under the whole calculator (all steps) — matches prototype footer rule */
.calc .calc-fineprint{
  max-width:795px; /* ~75% of calculator wrap (1060px) */
  margin:40px auto 0;
  padding:22px 24px 20px;
  border-top:1px solid var(--line-soft);
  font-size:12px;line-height:1.6;text-align:center;
  color:rgba(15,36,28,.45);
  transition:padding-bottom .3s;
}
/* Kitchen step shows fixed ticker — pad fine print once so it isn't covered */
body.page-calculator.ticker-open .calc .calc-fineprint{
  padding-bottom:110px;
}
body.page-calculator .calc .step-head h2{
  line-height:1.05;
}
.calc .step{display:none;animation:rise .5s both}
.calc .step.on{display:block}
.calc .step-head{margin:54px 0 10px}
.calc .step-head .eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--moss)}
.calc .step-head h2{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(30px,4.6vw,48px);letter-spacing:-.02em;line-height:1.05;margin-top:10px;
}
.calc .step-head h2 em{font-style:italic;color:var(--forest)}
.calc .step-head p{margin-top:12px;font-size:16px;line-height:1.6;color:rgba(15,36,28,.68);max-width:72ch}

.calc .card{
  background:var(--paper);border:1px solid var(--line-soft);
  border-radius:var(--r-lg);padding:clamp(22px,3.5vw,36px);
  box-shadow:0 8px 30px -18px rgba(11,59,44,.18);
  margin-top:26px;
}
.calc .grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:760px){.calc .grid2{grid-template-columns:1fr}}

.calc .f-label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.calc .f-label small{font-weight:600;letter-spacing:.02em;text-transform:none;color:rgba(15,36,28,.5);font-size:12.5px}
.calc .f-hint{font-size:13px;color:rgba(15,36,28,.55);margin-top:10px;line-height:1.5}
.calc .f-block{margin-bottom:34px}
.calc .f-block:last-child{margin-bottom:0}

.calc .text-input{
  width:100%;padding:15px 18px;font-size:16px;font-weight:600;
  border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--cream);
  outline:none;transition:.2s;
}
.calc .text-input:focus{border-color:var(--forest);background:#fff;box-shadow:0 0 0 4px rgba(18,81,60,.08)}

/* chips */
.calc .chips{display:flex;flex-wrap:wrap;gap:10px}
.calc .chips-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.calc .chips-row .chips{display:contents}
.calc .chip-input{
  padding:11px 20px;border-radius:99px;border:1.5px solid var(--line);
  font-size:14.5px;font-weight:700;background:var(--paper);color:var(--ink);
  outline:none;transition:.18s;height:auto;
}
.calc .chip-input:hover{border-color:var(--forest)}
.calc .chip-input:focus{border-color:var(--forest);box-shadow:0 0 0 4px rgba(18,81,60,.08)}
.calc .chip-input::placeholder{color:rgba(15,36,28,.45);font-weight:700}
.calc input.chip-input{width:150px}
.calc input.chip-input.filled{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.calc select.chip-input{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230F241C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;
}
.calc select.chip-input.sel{
  background-color:var(--ink);color:var(--lime);border-color:var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C9F04D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
.calc .chip{
  padding:11px 20px;border-radius:99px;border:1.5px solid var(--line);
  font-size:14.5px;font-weight:700;background:var(--paper);transition:.18s;
}
.calc .chip:hover{border-color:var(--forest)}
.calc .chip.sel{background:var(--ink);color:var(--lime);border-color:var(--ink);transform:scale(1.03)}

/* option cards */
.calc .opt-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:640px){.calc .opt-cards{grid-template-columns:1fr}}
.calc .opt-card{
  text-align:left;padding:18px;border:1.5px solid var(--line);border-radius:var(--r-md);
  background:var(--paper);transition:.18s;position:relative;
}
.calc .opt-card:hover{border-color:var(--forest);transform:translateY(-2px)}
.calc .opt-card.sel{border-color:var(--ink);background:var(--ink);color:var(--cream)}
.calc .opt-card.sel .oc-sub{color:rgba(245,240,225,.65)}
.calc .opt-card .oc-t{font-weight:800;font-size:15px}
.calc .opt-card .oc-sub{font-size:12.5px;color:rgba(15,36,28,.55);margin-top:5px;line-height:1.45}
.calc .opt-card.sel::after{
  content:"✓";position:absolute;top:12px;right:14px;width:22px;height:22px;border-radius:50%;
  background:var(--lime);color:var(--ink);font-size:13px;font-weight:900;display:grid;place-items:center;
}

/* steppers & sliders */
.calc .stepper{display:flex;align-items:center;gap:0;border:1.5px solid var(--line);border-radius:var(--r-md);overflow:hidden;width:max-content;background:var(--paper)}
.calc .stepper button{width:52px;height:56px;font-size:22px;font-weight:700;transition:.15s;color:var(--forest)}
.calc .stepper button:hover{background:var(--lime)}
.calc .stepper .st-val{min-width:86px;text-align:center;font-family:var(--font-display);font-size:26px;font-weight:600;border-left:1.5px solid var(--line);border-right:1.5px solid var(--line);height:56px;display:grid;place-items:center}

.calc .sliderline{display:flex;align-items:center;gap:18px}
.calc .sliderline .sl-val{
  min-width:120px;text-align:center;font-family:var(--font-display);font-size:24px;font-weight:600;
  background:var(--cream);border-radius:var(--r-sm);padding:10px 6px;
}
.calc input[type=range]{
  -webkit-appearance:none;appearance:none;flex:1;height:4px;border-radius:99px;
  background:linear-gradient(to right,var(--forest) var(--p,50%),rgba(15,36,28,.15) var(--p,50%));
  outline:none;
}
.calc input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:26px;height:26px;border-radius:50%;
  background:var(--lime);border:3px solid var(--ink);cursor:grab;
  transition:transform .15s;box-shadow:0 3px 10px rgba(11,59,44,.3);
}
.calc input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}
.calc input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--lime);border:3px solid var(--ink);cursor:grab}

/* switch */
.calc .switchline{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--paper)}
.calc .switchline .sw-t{font-weight:700;font-size:15px}
.calc .switchline .sw-s{font-size:12.5px;color:rgba(15,36,28,.55);margin-top:3px}
.calc .switch{position:relative;width:56px;height:32px;border-radius:99px;background:rgba(15,36,28,.18);transition:.25s;flex-shrink:0}
.calc .switch::after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;transition:.25s cubic-bezier(.6,0,.2,1.4);box-shadow:0 2px 6px rgba(0,0,0,.25)}
.calc .switch.on{background:var(--forest)}
.calc .switch.on::after{left:27px;background:var(--lime)}

/* ---------- bills ---------- */
.calc .bill-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
@media(max-width:900px){.calc .bill-cards{grid-template-columns:1fr}}
.calc .bill-card{
  background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-lg);
  padding:26px;box-shadow:0 8px 30px -18px rgba(11,59,44,.18);
  display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden;
}
.calc .bill-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--bc,var(--forest))}
.calc .bill-head{display:flex;align-items:center;gap:12px}
.calc .bill-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--cream);color:var(--bc,var(--forest))}
.calc .bill-head h3{font-family:var(--font-display);font-size:21px;font-weight:600}
.calc .bill-head .bh-s{font-size:12px;color:rgba(15,36,28,.5);font-weight:600}
.calc .money-input{position:relative}
.calc .money-input span.cur{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-weight:800;color:rgba(15,36,28,.45);font-size:15px}
.calc .money-input input{
  width:100%;padding:14px 14px 14px 38px;font-size:20px;font-weight:700;font-family:var(--font-display);
  border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--cream);outline:none;transition:.2s;
}
.calc .money-input input:focus{border-color:var(--forest);background:#fff;box-shadow:0 0 0 4px rgba(18,81,60,.08)}
.calc .money-input span.unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:700;color:rgba(15,36,28,.4);font-size:13px}
.calc .money-input input.has-unit{padding-left:16px;padding-right:64px}
.calc .rate-pill{
  display:flex;align-items:center;gap:8px;align-self:stretch;
  max-width:100%;box-sizing:border-box;
  font-size:12.5px;font-weight:700;line-height:1.35;
  padding:8px 12px;border-radius:12px;
  background:var(--cream);border:1px solid var(--line-soft);color:var(--forest);
}
.calc .rate-pill b{font-size:13px;font-weight:800;white-space:nowrap}
.calc .rate-pill .ok,
.calc .rate-pill .warn{
  flex:0 0 8px;width:8px;height:8px;border-radius:50%;
  display:block;align-self:center;
}
.calc .rate-pill .ok{background:var(--lime-deep)}
.calc .rate-pill .warn{background:var(--amber)}
.calc .rate-pill .rp-msg{flex:1;min-width:0}
.calc .rate-pill .rp-note{font-weight:700;color:var(--amber);white-space:nowrap}
.calc .unit-toggle{display:inline-flex;border:1.5px solid var(--line);border-radius:99px;overflow:hidden;align-self:flex-start}
.calc .unit-toggle button{padding:6px 14px;font-size:12px;font-weight:800;letter-spacing:.04em}
.calc .unit-toggle button.sel{background:var(--ink);color:var(--lime)}
.calc .bill-off{opacity:.45;pointer-events:none;filter:grayscale(.6)}

/* ---------- equipment ---------- */
.calc .equip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px;margin-top:26px}
.calc .eq{
  position:relative;text-align:left;padding:20px 18px 18px;border-radius:var(--r-md);
  border:1.5px solid var(--line);background:var(--paper);
  transition:transform .18s,border-color .18s,background .25s;
  display:flex;flex-direction:column;gap:12px;min-height:128px;
}
.calc .eq:hover{transform:translateY(-3px);border-color:var(--forest)}
.calc .eq .eq-ico{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--cream);color:var(--forest);transition:.25s}
.calc .eq .eq-t{font-weight:800;font-size:14.5px;line-height:1.3}
.calc .eq .eq-s{font-size:11.5px;font-weight:700;letter-spacing:.05em;color:rgba(15,36,28,.45);text-transform:uppercase}
.calc .eq.sel{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.calc .eq.sel .eq-ico{background:rgba(201,240,77,.15);color:var(--lime)}
.calc .eq.sel .eq-s{color:var(--lime)}
.calc .eq .tick{
  position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;
  border:1.5px solid var(--line);display:grid;place-items:center;font-size:12px;font-weight:900;
  color:transparent;transition:.2s;background:var(--paper);
}
.calc .eq.sel .tick{background:var(--lime);border-color:var(--lime);color:var(--ink);transform:scale(1.1)}
.calc .eq.dis{opacity:.4;pointer-events:none}
.calc .eq-note{margin-top:16px;font-size:13px;color:rgba(15,36,28,.55);line-height:1.5}

/* AC included banner */
.calc .ac-banner{
  display:none;align-items:center;gap:18px;margin-top:26px;
  background:linear-gradient(115deg,var(--pine),var(--forest) 70%);
  color:var(--cream);border-radius:var(--r-md);padding:20px 24px;
  box-shadow:0 14px 36px -16px rgba(11,59,44,.5);
  position:relative;overflow:hidden;
}
.calc .ac-banner.on{display:flex;animation:rise .5s both}
.calc .ac-banner::after{
  content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,240,77,.18),transparent 65%);
}
.calc .ac-banner .ab-ico{
  width:48px;height:48px;border-radius:13px;flex-shrink:0;display:grid;place-items:center;
  background:rgba(201,240,77,.16);color:var(--lime);
}
.calc .ac-banner .ab-t{font-weight:800;font-size:15.5px}
.calc .ac-banner .ab-t .tick{color:var(--lime)}
.calc .ac-banner .ab-s{font-size:13px;color:rgba(245,240,225,.72);margin-top:4px;line-height:1.5}
.calc .ac-banner .ab-amt{
  margin-left:auto;text-align:right;flex-shrink:0;
}
.calc .ac-banner .ab-amt b{font-family:var(--font-display);font-weight:600;font-size:26px;color:var(--lime);white-space:nowrap;font-variant-numeric:tabular-nums}
.calc .ac-banner .ab-amt span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,225,.55);margin-top:2px}
@media(max-width:640px){
  .calc .ac-banner{flex-wrap:wrap}
  .calc .ac-banner .ab-amt{margin-left:0;text-align:left;width:100%}
}

/* ---------- sticky ticker ---------- */
/* --ticker-clear lifts the bar clear of the site footer when it enters view */
body.page-calculator .ticker{
  position:fixed;left:0;right:0;bottom:var(--ticker-clear,0px);z-index:1100;
  transform:translateY(110%);
  transition:transform .45s cubic-bezier(.7,0,.2,1), bottom .15s ease-out;
  pointer-events:none;
}
body.page-calculator .ticker.show{transform:none}
body.page-calculator .ticker-inner{
  max-width:1060px;margin:0 auto 18px;padding:14px 16px 14px 26px;
  background:var(--ink);color:var(--cream);border-radius:18px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  box-shadow:0 24px 60px -12px rgba(11,36,28,.55);pointer-events:auto;
}
@media(max-width:1108px){body.page-calculator .ticker-inner{margin-left:24px;margin-right:24px}}
body.page-calculator .ticker .tk-l{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:rgba(245,240,225,.6)}
body.page-calculator .ticker .tk-v{font-family:var(--font-display);font-size:clamp(22px,3.4vw,32px);font-weight:600;color:var(--lime);line-height:1;white-space:nowrap}
body.page-calculator .ticker .tk-v small{font-size:.5em;font-family:var(--font-body);font-weight:700;color:rgba(245,240,225,.65);letter-spacing:.04em}
body.page-calculator .ticker .tk-potential{
  display:none;margin-top:4px;font-size:11.5px;font-weight:600;
  color:rgba(245,240,225,.55);letter-spacing:.02em;line-height:1.3;
}
body.page-calculator .ticker .tk-potential.on{display:block}
body.page-calculator .ticker .tk-potential b{
  color:rgba(201,240,77,.9);font-family:var(--font-display);font-weight:600;font-variant-numeric:tabular-nums;
}
.calc .tk-right{display:flex;align-items:center;gap:14px}
body.page-calculator .ticker-inner{cursor:pointer}
@media(max-width:640px){
  body.page-calculator .ticker-inner{
    margin-left:12px;margin-right:12px;
    margin-bottom:calc(12px + env(safe-area-inset-bottom));
    padding:12px 12px 12px 18px;border-radius:16px;gap:10px;
  }
  body.page-calculator .ticker .tk-l{font-size:10px;letter-spacing:.08em}
  body.page-calculator .ticker .tk-v{font-size:20px}
  body.page-calculator .ticker .btn-dark{padding:12px 16px;font-size:13.5px;gap:6px}
}
@media(max-width:380px){
  body.page-calculator .ticker .btn-dark{padding:12px 13px;font-size:12.5px}
}
body.page-calculator .btn-dark{
  display:inline-flex;align-items:center;gap:10px;background:var(--lime);color:var(--ink);
  font-weight:800;font-size:15px;padding:13px 24px;border-radius:99px;transition:.2s;white-space:nowrap;
}
body.page-calculator .btn-dark:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(201,240,77,.5)}
.calc .btn-ghost{
  font-weight:700;font-size:14px;padding:12px 20px;border-radius:99px;
  border:1.5px solid var(--line);transition:.2s;background:var(--paper);
}
.calc .btn-ghost:hover{border-color:var(--ink)}
.calc .step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:34px;gap:14px}
.calc .btn-back{font-weight:700;font-size:14px;color:rgba(15,36,28,.55);display:inline-flex;align-items:center;gap:8px;padding:12px 10px;transition:.2s}
.calc .btn-back:hover{color:var(--ink)}
.calc .btn-next{
  display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--lime);
  font-weight:800;font-size:16px;padding:17px 32px;border-radius:99px;transition:.2s;
}
.calc .btn-next:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.calc .btn-next svg{transition:transform .25s}
.calc .btn-next:hover svg{transform:translateX(4px)}

/* ---------- results ---------- */
.calc .res-hero{
  background:var(--pine);color:var(--cream);border-radius:var(--r-lg);
  padding:clamp(40px,6vw,72px) clamp(26px,5vw,64px);margin-top:30px;
  position:relative;overflow:hidden;text-align:center;isolation:isolate;
}
.calc .res-hero::after{
  content:"";position:absolute;inset:-40%;z-index:-1;
  background:radial-gradient(circle at 50% 120%,rgba(201,240,77,.22),transparent 55%);
}
.calc .res-kick{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--lime)}
.calc .res-name{font-size:15px;color:rgba(245,240,225,.65);margin-top:8px}
.calc .res-big{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(56px,11vw,124px);line-height:1;letter-spacing:-.03em;
  color:var(--lime);margin:18px 0 6px;font-variant-numeric:tabular-nums;
}
.calc .res-per{font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,225,.7)}
.calc .res-cap-note{
  margin:14px auto 0;max-width:42ch;font-size:13px;line-height:1.5;
  color:rgba(245,240,225,.65);font-weight:600;
}
.calc .res-cap-note b{color:var(--lime);font-family:var(--font-display);font-weight:600;font-variant-numeric:tabular-nums}
.calc .res-sub{margin-top:22px;font-size:15.5px;color:rgba(245,240,225,.7);line-height:1.6;max-width:52ch;margin-left:auto;margin-right:auto}
.calc .res-sub b{color:var(--cream)}
.calc .res-cta-row{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.calc .res-disclaimer{
  margin:26px auto 0;max-width:64ch;font-size:12px;line-height:1.6;
  color:rgba(245,240,225,.5);
}
.calc .btn-outline-l{
  display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;
  padding:15px 28px;border-radius:99px;border:1.5px solid rgba(245,240,225,.35);color:var(--cream);
  transition:.2s;text-decoration:none;
}
.calc .btn-outline-l:hover{border-color:var(--lime);color:var(--lime)}

.calc .res-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-top:18px}
@media(max-width:880px){.calc .res-grid{grid-template-columns:1fr}}
.calc .res-card{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:clamp(22px,3vw,32px);box-shadow:0 8px 30px -18px rgba(11,59,44,.18)}
.calc .res-card h3{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.01em}
.calc .res-card .rc-s{font-size:13px;color:rgba(15,36,28,.55);margin-top:5px}

.calc .donut-wrap{display:flex;align-items:center;gap:28px;margin-top:24px;flex-wrap:wrap}
.calc .donut{position:relative;width:190px;height:190px;flex-shrink:0}
.calc .donut svg{transform:rotate(-90deg)}
.calc .donut circle{fill:none;stroke-width:20;stroke-linecap:butt;transition:stroke-dasharray 1s cubic-bezier(.6,0,.2,1)}
.calc .donut .d-center{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.calc .donut .d-center b{font-family:var(--font-display);font-size:26px;font-weight:600;display:block}
.calc .donut .d-center span{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(15,36,28,.5)}
.calc .legend{display:flex;flex-direction:column;gap:14px;flex:1;min-width:180px}
.calc .leg{display:flex;align-items:center;gap:12px}
.calc .leg .sw{width:14px;height:14px;border-radius:4px;flex-shrink:0}
.calc .leg .lg-t{font-weight:700;font-size:14px;flex:1}
.calc .leg .lg-v{font-family:var(--font-display);font-weight:600;font-size:17px;font-variant-numeric:tabular-nums}
.calc .leg .lg-p{font-size:12px;font-weight:700;color:rgba(15,36,28,.45);min-width:38px;text-align:right}

.calc .bars{display:flex;flex-direction:column;gap:13px;margin-top:24px}
.calc .bar-row .br-top{display:flex;justify-content:space-between;font-size:13.5px;font-weight:700;margin-bottom:6px}
.calc .bar-row .br-top span:last-child{font-variant-numeric:tabular-nums;color:var(--forest)}
.calc .bar-track{height:10px;border-radius:99px;background:var(--cream);overflow:hidden}
.calc .bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--forest),var(--lime-deep));width:0;transition:width 1s cubic-bezier(.6,0,.2,1)}

.calc .eqv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
@media(max-width:880px){.calc .eqv-grid{grid-template-columns:1fr}}
.calc .eqv{
  border-radius:var(--r-lg);padding:26px;position:relative;overflow:hidden;
  border:1px solid var(--line-soft);background:var(--paper);box-shadow:0 8px 30px -18px rgba(11,59,44,.18);
}
.calc .eqv .ev-n{font-family:var(--font-display);font-size:clamp(30px,4vw,40px);font-weight:600;letter-spacing:-.02em;color:var(--forest)}
.calc .eqv .ev-l{font-size:13.5px;line-height:1.5;color:rgba(15,36,28,.62);margin-top:8px}
.calc .eqv.gold{background:var(--ink);border-color:var(--ink)}
.calc .eqv.gold .ev-n{color:var(--lime)}
.calc .eqv.gold .ev-l{color:rgba(245,240,225,.7)}

.calc .method{margin-top:18px}
.calc .method details{
  background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-md);
  padding:18px 22px;font-size:13.5px;color:rgba(15,36,28,.65);line-height:1.65;
}
.calc .method summary{font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);cursor:pointer;outline:none}
.calc .method p{margin-top:10px}

.calc .res-foot{display:flex;justify-content:center;gap:16px;margin-top:34px;flex-wrap:wrap}

/* Ticker clearance is on .calc-fineprint only — keep main content tight on kitchen step */
body.page-calculator.ticker-open .site-footer{position:relative;z-index:1}

/* count pulse */
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.06)}100%{transform:scale(1)}}
.calc .pulse{animation:pop .45s cubic-bezier(.6,0,.2,1)}

/* floating +$ chips on equipment taps */
body.page-calculator .float-chip{
  position:fixed;z-index:200;pointer-events:none;
  font-weight:800;font-size:14px;padding:7px 14px;border-radius:99px;
  background:var(--ink);color:var(--lime);white-space:nowrap;
  box-shadow:0 8px 24px -6px rgba(11,36,28,.45);
  animation:floatup 1.1s cubic-bezier(.2,.6,.3,1) forwards;
}
body.page-calculator .float-chip.neg{color:var(--amber)}
@keyframes floatup{
  0%{opacity:0;transform:translate(-50%,0) scale(.7)}
  18%{opacity:1;transform:translate(-50%,-14px) scale(1.05)}
  30%{transform:translate(-50%,-20px) scale(1)}
  100%{opacity:0;transform:translate(-50%,-72px) scale(.95)}
}

/* results gate (email capture) */
.calc .gate{display:none;flex-direction:column;align-items:center;gap:14px;margin-top:28px}
.calc .gate.on{display:flex}
.calc .gate-t{font-size:15.5px;font-weight:600;color:rgba(245,240,225,.85)}
.calc #gate-form{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:520px}
.calc .gate-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;width:100%}
.calc .gate-row input[type=email]{
  padding:15px 22px;border-radius:99px;border:1.5px solid rgba(245,240,225,.3);
  background:rgba(255,255,255,.07);color:var(--cream);font-size:15px;font-weight:600;
  min-width:270px;outline:none;transition:.2s;
}
.calc .gate-row input[type=email]::placeholder{color:rgba(245,240,225,.4);font-weight:500}
.calc .gate-row input[type=email]:focus{border-color:var(--lime);background:rgba(255,255,255,.11)}
.calc .gate-optin{
  display:flex;align-items:flex-start;gap:14px;text-align:left;cursor:pointer;
  width:100%;max-width:440px;box-sizing:border-box;
  padding:16px 18px;border-radius:16px;
  border:1.5px solid rgba(201,240,77,.28);
  background:rgba(201,240,77,.08);
  transition:border-color .2s,background .2s,box-shadow .2s,transform .15s;
}
.calc .gate-optin:hover{
  border-color:rgba(201,240,77,.55);
  background:rgba(201,240,77,.12);
}
.calc .gate-optin:has(.gate-optin-input:focus-visible){
  box-shadow:0 0 0 3px rgba(201,240,77,.28);
}
.calc .gate-optin:has(.gate-optin-input:checked){
  border-color:var(--lime);
  background:rgba(201,240,77,.16);
  box-shadow:0 8px 24px -12px rgba(201,240,77,.45);
}
.calc .gate-optin-input{
  position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none;
}
.calc .gate-optin-box{
  flex-shrink:0;width:28px;height:28px;margin-top:1px;
  border-radius:8px;border:2px solid rgba(245,240,225,.4);
  background:rgba(15,36,28,.35);
  display:grid;place-items:center;
  color:transparent;
  transition:border-color .2s,background .2s,color .15s,transform .15s;
}
.calc .gate-optin-box svg{display:block}
.calc .gate-optin-input:checked + .gate-optin-box{
  border-color:var(--lime);
  background:var(--lime);
  color:var(--ink);
  transform:scale(1.04);
}
.calc .gate-optin-copy{display:flex;flex-direction:column;gap:5px;min-width:0;padding-top:1px}
.calc .gate-optin-title{
  font-size:15px;font-weight:700;line-height:1.35;
  color:var(--cream);letter-spacing:.01em;
}
.calc .gate-optin-sub{
  font-size:12.5px;font-weight:500;line-height:1.45;
  color:rgba(245,240,225,.55);
}
@media(max-width:480px){
  .calc .gate-optin{padding:14px 14px;gap:12px}
  .calc .gate-optin-title{font-size:14.5px}
  .calc .gate-optin-box{width:26px;height:26px}
}
.calc .gate-status,.calc .email-status{
  font-size:13px;font-weight:600;color:var(--lime);text-align:center;
}
.calc .gate-status.is-error,.calc .email-status.is-error{color:var(--amber)}
.calc .gate-skip{font-size:13px;color:rgba(245,240,225,.5);text-decoration:underline;transition:.2s}
.calc .gate-skip:hover{color:var(--cream)}
.calc button.btn-outline-l{cursor:pointer;font-family:inherit}
.calc .res-big{transition:filter .8s cubic-bezier(.6,0,.2,1)}
.calc .res-big.blur{filter:blur(22px);user-select:none}
.calc .blurred{filter:blur(10px);pointer-events:none;user-select:none}
.calc #res-grid, .calc #eqv-grid{transition:filter .8s cubic-bezier(.6,0,.2,1)}

/* urgency line */
.calc .urgency{
  display:none;margin:20px auto 0;width:max-content;max-width:92%;
  font-size:14.5px;font-weight:700;padding:11px 22px;border-radius:99px;
  background:rgba(245,166,59,.14);border:1px solid rgba(245,166,59,.4);color:var(--amber);
}
.calc .urgency.on{display:block;animation:rise .6s .4s both}

/* confetti-ish sparks on results */
.calc .spark{position:absolute;width:8px;height:8px;border-radius:2px;background:var(--lime);opacity:0;pointer-events:none}
@keyframes sparkfly{
  0%{opacity:1;transform:translate(0,0) rotate(0)}
  100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(240deg)}
}
