/* Slickrock Marketing — calculator styles v1.0 (loaded only on /calculators/ pages) */
.calc-intro{max-width:46rem}
.calc-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:1.6rem;align-items:start;margin-top:.5rem}
@media (max-width:900px){.calc-shell{grid-template-columns:minmax(0,1fr)}}
.calc-form{background:var(--white);border:1px solid rgba(15,28,46,.12);border-radius:14px;padding:1.3rem 1.3rem 1.1rem;display:grid;gap:.95rem;position:relative}
.calc-form h2,.calc-form h3{font-size:1.05rem;font-family:var(--body);font-weight:700;letter-spacing:0;margin:.3rem 0 0;color:var(--night)}
.calc-form .sub{font-family:var(--body);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--canyon);margin:.6rem 0 -.2rem}
.calc-form label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem;color:var(--night);min-width:0}
.calc-form .hint{font-weight:400;font-size:.8rem;color:var(--stone);line-height:1.35}
.calc-form input:not([type=checkbox]):not([type=radio]),.calc-form select{font:inherit;font-size:1rem;padding:.72rem .85rem;border:1.5px solid rgba(15,28,46,.25);border-radius:8px;background:#fff;color:var(--night);width:100%;min-width:0;font-variant-numeric:tabular-nums}
.calc-form input:focus,.calc-form select:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px rgba(239,99,35,.25)}
.calc-form input[type=date]{-webkit-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;height:3.165rem;text-align:left;background-color:#fff}
.calc-form input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.3em}
.calc-form .row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.calc-form .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem}
@media (max-width:560px){.calc-form .row{grid-template-columns:1fr}.calc-form .row3{grid-template-columns:1fr 1fr}}
.calc-form .unit{position:relative;display:flex;align-items:center}
.calc-form .unit input[type]{padding-left:1.9rem}
.calc-form .unit.suf input[type]{padding-left:.85rem;padding-right:2.6rem}
.calc-form .unit span{position:absolute;left:.8rem;color:var(--stone);font-weight:600;pointer-events:none}
.calc-form .unit.suf span{left:auto;right:.85rem}
.calc-form .check{display:flex;align-items:flex-start;gap:.6rem;font-weight:500;font-size:.92rem;cursor:pointer}
.calc-form .check input{width:1.15rem;height:1.15rem;margin:.15rem 0 0;accent-color:var(--orange);flex:none}
.calc-form .check .hint{display:block}
.calc-form .seg{display:flex;flex-wrap:wrap;gap:.4rem}
.calc-form .seg label{flex:1 1 auto;display:block;cursor:pointer}
.calc-form .seg input{position:absolute;opacity:0;width:0;height:0}
.calc-form .seg span{display:block;text-align:center;padding:.55rem .7rem;border:1.5px solid rgba(15,28,46,.25);border-radius:999px;font-size:.88rem;font-weight:600;color:var(--night);transition:background .15s,color .15s,border-color .15s}
.calc-form .seg input:checked+span{background:var(--night);color:var(--bone);border-color:var(--night)}
.calc-form .seg input:focus-visible+span{box-shadow:0 0 0 3px rgba(239,99,35,.35)}
.calc-form .pills{display:flex;flex-wrap:wrap;gap:.4rem}
.calc-form .pills button{font:inherit;font-weight:600;font-size:.9rem;padding:.5rem .85rem;border-radius:999px;border:1.5px solid rgba(15,28,46,.25);background:#fff;color:var(--night);cursor:pointer}
.calc-form .pills button.on{background:var(--orange);border-color:var(--orange)}
.calc-form .actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.2rem}
.calc-form .actions .btn{padding:.7rem 1.1rem;font-size:.95rem}
.calc-form .btn-ghost{color:var(--night);border-color:rgba(15,28,46,.3)}
.calc-form details{border:1px solid rgba(15,28,46,.12);border-radius:10px;padding:.6rem .9rem}
.calc-form details summary{cursor:pointer;font-weight:600;font-size:.92rem;color:var(--canyon)}
.calc-form details[open] summary{margin-bottom:.6rem}
.calc-form details .inner{display:grid;gap:.8rem}
.calc-form .state-note{font-size:.84rem;color:var(--night);background:var(--sand);border-radius:8px;padding:.6rem .8rem;line-height:1.4}
.calc-form .state-note b{color:var(--canyon)}
.calc-form.calc-error::after{content:"Check the numbers above — one of them isn't usable yet.";display:block;color:var(--canyon);font-size:.85rem}
.calc-form .lined{display:grid;gap:.5rem}
.calc-form .course{display:grid;grid-template-columns:1.4fr .9fr .7fr 1fr auto;gap:.5rem;align-items:end}
@media (max-width:560px){.calc-form .course{grid-template-columns:1fr 1fr;}.calc-form .course .name{grid-column:1/-1}}
.calc-form .course button{font:inherit;border:1.5px solid rgba(15,28,46,.25);background:#fff;border-radius:8px;padding:.6rem .7rem;cursor:pointer;color:var(--canyon);font-weight:700;line-height:1}
.calc-form .link{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--canyon);cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* results */
.calc-results{background:var(--night);color:var(--bone);border-radius:14px;padding:1.3rem 1.3rem 1.1rem;position:sticky;top:88px;display:grid;gap:.9rem;scroll-margin-top:84px}
@media (max-width:900px){.calc-results{position:static}}
.calc-results .big{display:grid;gap:.15rem}
.calc-results .big span{font-size:.86rem;color:var(--sand);opacity:.9;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.calc-results .big b{font-family:var(--display);font-weight:800;font-size:clamp(2.3rem,5vw,3.4rem);letter-spacing:-.04em;line-height:1;color:var(--orange);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.calc-results .big small{font-size:.9rem;color:var(--sand);font-weight:400}
.calc-results .twin{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.calc-results .twin .big b{font-size:clamp(1.5rem,3vw,2rem)}
.calc-results dl{margin:0;display:grid;gap:0}
.calc-results dl div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid rgba(250,247,242,.14);font-size:.95rem}
.calc-results dl div.total{font-weight:700;border-top-width:2px}
.calc-results dl div.good dd{color:#7fd79a}
.calc-results dl div.bad dd{color:#ff9d7a}
.calc-results dt{color:var(--sand);margin:0}
.calc-results dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.calc-results .msg{background:rgba(239,99,35,.14);border-left:3px solid var(--orange);padding:.6rem .8rem;border-radius:6px;font-size:.9rem;line-height:1.45}
.calc-results .msg.ok{background:rgba(127,215,154,.12);border-left-color:#7fd79a}
.calc-results .note{font-size:.78rem;color:var(--sand);opacity:.8;line-height:1.4;margin:0}
.calc-results .note a{color:var(--orange)}
.calc-results .tools{display:flex;flex-wrap:wrap;gap:.45rem}
.calc-results .tools button{font:inherit;font-size:.82rem;font-weight:600;padding:.45rem .8rem;border-radius:999px;border:1.5px solid rgba(250,247,242,.35);background:transparent;color:var(--bone);cursor:pointer}
.calc-results .tools button:hover{border-color:var(--orange);color:var(--orange)}
.calc-results .scale{position:relative;height:14px;border-radius:7px;background:linear-gradient(90deg,#7fb3ff 0 18%,#7fd79a 18% 40%,#f3c15a 40% 62%,#ff9d7a 62% 100%);margin:.4rem 0 1.2rem}
.calc-results .scale i{position:absolute;top:-6px;width:4px;height:26px;background:var(--bone);border-radius:2px;transform:translateX(-2px)}
.calc-results .scale em{position:absolute;top:24px;font-size:.72rem;color:var(--sand);font-style:normal;transform:translateX(-50%);white-space:nowrap}
.calc-results .grid2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.calc-results .grid2>div{background:rgba(250,247,242,.07);border-radius:10px;padding:.6rem .7rem}
.calc-results .grid2 span{display:block;font-size:.76rem;color:var(--sand);opacity:.9}
.calc-results .grid2 b{display:block;font-size:1.15rem;font-variant-numeric:tabular-nums}

/* below-the-fold blocks */
.calc-more{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;margin-top:2rem}
.calc-block{background:var(--white);border:1px solid rgba(15,28,46,.12);border-radius:14px;padding:1.3rem;min-width:0;max-width:100%}
.calc-block h2{font-size:1.25rem;margin:0 0 .8rem;font-family:var(--body);font-weight:700;letter-spacing:0}
.calc-block .head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;align-items:center;margin-bottom:.8rem}
.calc-block .head h2{margin:0}
.calc-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.calc-table{border-collapse:collapse;width:100%;font-size:.92rem;font-variant-numeric:tabular-nums;min-width:30rem}
.calc-table th,.calc-table td{padding:.5rem .4rem;border-bottom:1px solid rgba(15,28,46,.12);text-align:left;white-space:nowrap}
.calc-table th{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--stone)}
.calc-table .num{text-align:right}
.calc-table tr.hl td{background:var(--sand);font-weight:700}
.calc-table.compact{min-width:0}
.calc-svg{width:100%;height:auto;display:block;font-family:var(--body)}
.calc-svg .grid{stroke:rgba(15,28,46,.12)}
.calc-svg .grid{stroke:rgba(15,28,46,.12);stroke-width:1}
.calc-svg .ylab,.calc-svg .xlab{font-size:12px;fill:var(--stone)}
.calc-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:.5rem;font-size:.86rem;color:var(--night)}
.calc-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:.4rem;vertical-align:-1px}
.calc-donut{width:150px;height:150px;float:left;margin:0 1.2rem .6rem 0}
@media (max-width:560px){.calc-donut{float:none;margin:0 auto .8rem;display:block}}
.calc-donut .center{font-size:13px;font-weight:700;fill:var(--night)}
.calc-donut-list{list-style:none;margin:0;padding:.2rem 0 0;display:grid;gap:.35rem;overflow:hidden}
.calc-donut-list li{display:grid;grid-template-columns:auto 1fr auto auto;gap:.6rem;align-items:center;font-size:.92rem}
.calc-donut-list i{width:12px;height:12px;border-radius:3px;display:inline-block}
.calc-donut-list b{font-variant-numeric:tabular-nums}
.calc-donut-list em{font-style:normal;color:var(--stone);font-size:.82rem;min-width:2.6rem;text-align:right}
.calc-block::after{content:"";display:block;clear:both}
.calc-toggle{display:inline-flex;border:1.5px solid rgba(15,28,46,.25);border-radius:999px;overflow:hidden}
.calc-toggle button{font:inherit;font-size:.84rem;font-weight:600;padding:.4rem .8rem;border:0;background:#fff;color:var(--night);cursor:pointer}
.calc-toggle button.on{background:var(--night);color:var(--bone)}
.calc-disclaimer{font-size:.85rem;color:var(--stone);max-width:46rem;margin:1.4rem 0 0;line-height:1.5}
.calc-toast{position:fixed;left:50%;bottom:5.5rem;transform:translate(-50%,20px);background:var(--night);color:var(--bone);padding:.7rem 1.1rem;border-radius:999px;font-weight:600;font-size:.92rem;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:90;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.calc-toast.show{opacity:1;transform:translate(-50%,0)}

/* hub */
.calc-search{max-width:34rem;margin:1.4rem 0 0;position:relative}
.calc-search input{font:inherit;font-size:1.05rem;padding:.9rem 1rem .9rem 2.6rem;border:1.5px solid rgba(15,28,46,.25);border-radius:999px;width:100%;background:#fff}
.calc-search input:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px rgba(239,99,35,.25)}
.calc-search svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:var(--stone);fill:none;stroke-width:2}
.calc-cat{margin-top:2.6rem}
.calc-cat h2{font-size:var(--fs-2);margin-bottom:.3rem}
.calc-cat p.lede{font-size:1.02rem;max-width:44rem;margin:0 0 1rem;color:#2a3140}
.calc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
@media (max-width:900px){.calc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.calc-grid{grid-template-columns:1fr}}
.calc-card{background:var(--white);border:1px solid rgba(15,28,46,.12);border-radius:14px;padding:1.15rem 1.15rem 1rem;text-decoration:none;color:var(--night);display:flex;flex-direction:column;gap:.35rem;transition:transform .18s ease,border-color .18s ease}
.calc-card:hover{transform:translateY(-2px);border-color:var(--orange)}
.calc-card h3{font-size:1.12rem;margin:0;letter-spacing:-.01em}
.calc-card p{margin:0;color:var(--stone);font-size:.93rem;line-height:1.45}
.calc-card .go{margin-top:auto;padding-top:.5rem;font-weight:600;color:var(--canyon);font-size:.9rem}
.calc-card::before{content:"";display:block;width:10px;height:22px;border-radius:5px;background:var(--orange);margin-bottom:.3rem}
.calc-empty{display:none;color:var(--stone);margin-top:1.5rem}
.calc-promise{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
@media (max-width:700px){.calc-promise{grid-template-columns:1fr}}
.calc-promise div{background:rgba(250,247,242,.08);border-radius:12px;padding:.9rem 1rem;font-size:.95rem;color:var(--sand)}
.calc-promise b{display:block;color:var(--bone);font-size:1.02rem;margin-bottom:.15rem}
.calc-related{margin-top:1.5rem}
.calc-related .loc-grid a{font-size:.95rem}
.calc-guide{max-width:46rem}
.calc-guide .faq{margin-top:1.4rem}

/* print: a dedicated one-page sheet built by calc.js (hidden on screen) */
.print-sheet{display:none}
@media print{
  @page{size:letter;margin:.4in .45in}
  html,body{background:#fff!important;color:#111!important}
  body.has-print-sheet>*:not(.print-sheet){display:none!important}
  body:not(.has-print-sheet) .header,body:not(.has-print-sheet) .footer,body:not(.has-print-sheet) .mobile-bar,body:not(.has-print-sheet) .cta,body:not(.has-print-sheet) .calc-related,body:not(.has-print-sheet) .calc-guide,body:not(.has-print-sheet) .tools,body:not(.has-print-sheet) .actions{display:none!important}
  body:not(.has-print-sheet) .calc-results{position:static;background:#fff!important;color:#000!important;border:1px solid #999}
  body:not(.has-print-sheet) .calc-results .big b,body:not(.has-print-sheet) .calc-results dt,body:not(.has-print-sheet) .calc-results dd{color:#000!important}
  body:not(.has-print-sheet) .page-hero{background:#fff!important;color:#000!important}
  body:not(.has-print-sheet) .page-hero .trail,body:not(.has-print-sheet) .page-hero .bg,body:not(.has-print-sheet) .page-hero .veil{display:none}
  .print-sheet{display:block;font-family:var(--body);font-size:8.5pt;line-height:1.3;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-sheet *{box-sizing:border-box}
  .ps-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12pt;border-bottom:2pt solid #0F1C2E;padding-bottom:5pt;margin-bottom:6pt}
  .ps-head img{height:15pt;width:auto;display:block;margin-bottom:5pt}
  .ps-title{font-family:var(--display);font-weight:800;font-size:17pt;letter-spacing:-.025em;line-height:1;color:#0F1C2E}
  .ps-meta{font-size:7.2pt;color:#555;text-align:right;line-height:1.35;white-space:nowrap}
  .ps-sec{font-family:var(--body);font-weight:700;font-size:7.2pt;letter-spacing:.09em;text-transform:uppercase;color:#B93E14;margin:0 0 3pt}
  .ps-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14pt;margin-bottom:7pt}
  .ps-inputs div{display:flex;justify-content:space-between;gap:6pt;border-bottom:.5pt solid #d8d8d8;padding:1.5pt 0;font-size:7.2pt;line-height:1.25}
  .ps-inputs span{color:#444}
  .ps-inputs b{font-weight:600;white-space:nowrap;text-align:right}
  .ps-note{font-size:7pt;color:#444;margin:-5pt 0 7pt;line-height:1.3}
  .ps-results{display:grid;grid-template-columns:1fr 1.7fr;gap:8pt 16pt;margin-bottom:5pt;break-inside:avoid;align-items:start}
  .ps-results.wide{grid-template-columns:1fr 2.6fr}
  .ps-kv.cols2{grid-template-columns:1fr 1fr;column-gap:18pt}
  .ps-bigs{display:grid;gap:7pt}
  .ps-big span{display:block;font-size:6.8pt;letter-spacing:.07em;text-transform:uppercase;color:#555;font-weight:600}
  .ps-big b{display:block;font-family:var(--display);font-weight:800;font-size:24pt;color:#B93E14;letter-spacing:-.03em;line-height:1.05;overflow-wrap:anywhere}
  .ps-big.twin b{font-size:17pt}
  .ps-big small{display:block;font-size:7.6pt;color:#333;margin-top:2pt}
  .ps-msg{font-size:7.4pt;color:#222;background:#f3efe8;border-left:2pt solid #EF6323;padding:3pt 5pt;margin-top:5pt;line-height:1.3}
  .ps-kv{margin:0;display:grid;font-size:7.8pt;align-content:start}
  .ps-kv div{display:flex;justify-content:space-between;gap:8pt;padding:2.2pt 0;border-bottom:.5pt solid #d8d8d8}
  .ps-kv div.total{font-weight:700;border-bottom:1.2pt solid #0F1C2E}
  .ps-kv dt{margin:0;color:#333}
  .ps-kv dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
  .ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:6pt 16pt}
  .ps-block{break-inside:avoid;border-top:1pt solid #0F1C2E;padding-top:4pt;min-width:0}
  .ps-block.full{grid-column:1/-1}
  .ps-block.sched{break-inside:auto}
  .ps-keep{break-inside:avoid}
  .ps-newpage{break-before:page}
  .ps-block h3{font-family:var(--body);font-weight:700;font-size:9pt;margin:0 0 3pt;letter-spacing:0}
  .ps-block h4{font-family:var(--body);font-weight:600;font-size:7.4pt;margin:4pt 0 2pt;color:#444}
  .ps-block .ps-intro{font-size:7.2pt;color:#555;margin:-2pt 0 4pt}
  .print-sheet table{border-collapse:collapse;width:100%;font-size:7.6pt;font-variant-numeric:tabular-nums}
  .print-sheet th,.print-sheet td{padding:1.1pt 3pt;border-bottom:.5pt solid #ddd;text-align:left;white-space:nowrap;vertical-align:top}
  .print-sheet th{font-size:6.4pt;letter-spacing:.05em;text-transform:uppercase;color:#555;border-bottom:.8pt solid #999}
  .print-sheet td.num,.print-sheet th.num{text-align:right}
  .print-sheet tr.hl td{font-weight:700;background:#f3efe8}
  .print-sheet .calc-tablewrap{overflow:visible;margin:0;max-width:none}
  .ps-cols{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:0 8pt;align-items:start}
  .ps-cols table{font-size:var(--fs,7pt)}
  .ps-cols th,.ps-cols td{padding:.9pt 1.5pt;line-height:1.1}
  .ps-cols th{font-size:6pt;letter-spacing:0;text-transform:none;color:#444}
  .ps-cols table{break-inside:avoid}
  .print-sheet .calc-svg{width:100%;height:auto;display:block}
  .print-sheet .calc-svg .ylab,.print-sheet .calc-svg .xlab{font-size:11px}
  .print-sheet .calc-legend{font-size:7pt;gap:.2rem .8rem;margin-top:2pt}
  .print-sheet .calc-legend i{width:8px;height:8px;margin-right:.3rem}
  .print-sheet .calc-donut{width:84pt;height:84pt;float:left;margin:0 10pt 0 0}
  .print-sheet .calc-donut .center{font-size:12px}
  .print-sheet .calc-donut-list{font-size:7.6pt;gap:2pt;padding-top:4pt;list-style:none;margin:0}
  .print-sheet .calc-donut-list li,.print-sheet .calc-donut-list b{font-size:7.6pt}
  .print-sheet .calc-donut-list li{display:grid;grid-template-columns:auto 1fr auto auto;gap:5pt;align-items:center}
  .print-sheet .calc-donut-list i{width:7pt;height:7pt;border-radius:1.5pt;display:inline-block}
  .print-sheet .calc-donut-list em{font-style:normal;color:#666;font-size:7pt;min-width:22pt;text-align:right}
  .ps-block::after{content:"";display:block;clear:both}
  .ps-foot{margin-top:5pt;border-top:.5pt solid #999;padding-top:2.5pt;font-size:6.4pt;color:#555;line-height:1.3;display:flex;justify-content:space-between;gap:12pt;break-inside:avoid}
  .ps-foot b{color:#0F1C2E;white-space:nowrap}
}
