/* Quiet summaries share one identity and rate rhythm across the directory and home. */
.airy-directory{border:0;background:transparent;padding:0;overflow:visible;box-shadow:none}
.airy-directory .comparison-table{width:100%;table-layout:fixed}
.airy-directory .comparison-table th,.airy-directory .comparison-table td{border:0;border-bottom:1px solid #dce2e5;padding:24px 16px;background:transparent;vertical-align:middle}
.airy-directory .comparison-table .account-fee,.airy-directory .comparison-table .account-minimum,.airy-directory .comparison-table .account-expand{text-align:left}
.airy-directory .comparison-table thead th{font-size:.95rem;font-weight:600;padding:10px 16px;vertical-align:middle;background:#f4f5f4;color:var(--ink)}
.airy-directory .comparison-table thead th:first-child{width:36%}
.airy-directory .comparison-table .bank-name,.airy-home .bank-name{display:flex;align-items:center;gap:12px}
.airy-directory .bank-logo,.airy-home .bank-logo{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:32px;padding:0;border:0;box-shadow:none;background:transparent}
.airy-directory .bank-logo img,.airy-home .bank-logo img{max-width:40px;max-height:32px;width:auto;height:auto;object-fit:contain}
.airy-directory .bank-logo.on-dark,.airy-home .bank-logo.on-dark{background:#254b62;border-radius:3px}
.airy-directory .bank-name small,.airy-home .bank-name small{font-weight:400;margin-top:4px}
.airy-directory .rate{font-size:1.6rem;color:var(--burgundy,#681b32);white-space:normal}
.airy-directory .rate-expanded-row[hidden]{display:none!important}
.airy-directory .rate-expanded-row>td{padding:0 0 24px}
.rate-expanded-content{background:#edf5fa;border-radius:8px;padding:24px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;font-weight:400}
.rate-expanded-content h3{font-size:1rem;margin:0 0 12px;font-weight:500}
.rate-expanded-content .annual-interest{font-size:1.3rem}
.rate-expanded-content small,.rate-expanded-content .directory-mobile-label{display:block;font-size:.875rem}
.rate-expanded-content .account-select{margin-top:20px}
.rate-expanded-content .account-choice{display:flex;gap:8px;align-items:center}
.rate-expanded-content .account-choice .visually-hidden{position:static;width:auto;height:auto;clip:auto;clip-path:none;white-space:normal}
.rate-summary-conditions{font-size:.85rem;font-weight:400;margin-top:12px}
.rate-summary-conditions .condition-facts p{margin:4px 0}
.rate-summary-conditions .offer-note{background:transparent;border:0;padding:0;margin:8px 0}
.rate-summary-conditions .badge{font-size:.8rem}
.rate-filter-panel{margin:16px 0 24px}
.rate-filter-panel>summary{color:#245c7c;cursor:pointer;padding:12px 0;min-height:44px}
.airy-home table{width:100%}
.airy-home th,.airy-home td{padding:22px 12px;border-bottom:1px solid #dce2e5;background:transparent}
.airy-home .rate{color:#681b32;font-size:1.5rem}
[data-rate-details]{white-space:nowrap;display:inline-block;min-height:44px;padding:8px 0}
@media(max-width:1000px) and (min-width:701px){
 .airy-directory .account-minimum,.airy-directory thead th:nth-child(4){display:none}
 .rate-expanded-content{grid-template-columns:1fr 1fr}
 /* Explicit shared tracks avoid a phantom fifth column from full-width offer cells. */
 .airy-directory .comparison-table,.airy-directory .comparison-table thead,.airy-directory .comparison-table tbody{display:block;width:100%}
 .airy-directory .comparison-table thead tr,.airy-directory .comparison-table tbody tr.account-row{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,20fr) minmax(0,21fr) minmax(0,17fr);align-items:stretch;gap:0;margin:0;grid-template-areas:none}
 .airy-directory .comparison-table thead th,.airy-directory .comparison-table thead th:first-child{width:auto;min-width:0}
 .airy-directory .comparison-table tbody tr.account-row>th,.airy-directory .comparison-table tbody tr.account-row>td{min-width:0;display:flex;flex-direction:column;justify-content:center}
 .airy-directory .comparison-table tbody tr.account-row>.account-minimum{display:none}
 .airy-directory .comparison-table thead tr{background:#f4f5f4}
 .airy-directory .comparison-table thead th{display:flex;align-items:center}
 .airy-directory .comparison-table thead th:nth-child(4){display:none}
 .airy-directory .comparison-table .connected-offer-row,.airy-directory .comparison-table .rate-expanded-row,.airy-directory .comparison-table tr>td[colspan]{display:block;width:100%}

}
@media(max-width:700px){
 .airy-directory .comparison-table,.airy-directory .comparison-table tbody{display:block}
 .airy-directory .comparison-table thead{display:none}
 .airy-directory .comparison-table .account-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,auto);gap:4px 16px;padding:16px 0;border-bottom:1px solid #dce2e5;background:transparent;border-radius:0;margin:0}
 .airy-directory .comparison-table .account-row>th,.airy-directory .comparison-table .account-row>td{display:block;padding:0;border:0;background:transparent}
 .airy-directory .account-identity{grid-column:1;grid-row:1 / 3}
 .airy-directory .account-row>.rate{grid-column:2;grid-row:1;text-align:right;font-size:1.5rem}
 .airy-directory .account-row>.account-fee,.airy-directory .account-row>.account-minimum{display:none}
 .airy-directory .account-expand{grid-column:2;grid-row:2;text-align:right}
 .airy-directory .directory-mobile-label{display:none}
 .airy-directory .rate-expanded-row,.airy-directory .rate-expanded-row>td{display:block;width:100%}
 .rate-expanded-content{grid-template-columns:1fr;gap:20px;padding:20px}
 .airy-directory .bank-name{align-items:flex-start;gap:10px}
 .airy-directory .bank-logo{flex-basis:28px;width:28px}
 .airy-directory .bank-logo img{max-width:28px;max-height:28px}
 .rate-summary-conditions{line-height:1.5}
 .airy-home .bank-name{gap:8px}
 .airy-home .bank-logo{flex-basis:28px;width:28px}
 .airy-home .bank-logo img{max-width:28px;max-height:28px}
}

.airy-directory .comparison-table{min-width:0}
.airy-directory .comparison-table .bank-name{min-width:0}
.airy-directory .comparison-table .bank-name>a{min-width:0;overflow-wrap:anywhere}
.airy-directory .annual-interest{white-space:normal}
.airy-directory .directory-mobile-label,.airy-directory .directory-mobile-link{display:none}
.airy-directory .rate-expanded-content .directory-mobile-label{display:block}
.airy-directory .comparison-table thead .table-sort{min-height:44px;padding:0;background:transparent;justify-content:flex-start;align-items:center;gap:8px;white-space:nowrap;font-size:.95rem;font-weight:600;color:var(--ink)}
.airy-directory .account-conditions{min-width:0}
.airy-directory .comparison-table caption{padding-bottom:20px}

@media(max-width:700px){
 div.airy-directory .comparison-table tbody tr.account-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,auto);grid-template-areas:none}
 div.airy-directory .comparison-table tbody tr.account-row>.account-identity{grid-area:1 / 1 / 3 / 2;padding:0}
 div.airy-directory .comparison-table tbody tr.account-row>.rate{grid-area:1 / 2 / 2 / 3;padding:0;text-align:right;white-space:normal;background:transparent}
 div.airy-directory .comparison-table tbody tr.account-row>.account-fee,div.airy-directory .comparison-table tbody tr.account-row>.account-minimum{display:none}
 div.airy-directory .comparison-table tbody tr.rate-expanded-row{display:block}
 div.airy-directory .comparison-table tbody tr.rate-expanded-row[hidden]{display:none}
 .airy-directory .comparison-table .bank-name{min-width:0}
}
.rate-expanded-content .annual-interest{order:-1;text-align:left}
.rate-expanded-content .annual-interest .directory-estimate-value{display:block;font-size:1.7rem}
.selected-comparison{margin:24px 0 36px}
.selected-comparison table{table-layout:fixed;min-width:580px}
.selected-comparison th,.selected-comparison td{padding:24px 18px;border-bottom:1px solid #dce2e5;background:transparent;overflow-wrap:anywhere}
.selected-comparison thead th{font-size:1.1rem}
.selected-comparison tbody th{font-weight:400;color:var(--muted)}
.selected-comparison tbody tr:first-child td{font-size:1.6rem;color:var(--burgundy);font-weight:700}
.selected-comparison .bank-name{min-width:0}
.selected-comparison .bank-logo{width:32px;height:32px;flex:0 0 32px;background:transparent}
.selected-comparison .bank-logo img{max-width:32px;max-height:32px;width:auto;height:auto}
.selected-comparison .bank-name small{display:block;font-size:.9rem;font-weight:400}
@media(max-width:700px){.selected-comparison th,.selected-comparison td{padding:18px 10px}}
@media(max-width:700px){
 .two-accounts table,.two-accounts thead,.two-accounts tbody{display:block;min-width:0;width:100%}
 .two-accounts tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid var(--line)}
 .two-accounts tbody th{grid-column:1 / -1;padding-bottom:0;border:0}
 .two-accounts td,.two-accounts thead th{border:0;min-width:0}
 .two-accounts thead th:first-child{display:none}
 .two-accounts .bank-name{display:block}
 .two-accounts .bank-logo{margin-bottom:8px}
}
.airy-directory .rate-expanded-content .directory-mobile-link{display:inline-block;margin-top:16px;font-size:1rem}
.airy-directory .rate-summary-conditions .condition-facts{gap:2px}
.airy-directory .rate-summary-conditions a{font-size:.85rem}

/* The working surface follows the approved quiet table mockups. */
.rate-page .page-heading{margin:28px 0 32px}
.rate-toolbar{position:relative;margin:0 0 28px}
.rate-toolbar>p{position:absolute;left:0;top:0;margin:10px 0;pointer-events:none}
.rate-toolbar .rate-filter-panel{margin:0;width:100%;max-width:100%}
.rate-toolbar .rate-filter-panel>summary{text-align:right;list-style:none;padding:10px 0;color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.rate-toolbar .rate-filter-panel>summary::-webkit-details-marker{display:none}
.rate-toolbar .comparison-filters{margin:12px 0;background:#f1f5f7}
.rate-support{margin:32px 0;font-size:.9rem;color:var(--muted)}
.rate-support .comparison-context{display:block;margin:0}
.rate-support p{margin-top:20px}
.airy-directory caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.airy-directory .comparison-table .bank-name>a{font-family:"Source Serif 4",Georgia,serif;font-size:1.25rem;font-weight:600;text-decoration:none}
.airy-directory .comparison-table .bank-name small{font-family:"Source Sans 3",sans-serif;font-size:.95rem;color:var(--muted)}
.airy-directory .comparison-table .rate{font-family:"Source Serif 4",Georgia,serif;font-size:1.9rem}
.airy-directory .rate-summary-conditions>a{display:none}
.airy-directory .rate-summary-conditions>.condition-facts p:first-child{display:none}
.airy-directory .rate-summary-conditions{margin:0}
.rate-expanded-content .annual-interest h3{font-size:1rem;color:var(--muted)}
.rate-expanded-content .annual-interest .directory-mobile-label{display:none}
.rate-page .selection-bar{background:transparent;border-top:1px solid var(--line);padding:20px 0;border-radius:0}
.rate-page .listing-heading{margin:0 0 16px}
@media(max-width:700px){
 .rate-toolbar{gap:12px;margin-bottom:20px}
 .rate-toolbar>p{font-size:.95rem}
 .rate-toolbar .rate-filter-panel{font-size:.95rem}
 .airy-directory .comparison-table .account-row{padding:16px 0;gap:0 16px;align-items:center}
 .airy-directory .comparison-table .bank-name>a{font-size:1.15rem}
 .airy-directory .comparison-table .rate{font-size:1.65rem}
 div.airy-directory .comparison-table tbody tr.account-row>.account-expand{grid-area:2 / 2 / 3 / 3;text-align:right;align-self:start}
 .airy-directory [data-rate-details]{padding:4px 0;min-height:44px;line-height:36px}
}

.rate-table-note{font-size:.85rem;color:var(--muted);margin:14px 0}
.airy-directory .table-sort.is-sorted{color:var(--blue)}

/* Keep the site's photographic masthead and white working panel. */
.rate-page .airy-directory{background:#fff;border-radius:8px;padding:20px 24px}
.airy-directory .comparison-table .connected-offer-row>td{padding:0 16px 20px}
.airy-directory .connected-offer-row .offer-note{margin:0;white-space:normal}
@media(max-width:700px){
 .rate-page .featured-image{display:none}
 .rate-page .airy-directory{padding:0 16px}
 .airy-directory .comparison-table .connected-offer-row,.airy-directory .comparison-table .connected-offer-row>td{display:block;width:100%}
 .airy-directory .comparison-table .connected-offer-row>td{padding:0 0 16px}
}

/* Keep the summary columns fixed when a full-width disclosure opens. */
.compact-directory .comparison-table :is(th, td) {
  padding: 12px;
  overflow-wrap: anywhere;
}
.compact-directory .comparison-table thead th:first-child { width: 30%; }
.compact-directory .comparison-table thead th:nth-child(2) { width: 20%; }
.compact-directory .comparison-table .rate {
  text-align: right;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.compact-directory .comparison-table :is(.account-fee, .account-minimum) {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.compact-directory .comparison-table .bank-name {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: start;
  gap: 0 10px;
}
.compact-directory .bank-name > :not(.bank-logo) { grid-column: 2; }
.compact-directory .bank-logo.bank-initials {
  color: var(--blue);
  background: var(--blue-light);
  border-radius: 4px;
  font-size: .8rem;
}
.compact-directory .comparison-table .bank-name small { margin-top: 0; }
.compact-directory .rate-summary-conditions {
  margin-top: 4px;
  color: var(--muted);
  font: 400 .875rem/1.35 "Source Sans 3", sans-serif;
}
.compact-directory .rate-summary-conditions .condition-facts p { margin: 0; }
.compact-directory .rate-summary-conditions .condition-facts p:nth-child(n+2) { display: none; }
.compact-directory .compare-toggle {
  min-width: 74px;
  min-height: 36px;
  padding: 3px 9px;
  font-size: .875rem;
  background: #fff;
  border-color: var(--burgundy);
  color: var(--burgundy);
}
.compact-directory .compare-toggle:is(:hover, .is-selected) { background: var(--burgundy-light); }
.compact-directory .comparison-table .details-toggle {
  justify-self: start;
  min-height: 36px;
  padding: 0 4px;
  margin-left: -4px;
  border: 0;
  background: transparent;
  color: var(--blue);
  font-size: .875rem;
  line-height: 1.25;
  gap: 4px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.compact-directory :is(.account-choice, .compare-toggle, .details-toggle)[hidden] { display: none; }
.compact-directory .comparison-table .rate-expanded-row > td { padding: 0 0 12px; }
.compact-directory .connected-offer-row > td { padding: 0 0 12px; }
.compact-directory .connected-offer-row .offer-note + .offer-note { margin-top: 8px; }
.compact-directory .rate-expanded-content {
  gap: 20px;
  padding: 16px;
  background: var(--blue-light);
  overflow-wrap: anywhere;
}
.compact-directory .account-evidence a { display: inline-block; margin-top: 8px; }

@media (min-width: 701px) {
  .compact-directory .comparison-table thead th:nth-child(n+2):nth-child(-n+4) {
    padding-inline: 12px;
    text-align: right;
    justify-content: end;
  }
  .compact-directory .comparison-table thead th:nth-child(n+2):nth-child(-n+4) .table-sort {
    width: 100%;
    flex-direction: row-reverse;
    justify-content: flex-start;
    text-align: right;
    gap: 6px;
  }
  .compact-directory .table-sort .sort-arrow { flex: 0 0 16px; }
}

@media (701px <= width <= 1000px) {
  .compact-directory .comparison-table thead th:nth-child(-n+2) { width: auto; }
}

@media (max-width: 700px) {
  div.compact-directory .comparison-table tbody tr.account-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 34%);
    align-items: start;
    gap: 0 10px;
    padding: 12px 0;
  }
  div.compact-directory .comparison-table tbody tr.account-row > .account-identity {
    grid-area: 1 / 1 / 3 / 2;
  }
  div.compact-directory .comparison-table tbody tr.account-row > .account-expand {
    grid-area: 2 / 2 / 3 / 3;
    justify-self: end;
    padding-top: 4px;
  }
  .compact-directory .comparison-table .bank-name {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 0 8px;
  }
  .compact-directory .comparison-table .account-row > .rate { text-align: right; font-size: clamp(.95rem, 4.5vw, 1.45rem); overflow-wrap: normal; }
  .compact-directory .account-row .rate .muted { font-size: .95rem; }
  .compact-directory .account-row .rate-condition-detail { display: none; }
  .compact-directory .comparison-table :is(.compare-toggle, .details-toggle) { min-height: 44px; }
}

@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  html:active-view-transition-type(comparison-balance) .compact-directory .comparison-table {
    view-transition-name: comparison-rates;
  }
  html:active-view-transition-type(comparison-balance)::view-transition-group(root),
  html:active-view-transition-type(comparison-balance)::view-transition-old(root),
  html:active-view-transition-type(comparison-balance)::view-transition-new(root) {
    animation: none;
  }
  ::view-transition-group(comparison-rates) { animation-duration: 160ms; }
}

.offer-note .offer-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.offer-note .offer-conditions { margin: 8px 0; max-width: 72ch; }
.offer-note .offer-facts { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 8px 0; }
.offer-note .offer-facts > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.offer-note .offer-facts dd { margin: 0; }
.offer-note .offer-facts dt { font-weight: 600; }
.compact-directory .rate .promotion-label { color: var(--burgundy); font-weight: 600; }
