body.vat-profit{
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;

  --bg: #ffffff;
  --bg-2: #f6f8fc;
  --surface: #ffffff;
  --surface-2: #fbfcfe;
  --surface-tint: #f3f7ff;

  --text: #0f172a;
  --text-2: #334155;
  --muted: #64748b;
  --muted-2: #94a3b8;

  --border: #e2e8f0;
  --border-2: #d6deea;

  --primary: #1d4ed8;
  --primary-2: #2563eb;
  --ring: rgba(37, 99, 235, .20);
  --primary-soft: rgba(37, 99, 235, .08);

  --success: #16a34a;
  --warning: #d97706;
  --danger: #dc2626;
  --danger-soft: rgba(220, 38, 38, .10);

  --radius-sm: 10px;
  --radius: 14px;
  --radius-lg: 18px;

  --shadow-xs: 0 1px 2px rgba(15,23,42,.06);
  --shadow-sm: 0 2px 10px rgba(15,23,42,.06);
  --shadow-md: 0 12px 28px rgba(15,23,42,.10);
  --shadow-lg: 0 18px 48px rgba(15,23,42,.14);

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 32px;
  --space-8: 40px;
  --space-9: 48px;

  --container: 1100px;

  --fs-1: 12px;
  --fs-2: 14px;
  --fs-3: 16px;
  --fs-4: 18px;
  --fs-5: 22px;
  --fs-6: 28px;
  --fs-7: 34px;

  --lh: 1.5;
  --lh-tight: 1.2;

  --input-h: 50px;

  font-family: var(--font-sans);
  color: var(--text);
  background: #ffffff;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.vat-profit *, body.vat-profit *::before, body.vat-profit *::after{ box-sizing:border-box; }
body.vat-profit img, body.vat-profit svg{ display:block; max-width:100%; }
body.vat-profit a{ color:inherit; text-decoration:none; }
body.vat-profit p{ margin:0; }
body.vat-profit ul{ margin:0; padding-left: 1.1em; }
body.vat-profit li{ margin: 0 0 var(--space-2); }
body.vat-profit li:last-child{ margin-bottom:0; }
body.vat-profit :where(h1,h2,h3){ margin:0; letter-spacing:-0.02em; }
body.vat-profit :where(h2){ font-size: var(--fs-5); line-height: var(--lh-tight); }
body.vat-profit :where(h3){ font-size: var(--fs-4); line-height: var(--lh-tight); }
body.vat-profit .small{ font-size: var(--fs-2); color: var(--muted); line-height: var(--lh); }
body.vat-profit .helper{ font-size: var(--fs-2); color: var(--muted); margin-top: var(--space-2); line-height: 1.35; }
body.vat-profit .error{
  display:none;
  margin-top: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius);
  border: 1px solid rgba(220,38,38,.22);
  background: linear-gradient(180deg, rgba(220,38,38,.08), rgba(220,38,38,.05));
  color: #7f1d1d;
  font-size: var(--fs-2);
}
body.vat-profit #mortgageError:not(:empty),
body.vat-profit #formError:not(:empty){ display:block; }

body.vat-profit :where(a, button, input, select, summary):focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px var(--ring);
}
body.vat-profit ::selection{ background: rgba(37, 99, 235,.18); }

body.vat-profit .main-container{ padding: 0 var(--space-4) var(--space-9); }
body.vat-profit .container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0;
}
body.vat-profit .page-shell{ display:block; }


body.vat-profit .nav-wrap{
  max-width: var(--container);
  margin: 0 auto;
  padding: var(--space-3) var(--space-4);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: var(--space-4);
}
body.vat-profit .nav-left{ display:flex; align-items:center; gap: var(--space-4); min-width:0; }
body.vat-profit .logo{
  display:inline-flex;
  align-items:center;
  gap: var(--space-2);
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
}

body.vat-profit .logo .logo-word{
  font-weight: 800;
  letter-spacing: -0.03em;
  font-size: 15px;
}
body.vat-profit .nav-links{
  display:flex;
  gap: 2px;
  align-items:center;
  flex-wrap: wrap;
}
body.vat-profit .nav-links a{
  font-size: var(--fs-2);
  color: var(--text-2);
  padding: 10px 10px;
  border-radius: 999px;
  font-weight: 500;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease, text-decoration-color .15s ease;
}
body.vat-profit .nav-links a:hover{
  background: var(--primary-soft);
  color: var(--text);
}
body.vat-profit .nav-links a.active{
  background: transparent;
  box-shadow: none;
  color: var(--text);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
  text-decoration-color: rgba(37, 99, 235,.55);
}
body.vat-profit .nav-right a{
  font-size: var(--fs-2);
  color: var(--text-2);
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(226,232,240,.90);
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow-xs);
  transition: background .15s ease, border-color .15s ease;
}
body.vat-profit .nav-right a:hover{ background: #fff; border-color: rgba(210,222,234,.95); }

body.vat-profit .hero.hero-intro{
  padding:26px 0 14px;
}

body.vat-profit .hero-inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--space-4);
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

body.vat-profit h1{
  font-size:42px;
  line-height:1.08;
  letter-spacing:-.03em;
  margin:0 0 10px;
}

body.vat-profit .hero-lede{
  max-width:70ch;
  color:var(--muted);
  line-height:1.55;
  margin:0 0 14px;
}

body.vat-profit .hero-copy p:not(.hero-lede){
  margin-top: var(--space-3);
  font-size: var(--fs-3);
  color: var(--text-2);
  line-height: 1.6;
  max-width: 64ch;
}

body.vat-profit .eyebrow{
  display:inline-flex;
  align-items:center;
  gap: var(--space-2);
  font-weight: 600;
  font-size: var(--fs-2);
  color: var(--muted);
  letter-spacing: .02em;
  text-transform: none;
}

body.vat-profit .beta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  margin-left: var(--space-2);
  color: var(--primary-2);
  background: var(--primary-soft);
  border: 1px solid rgba(37, 99, 235,.18);
  vertical-align: middle;
}

body.vat-profit .trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}

body.vat-profit .trust-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(37, 99, 235,.14);
  border: 1px solid rgba(37, 99, 235,.14);
  color: var(--text-2);
  font-size:13px;
  font-weight:600;
}

body.vat-profit .trust-info-block{
  border:1px solid var(--border);
  border-radius:18px;
  background:linear-gradient(180deg, var(--surface-2), var(--surface));
  box-shadow:var(--shadow-sm);
  padding:16px 16px 14px;
}

body.vat-profit .panel-title{
  font-size:14px;
  font-weight:800;
  margin:0 0 10px;
}

body.vat-profit .panel-list{
  margin:0;
  padding-left:18px;
  color:var(--muted);
  line-height:1.5;
  font-size:14px;
}

body.vat-profit .hero-note{
  color:var(--muted);
  font-size:13px;
  margin-top:10px;
}

body.vat-profit .trust-meta{
  margin-top: var(--space-3);
  font-size: var(--fs-2);
  color: var(--muted);
  line-height: 1.45;
}

body.vat-profit .calculator-card{
  margin-top: var(--space-4);
}
body.vat-profit .grid.mortgage-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}

body.vat-profit .card{
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(226,232,240,.95);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
body.vat-profit .card-header{
  padding: 16px var(--space-5) 8px;
  background: transparent;
}
body.vat-profit .card-header p.small{ margin-top: var(--space-2); }
body.vat-profit .supporting-content-section{ margin-top: var(--space-7); }
body.vat-profit .support-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: var(--space-5);
}
body.vat-profit .trust-card{
  padding: var(--space-5);
}
body.vat-profit .trust-card p.small{ margin-top: var(--space-3); }
body.vat-profit .bullets{ margin-top: var(--space-3); color: var(--text-2); }
body.vat-profit .bullets li{ color: var(--text-2); }

body.vat-profit .section-card{
  margin-top:22px;
  padding:18px;
}

body.vat-profit .section-title{
  margin:0 0 8px;
  font-size:26px;
  letter-spacing:-.02em;
}

body.vat-profit .section-subtitle{
  margin:0 0 14px;
  color:var(--subtle);
  font-size:14px;
  line-height:1.5;
}

body.vat-profit .guide-shell{
  margin-top:10px;
  padding:16px;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

body.vat-profit .guide-main p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

body.vat-profit .guide-main p + p{
  margin-top:12px;
}

body.vat-profit .guide-footnote{
  color:var(--subtle);
  font-size:14px;
}

body.vat-profit .kpi{
  padding: var(--space-5);
  display:grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}
body.vat-profit .kpi-examples{
  grid-template-columns: 1fr;
}

body.vat-profit .kpi-results{
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-4);
}

@media (max-width: 380px){
  body.vat-profit .kpi-results{
    grid-template-columns: 1fr;
  }

  body.vat-profit .kpi-results .v{
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

body.vat-profit .kpi-results .box{
  border: 0;
  border-radius: 22px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
  padding: 18px 18px 16px;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

body.vat-profit .kpi-results .k{
  font-size: 13px;
  line-height: 1.35;
  font-weight: 650;
  color: #111827;
  min-height: 0;
  display: block;
}

body.vat-profit .kpi-results .v{
  margin-top: auto;
  font-size: 14px;
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 800;
  color: #111827;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  min-width: 0;
}

body.vat-profit .v{
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #111827;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

body.vat-profit .v{
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--text);
  line-height: 1.1;
}
body.vat-profit [data-example-payment]{
  font-variant-numeric: tabular-nums;
}

body.vat-profit .kpi-results .box{
  background: #ffffff;
  border-color: rgba(255, 255, 255, 0.14);
  min-height: 116px;
  padding: 14px;
  display: grid;
  grid-template-rows: auto 1fr;
}

body.vat-profit #payoffTimeValue{
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

body.vat-profit button,
body.vat-profit input,
body.vat-profit select{
  font-family: inherit;
}

body.vat-profit .selectlike{
  width: 100%;
  min-height: var(--input-h);
  border-radius: 12px;
  border: 1px solid rgba(210,222,234,.95);
  background: rgba(255,255,255,.96);
  padding: 12px 12px;
  font-size: 15px;
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
}

body.vat-profit .selectlike:hover{
  border-color: rgba(148,163,184,.85);
}

body.vat-profit .selectlike-caret{
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(51,65,85,.75);
  border-bottom: 2px solid rgba(51,65,85,.75);
  transform: rotate(45deg);
  flex: 0 0 auto;
}

body.vat-profit .selectlike-menu{
  margin-top: 8px;
  border-radius: 12px;
  border: 1px solid rgba(210,222,234,.95);
  background: #fff;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

body.vat-profit .selectlike-option{
  width: 100%;
  text-align: left;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 12px 12px;
  font-weight: 700;
}

body.vat-profit .selectlike-option:hover{
  background: rgba(15,23,42,.03);
}

body.vat-profit .selectlike-option[aria-selected="true"]{
  background: var(--primary-soft);
}

body.vat-profit .selectlike{
  display: flex;
  align-items: center;
  justify-content: space-between;
  white-space: nowrap;
}

body.vat-profit .selectlike-value{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.vat-profit .selectlike-option{
  white-space: nowrap;
}

body.vat-profit button:hover{
  background: #ffffff;
  border-color: rgba(210,222,234,.95);
  box-shadow: 0 2px 14px rgba(15,23,42,.08);
}
body.vat-profit button:active{ transform: translateY(1px); }

body.vat-profit button#calculateBtn,
body.vat-profit button.primary[type="submit"],
body.vat-profit button.primary{
  background: linear-gradient(180deg, var(--primary-2), var(--primary));
  border: 1px solid rgba(37, 99, 235,.60);
  color: #ffffff;
  border-radius: 14px;
  font-weight: 800;
  position: relative;
  padding-right: 44px;
}

body.vat-profit button#calculateBtn:hover,
body.vat-profit button.primary[type="submit"]:hover,
body.vat-profit button.primary:hover{
  background: linear-gradient(180deg, var(--primary), var(--primary-2));
  border-color: rgba(37, 99, 235,.70);
}

body.vat-profit button#calculateBtn::after,
body.vat-profit button.primary[type="submit"]::after,
body.vat-profit button.primary::after{
  content: "";
  position: absolute;
  right: 16px;
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(255,255,255,.92);
  border-bottom: 2px solid rgba(255,255,255,.92);
  transform: rotate(-45deg);
}

body.vat-profit button:disabled{
  cursor: not-allowed;
  opacity: 1;
  color: var(--muted-2);
  background: rgba(248,250,252,.95);
  border-color: rgba(226,232,240,.95);
  box-shadow: none;
}
body.vat-profit button#downloadCsvBtn{
  background: rgba(255,255,255,.9);
  border: 0;
  color: #111827;
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
  border-radius: 14px;
}

body.vat-profit button#downloadCsvBtn:hover{
  background: rgba(255,255,255,.9);
}

body.vat-profit button#downloadCsvBtn:disabled{
  background: rgba(255,255,255,.9);
  border: 0;
  color: rgba(17,24,39,.55);
  box-shadow: none;
}

body.vat-profit button:disabled:hover{ box-shadow:none; background: rgba(248,250,252,.95); }

body.vat-profit input,
body.vat-profit select{
  width: 100%;
  min-height: var(--input-h);
  border-radius: 12px;
  border: 1px solid rgba(210,222,234,.95);
  background: rgba(255,255,255,.96);
  padding: 12px 12px;
  font-size: 15px;
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
body.vat-profit input::placeholder{
  color: rgba(100,116,139,.75);
}
body.vat-profit input:hover,
body.vat-profit select:hover{
  border-color: rgba(148,163,184,.85);
}
body.vat-profit input:focus,
body.vat-profit select:focus{
  outline: none;
  border-color: rgba(37, 99, 235,.55);
  box-shadow: 0 0 0 4px var(--ring);
  background: #fff;
}
body.vat-profit input:disabled,
body.vat-profit select:disabled{
  cursor: not-allowed;
  background: rgba(248,250,252,.95);
  color: rgba(71,85,105,.75);
}

body.vat-profit select{
  padding-right: 40px;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(51,65,85,.75) 50%),
    linear-gradient(135deg, rgba(51,65,85,.75) 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    100% 100%;
  background-repeat: no-repeat;
  -webkit-appearance: none;
  appearance: none;
}

body.vat-profit .input-split{
  display: block;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

body.vat-profit .input-split .split-addon{
  display: none;
}

body.vat-profit .input-split input{
  width: 100%;
}

body.vat-profit form#ccPayoffForm{
  padding: 8px var(--space-5) var(--space-5);
}
body.vat-profit .form-grid{
  display:flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: 2px;
}
body.vat-profit .field{
  display:flex;
  flex-direction: column;
}
body.vat-profit label{
  font-size: var(--fs-2);
  font-weight: 700;
  color: var(--text-2);
  margin-bottom: var(--space-2);
}
body.vat-profit .row{
  display:grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}



body.vat-profit #depositHint{ margin-top: var(--space-2); }

body.vat-profit .divider{
  height: 1px;
  background: rgba(226,232,240,.92);
  margin: var(--space-6) 0;
}
body.vat-profit .actions{
  display:flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
body.vat-profit .actions button{
  width: 100%;
  min-height: 48px;
}

body.vat-profit .disclaimer-block{
  margin-top: var(--space-4);
  padding: var(--space-3) var(--space-4);
  color: var(--muted);
}

body.vat-profit details.mortgage-advanced{
  margin-top: var(--space-5);
  border: 1px solid rgba(226,232,240,.95);
  border-radius: var(--radius-lg);
  background: rgba(251,252,254,.92);
  box-shadow: var(--shadow-xs);
  overflow:hidden;
}
body.vat-profit details.mortgage-advanced[open]{
  background: rgba(255,255,255,.94);
}
body.vat-profit summary.mortgage-summary{
  list-style: none;
  cursor: pointer;
  user-select: none;
  padding: 14px 16px;
  font-weight: 800;
  font-size: var(--fs-2);
  color: var(--text);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: var(--space-3);
  background: linear-gradient(180deg, rgba(37, 99, 235,.06), rgba(37, 99, 235,.03));
  border-bottom: 1px solid rgba(226,232,240,.92);
}
body.vat-profit summary.mortgage-summary::-webkit-details-marker{ display:none; }
body.vat-profit summary.mortgage-summary::after{
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(51,65,85,.85);
  border-bottom: 2px solid rgba(51,65,85,.85);
  transform: rotate(45deg);
  margin-left: auto;
  transition: transform .18s ease;
}
body.vat-profit details.mortgage-advanced[open] summary.mortgage-summary::after{
  transform: rotate(-135deg);
}
body.vat-profit details.mortgage-advanced > .form-grid{
  padding: var(--space-5);
  margin-top: 0;
}

body.vat-profit .results-panel#resultsPanel{
  background: #2563eb0a;
  border: 0;
  box-shadow: none;
}

body.vat-profit .results-shell{
  padding: 0 var(--space-5) var(--space-5);
}

body.vat-profit .results-content{
  display:block;
}

body.vat-profit #trustNotes{
  display:flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-2);
  color: var(--muted);
}

body.vat-profit #trustNotes span{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 30px rgba(15,23,42,.08);
  font-weight: 650;
  font-size: 12px;
  color: #111827;
}

body.vat-profit .results-shell .actions{
  padding: 0 0 var(--space-5);
  margin-top: 0;
}
body.vat-profit .results-shell .divider{
  margin: 0 0 var(--space-5);
}

body.vat-profit #scheduleWrap{
  padding: 0 0 var(--space-5);
}
body.vat-profit .mortgage-table-wrap{
  border-radius: var(--radius-lg);
  border: 1px solid rgba(226,232,240,.95);
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow-xs);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
body.vat-profit table.mortgage-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 860px;
  font-size: 13px;
  color: var(--text-2);
}
body.vat-profit table.mortgage-table thead th{
  position: sticky;
  top: 0;
  z-index: 2;
  background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(241,245,249,.98));
  color: var(--text);
  font-weight: 800;
  text-align: left;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(226,232,240,.95);
  white-space: nowrap;
}
body.vat-profit table.mortgage-table tbody td{
  padding: 11px 12px;
  border-bottom: 1px solid rgba(226,232,240,.75);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
body.vat-profit table.mortgage-table tbody tr:nth-child(odd) td{
  background: rgba(15,23,42,.015);
}
body.vat-profit table.mortgage-table tbody tr:hover td{
  background: rgba(37, 99, 235,.06);
}
body.vat-profit table.mortgage-table tbody tr:last-child td{
  border-bottom: none;
}

body.vat-profit :where(button, input, select){ -webkit-tap-highlight-color: transparent; }
body.vat-profit :where(button).primary{ letter-spacing: .01em; }
body.vat-profit :where(.card-header h2){ font-weight: 850; }
body.vat-profit :where(.card-header h2, h3){ color: var(--text); }
body.vat-profit :where(.card-header p.small){ max-width: 72ch; }

@media (min-width: 520px){
  body.vat-profit .kpi-examples{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.vat-profit .kpi-results{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.vat-profit .actions{ flex-direction: row; flex-wrap: wrap; }
  body.vat-profit .actions button{ width: auto; flex: 1 1 160px; }
  body.vat-profit .row{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px){
  body.vat-profit{
    --container: 1180px;
  }
  body.vat-profit .hero-inner{
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-6);
  }
  body.vat-profit .trust-info-block{ max-width: 420px; margin-top: 0; }
  body.vat-profit .grid.mortgage-grid{
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  body.vat-profit .kpi-examples{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.vat-profit .support-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.vat-profit .results-panel#resultsPanel{
    position: static;
    top: auto;
  }
}

@media (min-width: 1024px){
  body.vat-profit{
    --container: 1240px;
    --input-h: 52px;
  }
  body.vat-profit .main-container{ padding-bottom: 56px; }
  body.vat-profit .card-header{ padding: var(--space-6); }
  body.vat-profit form#ccPayoffForm{ padding: 14px var(--space-6) var(--space-6); }
  body.vat-profit .kpi{ padding: var(--space-6); gap: var(--space-4); }
  body.vat-profit .kpi-examples{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.vat-profit .kpi-results{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.vat-profit .results-shell{
    padding: 0 var(--space-6) var(--space-6);
  }
  body.vat-profit .results-shell .actions{ padding: 0 0 var(--space-6); }
  body.vat-profit .results-shell .divider{ margin: 0 0 var(--space-6); }
  body.vat-profit #scheduleWrap{ padding: 0 0 var(--space-6); }
}

@media (prefers-reduced-motion: reduce){
  body.vat-profit *{ transition: none !important; scroll-behavior: auto !important; }
}

body.vat-profit .kpi-examples .box{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 140px;
  padding: 16px;
}

body.vat-profit .kpi-examples .k{
  margin: 0;
}

body.vat-profit .kpi-examples [data-example-payment]{
  display: none;
}

body.vat-profit .kpi-examples button.primary{
  margin-top: auto;
  width: 100%;
  min-height: 42px;
}

@media (max-width: 700px){
  body.vat-profit .site-footer{
    border-top: 1px solid rgba(226,232,240,.95);
    margin-top: 40px;
    padding: 26px 0 40px;
    background: #f6f9fe;
  }

  body.vat-profit .footer-inner{
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 18px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    flex-wrap: wrap;
  }

  body.vat-profit .footer-tag{
    margin-top: 10px;
    color: #64748b;
  }

  body.vat-profit .footer-links{
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
  }

  body.vat-profit .footer-links a{
    font-size: 14px;
    color: #334155;
  }

  body.vat-profit .footer-links a:hover{
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: rgba(37, 99, 235,.55);
  }
}

@media (max-width: 700px){
  body.vat-profit{
    --space-5: 16px;
    --space-6: 20px;
    --space-7: 24px;
    --space-8: 28px;
    --space-9: 32px;

    --radius-lg: 14px;
    --radius: 12px;

    --shadow-xs: 0 1px 2px rgba(15,23,42,.05);
    --shadow-sm: 0 2px 10px rgba(15,23,42,.05);
  }

  body.vat-profit .main-container{
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 28px;
  }

  body.vat-profit .hero.hero-intro{
    padding: 22px 0 14px;
  }

  body.vat-profit .hero-inner{
    padding: 0 var(--space-4);
    gap: 14px;
  }

  body.vat-profit .hero-copy p{
    margin-top: 10px;
    line-height: 1.5;
  }

  body.vat-profit .trust-info-block{
    padding: 12px;
    border-radius: var(--radius-lg);
  }

  body.vat-profit .trust-row{
    gap: 8px;
  }

  body.vat-profit .trust-pill{
    padding: 6px 10px;
    border-radius: 12px;
  }

  body.vat-profit .hero-note{
    margin-top: 10px;
    line-height: 1.4;
  }

  body.vat-profit main.container{
    padding: 0 var(--space-4) var(--space-6);
  }

  body.vat-profit .grid.mortgage-grid{
    gap: 14px;
  }

  body.vat-profit .card{
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
  }


  body.vat-profit form#ccPayoffForm{
    padding: 8px 16px 16px;
  }

  body.vat-profit .form-grid{
    gap: 12px;
    margin-top: 12px;
  }

  body.vat-profit label{
    margin-bottom: 6px;
  }

  body.vat-profit input,
  body.vat-profit select{
    min-height: 48px;
    border-radius: 12px;
  }

  body.vat-profit .divider{
    margin: 16px 0;
  }

  body.vat-profit .actions{
    gap: 10px;
    margin-top: 14px;
  }

  body.vat-profit details.mortgage-advanced{
    border-radius: var(--radius-lg);
  }

  body.vat-profit summary.mortgage-summary{
    padding: 12px 14px;
  }

  body.vat-profit details.mortgage-advanced > .form-grid{
    padding: 16px;
  }

  body.vat-profit .kpi{
    padding: 16px;
    gap: 12px;
  }

  body.vat-profit .kpi-results{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.vat-profit .kpi-results .box{
    padding: 10px 12px;
    min-height: 0;
    gap: 6px;
    grid-template-rows: auto auto;
    align-content: start;
  }

  body.vat-profit .kpi-results .v{
    margin-top: 0;
  }

  body.vat-profit .kpi-results .box:nth-child(1){
    grid-column: 1 / -1;
    border: 1px solid rgba(37, 99, 235,.18);
    box-shadow: 0 10px 30px rgba(37, 99, 235,.10), 0 8px 22px rgba(15,23,42,.06);
  }

  body.vat-profit .kpi-results .k{
    font-size: 12.5px;
    line-height: 1.25;
  }

  body.vat-profit .kpi-results .v{
    font-size: 15px;
    line-height: 1.15;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }

  body.vat-profit .kpi-results .box:nth-child(1) .v{
    font-size: 18px;
  }

  body.vat-profit .results-shell{
    padding: 0 16px 16px;
  }

  body.vat-profit .results-shell .actions{
    padding: 12px 0 16px;
  }

  body.vat-profit .results-shell .divider{
    display: none;
  }

  body.vat-profit #scheduleWrap{
    padding: 0;
  }

  body.vat-profit .supporting-content-section{
    margin-top: 22px;
  }

  body.vat-profit .support-grid{
    gap: 14px;
  }

  body.vat-profit .trust-card{
    padding: 16px;
  }

  body.vat-profit .row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  body.vat-profit .field{
    min-width: 0;
  }

  body.vat-profit .helper,
  body.vat-profit .small{
    margin-top: 6px;
    line-height: 1.45;
  }

  body.vat-profit .input-split{
    display: grid;
    align-items: stretch;
    border-radius: 12px;
    border: 1px solid rgba(210,222,234,.95);
    background: rgba(255,255,255,.96);
    overflow: hidden;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  }

  body.vat-profit .input-split[data-split="currency"]{
    grid-template-columns: auto 1fr;
  }

  body.vat-profit .input-split:not([data-split="currency"]){
    grid-template-columns: 1fr auto;
  }

  body.vat-profit .input-split:focus-within{
    border-color: rgba(37, 99, 235,.55);
    box-shadow: 0 0 0 4px var(--ring);
    background: #fff;
  }

  body.vat-profit .input-split .split-addon{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    font-weight: 800;
    color: #0f172a;
    background: rgba(15,23,42,.03);
    white-space: nowrap;
  }

  body.vat-profit .input-split[data-split="currency"] .split-addon{
    min-width: 52px;
  }

  body.vat-profit .input-split input{
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    min-height: 48px;
    padding: 12px 12px;
  }

  body.vat-profit .input-split input:focus{
    outline: none;
    box-shadow: none;
  }
}

@media (max-width: 420px){
  body.vat-profit .kpi-results{
    grid-template-columns: 1fr;
  }

  body.vat-profit .kpi-results .box:nth-child(1){
    grid-column: auto;
  }
}

@media (min-width: 701px){
  body.vat-profit .results-panel[data-collapsed="true"] .results-shell{
    min-height: 40px;
    padding-top: 18px;
    padding-bottom: 18px;
    display:grid;
    grid-template-rows:0fr;
    overflow:hidden;
    opacity:0;
    transition:grid-template-rows .38s ease, opacity .22s ease;
  }

  body.vat-profit .results-panel[data-collapsed="true"] .results-shell > .results-content{
    overflow:hidden;
  }

  body.vat-profit .results-panel[data-collapsed="false"] .results-shell{
    min-height:0;
    display:grid;
    grid-template-rows:1fr;
    overflow:visible;
    opacity:1;
    transition:grid-template-rows .38s ease, opacity .22s ease;
  }

  body.vat-profit .results-panel[data-collapsed="false"] .results-shell > .results-content{
    overflow:visible;
  }
}

@media (max-width: 700px){

  body.vat-profit .kpi.kpi-examples{
    gap: 14px;
  }

  body.vat-profit .kpi-examples .box{
    padding: 14px;
    gap: 10px;
  }

  body.vat-profit .kpi-examples .ex-amount{
    font-size: 17px;
  }

  body.vat-profit .kpi-examples button.primary{
    min-height: 40px;
  }
}

/* Post-calculator guide layout alignment */
body.vat-profit .section-card > .guide-shell{
  margin-top: 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

body.vat-profit .section-card > .guide-shell .guide-main{
  min-width: 0;
}

body.vat-profit .section-card > .guide-shell .guide-aside{
  align-self: start;
}

@media (min-width: 920px){
  body.vat-profit .hero-inner{
    grid-template-columns:1.25fr .75fr;
    align-items:start;
  }

  body.vat-profit .section-card > .guide-shell{
    grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr);
    column-gap: 18px;
    row-gap: 10px;
    align-items: start;
  }

  body.vat-profit .section-card > .guide-shell .guide-main{
    grid-column: 1;
  }

  body.vat-profit .section-card > .guide-shell .guide-aside{
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}


/* Guide aside container match */
body.vat-profit .guide-aside{
  border:1px solid rgba(226,232,240,.95);
  border-radius:16px;
  background:#f6f9fe;
  padding:14px;
}

body.vat-profit .guide-aside h3{
  margin:0 0 10px;
  font-size:16px;
  font-weight:900;
  letter-spacing:-.01em;
}

body.vat-profit .guide-aside ul{
  margin:0;
  padding-left:18px;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.6;
}

body.vat-profit .guide-aside li{
  margin:0 0 8px;
}

body.vat-profit .guide-aside li:last-child{
  margin-bottom:0;
}


body.vat-profit .faq-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 44px;
}

body.vat-profit .faq-item{
  overflow:hidden;
  border-bottom:1px solid rgba(214,222,234,.95);
}

body.vat-profit .faq-item summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  padding:22px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-weight:400;
  letter-spacing:-0.01em;
  color:var(--text);
}

body.vat-profit .faq-item summary::-webkit-details-marker{
  display:none;
}

body.vat-profit .faq-item summary::after{
  content:"+";
  font-size:18px;
  line-height:1;
  color:rgba(51,65,85,.80);
  font-weight:800;
  margin-left:auto;
}

body.vat-profit .faq-item[open] summary::after{
  content:"–";
}

body.vat-profit .faq-body{
  padding:0 0 18px;
}

body.vat-profit .faq-body p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
  font-size:13.5px;
}

@media (max-width:760px){
  body.vat-profit .faq-grid{
    grid-template-columns:1fr;
    gap:0;
  }
}


body.vat-profit .last-updated{
  margin-top:14px;
  color:var(--subtle);
}

body.vat-profit{
  --page-bg:#ffffff;
  --page-bg-soft:#f7f6ff;
  --panel:#ffffff;
  --panel-soft:#f5f4ff;
  --line:#d9d5ef;
  --line-strong:#c6bfdc;
  --text:#1f1c54;
  --text-soft:#4c4a7a;
  --accent:#7c6cff;
  --accent-strong:#2a246b;
  background:#ffffff;
  color:var(--text);
}

body.vat-profit .main-container.mortgage-page{
  padding:22px 0 72px;
}

body.vat-profit .mortgage-layout{
  max-width:1220px;
  padding:0 24px;
}

body.vat-profit .mortgage-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 300px;
  gap:34px;
  align-items:start;
  padding:10px 0 28px;
}

body.vat-profit .hero-main{
  max-width:780px;
}

body.vat-profit .hero-eyebrow,
body.vat-profit .section-kicker,
body.vat-profit .strip-label{
  margin:0 0 10px;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#6a6793;
}

body.vat-profit .mortgage-hero h1{
  margin:0;
  font-size:clamp(2.4rem, 4vw, 4.35rem);
  line-height:.95;
  letter-spacing:-.04em;
  color:#231d64;
  max-width:8ch;
}

body.vat-profit .hero-summary{
  margin:24px 0 0;
  max-width:68ch;
  font-size:1.08rem;
  line-height:1.78;
  color:#2d2b59;
}

body.vat-profit .hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

body.vat-profit .meta-pill{
  min-width:180px;
  padding:4px 6px;
  background:#fff;
}

body.vat-profit .meta-pill strong,
body.vat-profit .meta-pill span{
  display:block;
}

body.vat-profit .meta-pill strong{
  font-size:12px;
  color:#6c6a8c;
  margin-bottom:4px;
}

body.vat-profit .meta-pill span{
  font-size:14px;
  color:#241f62;
  font-weight:600;
}

body.vat-profit .takeaways-panel{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--line);
}

body.vat-profit .takeaways-panel h2,
body.vat-profit .editorial-main h2,
body.vat-profit .calculator-intro h2,
body.vat-profit .content-block h2,
body.vat-profit .comparison-intro h2,
body.vat-profit .faq-heading h2,
body.vat-profit .editorial-side h3,
body.vat-profit .content-block-note h3,
body.vat-profit .comparison-cards h3{
  margin:0;
  color:#211b63;
  font-size:2.55rem;
}

body.vat-profit .practical-card h2 {
  margin:0;
  color:#211b63;

}

body.vat-profit .takeaways-panel h2{
  font-size:1.55rem;
  margin-bottom:16px;
}

body.vat-profit .takeaways-panel ul,
body.vat-profit .content-block-note ul{
  margin:0;
  padding-left:18px;
  color:#2f2c5b;
}

body.vat-profit .takeaways-panel li,
body.vat-profit .content-block-note li{
  margin:0 0 14px;
  line-height:1.65;
}

body.vat-profit .hero-rail{
  position: sticky;
  top: 104px;
  align-self: start;
  width: 100%;
  box-sizing: border-box;
  padding: 28px 24px 30px;
  background: #2563eb0a;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.vat-profit .hero-rail::before{
  display:none;
}

body.vat-profit .rail-quote,
body.vat-profit .rail-nav{
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

body.vat-profit .rail-quote{
  padding-bottom: 26px;
  margin-bottom: 28px;
  border-bottom: 1px solid #ddd8ef;
}

body.vat-profit .rail-kicker{
  margin: 0 0 18px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  color: #241f62;
}

body.vat-profit .rail-cta{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 180px;
  padding: 14px 14px 14px 20px;
  border-radius: 14px;
  background: #2563eb;
  color: #ffffff;
  font-weight: 800;
  text-decoration: none;
  line-height: 1;
}

body.vat-profit .rail-cta span{
  display:inline-block;
  width:10px;
  height:10px;
  border-left:2px solid #ffffff;
  border-bottom:2px solid #ffffff;
  transform: rotate(-45deg);
  margin-left:10px;
}

body.vat-profit .rail-nav h2{
  margin: 0 0 16px;
  font-size: 1rem;
  color: #211d5d;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.vat-profit .rail-nav ol{
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0 0 0 22px;
}

body.vat-profit .rail-nav ol::before{
  content: "";
  position: absolute;
  left: 7px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: #a59dbc;
}

body.vat-profit .rail-nav li{
  position: relative;
}

body.vat-profit .rail-nav li + li{
  margin-top: 14px;
}

body.vat-profit .rail-nav li::before{
  content: "";
  position: absolute;
  left: -22px;
  top: 7px;
  width: 10px;
  height: 10px;
  border: 2px solid #7b7299;
  border-radius: 50%;
  background: #f1eff9;
}

body.vat-profit .rail-nav a{
  color: #403d75;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-size: 13px;
  line-height: 1.5;
}

body.vat-profit .decision-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:26px;
  padding:22px 0 32px;
}

body.vat-profit .decision-strip article{
  border-top:1px solid var(--line);
  padding-top:16px;
}

body.vat-profit .decision-strip h2{
  margin:0 0 10px;
  font-size:1.55rem;
  line-height:1.08;
  letter-spacing:-.03em;
}

body.vat-profit .decision-strip p{
  margin:0;
  color:#55527d;
  line-height:1.65;
}

body.vat-profit .editorial-band{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 310px;
  gap:34px;
  padding:34px 0 40px;
  border-top:1px solid var(--line);
}

body.vat-profit .editorial-main p,
body.vat-profit .content-block p,
body.vat-profit .comparison-intro p,
body.vat-profit .practical-card p,
body.vat-profit .editorial-side p{
  margin:18px 0 0;
  color:#45426e;
  line-height:1.78;
  font-size:1rem;
}

body.vat-profit .editorial-main h2,
body.vat-profit .calculator-intro h2,
body.vat-profit .content-block h2,
body.vat-profit .comparison-intro h2,
body.vat-profit .faq-heading h2{
  font-size:clamp(2rem, 4vw, 3rem);
  line-height:1;
  letter-spacing:-.04em;
  max-width:12ch;
}

body.vat-profit .editorial-side{
  align-self:end;
  padding:22px 24px;
  background:#2563eb0a;
  border-radius:16px;
}

body.vat-profit .editorial-side h3,
body.vat-profit .content-block-note h3,
body.vat-profit .comparison-cards h3{
  font-size:1.25rem;
  line-height:1.15;
}

body.vat-profit .calculator-section{
  margin-top:16px;
  padding:30px 0 24px;
  border-top:1px solid var(--line);
}

body.vat-profit .calculator-intro{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:28px;
  align-items:end;
  margin-bottom:22px;
}

body.vat-profit .calculator-intro p{
  margin:0;
  max-width:62ch;
  color:#4b4876;
  line-height:1.72;
}

body.vat-profit .calculator-card{
  padding:28px;
  border-radius:20px;
  background:#f3f1fb;
  border:1px solid #ddd8f2;
  box-shadow:none;
}

body.vat-profit .editorial-grid{
  padding:42px 0 22px;
}

body.vat-profit .editorial-stack{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:22px;
  max-width:860px;
}

body.vat-profit .content-block-wide{
  border-top:1px solid var(--line);
  padding-top:18px;
}

body.vat-profit .content-block-note{
  padding:24px 26px;
  border-radius:18px;
  background:linear-gradient(180deg, #f5f2ff 0%, #eeefff 100%);
  border:1px solid #d9d8f6;
  box-shadow:0 14px 30px rgba(57, 53, 105, .06);
}

body.vat-profit .content-bubble{
  position:relative;
}

body.vat-profit .content-bubble::before{
  content:"";
  position:absolute;
  top:-10px;
  left:28px;
  width:20px;
  height:20px;
  background:#f5f2ff;
  border-top:1px solid #d9d8f6;
  border-left:1px solid #d9d8f6;
  transform:rotate(45deg);
}


body.vat-profit .editorial-stack > *{
  min-width:0;
}
body.vat-profit .comparison-band{
  padding:40px 0;
  border-top:1px solid var(--line);
}

body.vat-profit .comparison-intro{
  max-width:860px;
}

body.vat-profit .comparison-cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:24px;
}

body.vat-profit .comparison-cards article{
  padding:22px;
  background:#2563eb0a;
  border-radius:18px;
  border:1px solid #e2ddf3;
}

body.vat-profit .comparison-cards p{
  margin:10px 0 0;
  color:#504d79;
  line-height:1.65;
}

body.vat-profit .practical-band{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
  padding:10px 0 42px;
}

body.vat-profit .practical-card{
  padding:26px 28px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
}

body.vat-profit .practical-card-accent{
  background:#2563eb0a;
}

body.vat-profit .faq-section{
  padding:34px 0 10px;
  border-top:1px solid var(--line);
}

body.vat-profit .faq-heading{
  margin-bottom:22px;
}

body.vat-profit .faq-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px 18px;
}

body.vat-profit .faq-item{
  margin:0;
  padding:0 20px;
  background:#fff;
}

body.vat-profit .faq-item summary{
  display:flex;
  align-items:center;
  gap:12px;
  list-style:none;
  cursor:pointer;
  padding:18px 0;
  font-weight:700;
  color:#221d63;
}

body.vat-profit .faq-item summary::after{
  margin-left:auto;
}

body.vat-profit .faq-body{
  padding:0 0 18px;
}

body.vat-profit .faq-body p{
  margin:0;
  color:#4c4975;
  line-height:1.7;
}

body.vat-profit .updated-stamp{
  margin:18px 0 0;
  color:#6d6990;
  font-size:13px;
}

@media (max-width:1100px){
  body.vat-profit{
    background:#ffffff;
  }

  body.vat-profit .mortgage-hero,
  body.vat-profit .editorial-band,
  body.vat-profit .editorial-grid,
  body.vat-profit .calculator-intro{
    grid-template-columns:1fr;
  }

  body.vat-profit .hero-rail{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.vat-profit .decision-strip,
  body.vat-profit .comparison-cards,
  body.vat-profit .practical-band{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  body.vat-profit .mortgage-layout{
    padding:0 16px;
  }

  body.vat-profit .main-container.mortgage-page{
    padding:16px 0 54px;
  }

  body.vat-profit .mortgage-hero{
    gap:24px;
    padding-bottom:20px;
  }

  body.vat-profit .mortgage-hero h1{
    max-width:30ch;
    font-size:3rem;
  }

  body.vat-profit .hero-summary{
    font-size:1rem;
    line-height:1.7;
    margin-top:18px;
  }

  body.vat-profit .hero-meta{
    display:grid;
    grid-template-columns:1fr;
  }

  body.vat-profit .meta-pill{
    min-width:0;
  }

  body.vat-profit .hero-rail{
    grid-template-columns:1fr;
    gap:12px;
  }

  body.vat-profit .rail-quote,
  body.vat-profit .rail-nav,
  body.vat-profit .editorial-side,
  body.vat-profit .content-block-note,
  body.vat-profit .practical-card,
  body.vat-profit .comparison-cards article{
    border-radius:14px;
  }

  body.vat-profit .decision-strip{
    gap:18px;
    padding:8px 0 24px;
  }

  body.vat-profit .decision-strip h2{
    font-size:1.3rem;
  }

  body.vat-profit .editorial-band,
  body.vat-profit .calculator-section,
  body.vat-profit .editorial-grid,
  body.vat-profit .comparison-band,
  body.vat-profit .faq-section{
    padding:24px 0;
  }

  body.vat-profit .editorial-main h2,
  body.vat-profit .calculator-intro h2,
  body.vat-profit .content-block h2,
  body.vat-profit .comparison-intro h2,
  body.vat-profit .faq-heading h2{
    max-width:none;
    font-size:2.05rem;
  }

  body.vat-profit .calculator-card{
    padding:16px;
    border-radius:16px;
  }

  body.vat-profit .faq-grid{
    grid-template-columns:1fr;
  }
}


/* Post-content callout blocks stacked under copy */
body.vat-profit .editorial-band{
  grid-template-columns:minmax(0, 1fr);
  gap:18px;
}

body.vat-profit .editorial-main{
  max-width:860px;
}

body.vat-profit .editorial-side{
  align-self:start;
  width:100%;
  max-width:860px;
  margin-top:0;
}

body.vat-profit .section-card > .guide-shell{
  grid-template-columns:minmax(0, 1fr);
  gap:16px;
}

body.vat-profit .section-card > .guide-shell .guide-main,
body.vat-profit .section-card > .guide-shell .guide-aside{
  grid-column:auto;
  grid-row:auto;
}

body.vat-profit .section-card > .guide-shell .guide-aside{
  width:100%;
  max-width:860px;
}

@media (min-width:920px){
  body.vat-profit .section-card > .guide-shell{
    grid-template-columns:minmax(0, 1fr);
  }

  body.vat-profit .section-card > .guide-shell .guide-aside{
    grid-column:1;
    grid-row:auto;
  }
}


body.vat-profit .results-spotlight{
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, 280px);
  gap: 22px;
  align-items: stretch;
  padding: 0 0 22px;
}

body.vat-profit .results-spotlight-copy{
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

body.vat-profit .results-overline{
  font-size: 11px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #6a6793;
  margin-bottom: 12px;
}

body.vat-profit .results-primary-value{
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.1rem);
  line-height: .95;
  letter-spacing: -.04em;
  color: #231d64;
  font-weight: 800;
}

body.vat-profit .results-primary-text{
  margin: 14px 0 0;
  color: #4c4a7a;
  line-height: 1.6;
  max-width: 42ch;
}

body.vat-profit .results-primary-meta{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

body.vat-profit .results-meta-item{
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid #e4e1f1;
  border-radius: 14px;
}

body.vat-profit .results-meta-label{
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  color: #6c6a8c;
}

body.vat-profit .results-meta-item strong{
  color: #241f62;
  font-size: 1rem;
}

body.vat-profit .results-donut-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 18px 18px 16px;
  background: #fbfaff;
  border: 1px solid #e4e1f1;
  border-radius: 18px;
}

body.vat-profit .results-donut{
  --chart-paid: 0deg;
  --chart-deposit: 0deg;
  width: 200px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(#6f63dd 0deg var(--chart-paid), #d9d3f9 var(--chart-paid) 360deg);
  position: relative;
  display: grid;
  place-items: center;
}

body.vat-profit .results-donut::before{
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px #eeebf8;
}

body.vat-profit .results-donut-inner{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 0 22px;
}

body.vat-profit .results-donut-kicker{
  font-size: 11px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #7a749d;
}

body.vat-profit .results-donut-inner strong{
  font-size: 1.25rem;
  line-height: 1.1;
  color: #231d64;
}

body.vat-profit .results-donut-legend{
  width: 100%;
  display: grid;
  gap: 10px;
}

body.vat-profit .legend-row{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #4c4a7a;
}

body.vat-profit .legend-row strong{
  color: #241f62;
}

body.vat-profit .legend-dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

body.vat-profit .legend-dot-paid{ background:#6f63dd; }
body.vat-profit .legend-dot-deposit{ background:#d9d3f9; }

body.vat-profit #loanShownValueNote{ color: inherit; }

@media (max-width: 980px){
  body.vat-profit .results-spotlight{ grid-template-columns: 1fr; }
  body.vat-profit .results-donut-card{ align-items: flex-start; }
}

@media (max-width: 700px){
  body.vat-profit .results-primary-meta{ grid-template-columns: 1fr; }
  body.vat-profit .results-donut{ width: 180px; }
  body.vat-profit .hero-rail{ padding: 24px 20px 24px; }
}


/* Compact calculator section and extended sidebar rail */
@media (min-width:1101px){
  body.vat-profit .mortgage-layout{
    position: relative;
  }

  body.vat-profit .mortgage-hero{
    position: relative;
  }


  body.vat-profit .hero-main,
  body.vat-profit .hero-rail,
  body.vat-profit .decision-strip{
    position:relative;
    z-index:1;
  }

  body.vat-profit .hero-rail{
    width:300px;
    padding:24px 24px 26px;
    min-height:560px;
  }

  body.vat-profit .rail-quote{
    padding-bottom:22px;
    margin-bottom:22px;
  }

  body.vat-profit .calculator-card{
    padding:16px;
    border-radius:14px;
  }

  body.vat-profit .grid.mortgage-grid{
    grid-template-columns:minmax(0, 1.05fr) minmax(360px, .95fr);
    gap:16px;
    align-items:start;
  }

  body.vat-profit .card,
  body.vat-profit .results-panel#resultsPanel,
  body.vat-profit .results-donut-card,
  body.vat-profit .results-meta-item,
  body.vat-profit .kpi-results .box{
    border-radius:14px;
  }

  body.vat-profit .card-header{
    padding:14px 18px 6px;
  }

  body.vat-profit form#ccPayoffForm{
    padding:6px 18px 18px;
  }

  body.vat-profit .form-grid{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:10px 12px;
    align-items:start;
    margin-top:0;
  }

  body.vat-profit .form-grid > .field{
    grid-column:1 / -1;
  }

  body.vat-profit .form-grid > .row{
    display:contents;
  }

  body.vat-profit .form-grid > .row > .field{
    grid-column:span 3;
    min-width:0;
  }

  body.vat-profit .form-grid > .row:has(#monthlyOverpay) > .field,
  body.vat-profit .form-grid > .row:has(#overpayStartMonth) > .field,
  body.vat-profit .form-grid > .row:has(#overpayEndMonth) > .field{
    grid-column:span 2;
  }

  body.vat-profit .form-grid > .field:has(#currency),
  body.vat-profit .form-grid > .field:has(#followRate),
  body.vat-profit .form-grid > .field:has(#otherUpfrontFees){
    grid-column:1 / -1;
  }

  body.vat-profit label{
    margin-bottom:5px;
    font-size:12px;
  }

  body.vat-profit input,
  body.vat-profit select,
  body.vat-profit .selectlike,
  body.vat-profit .input-split input{
    min-height:42px;
    padding:10px 12px;
    font-size:14px;
    border-radius:10px;
  }

  body.vat-profit .input-split .split-addon{
    padding:0 12px;
    min-width:44px;
  }

  body.vat-profit .helper,
  body.vat-profit .small,
  body.vat-profit #depositHint{
    margin-top:4px;
    font-size:11px;
    line-height:1.35;
    color:#7b7899;
  }

  body.vat-profit .actions{
    flex-direction:row;
    gap:10px;
    margin-top:14px;
  }

  body.vat-profit .actions .btn{
    min-height:44px;
  }

  body.vat-profit .results-shell{
    padding:0 18px 18px;
  }

  body.vat-profit .results-spotlight{
    grid-template-columns:minmax(0, 1.1fr) 220px;
    gap:16px;
    padding-bottom:16px;
  }

  body.vat-profit .results-primary-value{
    font-size:clamp(1.8rem, 3vw, 2.6rem);
  }

  body.vat-profit .results-primary-text{
    margin-top:10px;
    font-size:14px;
    line-height:1.5;
  }

  body.vat-profit .results-primary-meta{
    gap:10px;
    margin-top:14px;
  }

  body.vat-profit .results-meta-item{
    padding:10px 12px;
  }

  body.vat-profit .results-donut-card{
    padding:12px;
    gap:12px;
  }

  body.vat-profit .results-donut{
    width:160px;
  }

  body.vat-profit .results-donut::before{
    inset:13px;
  }

  body.vat-profit .results-donut-inner strong{
    font-size:1.05rem;
  }

  body.vat-profit .results-grid.kpi-results{
    gap:10px;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.vat-profit .kpi-results .box{
    min-height:88px;
    padding:12px;
    gap:6px;
  }

  body.vat-profit .kpi-results .k{
    font-size:12px;
    line-height:1.3;
  }

  body.vat-profit .kpi-results .v{
    font-size:16px;
    line-height:1.15;
  }

  body.vat-profit .results-note{
    margin-top:12px;
    padding:12px 14px;
    font-size:13px;
    line-height:1.5;
  }

  body.vat-profit .results-actions.actions{
    margin-top:12px;
  }
}

body.vat-profit .calculator-card{
  background:#ffffff;
  border:1px solid #dfe3ee;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
}

body.vat-profit #calculatorInputs.card{
  background:#ffffff;
}

body.vat-profit .card-header{
  padding-bottom:6px;
}

body.vat-profit form#ccPayoffForm{
  padding-top:4px;
}

body.vat-profit .form-grid{
  gap:14px;
}

body.vat-profit details.mortgage-advanced{
  margin-top:18px;
  border:1px solid #dfe3ee;
  border-radius:16px;
  background:#fafbff;
  box-shadow:none;
}

body.vat-profit summary.mortgage-summary{
  padding:14px 16px;
  background:#fafbff;
  border-bottom:0;
}

body.vat-profit details.mortgage-advanced[open] summary.mortgage-summary{
  border-bottom:1px solid #e4e8f2;
}

body.vat-profit details.mortgage-advanced > .form-grid{
  padding:16px;
}

body.vat-profit .results-panel#resultsPanel{
  background:#2563eb0a;
}

@media (min-width: 900px){
  body.vat-profit .form-grid > .row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.vat-profit details.mortgage-advanced > .form-grid > .row:has(#monthlyOverpay){
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}


/* Final polish pass */
body.vat-profit{
  --container: 1180px;
}

body.vat-profit .main-container.mortgage-page{
  padding: 16px 0 56px;
}

body.vat-profit .mortgage-layout{
  position: relative;
  max-width: 1180px;
  padding: 0 20px;
}

@media (min-width: 1101px){
  body.vat-profit .mortgage-layout{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 272px;
    column-gap: 28px;
    align-items: start;
  }

  body.vat-profit .mortgage-layout::after{
    content: "";
    position: absolute;
    top: 0;
    right: 20px;
    width: 272px;
    height: 100%;
    background: #f1eff9;
    z-index: 0;
  }

  body.vat-profit .mortgage-hero,
  body.vat-profit .decision-strip,
  body.vat-profit .editorial-band,
  body.vat-profit .calculator-section,
  body.vat-profit .editorial-grid,
  body.vat-profit .comparison-band,
  body.vat-profit .practical-band,
  body.vat-profit .faq-section{
    grid-column: 1 / 2;
    position: relative;
    z-index: 1;
  }

  body.vat-profit .mortgage-hero{
    grid-template-columns: minmax(0, 1fr) 272px;
    gap: 28px;
  }

  body.vat-profit .hero-rail{
    width: 272px;
    min-height: calc(100vh - 132px);
    padding: 22px 18px 26px;
    background: transparent;
  }

  body.vat-profit .hero-main{
    max-width: 760px;
  }
}

body.vat-profit .mortgage-hero{
  gap: 28px;
  padding: 6px 0 22px;
}

body.vat-profit .hero-summary{
  margin-top: 18px;
  max-width: 64ch;
  font-size: 1rem;
  line-height: 1.68;
}

body.vat-profit .hero-meta{
  gap: 10px;
  margin-top: 20px;
}

body.vat-profit .meta-pill{
  min-width: 0;
  padding: 12px 14px;
}

body.vat-profit .takeaways-panel{
  margin-top: 22px;
  padding-top: 18px;
}

body.vat-profit .takeaways-panel h2{
  margin-bottom: 12px;
  font-size: 1.35rem;
}

body.vat-profit .rail-quote{
  padding-bottom: 20px;
  margin-bottom: 20px;
}

body.vat-profit .rail-kicker{
  margin-bottom: 14px;
  font-size: 13px;
  line-height: 1.5;
}

body.vat-profit .rail-cta{
  min-width: 0;
  width: 100%;
  padding: 12px 12px 12px 16px;
  border-radius: 12px;
  line-height: 1;
}


body.vat-profit .rail-nav h2{
  margin-bottom: 14px;
  font-size: 0.98rem;
}

body.vat-profit .rail-nav li + li{
  margin-top: 12px;
}

body.vat-profit .rail-nav a{
  font-size: 12.5px;
  line-height: 1.45;
}

body.vat-profit .decision-strip{
  gap: 18px;
  padding: 16px 0 24px;
}

body.vat-profit .decision-strip article{
  padding-top: 14px;
}

body.vat-profit .decision-strip h2{
  margin-bottom: 15px;
  font-size: 1.28rem;
  line-height: 1.08;
}

body.vat-profit .decision-strip p{
  font-size: 0.94rem;
  line-height: 1.6;
}

body.vat-profit .editorial-band,
body.vat-profit .calculator-section,
body.vat-profit .editorial-grid,
body.vat-profit .comparison-band,
body.vat-profit .practical-band,
body.vat-profit .faq-section{
  padding-top: 24px;
  padding-bottom: 24px;
}

body.vat-profit .editorial-main h2,
body.vat-profit .calculator-intro h2,
body.vat-profit .content-block h2,
body.vat-profit .comparison-intro h2,
body.vat-profit .faq-heading h2{
  font-size: clamp(1.9rem, 3.4vw, 2.8rem);
  max-width: 24ch;
}

body.vat-profit .editorial-main p,
body.vat-profit .content-block p,
body.vat-profit .comparison-intro p,
body.vat-profit .practical-card p,
body.vat-profit .editorial-side p{
  margin-top: 14px;
  font-size: 0.97rem;
  line-height: 1.7;
}

body.vat-profit .editorial-side{
  max-width: 860px;
  padding: 18px 20px;
  border-radius: 14px;
}

body.vat-profit .calculator-intro{
  grid-template-columns: 280px 1fr;
  gap: 20px;
  margin-bottom: 16px;
}

body.vat-profit .calculator-intro p{
  max-width: 58ch;
  font-size: 0.96rem;
  line-height: 1.64;
}

body.vat-profit .calculator-card{
  margin-top: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
}

body.vat-profit .grid.mortgage-grid{
  gap: 14px;
}

@media (min-width: 1101px){
  body.vat-profit .grid.mortgage-grid{
    grid-template-columns: minmax(0, 1fr) minmax(338px, .9fr);
    gap: 14px;
  }
}

body.vat-profit .card{
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(31,28,84,.06);
}

body.vat-profit #calculatorInputs.card{
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

body.vat-profit #calculatorInputs .card-header{
  padding: 0 0 8px;
}

body.vat-profit form#ccPayoffForm{
  padding: 0;
}

body.vat-profit .form-grid{
  gap: 10px 12px;
}

body.vat-profit label{
  margin-bottom: 5px;
  font-size: 12px;
  line-height: 1.3;
}

body.vat-profit input,
body.vat-profit select,
body.vat-profit .selectlike,
body.vat-profit .input-split input{
  min-height: 40px;
  padding: 9px 12px;
  font-size: 14px;
  line-height: 1.2;
}

body.vat-profit .helper,
body.vat-profit .small,
body.vat-profit #depositHint{
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.35;
}

body.vat-profit .actions{
  gap: 10px;
  margin-top: 12px;
}

body.vat-profit .actions button,
body.vat-profit .actions .btn,
body.vat-profit button#calculateBtn,
body.vat-profit button#resetBtn,
body.vat-profit button#toggleScheduleBtn,
body.vat-profit button#downloadCsvBtn{
  min-height: 42px;
  padding: 10px 14px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.vat-profit button#calculateBtn,
body.vat-profit button.primary[type="submit"],
body.vat-profit button.primary{
  padding-right: 40px;
}

body.vat-profit button#calculateBtn::after,
body.vat-profit button.primary[type="submit"]::after,
body.vat-profit button.primary::after{
  right: 14px;
}

body.vat-profit details.mortgage-advanced{
  margin-top: 14px;
  border-radius: 12px;
  background: #fbfcff;
}

body.vat-profit summary.mortgage-summary{
  padding: 12px 14px;
}

body.vat-profit details.mortgage-advanced > .form-grid{
  padding: 14px;
}

body.vat-profit .results-panel#resultsPanel{background: #2563eb0a;
  border: 1px solid #dddff0;
  box-shadow: 0 8px 20px rgba(31,28,84,.06);
}

body.vat-profit .results-panel[data-collapsed="true"] .results-shell,
body.vat-profit .results-panel[data-collapsed="false"] .results-shell{
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  display: block;
  grid-template-rows: none;
  overflow: visible;
  opacity: 1;
}

body.vat-profit .results-panel[data-collapsed="true"] .results-shell > .results-content,
body.vat-profit .results-panel[data-collapsed="false"] .results-shell > .results-content{
  overflow: visible;
}

@media (max-width: 700px){
  body.vat-profit .main-container.mortgage-page{
    padding-bottom: 42px;
  }

  body.vat-profit .mortgage-layout{
    padding: 0 14px;
  }

  body.vat-profit .hero-rail{
    position: static;
    width: 100%;
    min-height: 0;
    padding: 18px 16px 20px;
    background: #2563eb0a;
  }

  body.vat-profit .calculator-intro{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.vat-profit .decision-strip{
    grid-template-columns: 1fr;
  }

  body.vat-profit .editorial-main h2,
  body.vat-profit .calculator-intro h2,
  body.vat-profit .content-block h2,
  body.vat-profit .comparison-intro h2,
  body.vat-profit .faq-heading h2{
    font-size: 2rem;
  }

  body.vat-profit .results-shell{
    padding: 0 14px 14px;
  }

  body.vat-profit .results-spotlight{
    gap: 12px;
    padding-bottom: 12px;
  }

  body.vat-profit .results-primary-value{
    font-size: 2rem;
  }

  body.vat-profit .results-donut{
    width: 156px;
  }
}

/* Final layout correction pass */
body.vat-profit .main-container.mortgage-page{
  padding: 16px 0 56px;
}

body.vat-profit .mortgage-layout{
  position: relative;
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 28px;
}

body.vat-profit .hero-rail::before,
body.vat-profit .mortgage-layout::before{
  content: none !important;
}

@media (min-width: 1101px){
  body.vat-profit .mortgage-layout{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 252px;
    column-gap: 34px;
    align-items: start;
  }

  body.vat-profit .mortgage-layout::after{
    content: "";
    position: absolute;
    top: 0;
    right: 28px;
    width: 252px;
    height: 100%;
    background: #f1eff9;
    z-index: 0;
    pointer-events: none;
  }

  body.vat-profit .mortgage-hero,
  body.vat-profit .decision-strip,
  body.vat-profit .editorial-band,
  body.vat-profit .calculator-section,
  body.vat-profit .editorial-grid,
  body.vat-profit .comparison-band,
  body.vat-profit .practical-band,
  body.vat-profit .faq-section{
    grid-column: 1 / 2;
    position: relative;
    z-index: 1;
  }

  body.vat-profit .mortgage-hero{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 252px;
    gap: 34px;
    align-items: start;
  }

  body.vat-profit .hero-main{
    max-width: 760px;
  }

  body.vat-profit .hero-rail{
    width: 252px;
    min-height: calc(100vh - 124px);
    padding: 22px 18px 28px;
    background: #2563eb0a;
    position: sticky;
    top:0;
    bottom:0;
    z-index: 2;
    box-sizing: border-box;
    align-self: start;
  }
}

body.vat-profit .mortgage-hero{
  padding: 10px 0 22px;
}

body.vat-profit .hero-rail{
  border-radius: 0;
  box-shadow: none;
}

body.vat-profit .rail-quote,
body.vat-profit .rail-nav{
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

body.vat-profit .rail-quote{
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid #d7d4eb;
}

body.vat-profit .rail-nav h2{
  margin: 0 0 14px;
  font-size: 0.95rem;
}

body.vat-profit .rail-nav ol{
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
}

body.vat-profit .rail-nav ol::before{
  content: "";
  position: absolute;
  top: 6px;
  bottom: 8px;
  left: 7px;
  width: 2px;
  background: #2563eb;
}

body.vat-profit .rail-nav li{
  position: relative;
  padding-left: 22px;
}

body.vat-profit .rail-nav li + li{
  margin-top: 14px;
}

body.vat-profit .rail-nav li::before{
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  border: 2px solid #2563eb;
  background: #f1eff9;
  z-index: 1;
}

body.vat-profit .rail-nav a{
  display: inline-block;
  color: #241f63;
  font-size: 12.5px;
  line-height: 1.45;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.vat-profit .editorial-band,
body.vat-profit .calculator-section,
body.vat-profit .editorial-grid,
body.vat-profit .comparison-band,
body.vat-profit .practical-band,
body.vat-profit .faq-section{
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-top: 26px;
  padding-bottom: 26px;
}

body.vat-profit .editorial-stack,
body.vat-profit .comparison-intro{
  max-width: 860px;
}

body.vat-profit .comparison-cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}

body.vat-profit .comparison-cards article,
body.vat-profit .practical-card,
body.vat-profit .content-block-note,
body.vat-profit .faq-item{
  box-sizing: border-box;
}

body.vat-profit .practical-band{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.vat-profit .faq-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}

body.vat-profit .calculator-card{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.vat-profit .grid.mortgage-grid{
  display: grid;
  gap: 14px;
}

@media (min-width: 1101px){
  body.vat-profit .grid.mortgage-grid{
    grid-template-columns: minmax(0, 1fr) minmax(358px, 0.92fr);
    gap: 14px;
    align-items: start;
  }
}

body.vat-profit #calculatorInputs .form-grid{
  gap: 10px 12px;
}

body.vat-profit #calculatorInputs input,
body.vat-profit #calculatorInputs select,
body.vat-profit #calculatorInputs .selectlike,
body.vat-profit #calculatorInputs .input-split input{
  min-height: 40px;
}

body.vat-profit .results-panel#resultsPanel{background: #2563eb0a;
  border: 1px solid #dddff0;
  box-shadow: 0 8px 20px rgba(31,28,84,.06);
  border-radius: 14px;
  overflow: hidden;
}

body.vat-profit .results-shell{
  display: block;
  padding: 0 16px 16px;
}

body.vat-profit .results-content{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

body.vat-profit .results-spotlight,
body.vat-profit .results-grid.kpi-results,
body.vat-profit .results-note,
body.vat-profit .results-actions.actions,
body.vat-profit .schedule-wrap{
  grid-column: 1 / -1;
}

body.vat-profit .results-spotlight{
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) 208px;
  gap: 14px;
  align-items: start;
  padding-bottom: 14px;
}

body.vat-profit .results-spotlight-copy{
  min-width: 0;
}

body.vat-profit .results-donut-card{
  padding: 12px;
  border-radius: 14px;
}

body.vat-profit .results-donut{
  width: 152px;
  margin: 0 auto;
}

body.vat-profit .results-grid.kpi-results{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.vat-profit .kpi-results .box{
  min-height: 84px;
  padding: 12px;
}

body.vat-profit .results-note{
  margin-top: 0;
}

body.vat-profit .results-actions.actions{
  margin-top: 0;
}

@media (max-width: 1100px){
  body.vat-profit .mortgage-layout{
    padding: 0 20px;
  }

  body.vat-profit .mortgage-layout::after{
    content: none !important;
  }

  body.vat-profit .hero-rail{
    position: static;
    width: 100%;
    min-height: 0;
    padding: 20px 18px;
    background: #2563eb0a;
  }

  body.vat-profit .comparison-cards,
  body.vat-profit .practical-band,
  body.vat-profit .faq-grid,
  body.vat-profit .results-content,
  body.vat-profit .results-grid.kpi-results,
  body.vat-profit .results-spotlight{
    grid-template-columns: 1fr;
  }

  body.vat-profit .results-spotlight{
    gap: 12px;
  }
}

@media (max-width: 700px){
  body.vat-profit .main-container.mortgage-page{
    padding-bottom: 40px;
  }

  body.vat-profit .mortgage-layout{
    padding: 0 14px;
  }

  body.vat-profit .editorial-band,
  body.vat-profit .calculator-section,
  body.vat-profit .editorial-grid,
  body.vat-profit .comparison-band,
  body.vat-profit .practical-band,
  body.vat-profit .faq-section{
    padding-top: 22px;
    padding-bottom: 22px;
  }

  body.vat-profit .results-shell{
    padding: 0 14px 14px;
  }

  body.vat-profit .results-donut{
    width: 144px;
  }
}


/* Final rail and content alignment correction */
body.vat-profit .hero-rail::before,
body.vat-profit .mortgage-layout::before,
body.vat-profit .mortgage-layout::after{
  content: none !important;
}

body.vat-profit .main-container.mortgage-page{
  padding: 16px 0 56px;
}

body.vat-profit .mortgage-layout{
  position: relative;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

body.vat-profit .mortgage-layout > section,
body.vat-profit .mortgage-layout > aside{
  min-width: 0;
}



body.vat-profit .decision-strip,
body.vat-profit .editorial-band,
body.vat-profit .calculator-section,
body.vat-profit .editorial-grid,
body.vat-profit .comparison-band,
body.vat-profit .practical-band,
body.vat-profit .faq-section{
  width: 100%;
  margin: 0;
  padding-top: 28px;
  padding-bottom: 28px;
}

body.vat-profit .content-block.content-block-wide,
body.vat-profit .content-block-note.content-bubble{
  max-width: 760px;
}

body.vat-profit .content-block-note.content-bubble{
  margin-top: 16px;
}

body.vat-profit .comparison-cards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}

body.vat-profit .practical-band{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  max-width: 940px;
}



body.vat-profit .faq-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}

body.vat-profit .calculator-card{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.vat-profit .results-panel#resultsPanel{background: #2563eb0a;
  border: 1px solid #dddff0;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(31,28,84,.06);
  overflow: hidden;
}

body.vat-profit .results-shell{
  padding: 0 16px 16px !important;
}

body.vat-profit .results-content{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

body.vat-profit .results-spotlight,
body.vat-profit .results-grid.kpi-results,
body.vat-profit .results-note,
body.vat-profit .results-actions.actions,
body.vat-profit .schedule-wrap{
  grid-column: 1 / -1;
}

body.vat-profit .results-spotlight{
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) 190px;
  gap: 14px;
  align-items: start;
  padding-bottom: 14px;
}

body.vat-profit .results-donut-card{
  padding: 12px;
  border-radius: 14px;
}

body.vat-profit .results-donut{
  width: 156px;
  margin: 0 auto;
}

body.vat-profit .results-grid.kpi-results{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.vat-profit .kpi-results .box{
  min-height: 84px;
  padding: 12px;
}

@media (min-width: 1101px){
  body.vat-profit .mortgage-layout{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 252px;
    column-gap: 28px;
    align-items: start;
  }

  body.vat-profit .mortgage-layout > section{
    grid-column: 1;
  }

  body.vat-profit .hero-rail{
    grid-column: 2;
    grid-row: 1 / 20;
    align-self: stretch;
    background: #2563eb0a;
    padding: 24px 18px;
    border-radius: 0;
    min-height: 100%;
    width: 100%;
    box-shadow: none;
    position: relative;
    z-index: 1;
  }

  body.vat-profit .hero-rail-inner{
    position: sticky;
    top: 108px;
  }

  body.vat-profit .mortgage-hero{
    display: block;
    padding: 10px 0 22px;
  }

  body.vat-profit .hero-main{
    max-width: 760px;
  }
}

body.vat-profit .hero-rail{
  background: #2563eb0a;
}

body.vat-profit .rail-quote,
body.vat-profit .rail-nav{
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

body.vat-profit .rail-quote{
  padding-bottom: 18px;
  margin-bottom: 18px;
  border-bottom: 1px solid #d7d4eb;
}

@media (max-width: 1100px){
  body.vat-profit .mortgage-layout{
    padding: 0 20px;
    display: block;
  }

  body.vat-profit .hero-rail{
    position: static;
    min-height: 0;
    width: 100%;
    padding: 20px 18px;
    margin-top: 12px;
  }

  body.vat-profit .hero-rail-inner{
    position: static;
  }

  body.vat-profit .comparison-cards,
  body.vat-profit .practical-band,
  body.vat-profit .faq-grid,
  body.vat-profit .results-content,
  body.vat-profit .results-grid.kpi-results,
  body.vat-profit .results-spotlight{
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px){
  body.vat-profit .mortgage-layout{
    padding: 0 14px;
  }

  body.vat-profit .decision-strip,
  body.vat-profit .editorial-band,
  body.vat-profit .calculator-section,
  body.vat-profit .editorial-grid,
  body.vat-profit .comparison-band,
  body.vat-profit .practical-band,
  body.vat-profit .faq-section{
    padding-top: 22px;
    padding-bottom: 22px;
  }

  body.vat-profit .results-shell{
    padding: 0 14px 14px !important;
  }

  body.vat-profit .results-donut{
    width: 144px;
  }
}


body.vat-profit details.mortgage-advanced > .form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px 14px !important;
  margin-top:14px !important;
  padding:16px 0 0 !important;
  border-top:1px solid rgba(217,213,239,.85) !important;
}

body.vat-profit details.mortgage-advanced > .form-grid > .row{
  display:contents !important;
}

body.vat-profit details.mortgage-advanced .field{
  min-width:0 !important;
}

body.vat-profit details.mortgage-advanced label{
  display:block !important;
  margin-bottom:6px !important;
  line-height:1.3 !important;
  white-space:normal !important;
}

body.vat-profit details.mortgage-advanced .helper,
body.vat-profit details.mortgage-advanced .small{
  margin-top:6px !important;
  line-height:1.45 !important;
  white-space:normal !important;
}

body.vat-profit details.mortgage-advanced input,
body.vat-profit details.mortgage-advanced select,
body.vat-profit details.mortgage-advanced .selectlike,
body.vat-profit details.mortgage-advanced .input-split,
body.vat-profit details.mortgage-advanced .input-split input{
  width:100% !important;
  min-width:0 !important;
}

body.vat-profit details.mortgage-advanced .input-split{
  display:block !important;
}

body.vat-profit details.mortgage-advanced .input-split .split-addon{
  display:none !important;
}

body.vat-profit details.mortgage-advanced .field:has(#otherUpfrontFees){
  grid-column:1 / -1 !important;
}

body.vat-profit .mortgage-summary{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  width:auto !important;
  color:#231d64 !important;
  font-weight:700 !important;
}

body.vat-profit .mortgage-summary:hover{
  text-decoration:underline !important;
  text-underline-offset:4px !important;
}

body.vat-profit .mortgage-summary::after{
  position:static !important;
  margin-left:6px !important;
}

body.vat-profit details.mortgage-advanced{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

body.vat-profit details.mortgage-advanced[open]{
  background:transparent !important;
}

body.vat-profit .results-primary-value{
  font-size:clamp(1.45rem,3vw,2.05rem) !important;
  line-height:1 !important;
  letter-spacing:-0.025em !important;
}

body.vat-profit .results-overline{
  font-size:10px !important;
  margin-bottom:6px !important;
}

body.vat-profit .results-primary-text{
  margin-top:8px !important;
  max-width:32ch !important;
  font-size:13px !important;
  line-height:1.58 !important;
}

body.vat-profit .results-primary-meta{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  margin-top:12px !important;
}

body.vat-profit .results-meta-item{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  min-width:0 !important;
  overflow:visible !important;
}

body.vat-profit .results-meta-label{
  display:block !important;
  margin:0 0 2px !important;
  font-size:11px !important;
  line-height:1.25 !important;
  color:#6c6a8c !important;
}

body.vat-profit .results-meta-item strong{
  display:block !important;
  max-width:100% !important;
  font-size:.95rem !important;
  line-height:1.2 !important;
  color:#231d64 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  word-break:break-word !important;
}

body.vat-profit .results-donut-card{
  padding:12px !important;
  gap:10px !important;
}

body.vat-profit .results-donut{
  width:138px !important;
}

body.vat-profit .results-donut::before{
  inset:14px !important;
}

body.vat-profit .results-donut-kicker{
  font-size:10px !important;
  letter-spacing:.1em !important;
}

body.vat-profit .results-donut-inner{
  padding:0 10px !important;
}

body.vat-profit .results-donut-inner strong{
  font-size:.9rem !important;
  line-height:1.1 !important;
}

body.vat-profit .results-donut-legend{
  gap:6px !important;
}

body.vat-profit .legend-row{
  font-size:12px !important;
  gap:6px !important;
}

body.vat-profit .legend-row strong{
  white-space:nowrap !important;
  font-size:12px !important;
}

body.vat-profit .results-grid.kpi-results,
body.vat-profit .kpi-results,
body.vat-profit #scheduleWrap,
body.vat-profit #showScheduleBtn,
body.vat-profit .mortgage-table-wrap,
body.vat-profit table.mortgage-table{
  display:none !important;
}

body.vat-profit .results-note{
  margin-top:14px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(217,213,239,.85) !important;
}

body.vat-profit .results-note p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.68 !important;
  color:#3f3c72 !important;
}

body.vat-profit .results-note strong{
  color:#231d64 !important;
}

body.vat-profit .results-summary-line + .results-summary-line{
  margin-top:8px !important;
}

@media (max-width:700px){
  body.vat-profit details.mortgage-advanced > .form-grid{
    grid-template-columns:1fr !important;
  }

  body.vat-profit .results-spotlight{
    grid-template-columns:minmax(0,1fr) 148px !important;
    gap:12px !important;
  }

  body.vat-profit .results-primary-value{
    font-size:1.85rem !important;
  }

  body.vat-profit .results-donut{
    width:126px !important;
  }

  body.vat-profit .results-meta-item strong{
    font-size:.9rem !important;
  }
}

@media (max-width:420px){
  body.vat-profit .results-spotlight{
    grid-template-columns:1fr !important;
  }

  body.vat-profit .results-donut-card{
    justify-self:start !important;
  }
}


body.vat-profit .main-container.credit-card-page{
  padding:22px 0 72px;
}

body.vat-profit .mortgage-hero h1{
  max-width:15.5ch;
}

body.vat-profit .calculator-card .field-checkbox{
  grid-column:1 / -1;
}

body.vat-profit .save-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  line-height:1.4;
  color:#4f4c78;
  font-weight:600;
  margin-top:2px;
}

body.vat-profit .save-toggle input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:#2563eb;
}

body.vat-profit .form-message{
  grid-column:1 / -1;
  min-height:20px;
  margin-top:2px;
  color:#7f1d1d;
  font-size:13px;
}

body.vat-profit .field-icons{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  color:#7a7799;
  flex:0 0 auto;
}

body.vat-profit .results-overline{
  margin:0 0 8px;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#6a6793;
}

body.vat-profit .cc-results-note{
  margin:18px 0 0;
  color:#3a3765;
  font-size:14px;
  line-height:1.7;
}

body.vat-profit .results-card .affiliate-slot{
  margin-top:18px;
}

body.vat-profit .results-card .affiliate-placeholder{
  min-height:0;
}

body.vat-profit details.schedule{
  margin-top:18px;
  border:1px solid rgba(226,232,240,.95);
  border-radius:16px;
  background:#ffffff;
  overflow:hidden;
}

body.vat-profit details.schedule summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  padding:14px 16px;
  font-weight:800;
  font-size:14px;
  color:#211b63;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#ffffff;
}

body.vat-profit details.schedule summary::-webkit-details-marker{ display:none; }

body.vat-profit details.schedule summary::after{
  content:"";
  width:10px;
  height:10px;
  border-right:2px solid rgba(51,65,85,.85);
  border-bottom:2px solid rgba(51,65,85,.85);
  transform: rotate(45deg);
  margin-left:auto;
  transition:transform .18s ease;
}

body.vat-profit details.schedule[open] summary::after{
  transform: rotate(-135deg);
}

body.vat-profit details.schedule .summary-meta{
  color:#6c6a8c;
  font-size:13px;
  font-weight:700;
}

body.vat-profit details.schedule .table-wrap{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  border-top:1px solid rgba(226,232,240,.92);
}

body.vat-profit details.schedule .table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:560px;
  font-size:13px;
  color:#334155;
}

body.vat-profit details.schedule .table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:linear-gradient(180deg, rgba(248,250,252,.98), rgba(241,245,249,.98));
  color:#211b63;
  font-weight:800;
  text-align:left;
  padding:12px 12px;
  border-bottom:1px solid rgba(226,232,240,.95);
  white-space:nowrap;
}

body.vat-profit details.schedule .table tbody td{
  padding:11px 12px;
  border-bottom:1px solid rgba(226,232,240,.75);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  text-align:right;
}

body.vat-profit details.schedule .table tbody td:first-child{
  text-align:left;
  color:#211b63;
  font-weight:700;
}

body.vat-profit details.schedule .table tbody tr:nth-child(odd) td{
  background:rgba(15,23,42,.015);
}

body.vat-profit details.schedule .table tbody tr:hover td{
  background:rgba(37, 99, 235,.06);
}

body.vat-profit .faq-section .last-updated,
body.vat-profit .faq-section .updated-stamp{
  margin-top:14px;
  color:#6c6a8c;
  font-size:12.5px;
}

@media (min-width: 920px){
  body.vat-profit .results-card[data-collapsed="true"] .results-shell{
    min-height:40px;
    padding-top:18px;
    padding-bottom:18px;
    display:grid;
    grid-template-rows:0fr;
    overflow:hidden;
    opacity:0;
    transition:grid-template-rows .38s ease, opacity .22s ease;
  }

  body.vat-profit .results-card[data-collapsed="true"] .results-shell > .results-content{
    overflow:hidden;
  }

  body.vat-profit .results-card[data-collapsed="false"] .results-shell{
    min-height:0;
    display:grid;
    grid-template-rows:1fr;
    overflow:visible;
    opacity:1;
    transition:grid-template-rows .38s ease, opacity .22s ease;
  }

  body.vat-profit .results-card[data-collapsed="false"] .results-shell > .results-content{
    overflow:visible;
  }
}

@media (max-width: 919px){
  body.vat-profit .results-card:has(#resultsShell[data-state="empty"]){
    display:none;
  }
}

@media (max-width: 760px){
  body.vat-profit .faq-grid{
    grid-template-columns:1fr;
    gap:0;
  }
}


.aff-offer{
  border: 1px solid var(--border, #e2e8f0);
  background: var(--surface, #ffffff);
  border-radius: 16px;
  padding: 16px 16px 14px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}

.aff-top{
  display: grid;
  gap: 8px;
}

.aff-badges{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.aff-badge{
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.03);
  color: var(--text, #0f172a);
}

.aff-badge--sponsored{
  background: rgba(37, 99, 235, .10);
  border-color: rgba(37, 99, 235, .25);
  color: #1e40af;
}

.aff-badge--uk{
  background: rgba(2, 132, 199, .10);
  border-color: rgba(2, 132, 199, .22);
  color: #075985;
}

.aff-badge--info{
  background: rgba(15, 23, 42, .06);
  border-color: rgba(15, 23, 42, .10);
  color: var(--text, #0f172a);
}

.aff-title{
  font-size: 16px;
  line-height: 1.25;
  font-weight: 800;
  color: var(--text, #0f172a);
}

.aff-body{
  font-size: 14px;
  line-height: 1.45;
  color: var(--text-2, #334155);
}

.aff-meta{
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

.aff-meta li{
  position: relative;
  padding-left: 16px;
  font-size: 13px;
  color: var(--muted, #64748b);
  line-height: 1.35;
}

.aff-meta li::before{
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 7px;
  background: rgba(37, 99, 235, .55);
}

.aff-actions{
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 14px;
}

.aff-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  padding: 0 16px;
  border-radius: 12px;
  font-weight: 800;
  text-decoration: none;
  background: var(--primary, #2563eb);
  color: #fff;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 22px rgba(37, 99, 235, .18);
}

.aff-btn:active{
  transform: translateY(1px);
}

.aff-btn--secondary{
  background: rgba(37, 99, 235, .10);
  color: #1e40af;
  border-color: rgba(37, 99, 235, .22);
  box-shadow: none;
}

.aff-link{
  font-size: 13px;
  font-weight: 700;
  color: var(--text, #0f172a);
  text-decoration: underline;
  text-underline-offset: 3px;
  opacity: .85;
}

.aff-details{
  margin-top: 12px;
  border-top: 1px solid rgba(0,0,0,.06);
  padding-top: 10px;
}

.aff-details summary{
  cursor: pointer;
  font-weight: 800;
  font-size: 13px;
  color: var(--text, #0f172a);
  list-style: none;
}

.aff-details summary::-webkit-details-marker{
  display: none;
}

.aff-disclosure{
  margin-top: 10px;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--muted, #64748b);
}

.aff-safety{
  margin-top: 8px;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--muted, #64748b);
}

@media (min-width: 920px){
  .aff-offer{
    padding: 18px 18px 16px;
    border-radius: 18px;
  }
  .aff-title{
    font-size: 17px;
  }
}

body.vat-profit .faq-item{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.vat-profit .faq-item summary{
  position:relative;
}

body.vat-profit .faq-item summary::before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:0;
  height:1px;
  background:rgba(226,232,240,.95);
}

@media (max-width:700px){
  body.vat-profit .results-spotlight{
    display:grid;
    grid-template-columns:minmax(0, .75fr) minmax(0, 1fr);
    gap:10px;
    align-items:start;
    padding:0 0 12px;
  }

  body.vat-profit .results-spotlight-copy{
    min-width:0;
    max-width:100%;
  }

  body.vat-profit .results-primary-value{
    font-size:1.85rem;
    line-height:.98;
  }

  body.vat-profit .results-primary-text{
    margin-top:10px;
    font-size:14px;
    line-height:1.45;
  }

  body.vat-profit .results-primary-meta{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:12px;
  }

  body.vat-profit .results-meta-item{
    display:block;
  }

  body.vat-profit .results-meta-label{
    display:block;
    margin-bottom:2px;
  }

  body.vat-profit .results-meta-item strong{
    display:block;
    margin-top:0;
  }

  body.vat-profit .results-donut-card{
    justify-self:start;
    align-self:start;
    width:100%;
    max-width:none;
    min-width:0;
    padding:12px;
    gap:10px;
    align-items:flex-start;
  }

  body.vat-profit .results-donut{
    width:132px;
  }

  body.vat-profit .results-donut-legend{
    width:100%;
    gap:8px;
  }

  body.vat-profit .legend-row{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    display:flex;
    align-items:flex-start;
  }
  body.vat-profit .legend-row strong{
    display:block;
  }
}

body.vat-profit .mortgage-layout{
  row-gap: 0;
}

body.vat-profit .decision-strip,
body.vat-profit .editorial-band,
body.vat-profit .calculator-section,
body.vat-profit .editorial-grid,
body.vat-profit .comparison-band,
body.vat-profit .practical-band,
body.vat-profit .faq-section{
  margin-top: clamp(28px, 4vw, 48px);
}

body.vat-profit .editorial-main,
body.vat-profit .content-block,
body.vat-profit .comparison-intro,
body.vat-profit .practical-card{
  line-height: 1.68;
}

body.vat-profit .editorial-main p + p,
body.vat-profit .content-block p + p,
body.vat-profit .practical-card p + p{
  margin-top: 14px;
}

body.vat-profit .content-block h3{
  margin-top: 28px;
  margin-bottom: 10px;
}

body.vat-profit .content-block ul{
  margin-top: 12px;
}

body.vat-profit .calculator-intro{
  margin-bottom: 18px;
}

body.vat-profit .faq-heading{
  margin-bottom: 18px;
}

@media (min-width: 900px){
  body.vat-profit .editorial-main p,
  body.vat-profit .content-block-wide p,
  body.vat-profit .comparison-intro p,
  body.vat-profit .practical-card p{
    max-width: 76ch;
  }

  body.vat-profit .content-block-wide{
    padding: 32px;
  }
}

@media (max-width: 700px){
  body.vat-profit .main-container{
    padding-left: 14px;
    padding-right: 14px;
  }

  body.vat-profit .mortgage-hero,
  body.vat-profit .decision-strip,
  body.vat-profit .editorial-band,
  body.vat-profit .calculator-section,
  body.vat-profit .editorial-grid,
  body.vat-profit .comparison-band,
  body.vat-profit .practical-band,
  body.vat-profit .faq-section{
    margin-top: 24px;
  }

  body.vat-profit .decision-strip,
  body.vat-profit .editorial-band,
  body.vat-profit .calculator-section,
  body.vat-profit .editorial-grid,
  body.vat-profit .comparison-band,
  body.vat-profit .practical-band,
  body.vat-profit .faq-section{
    padding-left: 0;
    padding-right: 0;
  }

  body.vat-profit .editorial-main,
  body.vat-profit .editorial-side,
  body.vat-profit .content-block,
  body.vat-profit .comparison-band,
  body.vat-profit .practical-card,
  body.vat-profit .faq-section{
    line-height: 1.62;
  }

  body.vat-profit .content-block h2,
  body.vat-profit .comparison-band h2,
  body.vat-profit .practical-card h2,
  body.vat-profit .faq-heading h2{
    margin-bottom: 12px;
  }

  body.vat-profit .content-block h3{
    margin-top: 24px;
    margin-bottom: 9px;
  }

  body.vat-profit .calculator-intro{
    gap: 12px;
    margin-bottom: 16px;
  }

  body.vat-profit .grid.mortgage-grid{
    gap: 16px;
  }
}

body.vat-profit #interpretation.editorial-grid{
  display: block;
  max-width: 760px;
  margin: clamp(1.75rem, 3.5vw, 3.25rem) auto;
  padding: 0;
}

body.vat-profit #interpretation .section-kicker{
  margin-bottom: 0.55rem;
}

body.vat-profit #interpretation h2{
  margin-top: 1.65rem;
  margin-bottom: 0.75rem;
  color: var(--text);
  line-height: 1.18;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  max-width: none;
}

body.vat-profit #interpretation h2:first-of-type{
  margin-top: 0;
}

body.vat-profit #interpretation h3{
  margin-top: 1.45rem;
  margin-bottom: 0.6rem;
  color: var(--text);
  line-height: 1.25;
}

body.vat-profit #interpretation p{
  margin-top: 0;
  color: var(--text-2);
  font-size: 1rem;
  line-height: 1.75;
}

body.vat-profit #interpretation p + p{
  margin-top: 0.95rem;
}

body.vat-profit #interpretation a{
  color: var(--primary);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 720px){
  body.vat-profit #interpretation.editorial-grid{
    max-width: none;
    margin-block: 1.5rem;
  }

  body.vat-profit #interpretation h2{
    font-size: clamp(1.35rem, 6vw, 1.75rem);
  }
}


body.vat-profit #interpretation.editorial-grid{
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}

body.vat-profit .editorial-main{
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}


body.vat-profit form#vatProfitForm,
body.vat-profit .vat-form{
  padding:14px var(--space-6) var(--space-6);
}

body.vat-profit form#vatProfitForm .form-grid,
body.vat-profit .vat-form .form-grid{
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
  margin-top:2px;
}

body.vat-profit .grid.mortgage-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-5);
}

body.vat-profit .results-panel#resultsPanel{
  background:#2563eb0a;
  border:0;
  box-shadow:none;
}

body.vat-profit #resultsShell[data-state="empty"] .results-content,
body.vat-profit #resultsShell[data-has-results="false"] .results-content{
  display:none;
}

body.vat-profit #resultsShell[data-state="ready"] .results-content,
body.vat-profit #resultsShell[data-has-results="true"] .results-content{
  display:block;
}

body.vat-profit .editorial-grid h2,
body.vat-profit .comparison-band h2,
body.vat-profit .practical-band h2,
body.vat-profit .faq-heading h2{
  margin-bottom:18px;
}

body.vat-profit .editorial-grid h3,
body.vat-profit .comparison-band h3,
body.vat-profit .practical-band h3{
  margin-top:26px;
  margin-bottom:12px;
}

body.vat-profit .editorial-grid p + h2,
body.vat-profit .comparison-band p + h2,
body.vat-profit .practical-band p + h2{
  margin-top:30px;
}

body.vat-profit .editorial-grid p,
body.vat-profit .comparison-band p,
body.vat-profit .practical-band p{
  margin-top:0;
  margin-bottom:14px;
}

@media (min-width:768px){
  body.vat-profit .grid.mortgage-grid{
    grid-template-columns:1fr 1fr;
    align-items:start;
  }
}

@media (min-width:701px){
  body.vat-profit .results-card[data-collapsed="true"] .results-shell{
    min-height:40px;
    padding-top:18px;
    padding-bottom:18px;
    display:grid;
    grid-template-rows:0fr;
    overflow:hidden;
    opacity:0;
    transition:grid-template-rows .38s ease, opacity .22s ease;
  }

  body.vat-profit .results-card[data-collapsed="true"] .results-shell > .results-content{
    overflow:hidden;
  }

  body.vat-profit .results-card[data-collapsed="false"] .results-shell,
  body.vat-profit .results-card.has-results .results-shell{
    min-height:0;
    display:grid;
    grid-template-rows:1fr;
    overflow:visible;
    opacity:1;
  }
}

@media (max-width:700px){
  body.vat-profit form#vatProfitForm,
  body.vat-profit .vat-form{
    padding:8px 16px 16px;
  }

  body.vat-profit .results-card[data-collapsed="true"]{
    display:none;
  }

  body.vat-profit .results-card[data-collapsed="false"],
  body.vat-profit .results-card.has-results{
    display:block;
  }
}
