/* 
Theme Name: VENDE TU CASA EN SANTIAGO
Theme URI: http://www.mundobuses.cl
Description: Vende tu Casa en Santiago
Version: 1
Author: Juan Espinoza B
Author URI: www.gordosantiago.cl
*/
/* ==========================================================================
   HomeCostFinder — custom styles (loaded AFTER Bootstrap 5)
   Mobile-first: base rules target ~375px; min-width media queries expand up.
   Bootstrap breakpoints used: sm 576px / md 768px / lg 992px / xl 1200px
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design tokens
   -------------------------------------------------------------------------- */
:root {
  --hcf-navy-900: #0d1f30;
  --hcf-navy-800: #123354;
  --hcf-ink: #16202b;
  --hcf-ink-600: #3d4f60;
  --hcf-ink-500: #57687a;
  --hcf-ink-400: #68798a;
  --hcf-ink-300: #8b9aa8;
  --hcf-ink-200: #a5b2bf;
  --hcf-blue: #1668b8;
  --hcf-blue-dark: #0f4f8f;
  --hcf-blue-light: #eaf2fb;
  --hcf-orange: #f5772c;
  --hcf-orange-dark: #e0530c;
  --hcf-orange-light: #fff1e7;
  --hcf-bg: #f4f6f9;
  --hcf-surface: #fff;
  --hcf-surface-alt: #f7f9fb;
  --hcf-border: #e2e8ef;
  --hcf-border-soft: #eef2f6;
  --hcf-border-input: #dbe3ec;
  --hcf-green: #15803d;
  --hcf-red: #c2410c;
  --hcf-font-sans: "Public Sans", Helvetica, Arial, sans-serif;
  --hcf-font-display: "Manrope", Helvetica, Arial, sans-serif;
  --hcf-font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --hcf-radius: 14px;
  --hcf-radius-sm: 10px;
  --hcf-shadow-card: 0 24px 60px -20px rgba(4, 20, 35, .55), 0 2px 6px rgba(4, 20, 35, .2);
}

/* Bootstrap theme overrides */
.btn-primary {
  --bs-btn-bg: var(--hcf-orange);
  --bs-btn-border-color: var(--hcf-orange);
  --bs-btn-hover-bg: var(--hcf-orange-dark);
  --bs-btn-hover-border-color: var(--hcf-orange-dark);
  --bs-btn-active-bg: var(--hcf-orange-dark);
  --bs-btn-active-border-color: var(--hcf-orange-dark);
  --bs-btn-disabled-bg: var(--hcf-orange);
  --bs-btn-disabled-border-color: var(--hcf-orange);
}

/* --------------------------------------------------------------------------
   2. Base / typography (mobile first — 16px minimum body text)
   -------------------------------------------------------------------------- */
body {
  background: var(--hcf-bg);
  font-family: var(--hcf-font-sans);
  color: var(--hcf-ink);
  font-size: 16.5px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-wrap: pretty;
}

a { color: var(--hcf-blue); text-decoration: none; }
a:hover { color: #f26b21; text-decoration: underline; }
::selection { background: #ffd9c2; }

h1, h2, h3, .hcf-display {
  font-family: var(--hcf-font-display);
  font-weight: 800;
  letter-spacing: -.025em;
  color: var(--hcf-ink);
}

.hcf-mono { font-family: var(--hcf-font-mono); }

.hcf-eyebrow {
  font-family: var(--hcf-font-mono);
  font-size: 11.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--hcf-ink-300);
}

/* Section headings inside content */
.hcf-h2 { font-size: 24px; margin-bottom: .5rem; }
@media (min-width: 768px) { .hcf-h2 { font-size: 29px; } }

.hcf-lead {
  font-size: 16.5px;
  line-height: 1.6;
  color: var(--hcf-ink-500);
  max-width: 60ch;
}

/* Tap-target floor for accessibility (44x44) */
.hcf-tap { min-height: 44px; display: inline-flex; align-items: center; }

/* --------------------------------------------------------------------------
   3. Header / Navbar
   -------------------------------------------------------------------------- */
.hcf-navbar {
  background: var(--hcf-surface);
  border-bottom: 1px solid var(--hcf-border);
  box-shadow: 0 1px 12px -4px rgba(4, 20, 35, .14);
}

.hcf-brand {
  font-family: var(--hcf-font-display);
  font-weight: 800;
  font-size: 17px;
  letter-spacing: -.02em;
  color: var(--hcf-navy-900);
}
.hcf-brand:hover { color: var(--hcf-navy-900); text-decoration: none; }
.hcf-brand span { color: var(--hcf-orange-dark); }

.hcf-brand-mark {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: linear-gradient(160deg, #f26b21, #e04b0d);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Bootstrap toggler, restyled to match the design (44x44 tap target) */
.hcf-navbar .navbar-toggler {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1.5px solid var(--hcf-border-input);
  border-radius: 10px;
  background: var(--hcf-surface-alt);
}
.hcf-navbar .navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(22, 104, 184, .14); }
.hcf-navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%230d1f30' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.6' d='M6 8h18M6 15h18M6 22h18'/%3e%3c/svg%3e");
  width: 18px;
  height: 18px;
}

.hcf-navbar .nav-link {
  color: var(--hcf-ink-600);
  font-weight: 600;
  font-size: 15.5px;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.hcf-navbar .nav-link:hover { color: var(--hcf-blue); }
.hcf-navbar .nav-link.active { color: var(--hcf-navy-900); }

@media (min-width: 992px) {
  .hcf-navbar .nav-link { font-size: 14.5px; }
}

/* --------------------------------------------------------------------------
   4. Hero + calculator
   -------------------------------------------------------------------------- */
.hcf-hero {
  background: linear-gradient(180deg, #0d1f30 0%, #123354 62%, #123354 100%);
  padding-top: 32px;
  padding-bottom: 84px;
}
@media (min-width: 768px) { .hcf-hero { padding-top: 44px; } }

.hcf-hero h1 {
  color: #fff;
  font-size: 30px;
  line-height: 1.08;
  letter-spacing: -.03em;
}
@media (min-width: 576px) { .hcf-hero h1 { font-size: 38px; } }
@media (min-width: 992px) { .hcf-hero h1 { font-size: 46px; line-height: 1.05; } }

.hcf-hero-sub {
  font-size: 16.5px;
  line-height: 1.6;
  color: #bdd0df;
  max-width: 46ch;
}
@media (min-width: 992px) { .hcf-hero-sub { font-size: 17px; } }

.hcf-badge-data {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(242, 107, 33, .14);
  border: 1px solid rgba(248, 160, 106, .4);
  color: #f8b58a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 6px 11px;
  border-radius: 999px;
}
.hcf-badge-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--hcf-orange);
  display: inline-block;
}

.hcf-hero-check { font-size: 14.5px; color: #cfe0ec; line-height: 1.5; }

/* Calculator card */
.hcf-calc-card {
  background: var(--hcf-surface);
  border-radius: 18px;
  box-shadow: var(--hcf-shadow-card);
  overflow: hidden;
}
.hcf-calc-head {
  padding: 20px 18px;
  border-bottom: 1px solid #e6ebf1;
}
.hcf-calc-body { padding: 20px 18px 22px; }
@media (min-width: 576px) {
  .hcf-calc-head { padding: 22px 26px 20px; }
  .hcf-calc-body { padding: 24px 26px 26px; }
}

.hcf-field-label {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #4a5b6b;
  margin-bottom: 8px;
}
.hcf-field-label .hcf-field-hint {
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: var(--hcf-ink-300);
}

/* Native select, restyled. 16px minimum stops iOS auto-zoom. */
.hcf-select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  font-size: 16px;
  font-weight: 600;
  color: var(--hcf-ink);
  background: var(--hcf-surface-alt);
  border: 1.5px solid var(--hcf-border-input);
  border-radius: 11px;
  padding: 14px 42px 14px 14px;
  min-height: 48px;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3e%3cpath d='M1 1.5L6 6.5L11 1.5' fill='none' stroke='%235b6b7c' stroke-width='2' stroke-linecap='round'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
}
.hcf-select:focus {
  outline: none;
  border-color: var(--hcf-blue);
  box-shadow: 0 0 0 3px rgba(22, 104, 184, .14);
}

/* Segmented option buttons (furnace type, size, efficiency, ducts) */
.hcf-optgrid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.hcf-optgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hcf-optgrid--2 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 400px) {
  .hcf-optgrid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 576px) {
  .hcf-optgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.hcf-opt {
  background: var(--hcf-surface);
  color: var(--hcf-ink-600);
  border: 1.5px solid var(--hcf-border-input);
  border-radius: var(--hcf-radius-sm);
  padding: 12px 6px;
  min-height: 48px;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.25;
  cursor: pointer;
  transition: background-color .12s, border-color .12s, color .12s;
}
.hcf-opt:hover { border-color: var(--hcf-blue); }
.hcf-opt.is-active {
  background: var(--hcf-blue-light);
  color: var(--hcf-blue-dark);
  border-color: var(--hcf-blue);
}
.hcf-opt--stack { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.hcf-opt--stack .hcf-opt-glyph { font-size: 15px; }
.hcf-opt--text { text-align: left; padding: 12px; }
.hcf-opt--text .hcf-opt-sub {
  display: block;
  font-weight: 500;
  font-size: 12px;
  opacity: .72;
  margin-top: 2px;
}

/* Primary CTA */
.hcf-btn-calc {
  width: 100%;
  background: linear-gradient(170deg, var(--hcf-orange), var(--hcf-orange-dark));
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 17px;
  min-height: 56px;
  font-family: var(--hcf-font-display);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.01em;
  cursor: pointer;
  box-shadow: 0 10px 22px -8px rgba(224, 83, 12, .65);
}
.hcf-btn-calc:hover { filter: brightness(1.06); color: #fff; }
.hcf-btn-calc:active { transform: translateY(1px); }

.hcf-btn-quotes {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--hcf-navy-900);
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 16px;
  min-height: 52px;
  font-family: var(--hcf-font-display);
  font-size: 15.5px;
  font-weight: 700;
}
.hcf-btn-quotes:hover { background: var(--hcf-navy-800); color: #fff; text-decoration: none; }

/* --------------------------------------------------------------------------
   5. Result panel
   -------------------------------------------------------------------------- */
.hcf-result { border-top: 1px solid #e6ebf1; padding-top: 22px; margin-top: 20px; }
.hcf-result[hidden] { display: none; }

.hcf-result-figure {
  font-family: var(--hcf-font-display);
  font-weight: 800;
  font-size: 34px;
  letter-spacing: -.035em;
  line-height: 1.05;
  margin: 8px 0 10px;
  color: var(--hcf-navy-900);
  font-variant-numeric: tabular-nums;
}
@media (min-width: 576px) { .hcf-result-figure { font-size: 42px; } }

.hcf-vs-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  padding: 6px 11px;
  border-radius: 8px;
  border: 1px solid transparent;
}
.hcf-vs-pill.is-cheaper { background: #eaf7ee; color: var(--hcf-green); border-color: #c3e6cf; }
.hcf-vs-pill.is-pricier { background: #fdf0e8; color: var(--hcf-red); border-color: #f6d3bd; }
.hcf-vs-pill.is-neutral { background: var(--hcf-surface-alt); color: var(--hcf-ink-400); border-color: #e6ebf1; }

.hcf-breakdown {
  background: var(--hcf-surface-alt);
  border: 1px solid #e6ebf1;
  border-radius: 12px;
  padding: 16px;
}
.hcf-breakdown-row + .hcf-breakdown-row { margin-top: 11px; }
.hcf-breakdown-label { font-size: 13.5px; color: var(--hcf-ink-600); font-weight: 600; }
.hcf-breakdown-amount {
  font-family: var(--hcf-font-mono);
  font-size: 13.5px;
  color: var(--hcf-ink);
  font-variant-numeric: tabular-nums;
}
.hcf-bar { height: 6px; background: #e6ebf1; border-radius: 99px; overflow: hidden; margin-top: 5px; }
.hcf-bar > span { display: block; height: 100%; border-radius: 99px; }

/* --------------------------------------------------------------------------
   6. Ad slots
   -------------------------------------------------------------------------- */
.hcf-ad-label {
  font-family: var(--hcf-font-mono);
  font-size: 10px;
  letter-spacing: .14em;
  color: var(--hcf-ink-200);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.hcf-ad-frame {
  background: var(--hcf-surface);
  border: 1px solid var(--hcf-border);
  border-radius: var(--hcf-radius);
  padding: 12px;
}
.hcf-ad-fill {
  border-radius: 9px;
  background-image: repeating-linear-gradient(135deg, #eef2f6 0 10px, #f7f9fb 10px 20px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--hcf-font-mono);
  font-size: 12px;
  color: #93a1af;
  text-align: center;
}
.hcf-ad-leaderboard { height: 106px; }
.hcf-ad-rail { height: 600px; }
.hcf-ad-rail span { transform: rotate(-90deg); white-space: nowrap; }
.hcf-ad-native-img {
  width: 132px;
  height: 92px;
  flex-shrink: 0;
  border-radius: 9px;
  background-image: repeating-linear-gradient(135deg, #eef2f6 0 10px, #f7f9fb 10px 20px);
}
.hcf-ad-pull-up { margin-top: -56px; position: relative; z-index: 2; }

/* Sticky sidebar rail — desktop only (lg and up) */
.hcf-rail { display: none; }
@media (min-width: 992px) {
  .hcf-rail { display: block; position: sticky; top: 82px; }
}

/* Sticky bottom anchor — mobile only (below lg) */
.hcf-anchor-ad {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 1030;
  background: var(--hcf-surface);
  border-top: 1px solid var(--hcf-border-input);
  box-shadow: 0 -6px 18px -8px rgba(4, 20, 35, .22);
  padding: 8px 10px 10px;
}
.hcf-anchor-ad .hcf-ad-fill { height: 56px; font-size: 11px; }
.hcf-anchor-close {
  width: 24px; height: 24px;
  border-radius: 4px;
  border: 1px solid var(--hcf-border-input);
  background: var(--hcf-surface);
  color: var(--hcf-ink-200);
  font-size: 12px;
  line-height: 1;
  padding: 0;
}
/* Body padding so the anchor never covers the footer's last line */
body.has-anchor-ad { padding-bottom: 96px; }
@media (min-width: 992px) {
  .hcf-anchor-ad { display: none; }
  body.has-anchor-ad { padding-bottom: 0; }
}

/* --------------------------------------------------------------------------
   7. Content cards, tables, accordion
   -------------------------------------------------------------------------- */
.hcf-card {
  background: var(--hcf-surface);
  border: 1px solid var(--hcf-border);
  border-radius: var(--hcf-radius);
}
.hcf-card-pad { padding: 20px; }
@media (min-width: 576px) { .hcf-card-pad { padding: 22px; } }

.hcf-icon-tile {
  width: 42px; height: 42px;
  border-radius: 11px;
  background: var(--hcf-blue-light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.hcf-icon-tile--warm { background: var(--hcf-orange-light); }

.hcf-card-title {
  font-family: var(--hcf-font-display);
  font-weight: 700;
  font-size: 17px;
  margin-bottom: 7px;
  color: var(--hcf-ink);
}
.hcf-card-text { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--hcf-ink-500); }
.hcf-impact { font-family: var(--hcf-font-mono); font-size: 12px; color: var(--hcf-blue); margin-top: 12px; }
.hcf-impact--warm { color: var(--hcf-orange-dark); }

/* Clickable guide cards */
a.hcf-card-link { display: block; text-decoration: none; transition: box-shadow .15s, border-color .15s; }
a.hcf-card-link:hover {
  text-decoration: none;
  border-color: #c3d5e6;
  box-shadow: 0 12px 26px -14px rgba(4, 20, 35, .3);
}

/* Repair vs replace */
.hcf-card--top-blue { border-top: 4px solid var(--hcf-blue); }
.hcf-card--top-orange { border-top: 4px solid var(--hcf-orange-dark); }
.hcf-tick { font-size: 15px; line-height: 1.55; color: var(--hcf-ink-600); }
.hcf-tick > span:first-child { font-weight: 700; }

/* State cost table — horizontal scroll on mobile */
.hcf-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.hcf-table thead tr { background: var(--hcf-surface-alt); }
.hcf-table th {
  font-size: 11.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--hcf-ink-400);
  font-weight: 700;
  padding: 11px 16px;
  border-bottom: 1px solid #e6ebf1;
  white-space: nowrap;
}
.hcf-table td {
  padding: 12px 16px;
  font-size: 15px;
  border-bottom: 1px solid var(--hcf-border-soft);
  vertical-align: middle;
}
.hcf-table tbody tr:hover { background: #f9fbfd; }
.hcf-table .hcf-td-state { font-weight: 600; color: var(--hcf-ink); white-space: nowrap; }
.hcf-table .hcf-td-abbr { font-family: var(--hcf-font-mono); font-size: 11.5px; color: #93a1af; margin-right: 9px; }
.hcf-table .hcf-td-num {
  text-align: right;
  font-family: var(--hcf-font-mono);
  color: var(--hcf-ink-600);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.hcf-table .hcf-td-cities { font-size: 13.5px; color: var(--hcf-ink-400); min-width: 190px; }
.hcf-table .hcf-td-vs { text-align: right; white-space: nowrap; font-weight: 700; font-size: 13px; font-variant-numeric: tabular-nums; }
.hcf-vs-down { color: var(--hcf-green); }
.hcf-vs-up { color: var(--hcf-red); }
.hcf-vs-flat { color: var(--hcf-ink-400); }

.hcf-source-note {
  padding: 12px 16px;
  font-size: 12.5px;
  color: var(--hcf-ink-300);
  background: var(--hcf-surface-alt);
  border-top: 1px solid #e6ebf1;
  line-height: 1.5;
}

/* Search input inside the table card */
.hcf-search { position: relative; }
.hcf-search .form-control {
  font-size: 16px; /* iOS zoom guard */
  padding: 11px 12px 11px 36px;
  min-height: 46px;
  border: 1.5px solid var(--hcf-border-input);
  border-radius: 9px;
  background: var(--hcf-surface-alt);
}
.hcf-search .form-control:focus {
  border-color: var(--hcf-blue);
  background: var(--hcf-surface);
  box-shadow: 0 0 0 3px rgba(22, 104, 184, .14);
}
.hcf-search svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); }

/* FAQ accordion, restyled Bootstrap */
.hcf-accordion .accordion-item { border: none; border-bottom: 1px solid var(--hcf-border-soft); background: transparent; }
.hcf-accordion .accordion-item:last-child { border-bottom: none; }
.hcf-accordion .accordion-button {
  font-family: var(--hcf-font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--hcf-ink);
  background: transparent;
  padding: 19px 20px;
  min-height: 56px;
  line-height: 1.4;
  box-shadow: none;
}
.hcf-accordion .accordion-button:not(.collapsed) { color: var(--hcf-ink); background: transparent; }
.hcf-accordion .accordion-button:focus { box-shadow: 0 0 0 3px rgba(22, 104, 184, .14); }
.hcf-accordion .accordion-button::after {
  width: 26px; height: 26px;
  background-size: 13px;
  background-position: center;
  border-radius: 7px;
  background-color: var(--hcf-bg);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%231668b8' stroke-width='2.4' stroke-linecap='round' d='M4 6l4 4 4-4'/%3e%3c/svg%3e");
}
.hcf-accordion .accordion-body {
  padding: 0 20px 20px;
  font-size: 16px;
  line-height: 1.68;
  color: var(--hcf-ink-500);
  max-width: 72ch;
}

/* Efficiency tier table */
.hcf-tier-table { width: 100%; border-collapse: collapse; min-width: 520px; }
.hcf-tier-table th {
  font-size: 11.5px; letter-spacing: .07em; text-transform: uppercase;
  color: var(--hcf-ink-400); font-weight: 700; text-align: left;
  padding: 11px 16px; background: var(--hcf-surface-alt);
  border-bottom: 1px solid #e6ebf1; white-space: nowrap;
}
.hcf-tier-table td { padding: 14px 16px; font-size: 15px; border-bottom: 1px solid var(--hcf-border-soft); vertical-align: top; }
.hcf-tier-table tr:last-child td { border-bottom: none; }
.hcf-tier-name { font-family: var(--hcf-font-display); font-weight: 700; font-size: 16px; white-space: nowrap; }
.hcf-tier-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; margin-right: 8px; }

/* Byline strip */
.hcf-byline { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; padding: 18px 20px; }
.hcf-byline-text { font-size: 15px; color: var(--hcf-ink-600); font-weight: 600; }

/* --------------------------------------------------------------------------
   8. Legal / article pages
   -------------------------------------------------------------------------- */
.hcf-article {
  background: var(--hcf-surface);
  border: 1px solid var(--hcf-border);
  border-radius: var(--hcf-radius);
  padding: 18px;
}
@media (min-width: 576px) { .hcf-article { padding: 28px; } }
@media (min-width: 992px) { .hcf-article { padding: 40px; } }

.hcf-article h1 {
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -.03em;
}
@media (min-width: 768px) { .hcf-article h1 { font-size: 38px; } }
@media (min-width: 992px) { .hcf-article h1 { font-size: 42px; } }

.hcf-article h2 {
  font-size: 22px;
  letter-spacing: -.02em;
  margin: 34px 0 12px;
  padding-top: 26px;
  border-top: 1px solid var(--hcf-border-soft);
}
.hcf-article h2:first-child { margin-top: 0; padding-top: 0; border-top: none; }

.hcf-article p,
.hcf-article li { font-size: 16.5px; line-height: 1.72; color: var(--hcf-ink-600); }
.hcf-article p { margin: 0 0 16px; }
.hcf-article p:last-child { margin-bottom: 0; }
.hcf-article ul { margin: 0 0 16px; padding-left: 22px; }
.hcf-article li + li { margin-top: 11px; }
.hcf-article strong { color: var(--hcf-ink); }
/* Inline links get vertical padding so they're tappable without loosening leading */
.hcf-article a { font-weight: 600; display: inline-block; padding: 3px 0; }

.hcf-note {
  background: var(--hcf-surface-alt);
  border: 1px solid #e6ebf1;
  border-radius: 11px;
  padding: 16px 18px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--hcf-ink-500);
}
.hcf-note--warn { background: #fff8f3; border-color: #f6d3bd; }
.hcf-note--warn p { color: #8a3c10; margin: 0; }
.hcf-placeholder { color: var(--hcf-ink-300); }

.hcf-subcard { border: 1px solid #e6ebf1; border-radius: 11px; padding: 16px 18px; }
.hcf-subcard-title { font-family: var(--hcf-font-display); font-weight: 700; font-size: 16px; margin-bottom: 5px; }
.hcf-subcard p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--hcf-ink-500); }

/* --------------------------------------------------------------------------
   9. Contact form (Bootstrap form-control, 16px to block iOS zoom)
   -------------------------------------------------------------------------- */
.hcf-form .form-label {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #4a5b6b;
  margin-bottom: 8px;
}
.hcf-form .form-control {
  font-size: 16px;
  padding: 14px;
  min-height: 50px;
  border: 1.5px solid var(--hcf-border-input);
  border-radius: 11px;
  background: var(--hcf-surface-alt);
  color: var(--hcf-ink);
}
.hcf-form textarea.form-control { line-height: 1.6; resize: vertical; }
.hcf-form .form-control:focus {
  border-color: var(--hcf-blue);
  background: var(--hcf-surface);
  box-shadow: 0 0 0 3px rgba(22, 104, 184, .14);
}
.hcf-form .btn-send {
  background: linear-gradient(170deg, var(--hcf-orange), var(--hcf-orange-dark));
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 15px 34px;
  min-height: 52px;
  width: 100%;
  font-family: var(--hcf-font-display);
  font-size: 16.5px;
  font-weight: 800;
  box-shadow: 0 10px 22px -8px rgba(224, 83, 12, .65);
}
.hcf-form .btn-send:hover { filter: brightness(1.06); color: #fff; }
@media (min-width: 576px) { .hcf-form .btn-send { width: auto; } }

.hcf-form-success { background: #eaf7ee; border: 1px solid #c3e6cf; border-radius: 11px; padding: 18px 20px; }
.hcf-form-success[hidden] { display: none; }
.hcf-form-success-title { font-family: var(--hcf-font-display); font-weight: 700; font-size: 16px; color: #14532d; margin-bottom: 3px; }
.hcf-form-success p { margin: 0; font-size: 16px; line-height: 1.6; color: #20643c; }

/* --------------------------------------------------------------------------
   10. Footer — stacked on mobile, columns from md up (Bootstrap grid handles it)
   -------------------------------------------------------------------------- */
.hcf-footer { background: var(--hcf-navy-900); color: #8fa8bd; }
.hcf-footer-brand { font-family: var(--hcf-font-display); font-weight: 800; font-size: 16px; color: #fff; letter-spacing: -.02em; }
.hcf-footer p { font-size: 14px; line-height: 1.6; }
.hcf-footer-disclaimer { font-size: 13px; line-height: 1.6; color: #6d869c; }
.hcf-footer-heading {
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.hcf-footer a { color: #8fa8bd; font-size: 14.5px; min-height: 44px; display: flex; align-items: center; }
.hcf-footer a:hover { color: #fff; text-decoration: underline; }
.hcf-footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .1);
  font-size: 12.5px;
  padding: 18px 0 26px;
}
