@charset "UTF-8";
/* Global Elements and Settings */
:root {
  --sc-color-primary: #E84A43;
  --sc-color-primary-h: 3;
  --sc-color-primary-s: 78%;
  --sc-color-primary-l: 59%;
  --sc-color-secondary: #e0ae6d;
  --sc-color-secondary-h: 34;
  --sc-color-secondary-s: 65%;
  --sc-color-secondary-l: 65%;
  --sc-header-bg: #0860a9;
  --sc-footer-color: #6EA8D6;
  --sc-color-blue: #005ca6;
  --sc-color-blue-lighter: #0076bc;
  --sc-max-width: 1170px;
  --sc-max-compact-width: 950px;
  --rmf-bp-small: 576px;
  --rmf-bp-medium: 768px;
  --rmf-bp-large: 992px;
  --rmf-bp-xlarge: 1200px;
  --sc-font-family: "Gotham", Helvetica, Arial, sans-serif;
  --sc-input-height: 52px;
  --sc-menu-link-color-hover: var(--sc-shade-lightest);
}

@media screen and (min-width: 768px) {
  :root {
    --sc-input-height: 62px;
  }
}
a:not([class]) {
  color: var(--sc-footer-color);
  transition: color 50ms linear;
}

a:not([class]):hover {
  color: var(--sc-color-primary);
}

a.anything {
  color: red;
}

p {
  font-size: var(--sc-font-medium);
}

/* Components */
.SC-Accordion_header_heading.sc-expanded {
  white-space: wrap;
  font-size: var(--sc-font-medium);
  position: relative;
}
@media screen and (min-width: 768px) {
  .SC-Accordion_header_heading.sc-expanded {
    font-size: 23px;
  }
}
.SC-Accordion_header_heading.sc-expanded::before {
  content: ">";
}
.SC-Accordion_content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
}
.SC-Accordion_content.is-expanded {
  max-height: 600px;
  overflow-y: auto;
}

.SC-AccountPage {
  background-image: linear-gradient(to bottom, #DDDFE7 280px, white 180px, white 0%, white 100%);
  padding-bottom: var(--sc-spacing-large);
}

@media screen and (min-width: 768px) {
  .SC-AccountPage {
    background-image: linear-gradient(to right, #DDDFE7 40%, white 40%, white 0%, white 100%);
    padding-top: var(--sc-spacing-xxlarge);
    padding-bottom: var(--sc-spacing-xxlarge);
  }
}
.SC-AccountPage_content {
  max-width: 100%;
}

@media only screen and (min-width: 768px) {
  .SC-AccountPage .SC-Grid_sidebar {
    width: auto;
    padding: var(--sc-spacing-small) var(--sc-spacing-base);
  }
}
@media only screen and (min-width: 1440px) {
  .SC-AccountPage .SC-Grid_sidebar {
    padding: var(--sc-spacing-small) var(--sc-spacing-xlarge);
  }
}
.SC-AccountPage .SC-Field_label,
.SC-AccountPage .SC-Field_input {
  font-weight: 300;
}

@media only screen and (max-width: 992px) {
  .SC-AccountPage table:not(.pika-table) th {
    display: none;
  }
  .SC-AccountPage table:not(.pika-table) td {
    display: block;
    margin-bottom: 0.25em;
    padding-left: 8em;
    text-indent: -8em;
    word-break: break-all;
  }
  .SC-AccountPage table:not(.pika-table) td:first-child {
    padding-top: 0.5em;
  }
  .SC-AccountPage table:not(.pika-table) td:last-child {
    padding-bottom: 0.5em;
  }
  .SC-AccountPage table:not(.pika-table) td:before {
    content: " ";
    display: inline-block;
    text-indent: 0;
    width: 8em;
  }
  .SC-AccountPage table:not(.pika-table) td[data-th]:before {
    content: attr(data-th) ": ";
    font-weight: 700;
  }
}
@media screen and (min-width: 992px) {
  .SC-AccountPage table:not(.pika-table) {
    width: 100%;
    min-width: 0;
  }
}
.SC-AccountPage table:not(.pika-table) {
  font-weight: 300;
}

@media only screen and (min-width: 576px) {
  .SC-AccountPage table:not(.pika-table) td {
    white-space: wrap;
    word-break: break-all;
  }
}
.SC-AccountPage h2,
.SC-AccountPage h3,
.SC-AccountPage h4,
.SC-AccountPage .SC-Button,
.SC-AccountPage .SC-PageHeader_heading,
.SC-AccountPage table:not(.pika-table) th {
  font-weight: 500;
}

@media only screen and (min-width: 768px) {
  .SC-AccountPage .SC-Grid {
    display: grid;
    grid-template-rows: [sidebar] minmax(0, auto) [main] minmax(0, 1fr) [summary] minmax(0, auto);
  }
}
.SC-AccountPage .SC-Grid_main {
  min-width: 0;
}

.SC-Article p, li {
  font-size: var(--sc-font-medium);
}

#SC-articles-show #SC-Main > .sc-container {
  max-width: 1200px;
}

#SC-articles-show #SC-Main > .sc-container .SC-PageHeader_heading {
  text-transform: uppercase;
}

.SC-ArticleCard-vertical {
  border: 1px solid #ccc;
  padding: var(--sc-spacing-base);
  min-height: 400px;
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media screen and (max-width: 576px) {
  .SC-ArticleCard-vertical {
    padding: 15px;
  }
}
.SC-ArticleCard-vertical .SC-ArticleCard_image {
  height: 250px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.SC-ArticleCard-vertical .SC-ArticleCard_heading {
  font-size: var(--sc-font-base);
}
@media screen and (min-width: 992px) {
  .SC-ArticleCard-vertical .SC-ArticleCard_heading {
    font-size: var(--sc-font-medium);
  }
}
.SC-ArticleCard-vertical .SC-ArticleCard_summary {
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 100px;
  position: relative;
  font-size: 14px;
}
.SC-ArticleCard-vertical .SC-ArticleCard_summary p, .SC-ArticleCard-vertical .SC-ArticleCard_summary ul, .SC-ArticleCard-vertical .SC-ArticleCard_summary h2, .SC-ArticleCard-vertical .SC-ArticleCard_summary h3, .SC-ArticleCard-vertical .SC-ArticleCard_summary h4 {
  font-size: inherit;
}
.SC-ArticleCard-vertical .SC-ArticleCard_summary:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background: rgb(255, 255, 255);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
.SC-ArticleCard-vertical .SC-ArticleCard_footer {
  margin-top: auto;
  padding-top: 10px;
}
.SC-ArticleCard-vertical .SC-ArticleCard_footer > p {
  margin-bottom: 0;
  font-size: inherit;
}

.SC-Banner {
  background-position: center;
}

.SC-Button {
  color: #ffffff;
}

.SC-Button:disabled {
  background-color: var(--sc-color-primary);
  color: #ffffff;
  opacity: 0.5;
}

.SC-Button-blue {
  background-color: var(--sc-color-blue-lighter);
}

.SC-Card-floating {
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
}

.SC-ContainerBackground-curve-background-grey {
  background: url(https://res.cloudinary.com/hnymxdy5j/image/upload/v1747196816/media/00dhr00000ihql8mad/curve-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}

.SC-ContainerBackground-curve-background-blue {
  background: url(https://res.cloudinary.com/hnymxdy5j/image/upload/v1747206410/media/00dhr00000ihql8mad/download-2.png) no-repeat center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}

.SC-ContainerBackground-blue {
  background-image: linear-gradient(-225deg, #0D7BD4 0%, #044881 100%);
  -webkit-box-shadow: inset 0 5px 21px 0 rgba(0, 0, 0, 0.47);
  -moz-box-shadow: inset 0 5px 21px 0 rgba(0, 0, 0, 0.47);
  box-shadow: inset 0 5px 21px 0 rgba(0, 0, 0, 0.47);
}

.SC-ContainerBackground-light-blue {
  background-color: #91C9F6;
}

.SC-ContainerBackground-blue,
.SC-ContainerBackground-curve-background-blue {
  color: white;
}

.SC-ContentBlockContainer {
  padding: var(--sc-spacing-base);
}

.SC-ContentBlockContainer.offset {
  background-image: linear-gradient(to right, #044881 0%, #0D7BD4 100%);
  background-color: #075ca2;
}

@media screen and (min-width: 992px) {
  .SC-ContentBlockContainer.offset {
    background-image: linear-gradient(to right, white 40%, #044881 40%, #044881 0%, #0D7BD4 100%);
    background-color: #075ca2;
  }
}
@media screen and (min-width: 992px) {
  .SC-ContentBlockContainer_header,
  .SC-ContentBlockContainer_body:not(.sc-expand),
  .SC-ContentBlockContainer_body:not(.sc-expanded),
  .SC-ContentBlockContainer_footer {
    max-width: var(--sc-max-width);
  }
}
@media screen and (min-width: 992px) {
  .SC-ContentBlockContainer_header.sc-compacted-content,
  .SC-ContentBlockContainer_body.sc-compacted-content,
  .SC-ContentBlockContainer_footer.sc-compacted-content {
    max-width: var(--sc-max-compact-width);
  }
}
.SC-ContentBlockContainer_header h2 {
  font-size: 24px;
}

@media screen and (min-width: 768px) {
  .SC-ContentBlockContainer_header h2 {
    font-size: var(--sc-font-xxlarge);
  }
}
.SC-ContentBlockContainer .sc-expanded {
  padding: 0;
  max-width: 100%;
}

#SC-ContentBlockContainer-address-lookup,
#SC-ContentBlockContainer-address-container {
  margin-top: -150px;
  position: relative;
  z-index: 2;
}

#SC-ContentBlockContainer-become-a-partner-benefits {
  color: white;
}

@media screen and (min-width: 992px) {
  #SC-CB-become-a-partner-form {
    margin-right: -100px;
  }
}
@media screen and (min-width: 992px) {
  #SC-ContentBlockContainer-become-a-partner-form-container {
    margin-top: var(--sc-spacing-xxlarge);
    margin-bottom: var(--sc-spacing-xxlarge);
    padding-top: var(--sc-spacing-xxlarge);
    padding-bottom: var(--sc-spacing-xxlarge);
  }
}
@media screen and (max-width: 576px) {
  #SC-CB-news-information-news-feed .SC-CardGrid {
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 992px) {
  #SC-ContentBlockContainer-meet-the-chiefs-index-container .SC-ContentBlockContainer_body.sc-one-third-two-thirds {
    gap: var(--sc-spacing-xxlarge);
  }
}
#FAQs .faq-header {
  cursor: pointer;
  color: var(--sc-color-blue);
  font-size: 23px;
  font-weight: 500;
  margin-bottom: 10px;
}

#FAQs .faq-header:hover {
  color: #3a90d7;
}

#FAQs .faq-header:before {
  content: "> ";
}

#FAQs .faq-answer {
  margin-left: 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 500ms ease-in-out;
}

#FAQs .faq-answer.active {
  max-height: 600px;
}

.SC-Field {
  max-width: 100%;
}
.SC-Field_input:not(.SC-Field-stripe) {
  padding: var(--sc-spacing-medium) var(--sc-spacing-base);
  line-height: var(--sc-spacing-base);
  border: 1px solid #bfc4ce;
  background-color: #fff;
  border-radius: 35px;
  color: #000;
  width: 100%;
  background-repeat: no-repeat;
  background-position: 10px 50%;
  appearance: none;
  height: unset;
  font-size: var(--sc-font-small);
}
@media screen and (min-width: 768px) {
  .SC-Field_input:not(.SC-Field-stripe) {
    font-size: var(--sc-font-base);
    padding: var(--sc-spacing-base) 45px;
    margin-bottom: 0;
  }
}
.SC-Field_input:not(.SC-Field-stripe)#username__login {
  background-image: url(https://res.cloudinary.com/hd9verjiv/image/upload/v1743648740/media/00DHr00000IHql8MAD/mail_24dp_1F1F1F_FILL0_wght400_GRAD0_opsz24.svg);
}
.SC-Field_input:not(.SC-Field-stripe)#password__login {
  background-image: url(https://res.cloudinary.com/hd9verjiv/image/upload/v1743648762/media/00DHr00000IHql8MAD/lock_24dp_1F1F1F_FILL0_wght400_GRAD0_opsz24.svg);
}
.SC-Field_input:not(.SC-Field-stripe):focus, .SC-Field_input:not(.SC-Field-stripe):active {
  background-color: #F9F9F9;
}
.SC-Field_input:disabled, .SC-Field_input:disabled:active, .SC-Field_input:disabled:focus {
  background-color: var(--sc-shade-lightest);
  color: var(--sc-shade-neutral);
  cursor: not-allowed;
  pointer-events: none;
  caret-color: transparent;
}
.SC-Field-stripe {
  border-radius: 500px;
  border: 1px solid #bfc4ce;
}
.SC-Field_select {
  box-sizing: border-box;
  padding: 20px 45px;
  border-color: #bfc4ce;
  background-color: #fff;
  border-radius: 50px;
  height: auto;
  width: 100%;
  max-width: unset;
  outline-color: #bfc4ce;
  outline-width: 2px;
}
.SC-Field_select-downloads {
  min-height: 50px;
}
@media screen and (min-width: 992px) {
  .SC-Field_select-downloads {
    min-height: 60px;
    min-width: 155%;
  }
}
.SC-Field_search {
  min-height: 60px;
  border-radius: 50px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
  outline: none;
  border: 1px solid var(--sc-shade-lightest);
  padding-left: 50px;
}
.SC-Field_search::placeholder {
  color: var(--sc-shade-darkest);
}
.SC-Field_search ~ svg {
  left: 22px;
  width: 16px;
  top: 48%;
}
@media screen and (min-width: 992px) {
  .SC-Field_search {
    min-height: 70px;
  }
}
.SC-Field_textarea {
  border: 1px solid #bfc4ce;
}

.SC-Footer_top {
  flex-wrap: wrap;
  justify-content: center;
}

.SC-Footer_logo img {
  width: 198px;
}

.SC-Footer_top .footer-links {
  justify-content: center;
}

.SC-Footer_bottom {
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}

.SC-Footer_bottom .SC-Footer_copyright {
  color: var(--sc-footer-color);
}

.SC-Footer_icon {
  padding: 8px;
  border-radius: 50%;
  background-color: white;
}

.SC-Footer_social .SC-Footer_icon:hover svg {
  fill: var(--sc-color-primary);
}

.SC-Footer_social .SC-Footer_icon svg {
  fill: var(--sc-color-blue);
}

@media screen and (min-width: 768px) {
  .SC-Footer_top {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .SC-Footer_bottom {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .SC-Footer_top .footer-links {
    justify-content: space-between;
  }
}
.SC-Footer .footer-top, .SC-Footer .footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.SC-Footer .footer-top .logo-link img, .SC-Footer .footer-bottom .logo-link img {
  height: 50px;
  width: auto;
  flex-shrink: 0;
}

.SC-Footer .footer-top .SC-Menu, .SC-Footer .footer-bottom .SC-Menu {
  width: auto;
}

.SC-Footer .SC-Menu_link {
  color: var(--sc-footer-color);
}

.SC-Footer .SC-Menu_link:hover, .SC-Footer .SC-Menu_link:focus, .SC-Footer .SC-Menu_link:active {
  color: white;
}

.SC-Footer .footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.SC-Footer .footer-bottom p {
  font-size: 16px;
  color: var(--sc-footer-color);
}

.SC-Form {
  background-color: #ffffff;
  box-shadow: 20px 20px 40px 0 rgba(0, 0, 0, 0.2);
  border-radius: 5px;
}

.SC-Header {
  z-index: 4;
  background-image: linear-gradient(-225deg, #0D7BD4 0%, #044881 100%);
  position: relative;
}

.SC-Header a.SC-Menu_link:hover svg, .SC-Header a.SC-Menu_link.link-active svg {
  fill: white;
}

.SC-Header .SC-Header_top {
  background-color: #202020;
  display: flex;
  flex-wrap: nowrap;
  gap: 5px;
  justify-content: center;
  padding: 20px;
}

@media screen and (max-width: 1200px) {
  .SC-Header .SC-Header_top {
    justify-content: flex-end;
  }
}
@media screen and (max-width: 992px) {
  .SC-Header .SC-Header_top .SC-Menu_link {
    font-size: 0px;
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .SC-Header .SC-Header_top .SC-Menu_link {
    font-size: 0px;
  }
}
@media screen and (max-width: 600px) {
  .SC-Header .SC-Header_top .SC-Menu_link {
    padding: 5px;
    margin-right: 5px;
  }
}
.SC-Header .SC-Header_inner {
  padding: 20px;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.SC-Header .SC-Navbar_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 10px 20px;
}

.SC-Header .SC-Navbar_inner .logo-link {
  flex-shrink: 0;
}

.SC-Header .SC-Navbar_inner .logo-link img {
  flex-shrink: 0;
  height: 60px;
  margin: 0 0 -5px;
  width: auto;
}

.SC-Header .SC-Navbar_inner .SC-Menu a {
  color: white;
}

@media screen and (max-width: 992px) {
  .SC-Header .SC-Navbar_inner, .SC-Header.scrolled .SC-Navbar_inner {
    justify-content: space-between;
  }
}
@media screen and (max-width: 992px) {
  .SC-Header .SC-Navbar_inner,
  .SC-Header.scrolled .SC-Navbar_inner {
    justify-content: space-between;
  }
}
.SC-IconCard {
  display: flex;
  align-items: center;
  gap: 20px;
}

.SC-IconCard_image {
  max-width: 30px;
  width: 80px;
  flex-shrink: 0;
}
@media screen and (min-width: 992px) {
  .SC-IconCard_image {
    width: 80px;
  }
}

.SC-IconCard_headline h3 {
  font-size: var(--sc-font-base);
}
@media screen and (min-width: 992px) {
  .SC-IconCard_headline h3 {
    font-size: var(--sc-font-large);
  }
}

.SC-IconCard_body * {
  color: black;
}

.SC-IconCard_image img {
  height: 100%;
  width: auto;
}

.SC-Icon-medium {
  width: 25px;
  height: 25px;
}

@media screen and (min-width: 992px) {
  .SC-Icon-medium {
    width: 40px;
    height: 40px;
  }
}
@media screen and (min-width: 992px) {
  .SC-Icon-medium {
    width: 40px;
    height: 40px;
  }
}
@media screen and (min-width: 1400px) {
  .SC-Icon-medium {
    width: 40px;
    height: 40px;
  }
}
.SC-ImageBesideTextBGContainer {
  background-image: linear-gradient(to right, #0D7BD4 8%, #0D7BD4 0%, #044881 100%);
}

.SC-ImageBesideTextBGContainer img {
  margin: 80px 0 -150px auto;
}

.sc-offset .SC-ImageBesideText_image {
  max-width: 400px;
}

@media screen and (max-width: 768px) {
  .SC-ImageTextOverlay .SC-Banner {
    padding-top: 100px;
    padding-bottom: 60px;
  }
}
.SC-ImageTextOverlay .SC-Banner_heading,
.SC-ImageTextOverlay .SC-Banner_subheading {
  text-transform: uppercase;
  font-size: 45px;
  color: white;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.SC-ImageTextOverlay .SC-Banner_subheading {
  margin: -20px 0 0;
  font-weight: normal;
}

.SC-ContainerBackground-blue .SC-imageBesideText_list {
  padding: 30px;
  border-radius: 8px;
  min-width: 35%;
  background-color: white;
  box-shadow: 19px 19px 38px 0 rgba(0, 0, 0, 0.2);
}

.SC-imageBesideText_list.list-container {
  padding: 30px 30px 10px;
}

.SC-ImageBesideText.sc-align-left > :first-child {
  order: 1;
}

@media only screen and (max-width: 575px) {
  .SC-ImageBesideText.sc-align-right {
    flex-direction: column-reverse;
  }
  .SC-ImageBesideTextBGContainer img {
    margin: 0;
  }
}
.SC-Image.thumbnail {
  max-width: 100px;
}

.SC-Link {
  color: var(--sc-footer-color);
  text-decoration: none;
}

.SC-Menu.dropdown:not(.tier1) {
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 0;
  padding: var(--sc-spacing-small);
}
.SC-Menu.tier1.dropdown {
  align-items: center;
}
.SC-Menu.tier1.dropdown.is-active {
  background: rgba(0, 0, 0, 0.85);
  justify-content: flex-start;
}
@media screen and (min-width: 768px) {
  .SC-Menu.tier1.dropdown.is-active {
    background: rgba(0, 0, 0, 0.75);
  }
}
.SC-Menu.tier1.dropdown.is-active .SC-Menu_button {
  color: white;
  margin-bottom: var(--sc-spacing-tiny);
}
.SC-Menu.tier2.dropdown.is-active {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-animation: 0.3s animationSubMenu;
  -o-animation: 0.3s animationSubMenu;
  animation: 0.3s animationSubMenu;
}
@media screen and (max-width: 768px) {
  .SC-Menu.tier2.dropdown.is-active {
    background: rgba(0, 0, 0, 0.95);
  }
}
.SC-Menu.tier2.dropdown {
  background: rgba(0, 0, 0, 0.75);
}
@media screen and (min-width: 768px) {
  .SC-Menu.tier2.dropdown {
    background: transparent;
    box-shadow: none;
  }
}
.SC-Menu.tier2.dropdown .SC-Menu_item.tier2 .SC-Menu_link {
  background-color: rgba(0, 0, 0, 0.75);
  padding-top: var(--sc-spacing-small);
  padding-bottom: var(--sc-spacing-small);
}
.SC-Menu.tier2.dropdown .SC-Menu_item.tier2 .SC-Menu_link:hover {
  background-color: rgb(0, 0, 0);
}
@media only screen and (min-width: 768px) {
  .SC-Menu.tier1.dropdown > li > a:not(.Icon) {
    padding: var(--sc-spacing-tiny) var(--sc-spacing-medium);
  }
}
.SC-Menu_link {
  display: flex;
  align-items: center;
  background-color: transparent;
  transition: all 0.2s linear;
  color: white;
  padding: var(--sc-spacing-tiny) var(--sc-spacing-base);
  font-weight: 300;
  flex-shrink: 0;
  gap: var(--sc-spacing-tiny);
}
.SC-Menu_link svg {
  transition: all 0.2s linear;
  fill: var(--sc-color-primary);
  width: 35px;
}
.SC-Menu_link.sc-top-item {
  border-radius: 35px;
}
.SC-Menu_link.sc-top-item:hover {
  background-color: var(--sc-color-primary);
}
.SC-Menu_link.sc-top-item.link-active {
  background-color: var(--sc-color-primary);
}
.SC-Menu_item {
  position: relative;
  transition: all 0.35s ease;
}
.SC-Menu_item.tier1 > .SC-Menu_link {
  border-radius: 30px;
}
.SC-Menu_item.tier1 > .SC-Menu_link:hover {
  background-color: var(--sc-color-primary);
}
.SC-Menu_item.tier2 {
  font-size: var(--sc-font-base);
}
.SC-Menu_item.tier2:hover::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 5px;
  background-color: var(--sc-color-primary);
}
.SC-Menu_item.subtle, .SC-Menu_item.tier2:not(.parent) > a, .SC-Menu_item.tier3:not(.parent) > a {
  opacity: 1;
}
.SC-Menu_item.parent:not(.dropdown) {
  max-width: 100%;
  margin-bottom: 0;
}
.SC-Menu.tier3 .SC-Menu_link {
  font-size: var(--sc-font-small);
  padding-left: var(--sc-spacing-large);
}

#SC-Menu-nav-menu > .SC-Menu_button {
  text-align: right;
}

@media screen and (min-width: 992px) {
  .SC-Modal_inner-downloads .SC-Modal_inner_body {
    overflow: visible;
  }
}
.SC-Modal_close {
  position: absolute;
  top: -10px;
  right: -10px;
  height: 30px;
  width: 30px;
  background: white;
  border-radius: 50%;
  cursor: pointer;
  padding: calc(var(--sc-spacing-tiny) + 2);
}

@media screen and (min-width: 768px) {
  .SC-Modal_close {
    top: -20px;
    right: -20px;
    height: 40px;
    width: 40px;
  }
}
.SC-Modal_inner {
  width: 850px;
}

.SC-Modal_inner_image {
  height: 100%;
  width: 100%;
}

.SC-Modal_inner_image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.SC-Navbar {
  position: sticky;
  top: 0;
  background: var(--sc-header-bg);
  background-image: linear-gradient(-225deg, #0D7BD4 0%, #044881 100%);
  padding: 7px 0;
  z-index: var(--sc-depth-overlay);
  transition: background 0.35s ease;
}
.SC-Navbar.sc-sticky {
  background: rgba(0, 0, 0, 0.8);
}
@media screen and (max-width: 768px) {
  .SC-Navbar_inner {
    padding-top: var(--sc-spacing-small);
  }
}

.SC-Notice-animated {
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 500ms ease, transform 500ms ease;
  will-change: opacity, transform;
}

.SC-Notice-animated.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.SC-Notice:not(.SC-Notice-alert) {
  background: hsl(149, 100%, 95%);
  color: hsl(149, 100%, 30%);
}

.SC-Notice-success {
  background: hsl(149, 100%, 95%);
  color: hsl(149, 100%, 30%);
}

.SC-Notice-warning {
  background: hsl(46, 91%, 85%);
  color: hsl(46, 91%, 20%);
  transition: all 0.25s ease-in-out;
}

.SC-PageNav_link:not(.button) {
  color: var(--sc-shade-dark);
}
.SC-PageNav_link:not(.button):hover, .SC-PageNav_link:not(.button):focus {
  color: var(--sc-color-blue);
}
.SC-PageNav_link:not(.button):hover .SC-PageNav_link_wrapper, .SC-PageNav_link:not(.button):focus .SC-PageNav_link_wrapper {
  color: var(--sc-color-blue);
}
.SC-PageNav_link:not(.button).is-current {
  color: var(--sc-color-blue);
}
.SC-PageNav_link:not(.button).is-current .SC-PageNav_link_wrapper .sc-icon-no-fill {
  stroke: var(--sc-color-blue);
}
@media only screen and (min-width: 768px) {
  .SC-PageNav_content, .SC-PageNav_content.is-hidden {
    display: flex;
    flex-direction: column;
    gap: var(--sc-spacing-small);
  }
}

@media screen and (min-width: 768px) {
  .SC-PartnerSearch {
    min-width: 450px;
  }
}
.SC-PrivacyBanner {
  position: fixed;
  top: auto;
  bottom: 0;
  z-index: var(--sc-depth-overlay);
  box-shadow: var(--sc-shadow-2);
  background: rgba(0, 0, 0, 0.75);
  color: white;
}

.SC-PrivacyBanner_actions {
  flex-wrap: wrap;
}

.SC-PrivacyBanner_actions button,
.SC-PrivacyBanner_actions input[type=submit] {
  background-color: var(--sc-color-blue-lighter);
}

.SC-PrivacySettingsForm_inner {
  background: rgba(0, 0, 0, 0.9);
  color: white;
  transition-duration: 1s;
  overflow-y: auto;
}

@media screen and (min-width: 992px) {
  .SC-PrivacySettingsForm_inner {
    max-width: 35vw;
  }
}
.SC-PrivacySettingsForm_header h3 {
  font-size: var(--sc-font-base);
}

.SC-PrivacySettingsForm_inner {
  font-size: calc(var(--sc-font-tiny) - 1px);
}

.SC-PrivacySettingsForm .SC-Accordion_header_icon {
  fill: var(--sc-shade-lightest);
}

.SC-PrivacySettingsForm p,
.SC-PrivacySettingsForm li {
  font-size: var(--sc-font-small);
}

.SC-ProfileForm {
  max-width: 750px;
}

#select-and-payment {
  max-width: 700px !important; /* overrides inline styles */
}
#select-and-payment menu {
  column-gap: var(--sc-spacing-small);
  row-gap: var(--sc-spacing-small);
}
#select-and-payment [data-tab] {
  max-width: 550px;
}
#select-and-payment p {
  font-size: var(--sc-font-micro);
}
#select-and-payment .Tab-button:nth-child(2n) {
  margin-left: 0;
}

.SC-Switch input:checked ~ .SC-Switch_control {
  background-color: #d5e9ff;
  border: 1px solid #3860be;
}

.SC-Switch_control {
  transition: all 0.2s ease-in 0s;
  -moz-transition: all 0.2s ease-in 0s;
  -o-transition: all 0.2s ease-in 0s;
  -webkit-transition: all 0.2s ease-in 0s;
  border: 1px solid #ddd;
}

.SC-Switch_control::before {
  background-color: #ffffff;
}

.SC-Switch input:checked ~ .SC-Switch_control::before {
  background-color: #3860be;
}

.testimonial {
  background-color: rgba(0, 0, 0, 0.6);
  padding: 40px 40px 40px 90px;
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 10px;
  width: 60vw;
  margin: 20px 0;
  color: white;
  position: relative;
}

.testimonial h3 {
  font-size: 40px;
  line-height: 1;
}

.testimonial p {
  line-height: 1.5;
}

.testimonial:before, .testimonial:after {
  font-size: 80px;
  color: white;
  position: absolute;
  top: -10px;
}

.testimonial:before {
  content: "“";
  left: 0;
}

.testimonial:after {
  content: "”";
  right: 0;
}

@media screen and (max-width: 768px) {
  .testimonial {
    width: 100%;
    padding: 30px;
    grid-template-columns: 1fr;
  }
}
.testimonial.right {
  padding: 40px 90px 40px 40px;
  float: right;
}

/* Custom Elements, Blocks and Sections */
#address-form label {
  padding: 0 10px;
}

#address-form #manual-address-section {
  max-height: 500px;
  height: 100%;
  overflow: hidden;
  transition: max-height 400ms ease-in-out;
}

#address-form #manual-address-section[hidden] {
  max-height: 0px;
}

#address-form .separator {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) calc(50% - 1px), rgb(204, 204, 204) 50%, rgba(255, 255, 255, 0) calc(50% + 1px), rgba(255, 255, 255, 0) 100%) no-repeat 50%;
}

#address-form .separator span {
  background-color: var(--sc-color-blue);
  padding: 0 10px;
}

#address-form .SC-Button:disabled, #address-form .SC-Button.disabled, #address-form .Button:disabled, #address-form .Button.disabled {
  background-color: var(--sc-color-primary);
  opacity: 0.5;
}

#address-form #customer-information-section-toggle[hidden] {
  opacity: 0;
  pointer-events: none;
}

#address-form #customer-information-section .SC-Panel_header {
  display: none;
}

#address-form #customer-information-section .SC-Field_label {
  font-size: 18px;
  color: white;
}

#address-form #customer-information-section .SC-Field_label:after {
  content: ":";
  margin-left: -5px;
}

#address-form #customer-information-section .SC-Field_label small {
  display: none;
}

.sc-autocomplete-items {
  position: absolute;
  border: 1px solid var(--sc-shade-lighter);
  border-bottom: none;
  border-top: none;
  z-index: var(--sc-depth-foreground);
  top: 100%;
  left: 0;
  right: 0;
  max-height: 40vh;
  overflow-y: auto;
}

@media screen and (min-width: 992px) {
  .sc-autocomplete-items {
    max-height: 55vh;
  }
}
.sc-autocomplete-items .sc-autocomplete-option {
  padding: var(--sc-spacing-small);
  cursor: pointer;
  background-color: #ffffff;
  border-bottom: 1px solid var(--sc-shade-lighter);
}

.sc-autocomplete-items .sc-autocomplete-option:hover {
  background-color: hsla(var(--sc-color-primary-h), var(--sc-color-primary-s), 95%, 1);
  color: hsla(var(--sc-color-primary-h), var(--sc-color-primary-s), 50%, 1);
}

.sc-autocomplete-active {
  background-color: hsla(var(--sc-color-primary-h), var(--sc-color-primary-s), 95%, 1) !important;
  color: hsla(var(--sc-color-primary-h), var(--sc-color-primary-s), 50%, 1);
}

#checkout-page .checkout-header, #make-a-payment .checkout-header {
  background: blue url("https://res.cloudinary.com/hnymxdy5j/image/upload/v1747206410/media/00dhr00000ihql8mad/download-2.png") no-repeat 50% 50%;
  background-size: cover;
  display: flex;
  justify-content: space-between;
  padding: 10px 20px;
  font-size: 1.25rem;
  position: relative;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #checkout-page .checkout-header, #make-a-payment .checkout-header {
    font-size: 2.25rem;
  }
}

#checkout-page .checkout-header *, #make-a-payment .checkout-header * {
  color: white;
}

#checkout-page .checkout-header .checkout-header-number, #make-a-payment .checkout-header .checkout-header-number {
  position: absolute;
  top: -3px;
  right: 0;
  font-size: 2.5rem;
  line-height: 1em;
  color: var(--sc-footer-color);
}
@media screen and (min-width: 768px) {
  #checkout-page .checkout-header .checkout-header-number, #make-a-payment .checkout-header .checkout-header-number {
    font-size: 4.5rem;
  }
}

#checkout-page .payment-type-banner, #make-a-payment .payment-type-banner {
  background-color: #91C9F6;
  color: #346892;
  padding: 30px 40px;
  margin-bottom: 20px;
  text-align: center;
  line-height: 2em;
}

#checkout-page .payment-type-banner .banner-annual-price, #make-a-payment .payment-type-banner .banner-annual-price {
  font-size: 2em;
}

#checkout-page #checkout-payment-plan #plan-types, #make-a-payment #checkout-payment-plan #plan-types {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

@media screen and (max-width: 768px) {
  #checkout-page #checkout-payment-plan #plan-types, #make-a-payment #checkout-payment-plan #plan-types {
    grid-template-columns: 1fr;
  }
}
#checkout-page #checkout-payment-plan .plan-type-link, #make-a-payment #checkout-payment-plan .plan-type-link {
  padding: 20px 10px;
  background-color: #fbfbfc;
  box-shadow: inset 0 0 0 1px #e0e0e1;
  transition: box-shadow 200ms ease-in-out;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}

#checkout-page #checkout-payment-plan .plan-type-link:after, #make-a-payment #checkout-payment-plan .plan-type-link:after {
  transition: opacity 200ms ease-in-out;
  font-family: "Icomoon";
  content: "\ea10";
  position: absolute;
  top: -5px;
  right: -5px;
  font-size: 15px;
  color: white;
  width: 26px;
  height: 26px;
  background: #044a85;
  border-radius: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
}

#checkout-page #checkout-payment-plan .plan-type-link *, #make-a-payment #checkout-payment-plan .plan-type-link * {
  pointer-events: none;
}

#checkout-page #checkout-payment-plan .plan-type-link .link-type, #make-a-payment #checkout-payment-plan .plan-type-link .link-type {
  font-size: 20px;
  color: #afafaf;
  text-transform: uppercase;
  letter-spacing: -0.52px;
  text-align: center;
}

#checkout-page #checkout-payment-plan .plan-type-link .link-price, #make-a-payment #checkout-payment-plan .plan-type-link .link-price {
  color: #000;
  font-size: 40px;
  line-height: 48px;
  text-align: center;
  position: relative;
}

#checkout-page #checkout-payment-plan .plan-type-link .link-price:before, #make-a-payment #checkout-payment-plan .plan-type-link .link-price:before {
  content: "$";
  font-size: 20px;
  color: #afafaf;
  position: absolute;
  left: -12px;
  top: -7px;
}

#checkout-page #checkout-payment-plan .plan-type-link.discounted .discount-badge-container, #make-a-payment #checkout-payment-plan .plan-type-link.discounted .discount-badge-container {
  position: absolute;
  overflow: hidden;
  bottom: 0;
  right: 0;
  pointer-events: none;
  height: 75px;
  width: 75px;
}

#checkout-page #checkout-payment-plan .plan-type-link.discounted .discount-badge, #make-a-payment #checkout-payment-plan .plan-type-link.discounted .discount-badge {
  position: absolute;
  bottom: -50px;
  text-align: center;
  right: -50px;
  background: var(--sc-color-primary);
  color: white;
  width: 100px;
  height: 100px;
  transform: rotate(-45deg);
}

#checkout-page #checkout-payment-plan .plan-type-link.discounted .link-original-price, #make-a-payment #checkout-payment-plan .plan-type-link.discounted .link-original-price {
  color: var(--sc-color-primary);
  text-decoration: line-through;
}

#checkout-page #checkout-payment-plan [data-selected=true] .plan-type-link, #make-a-payment #checkout-payment-plan [data-selected=true] .plan-type-link {
  box-shadow: inset 0 0 0 3px #044a85;
}

#checkout-page #checkout-payment-plan [data-selected=true] .plan-type-link:after, #make-a-payment #checkout-payment-plan [data-selected=true] .plan-type-link:after {
  opacity: 1;
}

#checkout-page .Tab-button, #make-a-payment .Tab-button {
  max-width: max-content;
  margin: 0 !important;
}

#checkout-page #SC-CheckoutShippingForm .SC-Panel_header.is-disabled, #make-a-payment #SC-CheckoutShippingForm .SC-Panel_header.is-disabled {
  display: none;
}

#checkout-page #SC-Checkout-CustomerInformation input[type=submit], #make-a-payment #SC-Checkout-CustomerInformation input[type=submit] {
  display: none;
}

#checkout-page .payment-type-banner.cart-total .SC-OrderTotal_line, #checkout-page .payment-type-banner.cart-total .SC-OrderTotal_line_total, #make-a-payment .payment-type-banner.cart-total .SC-OrderTotal_line, #make-a-payment .payment-type-banner.cart-total .SC-OrderTotal_line_total {
  font-size: 1.5rem;
}

#checkout-page #SC-PromoCode, #make-a-payment #SC-PromoCode {
  position: relative;
}

#checkout-page #SC-PromoCode .sc-promo-code-submit, #make-a-payment #SC-PromoCode .sc-promo-code-submit {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 50px;
  border-radius: 500px;
  height: 50px;
  background: var(--sc-color-secondary);
  border: none;
}

#checkout-page #SC-PromoCode .sc-promo-code-submit:before, #make-a-payment #SC-PromoCode .sc-promo-code-submit:before {
  font-family: "Icomoon";
  content: "\ea0a";
  font-size: 20px;
  color: white;
  position: absolute;
  top: calc(50% - 12px);
  left: calc(50% - 9px);
}

#checkout-insurance-information {
  padding-left: var(--sc-spacing-small);
  padding-right: var(--sc-spacing-small);
}

#checkout-insurance-information .SC-Field,
#checkout-insurance-information .SC-Field_input {
  margin-bottom: 0;
}

#checkout-insurance-information .sc-one-to-two-column {
  gap: var(--sc-spacing-medium);
}

#checkout-account-address {
  padding-left: var(--sc-spacing-small);
  padding-right: var(--sc-spacing-small);
}

#SC-CheckoutShippingForm #billing-address {
  margin-top: var(--sc-spacing-xlarge);
  padding-left: var(--sc-spacing-small);
  padding-right: var(--sc-spacing-small);
}

#SC-CheckoutShippingForm #checkout-accept-terms {
  margin-top: var(--sc-spacing-xlarge);
  padding-left: var(--sc-spacing-small);
  padding-right: var(--sc-spacing-small);
}

#SC-CheckoutShippingForm #billing-address .SC-Field {
  margin-bottom: 0;
}

#SC-CheckoutShippingForm #billing-address .SC-Fieldset_row.sc-grid {
  gap: var(--sc-spacing-small);
}

@media screen and (min-width: 992px) {
  #checkout-accept-terms label {
    font-size: var(--sc-font-large);
  }
}

#contact-us {
  position: relative;
  overflow: hidden;
}

#contact-us .background {
  position: absolute;
  top: 0;
  left: 30%;
  background: #DBE9F2;
  height: 100%;
  width: 100%;
}

#contact-us .background img {
  max-width: unset;
  height: 100%;
}

@media screen and (max-width: 768px) {
  #contact-us .background {
    left: 0;
  }
}
#contact-us form {
  position: relative;
  margin: 80px 0;
  padding: 25px;
  max-width: 500px;
  background-color: white;
  border-radius: 10px;
  box-shadow: 8px 8px 10px 0 rgba(0, 0, 0, 0.25);
}

.community-fire-services .icon-container {
  height: 130px;
  align-items: center;
}

.community-fire-services .icon-container {
  height: 130px;
  align-items: center;
}

[data-loader] {
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  top: -10px;
  left: -10px;
  background: linear-gradient(-45deg, rgba(200, 199, 200, 0.5) 40%, rgba(250, 250, 250, 0.5) 50%, rgba(200, 200, 200, 0.5) 60%);
  background-size: 300%;
  background-position-x: 100%;
  animation: shimmer 1.25s infinite linear;
  backdrop-filter: saturate(100%) blur(3px);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  transition: opacity 100ms ease-in;
  position: absolute;
}

@keyframes shimmer {
  to {
    background-position-x: 0%;
  }
}
.footer-contact-info {
  gap: 0;
}

@media screen and (max-width: 576px) {
  .footer-contact-info {
    gap: 20px;
  }
}
@media screen and (min-width: 768px) {
  .footer-contact-info > div:first-child {
    border-right: 2px solid rgba(255, 255, 255, 0.3);
  }
}
.footer-contact-info .contact-type {
  font-size: var(--sc-font-xlarge);
}

@media screen and (max-width: 768px) {
  .footer-contact-info .contact-type {
    font-size: var(--sc-font-large);
  }
}
@media screen and (max-width: 576px) {
  .footer-contact-info .contact-type {
    font-size: var(--sc-font-medium);
  }
}
.footer-contact-info a.contact-link {
  font-size: var(--sc-font-xxlarge);
}

@media screen and (max-width: 768px) {
  .footer-contact-info a.contact-link {
    font-size: var(--sc-font-xlarge);
  }
}
@media screen and (max-width: 576px) {
  .footer-contact-info a.contact-link {
    font-size: var(--sc-font-large);
  }
}
.rmf-login-background {
  flex-grow: 1;
  background-image: linear-gradient(to right, white 40%, #044881 40%, #044881 0%, #0D7BD4 100%);
  background-color: #075ca2;
}

@media screen and (max-width: 768px) {
  .rmf-login-background {
    background-image: linear-gradient(to right, #044881 40%, #044881 0%, #0D7BD4 100%);
  }
}
@media screen and (min-width: 769px) {
  .rmf-login-background .login-final-icon {
    grid-column: 1/3;
  }
}
.logo-link {
  max-width: 225px;
}

.meet-the-chief-link {
  max-width: 1000px;
  margin: 20px 0 40px;
}

.meet-the-chief-link h1 {
  font-size: 3rem;
  margin: 0;
}

.meet-the-chief-link h2, .meet-the-chief-link a {
  font-weight: bold;
  color: var(--sc-color-blue);
}

.meet-the-chief-link img {
  max-width: 200px;
  width: auto;
  align-self: flex-start;
}

@media screen and (max-width: 576px) {
  .meet-the-chief-link {
    flex-direction: column;
  }
  .meet-the-chief-link img {
    justify-self: center;
  }
}
.spco-section {
  position: relative;
}

.spco-section[data-loading] [data-loader] {
  z-index: 3;
  opacity: 1;
  pointer-events: unset;
}

/* Theme Utility Classes */
.sc-bg-primary {
  background-color: var(--sc-color-blue);
}

.sc-bg-red {
  background-color: var(--sc-color-red);
}

.sc-border-rounded-2 {
  border-radius: 50px;
}

.button {
  border-radius: 5px;
  border-style: none;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  background-color: var(--sc-color-primary);
  color: white;
  box-shadow: 10px 16px 40px rgba(51, 51, 51, 0.4);
  list-style: none;
  outline: none;
  padding: 18px 30px;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
  vertical-align: baseline;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 1px;
  min-width: 225px;
}

.button.rounded {
  border-radius: 60px;
}

.button-secondary {
  border-color: var(--sc-color-secondary) !important;
  background-color: var(--sc-color-secondary) !important;
}

.button:hover {
  box-shadow: none;
}

.sc-color-blue {
  color: var(--sc-color-blue);
}

.sc-color-white {
  color: #ffffff;
}

.sc-container {
  max-width: var(--sc-max-width);
}

.sc-font-micro {
  font-size: 13px;
}

.sc-font-light {
  font-weight: 300;
}

.sc-font-thin {
  font-weight: 300;
}

.sc-font-500 {
  font-weight: 500;
}

.rmf-link-blue {
  color: #044d89;
  transition: 50ms linear;
}

.rmf-link-blue:hover {
  color: #012746;
}

.sc-font-gigantic-responsive {
  font-size: var(--sc-font-large);
}

@media screen and (min-width: 576px) {
  .sc-font-gigantic-responsive {
    font-size: var(--sc-font-xlarge);
  }
}
@media screen and (min-width: 768px) {
  .sc-font-gigantic-responsive {
    font-size: var(--sc-font-gigantic);
  }
}
@media screen and (max-width: 576px) {
  .sc-one-third-two-thirds {
    grid-template-columns: 1fr;
  }
}
.sc-icon-no-fill {
  fill: none;
}

.required-field {
  position: relative;
}

.required-field:before {
  content: "*";
  font-size: 21px;
  color: #d0021b;
  position: absolute;
  z-index: 1;
  top: 15px;
  left: 30px;
}

.section-header {
  margin-bottom: 60px;
  font-size: 37px;
  font-weight: 500;
  text-transform: uppercase;
  position: relative;
}

.section-header:after {
  height: 6px;
  width: 60px;
  background-color: var(--sc-color-secondary);
  border-radius: 50px;
  content: "";
  position: absolute;
  left: 0;
  bottom: -35px;
}
@media screen and (max-width: 575px) {
  .section-header:after {
    left: 50%;
    transform: translateX(-50%);
  }
}

.sc-shadow-right-side {
  box-shadow: 20px 20px 40px 0 rgba(0, 0, 0, 0.2);
}

.sc-center-text {
  text-align: center;
}

@media screen and (max-width: 576px) {
  .text-center-from-small {
    text-align: center;
  }
  .justify-center-from-small {
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .text-center-from-medium {
    text-align: center;
  }
  .justify-center-from-medium {
    justify-content: center;
  }
}
.sc-title-border {
  position: relative;
  margin-bottom: 50px;
}

@media screen and (min-width: 768px) {
  .sc-title-border {
    margin-bottom: 70px;
  }
}
.sc-title-border::after {
  height: 6px;
  width: 60px;
  background-color: #deab69;
  border-radius: 50px;
  content: "";
  position: absolute;
  left: 0;
  bottom: -25px;
}

@media screen and (min-width: 768px) {
  .sc-title-border::after {
    bottom: -35px;
  }
}
.sc-max-750 {
  max-width: 750px;
}

@media only screen and (min-width: 1400px) {
  .sc-three-quarters-xlarge-and-up {
    width: 75%;
  }
}
@media only screen and (min-width: 992px) {
  .sc-grid-half-and-half {
    gap: var(--sc-spacing-xxlarge);
  }
}

/* Bugherd Updates */

[data-order-payment-methods] .SC-Table-Payment tbody td {
    font-size: var(--sc-font-tiny);
}

#SC-OrderSummary .SC-CartItem a.sc-no-shrink {
  display: none;
}

/*# sourceMappingURL=theme-supplement_47DS80WT.css.map */
/* ==========================================================================
   Rural Metro Fire — Theme Supplement CSS
   Loaded via {{ theme_supplement_stylesheet }} in layouts/theme.liquid.
   All custom classes use the mockup's established naming system.
   SC base classes (sc-*, SC-*) are overridden only where necessary.
   ========================================================================== */

/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root {
  --navy:       #0e2539;
  --navy-deep:  #082539;
  --blue:       #0165ae;
  --blue-mid:   #0f437d;
  --red:        #d32f1d;
  --red-dark:   #b32617;
  --gold:       #e29d4c;
  --gold-dark:  #c9853a;
  --sky:        #72afe2;
  --white:      #fff;
  --paper:      #f7f9fb;
  --ink:        #33475b;
  --green:      #1f8a5b;

  --display: "univers-next-pro", "Gotham", Helvetica, Arial, sans-serif;
  --cond:    "univers-next-pro-compressed", "Gotham", Helvetica, Arial, sans-serif;
  --body:    "proxima-nova", "Gotham", Helvetica, Arial, sans-serif;

  --shell: 1196px;
}

/* ==========================================================================
   2. GLOBAL RESETS (scoped to not break SC form/checkout classes)
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--navy-deep);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}

a { text-decoration: none; color: inherit; }

/* Base theme sets svg { fill: currentColor } globally — override for all stroke-based icons */
svg[stroke] { fill: none !important; }
img { display: block; max-width: 100%; }

/* ==========================================================================
   3. LAYOUT SHELL
   ========================================================================== */
.shell {
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 24px;
}

.section { padding: 88px 0; }
.section--paper { background: var(--paper); }
.section--navy  { background: var(--navy); color: var(--white); }

/* ==========================================================================
   4. TYPOGRAPHY HELPERS
   ========================================================================== */
.lead-in {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 26px;
  color: var(--gold);
  margin-bottom: 8px;
}

.section-heading {
  font-family: var(--display);
  font-weight: 900;
  font-size: clamp(28px, 3.4vw, 40px);
  line-height: 1.12;
  color: var(--navy-deep);
  margin-bottom: 24px;
}

.section--navy .section-heading { color: var(--white); }

h1, h2, h3, h4 {
  font-family: var(--display);
  font-weight: 900;
  line-height: 1.12;
}

p.big {
  font-size: 19px;
  color: var(--ink);
  max-width: 62ch;
}

.section--navy p.big { color: rgba(255,255,255,.9); }

/* ==========================================================================
   5. FOCUS / ACCESSIBILITY
   ========================================================================== */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000;
}
.skip-link:focus {
  left: 0;
  padding: 0.5rem 1rem;
  background: var(--white);
  color: var(--navy-deep);
  outline: 2px solid currentColor;
}

:focus-visible {
  outline: 3px solid var(--sky);
  outline-offset: 2px;
}

/* ==========================================================================
   6. PILLS (CTAs)
   ========================================================================== */
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--display);
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  color: var(--white);
  height: 48px;
  padding: 0 28px;
  border-radius: 999px;
  white-space: nowrap;
  transition: background .15s, border-color .15s;
  border: 2px solid transparent;
  cursor: pointer;
}

.pill--sm  { font-size: 15px; height: 38px; padding: 0 22px; }
.pill--lg  { font-size: 22px; height: 60px; padding: 0 38px; }

.pill--red          { background: var(--red); border-color: var(--red); }
.pill--red:hover    { background: var(--red-dark); border-color: var(--red-dark); }

.pill--gold         { background: var(--gold); border-color: var(--gold); }
.pill--gold:hover   { background: var(--gold-dark); border-color: var(--gold-dark); }

.pill--ghost-white  { background: transparent; border-color: var(--white); }
.pill--ghost-white:hover { background: rgba(255,255,255,.14); }

.pill--ghost-navy   { background: transparent; border-color: var(--blue-mid); color: var(--blue-mid); }
.pill--ghost-navy:hover { background: rgba(15,67,125,.08); }

.pill svg { width: 14px; height: 14px; }

/* ==========================================================================
   7. HEADER
   ========================================================================== */

/* -- Utility bar (blue top strip) -- */
.utility-bar {
  position: relative;
  z-index: 60;
  background: var(--blue);
}

.utility-bar__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 34px;
  height: 52px;
}

.utility-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--cond);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .08em;
  color: var(--white);
  transition: color .15s;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0;
}
.utility-link:hover { color: var(--gold); }
.utility-link__icon { width: 18px; height: 18px; flex: 0 0 auto; }

/* -- Login chip + popover -- */
.login-chip { position: relative; }

.login-chip__chev {
  width: 13px;
  height: 13px;
  margin-left: 2px;
  flex: 0 0 auto;
  transition: transform .15s;
}

#login-trigger[aria-expanded="true"] { color: var(--gold); }
#login-trigger[aria-expanded="true"] .login-chip__chev { transform: rotate(180deg); }

.login-popover {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 10px;
  width: 280px;
  background: var(--navy);
  border-radius: 14px;
  box-shadow: 0 20px 46px rgba(8,37,57,.34);
  border-top: 3px solid var(--gold);
  padding: 22px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .16s, transform .16s, visibility .16s;
  z-index: 70;
}

.login-popover.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.login-popover .field { margin-bottom: 12px; }

.login-popover .field label {
  display: block;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .06em;
  font-size: 12px;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin-bottom: 5px;
}

.login-popover .field input {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1.5px solid #26506b;
  background: #12324a;
  color: var(--white);
  font-family: var(--body);
  font-size: 14.5px;
}

.login-popover .field input::placeholder { color: #7fa0b8; }
.login-popover .field input:focus { outline: none; border-color: var(--gold); }

.pill--fullwidth { width: 100%; margin-bottom: 10px; justify-content: center; }

.login-popover .text-link {
  display: block;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 13.5px;
  color: var(--gold);
  text-align: center;
}
.login-popover .text-link:hover { text-decoration: underline; }

.login-popover__divider {
  height: 1px;
  background: rgba(255,255,255,.14);
  margin: 16px 0 12px;
}

.login-popover__foot {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  text-align: center;
  margin: 0;
}
.login-popover__foot a { color: var(--gold); }

@media (max-width: 480px) {
  .login-popover { width: min(300px, 92vw); left: -8px; }
}

/* -- Divider strip -- */
.utility-strip {
  height: 16px;
  background: var(--blue-mid);
}

/* -- Sticky header wrapper -- */
.rmf-header {
  position: sticky;
  top: 0;
  z-index: 200;
}

/* -- Nav band (navy logo + menu) -- */
.nav-band {
  background: var(--navy);
  position: relative;
}

.nav-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 112px;
  padding: 14px 0;
}

.logo img {
  width: 220px;
  max-width: 56vw;
  height: auto;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}

.main-nav a:not(.pill) {
  font-family: var(--display);
  font-weight: 500;
  font-size: 18px;
  letter-spacing: .04em;
  color: var(--white);
  padding: 6px 0;
  border-bottom: 3px solid transparent;
  transition: color .15s, border-color .15s;
}

.main-nav a:not(.pill):hover,
.main-nav a.is-active:not(.pill) {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

/* -- SC CMS menu inside nav band -- */
.nav-band .SC-Menu.tier1 {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-band .SC-Menu_link {
  font-family: var(--display) !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  letter-spacing: .04em !important;
  color: var(--white) !important;
  padding: 6px 0 !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  transition: color .15s, border-color .15s;
  background: none !important;
  box-shadow: none !important;
  cursor: pointer;
  text-decoration: none !important;
}

.nav-band .SC-Menu_link:hover,
.nav-band .SC-Menu_item.is-active .SC-Menu_link {
  color: var(--gold) !important;
  border-bottom-color: var(--gold) !important;
  background: none !important;
}

/* -- Focus rings (ADA) — visible for keyboard users, hidden for mouse -- */
.nav-band .SC-Menu_link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}
.nav-band .SC-Menu_item.parent > .SC-Menu.tier2 .SC-Menu_link:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: -2px;
  border-radius: 2px;
  background: rgba(14,37,57,.05);
}
.utility-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}

/* -- SC CMS dropdown (tier2) overrides -- */
.nav-band .SC-Menu_item.parent {
  position: relative;
}

.nav-band .SC-Menu_item.parent > .SC-Menu.tier2 {
  display: none;
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  background: var(--white) !important;
  border: 1.5px solid rgba(14,37,57,.15) !important;
  border-radius: 4px !important;
  padding: 6px 0 !important;
  min-width: 220px !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.14) !important;
  list-style: none !important;
  margin: 0 !important;
  z-index: 200 !important;
}

.nav-band .SC-Menu_item.parent:hover > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent:focus-within > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent.is-keyboard-open > .SC-Menu.tier2 {
  display: block !important;
}

.nav-band .SC-Menu.tier2 .SC-Menu_link {
  font-family: var(--cond) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: .04em !important;
  color: var(--navy-deep) !important;
  padding: 10px 20px !important;
  border: none !important;
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  background: none !important;
  box-shadow: none !important;
  transition: color .12s, background .12s;
}

.nav-band .SC-Menu.tier2 .SC-Menu_link:hover {
  color: var(--red) !important;
  background: rgba(14,37,57,.05) !important;
  border: none !important;
}

/* Hide SC's mobile Back/Close buttons on desktop */
.nav-band .SC-Menu_button {
  display: none;
}

/* -- Mobile hamburger -- */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: 0;
  padding: 10px;
  cursor: pointer;
}

.nav-toggle span {
  width: 28px;
  height: 3px;
  background: var(--white);
  border-radius: 2px;
  display: block;
  transition: transform .25s, opacity .25s;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.mobile-menu { display: none; }

/* -- Member communities signpost bar -- */
.memberbar {
  background: var(--white);
  color: var(--navy-deep);
}

.memberbar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  min-height: 48px;
  padding: 10px 0;
}

.memberbar__q {
  font-size: 15.5px;
  font-weight: 600;
}

.memberbar__link {
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: 14px;
  color: var(--red);
  border-bottom: 2px solid rgba(211, 47, 29, .34);
  padding-bottom: 1px;
  white-space: nowrap;
  transition: .12s;
}

.memberbar__link:hover {
  border-bottom-color: var(--red);
}

@media (max-width: 620px) {
  .memberbar__q { font-size: 14.5px; }
  .memberbar__inner { gap: 12px; }
}

/* ==========================================================================
   8. FOOTER
   ========================================================================== */
.site-footer {
  position: relative;
  background: #e9eef4;
  padding: 64px 0 40px;
  color: var(--navy-deep);
  overflow: hidden;
}

/* Decorative watermark (matches mockup v34) */
.site-footer::before {
  content: "";
  position: absolute;
  right: -70px;
  top: 50%;
  transform: translateY(-50%);
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: rgba(14,37,57,.05);
  pointer-events: none;
}

.site-footer__top {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr 1fr 1fr;
  gap: 32px;
  margin-bottom: 44px;
}

.site-footer__logo {
  width: 200px;
  margin-bottom: 18px;
}

.site-footer__blurb {
  font-size: 14px;
  color: var(--ink);
  max-width: 34ch;
}

.site-footer h4 {
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .1em;
  font-size: 15px;
  text-transform: uppercase;
  color: var(--navy-deep);
  margin-bottom: 16px;
}

.site-footer__col a {
  display: block;
  font-size: 15px;
  color: var(--ink);
  padding: 5px 0;
  transition: color .12s;
}
.site-footer__col a:hover { color: var(--red); }

/* SC-rendered menu inside footer */
.site-footer .SC-Menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer .SC-Menu_link {
  display: block;
  font-size: 15px;
  color: var(--ink);
  padding: 5px 0;
  transition: color .12s;
}

.site-footer .SC-Menu_link:hover { color: var(--red); }

.site-footer__bottom {
  border-top: 1px solid #cfd9e2;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 13px;
  color: #7c93a8;
}

.site-footer__bottom a {
  color: #7c93a8;
  transition: color .12s;
}
.site-footer__bottom a:hover { color: var(--red); }

/* Footer communities column */
.site-footer__col--communities .fc-group {
  margin-bottom: 14px;
}
.fc-group__state {
  display: block;
  font-family: var(--cond);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8ea0b0;
  margin-bottom: 2px;
}
.site-footer__col--communities a {
  font-size: 14px;
  padding: 3px 0;
}

/* ==========================================================================
   9. MEMBER PORTAL
   Scoped to .SC-AccountPage (authenticated) and .rmf-login-background (login page).
   Targets actual RMFS/SC class names — no template changes required.
   ========================================================================== */

/* --- Login page --- */
.rmf-login-background {
  background: var(--paper);
  padding: 60px 0;
}

/* Form card */
.rmf-login-background .SC-Form {
  background: var(--white) !important;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(14,37,57,.08);
  padding: 36px !important;
}

.rmf-login-background .SC-Form h1 {
  font-family: var(--display);
  font-weight: 900;
  font-size: 22px;
  color: var(--navy-deep);
  margin-bottom: 24px;
}

/* Benefits panel (right column) */
.rmf-login-background .sc-shade-lightest {
  background: var(--navy) !important;
  border-radius: 12px;
  padding: 36px;
  color: var(--white);
}

.rmf-login-background .sc-shade-lightest h2 {
  font-family: var(--display);
  font-weight: 900;
  font-size: 20px;
  color: var(--gold);
  margin-bottom: 12px;
}

.rmf-login-background .sc-shade-lightest p {
  color: rgba(255,255,255,.8);
  font-size: 15px;
}

.rmf-login-background .sc-shade-lightest .sc-uppercase {
  font-family: var(--cond);
  font-size: 13px;
  letter-spacing: .06em;
  color: rgba(255,255,255,.75);
}

/* Links in login */
.rmf-login-background .SC-Link {
  color: var(--blue);
  font-size: 14px;
  transition: color .15s;
}
.rmf-login-background .SC-Link:hover { color: var(--blue-mid); }

/* --- Shared form elements (login + account) --- */
.SC-AccountPage .SC-Field_label,
.rmf-login-background .SC-Field_label {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 12.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ink);
}

.SC-AccountPage .SC-Field_input,
.rmf-login-background .SC-Field_input {
  border: 1.5px solid #cdd8e3;
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--body);
  font-size: 16px;
  color: var(--navy-deep);
  background: var(--white);
  width: 100%;
  transition: border-color .15s, box-shadow .15s;
}

.SC-AccountPage .SC-Field_input:focus,
.rmf-login-background .SC-Field_input:focus {
  border-color: var(--blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(1,101,174,.12);
}

.SC-AccountPage .SC-Field_input:disabled,
.rmf-login-background .SC-Field_input:disabled {
  background: var(--paper);
  color: #8aa0b3;
  cursor: not-allowed;
}

.SC-AccountPage .SC-Field_error,
.rmf-login-background .SC-Field_error {
  display: block;
  font-size: 12.5px;
  color: var(--red);
  margin-top: 4px;
}

/* Plain input/label elements in account cards */
.SC-AccountPage .field label {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 11.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ink);
  display: block;
  margin-bottom: 4px;
}

.SC-AccountPage .field input {
  border: 1.5px solid #cdd8e3;
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--body);
  font-size: 15px;
  color: var(--navy-deep);
  background: var(--white);
  width: 100%;
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}

.SC-AccountPage .field input:focus {
  border-color: var(--blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(1,101,174,.12);
}

.SC-AccountPage .field input:disabled {
  background: var(--paper);
  color: #8aa0b3;
  cursor: not-allowed;
}

.SC-AccountPage .field__error {
  font-size: 12px;
  color: var(--red);
  margin-top: 4px;
  display: block;
}

.SC-AccountPage .field-note {
  font-size: 12px;
  color: #8aa0b3;
  margin-top: 6px;
  line-height: 1.5;
}

/* Primary buttons */
.SC-AccountPage .SC-Button-primary,
.rmf-login-background .SC-Button-primary {
  appearance: none;
  background: var(--red);
  border: 2px solid var(--red);
  color: var(--white);
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  border-radius: 999px;
  padding: 11px 28px;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}

.SC-AccountPage .SC-Button-primary:hover,
.rmf-login-background .SC-Button-primary:hover {
  background: var(--red-dark);
  border-color: var(--red-dark);
}

/* --- Account layout (authenticated) --- */
.SC-AccountPage {
  background: var(--paper);
  min-height: 60vh;
}

.SC-AccountPage_wrapper {
  padding: 40px 0 80px;
}

/* Sidebar nav */
.SC-AccountPage .SC-PageNav {
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(14,37,57,.06);
}

.SC-AccountPage .SC-PageNav_link {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: .06em;
  color: var(--ink);
  border-bottom: 1px solid #f0f4f7;
  transition: color .15s, background .15s;
}

.SC-AccountPage .SC-PageNav_link:hover {
  color: var(--navy-deep);
  background: rgba(14,37,57,.03);
}

.SC-AccountPage .SC-PageNav_link.is-current {
  color: var(--blue);
  background: rgba(1,101,174,.06);
  font-weight: 700;
}

/* Content panel — wider to fit payments table without scroll */
.SC-AccountPage .SC-Grid_main {
  background: var(--white) !important;
  border-radius: 12px;
  box-shadow: 0 1px 6px rgba(14,37,57,.06);
  min-width: 0;
  flex: 1 1 0%;
}
@media (min-width: 992px) {
  .SC-AccountPage .SC-Grid { max-width: 1400px; }
  .SC-AccountPage .SC-Grid_main { min-width: 820px; }
}

/* Section headings (h3.sc-color-blue in profile) */
.SC-AccountPage h3.sc-color-blue {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep) !important;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--paper);
}

/* Subscriptions / orders table */
.SC-AccountPage table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  color: var(--ink);
}

.SC-AccountPage table th {
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .07em;
  font-size: 11.5px;
  text-transform: uppercase;
  color: #8aa0b3;
  border-bottom: 2px solid #e2e9ef;
  padding: 8px 12px;
  text-align: left;
}

.SC-AccountPage table td {
  padding: 13px 12px;
  border-bottom: 1px solid #f0f4f7;
  vertical-align: middle;
}

.SC-AccountPage table tr:hover td { background: var(--paper); }

.SC-AccountPage table a {
  color: var(--blue);
  font-weight: 600;
  transition: color .15s;
}
.SC-AccountPage table a:hover { color: var(--navy-deep); }

/* Empty state */
.SC-AccountPage .sc-shade-neutral {
  background: var(--paper);
  border-radius: 8px;
  padding: 32px;
  text-align: center;
  color: #8aa0b3;
}

/* ==========================================================================
   9. MEMBER PORTAL COMPONENTS
   ========================================================================== */

/* Account strip header */
.acct-strip {
  background: var(--navy);
  padding: 22px 0;
  color: var(--white);
}
.acct-strip__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.acct-strip__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 21px;
}
.acct-strip__sub {
  font-size: 13.5px;
  color: rgba(255, 255, 255, .68);
  margin-top: 2px;
}
.acct-strip__logout {
  background: transparent;
  border-color: rgba(255, 255, 255, .55);
  gap: 8px;
}
.acct-strip__logout:hover {
  background: rgba(255, 255, 255, .14);
  border-color: var(--white);
}
.acct-strip__logout svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

/* Account chip in utility bar */
.acct-chip {
  position: relative;
}
.acct-chip__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 0;
  color: var(--white);
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 16px;
  cursor: pointer;
}
.acct-chip__menu {
  position: absolute;
  top: 130%;
  right: 0;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 0 16px 34px rgba(8, 37, 57, .24);
  min-width: 170px;
  padding: 8px;
  display: none;
  z-index: 20;
}
.acct-chip.is-open .acct-chip__menu {
  display: block;
}
.acct-chip__menu a {
  display: block;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 14px;
  color: var(--navy-deep);
}
.acct-chip__menu a:hover {
  background: var(--paper);
}

/* Sticky pill tabs */
.acct-tabs-wrap {
  position: sticky;
  top: 0;
  background: var(--white);
  border-bottom: 1px solid #e2e9ef;
  z-index: 15;
}
.acct-tabs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.acct-tabs {
  display: flex;
  gap: 6px;
  padding: 14px 0;
  overflow-x: auto;
  flex: 1;
}
.acct-tabs-logout {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 14px;
  color: #8aa0b3;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color .12s;
}
.acct-tabs-logout svg { width: 15px; height: 15px; }
.acct-tabs-logout:hover { color: var(--red); }
.acct-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 15px;
  color: var(--ink);
  background: var(--white);
  border: 1.5px solid #dbe4ec;
  border-radius: 999px;
  padding: 9px 18px;
  cursor: pointer;
  white-space: nowrap;
  transition: .12s;
}
.acct-tab svg {
  width: 16px;
  height: 16px;
}
.acct-tab:hover {
  border-color: var(--blue);
}
.acct-tab[aria-selected="true"] {
  background: var(--navy-deep);
  border-color: var(--navy-deep);
  color: var(--white);
}

/* Mobile tab switcher */
.acct-switch {
  display: none;
}
@media (max-width: 576px) {
  .acct-tabs {
    display: none;
  }
  .acct-switch {
    display: block;
    padding: 10px 0;
    position: relative;
  }
  .acct-switch__label {
    display: block;
    font-family: var(--cond);
    letter-spacing: .06em;
    font-size: 11.5px;
    color: #8aa0b3;
    margin-bottom: 5px;
  }
  .acct-switch__btn {
    width: 100%;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: var(--white);
    border: 1.5px solid #dbe4ec;
    border-radius: 10px;
    padding: 0 14px;
    cursor: pointer;
    text-align: left;
    font-family: var(--cond);
    font-weight: 500;
    letter-spacing: .04em;
    font-size: 15px;
    color: var(--navy-deep);
  }
  .acct-switch__btn[aria-expanded="true"] {
    border-color: var(--blue);
  }
  .acct-switch__btn:focus-visible {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(1, 90, 156, .16);
  }
  .acct-switch__chev {
    width: 13px;
    height: 13px;
    flex: 0 0 auto;
    transition: transform .16s;
  }
  .acct-switch__btn[aria-expanded="true"] .acct-switch__chev {
    transform: rotate(180deg);
  }
  .acct-switch__menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 6px;
    background: var(--white);
    border: 1.5px solid #dbe4ec;
    border-radius: 10px;
    box-shadow: 0 18px 38px rgba(8, 37, 57, .20);
    padding: 6px;
    display: none;
    z-index: 30;
  }
  .acct-switch.is-open .acct-switch__menu {
    display: block;
  }
  .acct-switch__opt {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 11px 12px;
    border-radius: 8px;
    font-family: var(--cond);
    font-weight: 500;
    letter-spacing: .04em;
    font-size: 15px;
    color: var(--navy-deep);
  }
  .acct-switch__opt:hover {
    background: var(--paper);
  }
  .acct-switch__opt[aria-current="true"] {
    color: var(--red);
    font-weight: 700;
    background: rgba(211, 47, 29, .08);
  }
}

/* Tab panels */
.tab-panel {
  display: none;
}
.tab-panel.is-active {
  display: block;
}

/* Profile info grid */
.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.info-card {
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 16px;
  padding: 22px;
}
.info-card__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  color: var(--navy-deep);
  margin-bottom: 4px;
}
.info-card__hint {
  font-size: 13px;
  color: #7c93a8;
  margin-bottom: 14px;
}
.field-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.field {
  flex: 1 1 200px;
}
.field label {
  display: block;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12.5px;
  color: #7c93a8;
  margin-bottom: 4px;
}
.field input {
  width: 100%;
  height: 42px;
  border-radius: 8px;
  border: 1.5px solid #d5dee6;
  padding: 0 12px;
  font-family: var(--body);
  font-size: 15px;
  color: var(--navy-deep);
}
.field input:disabled {
  background: #f3f6f9;
  color: #8aa0b3;
}
.field-note {
  font-size: 12px;
  color: #8aa0b3;
  margin-top: 4px;
}
@media (max-width: 768px) {
  .info-grid {
    grid-template-columns: 1fr;
  }
}

/* Badges */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .05em;
  font-size: 12.5px;
  color: var(--white);
  border-radius: 999px;
  padding: 4px 12px;
}
.badge i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--white);
  display: block;
}
.badge--active {
  background: var(--green);
}
.badge--suspended {
  background: var(--red-dark);
}
.badge--review {
  background: var(--navy-deep);
}
.badge--cancelled {
  background: #8aa0b3;
}

/* Subscriptions */
.sub-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.sub-count {
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 14px;
  color: #7c93a8;
}
.sub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 992px) {
  .sub-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .sub-grid {
    grid-template-columns: 1fr;
  }
}
.sub-card {
  background: var(--white);
  border: 1.5px solid #e2e9ef;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: .12s;
}
.sub-card:hover {
  border-color: var(--blue);
}
.sub-card__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub-card__ref {
  font-family: var(--display);
  font-weight: 900;
  font-size: 15px;
  color: var(--navy-deep);
}
.sub-card__meta {
  display: flex;
  gap: 18px;
  font-size: 13.5px;
  color: var(--ink);
}
.sub-card__meta b {
  display: block;
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 11.5px;
  color: #8aa0b3;
}
.sub-card__pay {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
  border-radius: 10px;
  padding: 9px 12px;
}
.sub-card__pay b {
  font-family: var(--cond);
  font-weight: 500;
  color: #8aa0b3;
  letter-spacing: .04em;
  font-size: 11px;
  display: block;
}
.sub-card__pay a {
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 12px;
  color: var(--blue);
}
.sub-card__pay a:hover {
  color: var(--red);
}
.sub-card__cta {
  align-self: flex-start;
}

/* Subscription links */
.sub-link {
  color: var(--blue);
  font-weight: 600;
  transition: .12s;
}
.sub-link:hover {
  color: var(--red);
  text-decoration: underline;
}
.sub-action-link {
  color: var(--blue);
  font-size: 14px;
  transition: .12s;
}
.sub-action-link:hover {
  color: var(--red);
}

/* Payment page */
#payment-page-container {
  display: none;
}
#payment-page-container.is-active {
  display: block;
}
#subscriptions-main {
  display: block;
}
#subscriptions-main.is-hidden {
  display: none;
}
.payment-container {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  max-width: 1000px;
}
@media (max-width: 960px) {
  .payment-container {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .payment-summary-col {
    order: 2;
  }
  .payment-form-col {
    order: 1;
  }
}
.payment-form-col {
  display: flex;
  flex-direction: column;
}
.payment-page input[type="checkbox"],
.payment-page input[type="radio"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* Subscription drill-down */
.sub-list.is-hidden {
  display: none;
}
.sub-detail {
  display: none;
}
.sub-detail.is-active {
  display: block;
}
.sub-detail.is-hidden {
  display: none;
}
.order-detail {
  display: none;
}
.order-detail.is-active {
  display: block;
}
.order-detail.is-hidden {
  display: none;
}
.order-detail-0,
.order-detail-1 {
  display: none;
}
.order-detail-0.is-active,
.order-detail-1.is-active {
  display: block;
}
.sub-back {
  background: none;
  border: 0;
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 14px;
  color: var(--blue);
  cursor: pointer;
  margin-bottom: 18px;
}
.sub-back:hover {
  color: var(--red);
}
.sub-detail__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 26px;
}
.sub-detail__ref {
  font-family: var(--display);
  font-weight: 900;
  font-size: 22px;
  color: var(--navy-deep);
  display: flex;
  align-items: center;
  gap: 12px;
}
.sub-detail__cta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.fact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .fact-grid {
    grid-template-columns: 1fr;
  }
}
.fact-card {
  background: var(--paper);
  border-radius: 14px;
  padding: 18px;
}
.fact-card b {
  display: block;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12px;
  color: #8aa0b3;
  margin-bottom: 4px;
}
.fact-card span {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep);
}
.fact-card--locked {
  opacity: .65;
}
.fact-card--locked span {
  font-size: 14px;
  font-family: var(--body);
  font-weight: 400;
  color: #8aa0b3;
}
.detail-section {
  margin-bottom: 30px;
}
.detail-section__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep);
  margin-bottom: 12px;
}
.prop-row,
.order-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.order-row__meta {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: 14px;
  color: var(--ink);
}
.mock-note {
  font-size: 12.5px;
  color: #8aa0b3;
  font-style: italic;
  margin-top: 6px;
}
.is-disabled-pill {
  opacity: .55;
  cursor: not-allowed;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.lock-note {
  font-size: 11px;
}

/* Payments grouped sections */
.pmts-group {
  margin-bottom: 36px;
}
.pmts-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.pmts-group__name {
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  color: var(--navy-deep);
}
.pmts-group__count {
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 13px;
  color: #8aa0b3;
  margin-top: 2px;
}

/* Payments widget table — prevent column line-breaks */
[data-payments-widget] { overflow-x: auto; -webkit-overflow-scrolling: touch; }
[data-payments-widget] table { min-width: 920px; }
.SC-AccountPage [data-payments-widget] th,
.SC-AccountPage [data-payments-widget] td { white-space: nowrap !important; word-break: normal !important; }
.SC-AccountPage [data-payments-widget] td[data-th="Subscription"] { white-space: normal !important; min-width: 120px; }
@media (max-width: 640px) {
  [data-payments-widget] table { min-width: 0; }
  .SC-AccountPage [data-payments-widget] th,
  .SC-AccountPage [data-payments-widget] td { white-space: normal !important; word-break: normal !important; }
  /* Mobile card labels — extra room for long labels like "Subscription" */
  .SC-AccountPage [data-payments-widget] td::before { min-width: 130px !important; }
}

/* Order detail — Qty/term badges: match RMFS inline style (no grey box) */
.SC-AccountPage .SC-CartItem_quantity,
.SC-AccountPage .SC-CartItem_subscription-term {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-size: 14px !important;
  color: var(--ink) !important;
}
/* Hide duplicate subscription line items in order summary */
.SC-AccountPage .SC-OrderSummary_subscriptions { display: none !important; }

/* Payments table */
.acct-table {
  width: 100%;
  border-collapse: collapse;
}
.acct-table th {
  text-align: left;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12.5px;
  color: #8aa0b3;
  padding: 10px 14px;
  border-bottom: 2px solid #e2e9ef;
}
.acct-table td {
  padding: 14px;
  border-bottom: 1px solid #eef2f6;
  font-size: 14.5px;
  color: var(--ink);
}
.acct-table tr:hover td {
  background: var(--paper);
}
@media (max-width: 576px) {
  .acct-table {
    font-size: 13px;
  }
  .acct-table th {
    display: none;
  }
  .acct-table td {
    display: block;
    padding: 4px 0;
    border: none;
    text-align: left;
    font-size: 13px;
  }
  .acct-table td:before {
    content: attr(data-th);
    font-family: var(--cond);
    font-weight: 500;
    color: #8aa0b3;
    font-size: 10px;
    display: block;
    margin-bottom: 1px;
  }
  .acct-table tr {
    display: block;
    border: 1px solid #e2e9ef;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
  }
}
.tt {
  position: relative;
  cursor: help;
  border-bottom: 1px dotted #8aa0b3;
}
.tt:hover::after {
  content: attr(data-tip);
  position: absolute;
  bottom: 120%;
  left: 0;
  background: var(--navy-deep);
  color: var(--white);
  font-size: 12px;
  padding: 8px 10px;
  border-radius: 8px;
  width: 220px;
  line-height: 1.4;
  z-index: 5;
}

/* Covered properties list */
.prop-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.prop-item {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 18px;
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 10px;
  transition: .12s;
}
.prop-item:hover {
  border-color: #cfdae5;
  background: var(--paper);
}
.prop-item__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border-radius: 10px;
  background: var(--paper);
  color: var(--blue);
}
.prop-item:hover .prop-item__icon {
  background: var(--white);
}
.prop-item__icon svg {
  width: 22px;
  height: 22px;
}
.prop-item__addr {
  font-family: var(--display);
  font-weight: 900;
  font-size: 15.5px;
  color: var(--navy-deep);
}
.prop-item__meta {
  font-size: 13px;
  color: #8aa0b3;
  margin-top: 2px;
}
.prop-item__sub {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 172px;
}
.prop-item__sublabel {
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 11.5px;
  color: #8aa0b3;
}
.prop-item__none {
  font-size: 13.5px;
  color: #8aa0b3;
}
.prop-item__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .prop-item {
    grid-template-columns: auto 1fr;
    row-gap: 14px;
    column-gap: 14px;
  }
  .prop-item__sub,
  .prop-item__actions {
    grid-column: 2;
    min-width: 0;
  }
  .prop-item__sub {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }
}

/* Subscription highlight animation */
.sub-row-flash {
  animation: subFlash 2.4s ease-out 1;
}
@keyframes subFlash {
  0%, 55% {
    background: rgba(1, 90, 156, .14);
  }
  100% {
    background: transparent;
  }
}

/* Utility styles */
.pill--red-outline {
  background: transparent;
  border: 2px solid var(--red);
  color: var(--red);
}
.pill--red-outline:hover {
  background: var(--red);
  color: var(--white);
}
.order-summary {
  background: var(--paper);
  border-radius: 10px;
  padding: 18px;
  text-align: right;
}

/* ==========================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 1200px) {
  .main-nav { gap: 20px; }
  .main-nav a:not(.pill) { font-size: 18px; }
  .nav-band .SC-Menu.tier1 { gap: 20px; }
  .nav-band .SC-Menu_link { font-size: 17px !important; }
}

@media (max-width: 992px) {
  .main-nav { gap: 14px; }
  .main-nav a:not(.pill) { font-size: 16px; }
  .nav-band .SC-Menu.tier1 { gap: 14px; }
  .nav-band .SC-Menu_link { font-size: 15px !important; }
  .utility-bar__inner { gap: 18px; }
  .utility-link { font-size: 13px; }
  .site-footer__top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  /* Nav: hide desktop, show hamburger */
  .main-nav   { display: none; }
  .nav-toggle { display: flex; }
  .nav-band   { z-index: 40; }
  .nav-band__inner { position: relative; }

  /* Mobile menu panel */
  .mobile-menu.is-open {
    display: block;
    background: var(--navy);
    border-top: 3px solid var(--blue-mid);
    box-shadow: 0 18px 34px rgba(8,37,57,.34);
    max-height: 70vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .mobile-menu.is-open nav {
    padding: 12px 24px 16px;
  }

  /* Mobile nav: plain tags rebuilt by JS — no SC classes, no SC popup hooks */
  .mobile-nav__link {
    font-family: var(--cond);
    font-weight: 500;
    font-size: 17px;
    letter-spacing: .05em;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 13px 0;
    border: none;
    border-bottom: 1px solid rgba(255,255,255,.12);
    background: none;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    transition: color .12s;
  }
  .mobile-nav__link:hover { color: var(--gold); }

  /* Chevron on collapsible toggles */
  .mobile-nav__chev {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: transform .2s;
  }
  .mobile-nav__toggle[aria-expanded="true"] .mobile-nav__chev { transform: rotate(180deg); }

  /* Collapsible group wrapper */
  .mobile-nav__group { display: block; }
  .mobile-nav__children { padding-bottom: 4px; }

  .mobile-nav__child {
    font-family: var(--cond);
    font-size: 14px;
    color: rgba(255,255,255,.65);
    display: block;
    padding: 9px 0 9px 16px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    text-decoration: none;
    transition: color .12s;
  }
  .mobile-nav__child:hover { color: var(--gold); }
  .mobile-nav__child:last-child { border-bottom: none; }

  /* Utility bar: centered layout */
  .utility-bar__inner { height: auto; padding: 10px 0; gap: 14px; justify-content: center; }
  .utility-link { font-size: 12px; }
  .utility-link--careers { display: none; }
  .utility-strip { height: 6px; }

  .SC-AccountPage .sub-grid { grid-template-columns: repeat(2, 1fr); }
  .SC-AccountPage .info-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .SC-AccountPage .sub-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .section { padding: 60px 0; }
  .pill--lg { font-size: 18px; height: 54px; padding: 0 28px; }
  .nav-band__inner { min-height: 80px; }
  .logo img { width: 160px; }
}

@media (max-width: 576px) {
  .utility-bar__inner { height: auto; padding: 8px 0; gap: 6px 12px; flex-wrap: wrap; }
  .utility-link { font-size: 10.5px; gap: 4px; letter-spacing: .02em; }
  .utility-link__icon { width: 13px; height: 13px; }
  .login-chip__chev { width: 10px; height: 10px; margin-left: 0; }
  .utility-strip { height: 4px; }
}


/* ==========================================================================
   TODAY'S ADDITIONS — appended over Cloudinary base
   ========================================================================== */

/* Dropdown gap fix */
.nav-band .SC-Menu_item.parent > .SC-Menu.tier2 {
  top: 100% !important;
  padding: 14px 0 6px !important;
}

/* Dropdown show — override ALL SC hidden properties */
.nav-band .SC-Menu_item.parent:hover > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent:focus-within > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent.is-keyboard-open > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent:has(> .SC-Menu_link:focus-visible) > .SC-Menu.tier2 {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  clip: auto !important;
  clip-path: none !important;
  height: auto !important;
  overflow: visible !important;
}

/* Nav link hover — no underline, gold text only */
.nav-band .SC-Menu_link:hover {
  color: var(--gold) !important;
  background: none !important;
  border-bottom-color: transparent !important;
  text-decoration: none !important;
}

/* Utility bar accessibility */
.utility-link { padding: 8px 0; min-height: 44px; }
.utility-link__icon { width: 22px; height: 22px; }

@media (max-width: 992px) {
  .utility-link { font-size: 14px; }
  .utility-link__icon { width: 20px; height: 20px; }
}
@media (max-width: 768px) {
  .utility-bar__inner { height: auto; padding: 6px 0; gap: 16px; justify-content: center; }
  .utility-link { font-size: 16px; min-height: 44px; gap: 10px; }
  .utility-link__icon { width: 24px; height: 24px; }
  .utility-link--careers { display: none; }
}
@media (max-width: 576px) {
  .utility-bar__inner { height: auto; padding: 6px 0; gap: 10px 20px; flex-wrap: wrap; justify-content: center; }
  .utility-link { font-size: 16px; gap: 8px; letter-spacing: .04em; min-height: 44px; }
  .utility-link__icon { width: 24px; height: 24px; }
  .utility-link--contact { display: none; }
  .login-chip__chev { width: 12px; height: 12px; margin-left: 0; }
  .SC-Banner_heading { font-size: clamp(30px, 8vw, 42px) !important; word-break: break-word !important; overflow-wrap: break-word !important; margin-bottom: 0 !important; }
  .SC-Banner_subheading { font-size: 28px !important; margin-top: 2px !important; }
}
/* ===== BEGIN per-page mockup CSS — generated 2026-09-15 ===== */
.hero--short{min-height:300px!important}
body:has([data-page="about"]) .utility-bar,body:has([data-page="about"]) .utility-strip,body:has([data-page="assessment-benchmark"]) .utility-bar,body:has([data-page="assessment-benchmark"]) .utility-strip,body:has([data-page="assessment-department"]) .utility-bar,body:has([data-page="assessment-department"]) .utility-strip,body:has([data-page="assessment-facility"]) .utility-bar,body:has([data-page="assessment-facility"]) .utility-strip,body:has([data-page="careers"]) .utility-bar,body:has([data-page="careers"]) .utility-strip,body:has([data-page="community-augment"]) .utility-bar,body:has([data-page="community-augment"]) .utility-strip,body:has([data-page="community-funding"]) .utility-bar,body:has([data-page="community-funding"]) .utility-strip,body:has([data-page="community-growth"]) .utility-bar,body:has([data-page="community-growth"]) .utility-strip,body:has([data-page="community-iso-myths"]) .utility-bar,body:has([data-page="community-iso-myths"]) .utility-strip,body:has([data-page="community"]) .utility-bar,body:has([data-page="community"]) .utility-strip,body:has([data-page="community-what-is"]) .utility-bar,body:has([data-page="community-what-is"]) .utility-strip,body:has([data-page="contact"]) .utility-bar,body:has([data-page="contact"]) .utility-strip,body:has([data-page="industrial-aerospace-capabilities"]) .utility-bar,body:has([data-page="industrial-aerospace-capabilities"]) .utility-strip,body:has([data-page="industrial-automotive-capabilities"]) .utility-bar,body:has([data-page="industrial-automotive-capabilities"]) .utility-strip,body:has([data-page="industrial-biotech-capabilities"]) .utility-bar,body:has([data-page="industrial-biotech-capabilities"]) .utility-strip,body:has([data-page="industrial"]) .utility-bar,body:has([data-page="industrial"]) .utility-strip,body:has([data-page="industrial-need"]) .utility-bar,body:has([data-page="industrial-need"]) .utility-strip,body:has([data-page="industrial-oil-gas-capabilities"]) .utility-bar,body:has([data-page="industrial-oil-gas-capabilities"]) .utility-strip,body:has([data-page="industrial-osha-nfpa"]) .utility-bar,body:has([data-page="industrial-osha-nfpa"]) .utility-strip,body:has([data-page="industrial-pulp-paper-capabilities"]) .utility-bar,body:has([data-page="industrial-pulp-paper-capabilities"]) .utility-strip,body:has([data-page="industrial-response-time"]) .utility-bar,body:has([data-page="industrial-response-time"]) .utility-strip,body:has([data-page="industrial-vignettes"]) .utility-bar,body:has([data-page="industrial-vignettes"]) .utility-strip,body:has([data-page="operations-map"]) .utility-bar,body:has([data-page="operations-map"]) .utility-strip,body:has([data-page="resource-library"]) .utility-bar,body:has([data-page="resource-library"]) .utility-strip{display:none}

/* ---- about (about.html) ---- */
[data-page="about"] .founding-story{background:var(--navy-deep);padding:80px 0;color:#fff}
[data-page="about"] .fs-kicker{font-family:var(--cond);font-size:11px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin-bottom:18px;display:block}
[data-page="about"] .fs-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}
[data-page="about"] .fs-headline{font-family:var(--display);font-size:clamp(22px,3.2vw,40px);line-height:1.08;text-transform:uppercase;margin-bottom:28px;color:#fff}
[data-page="about"] .fs-narrative p{font-family:var(--body);font-size:16px;line-height:1.75;color:rgba(255,255,255,.78);margin-bottom:18px}
[data-page="about"] .fs-quote{background:rgba(255,255,255,.06);border-left:4px solid var(--gold);padding:28px 28px 24px;margin-bottom:32px;border-radius:0 4px 4px 0}
[data-page="about"] .fs-quote blockquote{font-family:var(--display);font-size:clamp(15px,1.8vw,21px);line-height:1.45;font-style:italic;color:#fff;margin:0 0 14px}
[data-page="about"] .fs-quote cite{font-family:var(--cond);font-size:12px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;font-style:normal}
[data-page="about"] .fs-facts{display:flex;flex-direction:column;gap:22px}
[data-page="about"] .fs-fact{display:grid;grid-template-columns:80px 1fr;gap:16px;align-items:start}
[data-page="about"] .fs-fact__date{font-family:var(--display);font-size:16px;color:var(--gold);line-height:1.2;text-transform:uppercase}
[data-page="about"] .fs-fact__text{font-family:var(--body);font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.6)}
@media(max-width:760px){
  [data-page="about"] .fs-grid{grid-template-columns:1fr;gap:40px}
}
[data-page="about"] .milestones-section{padding:80px 0}
[data-page="about"] .ms-kicker{font-family:var(--cond);font-size:11px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;text-align:center;margin-bottom:12px;display:block}
[data-page="about"] .milestones-section .section-heading{text-align:center}
[data-page="about"] .rmf-timeline{position:relative;max-width:820px;margin:48px auto 0}
[data-page="about"] .rmf-timeline__line{position:absolute;left:50%;top:12px;bottom:12px;width:2px;background:var(--gold);opacity:.2;transform:translateX(-50%)}
[data-page="about"] .tl-row{display:grid;grid-template-columns:1fr 36px 1fr;margin-bottom:44px;align-items:start}
[data-page="about"] .tl-cell--content{padding:0 28px}
[data-page="about"] .tl-cell--left{text-align:right}
[data-page="about"] .tl-cell--right{text-align:left}
[data-page="about"] .tl-cell--mid{display:flex;justify-content:center;padding-top:5px}
[data-page="about"] .tl-dot{display:block;width:14px;height:14px;background:var(--gold);border-radius:50%;border:3px solid #f0ede8;position:relative;z-index:1;flex-shrink:0}
[data-page="about"] .tl-year{font-family:var(--display);font-size:22px;color:var(--gold);line-height:1;margin-bottom:6px;text-transform:uppercase}
[data-page="about"] .tl-event{font-family:var(--cond);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#555;margin-bottom:6px}
[data-page="about"] .tl-desc{font-family:var(--body);font-size:14px;line-height:1.65;color:#555;margin:0}
@media(max-width:680px){
  [data-page="about"] .rmf-timeline__line{left:13px}
  [data-page="about"] .tl-row{display:flex;align-items:flex-start;gap:0}
  [data-page="about"] .tl-cell--empty{display:none}
  [data-page="about"] .tl-cell--mid{order:1;flex:0 0 28px}
  [data-page="about"] .tl-cell--content{order:2;flex:1;text-align:left!important;padding:0 0 0 14px}
}

/* ---- careers (careers.html) ---- */
[data-page="careers"] .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:48px}
[data-page="careers"] .why-card{position:relative;overflow:hidden;border-radius:4px;min-height:340px}
[data-page="careers"] .why-card__img{position:absolute;inset:0}
[data-page="careers"] .why-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
[data-page="careers"] .why-card:hover .why-card__img img{transform:scale(1.04)}
[data-page="careers"] .why-card__scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,37,57,.9) 40%,rgba(8,37,57,.18) 100%)}
[data-page="careers"] .why-card__body{position:absolute;bottom:0;left:0;right:0;padding:26px 22px}
[data-page="careers"] .why-card__kicker{font-family:var(--cond);font-size:10px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:8px}
[data-page="careers"] .why-card__title{font-family:var(--display);font-size:18px;text-transform:uppercase;color:#fff;margin:0 0 10px;line-height:1.1}
[data-page="careers"] .why-card__copy{font-family:var(--body);font-size:13px;line-height:1.6;color:rgba(255,255,255,.8);margin:0}
@media(max-width:760px){
  [data-page="careers"] .why-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  [data-page="careers"] .why-grid{grid-template-columns:1fr}
}
[data-page="careers"] .role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:40px}
[data-page="careers"] .role-card{border:1.5px solid #d5dee6;border-radius:14px;padding:26px 22px;background:#fff}
[data-page="careers"] .role-card__title{font-family:var(--display);font-size:16px;text-transform:uppercase;color:var(--navy-deep);margin-bottom:8px;line-height:1.2}
[data-page="careers"] .role-card__copy{font-family:var(--body);font-size:14px;line-height:1.6;color:#555;margin:0}

/* ---- contact (contact.html) ---- */
[data-page="contact"] .cform-card{background:#fff;border:1.5px solid #d5dee6;border-radius:36px;padding:48px 44px;box-shadow:0 4px 32px rgba(8,37,57,.07)}
[data-page="contact"] .cform-select-label{font-family:var(--cond);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--navy-deep);opacity:.5;text-transform:uppercase;margin-bottom:8px;display:block}
[data-page="contact"] .cform-select,[data-page="contact"] .cform-input,[data-page="contact"] .cform-textarea{width:100%;box-sizing:border-box;height:50px;border-radius:999px;border:2px solid #ccd1d6;background:#f7f8fa;color:var(--navy-deep);font-family:var(--body);font-size:16px;padding:0 22px;transition:border-color .15s}
[data-page="contact"] .cform-select:focus,[data-page="contact"] .cform-input:focus,[data-page="contact"] .cform-textarea:focus{outline:none;border-color:var(--navy)}
[data-page="contact"] .cform-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23082539' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:18px;background-position:right 18px center;background-color:#f7f8fa;padding-right:46px;cursor:pointer}
[data-page="contact"] .cform-textarea{height:auto;border-radius:16px;padding:14px 22px;resize:vertical}
[data-page="contact"] .member-hint{display:none;background:#f3f8fd;border:1px solid #cce0f5;border-radius:14px;padding:12px 16px;margin-top:14px;font-size:13px;color:#4a6378;line-height:1.55;gap:10px;align-items:flex-start}
[data-page="contact"] .member-hint.is-visible{display:flex}
[data-page="contact"] .member-hint p{margin:0}
[data-page="contact"] .member-hint svg{flex-shrink:0;margin-top:1px;color:#2278c7}
[data-page="contact"] .cform{display:grid;grid-template-columns:1fr;gap:14px;margin-top:20px}
[data-page="contact"] .cform.is-hidden{display:none}
[data-page="contact"] .cform-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:540px){
  [data-page="contact"] .cform-row{grid-template-columns:1fr}
}
[data-page="contact"] .cform-note{font-size:13px;color:#6b7c8c;margin-top:2px}

/* ---- homepage (index.html) ---- */
[data-page="homepage"] .demo-note{background:#fff8ec;border-bottom:1px solid #f0dcae;color:#8a6417;font-family:var(--cond);letter-spacing:.04em;font-size:15px;text-align:center;padding:10px 16px}
[data-page="homepage"] .demo-note b{font-family:var(--body);font-weight:700}
[data-page="homepage"] .memberbar{background:#fff;color:var(--navy-deep);border-bottom:1px solid #e2e9ef}
[data-page="homepage"] .memberbar__inner{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;min-height:48px;padding:10px 0}
[data-page="homepage"] .memberbar__q{font-size:15.5px;font-weight:600}
[data-page="homepage"] .memberbar__actions{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
[data-page="homepage"] .memberbar__link{font-family:var(--cond);font-weight:700;letter-spacing:.07em;text-transform:uppercase;font-size:14px; color:var(--red);border-bottom:2px solid rgba(211,47,29,.34);padding-bottom:1px;white-space:nowrap;transition:.12s}
[data-page="homepage"] .memberbar__link:hover{border-bottom-color:var(--red)}
[data-page="homepage"] .memberbar__sep{font-size:14px;color:#7c93a8}
@media(max-width:620px){
  [data-page="homepage"] .memberbar__q{font-size:14.5px}
  [data-page="homepage"] .memberbar__inner{gap:10px}
}
[data-page="homepage"] .hero--home{position:relative;min-height:496px;display:flex;align-items:center;overflow:hidden}
[data-page="homepage"] .hero__bg-img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;object-position:center 42%}
[data-page="homepage"] .hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,37,57,.94) 0%,rgba(8,37,57,.80) 50%,rgba(8,37,57,.30) 100%)}
[data-page="homepage"] .hero--home .hero__canvas{position:relative;z-index:1;padding:76px 24px;width:100%}
[data-page="homepage"] .hero--home .hero__text{max-width:640px;text-align:left}
[data-page="homepage"] .hero--home .hero__headline{color:#fff;font-size:clamp(34px,4.4vw,62px);line-height:.97;margin-bottom:18px}
[data-page="homepage"] .hero--home .hero__sub{color:rgba(255,255,255,.74);font-size:clamp(16px,1.3vw,18px);line-height:1.6;margin-bottom:30px;max-width:520px}
[data-page="homepage"] .hero__ctas{display:flex;gap:12px;flex-wrap:wrap}
[data-page="homepage"] .pill--white{background:#fff;border-color:#fff;color:var(--navy-deep)}
[data-page="homepage"] .pill--white:hover{background:#dfe8f0;border-color:#dfe8f0;color:var(--navy-deep)}
@media(max-width:768px){
  [data-page="homepage"] .hero--home{min-height:420px}
  [data-page="homepage"] .hero--home .hero__canvas{padding:56px 20px}
}
[data-page="homepage"] .logo-strip{background:var(--paper);padding:0 0 64px}
[data-page="homepage"] .logo-strip .proof__track{gap:0}
[data-page="homepage"] .logo-strip .proof__chip{background:none;border-radius:0;height:52px;min-width:0;padding:0 30px}
[data-page="homepage"] .logo-strip .proof__chip img{max-height:34px;max-width:154px;mix-blend-mode:multiply}
[data-page="homepage"] .logo-strip__note{text-align:center;margin-top:26px;font-family:var(--cond);letter-spacing:.06em;font-size:12px;color:#8ea0b0}
[data-page="homepage"] .cov{background:var(--paper);padding:80px 0 48px;border-top:3px solid var(--gold)}
[data-page="homepage"] .cov__split{display:grid;grid-template-columns:1fr 2fr;gap:56px;align-items:start}
@media(max-width:980px){
  [data-page="homepage"] .cov__split{grid-template-columns:1fr;gap:40px}
}
[data-page="homepage"] .cov__headline{font-family:var(--display);font-weight:900;font-size:clamp(28px,2.9vw,42px);line-height:.98;color:var(--navy-deep);margin:0 0 18px}
[data-page="homepage"] .cov__lede{font-size:16px;line-height:1.68;color:var(--ink);margin:0 0 24px}
[data-page="homepage"] .cov__list{list-style:none;display:flex;flex-direction:column;gap:15px}
[data-page="homepage"] .cov__item{display:flex;gap:13px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--navy-deep)}
[data-page="homepage"] .cov__ico{flex-shrink:0;width:27px;height:27px;margin-top:-2px}
[data-page="homepage"] .cov__map{width:100%;background:#fff;border:1px solid #e3eaf1;border-radius:6px;padding:16px}
[data-page="homepage"] .cov__svg{display:block;width:100%;height:auto}
[data-page="homepage"] .cov__off path{fill:#dfe7ee;stroke:#fff;stroke-width:1.6}
[data-page="homepage"] .cov__on path{fill:var(--navy-deep);stroke:#fff;stroke-width:1.6}
[data-page="homepage"] .cov__lab text{fill:rgba(255,255,255,.80);font-family:var(--cond),system-ui,sans-serif;font-weight:700;font-size:15px;text-anchor:middle;letter-spacing:.04em}
[data-page="homepage"] .cov__lab .cov__ins{fill:#7c93a8;font-size:13px}
[data-page="homepage"] .cov__cap{text-align:center;font-family:var(--cond);letter-spacing:.08em;font-size:13px;color:#7c93a8;margin-top:14px;text-transform:uppercase}
[data-page="homepage"] .cov__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:28px}
@media(max-width:640px){
  [data-page="homepage"] .cov__stats{grid-template-columns:1fr 1fr;gap:24px}
  [data-page="homepage"] .cov__stat{text-align:center}
}
[data-page="homepage"] .cov__stat{border-top:2px solid var(--navy-deep);padding-top:14px}
[data-page="homepage"] .cov__stat-num{display:block;font-family:var(--display);font-weight:900;font-size:clamp(30px,2.6vw,40px);line-height:1;color:var(--navy-deep)}
[data-page="homepage"] .cov__stat-label{display:block;font-family:var(--cond);font-weight:700;letter-spacing:.07em;font-size:11px;color:#7c93a8;text-transform:uppercase;margin-top:7px}
[data-page="homepage"] .solutions{background:var(--blue-mid);padding:80px 0}
[data-page="homepage"] .solutions__hd{text-align:center;margin-bottom:46px}
[data-page="homepage"] .solutions__headline{font-family:var(--display);font-weight:900;font-size:clamp(26px,2.8vw,42px);color:#fff;line-height:1.05;margin:0 0 12px}
[data-page="homepage"] .solutions__sub{color:rgba(255,255,255,.72);font-size:16px;margin:0;line-height:1.6}
[data-page="homepage"] .paths__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:1100px){
  [data-page="homepage"] .paths__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  [data-page="homepage"] .paths__grid{grid-template-columns:1fr}
}
[data-page="homepage"] .path-card--membership .path-card__scrim{background:linear-gradient(0deg,rgba(8,37,57,.97) 0%,rgba(20,52,40,.70) 50%,rgba(8,37,57,.28) 100%)}
[data-page="homepage"] .path-card__title{font-size:clamp(18px,1.75vw,24px)}
[data-page="homepage"] .path-card__copy{min-height:176px}
[data-page="homepage"] .path-card__cta{align-self:center;font-size:14px;height:40px;padding:0 20px}
[data-page="homepage"] .path-card--industrial .media{object-position:center 30%}
[data-page="homepage"] .path-card--community .media{object-position:center top}
[data-page="homepage"] .path-card--membership .media{object-position:center 40%}
[data-page="homepage"] .solutions__cta{margin-top:44px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center}
[data-page="homepage"] .solutions__cta-note{color:rgba(255,255,255,.72);font-size:16px;margin:0 8px 0 0}
[data-page="homepage"] .affil{margin-top:54px;padding-top:32px;border-top:1px solid #e3eaf1}
[data-page="homepage"] .affil__line{text-align:center;font-size:15px;line-height:1.65;color:var(--ink);margin:0 auto 26px;max-width:76ch}
[data-page="homepage"] .affil__line strong{color:var(--navy-deep);font-weight:700}
[data-page="homepage"] .affil__line a{color:var(--red);border-bottom:1px solid rgba(211,47,29,.35);padding-bottom:1px;white-space:nowrap}
[data-page="homepage"] .affil__line a:hover{border-bottom-color:var(--red)}
[data-page="homepage"] .affil__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 36px}
[data-page="homepage"] .affil__item{display:flex;align-items:center;justify-content:center;height:44px}
[data-page="homepage"] .affil__item img{max-height:44px;max-width:118px;width:auto;object-fit:contain;transition:transform .18s}
[data-page="homepage"] a.affil__item:hover img{transform:scale(1.06)}
[data-page="homepage"] a.affil__item:focus-visible{outline:2px solid var(--sky);outline-offset:4px;border-radius:3px}
@media(prefers-reduced-motion:reduce){
  [data-page="homepage"] .affil__item img{transition:none}
  [data-page="homepage"] a.affil__item:hover img{transform:none}
}
[data-page="homepage"] .rmod{background:var(--paper);padding:72px 0 78px;border-top:1px solid #e3eaf1}
[data-page="homepage"] .rmod__hd{text-align:center;max-width:620px;margin:0 auto 42px}
[data-page="homepage"] .rmod__headline{font-family:var(--display);font-weight:900;font-size:clamp(26px,2.8vw,42px);color:var(--navy-deep);line-height:1.02;margin:0 0 12px}
[data-page="homepage"] .rmod__sub{font-size:16.5px;line-height:1.65;color:var(--ink);margin:0}
[data-page="homepage"] .rmod__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
@media(max-width:1080px){
  [data-page="homepage"] .rmod__grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
  [data-page="homepage"] .rmod__grid{grid-template-columns:repeat(2,1fr)}
}
[data-page="homepage"] .rmod__item{display:flex;flex-direction:column;align-items:center;gap:18px;padding:32px 14px 26px;background:#fff; border:1px solid #e3eaf1;border-radius:5px;text-align:center;color:var(--navy-deep); transition:border-color .18s,box-shadow .18s,transform .18s}
[data-page="homepage"] .rmod__item:hover{border-color:var(--navy-deep);box-shadow:0 12px 30px rgba(8,37,57,.11);transform:translateY(-3px)}
[data-page="homepage"] .rmod__item:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
[data-page="homepage"] .rmod__icon{width:50px;height:50px;color:var(--navy-deep);flex-shrink:0;transition:color .18s,transform .18s}
[data-page="homepage"] .rmod__item:hover .rmod__icon{color:var(--red);transform:scale(1.07)}
[data-page="homepage"] .rmod__label{font-family:var(--cond);font-weight:700;letter-spacing:.07em;font-size:12.5px;text-transform:uppercase;line-height:1.3}
[data-page="homepage"] .rmod__all{text-align:center;margin-top:34px}
[data-page="homepage"] .rmod__all a{font-family:var(--cond);font-weight:700;letter-spacing:.07em;font-size:13.5px;text-transform:uppercase; color:var(--red);border-bottom:2px solid rgba(211,47,29,.34);padding-bottom:2px;transition:.12s}
[data-page="homepage"] .rmod__all a:hover{border-bottom-color:var(--red)}
@media(prefers-reduced-motion:reduce){
  [data-page="homepage"] .rmod__item:hover{transform:none}
  [data-page="homepage"] .rmod__item:hover .rmod__icon{transform:none}
}
[data-page="homepage"] .closing{background:var(--navy-deep);padding:72px 0;text-align:center;border-top:3px solid var(--gold)}
[data-page="homepage"] .closing__headline{font-family:var(--display);font-weight:900;font-size:clamp(26px,2.8vw,42px);color:#fff;margin:0 0 12px;line-height:1.05}
[data-page="homepage"] .closing__sub{color:rgba(255,255,255,.60);font-size:17px;margin:0 0 30px;line-height:1.6}
[data-page="homepage"] .closing__ctas{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:26px}
[data-page="homepage"] .closing__link{font-family:var(--cond);font-weight:700;letter-spacing:.07em;font-size:14px;color:var(--gold);text-transform:uppercase;border-bottom:1px solid rgba(226,157,76,.4);padding-bottom:2px}
[data-page="homepage"] .closing__link:hover{color:#fff;border-bottom-color:rgba(255,255,255,.6)}

/* ---- industrial-response-time (industrial-response-time.html) ---- */
[data-page="industrial-response-time"] .rt-tool{background:var(--navy-deep);border-radius:var(--radius-card);padding:48px 52px;color:#fff}
[data-page="industrial-response-time"] .rt-tool__title{font-family:var(--display);font-weight:900;font-size:clamp(26px,3vw,40px);color:#fff;margin-bottom:8px}
[data-page="industrial-response-time"] .rt-tool__sub{color:rgba(255,255,255,.90);font-size:16px;margin-bottom:32px}
[data-page="industrial-response-time"] .rt-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px 32px;margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.1)}
[data-page="industrial-response-time"] .rt-ctrl__label{font-family:var(--cond);font-size:11px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.84);text-transform:uppercase;display:block;margin-bottom:10px}
[data-page="industrial-response-time"] .rt-ctrl__slider-wrap{display:flex;align-items:center;gap:16px}
[data-page="industrial-response-time"] .rt-ctrl__val{font-family:var(--display);font-weight:900;font-size:24px;color:var(--gold);white-space:nowrap;min-width:62px}
[data-page="industrial-response-time"] .rt-slider{-webkit-appearance:none;width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,.2);outline:none;cursor:pointer}
[data-page="industrial-response-time"] .rt-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--gold);cursor:pointer;border:2.5px solid rgba(255,255,255,.6)}
[data-page="industrial-response-time"] .rt-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--gold);cursor:pointer;border:2.5px solid rgba(255,255,255,.6);box-sizing:border-box}
[data-page="industrial-response-time"] .rt-select{width:100%;height:44px;border-radius:10px;border:1.5px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;font-family:var(--body);font-size:15px;padding:0 14px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.5)' stroke-width='2.2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:16px;background-position:right 12px center;padding-right:38px}
[data-page="industrial-response-time"] .rt-select option{background:#082539;color:#fff}
[data-page="industrial-response-time"] .rt-chart-wrap{border-radius:16px;overflow:hidden;margin-bottom:20px;line-height:0;background:rgba(0,0,0,.2)}
[data-page="industrial-response-time"] #rt-canvas{width:100%;display:block}
[data-page="industrial-response-time"] .rt-insight{font-size:15px;color:rgba(255,255,255,.96);margin-bottom:28px;line-height:1.6;padding:14px 20px;background:rgba(255,255,255,.06);border-radius:10px;border-left:3px solid var(--gold)}
[data-page="industrial-response-time"] .rt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px}
[data-page="industrial-response-time"] .rt-stat{background:rgba(255,255,255,.10);border-radius:var(--radius-card);padding:20px 18px;border-top:3px solid}
[data-page="industrial-response-time"] .rt-breakdown{border-top:1px solid rgba(255,255,255,.1);padding-top:24px}
[data-page="industrial-response-time"] .rt-breakdown__title{font-family:var(--cond);font-size:11px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.82);text-transform:uppercase;margin-bottom:16px}
[data-page="industrial-response-time"] .rt-breakdown__row{display:grid;grid-template-columns:200px 1fr 80px;align-items:center;gap:16px;margin-bottom:12px}
[data-page="industrial-response-time"] .rt-bd-label{font-size:14px;color:rgba(255,255,255,.92)}
[data-page="industrial-response-time"] .rt-breakdown__bar-wrap{height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}
[data-page="industrial-response-time"] .rt-breakdown__bar{height:100%;border-radius:4px;background:rgba(255,255,255,.32);display:block;transition:width .35s ease}
[data-page="industrial-response-time"] .rt-breakdown__bar--travel{background:#e23030}
[data-page="industrial-response-time"] .rt-breakdown__val{font-family:var(--cond);font-weight:700;font-size:13px;color:rgba(255,255,255,.96);text-align:right}
[data-page="industrial-response-time"] .rt-note{font-size:12px;color:rgba(255,255,255,.74);margin-top:20px;line-height:1.7;font-style:italic}
[data-page="industrial-response-time"] .rt-sources{margin-top:32px;border-top:1px solid rgba(255,255,255,.1);padding-top:26px}
[data-page="industrial-response-time"] .rt-sources__head{font-family:var(--cond);font-size:11px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.82);text-transform:uppercase;margin-bottom:6px}
[data-page="industrial-response-time"] .rt-sources__lede{font-size:14px;color:rgba(255,255,255,.88);line-height:1.6;margin-bottom:20px;max-width:76ch}
[data-page="industrial-response-time"] .rt-src-group{margin-bottom:22px}
[data-page="industrial-response-time"] .rt-src-group__title{font-family:var(--cond);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
[data-page="industrial-response-time"] .rt-src{display:grid;grid-template-columns:190px 1fr;gap:6px 18px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.055);font-size:13.5px;line-height:1.6}
[data-page="industrial-response-time"] .rt-src:last-child{border-bottom:none}
[data-page="industrial-response-time"] .rt-src__key{font-family:var(--cond);font-weight:700;letter-spacing:.03em;color:rgba(255,255,255,.96)}
[data-page="industrial-response-time"] .rt-src__val{color:rgba(255,255,255,.86)}
[data-page="industrial-response-time"] .rt-caveat{margin-top:18px;font-size:12.5px;color:rgba(255,255,255,.76);line-height:1.75;padding:14px 18px;background:rgba(255,255,255,.035);border-radius:10px}
@media(max-width:900px){
  [data-page="industrial-response-time"] .rt-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  [data-page="industrial-response-time"] .rt-tool{padding:32px 24px}
  [data-page="industrial-response-time"] .rt-stats{grid-template-columns:repeat(2,1fr)}
  [data-page="industrial-response-time"] .rt-breakdown__row{grid-template-columns:1fr 1fr;gap:8px 12px}
  [data-page="industrial-response-time"] .rt-bd-label{grid-column:1/-1}
  [data-page="industrial-response-time"] .rt-src{grid-template-columns:1fr}
}

/* ---- industrial-vignettes (industrial-vignettes.html) ---- */
[data-page="industrial-vignettes"] .mini-list{list-style:none;display:grid;gap:10px;margin:18px 0}
[data-page="industrial-vignettes"] .mini-list li{position:relative;padding-left:24px;font-size:15px;color:var(--ink)}
[data-page="industrial-vignettes"] .mini-list li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:2px;background:var(--red)}
[data-page="industrial-vignettes"] .vignette-stack .split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
[data-page="industrial-vignettes"] .vignette-stack .split.split--flip{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
[data-page="industrial-vignettes"] .split__media.is-photo{aspect-ratio:1/1;height:auto;min-height:0;width:100%}
[data-page="industrial-vignettes"] .vignette-stack{display:grid;gap:88px}
[data-page="industrial-vignettes"] .vignette-stack > .split{opacity:0;transform:translateY(36px);transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1)}
[data-page="industrial-vignettes"] .vignette-stack > .split.is-visible{opacity:1;transform:translateY(0)}
[data-page="industrial-vignettes"] .vignette-stack > .split{opacity:1!important;transform:none!important}

/* ---- membership (membership.html) ---- */
[data-page="membership"] .cov-step--reveal{display:none;margin-top:26px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
[data-page="membership"] .cov-step--reveal.is-open{display:block}
[data-page="membership"] .cov-banner{border-radius:12px;padding:14px 18px;font-size:15px;line-height:1.5;margin-bottom:18px}
[data-page="membership"] .cov-banner--good{background:rgba(31,138,91,.16);border:1.5px solid rgba(31,138,91,.4);color:#bfe8d3}
[data-page="membership"] .cov-banner--bad{background:rgba(211,47,29,.16);border:1.5px solid rgba(211,47,29,.4);color:#f3c9c2}
[data-page="membership"] .cov-banner b{color:#fff}
[data-page="membership"] .cov-step__title{font-family:var(--display);font-weight:900;font-size:20px;color:#fff;margin-bottom:16px}
[data-page="membership"] .field-row2{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px}
[data-page="membership"] .cov-field{flex:1 1 200px}
[data-page="membership"] .cov-field label{display:block;font-family:var(--cond);letter-spacing:.05em;font-size:12.5px;color:rgba(255,255,255,.65);margin-bottom:5px}
[data-page="membership"] .cov-field input{width:100%;height:46px;border-radius:8px;border:1.5px solid #26506b;background:#12324a;color:#fff;padding:0 14px;font-family:var(--body);font-size:15px}
[data-page="membership"] .cov-field input:disabled{color:rgba(255,255,255,.6)}
[data-page="membership"] .pill--fullwidth{width:100%;margin-top:4px}
[data-page="membership"] .cov-center-section{background:var(--navy-deep);padding:72px 0;border-top:4px solid var(--gold)}
[data-page="membership"] .cov-center-content{max-width:700px;margin:0 auto;text-align:center}
[data-page="membership"] .cov-center-tag{font-family:var(--cond);letter-spacing:.14em;font-size:11px;color:var(--gold);font-weight:700;text-transform:uppercase;display:block;margin-bottom:12px}
[data-page="membership"] .cov-center-title{font-family:var(--display);font-weight:900;font-size:clamp(22px,2.4vw,34px);line-height:1.08;color:#fff;margin:0 0 10px}
[data-page="membership"] .cov-center-sub{font-size:15px;color:rgba(255,255,255,.55);line-height:1.55;margin-bottom:28px}
[data-page="membership"] .cov-center-row{display:flex;gap:10px;align-items:stretch;text-align:left}
@media(max-width:560px){
  [data-page="membership"] .cov-center-row{flex-direction:column}
}
[data-page="membership"] .cov-input-wrap{flex:1;position:relative}
[data-page="membership"] .cov-input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none;color:rgba(8,37,57,.35)}
[data-page="membership"] .cov-input-main{width:100%;height:54px;border-radius:12px;border:none;background:#fff;color:var(--navy-deep);padding:0 18px 0 44px;font-family:var(--body);font-size:15px;outline:none;box-shadow:0 0 0 0 var(--gold);transition:box-shadow .2s}
[data-page="membership"] .cov-input-main:focus{box-shadow:0 0 0 3px var(--gold)}
[data-page="membership"] #cov-search-btn{height:54px;flex-shrink:0;padding:0 28px}
@media(max-width:576px){
  [data-page="membership"] .cov-input-main,[data-page="membership"] #cov-search-btn{height:46px}
}
[data-page="membership"] .cov-input-main::placeholder{color:rgba(8,37,57,.3)}
[data-page="membership"] .cov-center-note{margin-top:14px;font-size:13.5px;color:rgba(255,255,255,.4);text-align:center}
[data-page="membership"] .cov-center-note a{color:rgba(255,255,255,.65);text-decoration:underline}
[data-page="membership"] .cov-center-reveals{text-align:left;margin-top:8px}
[data-page="membership"] .mc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
[data-page="membership"] .mc-card{position:relative;overflow:hidden;border-radius:20px;min-height:360px;color:#fff;text-decoration:none;transition:.15s;display:flex;flex-direction:column}
@media(max-width:900px){
  [data-page="membership"] .mc-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  [data-page="membership"] .mc-grid{grid-template-columns:1fr}
}
[data-page="membership"] .mc-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,37,57,.36)}
[data-page="membership"] .mc-card__img{position:absolute;inset:0}
[data-page="membership"] .mc-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
[data-page="membership"] .mc-card:hover .mc-card__img img{transform:scale(1.04)}
[data-page="membership"] .mc-card__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,37,57,.97) 0%,rgba(8,37,57,.65) 48%,rgba(8,37,57,.22) 100%)}
[data-page="membership"] .mc-card__body{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;padding:28px;min-height:360px;justify-content:flex-end}
[data-page="membership"] .mc-card__state{font-family:var(--cond);letter-spacing:.12em;font-size:11px;color:var(--gold);font-weight:700;text-transform:uppercase}
[data-page="membership"] .mc-card__name{font-family:var(--display);font-weight:900;font-size:22px;line-height:1.12;color:#fff}
[data-page="membership"] .mc-card__desc{font-size:14px;color:rgba(255,255,255,.72);line-height:1.55;margin-bottom:6px}
[data-page="membership"] .mc-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid rgba(255,255,255,.18)}
[data-page="membership"] .mc-card__url{font-family:var(--cond);font-size:11.5px;letter-spacing:.04em;color:rgba(255,255,255,.48)}
[data-page="membership"] .mc-card__visit{font-family:var(--cond);font-size:11.5px;letter-spacing:.08em;font-weight:700;color:var(--gold)}
[data-page="membership"] .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px}
@media(max-width:760px){
  [data-page="membership"] .steps{grid-template-columns:1fr}
}
[data-page="membership"] .step{display:flex;flex-direction:column;gap:10px}
[data-page="membership"] .step__num{width:40px;height:40px;border-radius:50%;background:var(--gold);color:#fff;font-family:var(--display);font-weight:900;font-size:19px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
[data-page="membership"] .step__title{font-family:var(--cond);font-weight:700;letter-spacing:.06em;font-size:14px;color:var(--navy-deep)}
[data-page="membership"] .step__copy{font-size:14px;line-height:1.6;color:var(--text)}

/* ---- resource-library (resource-library.html) ---- */
[data-page="resource-library"] .demo-note{background:#fff8ec;border-bottom:1px solid #f0dcae;color:#8a6417;font-family:var(--cond);letter-spacing:.04em;font-size:15px;text-align:center;padding:10px 16px}
[data-page="resource-library"] .demo-note b{font-family:var(--body);font-weight:700}
[data-page="resource-library"] .hero--home{position:relative;min-height:496px;display:flex;align-items:center;overflow:hidden}
[data-page="resource-library"] .hero__bg-img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;object-position:center 42%}
[data-page="resource-library"] .hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,37,57,.94) 0%,rgba(8,37,57,.80) 50%,rgba(8,37,57,.30) 100%)}
[data-page="resource-library"] .hero--home .hero__canvas{position:relative;z-index:1;padding:76px 24px;width:100%}
[data-page="resource-library"] .hero--home .hero__text{max-width:640px;text-align:left}
[data-page="resource-library"] .hero--home .hero__headline{color:#fff;font-size:clamp(34px,4.4vw,62px);line-height:.97;margin-bottom:18px}
[data-page="resource-library"] .hero--home .hero__sub{color:rgba(255,255,255,.74);font-size:clamp(16px,1.3vw,18px);line-height:1.6;margin-bottom:30px;max-width:520px}
[data-page="resource-library"] .hero__ctas{display:flex;gap:12px;flex-wrap:wrap}
[data-page="resource-library"] .pill--white{background:#fff;border-color:#fff;color:var(--navy-deep)}
[data-page="resource-library"] .pill--white:hover{background:#dfe8f0;border-color:#dfe8f0;color:var(--navy-deep)}
@media(max-width:768px){
  [data-page="resource-library"] .hero--home{min-height:420px}
  [data-page="resource-library"] .hero--home .hero__canvas{padding:56px 20px}
}
[data-page="resource-library"] .logo-strip{background:var(--paper);padding:0 0 64px}
[data-page="resource-library"] .logo-strip .proof__marquee{max-width:920px;margin:0 auto}
[data-page="resource-library"] .logo-strip .proof__track{gap:0;animation-name:logo-scroll-quad}
@keyframes logo-scroll-quad{
  from{transform:translateX(0)}
  to{transform:translateX(-25%)}
}
[data-page="resource-library"] .logo-strip .proof__chip{background:none;border-radius:0;height:52px;min-width:0;padding:0 30px}
[data-page="resource-library"] .logo-strip .proof__chip img{max-height:34px;max-width:154px;mix-blend-mode:multiply}
[data-page="resource-library"] .logo-strip__note{text-align:center;margin-top:26px;font-family:var(--cond);letter-spacing:.06em;font-size:12px;color:#8ea0b0}
[data-page="resource-library"] .cov{background:var(--paper);padding:80px 0 48px;border-top:3px solid var(--gold)}
[data-page="resource-library"] .cov__split{display:grid;grid-template-columns:1fr 2fr;gap:56px;align-items:start}
@media(max-width:980px){
  [data-page="resource-library"] .cov__split{grid-template-columns:1fr;gap:40px}
}
[data-page="resource-library"] .cov__headline{font-family:var(--display);font-weight:900;font-size:clamp(28px,2.9vw,42px);line-height:.98;color:var(--navy-deep);margin:0 0 18px}
[data-page="resource-library"] .cov__lede{font-size:16px;line-height:1.68;color:var(--ink);margin:0 0 24px}
[data-page="resource-library"] .cov__list{list-style:none;display:flex;flex-direction:column;gap:11px}
[data-page="resource-library"] .cov__item{display:flex;gap:9px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--navy-deep)}
[data-page="resource-library"] .cov__check{color:var(--red);flex-shrink:0;width:17px;height:17px;margin-top:3px}
[data-page="resource-library"] .cov__map{width:100%;background:#fff;border:1px solid #e3eaf1;border-radius:6px;padding:16px}
[data-page="resource-library"] .cov__svg{display:block;width:100%;height:auto}
[data-page="resource-library"] .cov__off path{fill:#dfe7ee;stroke:#fff;stroke-width:1.6}
[data-page="resource-library"] .cov__on path{fill:var(--navy-deep);stroke:#fff;stroke-width:1.6}
[data-page="resource-library"] .cov__lab text{fill:rgba(255,255,255,.80);font-family:var(--cond),system-ui,sans-serif;font-weight:700;font-size:15px;text-anchor:middle;letter-spacing:.04em}
[data-page="resource-library"] .cov__lab .cov__ins{fill:#7c93a8;font-size:13px}
[data-page="resource-library"] .cov__cap{text-align:center;font-family:var(--cond);letter-spacing:.08em;font-size:13px;color:#7c93a8;margin-top:14px;text-transform:uppercase}
[data-page="resource-library"] .cov__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:28px}
@media(max-width:640px){
  [data-page="resource-library"] .cov__stats{grid-template-columns:1fr 1fr;gap:24px}
}
[data-page="resource-library"] .cov__stat{border-top:2px solid var(--navy-deep);padding-top:14px}
[data-page="resource-library"] .cov__stat-num{display:block;font-family:var(--display);font-weight:900;font-size:clamp(30px,2.6vw,40px);line-height:1;color:var(--navy-deep)}
[data-page="resource-library"] .cov__stat-label{display:block;font-family:var(--cond);font-weight:700;letter-spacing:.07em;font-size:11px;color:#7c93a8;text-transform:uppercase;margin-top:7px}
[data-page="resource-library"] .solutions{background:var(--blue-mid);padding:80px 0}
[data-page="resource-library"] .solutions__hd{text-align:center;margin-bottom:46px}
[data-page="resource-library"] .solutions__headline{font-family:var(--display);font-weight:900;font-size:clamp(26px,2.8vw,42px);color:#fff;line-height:1.05;margin:0 0 12px}
[data-page="resource-library"] .solutions__sub{color:rgba(255,255,255,.72);font-size:16px;margin:0;line-height:1.6}
[data-page="resource-library"] .paths__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:1100px){
  [data-page="resource-library"] .paths__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  [data-page="resource-library"] .paths__grid{grid-template-columns:1fr}
}
[data-page="resource-library"] .path-card--membership .path-card__scrim{background:linear-gradient(0deg,rgba(8,37,57,.97) 0%,rgba(20,52,40,.70) 50%,rgba(8,37,57,.28) 100%)}
[data-page="resource-library"] .path-card__title{font-size:clamp(18px,1.75vw,24px)}
[data-page="resource-library"] .path-card__copy{min-height:176px}
[data-page="resource-library"] .path-card__cta{align-self:center;font-size:14px;height:40px;padding:0 20px}
[data-page="resource-library"] .path-card--industrial .media{object-position:center 30%}
[data-page="resource-library"] .path-card--community .media{object-position:center top}
[data-page="resource-library"] .path-card--membership .media{object-position:center 40%}
[data-page="resource-library"] .solutions__cta{margin-top:44px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center}
[data-page="resource-library"] .solutions__cta-note{color:rgba(255,255,255,.72);font-size:16px;margin:0 8px 0 0}
[data-page="resource-library"] .caps{background:#fff;padding:80px 0 84px;border-top:1px solid #e3eaf1}
[data-page="resource-library"] .caps__hd{max-width:760px;margin:0 auto 48px;text-align:center}
[data-page="resource-library"] .caps__headline{font-family:var(--display);font-weight:900;font-size:clamp(26px,3vw,44px);color:var(--navy-deep);line-height:1.02;margin:0 0 14px}
[data-page="resource-library"] .caps__sub{font-size:17px;line-height:1.7;color:var(--ink);margin:0}
[data-page="resource-library"] .caps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:1020px){
  [data-page="resource-library"] .caps__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:660px){
  [data-page="resource-library"] .caps__grid{grid-template-columns:1fr}
}
[data-page="resource-library"] .cap{border:1px solid #e3eaf1;border-left:3px solid var(--navy-deep);border-radius:4px;background:var(--paper);display:flex;flex-direction:column;overflow:hidden}
[data-page="resource-library"] .card-media{position:relative}
[data-page="resource-library"] .card-media__frame{aspect-ratio:16/9;overflow:hidden;background:var(--navy-deep)}
[data-page="resource-library"] .card-media__frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
[data-page="resource-library"] .card-media__badge{position:absolute;left:16px;bottom:-21px;width:44px;height:44px;border-radius:999px;background:#fff; box-shadow:0 3px 12px rgba(8,37,57,.22);display:flex;align-items:center;justify-content:center;z-index:1}
[data-page="resource-library"] .card-media__badge img{width:25px;height:25px}
[data-page="resource-library"] .cap__text{padding:34px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
[data-page="resource-library"] .cap__ask{font-size:15.5px;line-height:1.45;color:var(--navy-deep);font-style:italic;margin:0}
[data-page="resource-library"] .cap__title{font-family:var(--cond);font-weight:700;letter-spacing:.09em;font-size:12px;color:var(--red);text-transform:uppercase;margin:0}
[data-page="resource-library"] .cap__body{font-size:14.5px;line-height:1.65;color:var(--ink);margin:0}
[data-page="resource-library"] .res{background:var(--paper);padding:76px 0 88px;border-top:1px solid #e3eaf1}
[data-page="resource-library"] .res__hd{max-width:700px;margin:0 0 8px}
[data-page="resource-library"] .res__headline{font-family:var(--display);font-weight:900;font-size:clamp(26px,2.8vw,42px);color:var(--navy-deep);line-height:1.02;margin:0 0 12px}
[data-page="resource-library"] .res__sub{font-size:16.5px;line-height:1.68;color:var(--ink);margin:0}
[data-page="resource-library"] .res__rise{opacity:0;filter:blur(10px);transition:opacity .55s ease,filter .55s ease}
[data-page="resource-library"] .res__rise:nth-child(2){transition-delay:.13s}
[data-page="resource-library"] .is-risen .res__rise{opacity:1;filter:blur(0)}
[data-page="resource-library"] .bucket{margin-top:52px}
[data-page="resource-library"] .bucket__hd{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap; padding-bottom:13px;margin-bottom:22px;border-bottom:2px solid var(--navy-deep)}
[data-page="resource-library"] .bucket__name{font-family:var(--display);font-weight:900;font-size:17px;letter-spacing:.04em;text-transform:uppercase;color:var(--navy-deep);margin:0}
[data-page="resource-library"] .bucket__count{font-family:var(--cond);font-weight:700;letter-spacing:.08em;font-size:11px;text-transform:uppercase;color:#8ea0b0}
[data-page="resource-library"] .bucket__note{font-size:14.5px;color:var(--ink);margin:0 0 0 auto;max-width:44ch;line-height:1.5}
@media(max-width:760px){
  [data-page="resource-library"] .bucket__note{margin-left:0;flex-basis:100%}
}
[data-page="resource-library"] .bucket__grid{display:grid;gap:16px;perspective:1100px}
[data-page="resource-library"] .bucket__grid>*{opacity:0;transform:translateY(20px) rotateX(16deg);transform-origin:50% 0%; transition:opacity .5s ease,transform .55s cubic-bezier(.22,.61,.36,1)}
[data-page="resource-library"] .bucket.is-in .bucket__grid>*{opacity:1;transform:none}
[data-page="resource-library"] .bucket.is-in .bucket__grid>:nth-child(2){transition-delay:.07s}
[data-page="resource-library"] .bucket.is-in .bucket__grid>:nth-child(3){transition-delay:.14s}
[data-page="resource-library"] .bucket.is-in .bucket__grid>:nth-child(4){transition-delay:.21s}
[data-page="resource-library"] .bucket.is-in .bucket__grid>:nth-child(5){transition-delay:.28s}
[data-page="resource-library"] .bucket.is-in .bucket__grid>:nth-child(6){transition-delay:.35s}
[data-page="resource-library"] .bucket.is-in .bucket__grid>:nth-child(7){transition-delay:.42s}
[data-page="resource-library"] .bucket.is-in .bucket__grid>:nth-child(8){transition-delay:.49s}
[data-page="resource-library"] .bucket--tools .bucket__grid{grid-template-columns:repeat(3,1fr)}
[data-page="resource-library"] .bucket--guides .bucket__grid{grid-template-columns:repeat(4,1fr)}
[data-page="resource-library"] .bucket--video .bucket__grid{grid-template-columns:repeat(3,1fr)}
[data-page="resource-library"] .bucket--news .bucket__grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:1020px){
  [data-page="resource-library"] .bucket--guides .bucket__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:880px){
  [data-page="resource-library"] .bucket--tools .bucket__grid,[data-page="resource-library"] .bucket--video .bucket__grid{grid-template-columns:1fr 1fr}
  [data-page="resource-library"] .bucket--news .bucket__grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  [data-page="resource-library"] .bucket__grid{grid-template-columns:1fr!important}
}
[data-page="resource-library"] .res-tool{background:#fff;border:1px solid #e3eaf1;border-radius:5px;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s;color:var(--navy-deep);overflow:hidden}
[data-page="resource-library"] .res-tool:hover{border-color:var(--navy-deep);box-shadow:0 8px 26px rgba(8,37,57,.11)}
[data-page="resource-library"] .res-tool:hover .card-media__frame img{transform:scale(1.045)}
[data-page="resource-library"] .res-tool__text{padding:34px 22px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
[data-page="resource-library"] .res-tool__title{font-family:var(--display);font-weight:900;font-size:18px;line-height:1.15;margin:0}
[data-page="resource-library"] .res-tool__body{font-size:14.5px;line-height:1.6;color:var(--ink);margin:0;flex:1}
[data-page="resource-library"] .res-tool__go{font-family:var(--cond);font-weight:700;letter-spacing:.08em;font-size:12px;text-transform:uppercase;color:var(--red);margin:0}
[data-page="resource-library"] .res-guide{background:#fff;border:1px solid #e3eaf1;border-left:3px solid #cfd9e2;border-radius:4px;padding:18px 18px 20px; display:flex;flex-direction:column;gap:7px;color:var(--navy-deep);transition:border-color .15s,box-shadow .15s}
[data-page="resource-library"] .res-guide:hover{border-left-color:var(--red);box-shadow:0 8px 26px rgba(8,37,57,.10)}
[data-page="resource-library"] .res-guide__tag{font-family:var(--cond);font-weight:700;letter-spacing:.09em;font-size:10px;text-transform:uppercase;color:#8ea0b0}
[data-page="resource-library"] .res-guide__title{font-family:var(--display);font-weight:900;font-size:15.5px;line-height:1.2;margin:0}
[data-page="resource-library"] .res-guide__body{font-size:13.5px;line-height:1.55;color:var(--ink);margin:0}
[data-page="resource-library"] .res-vid{background:#fff;border:1px solid #e3eaf1;border-radius:5px;overflow:hidden;display:block;color:var(--navy-deep);transition:border-color .15s,box-shadow .15s}
[data-page="resource-library"] .res-vid:hover{border-color:var(--navy-deep);box-shadow:0 8px 26px rgba(8,37,57,.11)}
[data-page="resource-library"] .res-vid__thumb{position:relative;aspect-ratio:16/9;background:var(--navy-deep);display:flex;align-items:center;justify-content:center}
[data-page="resource-library"] .res-vid__thumb>img{width:42px;height:42px;opacity:.45}
[data-page="resource-library"] .res-vid__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
[data-page="resource-library"] .res-vid__play svg{width:38px;height:38px;fill:#fff;opacity:.92;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}
[data-page="resource-library"] .res-vid__text{padding:15px 18px 17px}
[data-page="resource-library"] .res-vid__title{font-family:var(--display);font-weight:900;font-size:15.5px;line-height:1.2;color:var(--navy-deep);margin:0}
[data-page="resource-library"] .res-vid__meta{font-family:var(--cond);font-weight:700;letter-spacing:.07em;font-size:11px;text-transform:uppercase;color:#8ea0b0;margin:6px 0 0}
[data-page="resource-library"] .res-news{background:#fff;border:1px solid #e3eaf1;border-radius:5px;padding:16px 18px;display:flex;gap:13px;align-items:flex-start;transition:border-color .15s,box-shadow .15s}
[data-page="resource-library"] .res-news:hover{border-color:var(--navy-deep);box-shadow:0 8px 26px rgba(8,37,57,.10)}
[data-page="resource-library"] .res-news:hover .res-news__title{color:var(--red)}
[data-page="resource-library"] .res-news__icon{width:28px;height:28px;flex-shrink:0;opacity:.85;margin-top:1px}
[data-page="resource-library"] .res-news__title{display:block;font-size:15px;line-height:1.35;color:var(--navy-deep);font-weight:600;transition:color .12s}
[data-page="resource-library"] .res-news__meta{display:block;font-family:var(--cond);font-weight:700;letter-spacing:.07em;font-size:11px;text-transform:uppercase;color:#8ea0b0;margin-top:4px}
@media(prefers-reduced-motion:reduce){
  [data-page="resource-library"] .res__rise{opacity:1;filter:none;transition:none}
  [data-page="resource-library"] .bucket__grid>*{opacity:1;transform:none;transition:none}
  [data-page="resource-library"] .res-tool:hover .card-media__frame img{transform:none}
}
[data-page="resource-library"] .closing{background:var(--navy-deep);padding:72px 0;text-align:center;border-top:3px solid var(--gold)}
[data-page="resource-library"] .closing__headline{font-family:var(--display);font-weight:900;font-size:clamp(26px,2.8vw,42px);color:#fff;margin:0 0 12px;line-height:1.05}
[data-page="resource-library"] .closing__sub{color:rgba(255,255,255,.60);font-size:17px;margin:0 0 30px;line-height:1.6}
[data-page="resource-library"] .closing__ctas{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:26px}
[data-page="resource-library"] .closing__link{font-family:var(--cond);font-weight:700;letter-spacing:.07em;font-size:14px;color:var(--gold);text-transform:uppercase;border-bottom:1px solid rgba(226,157,76,.4);padding-bottom:2px}
[data-page="resource-library"] .closing__link:hover{color:#fff;border-bottom-color:rgba(255,255,255,.6)}
[data-page="resource-library"] .lib-hero{background:var(--navy-deep);padding:64px 0 58px;border-bottom:3px solid var(--gold)}
[data-page="resource-library"] .lib-hero__headline{font-family:var(--display);font-weight:900;font-size:clamp(30px,3.4vw,50px);color:#fff;line-height:1;margin:0 0 14px}
[data-page="resource-library"] .lib-hero__sub{font-size:17px;line-height:1.65;color:rgba(255,255,255,.66);margin:0 0 26px;max-width:62ch}
[data-page="resource-library"] .lib-jump{display:flex;flex-wrap:wrap;gap:10px}
[data-page="resource-library"] .lib-jump a{font-family:var(--cond);font-weight:700;letter-spacing:.07em;font-size:12.5px;text-transform:uppercase; color:#fff;border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:9px 16px;transition:.15s}
[data-page="resource-library"] .lib-jump a:hover{background:#fff;border-color:#fff;color:var(--navy-deep)}
[data-page="resource-library"] .res .bucket:first-child{margin-top:0}
[data-page="resource-library"] .bucket{scroll-margin-top:24px}
/* ===== END per-page mockup CSS ===== */

/* ==========================================================================
   Layer 3 store-record CSS — appended last to win at equal specificity
   ========================================================================== */

/* ==========================================================================
   Rural Metro Fire — Theme Supplement CSS
   Loaded via {{ theme_supplement_stylesheet }} in layouts/theme.liquid.
   All custom classes use the mockup's established naming system.
   SC base classes (sc-*, SC-*) are overridden only where necessary.
   ========================================================================== */

/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root {
  --navy:       #0e2539;
  --navy-deep:  #082539;
  --blue:       #0165ae;
  --blue-mid:   #0f437d;
  --red:        #d32f1d;
  --red-dark:   #b32617;
  --gold:       #e29d4c;
  --gold-dark:  #c9853a;
  --sky:        #72afe2;
  --white:      #fff;
  --paper:      #f7f9fb;
  --ink:        #33475b;
  --green:      #1f8a5b;

  --display: "univers-next-pro", "Gotham", Helvetica, Arial, sans-serif;
  --cond:    "univers-next-pro-compressed", "Gotham", Helvetica, Arial, sans-serif;
  --body:    "proxima-nova", "Gotham", Helvetica, Arial, sans-serif;

  --shell: 1196px;
}

/* ==========================================================================
   2. GLOBAL RESETS (scoped to not break SC form/checkout classes)
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--navy-deep);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}

a { text-decoration: none; color: inherit; }

/* Base theme sets svg { fill: currentColor } globally — override for all stroke-based icons */
svg[stroke] { fill: none !important; }
img { display: block; max-width: 100%; }

/* ==========================================================================
   3. LAYOUT SHELL
   ========================================================================== */
.shell {
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 24px;
}

.section { padding: 88px 0; }
.section--paper { background: var(--paper); }
.section--navy  { background: var(--navy); color: var(--white); }

/* ==========================================================================
   4. TYPOGRAPHY HELPERS
   ========================================================================== */
.lead-in {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 26px;
  color: var(--gold);
  margin-bottom: 8px;
}

.section-heading {
  font-family: var(--display);
  font-weight: 900;
  font-size: clamp(28px, 3.4vw, 40px);
  line-height: 1.12;
  color: var(--navy-deep);
  margin-bottom: 24px;
}

.section--navy .section-heading { color: var(--white); }

h1, h2, h3, h4 {
  font-family: var(--display);
  font-weight: 900;
  line-height: 1.12;
}

p.big {
  font-size: 19px;
  color: var(--ink);
  max-width: 62ch;
}

.section--navy p.big { color: rgba(255,255,255,.9); }

/* ==========================================================================
   5. FOCUS / ACCESSIBILITY
   ========================================================================== */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000;
}
.skip-link:focus {
  left: 0;
  padding: 0.5rem 1rem;
  background: var(--white);
  color: var(--navy-deep);
  outline: 2px solid currentColor;
}

:focus-visible {
  outline: 3px solid var(--sky);
  outline-offset: 2px;
}

/* ==========================================================================
   6. PILLS (CTAs)
   ========================================================================== */
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--display);
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  color: var(--white);
  height: 48px;
  padding: 0 28px;
  border-radius: 999px;
  white-space: nowrap;
  transition: background .15s, border-color .15s;
  border: 2px solid transparent;
  cursor: pointer;
}

.pill--sm  { font-size: 15px; height: 38px; padding: 0 22px; }
.pill--lg  { font-size: 22px; height: 60px; padding: 0 38px; }

.pill--red          { background: var(--red); border-color: var(--red); color: #fff !important; }
.pill--red:hover    { background: var(--red-dark); border-color: var(--red-dark); color: #fff !important; }
a.pill--red, a.pill--red:visited, a.pill--red:active, a.pill--red:hover { color: #fff !important; }

/* Self-contained account action button — does not depend on base-theme pill classes */
.rmf-acct-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 18px;
  border-radius: 999px;
  border: 2px solid var(--red);
  background: var(--red);
  color: #fff !important;
  font-family: var(--cond);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .04em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  line-height: 1;
}
.rmf-acct-btn:hover, .rmf-acct-btn:active { background: var(--red-dark); border-color: var(--red-dark); color: #fff !important; }

.pill--gold         { background: var(--gold); border-color: var(--gold); }
.pill--gold:hover   { background: var(--gold-dark); border-color: var(--gold-dark); }

.pill--ghost-white  { background: transparent; border-color: var(--white); }
.pill--ghost-white:hover { background: rgba(255,255,255,.14); }

.pill--ghost-navy   { background: transparent; border-color: var(--blue-mid); color: var(--blue-mid); }
.pill--ghost-navy:hover { background: rgba(15,67,125,.08); }

.pill svg { width: 14px; height: 14px; }

/* ==========================================================================
   7. HEADER
   ========================================================================== */

/* -- Utility bar (blue top strip) -- */
.utility-bar {
  position: relative;
  z-index: 60;
  background: var(--blue);
}

.utility-bar__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 34px;
  height: 52px;
}

.utility-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--cond);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .08em;
  color: var(--white);
  transition: color .15s;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 8px 0;
  min-height: 44px;
}
.utility-link:hover { color: var(--gold); }
.utility-link__icon { width: 22px; height: 22px; flex: 0 0 auto; }

/* -- Login chip + popover -- */
.login-chip { position: relative; }

.login-chip__chev {
  width: 13px;
  height: 13px;
  margin-left: 2px;
  flex: 0 0 auto;
  transition: transform .15s;
}

#login-trigger[aria-expanded="true"] { color: var(--gold); }
#login-trigger[aria-expanded="true"] .login-chip__chev { transform: rotate(180deg); }

.login-popover {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 10px;
  width: 280px;
  background: var(--navy);
  border-radius: 14px;
  box-shadow: 0 20px 46px rgba(8,37,57,.34);
  border-top: 3px solid var(--gold);
  padding: 22px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .16s, transform .16s, visibility .16s;
  z-index: 70;
}

.login-popover.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.login-popover .field { margin-bottom: 12px; }

.login-popover .field label {
  display: block;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .06em;
  font-size: 12px;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin-bottom: 5px;
}

.login-popover .field input {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1.5px solid #26506b;
  background: #12324a;
  color: var(--white);
  font-family: var(--body);
  font-size: 14.5px;
}

.login-popover .field input::placeholder { color: #7fa0b8; }
.login-popover .field input:focus { outline: none; border-color: var(--gold); }

.pill--fullwidth { width: 100%; margin-bottom: 10px; justify-content: center; }

.login-popover .text-link {
  display: block;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 13.5px;
  color: var(--gold);
  text-align: center;
}
.login-popover .text-link:hover { text-decoration: underline; }

.login-popover__divider {
  height: 1px;
  background: rgba(255,255,255,.14);
  margin: 16px 0 12px;
}

.login-popover__foot {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  text-align: center;
  margin: 0;
}
.login-popover__foot a { color: var(--gold); }

@media (max-width: 480px) {
  .login-popover { width: min(300px, 92vw); left: -8px; }
}

/* -- Divider strip -- */
.utility-strip {
  height: 16px;
  background: var(--blue-mid);
}

/* -- Sticky header wrapper -- */
.rmf-header {
  position: sticky;
  top: 0;
  z-index: 200;
}

/* -- Nav band (navy logo + menu) -- */
.nav-band {
  background: var(--navy);
  position: relative;
}

.nav-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 112px;
  padding: 14px 0;
}

.logo img {
  width: 220px;
  max-width: 56vw;
  height: auto;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}

.main-nav a:not(.pill) {
  font-family: var(--display);
  font-weight: 500;
  font-size: 18px;
  letter-spacing: .04em;
  color: var(--white);
  padding: 6px 0;
  border-bottom: 3px solid transparent;
  transition: color .15s, border-color .15s;
}

.main-nav a:not(.pill):hover,
.main-nav a.is-active:not(.pill) {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

/* -- SC CMS menu inside nav band -- */
.nav-band .SC-Menu.tier1 {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-band .SC-Menu_link {
  font-family: var(--display) !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  letter-spacing: .04em !important;
  color: var(--white) !important;
  padding: 6px 0 !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  transition: color .15s, border-color .15s;
  background: none !important;
  box-shadow: none !important;
  cursor: pointer;
  text-decoration: none !important;
}

.nav-band .SC-Menu_link:hover {
  color: var(--gold) !important;
  background: none !important;
  border-bottom-color: transparent !important;
  text-decoration: none !important;
}

/* -- Focus rings (ADA) — visible for keyboard users, hidden for mouse -- */
.nav-band .SC-Menu_link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}
.nav-band .SC-Menu_item.parent > .SC-Menu.tier2 .SC-Menu_link:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: -2px;
  border-radius: 2px;
  background: rgba(14,37,57,.05);
}
.utility-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}

/* -- SC CMS dropdown (tier2) overrides -- */
.nav-band .SC-Menu_item.parent {
  position: relative;
}

.nav-band .SC-Menu_item.parent > .SC-Menu.tier2 {
  display: none;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: var(--white) !important;
  border: 1.5px solid rgba(14,37,57,.15) !important;
  border-radius: 4px !important;
  padding: 14px 0 6px !important;
  min-width: 220px !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.14) !important;
  list-style: none !important;
  margin: 0 !important;
  z-index: 200 !important;
}

.nav-band .SC-Menu_item.parent:hover > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent:focus-within > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent.is-keyboard-open > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent:has(> .SC-Menu_link:focus-visible) > .SC-Menu.tier2 {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  clip: auto !important;
  clip-path: none !important;
  height: auto !important;
  overflow: visible !important;
}

.nav-band .SC-Menu.tier2 .SC-Menu_link {
  font-family: var(--cond) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: .04em !important;
  color: var(--navy-deep) !important;
  padding: 10px 20px !important;
  border: none !important;
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  background: none !important;
  box-shadow: none !important;
  transition: color .12s, background .12s;
}

.nav-band .SC-Menu.tier2 .SC-Menu_link:hover {
  color: var(--red) !important;
  background: rgba(14,37,57,.05) !important;
  border: none !important;
}

/* Hide SC's mobile Back/Close buttons on desktop */
.nav-band .SC-Menu_button {
  display: none;
}

/* -- Mobile hamburger -- */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: 0;
  padding: 10px;
  cursor: pointer;
}

.nav-toggle span {
  width: 28px;
  height: 3px;
  background: var(--white);
  border-radius: 2px;
  display: block;
  transition: transform .25s, opacity .25s;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.mobile-menu { display: none; }

/* -- Member communities signpost bar -- */
.memberbar {
  background: var(--white);
  color: var(--navy-deep);
}

.memberbar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  min-height: 48px;
  padding: 10px 0;
}

.memberbar__q {
  font-size: 15.5px;
  font-weight: 600;
}

.memberbar__link {
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: 14px;
  color: var(--red);
  border-bottom: 2px solid rgba(211, 47, 29, .34);
  padding-bottom: 1px;
  white-space: nowrap;
  transition: .12s;
}

.memberbar__link:hover {
  border-bottom-color: var(--red);
}

@media (max-width: 620px) {
  .memberbar__q { font-size: 14.5px; }
  .memberbar__inner { gap: 12px; }
}

/* ==========================================================================
   8. FOOTER
   ========================================================================== */
.site-footer {
  position: relative;
  background: #e9eef4;
  padding: 64px 0 40px;
  color: var(--navy-deep);
  overflow: hidden;
}

/* Footer badge/watermark — removed */
.site-footer::before { display: none !important; }
.site-footer__badge { display: none !important; }

.site-footer__top {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr 1fr 1fr;
  gap: 32px;
  margin-bottom: 44px;
}

.site-footer__logo {
  width: 200px;
  margin-bottom: 18px;
}

.site-footer__blurb {
  font-size: 14px;
  color: var(--ink);
  max-width: 34ch;
}

.site-footer h4 {
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .1em;
  font-size: 15px;
  text-transform: uppercase;
  color: var(--navy-deep);
  margin-bottom: 16px;
}

.site-footer__col a {
  display: block;
  font-size: 15px;
  color: var(--ink);
  padding: 5px 0;
  transition: color .12s;
}
.site-footer__col a:hover { color: var(--red); }

/* SC-rendered menu inside footer */
.site-footer .SC-Menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer .SC-Menu_link {
  display: block;
  font-size: 15px;
  color: var(--ink);
  padding: 5px 0;
  transition: color .12s;
}

.site-footer .SC-Menu_link:hover { color: var(--red); }

.site-footer__bottom {
  border-top: 1px solid #cfd9e2;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 13px;
  color: #7c93a8;
}

.site-footer__bottom a {
  color: #7c93a8;
  transition: color .12s;
}
.site-footer__bottom a:hover { color: var(--red); }

/* Footer communities column */
.site-footer__col--communities .fc-group {
  margin-bottom: 14px;
}
.fc-group__state {
  display: block;
  font-family: var(--cond);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8ea0b0;
  margin-bottom: 2px;
}
.site-footer__col--communities a {
  font-size: 14px;
  padding: 3px 0;
}

/* ==========================================================================
   9. MEMBER PORTAL
   Scoped to .SC-AccountPage (authenticated) and .rmf-login-background (login page).
   Targets actual RMFS/SC class names — no template changes required.
   ========================================================================== */

/* --- Login page --- */
.rmf-login-background {
  background: var(--paper);
  padding: 60px 0;
}

/* Form card */
.rmf-login-background .SC-Form {
  background: var(--white) !important;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(14,37,57,.08);
  padding: 36px !important;
}

.rmf-login-background .SC-Form h1 {
  font-family: var(--display);
  font-weight: 900;
  font-size: 22px;
  color: var(--navy-deep);
  margin-bottom: 24px;
}

/* Benefits panel (right column) */
.rmf-login-background .sc-shade-lightest {
  background: var(--navy) !important;
  border-radius: 12px;
  padding: 36px;
  color: var(--white);
}

.rmf-login-background .sc-shade-lightest h2 {
  font-family: var(--display);
  font-weight: 900;
  font-size: 20px;
  color: var(--gold);
  margin-bottom: 12px;
}

.rmf-login-background .sc-shade-lightest p {
  color: rgba(255,255,255,.8);
  font-size: 15px;
}

.rmf-login-background .sc-shade-lightest .sc-uppercase {
  font-family: var(--cond);
  font-size: 13px;
  letter-spacing: .06em;
  color: rgba(255,255,255,.75);
}

/* Links in login */
.rmf-login-background .SC-Link {
  color: var(--blue);
  font-size: 14px;
  transition: color .15s;
}
.rmf-login-background .SC-Link:hover { color: var(--blue-mid); }

/* --- Shared form elements (login + account) --- */
.SC-AccountPage .SC-Field_label,
.rmf-login-background .SC-Field_label {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 12.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ink);
}

.SC-AccountPage .SC-Field_input,
.rmf-login-background .SC-Field_input {
  border: 1.5px solid #cdd8e3;
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--body);
  font-size: 16px;
  color: var(--navy-deep);
  background: var(--white);
  width: 100%;
  transition: border-color .15s, box-shadow .15s;
}

.SC-AccountPage .SC-Field_input:focus,
.rmf-login-background .SC-Field_input:focus {
  border-color: var(--blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(1,101,174,.12);
}

.SC-AccountPage .SC-Field_input:disabled,
.rmf-login-background .SC-Field_input:disabled {
  background: var(--paper);
  color: #8aa0b3;
  cursor: not-allowed;
}

.SC-AccountPage .SC-Field_error,
.rmf-login-background .SC-Field_error {
  display: block;
  font-size: 12.5px;
  color: var(--red);
  margin-top: 4px;
}

/* Plain input/label elements in account cards */
.SC-AccountPage .field label {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 11.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ink);
  display: block;
  margin-bottom: 4px;
}

.SC-AccountPage .field input {
  border: 1.5px solid #cdd8e3;
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--body);
  font-size: 15px;
  color: var(--navy-deep);
  background: var(--white);
  width: 100%;
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}

.SC-AccountPage .field input:focus {
  border-color: var(--blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(1,101,174,.12);
}

.SC-AccountPage .field input:disabled {
  background: var(--paper);
  color: #8aa0b3;
  cursor: not-allowed;
}

.SC-AccountPage .field__error {
  font-size: 12px;
  color: var(--red);
  margin-top: 4px;
  display: block;
}

.SC-AccountPage .field-note {
  font-size: 12px;
  color: #8aa0b3;
  margin-top: 6px;
  line-height: 1.5;
}

/* Primary buttons */
.SC-AccountPage .SC-Button-primary,
.rmf-login-background .SC-Button-primary {
  appearance: none;
  background: var(--red);
  border: 2px solid var(--red);
  color: var(--white);
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  border-radius: 999px;
  padding: 11px 28px;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}

.SC-AccountPage .SC-Button-primary:hover,
.rmf-login-background .SC-Button-primary:hover {
  background: var(--red-dark);
  border-color: var(--red-dark);
}

/* --- Account layout (authenticated) --- */
.SC-AccountPage {
  background: var(--paper);
  min-height: 60vh;
}

.SC-AccountPage_wrapper {
  padding: 40px 0 80px;
}

/* Sidebar nav */
.SC-AccountPage .SC-PageNav {
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(14,37,57,.06);
}

.SC-AccountPage .SC-PageNav_link {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: .06em;
  color: var(--ink);
  border-bottom: 1px solid #f0f4f7;
  transition: color .15s, background .15s;
}

.SC-AccountPage .SC-PageNav_link:hover {
  color: var(--navy-deep);
  background: rgba(14,37,57,.03);
}

.SC-AccountPage .SC-PageNav_link.is-current {
  color: var(--blue);
  background: rgba(1,101,174,.06);
  font-weight: 700;
}

/* Sidebar nav — greeting + icon helpers */
.rmf-acct-nav__greeting {
  padding: 16px 20px 14px;
  border-bottom: 1px solid #f0f4f7;
}
.rmf-acct-nav__name {
  display: block;
  font-family: var(--display);
  font-weight: 900;
  font-size: 15px;
  color: var(--navy-deep);
  line-height: 1.2;
}
.rmf-acct-nav__label {
  display: block;
  font-family: var(--cond);
  font-size: 11px;
  letter-spacing: .07em;
  color: #8aa0b3;
  text-transform: uppercase;
  margin-top: 2px;
}
.rmf-acct-nav__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-right: 9px;
  flex-shrink: 0;
  opacity: .7;
  vertical-align: middle;
}
.rmf-acct-nav__icon svg {
  width: 16px;
  height: 16px;
}
.SC-AccountPage .SC-PageNav_link.is-current .rmf-acct-nav__icon {
  opacity: 1;
}
.rmf-acct-nav__signout {
  margin-top: 4px;
  color: #8aa0b3 !important;
  border-top: 1px solid #f0f4f7;
}
.rmf-acct-nav__signout:hover {
  color: var(--red) !important;
}

/* Account grid — sidebar sticky on desktop */
.rmf-acct-grid {
  align-items: flex-start;
}
.rmf-acct-grid .SC-Grid_sidebar {
  position: sticky;
  top: 20px;
}

/* ── Mobile account nav dropdown ───────────────────────────────────────────── */
/* Hidden on desktop; shown < 768px instead of SC's sidebar toggle */
.rmf-acct-mobile-nav { display: none; }

@media (max-width: 767px) {
  /* Show our dropdown, hide SC's sidebar content + toggle button */
  .rmf-acct-mobile-nav { display: block; padding: 12px 0 4px; position: relative; }
  .SC-AccountPage .SC-PageNav_content { display: none !important; }
  .SC-AccountPage .SC-PageNav_menu-toggle { display: none !important; }
  /* Sidebar not sticky on mobile — sits above main content in stacked grid */
  .rmf-acct-grid .SC-Grid_sidebar { position: static; }
  /* Remove card styling from SC-PageNav on mobile — just a container */
  /* overflow:visible is critical — the dropdown is position:absolute and SC-PageNav has overflow:hidden */
  .SC-AccountPage .SC-PageNav { background: transparent; border-radius: 0; box-shadow: none; overflow: visible !important; }
}

@media (min-width: 768px) {
  /* Desktop: force sidebar content visible regardless of SC's is-hidden class */
  .SC-AccountPage .SC-PageNav_content { display: block !important; }
}

/* Dropdown trigger */
.acct-switch__label {
  display: block;
  font-family: var(--display);
  font-weight: 900;
  letter-spacing: .06em;
  font-size: 16px;
  color: var(--navy-deep);
  margin-bottom: 5px;
}
.acct-switch__label-hint { color: var(--navy-deep); font-weight: 400; font-family: var(--cond); font-size: 12px; }
.acct-switch__btn {
  width: 100%;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #fff;
  border: 1.5px solid #dbe4ec;
  border-radius: 10px;
  padding: 0 14px;
  cursor: pointer;
  text-align: left;
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .04em;
  font-size: 15px;
  color: var(--navy-deep);
}
.acct-switch__btn[aria-expanded="true"] { border-color: var(--blue); }
.acct-switch__btn:focus-visible {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(1,90,156,.16);
}
.acct-switch__chev {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  transition: transform .16s;
}
.acct-switch__btn[aria-expanded="true"] .acct-switch__chev { transform: rotate(180deg); }

/* Dropdown panel — always drops DOWN, never up */
.acct-switch__menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 6px;
  background: #fff;
  border: 1.5px solid #dbe4ec;
  border-radius: 10px;
  box-shadow: 0 18px 38px rgba(8,37,57,.18);
  padding: 6px;
  display: none;
  z-index: 30;
}
.acct-switch.is-open .acct-switch__menu { display: block; }

.acct-switch__opt {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 11px 12px;
  border-radius: 8px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 15px;
  color: var(--navy-deep);
  text-decoration: none;
}
.acct-switch__opt:hover { background: var(--paper); }
.acct-switch__opt[aria-current="true"] {
  color: var(--red);
  font-weight: 700;
  background: rgba(211,47,29,.07);
}
.acct-switch__opt--signout {
  color: #8aa0b3;
  border-top: 1px solid #f0f4f7;
  margin-top: 4px;
  padding-top: 10px;
}
.acct-switch__opt--signout:hover { color: var(--red); background: none; }

/* ── Mobile table → card layout ────────────────────────────────────────────── */
@media (max-width: 640px) {
  .SC-AccountPage table,
  .SC-AccountPage table thead,
  .SC-AccountPage table tbody,
  .SC-AccountPage table tr { display: block; }

  .SC-AccountPage table thead { display: none; }

  .SC-AccountPage table tr {
    background: #fff;
    border: 1px solid #e2e9ef;
    border-radius: 10px;
    margin-bottom: 12px;
    padding: 10px 14px;
    box-shadow: 0 1px 4px rgba(8,37,57,.08);
  }

  .SC-AccountPage table td {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    gap: 12px;
    padding: 7px 0;
    border: none;
    border-bottom: 1px solid #f0f4f7;
    font-size: 13.5px;
    width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
  }
  .SC-AccountPage table td:last-child { border-bottom: none; padding-bottom: 2px; }

  .SC-AccountPage table td::before {
    content: attr(data-th);
    font-family: var(--display);
    font-weight: 900;
    font-size: 11px;
    letter-spacing: .05em;
    color: var(--navy-deep);
    text-transform: uppercase;
    flex-shrink: 0;
    min-width: 108px;
    word-break: normal;
    overflow-wrap: normal;
  }
  /* Hide the label pseudo-element for action columns with no header */
  .SC-AccountPage table:not(.pika-table) td[data-th="-"]::before,
  .SC-AccountPage table:not(.pika-table) td[data-th=""]::before { display: none !important; }

  /* Action cell: centered button row */
  .SC-AccountPage table td.acct-action-cell {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px 0 4px !important;
    border-bottom: none !important;
    box-sizing: border-box !important;
  }

  .cert-btn { height: 42px; padding: 0 20px; font-size: 14px; }
}

/* Content panel — wider to fit payments table without scroll */
.SC-AccountPage .SC-Grid_main {
  background: var(--white) !important;
  border-radius: 12px;
  box-shadow: 0 1px 6px rgba(14,37,57,.06);
  min-width: 0;
  flex: 1 1 0%;
}
@media (min-width: 992px) {
  .SC-AccountPage .SC-Grid { max-width: 1400px; }
  .SC-AccountPage .SC-Grid_main { min-width: 820px; }
}

/* Section headings (h3.sc-color-blue in profile) */
.SC-AccountPage h3.sc-color-blue {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep) !important;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--paper);
}

/* Subscriptions / orders table */
.SC-AccountPage table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  color: var(--ink);
}

.SC-AccountPage table th {
  font-family: var(--display);
  font-weight: 900;
  letter-spacing: .07em;
  font-size: 12px;
  text-transform: uppercase;
  color: var(--navy-deep);
  border-bottom: 2px solid #e2e9ef;
  padding: 8px 12px;
  text-align: left;
}

.SC-AccountPage .SC-PageHeader_heading {
  font-family: var(--display);
  font-weight: 900;
  color: var(--navy-deep);
}

/* All member portal buttons: unified display font treatment */
.SC-AccountPage .SC-Button,
.SC-AccountPage .pill,
.SC-AccountPage button[type="button"] {
  font-family: var(--display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.SC-AccountPage .SC-Button-primary {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
  border-radius: 999px;
}
.SC-AccountPage .SC-Button-primary:hover {
  background: var(--red-dark);
  border-color: var(--red-dark);
}
.SC-AccountPage .pill--ghost {
  font-family: var(--display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 11px;
}

.SC-AccountPage table td {
  padding: 13px 12px;
  border-bottom: 1px solid #f0f4f7;
  vertical-align: middle;
}

.SC-AccountPage table tr:hover td { background: var(--paper); }

.SC-AccountPage table a {
  color: var(--blue);
  font-weight: 600;
  transition: color .15s;
}
.SC-AccountPage table a:hover { color: var(--navy-deep); }

/* Empty state */
.SC-AccountPage .sc-shade-neutral {
  background: var(--paper);
  border-radius: 8px;
  padding: 32px;
  text-align: center;
  color: #8aa0b3;
}

/* ==========================================================================
   9. MEMBER PORTAL COMPONENTS
   ========================================================================== */

/* Account strip header */
.acct-strip {
  background: var(--navy);
  padding: 22px 0;
  color: var(--white);
}
.acct-strip__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.acct-strip__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 21px;
}
.acct-strip__sub {
  font-size: 13.5px;
  color: rgba(255, 255, 255, .68);
  margin-top: 2px;
}
.acct-strip__logout {
  background: transparent;
  border-color: rgba(255, 255, 255, .55);
  gap: 8px;
}
.acct-strip__logout:hover {
  background: rgba(255, 255, 255, .14);
  border-color: var(--white);
}
.acct-strip__logout svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

/* Account chip in utility bar */
.acct-chip {
  position: relative;
}
.acct-chip__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 0;
  color: var(--white);
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 16px;
  cursor: pointer;
}
.acct-chip__menu {
  position: absolute;
  top: 130%;
  right: 0;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 0 16px 34px rgba(8, 37, 57, .24);
  min-width: 170px;
  padding: 8px;
  display: none;
  z-index: 20;
}
.acct-chip.is-open .acct-chip__menu {
  display: block;
}
.acct-chip__menu a {
  display: block;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 14px;
  color: var(--navy-deep);
}
.acct-chip__menu a:hover {
  background: var(--paper);
}

/* Sticky pill tabs — top is set by JS to match .rmf-header height; 180px is fallback */
.acct-tabs-wrap {
  position: sticky;
  top: 180px;
  background: var(--white);
  border-bottom: 1px solid #e2e9ef;
  z-index: 15;
}
@media (max-width: 640px) {
  .acct-tabs-wrap { top: 150px; }
}
.acct-tabs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.acct-tabs {
  display: flex;
  gap: 6px;
  padding: 14px 0;
  overflow-x: auto;
  flex: 1;
}
.acct-tabs-logout {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 14px;
  color: #8aa0b3;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color .12s;
}
.acct-tabs-logout svg { width: 15px; height: 15px; }
.acct-tabs-logout:hover { color: var(--red); }
.acct-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 15px;
  color: var(--ink);
  background: var(--white);
  border: 1.5px solid #dbe4ec;
  border-radius: 999px;
  padding: 9px 18px;
  cursor: pointer;
  white-space: nowrap;
  transition: .12s;
}
.acct-tab svg {
  width: 16px;
  height: 16px;
}
.acct-tab:hover {
  border-color: var(--blue);
}
.acct-tab[aria-selected="true"] {
  background: var(--navy-deep);
  border-color: var(--navy-deep);
  color: var(--white);
}

/* Mobile tab switcher */
.acct-switch {
  display: none;
}
@media (max-width: 576px) {
  .acct-tabs {
    display: none;
  }
  .acct-switch {
    display: block;
    padding: 10px 0;
    position: relative;
  }
  .acct-switch__label {
    display: block;
    font-family: var(--display);
    font-weight: 900;
    letter-spacing: .06em;
    font-size: 16px;
    color: var(--navy-deep);
    margin-bottom: 5px;
  }
  .acct-switch__label-hint { color: var(--navy-deep); font-weight: 400; font-family: var(--cond); font-size: 12px; }
  .acct-switch__btn {
    width: 100%;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: var(--white);
    border: 1.5px solid #dbe4ec;
    border-radius: 10px;
    padding: 0 14px;
    cursor: pointer;
    text-align: left;
    font-family: var(--cond);
    font-weight: 700;
    letter-spacing: .04em;
    font-size: 15px;
    color: var(--navy-deep);
  }
  .acct-switch__btn[aria-expanded="true"] {
    border-color: var(--blue);
  }
  .acct-switch__btn:focus-visible {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(1, 90, 156, .16);
  }
  .acct-switch__chev {
    width: 13px;
    height: 13px;
    flex: 0 0 auto;
    transition: transform .16s;
  }
  .acct-switch__btn[aria-expanded="true"] .acct-switch__chev {
    transform: rotate(180deg);
  }
  .acct-switch__menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 6px;
    background: var(--white);
    border: 1.5px solid #dbe4ec;
    border-radius: 10px;
    box-shadow: 0 18px 38px rgba(8, 37, 57, .20);
    padding: 6px;
    display: none;
    z-index: 30;
  }
  .acct-switch.is-open .acct-switch__menu {
    display: block;
  }
  .acct-switch__opt {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 11px 12px;
    border-radius: 8px;
    font-family: var(--cond);
    font-weight: 500;
    letter-spacing: .04em;
    font-size: 15px;
    color: var(--navy-deep);
  }
  .acct-switch__opt:hover {
    background: var(--paper);
  }
  .acct-switch__opt[aria-current="true"] {
    color: var(--red);
    font-weight: 700;
    background: rgba(211, 47, 29, .08);
  }
}

/* Tab panels */
.tab-panel {
  display: none;
}
.tab-panel.is-active {
  display: block;
}

/* Profile info grid */
.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.info-card {
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 16px;
  padding: 22px;
}
.info-card__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  color: var(--navy-deep);
  margin-bottom: 4px;
}
.info-card__hint {
  font-size: 13px;
  color: #7c93a8;
  margin-bottom: 14px;
}
.field-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.field {
  flex: 1 1 200px;
}
.field label {
  display: block;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12.5px;
  color: #7c93a8;
  margin-bottom: 4px;
}
.field input {
  width: 100%;
  height: 42px;
  border-radius: 8px;
  border: 1.5px solid #d5dee6;
  padding: 0 12px;
  font-family: var(--body);
  font-size: 15px;
  color: var(--navy-deep);
}
.field input:disabled {
  background: #f3f6f9;
  color: #8aa0b3;
}
.field-note {
  font-size: 12px;
  color: #8aa0b3;
  margin-top: 4px;
}
@media (max-width: 768px) {
  .info-grid {
    grid-template-columns: 1fr;
  }
}

/* Badges */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .05em;
  font-size: 12.5px;
  color: var(--white);
  border-radius: 999px;
  padding: 4px 12px;
}
.badge i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--white);
  display: block;
}
.badge--active {
  background: var(--green);
}
.badge--suspended {
  background: var(--red-dark);
}
.badge--review {
  background: var(--navy-deep);
}
.badge--cancelled {
  background: #8aa0b3;
}

/* Subscriptions */
.sub-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.sub-count {
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 14px;
  color: #7c93a8;
}
.sub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 992px) {
  .sub-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .sub-grid {
    grid-template-columns: 1fr;
  }
}
.sub-card {
  background: var(--white);
  border: 1.5px solid #e2e9ef;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: .12s;
}
.sub-card:hover {
  border-color: var(--blue);
}
.sub-card__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub-card__ref {
  font-family: var(--display);
  font-weight: 900;
  font-size: 15px;
  color: var(--navy-deep);
}
.sub-card__meta {
  display: flex;
  gap: 18px;
  font-size: 13.5px;
  color: var(--ink);
}
.sub-card__meta b {
  display: block;
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 11.5px;
  color: #8aa0b3;
}
.sub-card__pay {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
  border-radius: 10px;
  padding: 9px 12px;
}
.sub-card__pay b {
  font-family: var(--cond);
  font-weight: 500;
  color: #8aa0b3;
  letter-spacing: .04em;
  font-size: 11px;
  display: block;
}
.sub-card__pay a {
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 12px;
  color: var(--blue);
}
.sub-card__pay a:hover {
  color: var(--red);
}
.sub-card__cta {
  align-self: flex-start;
}

/* Subscription links */
.sub-link {
  color: var(--blue);
  font-weight: 600;
  transition: .12s;
}
.sub-link:hover {
  color: var(--red);
  text-decoration: underline;
}
.sub-action-link {
  color: var(--blue);
  font-size: 14px;
  transition: .12s;
}
.sub-action-link:hover {
  color: var(--red);
}

/* Back link for drill-down pages */
.acct-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  color: var(--blue);
  margin-bottom: 20px;
  cursor: pointer;
  text-decoration: none;
}
.acct-back:hover {
  color: var(--red);
}

/* Payment page */
#payment-page-container {
  display: none;
}
#payment-page-container.is-active {
  display: block;
}
#subscriptions-main {
  display: block;
}
#subscriptions-main.is-hidden {
  display: none;
}
.payment-container {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  max-width: 1000px;
}
@media (max-width: 960px) {
  .payment-container {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .payment-summary-col {
    order: 2;
  }
  .payment-form-col {
    order: 1;
  }
}
.payment-form-col {
  display: flex;
  flex-direction: column;
}
.payment-page input[type="checkbox"],
.payment-page input[type="radio"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* Subscription drill-down */
.sub-list.is-hidden {
  display: none;
}
.sub-detail {
  display: none;
}
.sub-detail.is-active {
  display: block;
}
.sub-detail.is-hidden {
  display: none;
}
.order-detail {
  display: none;
}
.order-detail.is-active {
  display: block;
}
.order-detail.is-hidden {
  display: none;
}
.order-detail-0,
.order-detail-1 {
  display: none;
}
.order-detail-0.is-active,
.order-detail-1.is-active {
  display: block;
}
.sub-back {
  background: none;
  border: 0;
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 14px;
  color: var(--blue);
  cursor: pointer;
  margin-bottom: 18px;
}
.sub-back:hover {
  color: var(--red);
}
.sub-detail__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 26px;
}
.sub-detail__ref {
  font-family: var(--display);
  font-weight: 900;
  font-size: 22px;
  color: var(--navy-deep);
  display: flex;
  align-items: center;
  gap: 12px;
}
.sub-detail__cta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.fact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .fact-grid {
    grid-template-columns: 1fr;
  }
}
.fact-card {
  background: var(--paper);
  border-radius: 14px;
  padding: 18px;
}
.fact-card b {
  display: block;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12px;
  color: #8aa0b3;
  margin-bottom: 4px;
}
.fact-card span {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep);
}
.fact-card--locked {
  opacity: .65;
}
.fact-card--locked span {
  font-size: 14px;
  font-family: var(--body);
  font-weight: 400;
  color: #8aa0b3;
}
.detail-section {
  margin-bottom: 30px;
}
.detail-section__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep);
  margin-bottom: 12px;
}
.prop-row,
.order-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.order-row__meta {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: 14px;
  color: var(--ink);
}
.mock-note {
  font-size: 12.5px;
  color: #8aa0b3;
  font-style: italic;
  margin-top: 6px;
}
.is-disabled-pill {
  opacity: .55;
  cursor: not-allowed;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.lock-note {
  font-size: 11px;
}

/* Payments grouped sections */
.pmts-group {
  margin-bottom: 36px;
}
.pmts-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.pmts-group__name {
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  color: var(--navy-deep);
}
.pmts-group__count {
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 13px;
  color: #8aa0b3;
  margin-top: 2px;
}

/* Payments widget table — prevent column line-breaks */
[data-payments-widget] { overflow-x: auto; -webkit-overflow-scrolling: touch; }
[data-payments-widget] table { min-width: 920px; }
.SC-AccountPage [data-payments-widget] th,
.SC-AccountPage [data-payments-widget] td { white-space: nowrap !important; word-break: normal !important; }
.SC-AccountPage [data-payments-widget] td[data-th="Subscription"] { white-space: normal !important; min-width: 120px; }
@media (max-width: 640px) {
  [data-payments-widget] table { min-width: 0; }
  .SC-AccountPage [data-payments-widget] th,
  .SC-AccountPage [data-payments-widget] td { white-space: normal !important; word-break: normal !important; }
  /* Mobile card labels — extra room for long labels like "Subscription" */
  .SC-AccountPage [data-payments-widget] td::before { min-width: 130px !important; }
}

/* Order detail — Qty/term badges: match RMFS inline style (no grey box) */
.SC-AccountPage .SC-CartItem_quantity,
.SC-AccountPage .SC-CartItem_subscription-term {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-size: 14px !important;
  color: var(--ink) !important;
}
/* Hide duplicate subscription line items in order summary */
.SC-AccountPage .SC-OrderSummary_subscriptions { display: none !important; }

/* Payments table */
.acct-table {
  width: 100%;
  border-collapse: collapse;
}
.acct-table th {
  text-align: left;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12.5px;
  color: #8aa0b3;
  padding: 10px 14px;
  border-bottom: 2px solid #e2e9ef;
}
.acct-table td {
  padding: 14px;
  border-bottom: 1px solid #eef2f6;
  font-size: 14.5px;
  color: var(--ink);
}
.acct-table tr:hover td {
  background: var(--paper);
}
@media (max-width: 576px) {
  .acct-table {
    font-size: 13px;
  }
  .acct-table th {
    display: none;
  }
  .acct-table td {
    display: block;
    padding: 4px 0;
    border: none;
    text-align: left;
    font-size: 13px;
  }
  .acct-table td:before {
    content: attr(data-th);
    font-family: var(--cond);
    font-weight: 500;
    color: #8aa0b3;
    font-size: 10px;
    display: block;
    margin-bottom: 1px;
  }
  .acct-table tr {
    display: block;
    border: 1px solid #e2e9ef;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
  }
}
.tt {
  position: relative;
  cursor: help;
  border-bottom: 1px dotted #8aa0b3;
}
.tt:hover::after {
  content: attr(data-tip);
  position: absolute;
  bottom: 120%;
  left: 0;
  background: var(--navy-deep);
  color: var(--white);
  font-size: 12px;
  padding: 8px 10px;
  border-radius: 8px;
  width: 220px;
  line-height: 1.4;
  z-index: 5;
}

/* Covered properties list */
.prop-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.prop-item {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 18px;
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 10px;
  transition: .12s;
}
.prop-item:hover {
  border-color: #cfdae5;
  background: var(--paper);
}
.prop-item__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border-radius: 10px;
  background: var(--paper);
  color: var(--blue);
}
.prop-item:hover .prop-item__icon {
  background: var(--white);
}
.prop-item__icon svg {
  width: 22px;
  height: 22px;
}
.prop-item__addr {
  font-family: var(--display);
  font-weight: 900;
  font-size: 15.5px;
  color: var(--navy-deep);
}
.prop-item__meta {
  font-size: 13px;
  color: #8aa0b3;
  margin-top: 2px;
}
.prop-item__sub {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 172px;
}
.prop-item__sublabel {
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 11.5px;
  color: #8aa0b3;
}
.prop-item__none {
  font-size: 13.5px;
  color: #8aa0b3;
}
.prop-item__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .prop-item {
    grid-template-columns: auto 1fr;
    row-gap: 14px;
    column-gap: 14px;
  }
  .prop-item__sub,
  .prop-item__actions {
    grid-column: 2;
    min-width: 0;
  }
  .prop-item__sub {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }
}

/* Subscription highlight animation */
.sub-row-flash {
  animation: subFlash 2.4s ease-out 1;
}
@keyframes subFlash {
  0%, 55% {
    background: rgba(1, 90, 156, .14);
  }
  100% {
    background: transparent;
  }
}

/* Utility styles */
.pill--red-outline {
  background: transparent;
  border: 2px solid var(--red);
  color: var(--red);
}
.pill--red-outline:hover {
  background: var(--red);
  color: var(--white);
}
.order-summary {
  background: var(--paper);
  border-radius: 10px;
  padding: 18px;
  text-align: right;
}

/* ==========================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 1200px) {
  .main-nav { gap: 20px; }
  .main-nav a:not(.pill) { font-size: 18px; }
  .nav-band .SC-Menu.tier1 { gap: 20px; }
  .nav-band .SC-Menu_link { font-size: 17px !important; }
}

@media (max-width: 992px) {
  .main-nav { gap: 14px; }
  .main-nav a:not(.pill) { font-size: 16px; }
  .nav-band .SC-Menu.tier1 { gap: 14px; }
  .nav-band .SC-Menu_link { font-size: 15px !important; }
  .utility-bar__inner { gap: 18px; }
  .utility-link { font-size: 14px; }
  .utility-link__icon { width: 20px; height: 20px; }
  .site-footer__top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  /* Nav: hide desktop, show hamburger */
  .main-nav   { display: none; }
  .nav-toggle { display: flex; }
  .nav-band   { z-index: 40; }
  .nav-band__inner { position: relative; }

  /* SC mobile menu — styled via is-active class added by SC's menu.js on hamburger click */
  .nav-band .SC-Menu.tier1 { display: none !important; }
  .nav-band .SC-Menu.tier1.is-active {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: var(--navy) !important;
    border-top: 3px solid var(--blue-mid) !important;
    box-shadow: 0 18px 34px rgba(8,37,57,.34) !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 12px 24px 16px !important;
    list-style: none !important;
    margin: 0 !important;
    z-index: 50 !important;
  }
  /* Links inside the open mobile nav */
  .nav-band .SC-Menu.tier1.is-active > .SC-Menu_item > .SC-Menu_link {
    display: block !important;
    font-family: var(--cond) !important;
    font-weight: 500 !important;
    font-size: 17px !important;
    letter-spacing: .05em !important;
    color: var(--white) !important;
    padding: 13px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    background: none !important;
    text-decoration: none !important;
    width: 100% !important;
  }
  .nav-band .SC-Menu.tier1.is-active > .SC-Menu_item > .SC-Menu_link:hover,
  .nav-band .SC-Menu.tier1.is-active > .SC-Menu_item > .SC-Menu_link:focus {
    color: var(--gold) !important;
  }
  /* Tier2 inside mobile — always visible, indented */
  .nav-band .SC-Menu.tier1.is-active .SC-Menu.tier2 {
    display: block !important;
    padding-left: 16px !important;
    list-style: none !important;
    margin: 0 !important;
  }
  .nav-band .SC-Menu.tier1.is-active .SC-Menu.tier2 .SC-Menu_link {
    font-size: 14px !important;
    color: rgba(255,255,255,.65) !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }

  /* Mobile nav: plain tags rebuilt by JS — no SC classes, no SC popup hooks */
  .mobile-nav__link {
    font-family: var(--cond);
    font-weight: 500;
    font-size: 17px;
    letter-spacing: .05em;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 13px 0;
    border: none;
    border-bottom: 1px solid rgba(255,255,255,.12);
    background: none;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    transition: color .12s;
  }
  .mobile-nav__link:hover { color: var(--gold); }

  /* Chevron on collapsible toggles */
  .mobile-nav__chev {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: transform .2s;
  }
  .mobile-nav__toggle[aria-expanded="true"] .mobile-nav__chev { transform: rotate(180deg); }

  /* Collapsible group wrapper */
  .mobile-nav__group { display: block; }
  .mobile-nav__children { padding-bottom: 4px; }

  .mobile-nav__child {
    font-family: var(--cond);
    font-size: 14px;
    color: rgba(255,255,255,.65);
    display: block;
    padding: 9px 0 9px 16px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    text-decoration: none;
    transition: color .12s;
  }
  .mobile-nav__child:hover { color: var(--gold); }
  .mobile-nav__child:last-child { border-bottom: none; }

  /* Utility bar: centered layout */
  .utility-bar__inner { height: auto; padding: 6px 0; gap: 16px; justify-content: center; }
  .utility-link { font-size: 16px; min-height: 44px; gap: 10px; }
  .utility-link__icon { width: 24px; height: 24px; }
  .utility-link--careers { display: none; }
  .utility-strip { height: 6px; }

  .SC-AccountPage .sub-grid { grid-template-columns: repeat(2, 1fr); }
  .SC-AccountPage .info-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .SC-AccountPage .sub-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .section { padding: 60px 0; }
  .pill--lg { font-size: 18px; height: 54px; padding: 0 28px; }
  .nav-band__inner { min-height: 80px; }
  .logo img { width: 160px; }
}

@media (max-width: 576px) {
  .utility-bar__inner { height: auto; padding: 6px 0; gap: 10px 20px; flex-wrap: wrap; justify-content: center; }
  .utility-link { font-size: 16px; gap: 8px; letter-spacing: .04em; min-height: 44px; }
  .utility-link__icon { width: 24px; height: 24px; }
  .utility-link--contact { display: none; }
  .login-chip__chev { width: 12px; height: 12px; margin-left: 0; }
  .utility-strip { height: 4px; }

  /* Hero heading — scale down on mobile, prevent cut-off */
  .SC-Banner_heading { font-size: clamp(30px, 8vw, 42px) !important; word-break: break-word !important; overflow-wrap: break-word !important; }
  /* Subtitle ("Since 1948") — keep smaller than the heading */
  .SC-Banner_heading { margin-bottom: 0 !important; }
  .SC-Banner_subheading { font-size: 28px !important; margin-top: 4px !important; }
}

/* ===== BEGIN component library — ported from site.css 2026-09-15 ===== */
/* site.css defines this token; the store :root above does not. */
:root{--radius-card:6px}
.ph{display:flex;align-items:center;justify-content:center;text-align:center; background:repeating-linear-gradient(45deg,#e9eef3,#e9eef3 14px,#eff3f7 14px,#eff3f7 28px); color:#7c93a8;font-family:var(--cond);font-weight:500;letter-spacing:.1em;font-size:15px; border:1px solid #d5dee6;border-radius:var(--radius-card);min-height:220px;padding:20px}
.ph--hero{min-height:520px;border-radius:0;border:0}
.pill__icon{height:1.25em;width:auto;flex:0 0 auto}
.hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero--short{min-height:440px}
.hero__img{position:absolute;inset:0}
.hero__img .ph{height:100%;border-radius:0;border:0}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,37,57,.92) 0%,rgba(14,37,57,.55) 100%)}
.hero__content{position:relative;padding:72px 24px}
.hero__headline{font-family:var(--display);font-weight:900;font-size:clamp(34px,4.6vw,60px);line-height:1.1;color:var(--white);margin-bottom:20px}
.hero__sub{color:var(--white);font-size:19px;max-width:56ch;margin-bottom:34px}
.hero__ctas{display:flex;gap:18px;flex-wrap:wrap}
.crumb{background:var(--paper);border-bottom:1px solid #e2e9ef}
.crumb__inner{padding:14px 0;font-family:var(--cond);font-weight:500;letter-spacing:.05em;font-size:15px;color:var(--ink)}
.crumb a:hover{color:var(--red)}
.crumb span{color:var(--gold-dark)}
.paths__grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.path-card{display:block;position:relative;overflow:hidden;border-radius:var(--radius-card);min-height:420px;color:var(--white); box-shadow:0 6px 20px rgba(8,37,57,.14);transition:box-shadow .18s,transform .18s}
.path-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,37,57,.28)}
.path-card__img{position:absolute;inset:0}
.path-card__img .media{width:100%;height:100%;object-fit:cover}
.path-card__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,37,57,.96) 0%,rgba(8,37,57,.78) 42%,rgba(8,37,57,.35) 100%)}
.path-card__body{position:relative;z-index:2;display:flex;flex-direction:column;gap:16px;padding:48px 44px 44px;min-height:420px;justify-content:flex-end}
.path-card__title{font-family:var(--display);font-weight:900;font-size:clamp(26px,2.6vw,34px);line-height:1.12}
.path-card__copy{font-size:16px;color:rgba(255,255,255,.88)}
.path-card__cta{margin-top:4px;align-self:flex-start}
.proof{position:relative;overflow:hidden;background:var(--navy);padding:80px 0 64px}
.proof__img{position:absolute;inset:0}
.proof__img .ph{height:100%;border-radius:0;border:0}
.proof__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,37,57,.94),rgba(14,37,57,.9))}
.proof>.shell{position:relative}
.proof__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;margin-bottom:52px;list-style:none}
.proof__num{display:block;font-family:var(--display);font-weight:900;font-size:clamp(44px,5vw,64px);line-height:1;color:var(--gold);margin-bottom:10px}
.proof__label{font-family:var(--cond);font-weight:500;font-size:20px;letter-spacing:.08em;color:var(--white)}
.proof__marquee{overflow:hidden;position:relative;max-width:920px;margin:0 auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.proof__track{display:flex;gap:24px;width:max-content;animation:logo-scroll 32s linear infinite}
.proof__marquee:hover .proof__track{animation-play-state:paused}
.proof__chip{display:flex;align-items:center;justify-content:center;height:78px;min-width:180px;padding:0 30px;background:var(--white);border-radius:var(--radius-card);flex:0 0 auto;box-shadow:0 3px 12px rgba(8,37,57,.10)}
.proof__chip img{max-height:42px;width:auto;max-width:150px}
@media(prefers-reduced-motion:reduce){
  .proof__track{flex-wrap:wrap;width:auto;justify-content:center}
  .proof__marquee{-webkit-mask-image:none;mask-image:none}
}
.split{scroll-margin-top:28px;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.split--flip .split__media{order:-1}
.split__text p:not(.lead-in){margin-bottom:18px;max-width:58ch}
.section--navy .split__text p{color:rgba(255,255,255,.9)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--white);border:1px solid #e2e9ef;border-radius:var(--radius-card);padding:32px; box-shadow:0 4px 14px rgba(8,37,57,.08);transition:box-shadow .18s,transform .18s,border-color .18s}
.section--paper .card{background:var(--white)}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(8,37,57,.12)}
.card__kicker{font-family:var(--cond);font-weight:500;font-size:14px;letter-spacing:.1em;color:var(--gold-dark);margin-bottom:10px}
.card__title{font-family:var(--display);font-weight:900;font-size:21px;color:var(--navy-deep);margin-bottom:10px}
.card__copy{font-size:15px;color:var(--ink)}
.card--dark .card__title{color:#fff}
.card--dark .card__copy{color:rgba(255,255,255,.82)}
.obj{list-style:none;display:grid;gap:16px}
.obj li{background:var(--white);border:1px solid #e2e9ef;border-left:5px solid var(--gold);border-radius:var(--radius-card);padding:22px 26px}
.obj strong{font-family:var(--display);font-weight:900;color:var(--navy-deep);display:block;margin-bottom:6px;font-size:18px}
.obj span{color:var(--ink);font-size:15px}
.callout{background:#eef3f7;border:1px solid #d5dee6;border-radius:16px;padding:22px 26px;font-size:15px;color:var(--ink)}
.callout strong{color:var(--navy-deep)}
.tool-card{background:var(--navy-deep);border-radius:var(--radius-card);padding:56px;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center; box-shadow:0 8px 26px rgba(8,37,57,.16)}
.tool-card--half .tool-card__title{font-size:clamp(20px,2vw,24px)}
.tool-card__title{font-family:var(--display);font-weight:900;font-size:clamp(24px,2.6vw,32px);line-height:1.15;color:var(--white);margin-bottom:10px}
.tool-card__sub{font-family:var(--cond);font-weight:500;font-size:17px;letter-spacing:.08em;color:var(--gold);margin-bottom:16px}
.tool-card__copy{color:rgba(255,255,255,.85);font-size:16px;max-width:52ch}
.tool-card__actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.tool-card__alt{font-family:var(--cond);font-weight:500;font-size:17px;color:var(--gold);border-bottom:2px solid transparent}
.tool-card__alt:hover{border-bottom-color:var(--gold)}
.assess{max-width:840px;margin:0 auto}
.assess__progress{height:10px;border-radius:6px;background:#e2e9ef;overflow:hidden;margin-bottom:10px}
.assess__progress i{display:block;height:100%;background:var(--gold);border-radius:6px}
.assess__step{font-family:var(--cond);font-weight:500;letter-spacing:.06em;color:var(--ink);font-size:15px;margin-bottom:28px}
.q{background:var(--white);border:1px solid #e2e9ef;border-radius:18px;padding:26px;margin-bottom:18px}
.q__text{font-family:var(--display);font-weight:900;font-size:19px;color:var(--navy-deep);margin-bottom:6px}
.q__eg{font-size:14px;color:#7c93a8;margin-bottom:16px}
.scale{display:flex;gap:8px;flex-wrap:wrap}
.scale button{width:46px;height:46px;border-radius:12px;border:2px solid #d5dee6;background:#fff;font-family:var(--display);font-weight:900;font-size:17px;color:var(--navy-deep);cursor:pointer;transition:.12s}
.scale button:hover{border-color:var(--gold)}
.scale button.sel{background:var(--gold);border-color:var(--gold);color:#fff}
.result{background:var(--navy-deep);border-radius:var(--radius-card);padding:36px;color:#fff;text-align:center}
.result__tier{font-family:var(--cond);letter-spacing:.1em;color:var(--gold);font-size:16px}
.result__score{font-family:var(--display);font-weight:900;font-size:56px;line-height:1;margin:8px 0}
.result__bar{height:14px;border-radius:8px;background:#12314b;overflow:hidden;margin:20px 0}
.result__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--gold))}
.gate{background:var(--white);border:2px solid var(--gold);border-radius:var(--radius-card);padding:32px;margin-top:24px;text-align:center}
.gate input{height:48px;border-radius:999px;border:2px solid #d5dee6;padding:0 22px;font-size:16px;font-family:var(--body);min-width:280px;flex:1 1 280px}
.gate__row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.tier{border-radius:16px;padding:20px;text-align:center;color:#fff}
.tier b{display:block;font-family:var(--display);font-weight:900;font-size:16px;margin-bottom:4px}
.tier span{font-size:13px;opacity:.9}
.conversion{position:relative;overflow:hidden;background:var(--navy);display:flex;align-items:center;min-height:420px}
.conversion__img{position:absolute;inset:0}
.conversion__img .ph{height:100%;border-radius:0;border:0}
.conversion__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,37,57,1),rgba(39,103,159,.45))}
.conversion__content{position:relative;text-align:center;padding:80px 24px;width:100%}
.conversion__headline{font-family:var(--display);font-weight:900;font-size:clamp(30px,4vw,46px);color:#fff;line-height:1.1;margin-bottom:16px}
.conversion__sub{color:#fff;max-width:52ch;margin:0 auto 34px}
.conversion__ctas{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.map-wrap{position:relative;border-radius:var(--radius-card);overflow:hidden;border:1px solid #d5dee6}
.map-legend{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px}
.map-legend span{display:inline-flex;align-items:center;gap:8px;font-family:var(--cond);letter-spacing:.05em;font-size:15px;color:var(--ink)}
.map-legend i{width:14px;height:14px;border-radius:50%}
.dot-red{background:var(--red)}
.dot-gold{background:var(--gold)}
.dot-blue{background:var(--blue)}
@media(max-width:992px){
  .paths__grid,.split,.tool-card,.qa{grid-template-columns:1fr}
  .split--flip .split__media{order:0}
  .cards,.cards--4{grid-template-columns:repeat(2,1fr)}
  .proof__stats{grid-template-columns:repeat(2,1fr);row-gap:36px}
  .tiers{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .hero__ctas{gap:12px}
}
@media(max-width:576px){
  .cards,.cards--2,.cards--4,.tiers{grid-template-columns:1fr}
  .hero{min-height:520px}
  .hero__ctas{gap:10px}
  .path-card__body,.tool-card,.coverage-card{padding:36px 28px}
  .path-card__body{min-height:340px}
  .proof__stats{grid-template-columns:repeat(2,1fr)}
}
.media{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.hero__img .media,.conversion__img .media,.proof__img .media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.split__media .media,.map-wrap .media{border-radius:inherit}
figure.split__media{border-radius:var(--radius-card);overflow:hidden}
.split__media.is-photo{min-height:340px;position:relative}
.card--photo img.media{position:absolute;inset:0;z-index:0}
.card--photo .card__title{color:#fff}
.card--photo .card__copy{color:rgba(255,255,255,.9)}
.card--photo .card__kicker{color:var(--gold)}
.chief-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.chief{text-align:center}
.chief img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-card);margin-bottom:14px;background:#e9eef3}
.chief b{display:block;font-family:var(--display);font-size:17px;color:var(--navy-deep)}
.chief span{font-family:var(--cond);letter-spacing:.05em;font-size:14px;color:var(--gold-dark)}
@media(max-width:1000px){
  .chief-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .chief-grid{grid-template-columns:1fr 1fr}
}
video.media{background:var(--navy)}
.qa-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px}
.qa-card{position:relative;display:block;overflow:hidden;border-radius:var(--radius-card);min-height:280px;color:#fff; box-shadow:0 6px 20px rgba(8,37,57,.14);transition:box-shadow .18s,transform .18s}
.qa-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,37,57,.24)}
.qa-card__img{position:absolute;inset:0}
.qa-card__img .media{width:100%;height:100%;object-fit:cover}
.qa-card__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,37,57,.95) 0%,rgba(8,37,57,.75) 45%,rgba(8,37,57,.3) 100%)}
.qa-card__body{position:relative;z-index:2;padding:32px;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px}
.qa-card__q{font-family:var(--display);font-weight:900;font-size:26px}
.qa-card__copy{font-size:15px;color:rgba(255,255,255,.88)}
.subsection-label{font-family:var(--cond);letter-spacing:.1em;font-size:14px;color:var(--blue);margin-bottom:16px}
.obj-accordion{display:grid;gap:12px}
.obj-item{background:#fff;border:1px solid #e2e9ef;border-left:5px solid var(--blue);border-radius:14px;padding:0;overflow:hidden}
.obj-item summary{list-style:none;cursor:pointer;padding:20px 26px;font-family:var(--display);font-weight:900;color:var(--navy-deep);font-size:17px;position:relative;padding-right:50px}
.obj-item summary::-webkit-details-marker{display:none}
.obj-item summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-family:var(--body);font-weight:400;font-size:22px;color:var(--blue);transition:transform .15s}
.obj-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.obj-item p{padding:0 26px 22px;color:var(--ink);font-size:15px;margin:0}
@media(max-width:900px){
  .qa-cards{grid-template-columns:1fr}
}
.rt-calc{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-card);padding:32px}
.rt-calc__row label{display:block;font-family:var(--cond);letter-spacing:.04em;font-size:15px;color:rgba(255,255,255,.85);margin-bottom:12px}
.rt-calc__row label b{color:var(--sky);font-family:var(--display)}
.rt-calc__row input[type="range"]{width:100%;margin-bottom:26px}
.rt-calc__bar-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.rt-calc__bar-label{font-family:var(--cond);letter-spacing:.04em;font-size:13px;color:rgba(255,255,255,.7);width:120px;flex:0 0 auto}
.rt-calc__bar-track{flex:1;height:14px;border-radius:8px;background:rgba(255,255,255,.12);overflow:hidden}
.rt-calc__bar{height:100%;border-radius:8px;transition:width .2s ease}
.rt-calc__bar--muni{background:var(--red)}
.rt-calc__bar--rmf{background:var(--sky)}
.rt-calc__bar-time{font-family:var(--display);font-weight:900;font-size:14px;color:#fff;width:60px;flex:0 0 auto;text-align:right}
.rt-calc__result{margin-top:18px;font-size:15px;color:rgba(255,255,255,.88)}
.rt-calc__result strong{color:var(--sky);font-family:var(--display);font-size:18px}
.related-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related-nav__item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e2e9ef;border-radius:var(--radius-card);padding:18px 22px;font-family:var(--display);font-weight:900;font-size:16px;color:var(--navy-deep); box-shadow:0 3px 10px rgba(8,37,57,.07);transition:box-shadow .18s,transform .18s,border-color .18s}
.related-nav__item:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,37,57,.1)}
.related-nav__arrow{color:var(--blue);font-size:18px;flex:0 0 auto}
@media(max-width:760px){
  .related-nav{grid-template-columns:1fr}
}
.caps{background:#fff;padding:80px 0 84px;border-top:1px solid #e3eaf1}
.shell--wide{max-width:1420px}
.caps__hd{max-width:760px;margin:0 auto 48px;text-align:center}
.caps__headline{font-family:var(--display);font-weight:900;font-size:clamp(26px,3vw,44px);color:var(--navy-deep);line-height:1.02;margin:0 0 14px}
.caps__sub{font-size:17px;line-height:1.7;color:var(--ink);margin:0}
.caps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:1120px){
  .caps__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .caps__grid{grid-template-columns:1fr}
}
.cap{position:relative;aspect-ratio:2/1;min-height:212px;border-radius:var(--radius-card);overflow:hidden; background:var(--navy-deep);cursor:pointer;border:0;padding:0;width:100%;text-align:left; display:block;font:inherit;color:#fff}
.cap__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block; transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.cap.is-open .cap__bg{transform:scale(1.06)}
.cap__scrim{position:absolute;inset:0;transition:background .35s ease; background:linear-gradient(0deg,rgba(4,16,26,.52) 0%,rgba(4,16,26,.16) 50%,rgba(4,16,26,.02) 100%)}
.cap.is-open .cap__scrim{background:linear-gradient(0deg,rgba(4,16,26,.80) 0%,rgba(4,16,26,.56) 54%,rgba(4,16,26,.38) 100%)}
.cap__plate{position:absolute;left:0;right:0;bottom:0;z-index:2;overflow:hidden}
.cap__head{position:relative;z-index:1;display:flex;align-items:center;min-height:56px; background:var(--blue);padding:14px 20px;border-bottom:3px solid var(--gold); transition:background .3s ease}
.cap.is-open .cap__head{background:#015a9c}
.cap__title{flex:1;min-width:0;display:block;font-family:var(--display);font-weight:900; font-size:clamp(15px,1.3vw,18px);line-height:1.14;color:#fff;letter-spacing:.01em}
.cap__chev{display:none;flex-shrink:0;margin-left:12px;width:28px;height:28px;border-radius:999px; background:rgba(255,255,255,.18);align-items:center;justify-content:center; transition:transform .35s cubic-bezier(.22,.61,.36,1),background .2s ease}
.cap__chev svg{width:15px;height:15px;color:#fff}
.cap.is-open .cap__chev{transform:rotate(180deg);background:rgba(255,255,255,.32)}
@media(hover:none),(max-width:700px){
  .cap__chev{display:flex}
}
@media(prefers-reduced-motion:reduce){
  .cap__chev{transition:none}
}
.cap__reveal{display:grid;grid-template-rows:0fr;background:rgba(6,20,32,.62); -webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15); transition:grid-template-rows .42s cubic-bezier(.22,.61,.36,1)}
.cap.is-open .cap__reveal{grid-template-rows:1fr}
@media(hover:hover) and (min-width:701px){
  .cap:hover .cap__bg,.cap:focus-visible .cap__bg{transform:scale(1.06)}
  .cap:hover .cap__scrim,.cap:focus-visible .cap__scrim{background:linear-gradient(0deg,rgba(4,16,26,.80) 0%,rgba(4,16,26,.56) 54%,rgba(4,16,26,.38) 100%)}
  .cap:hover .cap__head,.cap:focus-visible .cap__head{background:#015a9c}
  .cap:hover .cap__reveal,.cap:focus-visible .cap__reveal{grid-template-rows:1fr}
}
.cap__reveal-in{overflow:hidden;min-height:0}
.cap__pad{display:flex;align-items:flex-start;gap:14px;padding:14px 18px 16px}
.cap__icon{width:56px;height:56px;flex-shrink:0;margin-top:2px}
@media(max-width:640px){
  .cap__icon{width:48px;height:48px}
}
.cap__txt{display:block;min-width:0}
.cap__ask{display:block;font-size:14.5px;line-height:1.4;color:#fff;font-style:italic}
.cap__copy{display:block;font-size:13.5px;line-height:1.52;color:rgba(255,255,255,.90);margin:6px 0 0}
.cap:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .cap__bg,.cap__scrim,.cap__reveal,.cap__head{transition:none}
  .cap:hover .cap__bg,.cap.is-open .cap__bg{transform:none}
}
.sit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sit-grid--2{grid-template-columns:repeat(2,1fr)}
.sit-grid--2 .sit-card,.sit-grid--2 .sit-card__body{min-height:380px}
@media(max-width:900px){
  .sit-grid{grid-template-columns:1fr}
}
.sit-card{position:relative;display:block;overflow:hidden;border-radius:var(--radius-card);min-height:330px;color:#fff; box-shadow:0 6px 20px rgba(8,37,57,.16);transition:box-shadow .18s,transform .18s}
.sit-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(8,37,57,.30)}
.sit-card__img{position:absolute;inset:0}
.sit-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.sit-card:hover .sit-card__img img{transform:scale(1.05)}
.sit-card__scrim{position:absolute;inset:0; background:linear-gradient(0deg,rgba(4,16,26,.94) 0%,rgba(4,16,26,.74) 44%,rgba(4,16,26,.30) 100%)}
.sit-card__body{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end; gap:13px;padding:30px 26px 28px;min-height:330px}
.sit-card__icon{width:46px;height:46px}
.sit-card__title{font-family:var(--display);font-weight:900;font-size:clamp(19px,1.7vw,23px);line-height:1.12}
.sit-card__copy{font-size:15px;line-height:1.55;color:rgba(255,255,255,.86)}
@media(prefers-reduced-motion:reduce){
  .sit-card:hover{transform:none}
  .sit-card:hover .sit-card__img img{transform:none}
}
.sr-h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0 0 0 0);white-space:nowrap;border:0}
.res-news__txt{display:block;min-width:0}
.offramp{margin-top:46px;padding:32px 36px 30px;background:var(--paper);border:1px solid #e3eaf1; border-radius:var(--radius-card);text-align:center}
.caps .offramp{background:var(--paper)}
.offramp__q{font-family:var(--display);font-weight:900;font-size:clamp(19px,1.9vw,25px); color:var(--navy-deep);line-height:1.1;margin:0 0 9px}
.offramp__sub{font-size:15.5px;line-height:1.6;color:var(--ink);margin:0 auto 22px;max-width:58ch}
.offramp__row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.offramp__alt{margin:20px 0 0;font-size:14.5px;color:var(--ink)}
.offramp__alt a{color:var(--red);border-bottom:1px solid rgba(211,47,29,.35);padding-bottom:1px}
.offramp__alt a:hover{border-bottom-color:var(--red)}
@media(max-width:600px){
  .offramp{padding:26px 20px 24px}
}
.bcard{max-width:560px;margin:0 auto;background:#fff;border:1px solid #e3eaf1; border-radius:var(--radius-card);box-shadow:0 4px 22px rgba(8,37,57,.09);padding:26px 28px 24px}
.bcard__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.bcard__eyebrow{display:flex;align-items:center;gap:9px;font-family:var(--cond);font-weight:700; letter-spacing:.09em;font-size:11px;text-transform:uppercase;color:#7c93a8}
.bcard__eyebrow img{width:18px;height:18px;opacity:.75}
.bcard__select{font-family:var(--body);font-size:12.5px;color:var(--navy-deep);background:#f7f9fb; border:1px solid #dde5ec;border-radius:5px;padding:6px 9px;cursor:pointer}
.bcard__metric{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:end;margin-bottom:26px}
.bcard__num{font-family:var(--display);font-weight:900;font-size:52px;line-height:.92; letter-spacing:-.02em;color:var(--navy-deep)}
.bcard__num sup{font-family:var(--body);font-weight:600;font-size:16px;color:#7c93a8; vertical-align:super;margin-left:3px;letter-spacing:0}
.bcard__delta{font-size:12.5px;font-weight:600;color:var(--red);margin-top:7px}
.bcard__track{position:relative;height:8px;border-radius:999px;background:#eef2f6}
.bcard__fill{position:absolute;left:0;top:0;height:8px;border-radius:999px;background:var(--navy-deep); transition:width .6s cubic-bezier(.22,.61,.36,1)}
.bcard__tick{position:absolute;top:-5px;width:2px;height:18px;background:var(--navy-deep); transition:left .6s cubic-bezier(.22,.61,.36,1)}
.bcard__scaleRow{display:flex;justify-content:space-between;margin-top:9px;font-size:11.5px;color:#7c93a8}
.bcard__sect{font-family:var(--cond);font-weight:700;letter-spacing:.08em;font-size:11px; text-transform:uppercase;color:var(--navy-deep);margin:0 0 12px}
.bcard__rows{display:flex;flex-direction:column;gap:11px;margin-bottom:26px}
.bcard__row{display:flex;align-items:center;gap:11px}
.bcard__row img{width:19px;height:19px;opacity:.7;flex-shrink:0}
.bcard__row-name{flex:1;font-size:14.5px;color:var(--ink)}
.bcard__row-val{font-size:14.5px;font-weight:700;color:var(--navy-deep);font-variant-numeric:tabular-nums}
.bcard__row--hi .bcard__row-name{color:var(--navy-deep);font-weight:600}
.bcard__bands{position:relative;display:flex;height:8px;border-radius:999px;overflow:hidden}
.bcard__bands span{height:8px}
.bcard__pin{position:absolute;top:-4px;width:16px;height:16px;border-radius:999px;border:3px solid #fff; box-shadow:0 1px 5px rgba(8,37,57,.4);transition:left .6s cubic-bezier(.22,.61,.36,1);transform:translateX(-50%)}
.bcard__pinwrap{position:relative;height:8px}
.bcard__foot{display:flex;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid #eef2f6}
.bcard__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px; border-radius:5px;border:1px solid #dde5ec;background:#fff;font-family:var(--cond);font-weight:700; letter-spacing:.06em;font-size:12px;text-transform:uppercase;color:var(--navy-deep);cursor:pointer;transition:.15s}
.bcard__btn:hover{background:var(--navy-deep);border-color:var(--navy-deep);color:#fff}
.bcard__btn--primary{background:var(--red);border-color:var(--red);color:#fff}
.bcard__btn--primary:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff}
@media(max-width:560px){
  .bcard{padding:22px 18px}
  .bcard__metric{grid-template-columns:1fr;gap:18px}
  .bcard__num{font-size:44px}
}
@media(prefers-reduced-motion:reduce){
  .bcard__fill,.bcard__tick,.bcard__pin{transition:none}
}

/* --- keyframes used by the above --- */
@keyframes logo-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-25%)}
}
/* ===== END component library ===== */
/* ==========================================================================
   Rural Metro Fire — Theme Supplement CSS
   Loaded via {{ theme_supplement_stylesheet }} in layouts/theme.liquid.
   All custom classes use the mockup's established naming system.
   SC base classes (sc-*, SC-*) are overridden only where necessary.
   ========================================================================== */

/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root {
  --navy:       #0e2539;
  --navy-deep:  #082539;
  --blue:       #0165ae;
  --blue-mid:   #0f437d;
  --red:        #d32f1d;
  --red-dark:   #b32617;
  --gold:       #e29d4c;
  --gold-dark:  #c9853a;
  --sky:        #72afe2;
  --white:      #fff;
  --paper:      #f7f9fb;
  --ink:        #33475b;
  --green:      #1f8a5b;

  --display: "univers-next-pro", "Gotham", Helvetica, Arial, sans-serif;
  --cond:    "univers-next-pro-compressed", "Gotham", Helvetica, Arial, sans-serif;
  --body:    "proxima-nova", "Gotham", Helvetica, Arial, sans-serif;

  --shell: 1196px;
}

/* ==========================================================================
   2. GLOBAL RESETS (scoped to not break SC form/checkout classes)
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--navy-deep);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}

a { text-decoration: none; color: inherit; }

/* Base theme sets svg { fill: currentColor } globally — override for all stroke-based icons */
svg[stroke] { fill: none !important; }
img { display: block; max-width: 100%; }

/* ==========================================================================
   3. LAYOUT SHELL
   ========================================================================== */
.shell {
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 24px;
}

.section { padding: 88px 0; }
.section--paper { background: var(--paper); }
.section--navy  { background: var(--navy); color: var(--white); }

/* ==========================================================================
   4. TYPOGRAPHY HELPERS
   ========================================================================== */
.lead-in {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 26px;
  color: var(--gold);
  margin-bottom: 8px;
}

.section-heading {
  font-family: var(--display);
  font-weight: 900;
  font-size: clamp(28px, 3.4vw, 40px);
  line-height: 1.12;
  color: var(--navy-deep);
  margin-bottom: 24px;
}

.section--navy .section-heading { color: var(--white); }

h1, h2, h3, h4 {
  font-family: var(--display);
  font-weight: 900;
  line-height: 1.12;
}

p.big {
  font-size: 19px;
  color: var(--ink);
  max-width: 62ch;
}

.section--navy p.big { color: rgba(255,255,255,.9); }

/* ==========================================================================
   5. FOCUS / ACCESSIBILITY
   ========================================================================== */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000;
}
.skip-link:focus {
  left: 0;
  padding: 0.5rem 1rem;
  background: var(--white);
  color: var(--navy-deep);
  outline: 2px solid currentColor;
}

:focus-visible {
  outline: 3px solid var(--sky);
  outline-offset: 2px;
}

/* ==========================================================================
   6. PILLS (CTAs)
   ========================================================================== */
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--display);
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  color: var(--white);
  height: 48px;
  padding: 0 28px;
  border-radius: 999px;
  white-space: nowrap;
  transition: background .15s, border-color .15s;
  border: 2px solid transparent;
  cursor: pointer;
}

.pill--sm  { font-size: 15px; height: 38px; padding: 0 22px; }
.pill--lg  { font-size: 22px; height: 60px; padding: 0 38px; }

.pill--red          { background: var(--red); border-color: var(--red); color: #fff !important; }
.pill--red:hover    { background: var(--red-dark); border-color: var(--red-dark); color: #fff !important; }
a.pill--red, a.pill--red:visited, a.pill--red:active, a.pill--red:hover { color: #fff !important; }

/* Self-contained account action button — does not depend on base-theme pill classes */
.rmf-acct-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 18px;
  border-radius: 999px;
  border: 2px solid var(--red);
  background: var(--red);
  color: #fff !important;
  font-family: var(--cond);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .04em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  line-height: 1;
}
.rmf-acct-btn:hover, .rmf-acct-btn:active { background: var(--red-dark); border-color: var(--red-dark); color: #fff !important; }

.pill--gold         { background: var(--gold); border-color: var(--gold); }
.pill--gold:hover   { background: var(--gold-dark); border-color: var(--gold-dark); }

.pill--ghost-white  { background: transparent; border-color: var(--white); }
.pill--ghost-white:hover { background: rgba(255,255,255,.14); }

.pill--ghost-navy   { background: transparent; border-color: var(--blue-mid); color: var(--blue-mid); }
.pill--ghost-navy:hover { background: rgba(15,67,125,.08); }

.pill svg { width: 14px; height: 14px; }

/* ==========================================================================
   7. HEADER
   ========================================================================== */

/* -- Utility bar (blue top strip) -- */
.utility-bar {
  position: relative;
  z-index: 60;
  background: var(--blue);
}

.utility-bar__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 34px;
  height: 52px;
}

.utility-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--cond);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .08em;
  color: var(--white);
  transition: color .15s;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 8px 0;
  min-height: 44px;
}
.utility-link:hover { color: var(--gold); }
.utility-link__icon { width: 22px; height: 22px; flex: 0 0 auto; }

/* -- Login chip + popover -- */
.login-chip { position: relative; }

.login-chip__chev {
  width: 13px;
  height: 13px;
  margin-left: 2px;
  flex: 0 0 auto;
  transition: transform .15s;
}

#login-trigger[aria-expanded="true"] { color: var(--gold); }
#login-trigger[aria-expanded="true"] .login-chip__chev { transform: rotate(180deg); }

.login-popover {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 10px;
  width: 280px;
  background: var(--navy);
  border-radius: 14px;
  box-shadow: 0 20px 46px rgba(8,37,57,.34);
  border-top: 3px solid var(--gold);
  padding: 22px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .16s, transform .16s, visibility .16s;
  z-index: 70;
}

.login-popover.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.login-popover .field { margin-bottom: 12px; }

.login-popover .field label {
  display: block;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .06em;
  font-size: 12px;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin-bottom: 5px;
}

.login-popover .field input {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1.5px solid #26506b;
  background: #12324a;
  color: var(--white);
  font-family: var(--body);
  font-size: 14.5px;
}

.login-popover .field input::placeholder { color: #7fa0b8; }
.login-popover .field input:focus { outline: none; border-color: var(--gold); }

.pill--fullwidth { width: 100%; margin-bottom: 10px; justify-content: center; }

.login-popover .text-link {
  display: block;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 13.5px;
  color: var(--gold);
  text-align: center;
}
.login-popover .text-link:hover { text-decoration: underline; }

.login-popover__divider {
  height: 1px;
  background: rgba(255,255,255,.14);
  margin: 16px 0 12px;
}

.login-popover__foot {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  text-align: center;
  margin: 0;
}
.login-popover__foot a { color: var(--gold); }

@media (max-width: 480px) {
  .login-popover { width: min(300px, 92vw); left: -8px; }
}

/* -- Divider strip -- */
.utility-strip {
  height: 16px;
  background: var(--blue-mid);
}

/* -- Sticky header wrapper -- */
.rmf-header {
  position: sticky;
  top: 0;
  z-index: 200;
}

/* -- Nav band (navy logo + menu) -- */
.nav-band {
  background: var(--navy);
  position: relative;
}

.nav-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 112px;
  padding: 14px 0;
}

.logo img {
  width: 220px;
  max-width: 56vw;
  height: auto;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}

.main-nav a:not(.pill) {
  font-family: var(--display);
  font-weight: 500;
  font-size: 18px;
  letter-spacing: .04em;
  color: var(--white);
  padding: 6px 0;
  border-bottom: 3px solid transparent;
  transition: color .15s, border-color .15s;
}

.main-nav a:not(.pill):hover,
.main-nav a.is-active:not(.pill) {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

/* -- SC CMS menu inside nav band -- */
.nav-band .SC-Menu.tier1 {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-band .SC-Menu_link {
  font-family: var(--display) !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  letter-spacing: .04em !important;
  color: var(--white) !important;
  padding: 6px 0 !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  transition: color .15s, border-color .15s;
  background: none !important;
  box-shadow: none !important;
  cursor: pointer;
  text-decoration: none !important;
}

.nav-band .SC-Menu_link:hover {
  color: var(--gold) !important;
  background: none !important;
  border-bottom-color: transparent !important;
  text-decoration: none !important;
}

/* -- Focus rings (ADA) — visible for keyboard users, hidden for mouse -- */
.nav-band .SC-Menu_link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}
.nav-band .SC-Menu_item.parent > .SC-Menu.tier2 .SC-Menu_link:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: -2px;
  border-radius: 2px;
  background: rgba(14,37,57,.05);
}
.utility-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}

/* -- SC CMS dropdown (tier2) overrides -- */
.nav-band .SC-Menu_item.parent {
  position: relative;
}

.nav-band .SC-Menu_item.parent > .SC-Menu.tier2 {
  display: none;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: var(--white) !important;
  border: 1.5px solid rgba(14,37,57,.15) !important;
  border-radius: 4px !important;
  padding: 14px 0 6px !important;
  min-width: 220px !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.14) !important;
  list-style: none !important;
  margin: 0 !important;
  z-index: 200 !important;
}

.nav-band .SC-Menu_item.parent:hover > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent:focus-within > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent.is-keyboard-open > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent:has(> .SC-Menu_link:focus-visible) > .SC-Menu.tier2 {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  clip: auto !important;
  clip-path: none !important;
  height: auto !important;
  overflow: visible !important;
}

.nav-band .SC-Menu.tier2 .SC-Menu_link {
  font-family: var(--cond) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: .04em !important;
  color: var(--navy-deep) !important;
  padding: 10px 20px !important;
  border: none !important;
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  background: none !important;
  box-shadow: none !important;
  transition: color .12s, background .12s;
}

.nav-band .SC-Menu.tier2 .SC-Menu_link:hover {
  color: var(--red) !important;
  background: rgba(14,37,57,.05) !important;
  border: none !important;
}

/* Hide SC's mobile Back/Close buttons on desktop */
.nav-band .SC-Menu_button {
  display: none;
}

/* -- Mobile hamburger -- */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: 0;
  padding: 10px;
  cursor: pointer;
}

.nav-toggle span {
  width: 28px;
  height: 3px;
  background: var(--white);
  border-radius: 2px;
  display: block;
  transition: transform .25s, opacity .25s;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.mobile-menu { display: none; }

/* -- Member communities signpost bar -- */
.memberbar {
  background: var(--white);
  color: var(--navy-deep);
}

.memberbar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  min-height: 48px;
  padding: 10px 0;
}

.memberbar__q {
  font-size: 15.5px;
  font-weight: 600;
}

.memberbar__link {
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: 14px;
  color: var(--red);
  border-bottom: 2px solid rgba(211, 47, 29, .34);
  padding-bottom: 1px;
  white-space: nowrap;
  transition: .12s;
}

.memberbar__link:hover {
  border-bottom-color: var(--red);
}

@media (max-width: 620px) {
  .memberbar__q { font-size: 14.5px; }
  .memberbar__inner { gap: 8px 12px; flex-direction: column; }
  .memberbar__sep { display: none; }
  .memberbar__link { font-size: 15px; }
}

/* ==========================================================================
   8. FOOTER
   ========================================================================== */
.site-footer {
  position: relative;
  background: #e9eef4;
  padding: 64px 0 40px;
  color: var(--navy-deep);
  overflow: hidden;
}

/* Footer badge/watermark — removed */
.site-footer::before { display: none !important; }
.site-footer__badge { display: none !important; }

.site-footer__top {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr 1fr 1fr;
  gap: 32px;
  margin-bottom: 44px;
}

.site-footer__logo {
  width: 200px;
  margin-bottom: 18px;
}

.site-footer__blurb {
  font-size: 14px;
  color: var(--ink);
  max-width: 34ch;
}

.site-footer h4 {
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .1em;
  font-size: 15px;
  text-transform: uppercase;
  color: var(--navy-deep);
  margin-bottom: 16px;
}

.site-footer__col a {
  display: block;
  font-size: 15px;
  color: var(--ink);
  padding: 5px 0;
  transition: color .12s;
}
.site-footer__col a:hover { color: var(--red); }

/* SC-rendered menu inside footer */
.site-footer .SC-Menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer .SC-Menu_link {
  display: block;
  font-size: 15px;
  color: var(--ink);
  padding: 5px 0;
  transition: color .12s;
}

.site-footer .SC-Menu_link:hover { color: var(--red); }

.site-footer__bottom {
  border-top: 1px solid #cfd9e2;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 13px;
  color: #7c93a8;
}

.site-footer__bottom a {
  color: #7c93a8;
  transition: color .12s;
}
.site-footer__bottom a:hover { color: var(--red); }

/* Footer communities column */
.site-footer__col--communities .fc-group {
  margin-bottom: 14px;
}
.fc-group__state {
  display: block;
  font-family: var(--cond);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8ea0b0;
  margin-bottom: 2px;
}
.site-footer__col--communities a {
  font-size: 14px;
  padding: 3px 0;
}

/* ==========================================================================
   9. MEMBER PORTAL
   Scoped to .SC-AccountPage (authenticated) and .rmf-login-background (login page).
   Targets actual RMFS/SC class names — no template changes required.
   ========================================================================== */

/* --- Login page --- */
.rmf-login-background {
  background: var(--paper);
  padding: 60px 0;
}

/* Form card */
.rmf-login-background .SC-Form {
  background: var(--white) !important;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(14,37,57,.08);
  padding: 36px !important;
}

.rmf-login-background .SC-Form h1 {
  font-family: var(--display);
  font-weight: 900;
  font-size: 22px;
  color: var(--navy-deep);
  margin-bottom: 24px;
}

/* Benefits panel (right column) */
.rmf-login-background .sc-shade-lightest {
  background: var(--navy) !important;
  border-radius: 12px;
  padding: 36px;
  color: var(--white);
}

.rmf-login-background .sc-shade-lightest h2 {
  font-family: var(--display);
  font-weight: 900;
  font-size: 20px;
  color: var(--gold);
  margin-bottom: 12px;
}

.rmf-login-background .sc-shade-lightest p {
  color: rgba(255,255,255,.8);
  font-size: 15px;
}

.rmf-login-background .sc-shade-lightest .sc-uppercase {
  font-family: var(--cond);
  font-size: 13px;
  letter-spacing: .06em;
  color: rgba(255,255,255,.75);
}

/* Links in login */
.rmf-login-background .SC-Link {
  color: var(--blue);
  font-size: 14px;
  transition: color .15s;
}
.rmf-login-background .SC-Link:hover { color: var(--blue-mid); }

/* --- Shared form elements (login + account) --- */
.SC-AccountPage .SC-Field_label,
.rmf-login-background .SC-Field_label {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 12.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ink);
}

.SC-AccountPage .SC-Field_input,
.rmf-login-background .SC-Field_input {
  border: 1.5px solid #cdd8e3;
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--body);
  font-size: 16px;
  color: var(--navy-deep);
  background: var(--white);
  width: 100%;
  transition: border-color .15s, box-shadow .15s;
}

.SC-AccountPage .SC-Field_input:focus,
.rmf-login-background .SC-Field_input:focus {
  border-color: var(--blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(1,101,174,.12);
}

.SC-AccountPage .SC-Field_input:disabled,
.rmf-login-background .SC-Field_input:disabled {
  background: var(--paper);
  color: #8aa0b3;
  cursor: not-allowed;
}

.SC-AccountPage .SC-Field_error,
.rmf-login-background .SC-Field_error {
  display: block;
  font-size: 12.5px;
  color: var(--red);
  margin-top: 4px;
}

/* Plain input/label elements in account cards */
.SC-AccountPage .field label {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 11.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ink);
  display: block;
  margin-bottom: 4px;
}

.SC-AccountPage .field input {
  border: 1.5px solid #cdd8e3;
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--body);
  font-size: 15px;
  color: var(--navy-deep);
  background: var(--white);
  width: 100%;
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}

.SC-AccountPage .field input:focus {
  border-color: var(--blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(1,101,174,.12);
}

.SC-AccountPage .field input:disabled {
  background: var(--paper);
  color: #8aa0b3;
  cursor: not-allowed;
}

.SC-AccountPage .field__error {
  font-size: 12px;
  color: var(--red);
  margin-top: 4px;
  display: block;
}

.SC-AccountPage .field-note {
  font-size: 12px;
  color: #8aa0b3;
  margin-top: 6px;
  line-height: 1.5;
}

/* Primary buttons */
.SC-AccountPage .SC-Button-primary,
.rmf-login-background .SC-Button-primary {
  appearance: none;
  background: var(--red);
  border: 2px solid var(--red);
  color: var(--white);
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  border-radius: 999px;
  padding: 11px 28px;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}

.SC-AccountPage .SC-Button-primary:hover,
.rmf-login-background .SC-Button-primary:hover {
  background: var(--red-dark);
  border-color: var(--red-dark);
}

/* --- Account layout (authenticated) --- */
.SC-AccountPage {
  background: var(--paper);
  min-height: 60vh;
  color: #000;
}

.SC-AccountPage_wrapper {
  padding: 40px 0 80px;
}

/* Sidebar nav */
.SC-AccountPage .SC-PageNav {
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(14,37,57,.06);
}

.SC-AccountPage .SC-PageNav_link {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: .06em;
  color: var(--ink);
  border-bottom: 1px solid #f0f4f7;
  transition: color .15s, background .15s;
}

.SC-AccountPage .SC-PageNav_link:hover {
  color: var(--navy-deep);
  background: rgba(14,37,57,.03);
}

.SC-AccountPage .SC-PageNav_link.is-current {
  color: var(--blue);
  background: rgba(1,101,174,.06);
  font-weight: 700;
}

/* Sidebar nav — greeting + icon helpers */
.rmf-acct-nav__greeting {
  padding: 16px 20px 14px;
  border-bottom: 1px solid #f0f4f7;
}
.rmf-acct-nav__name {
  display: block;
  font-family: var(--display);
  font-weight: 900;
  font-size: 15px;
  color: var(--navy-deep);
  line-height: 1.2;
}
.rmf-acct-nav__label {
  display: block;
  font-family: var(--cond);
  font-size: 11px;
  letter-spacing: .07em;
  color: #8aa0b3;
  text-transform: uppercase;
  margin-top: 2px;
}
.rmf-acct-nav__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-right: 9px;
  flex-shrink: 0;
  opacity: .7;
  vertical-align: middle;
}
.rmf-acct-nav__icon svg {
  width: 16px;
  height: 16px;
}
.SC-AccountPage .SC-PageNav_link.is-current .rmf-acct-nav__icon {
  opacity: 1;
}
.rmf-acct-nav__signout {
  margin-top: 4px;
  color: #8aa0b3 !important;
  border-top: 1px solid #f0f4f7;
}
.rmf-acct-nav__signout:hover {
  color: var(--red) !important;
}

/* Account grid — sidebar sticky on desktop */
.rmf-acct-grid {
  align-items: flex-start;
}
.rmf-acct-grid .SC-Grid_sidebar {
  position: sticky;
  top: 20px;
}

/* ── Mobile account nav dropdown ───────────────────────────────────────────── */
/* Hidden on desktop; shown < 768px instead of SC's sidebar toggle */
.rmf-acct-mobile-nav { display: none; }

@media (max-width: 767px) {
  /* Show our dropdown, hide SC's sidebar content + toggle button */
  .rmf-acct-mobile-nav { display: block; padding: 12px 0 4px; position: relative; }
  .SC-AccountPage .SC-PageNav_content { display: none !important; }
  .SC-AccountPage .SC-PageNav_menu-toggle { display: none !important; }
  /* Sidebar not sticky on mobile — sits above main content in stacked grid */
  .rmf-acct-grid .SC-Grid_sidebar { position: static; }
  /* Remove card styling from SC-PageNav on mobile — just a container */
  /* overflow:visible is critical — the dropdown is position:absolute and SC-PageNav has overflow:hidden */
  .SC-AccountPage .SC-PageNav { background: transparent; border-radius: 0; box-shadow: none; overflow: visible !important; }
}

@media (min-width: 768px) {
  /* Desktop: force sidebar content visible regardless of SC's is-hidden class */
  .SC-AccountPage .SC-PageNav_content { display: block !important; }
}

/* Dropdown trigger */
.acct-switch__label {
  display: block;
  font-family: var(--display);
  font-weight: 900;
  letter-spacing: .06em;
  font-size: 16px;
  color: var(--navy-deep);
  margin-bottom: 5px;
}
.acct-switch__label-hint { color: var(--navy-deep); font-weight: 400; font-family: var(--cond); font-size: 12px; }
.acct-switch__btn {
  width: 100%;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #fff;
  border: 1.5px solid #dbe4ec;
  border-radius: 10px;
  padding: 0 14px;
  cursor: pointer;
  text-align: left;
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .04em;
  font-size: 15px;
  color: var(--navy-deep);
}
.acct-switch__btn[aria-expanded="true"] { border-color: var(--blue); }
.acct-switch__btn:focus-visible {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(1,90,156,.16);
}
.acct-switch__chev {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  transition: transform .16s;
}
.acct-switch__btn[aria-expanded="true"] .acct-switch__chev { transform: rotate(180deg); }

/* Dropdown panel — always drops DOWN, never up */
.acct-switch__menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 6px;
  background: #fff;
  border: 1.5px solid #dbe4ec;
  border-radius: 10px;
  box-shadow: 0 18px 38px rgba(8,37,57,.18);
  padding: 6px;
  display: none;
  z-index: 30;
}
.acct-switch.is-open .acct-switch__menu { display: block; }

.acct-switch__opt {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 11px 12px;
  border-radius: 8px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 15px;
  color: var(--navy-deep);
  text-decoration: none;
}
.acct-switch__opt:hover { background: var(--paper); }
.acct-switch__opt[aria-current="true"] {
  color: var(--red);
  font-weight: 700;
  background: rgba(211,47,29,.07);
}
.acct-switch__opt--signout {
  color: #8aa0b3;
  border-top: 1px solid #f0f4f7;
  margin-top: 4px;
  padding-top: 10px;
}
.acct-switch__opt--signout:hover { color: var(--red); background: none; }

/* ── Mobile table → card layout ────────────────────────────────────────────── */
@media (max-width: 640px) {
  .SC-AccountPage table,
  .SC-AccountPage table thead,
  .SC-AccountPage table tbody,
  .SC-AccountPage table tr { display: block; }

  .SC-AccountPage table thead,
  .SC-AccountPage table thead tr,
  .SC-AccountPage table thead th { display: none !important; }

  .SC-AccountPage table tbody tr {
    background: #fff;
    border: 1px solid #e2e9ef;
    border-radius: 10px;
    margin-bottom: 12px;
    padding: 10px 14px;
    box-shadow: 0 1px 4px rgba(8,37,57,.08);
  }

  .SC-AccountPage table td {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    padding: 7px 0;
    border: none;
    border-bottom: 1px solid #f0f4f7;
    font-size: 13.5px;
    width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
  }
  .SC-AccountPage table td:last-child { border-bottom: none; padding-bottom: 2px; }

  .SC-AccountPage table td::before {
    content: attr(data-th);
    font-family: var(--display);
    font-weight: 900;
    font-size: 11px;
    letter-spacing: .05em;
    color: var(--navy-deep);
    text-transform: uppercase;
    flex-shrink: 0;
    min-width: 108px;
    word-break: normal;
    overflow-wrap: normal;
  }
  /* Hide the label pseudo-element for action columns with no header */
  .SC-AccountPage table:not(.pika-table) td[data-th="-"]::before,
  .SC-AccountPage table:not(.pika-table) td[data-th=""]::before { display: none !important; }

  /* Action cell: centered button row */
  .SC-AccountPage table td.acct-action-cell {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px 0 4px !important;
    border-bottom: none !important;
    box-sizing: border-box !important;
  }

  .cert-btn { height: 42px; padding: 0 20px; font-size: 14px; }
}

/* Content panel — wider to fit payments table without scroll */
.SC-AccountPage .SC-Grid_main {
  background: var(--white) !important;
  border-radius: 12px;
  box-shadow: 0 1px 6px rgba(14,37,57,.06);
  min-width: 0;
  flex: 1 1 0%;
  overflow: visible !important;
}
@media (min-width: 992px) {
  .SC-AccountPage .SC-Grid { max-width: 1400px; }
  .SC-AccountPage .SC-Grid_main { min-width: 820px; }
}

/* Section headings (h3.sc-color-blue in profile) */
.SC-AccountPage h3.sc-color-blue {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep) !important;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--paper);
}

/* Subscriptions / orders table */
.SC-AccountPage table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  color: #000;
}

.SC-AccountPage table th {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #000;
  border-bottom: 2px solid #e2e9ef;
  padding: 8px 12px;
  text-align: left;
}

.SC-AccountPage .SC-PageHeader_heading {
  font-family: var(--display);
  font-weight: 900;
  color: #000;
}

.SC-AccountPage .SC-Panel_header_heading {
  font-family: var(--display);
  font-weight: 900;
  color: #000;
}

/* All member portal buttons: unified display font treatment */
.SC-AccountPage .SC-Button,
.SC-AccountPage .SC-Button.SC-Button-large,
.SC-AccountPage .pill,
.SC-AccountPage button[type="button"] {
  font-family: "univers-next-pro", var(--display), Helvetica, Arial, sans-serif !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.SC-AccountPage .SC-Button-primary {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
  border-radius: 999px;
}
.SC-AccountPage .SC-Button-primary:hover {
  background: var(--red-dark);
  border-color: var(--red-dark);
}
.SC-AccountPage .pill--ghost {
  font-family: var(--display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 11px;
}

.SC-AccountPage table td {
  padding: 13px 12px;
  border-bottom: 1px solid #f0f4f7;
  vertical-align: middle;
}

.SC-AccountPage table tr:hover td { background: var(--paper); }

.SC-AccountPage table a {
  color: var(--blue);
  font-weight: 600;
  transition: color .15s;
}
.SC-AccountPage table a:hover { color: var(--navy-deep); }

/* Empty state */
.SC-AccountPage .sc-shade-neutral {
  background: var(--paper);
  border-radius: 8px;
  padding: 32px;
  text-align: center;
  color: #8aa0b3;
}

/* ==========================================================================
   9. MEMBER PORTAL COMPONENTS
   ========================================================================== */

/* Account strip header */
.acct-strip {
  background: var(--navy);
  padding: 22px 0;
  color: var(--white);
}
.acct-strip__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.acct-strip__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 21px;
}
.acct-strip__sub {
  font-size: 13.5px;
  color: rgba(255, 255, 255, .68);
  margin-top: 2px;
}
.acct-strip__logout {
  background: transparent;
  border-color: rgba(255, 255, 255, .55);
  gap: 8px;
}
.acct-strip__logout:hover {
  background: rgba(255, 255, 255, .14);
  border-color: var(--white);
}
.acct-strip__logout svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

/* Account chip in utility bar */
.acct-chip {
  position: relative;
}
.acct-chip__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 0;
  color: var(--white);
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 16px;
  cursor: pointer;
}
.acct-chip__menu {
  position: absolute;
  top: 130%;
  right: 0;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 0 16px 34px rgba(8, 37, 57, .24);
  min-width: 170px;
  padding: 8px;
  display: none;
  z-index: 20;
}
.acct-chip.is-open .acct-chip__menu {
  display: block;
}
.acct-chip__menu a {
  display: block;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 14px;
  color: var(--navy-deep);
}
.acct-chip__menu a:hover {
  background: var(--paper);
}

/* Sticky pill tabs — top is set by JS to match .rmf-header height; 180px is fallback */
.acct-tabs-wrap {
  position: sticky;
  top: 180px;
  background: var(--white);
  border-bottom: 1px solid #e2e9ef;
  z-index: 15;
}
@media (max-width: 640px) {
  .acct-tabs-wrap { top: 150px; }
}
.acct-tabs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.acct-tabs {
  display: flex;
  gap: 6px;
  padding: 14px 0;
  overflow-x: auto;
  flex: 1;
}
.acct-tabs-logout {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 14px;
  color: #8aa0b3;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color .12s;
}
.acct-tabs-logout svg { width: 15px; height: 15px; }
.acct-tabs-logout:hover { color: var(--red); }
.acct-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 15px;
  color: var(--ink);
  background: var(--white);
  border: 1.5px solid #dbe4ec;
  border-radius: 999px;
  padding: 9px 18px;
  cursor: pointer;
  white-space: nowrap;
  transition: .12s;
}
.acct-tab svg {
  width: 16px;
  height: 16px;
}
.acct-tab:hover {
  border-color: var(--blue);
}
.acct-tab[aria-selected="true"] {
  background: var(--navy-deep);
  border-color: var(--navy-deep);
  color: var(--white);
}

/* Mobile tab switcher */
.acct-switch {
  display: none;
}
@media (max-width: 576px) {
  .acct-tabs {
    display: none;
  }
  .acct-switch {
    display: block;
    padding: 10px 0;
    position: relative;
  }
  .acct-switch__label {
    display: block;
    font-family: var(--display);
    font-weight: 900;
    letter-spacing: .06em;
    font-size: 16px;
    color: var(--navy-deep);
    margin-bottom: 5px;
  }
  .acct-switch__label-hint { color: var(--navy-deep); font-weight: 400; font-family: var(--cond); font-size: 12px; }
  .acct-switch__btn {
    width: 100%;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: var(--white);
    border: 1.5px solid #dbe4ec;
    border-radius: 10px;
    padding: 0 14px;
    cursor: pointer;
    text-align: left;
    font-family: var(--cond);
    font-weight: 700;
    letter-spacing: .04em;
    font-size: 15px;
    color: var(--navy-deep);
  }
  .acct-switch__btn[aria-expanded="true"] {
    border-color: var(--blue);
  }
  .acct-switch__btn:focus-visible {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(1, 90, 156, .16);
  }
  .acct-switch__chev {
    width: 13px;
    height: 13px;
    flex: 0 0 auto;
    transition: transform .16s;
  }
  .acct-switch__btn[aria-expanded="true"] .acct-switch__chev {
    transform: rotate(180deg);
  }
  .acct-switch__menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 6px;
    background: var(--white);
    border: 1.5px solid #dbe4ec;
    border-radius: 10px;
    box-shadow: 0 18px 38px rgba(8, 37, 57, .20);
    padding: 6px;
    display: none;
    z-index: 30;
  }
  .acct-switch.is-open .acct-switch__menu {
    display: block;
  }
  .acct-switch__opt {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 11px 12px;
    border-radius: 8px;
    font-family: var(--cond);
    font-weight: 500;
    letter-spacing: .04em;
    font-size: 15px;
    color: var(--navy-deep);
  }
  .acct-switch__opt:hover {
    background: var(--paper);
  }
  .acct-switch__opt[aria-current="true"] {
    color: var(--red);
    font-weight: 700;
    background: rgba(211, 47, 29, .08);
  }
}

/* Tab panels */
.tab-panel {
  display: none;
}
.tab-panel.is-active {
  display: block;
}

/* Profile info grid */
.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.info-card {
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 16px;
  padding: 22px;
}
.info-card__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  color: var(--navy-deep);
  margin-bottom: 4px;
}
.info-card__hint {
  font-size: 13px;
  color: #7c93a8;
  margin-bottom: 14px;
}
.field-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.field {
  flex: 1 1 200px;
}
.field label {
  display: block;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12.5px;
  color: #7c93a8;
  margin-bottom: 4px;
}
.field input {
  width: 100%;
  height: 42px;
  border-radius: 8px;
  border: 1.5px solid #d5dee6;
  padding: 0 12px;
  font-family: var(--body);
  font-size: 15px;
  color: var(--navy-deep);
}
.field input:disabled {
  background: #f3f6f9;
  color: #8aa0b3;
}
.field-note {
  font-size: 12px;
  color: #8aa0b3;
  margin-top: 4px;
}
@media (max-width: 768px) {
  .info-grid {
    grid-template-columns: 1fr;
  }
}

/* Badges */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .05em;
  font-size: 12.5px;
  color: var(--white);
  border-radius: 999px;
  padding: 4px 12px;
}
.badge i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--white);
  display: block;
}
.badge--active {
  background: var(--green);
}
.badge--suspended {
  background: var(--red-dark);
}
.badge--review {
  background: var(--navy-deep);
}
.badge--cancelled {
  background: #8aa0b3;
}

/* Subscriptions */
.sub-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.sub-count {
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 14px;
  color: #7c93a8;
}
.sub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 992px) {
  .sub-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .sub-grid {
    grid-template-columns: 1fr;
  }
}
.sub-card {
  background: var(--white);
  border: 1.5px solid #e2e9ef;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: .12s;
}
.sub-card:hover {
  border-color: var(--blue);
}
.sub-card__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub-card__ref {
  font-family: var(--display);
  font-weight: 900;
  font-size: 15px;
  color: var(--navy-deep);
}
.sub-card__meta {
  display: flex;
  gap: 18px;
  font-size: 13.5px;
  color: var(--ink);
}
.sub-card__meta b {
  display: block;
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 11.5px;
  color: #8aa0b3;
}
.sub-card__pay {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
  border-radius: 10px;
  padding: 9px 12px;
}
.sub-card__pay b {
  font-family: var(--cond);
  font-weight: 500;
  color: #8aa0b3;
  letter-spacing: .04em;
  font-size: 11px;
  display: block;
}
.sub-card__pay a {
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 12px;
  color: var(--blue);
}
.sub-card__pay a:hover {
  color: var(--red);
}
.sub-card__cta {
  align-self: flex-start;
}

/* Subscription links */
.sub-link {
  color: var(--blue);
  font-weight: 600;
  transition: .12s;
}
.sub-link:hover {
  color: var(--red);
  text-decoration: underline;
}
.sub-action-link {
  color: var(--blue);
  font-size: 14px;
  transition: .12s;
}
.sub-action-link:hover {
  color: var(--red);
}

/* Back link for drill-down pages */
.acct-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  color: var(--blue);
  margin-bottom: 20px;
  cursor: pointer;
  text-decoration: none;
}
.acct-back:hover {
  color: var(--red);
}

/* Payment page */
#payment-page-container {
  display: none;
}
#payment-page-container.is-active {
  display: block;
}
#subscriptions-main {
  display: block;
}
#subscriptions-main.is-hidden {
  display: none;
}
.payment-container {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  max-width: 1000px;
}
@media (max-width: 960px) {
  .payment-container {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .payment-summary-col {
    order: 2;
  }
  .payment-form-col {
    order: 1;
  }
}
.payment-form-col {
  display: flex;
  flex-direction: column;
}
.payment-page input[type="checkbox"],
.payment-page input[type="radio"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* Subscription drill-down */
.sub-list.is-hidden {
  display: none;
}
.sub-detail {
  display: none;
}
.sub-detail.is-active {
  display: block;
}
.sub-detail.is-hidden {
  display: none;
}
.order-detail {
  display: none;
}
.order-detail.is-active {
  display: block;
}
.order-detail.is-hidden {
  display: none;
}
.order-detail-0,
.order-detail-1 {
  display: none;
}
.order-detail-0.is-active,
.order-detail-1.is-active {
  display: block;
}
.sub-back {
  background: none;
  border: 0;
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 14px;
  color: var(--blue);
  cursor: pointer;
  margin-bottom: 18px;
}
.sub-back:hover {
  color: var(--red);
}
.sub-detail__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 26px;
}
.sub-detail__ref {
  font-family: var(--display);
  font-weight: 900;
  font-size: 22px;
  color: var(--navy-deep);
  display: flex;
  align-items: center;
  gap: 12px;
}
.sub-detail__cta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.fact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .fact-grid {
    grid-template-columns: 1fr;
  }
}
.fact-card {
  background: var(--paper);
  border-radius: 14px;
  padding: 18px;
}
.fact-card b {
  display: block;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12px;
  color: #8aa0b3;
  margin-bottom: 4px;
}
.fact-card span {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep);
}
.fact-card--locked {
  opacity: .65;
}
.fact-card--locked span {
  font-size: 14px;
  font-family: var(--body);
  font-weight: 400;
  color: #8aa0b3;
}
.detail-section {
  margin-bottom: 30px;
}
.detail-section__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep);
  margin-bottom: 12px;
}
.prop-row,
.order-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.order-row__meta {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: 14px;
  color: var(--ink);
}
.mock-note {
  font-size: 12.5px;
  color: #8aa0b3;
  font-style: italic;
  margin-top: 6px;
}
.is-disabled-pill {
  opacity: .55;
  cursor: not-allowed;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.lock-note {
  font-size: 11px;
}

/* Payments grouped sections */
.pmts-group {
  margin-bottom: 36px;
}
.pmts-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.pmts-group__name {
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  color: var(--navy-deep);
}
.pmts-group__count {
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 13px;
  color: #8aa0b3;
  margin-top: 2px;
}

/* Order detail — remove grey box from Qty and term in order summary */
.SC-AccountPage .SC-CartItem .sc-shade-neutral {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
/* Align qty and term on same row */
.SC-AccountPage .SC-CartItem .sc-one-quarter {
  width: auto !important;
  display: inline !important;
}
/* Hide duplicate subscription line items in order summary */
.SC-AccountPage .SC-OrderSummary_subscriptions { display: none !important; }

/* Payments widget table */
[data-payments-widget] table { width: 100%; table-layout: auto; }
[data-payments-widget] button[type="button"] { padding: 0 14px !important; font-size: 12px !important; height: 34px !important; line-height: 34px !important; }
.SC-AccountPage [data-payments-widget] th,
.SC-AccountPage [data-payments-widget] td { white-space: nowrap !important; word-break: normal !important; }
.SC-AccountPage [data-payments-widget] td[data-th="Subscription"] { white-space: normal !important; min-width: 120px; }
@media (max-width: 640px) {
  [data-payments-widget] table { min-width: 0; }
  .SC-AccountPage [data-payments-widget] th,
  .SC-AccountPage [data-payments-widget] td { white-space: normal !important; word-break: normal !important; }
  .SC-AccountPage [data-payments-widget] td::before { min-width: 130px !important; }
}

/* Payments table */
.acct-table {
  width: 100%;
  border-collapse: collapse;
}
.acct-table th {
  text-align: left;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12.5px;
  color: #8aa0b3;
  padding: 10px 14px;
  border-bottom: 2px solid #e2e9ef;
}
.acct-table td {
  padding: 14px;
  border-bottom: 1px solid #eef2f6;
  font-size: 14.5px;
  color: var(--ink);
}
.acct-table tr:hover td {
  background: var(--paper);
}
@media (max-width: 576px) {
  .acct-table {
    font-size: 13px;
  }
  .acct-table th {
    display: none;
  }
  .acct-table td {
    display: block;
    padding: 4px 0;
    border: none;
    text-align: left;
    font-size: 13px;
  }
  .acct-table td:before {
    content: attr(data-th);
    font-family: var(--cond);
    font-weight: 500;
    color: #8aa0b3;
    font-size: 10px;
    display: block;
    margin-bottom: 1px;
  }
  .acct-table tr {
    display: block;
    border: 1px solid #e2e9ef;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
  }
}
.tt {
  position: relative;
  cursor: help;
  border-bottom: 1px dotted #8aa0b3;
}
.tt:hover::after {
  content: attr(data-tip);
  position: absolute;
  bottom: 120%;
  left: 0;
  background: var(--navy-deep);
  color: var(--white);
  font-size: 12px;
  padding: 8px 10px;
  border-radius: 8px;
  width: 220px;
  line-height: 1.4;
  z-index: 5;
}

/* Covered properties list */
.prop-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.prop-item {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 18px;
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 10px;
  transition: .12s;
}
.prop-item:hover {
  border-color: #cfdae5;
  background: var(--paper);
}
.prop-item__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border-radius: 10px;
  background: var(--paper);
  color: var(--blue);
}
.prop-item:hover .prop-item__icon {
  background: var(--white);
}
.prop-item__icon svg {
  width: 22px;
  height: 22px;
}
.prop-item__addr {
  font-family: var(--display);
  font-weight: 900;
  font-size: 15.5px;
  color: var(--navy-deep);
}
.prop-item__meta {
  font-size: 13px;
  color: #8aa0b3;
  margin-top: 2px;
}
.prop-item__sub {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 172px;
}
.prop-item__sublabel {
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 11.5px;
  color: #8aa0b3;
}
.prop-item__none {
  font-size: 13.5px;
  color: #8aa0b3;
}
.prop-item__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .prop-item {
    grid-template-columns: auto 1fr;
    row-gap: 14px;
    column-gap: 14px;
  }
  .prop-item__sub,
  .prop-item__actions {
    grid-column: 2;
    min-width: 0;
  }
  .prop-item__sub {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }
}

/* Subscription highlight animation */
.sub-row-flash {
  animation: subFlash 2.4s ease-out 1;
}
@keyframes subFlash {
  0%, 55% {
    background: rgba(1, 90, 156, .14);
  }
  100% {
    background: transparent;
  }
}

/* Utility styles */
.pill--red-outline {
  background: transparent;
  border: 2px solid var(--red);
  color: var(--red);
}
.pill--red-outline:hover {
  background: var(--red);
  color: var(--white);
}
.order-summary {
  background: var(--paper);
  border-radius: 10px;
  padding: 18px;
  text-align: right;
}

/* ==========================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 1200px) {
  .main-nav { gap: 20px; }
  .main-nav a:not(.pill) { font-size: 18px; }
  .nav-band .SC-Menu.tier1 { gap: 20px; }
  .nav-band .SC-Menu_link { font-size: 17px !important; }
}

@media (max-width: 992px) {
  .main-nav { gap: 14px; }
  .main-nav a:not(.pill) { font-size: 16px; }
  .nav-band .SC-Menu.tier1 { gap: 14px; }
  .nav-band .SC-Menu_link { font-size: 15px !important; }
  .utility-bar__inner { gap: 18px; }
  .utility-link { font-size: 14px; }
  .utility-link__icon { width: 20px; height: 20px; }
  .site-footer__top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  /* Nav: hide desktop, show hamburger */
  .main-nav   { display: none; }
  .nav-toggle { display: flex; }
  .nav-band   { z-index: 40; }
  .nav-band__inner { position: relative; }

  /* SC mobile menu — styled via is-active class added by SC's menu.js on hamburger click */
  .nav-band .SC-Menu.tier1 { display: none !important; }
  .nav-band .SC-Menu.tier1.is-active {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: var(--navy) !important;
    border-top: 3px solid var(--blue-mid) !important;
    box-shadow: 0 18px 34px rgba(8,37,57,.34) !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 12px 24px 16px !important;
    list-style: none !important;
    margin: 0 !important;
    z-index: 50 !important;
  }
  /* Links inside the open mobile nav */
  .nav-band .SC-Menu.tier1.is-active > .SC-Menu_item > .SC-Menu_link {
    display: block !important;
    font-family: var(--cond) !important;
    font-weight: 500 !important;
    font-size: 17px !important;
    letter-spacing: .05em !important;
    color: var(--white) !important;
    padding: 13px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    background: none !important;
    text-decoration: none !important;
    width: 100% !important;
  }
  .nav-band .SC-Menu.tier1.is-active > .SC-Menu_item > .SC-Menu_link:hover,
  .nav-band .SC-Menu.tier1.is-active > .SC-Menu_item > .SC-Menu_link:focus {
    color: var(--gold) !important;
  }
  /* Tier2 inside mobile — always visible, indented */
  .nav-band .SC-Menu.tier1.is-active .SC-Menu.tier2 {
    display: block !important;
    padding-left: 16px !important;
    list-style: none !important;
    margin: 0 !important;
  }
  .nav-band .SC-Menu.tier1.is-active .SC-Menu.tier2 .SC-Menu_link {
    font-size: 14px !important;
    color: rgba(255,255,255,.65) !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }

  /* Mobile nav: plain tags rebuilt by JS — no SC classes, no SC popup hooks */
  .mobile-nav__link {
    font-family: var(--cond);
    font-weight: 500;
    font-size: 17px;
    letter-spacing: .05em;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 13px 0;
    border: none;
    border-bottom: 1px solid rgba(255,255,255,.12);
    background: none;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    transition: color .12s;
  }
  .mobile-nav__link:hover { color: var(--gold); }

  /* Chevron on collapsible toggles */
  .mobile-nav__chev {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: transform .2s;
  }
  .mobile-nav__toggle[aria-expanded="true"] .mobile-nav__chev { transform: rotate(180deg); }

  /* Collapsible group wrapper */
  .mobile-nav__group { display: block; }
  .mobile-nav__children { padding-bottom: 4px; }

  .mobile-nav__child {
    font-family: var(--cond);
    font-size: 14px;
    color: rgba(255,255,255,.65);
    display: block;
    padding: 9px 0 9px 16px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    text-decoration: none;
    transition: color .12s;
  }
  .mobile-nav__child:hover { color: var(--gold); }
  .mobile-nav__child:last-child { border-bottom: none; }

  /* Utility bar: centered layout */
  .utility-bar__inner { height: auto; padding: 6px 0; gap: 16px; justify-content: center; }
  .utility-link { font-size: 16px; min-height: 44px; gap: 10px; }
  .utility-link__icon { width: 24px; height: 24px; }
  .utility-link--careers { display: none; }
  .utility-strip { height: 6px; }

  .SC-AccountPage .sub-grid { grid-template-columns: repeat(2, 1fr); }
  .SC-AccountPage .info-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .SC-AccountPage .sub-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .section { padding: 60px 0; }
  .pill--lg { font-size: 18px; height: 54px; padding: 0 28px; }
  .nav-band__inner { min-height: 80px; }
  .logo img { width: 160px; }
}

@media (max-width: 576px) {
  .utility-bar__inner { height: auto; padding: 6px 0; gap: 10px 20px; flex-wrap: wrap; justify-content: center; }
  .utility-link { font-size: 16px; gap: 8px; letter-spacing: .04em; min-height: 44px; }
  .utility-link__icon { width: 24px; height: 24px; }
  .utility-link--contact { display: none; }
  .login-chip__chev { width: 12px; height: 12px; margin-left: 0; }
  .utility-strip { height: 4px; }

  /* Hero heading — scale down on mobile, prevent cut-off */
  .SC-Banner_heading { font-size: clamp(30px, 8vw, 42px) !important; word-break: break-word !important; overflow-wrap: break-word !important; }
  /* Subtitle ("Since 1948") — keep smaller than the heading */
  .SC-Banner_heading { margin-bottom: 0 !important; }
  .SC-Banner_subheading { font-size: 28px !important; margin-top: 4px !important; }
}

/* ===== BEGIN component library — ported from site.css 2026-09-15 ===== */
/* site.css defines this token; the store :root above does not. */
:root{--radius-card:6px}
.ph{display:flex;align-items:center;justify-content:center;text-align:center; background:repeating-linear-gradient(45deg,#e9eef3,#e9eef3 14px,#eff3f7 14px,#eff3f7 28px); color:#7c93a8;font-family:var(--cond);font-weight:500;letter-spacing:.1em;font-size:15px; border:1px solid #d5dee6;border-radius:var(--radius-card);min-height:220px;padding:20px}
.ph--hero{min-height:520px;border-radius:0;border:0}
.pill__icon{height:1.25em;width:auto;flex:0 0 auto}
.hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero--short{min-height:440px}
.hero__img{position:absolute;inset:0}
.hero__img .ph{height:100%;border-radius:0;border:0}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,37,57,.92) 0%,rgba(14,37,57,.55) 100%)}
.hero__content{position:relative;padding:72px 24px}
.hero__headline{font-family:var(--display);font-weight:900;font-size:clamp(34px,4.6vw,60px);line-height:1.1;color:var(--white);margin-bottom:20px}
.hero__sub{color:var(--white);font-size:19px;max-width:56ch;margin-bottom:34px}
.hero__ctas{display:flex;gap:18px;flex-wrap:wrap}
.crumb{background:var(--paper);border-bottom:1px solid #e2e9ef}
.crumb__inner{padding:14px 0;font-family:var(--cond);font-weight:500;letter-spacing:.05em;font-size:15px;color:var(--ink)}
.crumb a:hover{color:var(--red)}
.crumb span{color:var(--gold-dark)}
.paths__grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.path-card{display:block;position:relative;overflow:hidden;border-radius:var(--radius-card);min-height:420px;color:var(--white); box-shadow:0 6px 20px rgba(8,37,57,.14);transition:box-shadow .18s,transform .18s}
.path-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,37,57,.28)}
.path-card__img{position:absolute;inset:0}
.path-card__img .media{width:100%;height:100%;object-fit:cover}
.path-card__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,37,57,.96) 0%,rgba(8,37,57,.78) 42%,rgba(8,37,57,.35) 100%)}
.path-card__body{position:relative;z-index:2;display:flex;flex-direction:column;gap:16px;padding:48px 44px 44px;min-height:420px;justify-content:flex-end}
.path-card__title{font-family:var(--display);font-weight:900;font-size:clamp(26px,2.6vw,34px);line-height:1.12}
.path-card__copy{font-size:16px;color:rgba(255,255,255,.88)}
.path-card__cta{margin-top:4px;align-self:flex-start}
.proof{position:relative;overflow:hidden;background:var(--navy);padding:80px 0 64px}
.proof__img{position:absolute;inset:0}
.proof__img .ph{height:100%;border-radius:0;border:0}
.proof__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,37,57,.94),rgba(14,37,57,.9))}
.proof>.shell{position:relative}
.proof__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;margin-bottom:52px;list-style:none}
.proof__num{display:block;font-family:var(--display);font-weight:900;font-size:clamp(44px,5vw,64px);line-height:1;color:var(--gold);margin-bottom:10px}
.proof__label{font-family:var(--cond);font-weight:500;font-size:20px;letter-spacing:.08em;color:var(--white)}
.proof__marquee{overflow:hidden;position:relative;max-width:920px;margin:0 auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.proof__track{display:flex;gap:24px;width:max-content;animation:logo-scroll 32s linear infinite}
.proof__marquee:hover .proof__track{animation-play-state:paused}
.proof__chip{display:flex;align-items:center;justify-content:center;height:78px;min-width:180px;padding:0 30px;background:var(--white);border-radius:var(--radius-card);flex:0 0 auto;box-shadow:0 3px 12px rgba(8,37,57,.10)}
.proof__chip img{max-height:42px;width:auto;max-width:150px}
@media(prefers-reduced-motion:reduce){
  .proof__track{flex-wrap:wrap;width:auto;justify-content:center}
  .proof__marquee{-webkit-mask-image:none;mask-image:none}
}
.split{scroll-margin-top:28px;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.split--flip .split__media{order:-1}
.split__text p:not(.lead-in){margin-bottom:18px;max-width:58ch}
.section--navy .split__text p{color:rgba(255,255,255,.9)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--white);border:1px solid #e2e9ef;border-radius:var(--radius-card);padding:32px; box-shadow:0 4px 14px rgba(8,37,57,.08);transition:box-shadow .18s,transform .18s,border-color .18s}
.section--paper .card{background:var(--white)}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(8,37,57,.12)}
.card__kicker{font-family:var(--cond);font-weight:500;font-size:14px;letter-spacing:.1em;color:var(--gold-dark);margin-bottom:10px}
.card__title{font-family:var(--display);font-weight:900;font-size:21px;color:var(--navy-deep);margin-bottom:10px}
.card__copy{font-size:15px;color:var(--ink)}
.card--dark .card__title{color:#fff}
.card--dark .card__copy{color:rgba(255,255,255,.82)}
.obj{list-style:none;display:grid;gap:16px}
.obj li{background:var(--white);border:1px solid #e2e9ef;border-left:5px solid var(--gold);border-radius:var(--radius-card);padding:22px 26px}
.obj strong{font-family:var(--display);font-weight:900;color:var(--navy-deep);display:block;margin-bottom:6px;font-size:18px}
.obj span{color:var(--ink);font-size:15px}
.callout{background:#eef3f7;border:1px solid #d5dee6;border-radius:16px;padding:22px 26px;font-size:15px;color:var(--ink)}
.callout strong{color:var(--navy-deep)}
.tool-card{background:var(--navy-deep);border-radius:var(--radius-card);padding:56px;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center; box-shadow:0 8px 26px rgba(8,37,57,.16)}
.tool-card--half .tool-card__title{font-size:clamp(20px,2vw,24px)}
.tool-card__title{font-family:var(--display);font-weight:900;font-size:clamp(24px,2.6vw,32px);line-height:1.15;color:var(--white);margin-bottom:10px}
.tool-card__sub{font-family:var(--cond);font-weight:500;font-size:17px;letter-spacing:.08em;color:var(--gold);margin-bottom:16px}
.tool-card__copy{color:rgba(255,255,255,.85);font-size:16px;max-width:52ch}
.tool-card__actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.tool-card__alt{font-family:var(--cond);font-weight:500;font-size:17px;color:var(--gold);border-bottom:2px solid transparent}
.tool-card__alt:hover{border-bottom-color:var(--gold)}
.assess{max-width:840px;margin:0 auto}
.assess__progress{height:10px;border-radius:6px;background:#e2e9ef;overflow:hidden;margin-bottom:10px}
.assess__progress i{display:block;height:100%;background:var(--gold);border-radius:6px}
.assess__step{font-family:var(--cond);font-weight:500;letter-spacing:.06em;color:var(--ink);font-size:15px;margin-bottom:28px}
.q{background:var(--white);border:1px solid #e2e9ef;border-radius:18px;padding:26px;margin-bottom:18px}
.q__text{font-family:var(--display);font-weight:900;font-size:19px;color:var(--navy-deep);margin-bottom:6px}
.q__eg{font-size:14px;color:#7c93a8;margin-bottom:16px}
.scale{display:flex;gap:8px;flex-wrap:wrap}
.scale button{width:46px;height:46px;border-radius:12px;border:2px solid #d5dee6;background:#fff;font-family:var(--display);font-weight:900;font-size:17px;color:var(--navy-deep);cursor:pointer;transition:.12s}
.scale button:hover{border-color:var(--gold)}
.scale button.sel{background:var(--gold);border-color:var(--gold);color:#fff}
.result{background:var(--navy-deep);border-radius:var(--radius-card);padding:36px;color:#fff;text-align:center}
.result__tier{font-family:var(--cond);letter-spacing:.1em;color:var(--gold);font-size:16px}
.result__score{font-family:var(--display);font-weight:900;font-size:56px;line-height:1;margin:8px 0}
.result__bar{height:14px;border-radius:8px;background:#12314b;overflow:hidden;margin:20px 0}
.result__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--gold))}
.gate{background:var(--white);border:2px solid var(--gold);border-radius:var(--radius-card);padding:32px;margin-top:24px;text-align:center}
.gate input{height:48px;border-radius:999px;border:2px solid #d5dee6;padding:0 22px;font-size:16px;font-family:var(--body);min-width:280px;flex:1 1 280px}
.gate__row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.tier{border-radius:16px;padding:20px;text-align:center;color:#fff}
.tier b{display:block;font-family:var(--display);font-weight:900;font-size:16px;margin-bottom:4px}
.tier span{font-size:13px;opacity:.9}
.conversion{position:relative;overflow:hidden;background:var(--navy);display:flex;align-items:center;min-height:420px}
.conversion__img{position:absolute;inset:0}
.conversion__img .ph{height:100%;border-radius:0;border:0}
.conversion__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,37,57,1),rgba(39,103,159,.45))}
.conversion__content{position:relative;text-align:center;padding:80px 24px;width:100%}
.conversion__headline{font-family:var(--display);font-weight:900;font-size:clamp(30px,4vw,46px);color:#fff;line-height:1.1;margin-bottom:16px}
.conversion__sub{color:#fff;max-width:52ch;margin:0 auto 34px}
.conversion__ctas{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.map-wrap{position:relative;border-radius:var(--radius-card);overflow:hidden;border:1px solid #d5dee6}
.map-legend{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px}
.map-legend span{display:inline-flex;align-items:center;gap:8px;font-family:var(--cond);letter-spacing:.05em;font-size:15px;color:var(--ink)}
.map-legend i{width:14px;height:14px;border-radius:50%}
.dot-red{background:var(--red)}
.dot-gold{background:var(--gold)}
.dot-blue{background:var(--blue)}
@media(max-width:992px){
  .paths__grid,.split,.tool-card,.qa{grid-template-columns:1fr}
  .split--flip .split__media{order:0}
  .cards,.cards--4{grid-template-columns:repeat(2,1fr)}
  .proof__stats{grid-template-columns:repeat(2,1fr);row-gap:36px}
  .tiers{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .hero__ctas{gap:12px}
}
@media(max-width:576px){
  .cards,.cards--2,.cards--4,.tiers{grid-template-columns:1fr}
  .hero{min-height:520px}
  .hero__ctas{gap:10px}
  .path-card__body,.tool-card,.coverage-card{padding:36px 28px}
  .path-card__body{min-height:340px}
  .proof__stats{grid-template-columns:repeat(2,1fr)}
}
.media{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.hero__img .media,.conversion__img .media,.proof__img .media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.split__media .media,.map-wrap .media{border-radius:inherit}
figure.split__media{border-radius:var(--radius-card);overflow:hidden}
.split__media.is-photo{min-height:340px;position:relative}
.card--photo img.media{position:absolute;inset:0;z-index:0}
.card--photo .card__title{color:#fff}
.card--photo .card__copy{color:rgba(255,255,255,.9)}
.card--photo .card__kicker{color:var(--gold)}
.chief-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.chief{text-align:center}
.chief img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-card);margin-bottom:14px;background:#e9eef3}
.chief b{display:block;font-family:var(--display);font-size:17px;color:var(--navy-deep)}
.chief span{font-family:var(--cond);letter-spacing:.05em;font-size:14px;color:var(--gold-dark)}
@media(max-width:1000px){
  .chief-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .chief-grid{grid-template-columns:1fr 1fr}
}
video.media{background:var(--navy)}
.qa-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px}
.qa-card{position:relative;display:block;overflow:hidden;border-radius:var(--radius-card);min-height:280px;color:#fff; box-shadow:0 6px 20px rgba(8,37,57,.14);transition:box-shadow .18s,transform .18s}
.qa-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,37,57,.24)}
.qa-card__img{position:absolute;inset:0}
.qa-card__img .media{width:100%;height:100%;object-fit:cover}
.qa-card__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,37,57,.95) 0%,rgba(8,37,57,.75) 45%,rgba(8,37,57,.3) 100%)}
.qa-card__body{position:relative;z-index:2;padding:32px;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px}
.qa-card__q{font-family:var(--display);font-weight:900;font-size:26px}
.qa-card__copy{font-size:15px;color:rgba(255,255,255,.88)}
.subsection-label{font-family:var(--cond);letter-spacing:.1em;font-size:14px;color:var(--blue);margin-bottom:16px}
.obj-accordion{display:grid;gap:12px}
.obj-item{background:#fff;border:1px solid #e2e9ef;border-left:5px solid var(--blue);border-radius:14px;padding:0;overflow:hidden}
.obj-item summary{list-style:none;cursor:pointer;padding:20px 26px;font-family:var(--display);font-weight:900;color:var(--navy-deep);font-size:17px;position:relative;padding-right:50px}
.obj-item summary::-webkit-details-marker{display:none}
.obj-item summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-family:var(--body);font-weight:400;font-size:22px;color:var(--blue);transition:transform .15s}
.obj-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.obj-item p{padding:0 26px 22px;color:var(--ink);font-size:15px;margin:0}
@media(max-width:900px){
  .qa-cards{grid-template-columns:1fr}
}
.rt-calc{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-card);padding:32px}
.rt-calc__row label{display:block;font-family:var(--cond);letter-spacing:.04em;font-size:15px;color:rgba(255,255,255,.85);margin-bottom:12px}
.rt-calc__row label b{color:var(--sky);font-family:var(--display)}
.rt-calc__row input[type="range"]{width:100%;margin-bottom:26px}
.rt-calc__bar-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.rt-calc__bar-label{font-family:var(--cond);letter-spacing:.04em;font-size:13px;color:rgba(255,255,255,.7);width:120px;flex:0 0 auto}
.rt-calc__bar-track{flex:1;height:14px;border-radius:8px;background:rgba(255,255,255,.12);overflow:hidden}
.rt-calc__bar{height:100%;border-radius:8px;transition:width .2s ease}
.rt-calc__bar--muni{background:var(--red)}
.rt-calc__bar--rmf{background:var(--sky)}
.rt-calc__bar-time{font-family:var(--display);font-weight:900;font-size:14px;color:#fff;width:60px;flex:0 0 auto;text-align:right}
.rt-calc__result{margin-top:18px;font-size:15px;color:rgba(255,255,255,.88)}
.rt-calc__result strong{color:var(--sky);font-family:var(--display);font-size:18px}
.related-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related-nav__item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e2e9ef;border-radius:var(--radius-card);padding:18px 22px;font-family:var(--display);font-weight:900;font-size:16px;color:var(--navy-deep); box-shadow:0 3px 10px rgba(8,37,57,.07);transition:box-shadow .18s,transform .18s,border-color .18s}
.related-nav__item:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,37,57,.1)}
.related-nav__arrow{color:var(--blue);font-size:18px;flex:0 0 auto}
@media(max-width:760px){
  .related-nav{grid-template-columns:1fr}
}
.caps{background:#fff;padding:80px 0 84px;border-top:1px solid #e3eaf1}
.shell--wide{max-width:1420px}
.caps__hd{max-width:760px;margin:0 auto 48px;text-align:center}
.caps__headline{font-family:var(--display);font-weight:900;font-size:clamp(26px,3vw,44px);color:var(--navy-deep);line-height:1.02;margin:0 0 14px}
.caps__sub{font-size:17px;line-height:1.7;color:var(--ink);margin:0}
.caps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:1120px){
  .caps__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .caps__grid{grid-template-columns:1fr}
}
.cap{position:relative;aspect-ratio:2/1;min-height:212px;border-radius:var(--radius-card);overflow:hidden; background:var(--navy-deep);cursor:pointer;border:0;padding:0;width:100%;text-align:left; display:block;font:inherit;color:#fff}
.cap__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block; transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.cap.is-open .cap__bg{transform:scale(1.06)}
.cap__scrim{position:absolute;inset:0;transition:background .35s ease; background:linear-gradient(0deg,rgba(4,16,26,.52) 0%,rgba(4,16,26,.16) 50%,rgba(4,16,26,.02) 100%)}
.cap.is-open .cap__scrim{background:linear-gradient(0deg,rgba(4,16,26,.80) 0%,rgba(4,16,26,.56) 54%,rgba(4,16,26,.38) 100%)}
.cap__plate{position:absolute;left:0;right:0;bottom:0;z-index:2;overflow:hidden}
.cap__head{position:relative;z-index:1;display:flex;align-items:center;min-height:56px; background:var(--blue);padding:14px 20px;border-bottom:3px solid var(--gold); transition:background .3s ease}
.cap.is-open .cap__head{background:#015a9c}
.cap__title{flex:1;min-width:0;display:block;font-family:var(--display);font-weight:900; font-size:clamp(15px,1.3vw,18px);line-height:1.14;color:#fff;letter-spacing:.01em}
.cap__chev{display:none;flex-shrink:0;margin-left:12px;width:28px;height:28px;border-radius:999px; background:rgba(255,255,255,.18);align-items:center;justify-content:center; transition:transform .35s cubic-bezier(.22,.61,.36,1),background .2s ease}
.cap__chev svg{width:15px;height:15px;color:#fff}
.cap.is-open .cap__chev{transform:rotate(180deg);background:rgba(255,255,255,.32)}
@media(hover:none),(max-width:700px){
  .cap__chev{display:flex}
}
@media(prefers-reduced-motion:reduce){
  .cap__chev{transition:none}
}
.cap__reveal{display:grid;grid-template-rows:0fr;background:rgba(6,20,32,.62); -webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15); transition:grid-template-rows .42s cubic-bezier(.22,.61,.36,1)}
.cap.is-open .cap__reveal{grid-template-rows:1fr}
@media(hover:hover) and (min-width:701px){
  .cap:hover .cap__bg,.cap:focus-visible .cap__bg{transform:scale(1.06)}
  .cap:hover .cap__scrim,.cap:focus-visible .cap__scrim{background:linear-gradient(0deg,rgba(4,16,26,.80) 0%,rgba(4,16,26,.56) 54%,rgba(4,16,26,.38) 100%)}
  .cap:hover .cap__head,.cap:focus-visible .cap__head{background:#015a9c}
  .cap:hover .cap__reveal,.cap:focus-visible .cap__reveal{grid-template-rows:1fr}
}
.cap__reveal-in{overflow:hidden;min-height:0}
.cap__pad{display:flex;align-items:flex-start;gap:14px;padding:14px 18px 16px}
.cap__icon{width:56px;height:56px;flex-shrink:0;margin-top:2px}
@media(max-width:640px){
  .cap__icon{width:48px;height:48px}
}
.cap__txt{display:block;min-width:0}
.cap__ask{display:block;font-size:14.5px;line-height:1.4;color:#fff;font-style:italic}
.cap__copy{display:block;font-size:13.5px;line-height:1.52;color:rgba(255,255,255,.90);margin:6px 0 0}
.cap:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .cap__bg,.cap__scrim,.cap__reveal,.cap__head{transition:none}
  .cap:hover .cap__bg,.cap.is-open .cap__bg{transform:none}
}
.sit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sit-grid--2{grid-template-columns:repeat(2,1fr)}
.sit-grid--2 .sit-card,.sit-grid--2 .sit-card__body{min-height:380px}
@media(max-width:900px){
  .sit-grid{grid-template-columns:1fr}
}
.sit-card{position:relative;display:block;overflow:hidden;border-radius:var(--radius-card);min-height:330px;color:#fff; box-shadow:0 6px 20px rgba(8,37,57,.16);transition:box-shadow .18s,transform .18s}
.sit-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(8,37,57,.30)}
.sit-card__img{position:absolute;inset:0}
.sit-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.sit-card:hover .sit-card__img img{transform:scale(1.05)}
.sit-card__scrim{position:absolute;inset:0; background:linear-gradient(0deg,rgba(4,16,26,.94) 0%,rgba(4,16,26,.74) 44%,rgba(4,16,26,.30) 100%)}
.sit-card__body{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end; gap:13px;padding:30px 26px 28px;min-height:330px}
.sit-card__icon{width:46px;height:46px}
.sit-card__title{font-family:var(--display);font-weight:900;font-size:clamp(19px,1.7vw,23px);line-height:1.12}
.sit-card__copy{font-size:15px;line-height:1.55;color:rgba(255,255,255,.86)}
@media(prefers-reduced-motion:reduce){
  .sit-card:hover{transform:none}
  .sit-card:hover .sit-card__img img{transform:none}
}
.sr-h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0 0 0 0);white-space:nowrap;border:0}
.res-news__txt{display:block;min-width:0}
.offramp{margin-top:46px;padding:32px 36px 30px;background:var(--paper);border:1px solid #e3eaf1; border-radius:var(--radius-card);text-align:center}
.caps .offramp{background:var(--paper)}
.offramp__q{font-family:var(--display);font-weight:900;font-size:clamp(19px,1.9vw,25px); color:var(--navy-deep);line-height:1.1;margin:0 0 9px}
.offramp__sub{font-size:15.5px;line-height:1.6;color:var(--ink);margin:0 auto 22px;max-width:58ch}
.offramp__row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.offramp__alt{margin:20px 0 0;font-size:14.5px;color:var(--ink)}
.offramp__alt a{color:var(--red);border-bottom:1px solid rgba(211,47,29,.35);padding-bottom:1px}
.offramp__alt a:hover{border-bottom-color:var(--red)}
@media(max-width:600px){
  .offramp{padding:26px 20px 24px}
}
.bcard{max-width:560px;margin:0 auto;background:#fff;border:1px solid #e3eaf1; border-radius:var(--radius-card);box-shadow:0 4px 22px rgba(8,37,57,.09);padding:26px 28px 24px}
.bcard__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.bcard__eyebrow{display:flex;align-items:center;gap:9px;font-family:var(--cond);font-weight:700; letter-spacing:.09em;font-size:11px;text-transform:uppercase;color:#7c93a8}
.bcard__eyebrow img{width:18px;height:18px;opacity:.75}
.bcard__select{font-family:var(--body);font-size:12.5px;color:var(--navy-deep);background:#f7f9fb; border:1px solid #dde5ec;border-radius:5px;padding:6px 9px;cursor:pointer}
.bcard__metric{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:end;margin-bottom:26px}
.bcard__num{font-family:var(--display);font-weight:900;font-size:52px;line-height:.92; letter-spacing:-.02em;color:var(--navy-deep)}
.bcard__num sup{font-family:var(--body);font-weight:600;font-size:16px;color:#7c93a8; vertical-align:super;margin-left:3px;letter-spacing:0}
.bcard__delta{font-size:12.5px;font-weight:600;color:var(--red);margin-top:7px}
.bcard__track{position:relative;height:8px;border-radius:999px;background:#eef2f6}
.bcard__fill{position:absolute;left:0;top:0;height:8px;border-radius:999px;background:var(--navy-deep); transition:width .6s cubic-bezier(.22,.61,.36,1)}
.bcard__tick{position:absolute;top:-5px;width:2px;height:18px;background:var(--navy-deep); transition:left .6s cubic-bezier(.22,.61,.36,1)}
.bcard__scaleRow{display:flex;justify-content:space-between;margin-top:9px;font-size:11.5px;color:#7c93a8}
.bcard__sect{font-family:var(--cond);font-weight:700;letter-spacing:.08em;font-size:11px; text-transform:uppercase;color:var(--navy-deep);margin:0 0 12px}
.bcard__rows{display:flex;flex-direction:column;gap:11px;margin-bottom:26px}
.bcard__row{display:flex;align-items:center;gap:11px}
.bcard__row img{width:19px;height:19px;opacity:.7;flex-shrink:0}
.bcard__row-name{flex:1;font-size:14.5px;color:var(--ink)}
.bcard__row-val{font-size:14.5px;font-weight:700;color:var(--navy-deep);font-variant-numeric:tabular-nums}
.bcard__row--hi .bcard__row-name{color:var(--navy-deep);font-weight:600}
.bcard__bands{position:relative;display:flex;height:8px;border-radius:999px;overflow:hidden}
.bcard__bands span{height:8px}
.bcard__pin{position:absolute;top:-4px;width:16px;height:16px;border-radius:999px;border:3px solid #fff; box-shadow:0 1px 5px rgba(8,37,57,.4);transition:left .6s cubic-bezier(.22,.61,.36,1);transform:translateX(-50%)}
.bcard__pinwrap{position:relative;height:8px}
.bcard__foot{display:flex;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid #eef2f6}
.bcard__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px; border-radius:5px;border:1px solid #dde5ec;background:#fff;font-family:var(--cond);font-weight:700; letter-spacing:.06em;font-size:12px;text-transform:uppercase;color:var(--navy-deep);cursor:pointer;transition:.15s}
.bcard__btn:hover{background:var(--navy-deep);border-color:var(--navy-deep);color:#fff}
.bcard__btn--primary{background:var(--red);border-color:var(--red);color:#fff}
.bcard__btn--primary:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff}
@media(max-width:560px){
  .bcard{padding:22px 18px}
  .bcard__metric{grid-template-columns:1fr;gap:18px}
  .bcard__num{font-size:44px}
}
@media(prefers-reduced-motion:reduce){
  .bcard__fill,.bcard__tick,.bcard__pin{transition:none}
}

/* --- keyframes used by the above --- */
@keyframes logo-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-25%)}
}
/* ===== END component library ===== */
/* ==========================================================================
   Rural Metro Fire — Theme Supplement CSS
   Loaded via {{ theme_supplement_stylesheet }} in layouts/theme.liquid.
   All custom classes use the mockup's established naming system.
   SC base classes (sc-*, SC-*) are overridden only where necessary.
   ========================================================================== */

/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root {
  --navy:       #0e2539;
  --navy-deep:  #082539;
  --blue:       #0165ae;
  --blue-mid:   #0f437d;
  --red:        #d32f1d;
  --red-dark:   #b32617;
  --gold:       #e29d4c;
  --gold-dark:  #c9853a;
  --sky:        #72afe2;
  --white:      #fff;
  --paper:      #f7f9fb;
  --ink:        #33475b;
  --green:      #1f8a5b;

  --display: "univers-next-pro", "Gotham", Helvetica, Arial, sans-serif;
  --cond:    "univers-next-pro-compressed", "Gotham", Helvetica, Arial, sans-serif;
  --body:    "proxima-nova", "Gotham", Helvetica, Arial, sans-serif;

  --shell: 1196px;
}

/* ==========================================================================
   2. GLOBAL RESETS (scoped to not break SC form/checkout classes)
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.6;
  color: var(--navy-deep);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}

a { text-decoration: none; color: inherit; }

/* Base theme sets svg { fill: currentColor } globally — override for all stroke-based icons */
svg[stroke] { fill: none !important; }
img { display: block; max-width: 100%; }

/* ==========================================================================
   3. LAYOUT SHELL
   ========================================================================== */
.shell {
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 24px;
}

.section { padding: 88px 0; }
.section--paper { background: var(--paper); }
.section--navy  { background: var(--navy); color: var(--white); }

/* ==========================================================================
   4. TYPOGRAPHY HELPERS
   ========================================================================== */
.lead-in {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 26px;
  color: var(--gold);
  margin-bottom: 8px;
}

.section-heading {
  font-family: var(--display);
  font-weight: 900;
  font-size: clamp(28px, 3.4vw, 40px);
  line-height: 1.12;
  color: var(--navy-deep);
  margin-bottom: 24px;
}

.section--navy .section-heading { color: var(--white); }

h1, h2, h3, h4 {
  font-family: var(--display);
  font-weight: 900;
  line-height: 1.12;
}

p.big {
  font-size: 19px;
  color: var(--ink);
  max-width: 62ch;
}

.section--navy p.big { color: rgba(255,255,255,.9); }

/* ==========================================================================
   5. FOCUS / ACCESSIBILITY
   ========================================================================== */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000;
}
.skip-link:focus {
  left: 0;
  padding: 0.5rem 1rem;
  background: var(--white);
  color: var(--navy-deep);
  outline: 2px solid currentColor;
}

:focus-visible {
  outline: 3px solid var(--sky);
  outline-offset: 2px;
}

/* ==========================================================================
   6. PILLS (CTAs)
   ========================================================================== */
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--display);
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  color: var(--white);
  height: 48px;
  padding: 0 28px;
  border-radius: 999px;
  white-space: nowrap;
  transition: background .15s, border-color .15s;
  border: 2px solid transparent;
  cursor: pointer;
}

.pill--sm  { font-size: 15px; height: 38px; padding: 0 22px; }
.pill--lg  { font-size: 22px; height: 60px; padding: 0 38px; }

.pill--red          { background: var(--red); border-color: var(--red); color: #fff !important; }
.pill--red:hover    { background: var(--red-dark); border-color: var(--red-dark); color: #fff !important; }
a.pill--red, a.pill--red:visited, a.pill--red:active, a.pill--red:hover { color: #fff !important; }

/* Self-contained account action button — does not depend on base-theme pill classes */
.rmf-acct-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 18px;
  border-radius: 999px;
  border: 2px solid var(--red);
  background: var(--red);
  color: #fff !important;
  font-family: var(--cond);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .04em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  line-height: 1;
}
.rmf-acct-btn:hover, .rmf-acct-btn:active { background: var(--red-dark); border-color: var(--red-dark); color: #fff !important; }

.pill--gold         { background: var(--gold); border-color: var(--gold); }
.pill--gold:hover   { background: var(--gold-dark); border-color: var(--gold-dark); }

.pill--ghost-white  { background: transparent; border-color: var(--white); }
.pill--ghost-white:hover { background: rgba(255,255,255,.14); }

.pill--ghost-navy   { background: transparent; border-color: var(--blue-mid); color: var(--blue-mid); }
.pill--ghost-navy:hover { background: rgba(15,67,125,.08); }

.pill svg { width: 14px; height: 14px; }

/* ==========================================================================
   7. HEADER
   ========================================================================== */

/* -- Utility bar (blue top strip) -- */
.utility-bar {
  position: relative;
  z-index: 60;
  background: var(--blue);
}

.utility-bar__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 34px;
  height: 52px;
}

.utility-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--cond);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .08em;
  color: var(--white);
  transition: color .15s;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 8px 0;
  min-height: 44px;
}
.utility-link:hover { color: var(--gold); }
.utility-link__icon { width: 22px; height: 22px; flex: 0 0 auto; }

/* -- Login chip + popover -- */
.login-chip { position: relative; }

.login-chip__chev {
  width: 13px;
  height: 13px;
  margin-left: 2px;
  flex: 0 0 auto;
  transition: transform .15s;
}

#login-trigger[aria-expanded="true"] { color: var(--gold); }
#login-trigger[aria-expanded="true"] .login-chip__chev { transform: rotate(180deg); }

.login-popover {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 10px;
  width: 280px;
  background: var(--navy);
  border-radius: 14px;
  box-shadow: 0 20px 46px rgba(8,37,57,.34);
  border-top: 3px solid var(--gold);
  padding: 22px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .16s, transform .16s, visibility .16s;
  z-index: 70;
}

.login-popover.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.login-popover .field { margin-bottom: 12px; }

.login-popover .field label {
  display: block;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .06em;
  font-size: 12px;
  text-transform: uppercase;
  color: rgba(255,255,255,.65);
  margin-bottom: 5px;
}

.login-popover .field input {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1.5px solid #26506b;
  background: #12324a;
  color: var(--white);
  font-family: var(--body);
  font-size: 14.5px;
}

.login-popover .field input::placeholder { color: #7fa0b8; }
.login-popover .field input:focus { outline: none; border-color: var(--gold); }

.pill--fullwidth { width: 100%; margin-bottom: 10px; justify-content: center; }

.login-popover .text-link {
  display: block;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 13.5px;
  color: var(--gold);
  text-align: center;
}
.login-popover .text-link:hover { text-decoration: underline; }

.login-popover__divider {
  height: 1px;
  background: rgba(255,255,255,.14);
  margin: 16px 0 12px;
}

.login-popover__foot {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  text-align: center;
  margin: 0;
}
.login-popover__foot a { color: var(--gold); }

@media (max-width: 480px) {
  .login-popover { width: min(300px, 92vw); left: -8px; }
}

/* -- Divider strip -- */
.utility-strip {
  height: 16px;
  background: var(--blue-mid);
}

/* -- Sticky header wrapper -- */
.rmf-header {
  position: sticky;
  top: 0;
  z-index: 200;
}

/* -- Nav band (navy logo + menu) -- */
.nav-band {
  background: var(--navy);
  position: relative;
}

.nav-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 112px;
  padding: 14px 0;
}

.logo img {
  width: 220px;
  max-width: 56vw;
  height: auto;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}

.main-nav a:not(.pill) {
  font-family: var(--display);
  font-weight: 500;
  font-size: 18px;
  letter-spacing: .04em;
  color: var(--white);
  padding: 6px 0;
  border-bottom: 3px solid transparent;
  transition: color .15s, border-color .15s;
}

.main-nav a:not(.pill):hover,
.main-nav a.is-active:not(.pill) {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

/* -- SC CMS menu inside nav band -- */
.nav-band .SC-Menu.tier1 {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-band .SC-Menu_link {
  font-family: var(--display) !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  letter-spacing: .04em !important;
  color: var(--white) !important;
  padding: 6px 0 !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  transition: color .15s, border-color .15s;
  background: none !important;
  box-shadow: none !important;
  cursor: pointer;
  text-decoration: none !important;
}

.nav-band .SC-Menu_link:hover {
  color: var(--gold) !important;
  background: none !important;
  border-bottom-color: transparent !important;
  text-decoration: none !important;
}

/* -- Focus rings (ADA) — visible for keyboard users, hidden for mouse -- */
.nav-band .SC-Menu_link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}
.nav-band .SC-Menu_item.parent > .SC-Menu.tier2 .SC-Menu_link:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: -2px;
  border-radius: 2px;
  background: rgba(14,37,57,.05);
}
.utility-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}

/* -- SC CMS dropdown (tier2) overrides -- */
.nav-band .SC-Menu_item.parent {
  position: relative;
}

.nav-band .SC-Menu_item.parent > .SC-Menu.tier2 {
  display: none;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: var(--white) !important;
  border: 1.5px solid rgba(14,37,57,.15) !important;
  border-radius: 4px !important;
  padding: 14px 0 6px !important;
  min-width: 220px !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.14) !important;
  list-style: none !important;
  margin: 0 !important;
  z-index: 200 !important;
}

.nav-band .SC-Menu_item.parent:hover > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent:focus-within > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent.is-keyboard-open > .SC-Menu.tier2,
.nav-band .SC-Menu_item.parent:has(> .SC-Menu_link:focus-visible) > .SC-Menu.tier2 {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  clip: auto !important;
  clip-path: none !important;
  height: auto !important;
  overflow: visible !important;
}

.nav-band .SC-Menu.tier2 .SC-Menu_link {
  font-family: var(--cond) !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: .04em !important;
  color: var(--navy-deep) !important;
  padding: 10px 20px !important;
  border: none !important;
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  background: none !important;
  box-shadow: none !important;
  transition: color .12s, background .12s;
}

.nav-band .SC-Menu.tier2 .SC-Menu_link:hover {
  color: var(--red) !important;
  background: rgba(14,37,57,.05) !important;
  border: none !important;
}

/* Hide SC's mobile Back/Close buttons on desktop */
.nav-band .SC-Menu_button {
  display: none;
}

/* -- Mobile hamburger -- */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: 0;
  padding: 10px;
  cursor: pointer;
}

.nav-toggle span {
  width: 28px;
  height: 3px;
  background: var(--white);
  border-radius: 2px;
  display: block;
  transition: transform .25s, opacity .25s;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.mobile-menu { display: none; }

/* -- Member communities signpost bar -- */
.memberbar {
  background: var(--white);
  color: var(--navy-deep);
}

.memberbar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  min-height: 48px;
  padding: 10px 0;
}

.memberbar__q {
  font-size: 15.5px;
  font-weight: 600;
}

.memberbar__link {
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: 14px;
  color: var(--red);
  border-bottom: 2px solid rgba(211, 47, 29, .34);
  padding-bottom: 1px;
  white-space: nowrap;
  transition: .12s;
}

.memberbar__link:hover {
  border-bottom-color: var(--red);
}

@media (max-width: 620px) {
  .memberbar__q { font-size: 14.5px; }
  .memberbar__inner { gap: 8px 12px; flex-direction: column; }
  .memberbar__sep { display: none; }
  .memberbar__link { font-size: 15px; }
}

/* ==========================================================================
   8. FOOTER
   ========================================================================== */
.site-footer {
  position: relative;
  background: #e9eef4;
  padding: 64px 0 40px;
  color: var(--navy-deep);
  overflow: hidden;
}

/* Footer badge/watermark — removed */
.site-footer::before { display: none !important; }
.site-footer__badge { display: none !important; }

.site-footer__top {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr 1fr 1fr;
  gap: 32px;
  margin-bottom: 44px;
}

.site-footer__logo {
  width: 200px;
  margin-bottom: 18px;
}

.site-footer__blurb {
  font-size: 14px;
  color: var(--ink);
  max-width: 34ch;
}

.site-footer h4 {
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .1em;
  font-size: 15px;
  text-transform: uppercase;
  color: var(--navy-deep);
  margin-bottom: 16px;
}

.site-footer__col a {
  display: block;
  font-size: 15px;
  color: var(--ink);
  padding: 5px 0;
  transition: color .12s;
}
.site-footer__col a:hover { color: var(--red); }

/* SC-rendered menu inside footer */
.site-footer .SC-Menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer .SC-Menu_link {
  display: block;
  font-size: 15px;
  color: var(--ink);
  padding: 5px 0;
  transition: color .12s;
}

.site-footer .SC-Menu_link:hover { color: var(--red); }

.site-footer__bottom {
  border-top: 1px solid #cfd9e2;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 13px;
  color: #7c93a8;
}

.site-footer__bottom a {
  color: #7c93a8;
  transition: color .12s;
}
.site-footer__bottom a:hover { color: var(--red); }

/* Footer communities column */
.site-footer__col--communities .fc-group {
  margin-bottom: 14px;
}
.fc-group__state {
  display: block;
  font-family: var(--cond);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #8ea0b0;
  margin-bottom: 2px;
}
.site-footer__col--communities a {
  font-size: 14px;
  padding: 3px 0;
}

/* ==========================================================================
   9. MEMBER PORTAL
   Scoped to .SC-AccountPage (authenticated) and .rmf-login-background (login page).
   Targets actual RMFS/SC class names — no template changes required.
   ========================================================================== */

/* --- Login page --- */
.rmf-login-background {
  background: var(--paper);
  padding: 60px 0;
}

/* Form card */
.rmf-login-background .SC-Form {
  background: var(--white) !important;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(14,37,57,.08);
  padding: 36px !important;
}

.rmf-login-background .SC-Form h1 {
  font-family: var(--display);
  font-weight: 900;
  font-size: 22px;
  color: var(--navy-deep);
  margin-bottom: 24px;
}

/* Benefits panel (right column) */
.rmf-login-background .sc-shade-lightest {
  background: var(--navy) !important;
  border-radius: 12px;
  padding: 36px;
  color: var(--white);
}

.rmf-login-background .sc-shade-lightest h2 {
  font-family: var(--display);
  font-weight: 900;
  font-size: 20px;
  color: var(--gold);
  margin-bottom: 12px;
}

.rmf-login-background .sc-shade-lightest p {
  color: rgba(255,255,255,.8);
  font-size: 15px;
}

.rmf-login-background .sc-shade-lightest .sc-uppercase {
  font-family: var(--cond);
  font-size: 13px;
  letter-spacing: .06em;
  color: rgba(255,255,255,.75);
}

/* Links in login */
.rmf-login-background .SC-Link {
  color: var(--blue);
  font-size: 14px;
  transition: color .15s;
}
.rmf-login-background .SC-Link:hover { color: var(--blue-mid); }

/* --- Shared form elements (login + account) --- */
.SC-AccountPage .SC-Field_label,
.rmf-login-background .SC-Field_label {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 12.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ink);
}

.SC-AccountPage .SC-Field_input,
.rmf-login-background .SC-Field_input {
  border: 1.5px solid #cdd8e3;
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--body);
  font-size: 16px;
  color: var(--navy-deep);
  background: var(--white);
  width: 100%;
  transition: border-color .15s, box-shadow .15s;
}

.SC-AccountPage .SC-Field_input:focus,
.rmf-login-background .SC-Field_input:focus {
  border-color: var(--blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(1,101,174,.12);
}

.SC-AccountPage .SC-Field_input:disabled,
.rmf-login-background .SC-Field_input:disabled {
  background: var(--paper);
  color: #8aa0b3;
  cursor: not-allowed;
}

.SC-AccountPage .SC-Field_error,
.rmf-login-background .SC-Field_error {
  display: block;
  font-size: 12.5px;
  color: var(--red);
  margin-top: 4px;
}

/* Plain input/label elements in account cards */
.SC-AccountPage .field label {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 11.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ink);
  display: block;
  margin-bottom: 4px;
}

.SC-AccountPage .field input {
  border: 1.5px solid #cdd8e3;
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--body);
  font-size: 15px;
  color: var(--navy-deep);
  background: var(--white);
  width: 100%;
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s;
}

.SC-AccountPage .field input:focus {
  border-color: var(--blue);
  outline: none;
  box-shadow: 0 0 0 3px rgba(1,101,174,.12);
}

.SC-AccountPage .field input:disabled {
  background: var(--paper);
  color: #8aa0b3;
  cursor: not-allowed;
}

.SC-AccountPage .field__error {
  font-size: 12px;
  color: var(--red);
  margin-top: 4px;
  display: block;
}

.SC-AccountPage .field-note {
  font-size: 12px;
  color: #8aa0b3;
  margin-top: 6px;
  line-height: 1.5;
}

/* Primary buttons */
.SC-AccountPage .SC-Button-primary,
.rmf-login-background .SC-Button-primary {
  appearance: none;
  background: var(--red);
  border: 2px solid var(--red);
  color: var(--white);
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  border-radius: 999px;
  padding: 11px 28px;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}

.SC-AccountPage .SC-Button-primary:hover,
.rmf-login-background .SC-Button-primary:hover {
  background: var(--red-dark);
  border-color: var(--red-dark);
}

/* --- Account layout (authenticated) --- */
.SC-AccountPage {
  background: var(--paper);
  min-height: 60vh;
  color: #000;
}

.SC-AccountPage_wrapper {
  padding: 40px 0 80px;
}

/* Sidebar nav */
.SC-AccountPage .SC-PageNav {
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(14,37,57,.06);
}

.SC-AccountPage .SC-PageNav_link {
  font-family: var(--cond);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: .06em;
  color: var(--ink);
  border-bottom: 1px solid #f0f4f7;
  transition: color .15s, background .15s;
}

.SC-AccountPage .SC-PageNav_link:hover {
  color: var(--navy-deep);
  background: rgba(14,37,57,.03);
}

.SC-AccountPage .SC-PageNav_link.is-current {
  color: var(--blue);
  background: rgba(1,101,174,.06);
  font-weight: 700;
}

/* Sidebar nav — greeting + icon helpers */
.rmf-acct-nav__greeting {
  padding: 16px 20px 14px;
  border-bottom: 1px solid #f0f4f7;
}
.rmf-acct-nav__name {
  display: block;
  font-family: var(--display);
  font-weight: 900;
  font-size: 15px;
  color: var(--navy-deep);
  line-height: 1.2;
}
.rmf-acct-nav__label {
  display: block;
  font-family: var(--cond);
  font-size: 11px;
  letter-spacing: .07em;
  color: #8aa0b3;
  text-transform: uppercase;
  margin-top: 2px;
}
.rmf-acct-nav__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-right: 9px;
  flex-shrink: 0;
  opacity: .7;
  vertical-align: middle;
}
.rmf-acct-nav__icon svg {
  width: 16px;
  height: 16px;
}
.SC-AccountPage .SC-PageNav_link.is-current .rmf-acct-nav__icon {
  opacity: 1;
}
.rmf-acct-nav__signout {
  margin-top: 4px;
  color: #8aa0b3 !important;
  border-top: 1px solid #f0f4f7;
}
.rmf-acct-nav__signout:hover {
  color: var(--red) !important;
}

/* Account grid — sidebar sticky on desktop */
.rmf-acct-grid {
  align-items: flex-start;
}
.rmf-acct-grid .SC-Grid_sidebar {
  position: sticky;
  top: 20px;
}

/* ── Mobile account nav dropdown ───────────────────────────────────────────── */
/* Hidden on desktop; shown < 768px instead of SC's sidebar toggle */
.rmf-acct-mobile-nav { display: none; }

@media (max-width: 767px) {
  /* Show our dropdown, hide SC's sidebar content + toggle button */
  .rmf-acct-mobile-nav { display: block; padding: 12px 0 4px; position: relative; }
  .SC-AccountPage .SC-PageNav_content { display: none !important; }
  .SC-AccountPage .SC-PageNav_menu-toggle { display: none !important; }
  /* Sidebar not sticky on mobile — sits above main content in stacked grid */
  .rmf-acct-grid .SC-Grid_sidebar { position: static; }
  /* Remove card styling from SC-PageNav on mobile — just a container */
  /* overflow:visible is critical — the dropdown is position:absolute and SC-PageNav has overflow:hidden */
  .SC-AccountPage .SC-PageNav { background: transparent; border-radius: 0; box-shadow: none; overflow: visible !important; }
}

@media (min-width: 768px) {
  /* Desktop: force sidebar content visible regardless of SC's is-hidden class */
  .SC-AccountPage .SC-PageNav_content { display: block !important; }
}

/* Dropdown trigger */
.acct-switch__label {
  display: block;
  font-family: var(--display);
  font-weight: 900;
  letter-spacing: .06em;
  font-size: 16px;
  color: var(--navy-deep);
  margin-bottom: 5px;
}
.acct-switch__label-hint { color: var(--navy-deep); font-weight: 400; font-family: var(--cond); font-size: 12px; }
.acct-switch__btn {
  width: 100%;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #fff;
  border: 1.5px solid #dbe4ec;
  border-radius: 10px;
  padding: 0 14px;
  cursor: pointer;
  text-align: left;
  font-family: var(--cond);
  font-weight: 700;
  letter-spacing: .04em;
  font-size: 15px;
  color: var(--navy-deep);
}
.acct-switch__btn[aria-expanded="true"] { border-color: var(--blue); }
.acct-switch__btn:focus-visible {
  outline: none;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(1,90,156,.16);
}
.acct-switch__chev {
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
  transition: transform .16s;
}
.acct-switch__btn[aria-expanded="true"] .acct-switch__chev { transform: rotate(180deg); }

/* Dropdown panel — always drops DOWN, never up */
.acct-switch__menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 6px;
  background: #fff;
  border: 1.5px solid #dbe4ec;
  border-radius: 10px;
  box-shadow: 0 18px 38px rgba(8,37,57,.18);
  padding: 6px;
  display: none;
  z-index: 30;
}
.acct-switch.is-open .acct-switch__menu { display: block; }

.acct-switch__opt {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 11px 12px;
  border-radius: 8px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 15px;
  color: var(--navy-deep);
  text-decoration: none;
}
.acct-switch__opt:hover { background: var(--paper); }
.acct-switch__opt[aria-current="true"] {
  color: var(--red);
  font-weight: 700;
  background: rgba(211,47,29,.07);
}
.acct-switch__opt--signout {
  color: #8aa0b3;
  border-top: 1px solid #f0f4f7;
  margin-top: 4px;
  padding-top: 10px;
}
.acct-switch__opt--signout:hover { color: var(--red); background: none; }

/* ── Mobile table → card layout ────────────────────────────────────────────── */
@media (max-width: 640px) {
  .SC-AccountPage table,
  .SC-AccountPage table thead,
  .SC-AccountPage table tbody,
  .SC-AccountPage table tr { display: block; }

  .SC-AccountPage table thead,
  .SC-AccountPage table thead tr,
  .SC-AccountPage table thead th { display: none !important; }

  .SC-AccountPage table tbody tr {
    background: #fff;
    border: 1px solid #e2e9ef;
    border-radius: 10px;
    margin-bottom: 12px;
    padding: 10px 14px;
    box-shadow: 0 1px 4px rgba(8,37,57,.08);
  }

  .SC-AccountPage table td {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    padding: 7px 0;
    border: none;
    border-bottom: 1px solid #f0f4f7;
    font-size: 13.5px;
    width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
  }
  .SC-AccountPage table td:last-child { border-bottom: none; padding-bottom: 2px; }

  .SC-AccountPage table td::before {
    content: attr(data-th);
    font-family: var(--display);
    font-weight: 900;
    font-size: 11px;
    letter-spacing: .05em;
    color: var(--navy-deep);
    text-transform: uppercase;
    flex-shrink: 0;
    min-width: 108px;
    word-break: normal;
    overflow-wrap: normal;
  }
  /* Hide the label pseudo-element for action columns with no header */
  .SC-AccountPage table:not(.pika-table) td[data-th="-"]::before,
  .SC-AccountPage table:not(.pika-table) td[data-th=""]::before { display: none !important; }

  /* Action cell: centered button row */
  .SC-AccountPage table td.acct-action-cell {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 10px 0 4px !important;
    border-bottom: none !important;
    box-sizing: border-box !important;
  }

  .cert-btn { height: 42px; padding: 0 20px; font-size: 14px; }
}

/* Content panel — wider to fit payments table without scroll */
.SC-AccountPage .SC-Grid_main {
  background: var(--white) !important;
  border-radius: 12px;
  box-shadow: 0 1px 6px rgba(14,37,57,.06);
  min-width: 0;
  flex: 1 1 0%;
  overflow: visible !important;
}
@media (min-width: 992px) {
  .SC-AccountPage .SC-Grid { max-width: 1400px; }
  .SC-AccountPage .SC-Grid_main { min-width: 820px; }
}

/* Section headings (h3.sc-color-blue in profile) */
.SC-AccountPage h3.sc-color-blue {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep) !important;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--paper);
}

/* Subscriptions / orders table */
.SC-AccountPage table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  color: #000;
}

.SC-AccountPage table th {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #000;
  border-bottom: 2px solid #e2e9ef;
  padding: 8px 12px;
  text-align: left;
}

.SC-AccountPage .SC-PageHeader_heading {
  font-family: var(--display);
  font-weight: 900;
  color: #000;
}

.SC-AccountPage .SC-Panel_header_heading {
  font-family: var(--display);
  font-weight: 900;
  color: #000;
}

/* All member portal buttons: unified display font treatment */
.SC-AccountPage .SC-Button,
.SC-AccountPage .SC-Button.SC-Button-large,
.SC-AccountPage .pill,
.SC-AccountPage button[type="button"] {
  font-family: "univers-next-pro", var(--display), Helvetica, Arial, sans-serif !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.SC-AccountPage .SC-Button-primary {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
  border-radius: 999px;
}
.SC-AccountPage .SC-Button-primary:hover {
  background: var(--red-dark);
  border-color: var(--red-dark);
}
.SC-AccountPage .pill--ghost {
  font-family: var(--display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 11px;
}

.SC-AccountPage table td {
  padding: 13px 12px;
  border-bottom: 1px solid #f0f4f7;
  vertical-align: middle;
}

.SC-AccountPage table tr:hover td { background: var(--paper); }

.SC-AccountPage table a {
  color: var(--blue);
  font-weight: 600;
  transition: color .15s;
}
.SC-AccountPage table a:hover { color: var(--navy-deep); }

/* Empty state */
.SC-AccountPage .sc-shade-neutral {
  background: var(--paper);
  border-radius: 8px;
  padding: 32px;
  text-align: center;
  color: #8aa0b3;
}

/* ==========================================================================
   9. MEMBER PORTAL COMPONENTS
   ========================================================================== */

/* Account strip header */
.acct-strip {
  background: var(--navy);
  padding: 22px 0;
  color: var(--white);
}
.acct-strip__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.acct-strip__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 21px;
}
.acct-strip__sub {
  font-size: 13.5px;
  color: rgba(255, 255, 255, .68);
  margin-top: 2px;
}
.acct-strip__logout {
  background: transparent;
  border-color: rgba(255, 255, 255, .55);
  gap: 8px;
}
.acct-strip__logout:hover {
  background: rgba(255, 255, 255, .14);
  border-color: var(--white);
}
.acct-strip__logout svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

/* Account chip in utility bar */
.acct-chip {
  position: relative;
}
.acct-chip__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 0;
  color: var(--white);
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 16px;
  cursor: pointer;
}
.acct-chip__menu {
  position: absolute;
  top: 130%;
  right: 0;
  background: var(--white);
  border-radius: 12px;
  box-shadow: 0 16px 34px rgba(8, 37, 57, .24);
  min-width: 170px;
  padding: 8px;
  display: none;
  z-index: 20;
}
.acct-chip.is-open .acct-chip__menu {
  display: block;
}
.acct-chip__menu a {
  display: block;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 14px;
  color: var(--navy-deep);
}
.acct-chip__menu a:hover {
  background: var(--paper);
}

/* Sticky pill tabs — top is set by JS to match .rmf-header height; 180px is fallback */
.acct-tabs-wrap {
  position: sticky;
  top: 180px;
  background: var(--white);
  border-bottom: 1px solid #e2e9ef;
  z-index: 15;
}
@media (max-width: 640px) {
  .acct-tabs-wrap { top: 150px; }
}
.acct-tabs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.acct-tabs {
  display: flex;
  gap: 6px;
  padding: 14px 0;
  overflow-x: auto;
  flex: 1;
}
.acct-tabs-logout {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 14px;
  color: #8aa0b3;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color .12s;
}
.acct-tabs-logout svg { width: 15px; height: 15px; }
.acct-tabs-logout:hover { color: var(--red); }
.acct-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 15px;
  color: var(--ink);
  background: var(--white);
  border: 1.5px solid #dbe4ec;
  border-radius: 999px;
  padding: 9px 18px;
  cursor: pointer;
  white-space: nowrap;
  transition: .12s;
}
.acct-tab svg {
  width: 16px;
  height: 16px;
}
.acct-tab:hover {
  border-color: var(--blue);
}
.acct-tab[aria-selected="true"] {
  background: var(--navy-deep);
  border-color: var(--navy-deep);
  color: var(--white);
}

/* Mobile tab switcher */
.acct-switch {
  display: none;
}
@media (max-width: 576px) {
  .acct-tabs {
    display: none;
  }
  .acct-switch {
    display: block;
    padding: 10px 0;
    position: relative;
  }
  .acct-switch__label {
    display: block;
    font-family: var(--display);
    font-weight: 900;
    letter-spacing: .06em;
    font-size: 16px;
    color: var(--navy-deep);
    margin-bottom: 5px;
  }
  .acct-switch__label-hint { color: var(--navy-deep); font-weight: 400; font-family: var(--cond); font-size: 12px; }
  .acct-switch__btn {
    width: 100%;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: var(--white);
    border: 1.5px solid #dbe4ec;
    border-radius: 10px;
    padding: 0 14px;
    cursor: pointer;
    text-align: left;
    font-family: var(--cond);
    font-weight: 700;
    letter-spacing: .04em;
    font-size: 15px;
    color: var(--navy-deep);
  }
  .acct-switch__btn[aria-expanded="true"] {
    border-color: var(--blue);
  }
  .acct-switch__btn:focus-visible {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(1, 90, 156, .16);
  }
  .acct-switch__chev {
    width: 13px;
    height: 13px;
    flex: 0 0 auto;
    transition: transform .16s;
  }
  .acct-switch__btn[aria-expanded="true"] .acct-switch__chev {
    transform: rotate(180deg);
  }
  .acct-switch__menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 6px;
    background: var(--white);
    border: 1.5px solid #dbe4ec;
    border-radius: 10px;
    box-shadow: 0 18px 38px rgba(8, 37, 57, .20);
    padding: 6px;
    display: none;
    z-index: 30;
  }
  .acct-switch.is-open .acct-switch__menu {
    display: block;
  }
  .acct-switch__opt {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 11px 12px;
    border-radius: 8px;
    font-family: var(--cond);
    font-weight: 500;
    letter-spacing: .04em;
    font-size: 15px;
    color: var(--navy-deep);
  }
  .acct-switch__opt:hover {
    background: var(--paper);
  }
  .acct-switch__opt[aria-current="true"] {
    color: var(--red);
    font-weight: 700;
    background: rgba(211, 47, 29, .08);
  }
}

/* Tab panels */
.tab-panel {
  display: none;
}
.tab-panel.is-active {
  display: block;
}

/* Profile info grid */
.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.info-card {
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 16px;
  padding: 22px;
}
.info-card__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  color: var(--navy-deep);
  margin-bottom: 4px;
}
.info-card__hint {
  font-size: 13px;
  color: #7c93a8;
  margin-bottom: 14px;
}
.field-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.field {
  flex: 1 1 200px;
}
.field label {
  display: block;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12.5px;
  color: #7c93a8;
  margin-bottom: 4px;
}
.field input {
  width: 100%;
  height: 42px;
  border-radius: 8px;
  border: 1.5px solid #d5dee6;
  padding: 0 12px;
  font-family: var(--body);
  font-size: 15px;
  color: var(--navy-deep);
}
.field input:disabled {
  background: #f3f6f9;
  color: #8aa0b3;
}
.field-note {
  font-size: 12px;
  color: #8aa0b3;
  margin-top: 4px;
}
@media (max-width: 768px) {
  .info-grid {
    grid-template-columns: 1fr;
  }
}

/* Badges */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .05em;
  font-size: 12.5px;
  color: var(--white);
  border-radius: 999px;
  padding: 4px 12px;
}
.badge i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--white);
  display: block;
}
.badge--active {
  background: var(--green);
}
.badge--suspended {
  background: var(--red-dark);
}
.badge--review {
  background: var(--navy-deep);
}
.badge--cancelled {
  background: #8aa0b3;
}

/* Subscriptions */
.sub-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.sub-count {
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 14px;
  color: #7c93a8;
}
.sub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 992px) {
  .sub-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .sub-grid {
    grid-template-columns: 1fr;
  }
}
.sub-card {
  background: var(--white);
  border: 1.5px solid #e2e9ef;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: .12s;
}
.sub-card:hover {
  border-color: var(--blue);
}
.sub-card__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub-card__ref {
  font-family: var(--display);
  font-weight: 900;
  font-size: 15px;
  color: var(--navy-deep);
}
.sub-card__meta {
  display: flex;
  gap: 18px;
  font-size: 13.5px;
  color: var(--ink);
}
.sub-card__meta b {
  display: block;
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 11.5px;
  color: #8aa0b3;
}
.sub-card__pay {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  color: var(--ink);
  background: var(--paper);
  border-radius: 10px;
  padding: 9px 12px;
}
.sub-card__pay b {
  font-family: var(--cond);
  font-weight: 500;
  color: #8aa0b3;
  letter-spacing: .04em;
  font-size: 11px;
  display: block;
}
.sub-card__pay a {
  font-family: var(--cond);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: 12px;
  color: var(--blue);
}
.sub-card__pay a:hover {
  color: var(--red);
}
.sub-card__cta {
  align-self: flex-start;
}

/* Subscription links */
.sub-link {
  color: var(--blue);
  font-weight: 600;
  transition: .12s;
}
.sub-link:hover {
  color: var(--red);
  text-decoration: underline;
}
.sub-action-link {
  color: var(--blue);
  font-size: 14px;
  transition: .12s;
}
.sub-action-link:hover {
  color: var(--red);
}

/* Back link for drill-down pages */
.acct-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  color: var(--blue);
  margin-bottom: 20px;
  cursor: pointer;
  text-decoration: none;
}
.acct-back:hover {
  color: var(--red);
}

/* Payment page */
#payment-page-container {
  display: none;
}
#payment-page-container.is-active {
  display: block;
}
#subscriptions-main {
  display: block;
}
#subscriptions-main.is-hidden {
  display: none;
}
.payment-container {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  max-width: 1000px;
}
@media (max-width: 960px) {
  .payment-container {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .payment-summary-col {
    order: 2;
  }
  .payment-form-col {
    order: 1;
  }
}
.payment-form-col {
  display: flex;
  flex-direction: column;
}
.payment-page input[type="checkbox"],
.payment-page input[type="radio"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/* Subscription drill-down */
.sub-list.is-hidden {
  display: none;
}
.sub-detail {
  display: none;
}
.sub-detail.is-active {
  display: block;
}
.sub-detail.is-hidden {
  display: none;
}
.order-detail {
  display: none;
}
.order-detail.is-active {
  display: block;
}
.order-detail.is-hidden {
  display: none;
}
.order-detail-0,
.order-detail-1 {
  display: none;
}
.order-detail-0.is-active,
.order-detail-1.is-active {
  display: block;
}
.sub-back {
  background: none;
  border: 0;
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 14px;
  color: var(--blue);
  cursor: pointer;
  margin-bottom: 18px;
}
.sub-back:hover {
  color: var(--red);
}
.sub-detail__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 26px;
}
.sub-detail__ref {
  font-family: var(--display);
  font-weight: 900;
  font-size: 22px;
  color: var(--navy-deep);
  display: flex;
  align-items: center;
  gap: 12px;
}
.sub-detail__cta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.fact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .fact-grid {
    grid-template-columns: 1fr;
  }
}
.fact-card {
  background: var(--paper);
  border-radius: 14px;
  padding: 18px;
}
.fact-card b {
  display: block;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12px;
  color: #8aa0b3;
  margin-bottom: 4px;
}
.fact-card span {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep);
}
.fact-card--locked {
  opacity: .65;
}
.fact-card--locked span {
  font-size: 14px;
  font-family: var(--body);
  font-weight: 400;
  color: #8aa0b3;
}
.detail-section {
  margin-bottom: 30px;
}
.detail-section__title {
  font-family: var(--display);
  font-weight: 900;
  font-size: 17px;
  color: var(--navy-deep);
  margin-bottom: 12px;
}
.prop-row,
.order-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.order-row__meta {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: 14px;
  color: var(--ink);
}
.mock-note {
  font-size: 12.5px;
  color: #8aa0b3;
  font-style: italic;
  margin-top: 6px;
}
.is-disabled-pill {
  opacity: .55;
  cursor: not-allowed;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.lock-note {
  font-size: 11px;
}

/* Payments grouped sections */
.pmts-group {
  margin-bottom: 36px;
}
.pmts-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.pmts-group__name {
  font-family: var(--display);
  font-weight: 900;
  font-size: 16px;
  color: var(--navy-deep);
}
.pmts-group__count {
  font-family: var(--cond);
  letter-spacing: .04em;
  font-size: 13px;
  color: #8aa0b3;
  margin-top: 2px;
}

/* Order detail — remove grey box from Qty and term in order summary */
.SC-AccountPage .SC-CartItem .sc-shade-neutral {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
/* Align qty and term on same row */
.SC-AccountPage .SC-CartItem .sc-one-quarter {
  width: auto !important;
  display: inline !important;
}
/* Hide duplicate subscription line items in order summary */
.SC-AccountPage .SC-OrderSummary_subscriptions { display: none !important; }

/* Payments widget table */
[data-payments-widget] table { width: 100%; table-layout: auto; }
[data-payments-widget] button[type="button"] { padding: 0 14px !important; font-size: 12px !important; height: 34px !important; line-height: 34px !important; }
.SC-AccountPage [data-payments-widget] th,
.SC-AccountPage [data-payments-widget] td { white-space: nowrap !important; word-break: normal !important; }
.SC-AccountPage [data-payments-widget] td[data-th="Subscription"] { white-space: normal !important; min-width: 120px; }
@media (max-width: 640px) {
  [data-payments-widget] table { min-width: 0; }
  .SC-AccountPage [data-payments-widget] th,
  .SC-AccountPage [data-payments-widget] td { white-space: normal !important; word-break: normal !important; }
  .SC-AccountPage [data-payments-widget] td::before { min-width: 130px !important; }
}

/* Payments table */
.acct-table {
  width: 100%;
  border-collapse: collapse;
}
.acct-table th {
  text-align: left;
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 12.5px;
  color: #8aa0b3;
  padding: 10px 14px;
  border-bottom: 2px solid #e2e9ef;
}
.acct-table td {
  padding: 14px;
  border-bottom: 1px solid #eef2f6;
  font-size: 14.5px;
  color: var(--ink);
}
.acct-table tr:hover td {
  background: var(--paper);
}
@media (max-width: 576px) {
  .acct-table {
    font-size: 13px;
  }
  .acct-table th {
    display: none;
  }
  .acct-table td {
    display: block;
    padding: 4px 0;
    border: none;
    text-align: left;
    font-size: 13px;
  }
  .acct-table td:before {
    content: attr(data-th);
    font-family: var(--cond);
    font-weight: 500;
    color: #8aa0b3;
    font-size: 10px;
    display: block;
    margin-bottom: 1px;
  }
  .acct-table tr {
    display: block;
    border: 1px solid #e2e9ef;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
  }
}
.tt {
  position: relative;
  cursor: help;
  border-bottom: 1px dotted #8aa0b3;
}
.tt:hover::after {
  content: attr(data-tip);
  position: absolute;
  bottom: 120%;
  left: 0;
  background: var(--navy-deep);
  color: var(--white);
  font-size: 12px;
  padding: 8px 10px;
  border-radius: 8px;
  width: 220px;
  line-height: 1.4;
  z-index: 5;
}

/* Covered properties list */
.prop-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.prop-item {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 18px;
  background: var(--white);
  border: 1px solid #e2e9ef;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 10px;
  transition: .12s;
}
.prop-item:hover {
  border-color: #cfdae5;
  background: var(--paper);
}
.prop-item__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  border-radius: 10px;
  background: var(--paper);
  color: var(--blue);
}
.prop-item:hover .prop-item__icon {
  background: var(--white);
}
.prop-item__icon svg {
  width: 22px;
  height: 22px;
}
.prop-item__addr {
  font-family: var(--display);
  font-weight: 900;
  font-size: 15.5px;
  color: var(--navy-deep);
}
.prop-item__meta {
  font-size: 13px;
  color: #8aa0b3;
  margin-top: 2px;
}
.prop-item__sub {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  min-width: 172px;
}
.prop-item__sublabel {
  font-family: var(--cond);
  letter-spacing: .05em;
  font-size: 11.5px;
  color: #8aa0b3;
}
.prop-item__none {
  font-size: 13.5px;
  color: #8aa0b3;
}
.prop-item__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .prop-item {
    grid-template-columns: auto 1fr;
    row-gap: 14px;
    column-gap: 14px;
  }
  .prop-item__sub,
  .prop-item__actions {
    grid-column: 2;
    min-width: 0;
  }
  .prop-item__sub {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }
}

/* Subscription highlight animation */
.sub-row-flash {
  animation: subFlash 2.4s ease-out 1;
}
@keyframes subFlash {
  0%, 55% {
    background: rgba(1, 90, 156, .14);
  }
  100% {
    background: transparent;
  }
}

/* Utility styles */
.pill--red-outline {
  background: transparent;
  border: 2px solid var(--red);
  color: var(--red);
}
.pill--red-outline:hover {
  background: var(--red);
  color: var(--white);
}
.order-summary {
  background: var(--paper);
  border-radius: 10px;
  padding: 18px;
  text-align: right;
}

/* ==========================================================================
   10. RESPONSIVE
   ========================================================================== */
@media (max-width: 1200px) {
  .main-nav { gap: 20px; }
  .main-nav a:not(.pill) { font-size: 18px; }
  .nav-band .SC-Menu.tier1 { gap: 20px; }
  .nav-band .SC-Menu_link { font-size: 17px !important; }
}

@media (max-width: 992px) {
  .main-nav { gap: 14px; }
  .main-nav a:not(.pill) { font-size: 16px; }
  .nav-band .SC-Menu.tier1 { gap: 14px; }
  .nav-band .SC-Menu_link { font-size: 15px !important; }
  .utility-bar__inner { gap: 18px; }
  .utility-link { font-size: 14px; }
  .utility-link__icon { width: 20px; height: 20px; }
  .site-footer__top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  /* Nav: hide desktop, show hamburger */
  .main-nav   { display: none; }
  .nav-toggle { display: flex; }
  .nav-band   { z-index: 40; }
  .nav-band__inner { position: relative; }

  /* SC mobile menu — styled via is-active class added by SC's menu.js on hamburger click */
  .nav-band .SC-Menu.tier1 { display: none !important; }
  .nav-band .SC-Menu.tier1.is-active {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: var(--navy) !important;
    border-top: 3px solid var(--blue-mid) !important;
    box-shadow: 0 18px 34px rgba(8,37,57,.34) !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 12px 24px 16px !important;
    list-style: none !important;
    margin: 0 !important;
    z-index: 50 !important;
  }
  /* Links inside the open mobile nav */
  .nav-band .SC-Menu.tier1.is-active > .SC-Menu_item > .SC-Menu_link {
    display: block !important;
    font-family: var(--cond) !important;
    font-weight: 500 !important;
    font-size: 17px !important;
    letter-spacing: .05em !important;
    color: var(--white) !important;
    padding: 13px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    background: none !important;
    text-decoration: none !important;
    width: 100% !important;
  }
  .nav-band .SC-Menu.tier1.is-active > .SC-Menu_item > .SC-Menu_link:hover,
  .nav-band .SC-Menu.tier1.is-active > .SC-Menu_item > .SC-Menu_link:focus {
    color: var(--gold) !important;
  }
  /* Tier2 inside mobile — always visible, indented */
  .nav-band .SC-Menu.tier1.is-active .SC-Menu.tier2 {
    display: block !important;
    padding-left: 16px !important;
    list-style: none !important;
    margin: 0 !important;
  }
  .nav-band .SC-Menu.tier1.is-active .SC-Menu.tier2 .SC-Menu_link {
    font-size: 14px !important;
    color: rgba(255,255,255,.65) !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }

  /* Mobile nav: plain tags rebuilt by JS — no SC classes, no SC popup hooks */
  .mobile-nav__link {
    font-family: var(--cond);
    font-weight: 500;
    font-size: 17px;
    letter-spacing: .05em;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 13px 0;
    border: none;
    border-bottom: 1px solid rgba(255,255,255,.12);
    background: none;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    transition: color .12s;
  }
  .mobile-nav__link:hover { color: var(--gold); }

  /* Chevron on collapsible toggles */
  .mobile-nav__chev {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: transform .2s;
  }
  .mobile-nav__toggle[aria-expanded="true"] .mobile-nav__chev { transform: rotate(180deg); }

  /* Collapsible group wrapper */
  .mobile-nav__group { display: block; }
  .mobile-nav__children { padding-bottom: 4px; }

  .mobile-nav__child {
    font-family: var(--cond);
    font-size: 14px;
    color: rgba(255,255,255,.65);
    display: block;
    padding: 9px 0 9px 16px;
    border-bottom: 1px solid rgba(255,255,255,.06);
    text-decoration: none;
    transition: color .12s;
  }
  .mobile-nav__child:hover { color: var(--gold); }
  .mobile-nav__child:last-child { border-bottom: none; }

  /* Utility bar: centered layout */
  .utility-bar__inner { height: auto; padding: 6px 0; gap: 16px; justify-content: center; }
  .utility-link { font-size: 16px; min-height: 44px; gap: 10px; }
  .utility-link__icon { width: 24px; height: 24px; }
  .utility-link--careers { display: none; }
  .utility-strip { height: 6px; }

  .SC-AccountPage .sub-grid { grid-template-columns: repeat(2, 1fr); }
  .SC-AccountPage .info-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .SC-AccountPage .sub-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .section { padding: 60px 0; }
  .pill--lg { font-size: 18px; height: 54px; padding: 0 28px; }
  .nav-band__inner { min-height: 80px; }
  .logo img { width: 160px; }
}

@media (max-width: 576px) {
  .utility-bar__inner { height: auto; padding: 6px 0; gap: 10px 20px; flex-wrap: wrap; justify-content: center; }
  .utility-link { font-size: 16px; gap: 8px; letter-spacing: .04em; min-height: 44px; }
  .utility-link__icon { width: 24px; height: 24px; }
  .utility-link--contact { display: none; }
  .login-chip__chev { width: 12px; height: 12px; margin-left: 0; }
  .utility-strip { height: 4px; }

  /* Hero heading — scale down on mobile, prevent cut-off */
  .SC-Banner_heading { font-size: clamp(30px, 8vw, 42px) !important; word-break: break-word !important; overflow-wrap: break-word !important; }
  /* Subtitle ("Since 1948") — keep smaller than the heading */
  .SC-Banner_heading { margin-bottom: 0 !important; }
  .SC-Banner_subheading { font-size: 28px !important; margin-top: 4px !important; }
}

/* ===== BEGIN component library — ported from site.css 2026-09-15 ===== */
/* site.css defines this token; the store :root above does not. */
:root{--radius-card:6px}
.ph{display:flex;align-items:center;justify-content:center;text-align:center; background:repeating-linear-gradient(45deg,#e9eef3,#e9eef3 14px,#eff3f7 14px,#eff3f7 28px); color:#7c93a8;font-family:var(--cond);font-weight:500;letter-spacing:.1em;font-size:15px; border:1px solid #d5dee6;border-radius:var(--radius-card);min-height:220px;padding:20px}
.ph--hero{min-height:520px;border-radius:0;border:0}
.pill__icon{height:1.25em;width:auto;flex:0 0 auto}
.hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero--short{min-height:440px}
.hero__img{position:absolute;inset:0}
.hero__img .ph{height:100%;border-radius:0;border:0}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,37,57,.92) 0%,rgba(14,37,57,.55) 100%)}
.hero__content{position:relative;padding:72px 24px}
.hero__headline{font-family:var(--display);font-weight:900;font-size:clamp(34px,4.6vw,60px);line-height:1.1;color:var(--white);margin-bottom:20px}
.hero__sub{color:var(--white);font-size:19px;max-width:56ch;margin-bottom:34px}
.hero__ctas{display:flex;gap:18px;flex-wrap:wrap}
.crumb{background:var(--paper);border-bottom:1px solid #e2e9ef}
.crumb__inner{padding:14px 0;font-family:var(--cond);font-weight:500;letter-spacing:.05em;font-size:15px;color:var(--ink)}
.crumb a:hover{color:var(--red)}
.crumb span{color:var(--gold-dark)}
.paths__grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.path-card{display:block;position:relative;overflow:hidden;border-radius:var(--radius-card);min-height:420px;color:var(--white); box-shadow:0 6px 20px rgba(8,37,57,.14);transition:box-shadow .18s,transform .18s}
.path-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,37,57,.28)}
.path-card__img{position:absolute;inset:0}
.path-card__img .media{width:100%;height:100%;object-fit:cover}
.path-card__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,37,57,.96) 0%,rgba(8,37,57,.78) 42%,rgba(8,37,57,.35) 100%)}
.path-card__body{position:relative;z-index:2;display:flex;flex-direction:column;gap:16px;padding:48px 44px 44px;min-height:420px;justify-content:flex-end}
.path-card__title{font-family:var(--display);font-weight:900;font-size:clamp(26px,2.6vw,34px);line-height:1.12}
.path-card__copy{font-size:16px;color:rgba(255,255,255,.88)}
.path-card__cta{margin-top:4px;align-self:flex-start}
.proof{position:relative;overflow:hidden;background:var(--navy);padding:80px 0 64px}
.proof__img{position:absolute;inset:0}
.proof__img .ph{height:100%;border-radius:0;border:0}
.proof__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,37,57,.94),rgba(14,37,57,.9))}
.proof>.shell{position:relative}
.proof__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;margin-bottom:52px;list-style:none}
.proof__num{display:block;font-family:var(--display);font-weight:900;font-size:clamp(44px,5vw,64px);line-height:1;color:var(--gold);margin-bottom:10px}
.proof__label{font-family:var(--cond);font-weight:500;font-size:20px;letter-spacing:.08em;color:var(--white)}
.proof__marquee{overflow:hidden;position:relative;max-width:920px;margin:0 auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.proof__track{display:flex;gap:24px;width:max-content;animation:logo-scroll 32s linear infinite}
.proof__marquee:hover .proof__track{animation-play-state:paused}
.proof__chip{display:flex;align-items:center;justify-content:center;height:78px;min-width:180px;padding:0 30px;background:var(--white);border-radius:var(--radius-card);flex:0 0 auto;box-shadow:0 3px 12px rgba(8,37,57,.10)}
.proof__chip img{max-height:42px;width:auto;max-width:150px}
@media(prefers-reduced-motion:reduce){
  .proof__track{flex-wrap:wrap;width:auto;justify-content:center}
  .proof__marquee{-webkit-mask-image:none;mask-image:none}
}
.split{scroll-margin-top:28px;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.split--flip .split__media{order:-1}
.split__text p:not(.lead-in){margin-bottom:18px;max-width:58ch}
.section--navy .split__text p{color:rgba(255,255,255,.9)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--white);border:1px solid #e2e9ef;border-radius:var(--radius-card);padding:32px; box-shadow:0 4px 14px rgba(8,37,57,.08);transition:box-shadow .18s,transform .18s,border-color .18s}
.section--paper .card{background:var(--white)}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(8,37,57,.12)}
.card__kicker{font-family:var(--cond);font-weight:500;font-size:14px;letter-spacing:.1em;color:var(--gold-dark);margin-bottom:10px}
.card__title{font-family:var(--display);font-weight:900;font-size:21px;color:var(--navy-deep);margin-bottom:10px}
.card__copy{font-size:15px;color:var(--ink)}
.card--dark .card__title{color:#fff}
.card--dark .card__copy{color:rgba(255,255,255,.82)}
.obj{list-style:none;display:grid;gap:16px}
.obj li{background:var(--white);border:1px solid #e2e9ef;border-left:5px solid var(--gold);border-radius:var(--radius-card);padding:22px 26px}
.obj strong{font-family:var(--display);font-weight:900;color:var(--navy-deep);display:block;margin-bottom:6px;font-size:18px}
.obj span{color:var(--ink);font-size:15px}
.callout{background:#eef3f7;border:1px solid #d5dee6;border-radius:16px;padding:22px 26px;font-size:15px;color:var(--ink)}
.callout strong{color:var(--navy-deep)}
.tool-card{background:var(--navy-deep);border-radius:var(--radius-card);padding:56px;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center; box-shadow:0 8px 26px rgba(8,37,57,.16)}
.tool-card--half .tool-card__title{font-size:clamp(20px,2vw,24px)}
.tool-card__title{font-family:var(--display);font-weight:900;font-size:clamp(24px,2.6vw,32px);line-height:1.15;color:var(--white);margin-bottom:10px}
.tool-card__sub{font-family:var(--cond);font-weight:500;font-size:17px;letter-spacing:.08em;color:var(--gold);margin-bottom:16px}
.tool-card__copy{color:rgba(255,255,255,.85);font-size:16px;max-width:52ch}
.tool-card__actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.tool-card__alt{font-family:var(--cond);font-weight:500;font-size:17px;color:var(--gold);border-bottom:2px solid transparent}
.tool-card__alt:hover{border-bottom-color:var(--gold)}
.assess{max-width:840px;margin:0 auto}
.assess__progress{height:10px;border-radius:6px;background:#e2e9ef;overflow:hidden;margin-bottom:10px}
.assess__progress i{display:block;height:100%;background:var(--gold);border-radius:6px}
.assess__step{font-family:var(--cond);font-weight:500;letter-spacing:.06em;color:var(--ink);font-size:15px;margin-bottom:28px}
.q{background:var(--white);border:1px solid #e2e9ef;border-radius:18px;padding:26px;margin-bottom:18px}
.q__text{font-family:var(--display);font-weight:900;font-size:19px;color:var(--navy-deep);margin-bottom:6px}
.q__eg{font-size:14px;color:#7c93a8;margin-bottom:16px}
.scale{display:flex;gap:8px;flex-wrap:wrap}
.scale button{width:46px;height:46px;border-radius:12px;border:2px solid #d5dee6;background:#fff;font-family:var(--display);font-weight:900;font-size:17px;color:var(--navy-deep);cursor:pointer;transition:.12s}
.scale button:hover{border-color:var(--gold)}
.scale button.sel{background:var(--gold);border-color:var(--gold);color:#fff}
.result{background:var(--navy-deep);border-radius:var(--radius-card);padding:36px;color:#fff;text-align:center}
.result__tier{font-family:var(--cond);letter-spacing:.1em;color:var(--gold);font-size:16px}
.result__score{font-family:var(--display);font-weight:900;font-size:56px;line-height:1;margin:8px 0}
.result__bar{height:14px;border-radius:8px;background:#12314b;overflow:hidden;margin:20px 0}
.result__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--gold))}
.gate{background:var(--white);border:2px solid var(--gold);border-radius:var(--radius-card);padding:32px;margin-top:24px;text-align:center}
.gate input{height:48px;border-radius:999px;border:2px solid #d5dee6;padding:0 22px;font-size:16px;font-family:var(--body);min-width:280px;flex:1 1 280px}
.gate__row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.tier{border-radius:16px;padding:20px;text-align:center;color:#fff}
.tier b{display:block;font-family:var(--display);font-weight:900;font-size:16px;margin-bottom:4px}
.tier span{font-size:13px;opacity:.9}
.conversion{position:relative;overflow:hidden;background:var(--navy);display:flex;align-items:center;min-height:420px}
.conversion__img{position:absolute;inset:0}
.conversion__img .ph{height:100%;border-radius:0;border:0}
.conversion__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,37,57,1),rgba(39,103,159,.45))}
.conversion__content{position:relative;text-align:center;padding:80px 24px;width:100%}
.conversion__headline{font-family:var(--display);font-weight:900;font-size:clamp(30px,4vw,46px);color:#fff;line-height:1.1;margin-bottom:16px}
.conversion__sub{color:#fff;max-width:52ch;margin:0 auto 34px}
.conversion__ctas{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.map-wrap{position:relative;border-radius:var(--radius-card);overflow:hidden;border:1px solid #d5dee6}
.map-legend{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px}
.map-legend span{display:inline-flex;align-items:center;gap:8px;font-family:var(--cond);letter-spacing:.05em;font-size:15px;color:var(--ink)}
.map-legend i{width:14px;height:14px;border-radius:50%}
.dot-red{background:var(--red)}
.dot-gold{background:var(--gold)}
.dot-blue{background:var(--blue)}
@media(max-width:992px){
  .paths__grid,.split,.tool-card,.qa{grid-template-columns:1fr}
  .split--flip .split__media{order:0}
  .cards,.cards--4{grid-template-columns:repeat(2,1fr)}
  .proof__stats{grid-template-columns:repeat(2,1fr);row-gap:36px}
  .tiers{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .hero__ctas{gap:12px}
}
@media(max-width:576px){
  .cards,.cards--2,.cards--4,.tiers{grid-template-columns:1fr}
  .hero{min-height:520px}
  .hero__ctas{gap:10px}
  .path-card__body,.tool-card,.coverage-card{padding:36px 28px}
  .path-card__body{min-height:340px}
  .proof__stats{grid-template-columns:repeat(2,1fr)}
}
.media{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.hero__img .media,.conversion__img .media,.proof__img .media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.split__media .media,.map-wrap .media{border-radius:inherit}
figure.split__media{border-radius:var(--radius-card);overflow:hidden}
.split__media.is-photo{min-height:340px;position:relative}
.card--photo img.media{position:absolute;inset:0;z-index:0}
.card--photo .card__title{color:#fff}
.card--photo .card__copy{color:rgba(255,255,255,.9)}
.card--photo .card__kicker{color:var(--gold)}
.chief-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.chief{text-align:center}
.chief img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-card);margin-bottom:14px;background:#e9eef3}
.chief b{display:block;font-family:var(--display);font-size:17px;color:var(--navy-deep)}
.chief span{font-family:var(--cond);letter-spacing:.05em;font-size:14px;color:var(--gold-dark)}
@media(max-width:1000px){
  .chief-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .chief-grid{grid-template-columns:1fr 1fr}
}
video.media{background:var(--navy)}
.qa-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px}
.qa-card{position:relative;display:block;overflow:hidden;border-radius:var(--radius-card);min-height:280px;color:#fff; box-shadow:0 6px 20px rgba(8,37,57,.14);transition:box-shadow .18s,transform .18s}
.qa-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,37,57,.24)}
.qa-card__img{position:absolute;inset:0}
.qa-card__img .media{width:100%;height:100%;object-fit:cover}
.qa-card__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,37,57,.95) 0%,rgba(8,37,57,.75) 45%,rgba(8,37,57,.3) 100%)}
.qa-card__body{position:relative;z-index:2;padding:32px;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px}
.qa-card__q{font-family:var(--display);font-weight:900;font-size:26px}
.qa-card__copy{font-size:15px;color:rgba(255,255,255,.88)}
.subsection-label{font-family:var(--cond);letter-spacing:.1em;font-size:14px;color:var(--blue);margin-bottom:16px}
.obj-accordion{display:grid;gap:12px}
.obj-item{background:#fff;border:1px solid #e2e9ef;border-left:5px solid var(--blue);border-radius:14px;padding:0;overflow:hidden}
.obj-item summary{list-style:none;cursor:pointer;padding:20px 26px;font-family:var(--display);font-weight:900;color:var(--navy-deep);font-size:17px;position:relative;padding-right:50px}
.obj-item summary::-webkit-details-marker{display:none}
.obj-item summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);font-family:var(--body);font-weight:400;font-size:22px;color:var(--blue);transition:transform .15s}
.obj-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.obj-item p{padding:0 26px 22px;color:var(--ink);font-size:15px;margin:0}
@media(max-width:900px){
  .qa-cards{grid-template-columns:1fr}
}
.rt-calc{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-card);padding:32px}
.rt-calc__row label{display:block;font-family:var(--cond);letter-spacing:.04em;font-size:15px;color:rgba(255,255,255,.85);margin-bottom:12px}
.rt-calc__row label b{color:var(--sky);font-family:var(--display)}
.rt-calc__row input[type="range"]{width:100%;margin-bottom:26px}
.rt-calc__bar-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.rt-calc__bar-label{font-family:var(--cond);letter-spacing:.04em;font-size:13px;color:rgba(255,255,255,.7);width:120px;flex:0 0 auto}
.rt-calc__bar-track{flex:1;height:14px;border-radius:8px;background:rgba(255,255,255,.12);overflow:hidden}
.rt-calc__bar{height:100%;border-radius:8px;transition:width .2s ease}
.rt-calc__bar--muni{background:var(--red)}
.rt-calc__bar--rmf{background:var(--sky)}
.rt-calc__bar-time{font-family:var(--display);font-weight:900;font-size:14px;color:#fff;width:60px;flex:0 0 auto;text-align:right}
.rt-calc__result{margin-top:18px;font-size:15px;color:rgba(255,255,255,.88)}
.rt-calc__result strong{color:var(--sky);font-family:var(--display);font-size:18px}
.related-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related-nav__item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid #e2e9ef;border-radius:var(--radius-card);padding:18px 22px;font-family:var(--display);font-weight:900;font-size:16px;color:var(--navy-deep); box-shadow:0 3px 10px rgba(8,37,57,.07);transition:box-shadow .18s,transform .18s,border-color .18s}
.related-nav__item:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,37,57,.1)}
.related-nav__arrow{color:var(--blue);font-size:18px;flex:0 0 auto}
@media(max-width:760px){
  .related-nav{grid-template-columns:1fr}
}
.caps{background:#fff;padding:80px 0 84px;border-top:1px solid #e3eaf1}
.shell--wide{max-width:1420px}
.caps__hd{max-width:760px;margin:0 auto 48px;text-align:center}
.caps__headline{font-family:var(--display);font-weight:900;font-size:clamp(26px,3vw,44px);color:var(--navy-deep);line-height:1.02;margin:0 0 14px}
.caps__sub{font-size:17px;line-height:1.7;color:var(--ink);margin:0}
.caps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:1120px){
  .caps__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .caps__grid{grid-template-columns:1fr}
}
.cap{position:relative;aspect-ratio:2/1;min-height:212px;border-radius:var(--radius-card);overflow:hidden; background:var(--navy-deep);cursor:pointer;border:0;padding:0;width:100%;text-align:left; display:block;font:inherit;color:#fff}
.cap__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block; transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.cap.is-open .cap__bg{transform:scale(1.06)}
.cap__scrim{position:absolute;inset:0;transition:background .35s ease; background:linear-gradient(0deg,rgba(4,16,26,.52) 0%,rgba(4,16,26,.16) 50%,rgba(4,16,26,.02) 100%)}
.cap.is-open .cap__scrim{background:linear-gradient(0deg,rgba(4,16,26,.80) 0%,rgba(4,16,26,.56) 54%,rgba(4,16,26,.38) 100%)}
.cap__plate{position:absolute;left:0;right:0;bottom:0;z-index:2;overflow:hidden}
.cap__head{position:relative;z-index:1;display:flex;align-items:center;min-height:56px; background:var(--blue);padding:14px 20px;border-bottom:3px solid var(--gold); transition:background .3s ease}
.cap.is-open .cap__head{background:#015a9c}
.cap__title{flex:1;min-width:0;display:block;font-family:var(--display);font-weight:900; font-size:clamp(15px,1.3vw,18px);line-height:1.14;color:#fff;letter-spacing:.01em}
.cap__chev{display:none;flex-shrink:0;margin-left:12px;width:28px;height:28px;border-radius:999px; background:rgba(255,255,255,.18);align-items:center;justify-content:center; transition:transform .35s cubic-bezier(.22,.61,.36,1),background .2s ease}
.cap__chev svg{width:15px;height:15px;color:#fff}
.cap.is-open .cap__chev{transform:rotate(180deg);background:rgba(255,255,255,.32)}
@media(hover:none),(max-width:700px){
  .cap__chev{display:flex}
}
@media(prefers-reduced-motion:reduce){
  .cap__chev{transition:none}
}
.cap__reveal{display:grid;grid-template-rows:0fr;background:rgba(6,20,32,.62); -webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15); transition:grid-template-rows .42s cubic-bezier(.22,.61,.36,1)}
.cap.is-open .cap__reveal{grid-template-rows:1fr}
@media(hover:hover) and (min-width:701px){
  .cap:hover .cap__bg,.cap:focus-visible .cap__bg{transform:scale(1.06)}
  .cap:hover .cap__scrim,.cap:focus-visible .cap__scrim{background:linear-gradient(0deg,rgba(4,16,26,.80) 0%,rgba(4,16,26,.56) 54%,rgba(4,16,26,.38) 100%)}
  .cap:hover .cap__head,.cap:focus-visible .cap__head{background:#015a9c}
  .cap:hover .cap__reveal,.cap:focus-visible .cap__reveal{grid-template-rows:1fr}
}
.cap__reveal-in{overflow:hidden;min-height:0}
.cap__pad{display:flex;align-items:flex-start;gap:14px;padding:14px 18px 16px}
.cap__icon{width:56px;height:56px;flex-shrink:0;margin-top:2px}
@media(max-width:640px){
  .cap__icon{width:48px;height:48px}
}
.cap__txt{display:block;min-width:0}
.cap__ask{display:block;font-size:14.5px;line-height:1.4;color:#fff;font-style:italic}
.cap__copy{display:block;font-size:13.5px;line-height:1.52;color:rgba(255,255,255,.90);margin:6px 0 0}
.cap:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .cap__bg,.cap__scrim,.cap__reveal,.cap__head{transition:none}
  .cap:hover .cap__bg,.cap.is-open .cap__bg{transform:none}
}
.sit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sit-grid--2{grid-template-columns:repeat(2,1fr)}
.sit-grid--2 .sit-card,.sit-grid--2 .sit-card__body{min-height:380px}
@media(max-width:900px){
  .sit-grid{grid-template-columns:1fr}
}
.sit-card{position:relative;display:block;overflow:hidden;border-radius:var(--radius-card);min-height:330px;color:#fff; box-shadow:0 6px 20px rgba(8,37,57,.16);transition:box-shadow .18s,transform .18s}
.sit-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(8,37,57,.30)}
.sit-card__img{position:absolute;inset:0}
.sit-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.sit-card:hover .sit-card__img img{transform:scale(1.05)}
.sit-card__scrim{position:absolute;inset:0; background:linear-gradient(0deg,rgba(4,16,26,.94) 0%,rgba(4,16,26,.74) 44%,rgba(4,16,26,.30) 100%)}
.sit-card__body{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end; gap:13px;padding:30px 26px 28px;min-height:330px}
.sit-card__icon{width:46px;height:46px}
.sit-card__title{font-family:var(--display);font-weight:900;font-size:clamp(19px,1.7vw,23px);line-height:1.12}
.sit-card__copy{font-size:15px;line-height:1.55;color:rgba(255,255,255,.86)}
@media(prefers-reduced-motion:reduce){
  .sit-card:hover{transform:none}
  .sit-card:hover .sit-card__img img{transform:none}
}
.sr-h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0 0 0 0);white-space:nowrap;border:0}
.res-news__txt{display:block;min-width:0}
.offramp{margin-top:46px;padding:32px 36px 30px;background:var(--paper);border:1px solid #e3eaf1; border-radius:var(--radius-card);text-align:center}
.caps .offramp{background:var(--paper)}
.offramp__q{font-family:var(--display);font-weight:900;font-size:clamp(19px,1.9vw,25px); color:var(--navy-deep);line-height:1.1;margin:0 0 9px}
.offramp__sub{font-size:15.5px;line-height:1.6;color:var(--ink);margin:0 auto 22px;max-width:58ch}
.offramp__row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.offramp__alt{margin:20px 0 0;font-size:14.5px;color:var(--ink)}
.offramp__alt a{color:var(--red);border-bottom:1px solid rgba(211,47,29,.35);padding-bottom:1px}
.offramp__alt a:hover{border-bottom-color:var(--red)}
@media(max-width:600px){
  .offramp{padding:26px 20px 24px}
}
.bcard{max-width:560px;margin:0 auto;background:#fff;border:1px solid #e3eaf1; border-radius:var(--radius-card);box-shadow:0 4px 22px rgba(8,37,57,.09);padding:26px 28px 24px}
.bcard__head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.bcard__eyebrow{display:flex;align-items:center;gap:9px;font-family:var(--cond);font-weight:700; letter-spacing:.09em;font-size:11px;text-transform:uppercase;color:#7c93a8}
.bcard__eyebrow img{width:18px;height:18px;opacity:.75}
.bcard__select{font-family:var(--body);font-size:12.5px;color:var(--navy-deep);background:#f7f9fb; border:1px solid #dde5ec;border-radius:5px;padding:6px 9px;cursor:pointer}
.bcard__metric{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:end;margin-bottom:26px}
.bcard__num{font-family:var(--display);font-weight:900;font-size:52px;line-height:.92; letter-spacing:-.02em;color:var(--navy-deep)}
.bcard__num sup{font-family:var(--body);font-weight:600;font-size:16px;color:#7c93a8; vertical-align:super;margin-left:3px;letter-spacing:0}
.bcard__delta{font-size:12.5px;font-weight:600;color:var(--red);margin-top:7px}
.bcard__track{position:relative;height:8px;border-radius:999px;background:#eef2f6}
.bcard__fill{position:absolute;left:0;top:0;height:8px;border-radius:999px;background:var(--navy-deep); transition:width .6s cubic-bezier(.22,.61,.36,1)}
.bcard__tick{position:absolute;top:-5px;width:2px;height:18px;background:var(--navy-deep); transition:left .6s cubic-bezier(.22,.61,.36,1)}
.bcard__scaleRow{display:flex;justify-content:space-between;margin-top:9px;font-size:11.5px;color:#7c93a8}
.bcard__sect{font-family:var(--cond);font-weight:700;letter-spacing:.08em;font-size:11px; text-transform:uppercase;color:var(--navy-deep);margin:0 0 12px}
.bcard__rows{display:flex;flex-direction:column;gap:11px;margin-bottom:26px}
.bcard__row{display:flex;align-items:center;gap:11px}
.bcard__row img{width:19px;height:19px;opacity:.7;flex-shrink:0}
.bcard__row-name{flex:1;font-size:14.5px;color:var(--ink)}
.bcard__row-val{font-size:14.5px;font-weight:700;color:var(--navy-deep);font-variant-numeric:tabular-nums}
.bcard__row--hi .bcard__row-name{color:var(--navy-deep);font-weight:600}
.bcard__bands{position:relative;display:flex;height:8px;border-radius:999px;overflow:hidden}
.bcard__bands span{height:8px}
.bcard__pin{position:absolute;top:-4px;width:16px;height:16px;border-radius:999px;border:3px solid #fff; box-shadow:0 1px 5px rgba(8,37,57,.4);transition:left .6s cubic-bezier(.22,.61,.36,1);transform:translateX(-50%)}
.bcard__pinwrap{position:relative;height:8px}
.bcard__foot{display:flex;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid #eef2f6}
.bcard__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px; border-radius:5px;border:1px solid #dde5ec;background:#fff;font-family:var(--cond);font-weight:700; letter-spacing:.06em;font-size:12px;text-transform:uppercase;color:var(--navy-deep);cursor:pointer;transition:.15s}
.bcard__btn:hover{background:var(--navy-deep);border-color:var(--navy-deep);color:#fff}
.bcard__btn--primary{background:var(--red);border-color:var(--red);color:#fff}
.bcard__btn--primary:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff}
@media(max-width:560px){
  .bcard{padding:22px 18px}
  .bcard__metric{grid-template-columns:1fr;gap:18px}
  .bcard__num{font-size:44px}
}
@media(prefers-reduced-motion:reduce){
  .bcard__fill,.bcard__tick,.bcard__pin{transition:none}
}

/* --- keyframes used by the above --- */
@keyframes logo-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-25%)}
}
/* ===== END component library ===== */

/* ===== Member portal: property address label alignment + sub-details thead hide ===== */
.rmf-certificates td[data-th],
.rmf-covered-properties td[data-th] {
  overflow: visible;
  line-height: 17px;
}

.rmf-certificates td[data-th]::before,
.rmf-covered-properties td[data-th]::before {
  display: inline-block;
  vertical-align: top;
  height: 17px;
  line-height: 17px;
  text-align: left;
  overflow: visible;
}

@media (max-width: 640px) {
  .rmf-sub-details thead {
    display: none;
  }
}
/* ===== END member portal fixes ===== */
