:root{--calc-ink:#0b1422;--calc-yellow:#ffd23f;--calc-blue:#1565c0;--calc-muted:#596577;--calc-line:#d8dde4;--calc-bg:#eef1f4}
*{box-sizing:border-box}
.calculator-page{max-width:1280px;margin:0 auto;padding:3.5rem 1.25rem 5rem;color:var(--calc-ink)}
.calculator-intro{max-width:780px;margin-bottom:2rem}
.calculator-intro h1{font-size:clamp(2.4rem,6vw,4.8rem);line-height:.98;letter-spacing:-.045em;margin:.25rem 0 1rem}
.calculator-intro>p:last-child{font-size:1.15rem;color:var(--calc-muted);max-width:690px}
.calculator-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(480px,1.18fr);gap:1.5rem;align-items:start}
.setup-panel,.results-panel{background:#fff;border:1px solid var(--calc-line)}
.setup-panel{padding:1.5rem;position:sticky;top:1rem}
.results-panel{padding:1.5rem}
.panel-title,.results-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--calc-line);padding-bottom:1.25rem;margin-bottom:1.25rem}
.panel-title>span{display:grid;place-items:center;min-width:2.5rem;height:2.5rem;border-radius:50%;background:var(--calc-yellow);font-weight:950}
.panel-title>div{flex:1}
.panel-title h2,.results-head h2{margin:0;font-size:1.45rem}
.panel-title p,.results-head p{margin:.25rem 0 0;color:var(--calc-muted)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field-wide{grid-column:1/-1}
.field{display:grid;gap:.45rem;font-weight:800}
.field>span:first-child{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.field small{font-weight:500;color:var(--calc-muted);text-transform:none;letter-spacing:0}
.field input,.field select{width:100%;min-height:3rem;border:1px solid #aeb7c2;border-radius:0;background:#fff;color:var(--calc-ink);font:inherit;padding:.7rem .8rem}
.field input:focus,.field select:focus,.ny-toggle input:focus-visible,.print-button:focus-visible{outline:3px solid rgba(21,101,192,.28);outline-offset:2px;border-color:var(--calc-blue)}
.input-unit{display:flex;align-items:center;border:1px solid #aeb7c2;background:#fff}
.input-unit input{border:0}
.input-unit b{padding:0 .85rem;color:var(--calc-muted)}
.ny-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--calc-line);margin-top:1.4rem;padding-top:1.4rem;cursor:pointer}
.ny-toggle span{display:grid}.ny-toggle small{font-weight:500;color:var(--calc-muted)}
.ny-toggle input{appearance:none;width:3rem;height:1.65rem;border-radius:2rem;background:#9aa4b1;position:relative;cursor:pointer;transition:.2s}
.ny-toggle input:before{content:"";position:absolute;width:1.2rem;height:1.2rem;border-radius:50%;background:#fff;left:.23rem;top:.22rem;transition:.2s}
.ny-toggle input:checked{background:var(--calc-blue)}.ny-toggle input:checked:before{transform:translateX(1.35rem)}
.ny-notice{display:flex;gap:.75rem;background:#edf5ff;border-left:4px solid var(--calc-blue);padding:1rem;margin-top:1rem}
.ny-notice span{display:grid;place-items:center;flex:0 0 1.5rem;height:1.5rem;border-radius:50%;background:var(--calc-blue);color:#fff;font-weight:900}
.ny-notice p{margin:0;font-size:.9rem}
.print-button{border:0;background:var(--calc-ink);color:#fff;font:inherit;font-weight:900;padding:.8rem 1rem;cursor:pointer}
.print-button:hover{background:#223247}
.result-feature{background:var(--calc-yellow);padding:1.5rem;margin-bottom:1rem}
.result-feature p,.result-feature span{margin:0;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.result-feature strong{display:block;font-size:clamp(2.8rem,7vw,5rem);line-height:1;margin:.35rem 0}
.result-list{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--calc-line);margin-bottom:1rem}
.result-list>div{padding:1.15rem;border-right:1px solid var(--calc-line)}.result-list>div:last-child{border-right:0}
.result-list span,.result-list small{display:block;color:var(--calc-muted);font-size:.78rem}.result-list strong{display:block;font-size:1.6rem;margin:.35rem 0}
.warning-spacing{background:var(--calc-ink);color:#fff;padding:1.3rem;margin-bottom:1rem}
.warning-spacing h3{margin:0;font-size:1.15rem}.warning-spacing>p{margin:.2rem 0 1rem;color:#b9c3ce;font-size:.85rem}
.warning-spacing>div{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.warning-spacing article{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #4c5867;padding-top:.7rem}
.warning-spacing article span{display:grid;place-items:center;background:var(--calc-yellow);color:var(--calc-ink);font-weight:950;width:2rem;height:2rem}.warning-spacing article strong{font-size:1.15rem}
.formula{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;background:var(--calc-bg);padding:1rem;margin-bottom:1rem}
.formula span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.formula code{font-weight:800;white-space:normal}
.diagram{margin:0 0 1rem;background:#f5f7f8;padding:1rem;overflow:hidden}
.traffic{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin-bottom:1.4rem}.traffic b{font-size:1.4rem}
.diagram-line{display:grid;grid-template-columns:repeat(3,1fr) 1.35fr 1.35fr 1.6fr;position:relative;gap:.25rem;align-items:end}
.diagram-line:before{content:"";position:absolute;left:0;right:0;bottom:2rem;border-top:4px solid #828c98}
.diagram-step{position:relative;z-index:1;text-align:center;display:grid;justify-items:center;gap:.35rem;min-height:5.1rem;align-content:end}
.diagram-step b{background:#fff;border:3px solid var(--calc-ink);padding:.35rem .55rem;min-width:2.3rem;font-size:.8rem}
.diagram-step span{font-size:.7rem;font-weight:800;background:#f5f7f8;padding:0 .2rem}
.taper-step b{border-color:var(--calc-blue)}.buffer-step b{border-color:#e09100}.work-step b{background:var(--calc-ink);color:#fff}
.diagram figcaption{font-size:.76rem;color:var(--calc-muted);margin-top:1rem}
.safety-note{display:flex;gap:.75rem;border:2px solid var(--calc-ink);padding:1rem}.safety-note>b{display:grid;place-items:center;flex:0 0 1.7rem;height:1.7rem;background:var(--calc-yellow)}.safety-note p{margin:0;font-size:.9rem}
.official-sources{margin-top:2rem;background:#fff;border-top:6px solid var(--calc-yellow);padding:2rem}
.official-sources h2{margin:.2rem 0 .75rem}.official-sources>p:not(.eyebrow){max-width:850px;color:var(--calc-muted)}
.source-links{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.3rem 0}.source-links a{font-weight:900;border:1px solid var(--calc-ink);padding:.7rem .9rem;color:var(--calc-ink)}
.related-links{display:flex;flex-wrap:wrap;gap:.8rem 1.3rem;border-top:1px solid var(--calc-line);padding-top:1.2rem}.related-links a{font-weight:800}
.print-summary{display:none}
@media(max-width:940px){.calculator-grid{grid-template-columns:1fr}.setup-panel{position:static}.result-list{grid-template-columns:1fr}.result-list>div{border-right:0;border-bottom:1px solid var(--calc-line)}.result-list>div:last-child{border-bottom:0}}
@media(max-width:580px){.calculator-page{padding:2rem .75rem 3rem}.field-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.results-head{display:block}.print-button{width:100%;margin-top:1rem}.warning-spacing>div{grid-template-columns:1fr}.diagram-line{min-width:620px}.diagram{overflow-x:auto}.official-sources{padding:1.25rem}}
@media print{
  @page{size:letter;margin:.45in}
  body{background:#fff!important;color:#000!important;font-size:10pt}
  .no-print,.site-header,footer,.calculator-intro,.setup-panel,.official-sources{display:none!important}
  .calculator-page{max-width:none;margin:0;padding:0}.calculator-grid{display:block}.results-panel{border:0;padding:0}
  .print-summary{display:block;border-bottom:3px solid #000;padding-bottom:.15in;margin-bottom:.18in}.print-summary h1{font-size:20pt;margin:.04in 0 .1in}.print-summary .eyebrow{font-size:8pt}.print-job{font-size:12pt;font-weight:800}.print-summary dl{display:grid;grid-template-columns:repeat(4,1fr);gap:.1in;margin:.12in 0 0}.print-summary dl div{border:1px solid #777;padding:.07in}.print-summary dt{font-size:7pt;text-transform:uppercase}.print-summary dd{margin:.03in 0 0;font-weight:800}
  .result-feature{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eee!important;padding:.13in}.result-feature strong{font-size:32pt}.result-list>div{padding:.1in}.warning-spacing{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eee!important;color:#000!important;padding:.12in}.warning-spacing>p{color:#444}.warning-spacing article span{border:1px solid #000}.formula,.diagram{padding:.1in;margin-bottom:.1in}.diagram-step{min-height:.7in}.safety-note{padding:.1in}.diagram figcaption{margin-top:.05in}
}


/* ==========================================================================
   Liability Disclaimers & Safety Notices
   ========================================================================== */

/* Concise Result Notice near calculators */
.result-safety-notice {
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-left: 4px solid #f59e0b;
  border-radius: 8px;
  padding: 12px 14px;
  margin: 16px 0;
  font-size: 0.85rem;
  line-height: 1.5;
  color: #334155;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.safety-notice-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #b45309;
  margin-bottom: 6px;
}

.safety-notice-badge svg {
  color: #d97706;
  flex-shrink: 0;
}

.safety-notice-text {
  margin: 0;
  color: #475569;
}

.safety-notice-link {
  color: #0369a1;
  font-weight: 600;
  text-decoration: underline;
  display: inline-block;
  margin-left: 4px;
}

.safety-notice-link:hover {
  color: #0c4a6e;
}

/* Full Primary Legal Disclaimer Block */
.full-liability-disclaimer {
  scroll-margin-top: 84px;
  background: #091728;
  color: #e2e8f0;
  border: 1px solid #1e293b;
  border-top: 4px solid #ffad0a;
  border-radius: 12px;
  padding: 28px 24px;
  margin: 40px auto 28px;
  max-width: 1140px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.disclaimer-container {
  max-width: 1000px;
  margin: 0 auto;
}

.disclaimer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  padding-bottom: 16px;
  margin-bottom: 18px;
}

.disclaimer-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.disclaimer-shield-icon {
  color: #ffad0a;
  flex-shrink: 0;
}

.disclaimer-title {
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin: 0;
  line-height: 1.3;
}

.disclaimer-edition-badge {
  display: inline-block;
  background: rgba(255, 173, 10, 0.15);
  border: 1px solid rgba(255, 173, 10, 0.35);
  color: #ffc247;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
  letter-spacing: 0.03em;
}

.disclaimer-body {
  font-size: 0.92rem;
  line-height: 1.65;
  color: #cbd5e1;
}

.disclaimer-body p {
  margin: 0 0 14px;
}

.disclaimer-body strong {
  color: #ffffff;
}

.disclaimer-legal-note {
  background: rgba(15, 23, 42, 0.6);
  border-left: 3px solid #64748b;
  padding: 10px 14px;
  margin: 16px 0;
  border-radius: 0 6px 6px 0;
}

.disclaimer-legal-note p {
  margin: 0;
  font-size: 0.84rem;
  color: #94a3b8;
}

.disclaimer-action-links {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.disclaimer-action-btn {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.18);
  color: #f8fafc;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.disclaimer-action-btn:hover {
  background: rgba(255, 173, 10, 0.15);
  border-color: #ffad0a;
  color: #ffffff;
}

/* Mobile Adjustments */
@media (max-width: 640px) {
  .full-liability-disclaimer {
  scroll-margin-top: 84px;
    padding: 20px 16px;
    margin: 24px 12px;
  }
  .disclaimer-title {
    font-size: 0.95rem;
  }
  .disclaimer-action-links {
    flex-direction: column;
    gap: 10px;
  }
  .disclaimer-action-btn {
    width: 100%;
    justify-content: center;
  }
}

/* Print Styles */
@media print {
  .result-safety-notice {
    background: #fff!important;
    border: 1px solid #000!important;
    border-left: 4px solid #000!important;
    color: #000!important;
  }
  .full-liability-disclaimer {
  scroll-margin-top: 84px;
    display: block!important;
    background: #fff!important;
    color: #000!important;
    border: 1px solid #000!important;
    border-top: 3px solid #000!important;
    box-shadow: none!important;
    margin: 15pt 0!important;
    padding: 12pt!important;
    page-break-inside: avoid;
  }
  .disclaimer-title {
    color: #000!important;
    font-size: 11pt!important;
  }
  .disclaimer-body {
    color: #111!important;
    font-size: 8.5pt!important;
    line-height: 1.4!important;
  }
  .disclaimer-body strong {
    color: #000!important;
  }
  .disclaimer-action-links, .disclaimer-edition-badge {
    display: none!important;
  }
}

