
/* ==========================================================================
   BRAND VARIABLES , the entire reskin surface.
   To rebrand this calculator for a client, change values in this block only.
   Nothing below this block should need editing.
   ========================================================================== */
#rk-calculator{
  /* Core palette , deep teal ink with an aqua signature */
  --rk-primary:       #111111;   /* deep teal ink , headings, panel */
  --rk-accent:        #4FC9D9;   /* aqua , the signature colour */
  --rk-accent-warm:   #111111;   /* lifted aqua , hover / secondary */
  --rk-accent-deep:   #147F90;   /* deep aqua , pressed thumb */
  --rk-accent-ink:    #111111;   /* text that sits on the dark panel */
  --rk-on-accent:     #08262C;   /* text that sits ON the aqua accent */
  --rk-accent-on-light:#111111;  /* accent-coloured text on light surfaces */
  --rk-accent-rgb:    79,201,217;/* accent as RGB, for glows and shadows */
  --rk-shadow-rgb:    14,36,41;  /* shadow tint, for rgba() shadows */

  --rk-bg:            #FFFFFF;   /* cool limewash page ground */
  --rk-surface:       #FFFFFF;   /* tile surface */
  --rk-surface-alt:   #E8E8E8;   /* track / inactive fill */
  --rk-line:          #E8E8E8;   /* hairlines */
  --rk-line-strong:   #CCCCCC;
  --rk-locked:        #8A8A8A;   /* not-yet-revealed text */
  --rk-body-ink:      #444444;   /* body copy on light */
  --rk-body-ink-soft: #767676;   /* hints, subs, breakdown keys */
  --rk-note-bg:       #F7F7F7;   /* heads-up note background */
  --rk-note-ink:      #111111;   /* heads-up note text */
  --rk-note-line:     var(--rk-accent);
  --rk-good:          #1C7A5E;   /* credit / positive readout */

  /* Typography */
  --rk-font-display: 'Newsreader', 'Iowan Old Style', Georgia, serif;
  --rk-font-body:    'Manrope', 'Helvetica Neue', Helvetica, sans-serif;
  --rk-display-weight: 600;

  /* Shape and depth */
  --rk-radius:       6px;
  --rk-radius-sm:    4px;
  --rk-shadow:       0 2px 3px rgba(var(--rk-shadow-rgb),.04), 0 10px 28px rgba(var(--rk-shadow-rgb),.09);
  --rk-shadow-lift:  0 4px 6px rgba(var(--rk-shadow-rgb),.08), 0 18px 44px rgba(var(--rk-shadow-rgb),.18);
  --rk-maxw:         800px;

  /* Motion */
  --rk-ease:         cubic-bezier(.22,.85,.3,1);
  --rk-reveal:       620ms;
}

/* ==========================================================================
   ENGINE STYLES , DO NOT EDIT
   Generic to every calculator in this library.
   ========================================================================== */
#rk-calculator *,#rk-calculator *::before,#rk-calculator *::after{box-sizing:border-box}
#rk-calculator{
  font-family:var(--rk-font-body);
  color:var(--rk-primary);
  background:var(--rk-bg);
  -webkit-font-smoothing:antialiased;
  padding:clamp(20px,5vw,56px) clamp(14px,4vw,32px) clamp(40px,8vw,88px);
  position:relative;
  line-height:1.55;
  font-size:16px;
  container-type:inline-size;
}
#rk-calculator .rk-shell{max-width:var(--rk-maxw);margin:0 auto}

/* ---- Header ---- */
#rk-calculator .rk-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--rk-accent-on-light);
  background:var(--rk-surface);
  border:1px solid var(--rk-line);
  padding:7px 15px;border-radius:999px;margin-bottom:22px;
}
#rk-calculator .rk-badge::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--rk-accent);flex:none;
}
#rk-calculator h1.rk-title{
  font-family:var(--rk-font-display);
  font-weight:var(--rk-display-weight);
  font-size:clamp(2.15rem,7.2vw,3.8rem);
  line-height:1.03;letter-spacing:-.02em;
  margin:0 0 16px;color:var(--rk-primary);
  text-wrap:balance;
}
#rk-calculator h1.rk-title em{font-style:italic;color:var(--rk-accent-on-light);}
#rk-calculator .rk-sub{
  font-size:clamp(1rem,2.4vw,1.14rem);
  color:var(--rk-body-ink);
  margin:0 0 34px;max-width:60ch;text-wrap:pretty;
}

/* ---- Sticky live panel ---- */
#rk-calculator .rk-panel{
  position:sticky;top:10px;z-index:30;
  background:var(--rk-primary);
  color:var(--rk-accent-ink);
  border-radius:var(--rk-radius);
  padding:20px clamp(18px,4vw,28px);
  box-shadow:var(--rk-shadow-lift);
  margin-bottom:30px;
  transition:transform 340ms var(--rk-ease);
}
#rk-calculator .rk-panel.rk-bump{transform:translateY(-3px) scale(1.009)}
#rk-calculator .rk-panel-top{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:18px;flex-wrap:wrap;
}
#rk-calculator .rk-panel-label{
  font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;
  opacity:.6;margin:0 0 5px;
}
#rk-calculator .rk-price{
  font-family:var(--rk-font-display);font-weight:var(--rk-display-weight);
  font-size:clamp(1.65rem,6vw,2.7rem);
  line-height:1.05;letter-spacing:-.022em;
  font-variant-numeric:tabular-nums;
  display:block;
}
#rk-calculator .rk-price .rk-dash{
  color:var(--rk-accent-warm);padding:0 .1em;
}
#rk-calculator .rk-panel-note{
  font-size:12.8px;opacity:.68;margin:8px 0 0;max-width:44ch;text-wrap:pretty;
}
#rk-calculator .rk-panel-meter{flex:none;text-align:right;min-width:104px}
#rk-calculator .rk-meter-count{
  font-family:var(--rk-font-display);
  font-size:1.4rem;line-height:1;font-variant-numeric:tabular-nums;
}
#rk-calculator .rk-meter-label{
  font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  opacity:.55;margin-top:5px;font-weight:700;
}
#rk-calculator .rk-meter-track{
  height:4px;border-radius:99px;background:rgba(255,255,255,.16);
  margin-top:9px;overflow:hidden;
}
#rk-calculator .rk-meter-fill{
  height:100%;width:0;border-radius:99px;background:var(--rk-accent);
  transition:width 520ms var(--rk-ease);
}

/* ---- Secondary stats strip inside the panel ---- */
#rk-calculator .rk-stats{
  margin-top:16px;padding-top:14px;
  border-top:1px solid rgba(255,255,255,.15);
  display:flex;flex-wrap:wrap;gap:12px 30px;
}
#rk-calculator .rk-stat{min-width:0}
#rk-calculator .rk-stat-val{
  font-family:var(--rk-font-display);
  font-size:clamp(1.02rem,3vw,1.26rem);line-height:1.15;
  font-variant-numeric:tabular-nums;display:block;
  white-space:nowrap;
}
#rk-calculator .rk-stat-val.rk-muted{opacity:.42}
#rk-calculator .rk-stat-label{
  font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  opacity:.55;margin-top:4px;display:block;font-weight:700;
}

/* ---- Tiles ---- */
#rk-calculator .rk-tile{
  background:var(--rk-surface);
  border:1px solid var(--rk-line);
  border-radius:var(--rk-radius);
  box-shadow:var(--rk-shadow);
  padding:clamp(18px,3.6vw,26px);
  margin-bottom:16px;
  position:relative;
  transition:border-color 340ms var(--rk-ease),box-shadow 340ms var(--rk-ease),transform 340ms var(--rk-ease);
}
#rk-calculator .rk-tile.rk-settled{
  border-color:var(--rk-accent);
  box-shadow:0 0 0 3px rgba(var(--rk-accent-rgb),.15),var(--rk-shadow-lift);
}
#rk-calculator .rk-tile-head{display:flex;align-items:baseline;gap:11px;margin-bottom:3px}
#rk-calculator .rk-num{
  font-family:var(--rk-font-display);
  font-size:.9rem;color:var(--rk-accent-on-light);
  font-variant-numeric:tabular-nums;flex:none;padding-top:2px;
}
#rk-calculator .rk-q{
  font-family:var(--rk-font-display);
  font-weight:var(--rk-display-weight);
  font-size:clamp(1.18rem,3.4vw,1.48rem);
  line-height:1.22;letter-spacing:-.012em;margin:0;
  text-wrap:balance;
}
#rk-calculator .rk-hint{
  font-size:13.5px;color:var(--rk-body-ink-soft);
  margin:0 0 18px;padding-left:calc(.9rem + 11px);max-width:64ch;
}

/* ---- Answer readout ---- */
#rk-calculator .rk-answer{display:flex;align-items:flex-start;gap:12px;min-height:50px;margin-bottom:6px}
#rk-calculator .rk-answer-text{flex:1;min-width:0}
#rk-calculator .rk-answer-label{
  font-family:var(--rk-font-display);
  font-weight:var(--rk-display-weight);
  font-size:clamp(1.06rem,2.8vw,1.22rem);
  line-height:1.3;display:block;
}
#rk-calculator .rk-answer-sub{
  font-size:13px;color:var(--rk-body-ink-soft);
  margin-top:3px;display:block;text-wrap:pretty;
}

/* ---- Slider ---- */
#rk-calculator .rk-slider-wrap{padding:4px 0 2px;position:relative}
#rk-calculator input[type=range].rk-slider{
  -webkit-appearance:none;appearance:none;
  width:100%;background:transparent;margin:0;
  height:38px;display:block;cursor:grab;
}
#rk-calculator input[type=range].rk-slider:active{cursor:grabbing}
#rk-calculator input[type=range].rk-slider:focus{outline:none}
#rk-calculator input[type=range].rk-slider::-webkit-slider-runnable-track{
  height:9px;border-radius:99px;border:1px solid var(--rk-line-strong);
  background:
    linear-gradient(to right,var(--rk-accent) 0 var(--rk-fill,0%),transparent var(--rk-fill,0%) 100%),
    var(--rk-surface-alt);
}
#rk-calculator input[type=range].rk-slider::-moz-range-track{
  height:9px;border-radius:99px;border:1px solid var(--rk-line-strong);
  background:
    linear-gradient(to right,var(--rk-accent) 0 var(--rk-fill,0%),transparent var(--rk-fill,0%) 100%),
    var(--rk-surface-alt);
}
#rk-calculator input[type=range].rk-slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:29px;height:29px;border-radius:50%;
  background:var(--rk-primary);
  border:3.5px solid var(--rk-surface);
  box-shadow:0 2px 5px rgba(var(--rk-shadow-rgb),.3),0 0 0 1px var(--rk-line-strong);
  margin-top:-11px;
  transition:transform 170ms var(--rk-ease),background 170ms var(--rk-ease);
}
#rk-calculator input[type=range].rk-slider::-moz-range-thumb{
  width:29px;height:29px;border-radius:50%;
  background:var(--rk-primary);
  border:3.5px solid var(--rk-surface);
  box-shadow:0 2px 5px rgba(var(--rk-shadow-rgb),.3),0 0 0 1px var(--rk-line-strong);
  transition:transform 170ms var(--rk-ease),background 170ms var(--rk-ease);
}
#rk-calculator input[type=range].rk-slider:hover::-webkit-slider-thumb,
#rk-calculator input[type=range].rk-slider:focus-visible::-webkit-slider-thumb{
  transform:scale(1.17);background:var(--rk-accent-deep);
}
#rk-calculator input[type=range].rk-slider:hover::-moz-range-thumb,
#rk-calculator input[type=range].rk-slider:focus-visible::-moz-range-thumb{
  transform:scale(1.17);background:var(--rk-accent-deep);
}
#rk-calculator input[type=range].rk-slider:active::-webkit-slider-thumb{
  transform:scale(1.32);background:var(--rk-accent-deep);
}
#rk-calculator input[type=range].rk-slider:active::-moz-range-thumb{
  transform:scale(1.32);background:var(--rk-accent-deep);
}

/* ---- Stop ticks ---- */
#rk-calculator .rk-ticks{display:flex;justify-content:space-between;padding:0 13px;margin-top:-4px}
#rk-calculator .rk-tick{
  width:3px;height:3px;border-radius:50%;
  background:var(--rk-line-strong);flex:none;
  transition:background 240ms var(--rk-ease),transform 240ms var(--rk-ease);
}
#rk-calculator .rk-tick.rk-on{background:var(--rk-accent);transform:scale(1.5)}
#rk-calculator .rk-scale{
  display:flex;justify-content:space-between;
  font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--rk-locked);font-weight:700;margin-top:7px;
}

/* ---- Heads-up note on a stop ---- */
#rk-calculator .rk-note{
  margin-top:15px;padding:12px 15px;
  background:var(--rk-note-bg);
  border-left:3px solid var(--rk-note-line);
  border-radius:0 var(--rk-radius-sm) var(--rk-radius-sm) 0;
  font-size:13.2px;line-height:1.5;color:var(--rk-note-ink);
  display:none;text-wrap:pretty;
}
#rk-calculator .rk-note.rk-show{display:block;animation:rk-fade 420ms var(--rk-ease) both}

/* ---- Progressive reveal ---- */
#rk-calculator .rk-slot{
  max-height:0;opacity:0;overflow:hidden;
  transform:translateY(14px);
  transition:max-height var(--rk-reveal) var(--rk-ease),
             opacity 460ms var(--rk-ease) 90ms,
             transform 520ms var(--rk-ease) 60ms;
}
#rk-calculator .rk-slot.rk-open{opacity:1;transform:translateY(0)}
#rk-calculator .rk-slot.rk-done{max-height:none;overflow:visible}

@keyframes rk-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes rk-fade{from{opacity:0}to{opacity:1}}
#rk-calculator .rk-intro{animation:rk-in 720ms var(--rk-ease) both}

/* ---- Breakdown card ---- */
#rk-calculator .rk-breakdown{
  background:var(--rk-surface);
  border:1px solid var(--rk-line);
  border-radius:var(--rk-radius);
  box-shadow:var(--rk-shadow);
  padding:clamp(18px,3.6vw,28px);
  margin-bottom:16px;
}
#rk-calculator .rk-breakdown h2{
  font-family:var(--rk-font-display);
  font-weight:var(--rk-display-weight);
  font-size:clamp(1.2rem,3.4vw,1.5rem);
  margin:0 0 4px;letter-spacing:-.012em;
}
#rk-calculator .rk-breakdown .rk-bd-sub{
  font-size:13.5px;color:var(--rk-body-ink-soft);margin:0 0 18px;text-wrap:pretty;
}
#rk-calculator .rk-bd-row{
  display:flex;justify-content:space-between;align-items:baseline;
  gap:16px;padding:9px 0;border-bottom:1px solid var(--rk-line);
  font-size:14.4px;
}
#rk-calculator .rk-bd-row:last-child{border-bottom:0}
#rk-calculator .rk-bd-row .rk-bd-k{color:var(--rk-body-ink-soft);min-width:0}
#rk-calculator .rk-bd-row .rk-bd-v{
  font-weight:700;font-variant-numeric:tabular-nums;
  text-align:right;flex:none;white-space:nowrap;
}
#rk-calculator .rk-bd-row.rk-bd-credit .rk-bd-v{color:var(--rk-good)}
#rk-calculator .rk-bd-row.rk-bd-total{
  border-top:2px solid var(--rk-primary);border-bottom:0;
  margin-top:4px;padding-top:13px;font-size:16px;
}
#rk-calculator .rk-bd-row.rk-bd-total .rk-bd-k{color:var(--rk-primary);font-weight:700}
#rk-calculator .rk-bd-row.rk-bd-total .rk-bd-v{font-size:1.06em}
#rk-calculator .rk-bd-head{
  font-size:10.8px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:800;color:var(--rk-locked);
  padding:18px 0 4px;border-bottom:1px solid var(--rk-line);
}
#rk-calculator .rk-bd-head:first-child{padding-top:0}

/* ---- CTA card ---- */
#rk-calculator .rk-cta{
  background:var(--rk-primary);
  color:var(--rk-accent-ink);
  border-radius:var(--rk-radius);
  padding:clamp(24px,5vw,38px);
  box-shadow:var(--rk-shadow-lift);
  text-align:center;
}
#rk-calculator .rk-cta h2{
  font-family:var(--rk-font-display);
  font-weight:var(--rk-display-weight);
  font-size:clamp(1.6rem,4.8vw,2.3rem);
  line-height:1.1;letter-spacing:-.018em;
  margin:0 0 12px;text-wrap:balance;
}
#rk-calculator .rk-cta p{font-size:15px;opacity:.78;margin:0 auto 24px;max-width:48ch;text-wrap:pretty}
#rk-calculator a.rk-btn{
  display:inline-block;
  background:var(--rk-accent);color:var(--rk-on-accent);
  font-family:var(--rk-font-body);
  font-weight:800;font-size:16px;
  text-decoration:none;
  padding:16px 38px;border-radius:999px;
  box-shadow:0 5px 16px rgba(var(--rk-accent-rgb),.34);
  transition:transform 200ms var(--rk-ease),box-shadow 200ms var(--rk-ease),background 200ms var(--rk-ease);
}
#rk-calculator a.rk-btn:hover,#rk-calculator a.rk-btn:focus-visible{
  transform:translateY(-2px);
  background:var(--rk-accent-warm);
  box-shadow:0 9px 24px rgba(var(--rk-accent-rgb),.46);
}
#rk-calculator .rk-cta-fine{font-size:12px;opacity:.52;margin:18px auto 0;max-width:56ch}

/* ---- Footer disclaimer ---- */
#rk-calculator .rk-disclaimer{
  font-size:12.2px;line-height:1.62;color:var(--rk-body-ink-soft);
  opacity:.85;margin:26px auto 0;max-width:70ch;text-align:center;text-wrap:pretty;
}

#rk-calculator :focus-visible{outline:3px solid var(--rk-accent);outline-offset:3px;border-radius:6px}

/* ---- Narrow layout ---- */
@container (max-width: 470px){
  #rk-calculator .rk-panel{padding:16px 16px 15px}
  #rk-calculator .rk-panel-top{flex-wrap:nowrap;gap:12px}
  #rk-calculator .rk-panel-label{font-size:10px;letter-spacing:.12em}
  #rk-calculator .rk-panel-note{
    margin-top:6px;font-size:12.2px;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  }
  #rk-calculator .rk-panel-meter{min-width:0;text-align:right}
  #rk-calculator .rk-meter-count{font-size:1.02rem}
  #rk-calculator .rk-meter-label{display:none}
  #rk-calculator .rk-meter-track{width:52px;margin-left:auto;margin-top:6px}
  #rk-calculator .rk-stats{margin-top:12px;padding-top:11px;gap:10px 18px}
  #rk-calculator .rk-stat-val{font-size:1rem}
  #rk-calculator .rk-stat-label{font-size:9.8px;letter-spacing:.1em}
  #rk-calculator .rk-badge{font-size:10.5px;letter-spacing:.1em;padding:6px 13px}
  #rk-calculator .rk-scale{font-size:10px}
  #rk-calculator .rk-bd-row{font-size:13.6px}
}
@media (max-width:470px){
  #rk-calculator .rk-hint{padding-left:0}
}

@media (prefers-reduced-motion:reduce){
  #rk-calculator *,#rk-calculator *::before,#rk-calculator *::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  #rk-calculator .rk-slot{transition:none}
}


/* --- Page-matching light skin (overrides engine defaults) --- */
#rk-calculator{padding:clamp(22px,4vw,44px) clamp(14px,3.5vw,32px) clamp(34px,6vw,64px)}
#rk-calculator .rk-panel{
  background:#FAFAFA;color:#111111;
  border:1px solid #E8E8E8;border-left:3px solid #4FC9D9;
  box-shadow:0 8px 26px rgba(0,0,0,.06);
}
#rk-calculator .rk-panel-label,#rk-calculator .rk-meter-label,#rk-calculator .rk-stat-label{opacity:1;color:#767676}
#rk-calculator .rk-panel-note{opacity:1;color:#444444}
#rk-calculator .rk-price .rk-dash{color:#111111}
#rk-calculator .rk-meter-track{background:#E8E8E8}
#rk-calculator .rk-meter-fill{background:#4FC9D9}
#rk-calculator .rk-stats{border-top:1px solid #E8E8E8}
#rk-calculator .rk-stat-val.rk-muted{opacity:.4}
#rk-calculator .rk-tile{box-shadow:none;border-color:#E8E8E8}
#rk-calculator .rk-tile.rk-settled{border-color:#4FC9D9;box-shadow:0 0 0 3px rgba(79,201,217,.14)}
#rk-calculator .rk-breakdown{box-shadow:none}
#rk-calculator .rk-cta{background:#FAFAFA;color:#111111;border:1px solid #E8E8E8;box-shadow:none}
#rk-calculator .rk-cta-fine{opacity:1;color:#767676}
#rk-calculator a.rk-btn{box-shadow:0 6px 18px rgba(79,201,217,.35)}
#rk-calculator input[type=range].rk-slider::-webkit-slider-thumb{background:#4FC9D9;box-shadow:0 2px 5px rgba(0,0,0,.14),0 0 0 1px #CCCCCC}
#rk-calculator input[type=range].rk-slider::-moz-range-thumb{background:#4FC9D9;box-shadow:0 2px 5px rgba(0,0,0,.14),0 0 0 1px #CCCCCC}
