/* =========================================================================
 * DentalCostCalculators.com  |  assets/css/dcc.css
 * -------------------------------------------------------------------------
 * Premium restyle. Navy + amber, matte, Satoshi (theme-loaded), soft depth.
 * Scoped to plugin containers only (.dcc-calc, .dcc-intro, .dcc-disclaimer,
 * .dcc-ins, .dcc-hf, .dcc-fin, .dcc-tco, .dcc-rest, .dcc-sr, .dcc-geo,
 * .dcc-geotable, .dcc-related) so it never restyles theme globals such as
 * body, main, or the page H1. The plugin never sets the page background.
 * Variables are namespaced (--dcc-*). This file is inlined into the
 * prototypes, so demo and production share one source of truth.
 * No em dashes in any user-facing string. American English.
 * ========================================================================= */

.dcc-calc,.dcc-intro,.dcc-disclaimer,.dcc-related,
.dcc-ins,.dcc-hf,.dcc-fin,.dcc-tco,.dcc-rest,.dcc-sr,.dcc-geo,.dcc-geotable {
  --dcc-ink:#15243C;
  --dcc-body:#454F5D;
  --dcc-muted:#79828F;
  --dcc-amber:#B45309;
  --dcc-amber-2:#8F3F0B;
  --dcc-amber-soft:#F7E4C9;
  --dcc-amber-tint:#FCF5EC;
  --dcc-navy:#15243C;
  --dcc-cream:#FBF6EF;
  --dcc-cream-2:#FDFAF5;
  --dcc-line:#EAE2D5;
  --dcc-line-2:#F0EAE0;
  --dcc-field-line:#E0D9CC;
  --dcc-green:#166534;
  --dcc-green-soft:#DCFCE7;
  --dcc-blue:#1E40AF;
  --dcc-blue-soft:#DBEAFE;
  --dcc-warn:#92400E;
  --dcc-warn-soft:#FEF3C7;
  --dcc-red:#B91C1C;
  --dcc-sh-card:0 1px 2px rgba(15,29,51,.04), 0 14px 32px -10px rgba(15,29,51,.11);
  --dcc-sh-rest:0 1px 2px rgba(15,29,51,.04);
  --dcc-sh-hover:0 3px 10px rgba(15,29,51,.06), 0 22px 42px -16px rgba(15,29,51,.17);
  --dcc-inset:inset 0 1px 2px rgba(15,29,51,.04);
  color:var(--dcc-body);
  line-height:1.55;
}

/* intro + disclaimer run the full width of the calculator */
.dcc-intro{color:#5C6675;font-size:1.02rem;line-height:1.6;margin:.2em 0 1.6em}
.dcc-disclaimer{
  background:var(--dcc-cream);border:1px solid var(--dcc-line);border-left:3px solid var(--dcc-amber);
  border-radius:12px;padding:14px 18px;font-size:.85rem;color:#6B5A46;margin:24px 0 0;line-height:1.6;
}

/* shared eyebrow tick used by legends */
.dcc-note{font-size:.81rem;color:var(--dcc-muted);line-height:1.5}
.dcc-warn{color:var(--dcc-red);font-weight:600;margin:.4em 0}

/* Form controls inherit the theme font (do not use the browser UA font), so
 * when the theme sets a site font such as Satoshi the calculators follow it.
 * The plugin never declares a font itself; typography stays theme-controlled. */
.dcc-calc button,.dcc-calc input,.dcc-calc select,.dcc-calc textarea,
.dcc-ins button,.dcc-ins input,.dcc-ins select,
.dcc-hf button,.dcc-hf input,.dcc-hf select,
.dcc-fin button,.dcc-fin input,.dcc-fin select,
.dcc-tco input,.dcc-rest input,
.dcc-sr input,
.dcc-geo select,.dcc-geotable select{font-family:inherit}

/* =========================================================================
 * PROCEDURE + MASTER CALCULATOR
 * ========================================================================= */
.dcc-calc{display:grid;grid-template-columns:1fr;gap:24px;margin:0 0 12px}
@media (min-width:760px){
  .dcc-calc{grid-template-columns:1.04fr .96fr;align-items:start}
}

.dcc-inputs,.dcc-results{
  background:#fff;border:1px solid var(--dcc-line);border-radius:22px;box-shadow:var(--dcc-sh-card);
}
.dcc-inputs{padding:4px 26px 24px}

/* input groups: fieldset -> clean section, legend -> amber eyebrow */
.dcc-calc fieldset{border:0;margin:0;padding:22px 0;border-bottom:1px solid var(--dcc-line-2)}
.dcc-calc fieldset:last-of-type{border-bottom:0}
.dcc-calc legend{
  display:block;width:100%;padding:0;margin:0 0 14px;
  font-size:.71rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--dcc-amber);
}
.dcc-calc legend::before{
  content:"";display:inline-block;width:16px;height:2px;border-radius:2px;
  background:var(--dcc-amber);vertical-align:middle;margin-right:9px;
}

.dcc-calc label{display:block;margin:0 0 13px;font-size:.88rem;font-weight:500;color:var(--dcc-ink)}
.dcc-calc label:last-child{margin-bottom:0}
.dcc-calc label.chk{display:flex;align-items:center;gap:11px;font-weight:400;color:var(--dcc-body);margin:11px 0}
.dcc-calc label.chk input{width:18px;height:18px;accent-color:var(--dcc-amber);flex:0 0 auto;margin:0}

.dcc-calc select,
.dcc-calc input[type="number"],
.dcc-calc input[type="text"]{
  display:block;width:100%;margin-top:6px;padding:13px 14px;font-size:1rem;font-weight:400;
  color:var(--dcc-ink);background:#fff;border:1px solid var(--dcc-field-line);border-radius:12px;
  box-shadow:var(--dcc-inset);appearance:none;-webkit-appearance:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.dcc-calc select{
  padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2379828F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.dcc-calc select:hover,
.dcc-calc input:hover{border-color:#CFC6B6}
.dcc-calc select:focus-visible,
.dcc-calc input:focus-visible{outline:0;border-color:var(--dcc-amber);box-shadow:0 0 0 3px rgba(180,83,9,.14)}

[data-dcc-region="insuranceInputs"]{
  background:var(--dcc-amber-tint);border:1px solid var(--dcc-amber-soft);border-radius:12px;
  padding:12px 14px;margin-top:12px;
}
[data-dcc-region="insuranceInputs"] label{margin:0 0 11px}
[data-dcc-region="insuranceInputs"] label:last-child{margin-bottom:0}

/* ---- estimate hero ---- */
.dcc-results{overflow:hidden;padding:0;border-top:3px solid var(--dcc-amber)}
@media (min-width:760px){.dcc-results{position:sticky;top:22px}}

.dcc-est-head{
  background:linear-gradient(135deg,#1B3151 0%,#0F1D33 100%);color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;
}
.dcc-est-title{display:flex;align-items:center;gap:10px}
.dcc-est-ic{
  width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.13);color:#F0C08A;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.dcc-est-ic svg{width:16px;height:16px}
.dcc-results .dcc-est-head h2{margin:0;font-size:1.03rem;font-weight:700;color:#fff;border:0;padding:0}
.dcc-est-upd{font-size:.72rem;color:#A9B7CC;white-space:nowrap}

.dcc-est-body{padding:22px}

.dcc-headline{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0 0 4px}
.dcc-typ{
  font-size:2.9rem;font-weight:700;color:var(--dcc-amber);letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;line-height:1;
}
.dcc-range{font-size:.94rem;color:var(--dcc-body);font-variant-numeric:tabular-nums}

.dcc-badge{
  display:inline-block;font-size:.71rem;font-weight:700;letter-spacing:.02em;
  padding:5px 12px;border-radius:999px;margin:12px 0 0;
}
.dcc-badge-high{background:var(--dcc-green-soft);color:var(--dcc-green)}
.dcc-badge-medium{background:var(--dcc-amber-soft);color:var(--dcc-amber-2)}
.dcc-badge-modeled{background:#EEF1F4;color:#5B6675}

/* range gauge (static, categorical, aria-hidden; no live numbers) */
.dcc-rail{margin:20px 0 4px}
.dcc-rail-track{position:relative;height:9px;border-radius:999px;background:#EFE6D7;overflow:hidden}
.dcc-rail-fill{position:absolute;inset:0 50% 0 0;background:linear-gradient(90deg,#E8CDA6 0%,var(--dcc-amber) 100%)}
.dcc-rail-ticks{position:relative;height:16px;margin-top:-12px}
.dcc-rail-ticks span{position:absolute;top:1px;width:2px;height:14px;background:#DACBB0;transform:translateX(-50%);border-radius:2px}
.dcc-rail-ticks .dcc-rail-lo{left:7%}
.dcc-rail-ticks .dcc-rail-hi{left:93%}
.dcc-rail-ticks .dcc-rail-node{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;
  border-radius:999px;background:var(--dcc-amber);border:3px solid #fff;box-shadow:0 0 0 2px var(--dcc-amber-soft);z-index:2;
}
.dcc-rail-labels{display:flex;justify-content:space-between;margin-top:12px;gap:8px}
.dcc-rail-labels span{font-size:.74rem;color:var(--dcc-muted);text-align:center;flex:1}
.dcc-rail-labels .dcc-rail-mid{color:var(--dcc-amber);font-weight:700}

/* provenance = confidence badge + sourced line (JS-managed innerHTML) */
[data-dcc-out="provenance"]{margin:2px 0 0}
.dcc-src{
  display:block;font-size:.78rem;color:var(--dcc-muted);line-height:1.55;
  margin:14px 0 0;padding-top:16px;border-top:1px solid var(--dcc-line-2);
}
.dcc-src::before{
  content:"";display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23B45309' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 2.5v5c0 4.5-3 7.6-7 9-4-1.4-7-4.5-7-9v-5z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* section labels inside the estimate */
.dcc-results h3{
  font-size:.79rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--dcc-muted);margin:22px 0 10px;
}

/* included list (JS-managed <li><span>label</span><span>amt</span>) */
.dcc-breakdown{list-style:none;padding:0;margin:0}
.dcc-breakdown li{
  display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  padding:10px 0;border-bottom:1px dashed var(--dcc-line);font-size:.93rem;color:var(--dcc-body);
}
.dcc-breakdown li:last-child{border-bottom:0}
.dcc-breakdown li span:first-child{
  padding-left:22px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23B45309' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") no-repeat left 2px/14px;
}
.dcc-breakdown li span:last-child{font-weight:700;color:var(--dcc-ink);font-variant-numeric:tabular-nums;white-space:nowrap}

/* insurance readout inside the estimate */
[data-dcc-region="insurance"] p{margin:.4em 0;font-size:.92rem}
[data-dcc-out="insurance"] .dcc-warn{
  background:var(--dcc-warn-soft);border-left:4px solid #F59E0B;color:var(--dcc-warn);
  padding:9px 12px;border-radius:6px;font-weight:600;
}

/* monthly panel */
.dcc-monthly{background:var(--dcc-cream);border:1px solid var(--dcc-line);border-radius:14px;padding:16px 18px;margin:20px 0 0}
.dcc-monthly h3{
  font-size:.83rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--dcc-ink);
  margin:0 0 6px;padding-left:22px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23B45309' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='2.5'/%3E%3Cpath d='M4 9.5h16M8 3v4M16 3v4'/%3E%3C/svg%3E") no-repeat left center/16px;
}
.dcc-monthly p{margin:0;font-size:.95rem;color:var(--dcc-body)}
.dcc-monthly .dcc-note{display:block;margin-top:7px}

/* print button */
.dcc-print,
.dcc-results button[data-dcc="print"]{
  display:inline-flex;align-items:center;gap:9px;margin-top:22px;
  background:var(--dcc-amber);color:#fff;border:0;border-radius:12px;padding:14px 22px;
  font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .15s ease,transform .15s ease;
}
.dcc-print:hover,.dcc-results button[data-dcc="print"]:hover{background:var(--dcc-amber-2);transform:translateY(-1px)}
.dcc-print:focus-visible{outline:2px solid var(--dcc-amber);outline-offset:2px}
.dcc-print-ic{display:inline-flex;flex:0 0 auto}
.dcc-print-ic svg{width:17px;height:17px}

/* print media: show estimate, hide inputs */
@media print{
  .dcc-calc .dcc-inputs,.dcc-print,.dcc-results button[data-dcc="print"]{display:none}
  .dcc-calc{grid-template-columns:1fr}
  .dcc-results{box-shadow:none}
}

/* =========================================================================
 * SHARED TOOL CHROME (insurance, hsa/fsa, financing, tco, restoration,
 * save-replace, geo, geo table). Layout restored (label above control, flex
 * rows with generous gaps). Every rule is scoped under its container class so
 * it reliably wins over the GeneratePress theme styles for inputs and buttons.
 * ========================================================================= */
.dcc-ins,.dcc-hf,.dcc-fin,.dcc-tco,.dcc-rest,.dcc-sr,.dcc-geo,.dcc-geotable{
  border:1px solid var(--dcc-line);border-radius:22px;padding:28px;background:#fff;box-shadow:var(--dcc-sh-card);
}
@media (max-width:640px){
  .dcc-ins,.dcc-hf,.dcc-fin,.dcc-tco,.dcc-rest,.dcc-sr,.dcc-geo,.dcc-geotable{padding:20px}
}
.dcc-ins-h2,.dcc-hf-h2,.dcc-fin-h2,.dcc-tco-h2,.dcc-rest-h2,.dcc-sr-h2,.dcc-geo-h2,.dcc-geotable-h2{
  margin:0 0 10px;font-size:1.4rem;font-weight:700;letter-spacing:-.02em;color:var(--dcc-ink);border:0;
}
.dcc-ins-intro,.dcc-hf-intro,.dcc-fin-intro,.dcc-tco-intro,.dcc-rest-intro,.dcc-sr-intro,.dcc-geo-intro,.dcc-geotable-intro{
  margin:0 0 22px;color:var(--dcc-body);line-height:1.6;
}

/* control rows: flex with generous gaps */
.dcc-ins .dcc-ins-controls,.dcc-ins .dcc-ins-add,
.dcc-hf .dcc-hf-controls,
.dcc-fin .dcc-fin-controls,
.dcc-geo .dcc-geo-controls,.dcc-geotable .dcc-geo-controls{
  display:flex;flex-wrap:wrap;gap:18px 22px;align-items:flex-end;margin:0 0 22px;
}
.dcc-tco .dcc-tco-controls,.dcc-rest .dcc-rest-controls{
  display:flex;flex-direction:column;gap:12px;margin:0 0 24px;
}

/* fields: label above control, generous internal gap */
.dcc-ins .dcc-ins-field,
.dcc-hf .dcc-hf-field,
.dcc-fin .dcc-fin-field,
.dcc-geo .dcc-geo-field,.dcc-geotable .dcc-geo-field{
  display:flex;flex-direction:column;gap:8px;flex:1 1 220px;min-width:180px;
  font-size:.85rem;font-weight:600;color:var(--dcc-ink);
}
/* slider tools use a column container, so the field must take natural height
   (no flex-basis, or 220px would become a minimum height and leave a big gap) */
.dcc-tco .dcc-tco-field,.dcc-rest .dcc-rest-field{
  display:flex;flex-direction:column;gap:9px;width:100%;flex:0 0 auto;
  font-size:.85rem;font-weight:600;color:var(--dcc-ink);
}
.dcc-ins .dcc-ins-field-grow{flex:1 1 320px}
.dcc-hf .dcc-hf-check{flex:1 1 100%;flex-direction:row;align-items:center;gap:9px;font-weight:500;color:var(--dcc-body);margin:2px 0 0}

/* tool inputs and selects: premium, high specificity beats the theme */
.dcc-ins .dcc-ins-field input,.dcc-ins .dcc-ins-field select,
.dcc-hf .dcc-hf-field input,.dcc-hf .dcc-hf-field select,
.dcc-fin .dcc-fin-field input,.dcc-fin .dcc-fin-field select,
.dcc-geo .dcc-geo-field select,.dcc-geotable .dcc-geo-field select{
  width:100%;margin:0;padding:13px 14px;font-size:1rem;font-weight:400;color:var(--dcc-ink);
  background:#fff;border:1px solid var(--dcc-field-line);border-radius:12px;
  box-shadow:var(--dcc-inset);appearance:none;-webkit-appearance:none;font-family:inherit;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.dcc-ins .dcc-ins-field select,.dcc-hf .dcc-hf-field select,
.dcc-fin .dcc-fin-field select,
.dcc-geo .dcc-geo-field select,.dcc-geotable .dcc-geo-field select{
  padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2379828F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.dcc-ins .dcc-ins-field input:focus-visible,.dcc-ins .dcc-ins-field select:focus-visible,
.dcc-hf .dcc-hf-field input:focus-visible,.dcc-hf .dcc-hf-field select:focus-visible,
.dcc-fin .dcc-fin-field input:focus-visible,.dcc-fin .dcc-fin-field select:focus-visible,
.dcc-geo .dcc-geo-field select:focus-visible,.dcc-geotable .dcc-geo-field select:focus-visible{
  outline:0;border-color:var(--dcc-amber);box-shadow:0 0 0 3px rgba(180,83,9,.14);
}

/* sliders */
.dcc-tco .dcc-tco-field input[type=range],.dcc-rest .dcc-rest-field input[type=range]{width:100%;accent-color:var(--dcc-amber);margin:4px 0}
.dcc-tco .dcc-tco-horizon,.dcc-rest .dcc-rest-dmg{font-size:1rem;font-weight:700;color:var(--dcc-ink);font-variant-numeric:tabular-nums}

/* tool buttons: high specificity beats the theme */
.dcc-ins .dcc-ins-addbtn{
  align-self:flex-end;padding:13px 20px;border:0;border-radius:12px;background:var(--dcc-amber);
  color:#fff;font-weight:700;font-size:1rem;line-height:1.2;cursor:pointer;font-family:inherit;transition:background-color .15s ease;
}
.dcc-ins .dcc-ins-addbtn:hover{background:var(--dcc-amber-2)}
.dcc-ins .dcc-ins-split{
  border:1px solid var(--dcc-amber);background:#fff;color:var(--dcc-amber-2);border-radius:10px;
  padding:9px 15px;font-weight:700;font-size:.88rem;cursor:pointer;font-family:inherit;margin:0 0 18px;
}
.dcc-ins .dcc-ins-split:hover{background:var(--dcc-amber-tint)}

/* radio / checkbox fieldsets (accounts, positions) */
.dcc-hf .dcc-hf-accounts,.dcc-sr .dcc-sr-positions{
  border:1px solid var(--dcc-line);border-radius:14px;padding:16px 20px;margin:0 0 22px;
  display:flex;gap:14px 30px;flex-wrap:wrap;align-items:center;background:var(--dcc-cream-2);
}
.dcc-hf .dcc-hf-accounts legend,.dcc-sr .dcc-sr-positions legend{
  font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--dcc-amber);padding:0 4px;
}
.dcc-hf .dcc-hf-radio,.dcc-sr .dcc-sr-radio{display:flex;align-items:center;gap:9px;font-weight:500;color:var(--dcc-body);margin:0}
.dcc-hf .dcc-hf-radio input,.dcc-sr .dcc-sr-radio input,.dcc-hf .dcc-hf-check input{width:17px;height:17px;accent-color:var(--dcc-amber);margin:0;flex:0 0 auto}

/* added-procedure rows in the insurance tool */
.dcc-ins .dcc-ins-items{margin:0 0 8px}
.dcc-ins .dcc-ins-row{
  display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;
  padding:14px 16px;border:1px solid var(--dcc-line);border-radius:12px;background:var(--dcc-cream-2);margin:0 0 10px;
}
.dcc-ins .dcc-ins-name{font-weight:700;flex:1 1 220px;color:var(--dcc-ink)}
.dcc-ins .dcc-ins-row input,.dcc-ins .dcc-ins-row select{
  padding:9px 11px;border:1px solid var(--dcc-field-line);border-radius:9px;font-family:inherit;background:#fff;box-shadow:var(--dcc-inset);
}
.dcc-ins .dcc-ins-remove{border:0;background:transparent;color:var(--dcc-amber-2);font-weight:700;cursor:pointer;padding:4px 8px;font-family:inherit}
.dcc-ins .dcc-ins-empty{color:var(--dcc-muted);font-style:italic;margin:4px 0}

/* semantic result callouts (savings / recommendation / national fallback) */
.dcc-ins-saving,.dcc-hf-headline,.dcc-rest-lead,.dcc-sr-lead,.dcc-geo-lead{
  background:var(--dcc-green-soft);border-left:4px solid #10B981;border-radius:10px;
  padding:14px 18px;color:#065F46;margin:0 0 16px;line-height:1.55;
}
.dcc-ins-saving{font-weight:600}
.dcc-hf-big{font-size:1.5rem;font-weight:700;color:#065F46}
.dcc-geo-natl,.dcc-geo-lead.dcc-geo-natl{background:var(--dcc-warn-soft);border-left-color:#D97706;color:var(--dcc-warn)}

/* tool tables */
.dcc-ins .dcc-ins-table,.dcc-hf .dcc-hf-table,.dcc-fin .dcc-fin-table,
.dcc-tco .dcc-tco-table,.dcc-rest .dcc-rest-table,.dcc-sr .dcc-sr-table,
.dcc-geo .dcc-geo-table,.dcc-geotable .dcc-geotable-table{
  width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:.94rem;
}
.dcc-ins .dcc-ins-table th,.dcc-ins .dcc-ins-table td,
.dcc-hf .dcc-hf-table th,.dcc-hf .dcc-hf-table td,
.dcc-fin .dcc-fin-table th,.dcc-fin .dcc-fin-table td,
.dcc-tco .dcc-tco-table th,.dcc-tco .dcc-tco-table td,
.dcc-rest .dcc-rest-table th,.dcc-rest .dcc-rest-table td,
.dcc-sr .dcc-sr-table th,.dcc-sr .dcc-sr-table td,
.dcc-geo .dcc-geo-table th,.dcc-geo .dcc-geo-table td,
.dcc-geotable .dcc-geotable-table th,.dcc-geotable .dcc-geotable-table td{
  padding:12px 14px;border-bottom:1px solid var(--dcc-line-2);text-align:left;vertical-align:top;
}
.dcc-ins .dcc-ins-table th,.dcc-fin .dcc-fin-table th,.dcc-tco .dcc-tco-table th,
.dcc-rest .dcc-rest-table th,.dcc-sr .dcc-sr-table th,.dcc-geo .dcc-geo-table th{
  font-weight:700;color:var(--dcc-ink);border-bottom:2px solid var(--dcc-field-line);
}
.dcc-ins-num,.dcc-hf-num,.dcc-fin-num,.dcc-tco-num,.dcc-rest-num,.dcc-sr-num,.dcc-geo-num{
  text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
}
.dcc-ins .dcc-ins-table tfoot td{border-top:2px solid var(--dcc-field-line);border-bottom:0;font-weight:700}
.dcc-tco-best,.dcc-rest-rec,.dcc-sr-best{background:var(--dcc-green-soft)}
.dcc-rest-unfit{opacity:.5}
.dcc-sr-gap{opacity:.7}
.dcc-geo-typ{background:var(--dcc-cream);font-weight:700}

/* status tags */
.dcc-tco-tag,.dcc-rest-tag,.dcc-sr-tag,.dcc-geotable-flag,.dcc-rest-tag-rec,.dcc-rest-tag-ok,.dcc-rest-tag-no{
  display:inline-block;font-size:.68rem;font-weight:700;border-radius:999px;padding:3px 9px;margin-left:6px;vertical-align:middle;
}
.dcc-tco-tag,.dcc-sr-tag,.dcc-rest-tag-rec{color:var(--dcc-green);background:var(--dcc-green-soft)}
.dcc-rest-tag-ok{color:var(--dcc-blue);background:var(--dcc-blue-soft)}
.dcc-rest-tag-no,.dcc-geotable-flag{color:var(--dcc-warn);background:var(--dcc-warn-soft)}

/* financing card */
.dcc-fin .dcc-fin-card{border:1px solid var(--dcc-line);border-radius:14px;padding:18px 20px;margin:0 0 16px;background:var(--dcc-cream-2)}
.dcc-fin .dcc-fin-h3{margin:0 0 8px;font-size:1.05rem;font-weight:700;color:var(--dcc-ink);border:0}

/* geo all-states table: sticky navy header, zebra rows */
.dcc-geotable .dcc-geotable-table thead th{position:sticky;top:0;background:var(--dcc-navy);color:#fff;border-bottom:0}
.dcc-geotable .dcc-geotable-table tbody tr:nth-child(even){background:var(--dcc-cream-2)}
.dcc-geotable-natl{color:var(--dcc-muted)}

/* tool warnings and small print */
.dcc-ins-disclaimer,.dcc-hf-disclaimer,.dcc-fin-disclaimer,.dcc-tco-disclaimer,.dcc-rest-disclaimer,.dcc-sr-disclaimer,.dcc-geo-disclaimer{
  font-size:.82rem;color:var(--dcc-muted);margin:10px 0 0;line-height:1.6;
}
.dcc-hf .dcc-warn,.dcc-fin .dcc-warn,.dcc-ins .dcc-warn{
  background:var(--dcc-warn-soft);border-left:4px solid #F59E0B;color:var(--dcc-warn);
  padding:11px 14px;border-radius:8px;font-weight:600;margin:0 0 14px;
}

/* =========================================================================
 * DCC BELOW-CALCULATOR SECTIONS (related directory + written content + FAQ)
 * Premium layer, v3. Scoped under .dcc-related / .dcc-content.
 * Tokens defined on the containers so .dcc-content receives the full palette.
 * Content boxes use a two-column editorial layout (heading rail + filled body)
 * so text fills the box width instead of leaving an empty right half.
 * Typefaces: Fraunces (display) + Hanken Grotesk (UI + body).
 * No em dashes in any user-facing string. American English.
 * ========================================================================= */
.dcc-related,.dcc-content{
  --dcc-ink:#15243C;
  --dcc-body:#414B5A;
  --dcc-muted:#77808E;
  --dcc-amber:#B45309;
  --dcc-amber-2:#8F3F0B;
  --dcc-amber-soft:#F7E4C9;
  --dcc-amber-tint:#FCF5EC;
  --dcc-navy:#15243C;
  --dcc-navy-2:#0F1C30;
  --dcc-cream:#FBF6EF;
  --dcc-cream-2:#FDFAF5;
  --dcc-paper:#FFFFFF;
  --dcc-line:#EAE2D5;
  --dcc-line-2:#F1EBE1;
  --dcc-hair:rgba(21,36,60,.09);
  --dcc-disp:'Fraunces',Georgia,'Times New Roman',serif;
  --dcc-uiface:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --dcc-txt:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --dcc-shq:0 1px 1px rgba(24,38,62,.03),0 2px 5px rgba(24,38,62,.045);
  --dcc-shc:0 1px 2px rgba(24,38,62,.035),0 4px 10px -5px rgba(24,38,62,.06),0 12px 26px -14px rgba(24,38,62,.10),0 26px 52px -30px rgba(24,38,62,.14);
  --dcc-shh:0 2px 5px rgba(24,38,62,.05),0 10px 22px -10px rgba(24,38,62,.13),0 24px 44px -22px rgba(24,38,62,.17),0 40px 72px -40px rgba(24,38,62,.22);
  --dcc-shn:0 2px 10px rgba(11,22,38,.24),0 14px 30px -14px rgba(11,22,38,.4),0 30px 60px -32px rgba(11,22,38,.62);
}

/* ---- theme-proofing resets (so the premium styling always wins) ----
 * Reset NESTED sections only. The container sections carry their own margin
 * on the same high-specificity selector (below) so the reset never zeroes it.
 * We do NOT blanket-reset paragraph margins here, because that outranked the
 * section-sub and "see all" spacing and collapsed it. Every paragraph sets its
 * own margin explicitly instead. */
.dcc-related,.dcc-related *,.dcc-content,.dcc-content *{box-sizing:border-box}
.dcc-related section,.dcc-content section{background:none;border:0;padding:0;margin:0}
.dcc-content .dcc-cbox,
.dcc-content article.dcc-cbox{list-style:none;margin:0}
.dcc-related a,.dcc-content a{box-shadow:none}
.dcc-content .dcc-fq,.dcc-content details.dcc-fq{border:0;padding:0;margin:0;background:none}
.dcc-content .dcc-cbox-h,.dcc-content .dcc-fqcard-t,
.dcc-related .dcc-sec-title,.dcc-content .dcc-sec-title{padding:0;background:none;text-transform:none}

/* ---- shared section header ---- */
section.dcc-related,section.dcc-content{background:none;border:0;padding:0;margin:72px 0 0}
.dcc-related,.dcc-content{max-width:100%}
.dcc-sec-head{margin:0 0 32px;padding:0 0 22px;border:0;
  background:linear-gradient(90deg,rgba(21,36,60,.13) 0%,rgba(21,36,60,.06) 55%,rgba(21,36,60,0) 100%) left bottom/100% 1px no-repeat}
.dcc-eyebrow{display:inline-flex;align-items:center;gap:11px;font-family:var(--dcc-uiface);
  font-size:.7rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--dcc-amber);margin:0 0 14px}
.dcc-eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--dcc-amber-2),var(--dcc-amber) 65%,rgba(180,83,9,0))}
.dcc-sec-title{font-family:var(--dcc-disp);font-optical-sizing:auto;font-weight:600;font-size:2.15rem;
  line-height:1.05;letter-spacing:-.024em;color:var(--dcc-navy);margin:0;border:0;
  font-feature-settings:"liga" 1,"calt" 1,"kern" 1}
.dcc-related .dcc-sec-sub,.dcc-content .dcc-sec-sub{font-family:var(--dcc-txt);font-size:.92rem;line-height:1.55;color:var(--dcc-muted);margin:12px 0 0;max-width:58ch}

/* ---- related directory ---- */
.dcc-rg{margin:0 0 36px}.dcc-rg:last-of-type{margin-bottom:0}
.dcc-rg-h{display:flex;align-items:center;gap:16px;margin:0 0 16px}
.dcc-rg-t{font-family:var(--dcc-uiface);font-size:.74rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dcc-ink);white-space:nowrap;display:inline-flex;align-items:center;gap:10px}
.dcc-rg-t::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dcc-amber);box-shadow:0 0 0 3px var(--dcc-amber-soft)}
.dcc-rg-line{flex:1;height:1px;background:linear-gradient(90deg,var(--dcc-hair),transparent)}
.dcc-rg-n{font-family:var(--dcc-disp);font-weight:500;font-size:1.1rem;color:var(--dcc-amber);
  font-feature-settings:"tnum";min-width:1.6em;text-align:right}
.dcc-related .dcc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:13px}
.dcc-related .dcc-rc{position:relative;display:flex;align-items:center;gap:14px;min-height:84px;background:var(--dcc-paper);
  border:1px solid var(--dcc-line);border-radius:14px;padding:16px 46px 16px 16px;text-decoration:none;
  box-shadow:var(--dcc-shq);overflow:hidden;
  transition:transform .22s cubic-bezier(.16,.8,.3,1),box-shadow .22s ease,border-color .22s ease}
.dcc-related .dcc-rc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--dcc-amber);
  transform:scaleY(0);transform-origin:top;transition:transform .2s ease}
.dcc-related .dcc-rc-ic{flex:0 0 auto;width:44px;height:44px;border-radius:12px;
  background:linear-gradient(160deg,#FDF8F1,var(--dcc-cream-2));color:var(--dcc-amber-2);
  display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(180,83,9,.08);
  transition:background .22s ease,color .22s ease,box-shadow .22s ease}
.dcc-related .dcc-rc-ic svg{width:22px;height:22px}
.dcc-related .dcc-rc-tx{min-width:0;display:flex;flex-direction:column;gap:3px}
.dcc-related .dcc-rc-nm{font-family:var(--dcc-uiface);font-size:.97rem;font-weight:600;color:var(--dcc-ink);line-height:1.28}
.dcc-related .dcc-rc-ds{font-family:var(--dcc-txt);font-size:.82rem;color:var(--dcc-muted);line-height:1.4}
.dcc-related .dcc-rc-go{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;
  color:#CBC1AF;transition:color .18s ease,transform .18s ease}
.dcc-related .dcc-rc-go svg{width:20px;height:20px}
.dcc-related .dcc-rc:hover,.dcc-related .dcc-rc:focus-visible{transform:translateY(-3px);
  box-shadow:var(--dcc-shh);border-color:rgba(180,83,9,.24);outline:0}
.dcc-related .dcc-rc:hover::before,.dcc-related .dcc-rc:focus-visible::before{transform:scaleY(1)}
.dcc-related .dcc-rc:hover .dcc-rc-ic,.dcc-related .dcc-rc:focus-visible .dcc-rc-ic{
  background:linear-gradient(160deg,var(--dcc-amber),var(--dcc-amber-2));
  color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 4px 10px -4px rgba(180,83,9,.5)}
.dcc-related .dcc-rc:hover .dcc-rc-go,.dcc-related .dcc-rc:focus-visible .dcc-rc-go{color:var(--dcc-amber);transform:translateY(-50%) translateX(3px)}
.dcc-related .dcc-related-all{margin:40px 0 0}
.dcc-related-all a{display:inline-flex;align-items:center;gap:9px;font-family:var(--dcc-uiface);
  font-size:.88rem;font-weight:600;color:var(--dcc-amber-2);text-decoration:none;padding:11px 19px;
  border:1px solid rgba(180,83,9,.22);border-radius:999px;background:var(--dcc-paper);box-shadow:var(--dcc-shq);
  transition:background .18s,border-color .18s,transform .18s}
.dcc-related-all a svg{width:18px;height:18px;transition:transform .18s ease}
.dcc-related-all a:hover,.dcc-related-all a:focus-visible{background:var(--dcc-amber-soft);border-color:rgba(180,83,9,.42);transform:translateY(-1px);outline:0}
.dcc-related-all a:hover svg,.dcc-related-all a:focus-visible svg{transform:translateX(4px)}

/* ---- content: premium "header band" cards (white, calculator border) ---- */
.dcc-cboxes{display:flex;flex-direction:column;gap:20px}
.dcc-content .dcc-cbox{position:relative;display:block;background:#FFFFFF;
  border:1px solid #EAE2D5;border-radius:22px;padding:0;box-shadow:var(--dcc-shc);overflow:hidden;
  transition:transform .3s cubic-bezier(.16,.84,.3,1),box-shadow .3s cubic-bezier(.16,.84,.3,1),border-color .3s ease}
.dcc-content .dcc-cbox-tab{display:none}
.dcc-content .dcc-cbox:hover{transform:translateY(-3px);box-shadow:var(--dcc-shh);border-color:#E2D7C5}
/* header band: a subtle cool strip with a lit top edge, hairline divider, and a glowing amber accent */
.dcc-content .dcc-cbox-h{position:relative;display:block;margin:0;padding:23px 40px 21px;border:0;
  font-family:var(--dcc-disp);font-optical-sizing:auto;font-weight:600;font-size:1.45rem;
  line-height:1.2;letter-spacing:-.016em;color:var(--dcc-navy);font-feature-settings:"liga" 1,"calt" 1,"kern" 1;
  background:linear-gradient(180deg,rgba(21,36,60,.052) 0%,rgba(21,36,60,.018) 100%);
  border-bottom:1px solid #EAE2D5;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.dcc-content .dcc-cbox-h::after{content:"";position:absolute;left:40px;bottom:-1px;width:54px;height:2.5px;border-radius:3px;
  background:linear-gradient(90deg,var(--dcc-amber),var(--dcc-amber-2));box-shadow:0 0 10px rgba(180,83,9,.3);
  transition:width .3s cubic-bezier(.16,.84,.3,1)}
.dcc-content .dcc-cbox:hover .dcc-cbox-h::after{width:78px}
/* body sits in white below the header, full width */
.dcc-content .dcc-cbox p{display:block;font-family:var(--dcc-txt);font-size:.92rem;line-height:1.72;
  color:var(--dcc-body);margin:0 0 13px;padding:0 40px;max-width:none}
.dcc-content .dcc-cbox p:first-of-type{padding-top:26px}
.dcc-content .dcc-cbox p:last-of-type{padding-bottom:30px;margin-bottom:0}
.dcc-content .dcc-cbox strong{color:var(--dcc-navy);font-weight:600}
.dcc-content .dcc-cbox a{color:var(--dcc-amber-2);font-weight:600;text-decoration:none;
  background-image:linear-gradient(var(--dcc-amber),var(--dcc-amber));background-size:100% 1.5px;
  background-repeat:no-repeat;background-position:0 1.05em;transition:background-position .15s ease,color .15s ease}
.dcc-content .dcc-cbox a:hover,.dcc-content .dcc-cbox a:focus-visible{color:var(--dcc-navy);background-position:0 1.18em;outline:0}

/* ---- FAQ card (matches the white header-band cards) ---- */
.dcc-content .dcc-fqcard{position:relative;margin:40px 0 0;background:#FFFFFF;
  border:1px solid #EAE2D5;border-radius:22px;box-shadow:var(--dcc-shc);padding:0;overflow:hidden}
.dcc-content .dcc-fqcard-h{position:relative;display:flex;align-items:center;gap:13px;margin:0;padding:22px 40px 20px;
  background:linear-gradient(180deg,rgba(21,36,60,.052) 0%,rgba(21,36,60,.018) 100%);
  border-bottom:1px solid #EAE2D5;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.dcc-content .dcc-fqcard-h::after{content:"";position:absolute;left:40px;bottom:-1px;width:54px;height:2.5px;border-radius:3px;
  background:linear-gradient(90deg,var(--dcc-amber),var(--dcc-amber-2));box-shadow:0 0 10px rgba(180,83,9,.3)}
.dcc-content .dcc-fqcard-eyebrow{font-family:var(--dcc-uiface);font-size:.64rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--dcc-amber-2);background:var(--dcc-amber-soft);
  border:1px solid rgba(180,83,9,.14);border-radius:7px;padding:5px 10px;line-height:1}
.dcc-content .dcc-fqcard-t{font-family:var(--dcc-disp);font-weight:600;font-size:1.4rem;color:var(--dcc-navy);margin:0;border:0;line-height:1.15}
.dcc-content .dcc-fqlist{margin:0;padding:4px 40px 12px}
.dcc-content .dcc-fq{border-top:1px solid var(--dcc-line-2)}
.dcc-content .dcc-fq:first-child{border-top:0}
.dcc-content .dcc-fq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;
  cursor:pointer;padding:19px 0;user-select:none}
.dcc-content .dcc-fq summary::-webkit-details-marker{display:none}
.dcc-content .dcc-fq-q{font-family:var(--dcc-uiface);font-size:1rem;font-weight:600;color:var(--dcc-ink);line-height:1.4}
.dcc-content .dcc-fq-ic{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--dcc-paper);border:1px solid #EAE2D5;
  position:relative;transition:background .2s,border-color .2s,transform .25s cubic-bezier(.2,.7,.3,1)}
.dcc-content .dcc-fq-ic i{position:absolute;inset:0}
.dcc-content .dcc-fq-ic i::before,.dcc-content .dcc-fq-ic i::after{content:"";position:absolute;top:50%;left:50%;width:13px;height:2px;
  border-radius:1px;background:var(--dcc-amber-2);transition:transform .25s ease,opacity .2s,background .2s}
.dcc-content .dcc-fq-ic i::before{transform:translate(-50%,-50%)}
.dcc-content .dcc-fq-ic i::after{transform:translate(-50%,-50%) rotate(90deg)}
.dcc-content .dcc-fq[open] .dcc-fq-ic{background:var(--dcc-amber);border-color:var(--dcc-amber);transform:rotate(90deg)}
.dcc-content .dcc-fq[open] .dcc-fq-ic i::before{background:#fff}
.dcc-content .dcc-fq[open] .dcc-fq-ic i::after{opacity:0}
.dcc-content .dcc-fq summary:hover .dcc-fq-q,.dcc-content .dcc-fq summary:focus-visible .dcc-fq-q{color:var(--dcc-navy)}
.dcc-content .dcc-fq summary:focus-visible{outline:0}
.dcc-content .dcc-fq summary:focus-visible .dcc-fq-ic{border-color:var(--dcc-amber);box-shadow:0 0 0 3px var(--dcc-amber-soft)}
.dcc-content .dcc-fq summary:hover .dcc-fq-ic{border-color:var(--dcc-amber)}
.dcc-content .dcc-fq-a{padding:0 48px 22px 0}
.dcc-content .dcc-fq-a p{font-family:var(--dcc-txt);font-size:.92rem;line-height:1.72;color:var(--dcc-body);margin:0}
.dcc-content .dcc-fq-a a{color:var(--dcc-amber-2);font-weight:600;text-decoration:underline}

/* ---- honesty note: navy sourcing band (the signature) ---- */
.dcc-content .dcc-cnote{position:relative;display:flex;gap:17px;align-items:flex-start;margin:28px 0 0;padding:22px 28px;
  background:
    radial-gradient(130% 180% at 0% 0%,rgba(64,96,140,.35) 0%,rgba(64,96,140,0) 42%),
    linear-gradient(158deg,#1A2C46 0%,var(--dcc-navy) 46%,var(--dcc-navy-2) 100%);
  border:1px solid rgba(120,150,190,.16);border-radius:18px;box-shadow:var(--dcc-shn);overflow:hidden}
.dcc-content .dcc-cnote::before{content:"";position:absolute;left:0;right:0;top:0;height:1.5px;
  background:linear-gradient(90deg,var(--dcc-amber),rgba(180,83,9,0) 58%)}
.dcc-content .dcc-cnote::after{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.dcc-content .dcc-cnote svg{flex:0 0 auto;width:34px;height:34px;padding:7px;border-radius:10px;
  color:#F2BC83;background:linear-gradient(160deg,rgba(242,188,131,.2),rgba(242,188,131,.08));
  box-shadow:inset 0 0 0 1px rgba(242,188,131,.28),0 4px 12px -6px rgba(0,0,0,.5);margin-top:1px}
.dcc-content .dcc-cnote p{font-family:var(--dcc-txt);font-size:.9rem;line-height:1.68;color:#DEE4EE;margin:0;max-width:none}
.dcc-content .dcc-cnote strong{color:#fff;font-weight:600}

/* ---- motion + focus safety floor ---- */
@media (prefers-reduced-motion:reduce){
  .dcc-related *,.dcc-content *{transition:none !important}
  .dcc-related .dcc-rc:hover,.dcc-related .dcc-rc:focus-visible,
  .dcc-content .dcc-cbox:hover{transform:none}
}
.dcc-content .dcc-cbox a:focus-visible,.dcc-content .dcc-fq-a a:focus-visible{outline:2px solid var(--dcc-amber);outline-offset:2px;border-radius:2px}

/* ---- mobile ---- */
@media (max-width:720px){
  .dcc-related,.dcc-content{margin-top:52px}
  .dcc-sec-title{font-size:1.55rem}
  .dcc-sec-head{margin-bottom:24px;padding-bottom:16px}
  .dcc-related .dcc-grid{grid-template-columns:1fr}
  .dcc-related .dcc-rc{min-height:0}
  .dcc-content .dcc-cbox{border-radius:16px}
  .dcc-content .dcc-cbox-h{font-size:1.2rem;padding:18px 22px 16px}
  .dcc-content .dcc-cbox-h::after{left:22px;width:46px}
  .dcc-content .dcc-cbox p{font-size:.9rem;padding:0 22px}
  .dcc-content .dcc-cbox p:first-of-type{padding-top:20px}
  .dcc-content .dcc-cbox p:last-of-type{padding-bottom:24px}
  .dcc-content .dcc-fqcard-h{padding:18px 22px 16px}
  .dcc-content .dcc-fqcard-h::after{left:22px;width:46px}
  .dcc-content .dcc-fqcard-t{font-size:1.2rem}
  .dcc-content .dcc-fqlist{padding:2px 22px 8px}
  .dcc-content .dcc-fq-a{padding-right:16px}
  .dcc-content .dcc-cnote{padding:16px 18px;gap:12px}
}

/* =========================================================================
 * DCC v0.3.3: MOBILE CONTAINMENT FOR WIDE TOOL RESULT TABLES
 * The insurance plan table and the financing plan tables are wider than
 * small phone screens. Scroll them inside their own box instead of letting
 * the whole page scroll sideways. Additive and scoped; the base calculator
 * CSS above is byte-for-byte unchanged.
 * ========================================================================= */
.dcc-ins .dcc-ins-result{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dcc-fin .dcc-fin-card{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* =========================================================================
 * DCC v0.3.3: MOBILE CONTAINMENT FOR WIDE TOOL RESULT TABLES
 * The insurance plan table and the financing plan tables are wider than
 * small phone screens. Scroll them inside their own box instead of letting
 * the whole page scroll sideways. Additive and scoped; the base calculator
 * CSS above is byte-for-byte unchanged.
 * ========================================================================= */
.dcc-ins .dcc-ins-result{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dcc-fin .dcc-fin-card{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* =========================================================================
 * DCC v0.5.0: SITE TYPE SYSTEM
 * Headings keep Fraunces exactly as before: the display token above is
 * untouched. Every other letter and number moves to Plus Jakarta Sans,
 * including the calculator widget, which previously inherited the theme
 * font. The estimate headline becomes a stacked block: a small gold caps
 * label, the big amber figure in tabular numerals, then the range line.
 * Additive and scoped; the base calculator CSS (lines 1 to 411) is
 * byte-for-byte unchanged.
 * ========================================================================= */
.dcc-calc,.dcc-intro,.dcc-disclaimer{
  --dcc-pjs:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-family:var(--dcc-pjs);
}
.dcc-calc input,.dcc-calc select,.dcc-calc button,.dcc-calc textarea{font-family:var(--dcc-pjs)}

[data-dcc-out="range"]{display:block;line-height:1;padding:4px 0 8px}
[data-dcc-out="range"] .dcc-typ{
  font-family:var(--dcc-pjs);font-weight:700;font-size:3.3rem;letter-spacing:-.03em;
  font-feature-settings:"lnum" 1,"tnum" 1;font-variant-numeric:tabular-nums;
  color:var(--dcc-amber);display:block;margin:0 0 10px;
}
[data-dcc-out="range"] .dcc-range{
  display:block;font-family:var(--dcc-pjs);font-weight:450;font-size:.97rem;
  color:#66707F;font-feature-settings:"tnum" 1;
}

.dcc-calc fieldset{padding:26px 0}
.dcc-calc legend{
  font-family:var(--dcc-pjs);font-weight:700;font-size:.67rem;letter-spacing:.18em;
  text-transform:uppercase;color:#A98D5F;
}
.dcc-calc label{font-family:var(--dcc-pjs);font-weight:550;font-size:.875rem;color:#232B3B;margin-bottom:14px}
.dcc-calc label.chk{font-weight:430}
.dcc-calc input,.dcc-calc select{font-weight:470;font-size:.95rem;padding:11px 13px;font-feature-settings:"tnum" 1}
.dcc-calc button{font-weight:650;letter-spacing:.015em;padding:14px 20px}

[data-dcc-out="breakdown"],[data-dcc-out="monthly"],[data-dcc-out="insurance"]{
  font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;
}
[data-dcc-out="breakdown"] li{padding:8px 0}
[data-dcc-out="breakdown"] li span:first-child{font-weight:440;color:#3C4454}
[data-dcc-out="breakdown"] li span:last-child{font-weight:640;color:#141F38;font-size:1rem}
[data-dcc-out="provenance"],.dcc-note,.dcc-disclaimer{font-weight:430;color:#79828F}

.dcc-content .dcc-cbox p,.dcc-content .dcc-fq-a p{
  font-weight:430;font-size:.94rem;line-height:1.74;letter-spacing:.002em;color:#3C4454;
}
.dcc-content .dcc-fq-q{font-weight:620;font-size:.99rem;letter-spacing:-.005em}
.dcc-eyebrow,.dcc-rg-t,.dcc-fqcard-eyebrow{font-weight:720;letter-spacing:.16em}
.dcc-related .dcc-rc-nm{font-weight:620;font-size:.97rem}
.dcc-related .dcc-rc-ds,.dcc-sec-sub{font-weight:430}
.dcc-content .dcc-cnote p{font-weight:430;letter-spacing:.004em;line-height:1.7}
.dcc-related-all a{font-weight:650}

@media (max-width:480px){
  [data-dcc-out="range"] .dcc-typ{font-size:2.6rem}
}
