/* site palette */
html:root {
    --bg: #F9F3EB;
    --surface: #FFFFFF;
    --surface-alt: #F4DAD4;
    --text: #2A2217;
    --text-muted: #675E51;
    --border: #E4DFD8;
    --primary: #B0462A;
    --primary-hover: #933B23;
    --on-primary: #FFFFFF;
    --primary-text: #A84328;
    --accent: #2762F3;
    --on-accent: #FFFFFF;
    --accent-text: #2762F3;
    --dark-band: #2D120B;
    --on-dark: #FFFFFF;
    --on-dark-muted: #C3BEB6;
    --brand-btn-bg: #FFFFFF;
    --brand-btn-text: #2D120B;
    --section-alt-bg: #F4DAD4;
    --dark-band-bg: #2D120B;
    --brand-band-bg: #B0462A;
    --hero-bg: #2D120B;
}

/* /site palette */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: 'Merriweather Sans', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a,
button {
    transition: color 150ms ease-out, background-color 150ms ease-out, border-color 150ms ease-out;
}

.text-muted {
    color: var(--text-muted) !important;
}

.jsp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    font-family: 'Merriweather Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.875rem 1.75rem;
    border-radius: 2px;
    border: 1px solid var(--primary);
    text-decoration: none;
    cursor: pointer;
}

.jsp-btn:hover {
    background-color: var(--dark-band);
    color: var(--on-dark);
    border-color: var(--dark-band);
}

.jsp-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: var(--primary-text);
    font-family: 'Merriweather Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.875rem 1.75rem;
    border-radius: 2px;
    border: 1px solid var(--primary);
    text-decoration: none;
    cursor: pointer;
}

.jsp-btn-alt:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.jsp-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 2px;
    padding: 2rem;
    transition: border-color 150ms ease-out;
}

.jsp-card:hover {
    border-color: var(--primary);
}

.jsp-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 2px;
    border: 1px solid var(--border);
    overflow: hidden;
    flex-shrink: 0;
}

.jsp-media img,
.jsp-media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jsp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--primary-text);
    margin-bottom: 0.75rem;
}

.jsp-title {
    font-family: 'Merriweather Sans', sans-serif;
    font-size: clamp(1.75rem, 3.2vw, 2.5rem);
    line-height: 1.15;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--text);
    margin-top: 0;
    margin-bottom: 1.25rem;
}

.jsp-title span {
    color: var(--primary);
}

.jsp-badge {
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.25rem 0.625rem;
    border-radius: 2px;
    background-color: var(--surface-alt);
    color: var(--primary-text);
    border: 1px solid var(--border);
}

.jsp-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    background-color: var(--primary);
    color: var(--on-primary);
    border-radius: 3px;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.jsp-section {
    background-color: var(--bg);
    padding-top: 4rem;
    padding-bottom: 4rem;
}

@media (min-width: 768px) {
    .jsp-section {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

.jsp-section-alt {
    background-color: var(--surface-alt);
    padding-top: 4rem;
    padding-bottom: 4rem;
}

@media (min-width: 768px) {
    .jsp-section-alt {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

.jsp-section-dark {
    background-color: var(--dark-band);
    color: var(--on-dark);
    padding-top: 4rem;
    padding-bottom: 4rem;
}

@media (min-width: 768px) {
    .jsp-section-dark {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

.jsp-section-brand {
    background-color: var(--primary);
    color: var(--on-primary);
    padding-top: 4rem;
    padding-bottom: 4rem;
}

@media (min-width: 768px) {
    .jsp-section-brand {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

.jsp-section-brand .jsp-btn {
    background-color: var(--brand-btn-bg, #FFFFFF);
    color: var(--brand-btn-text, #2D120B);
    border-color: var(--brand-btn-bg, #FFFFFF);
}

.jsp-section-brand .jsp-btn:hover {
    background-color: var(--dark-band);
    color: var(--on-dark);
    border-color: var(--dark-band);
}

.jsp-section-brand .jsp-btn-alt {
    border-color: var(--on-primary);
    color: var(--on-primary);
}

.jsp-section-brand .jsp-btn-alt:hover {
    background-color: var(--on-primary);
    color: var(--primary);
}

.jsp-on-dark,
.jsp-section-dark {
    color: var(--on-dark);
}

.jsp-on-dark h1,
.jsp-on-dark h2,
.jsp-on-dark h3,
.jsp-on-dark h4,
.jsp-section-dark h1,
.jsp-section-dark h2,
.jsp-section-dark h3,
.jsp-section-dark h4 {
    color: var(--on-dark);
}

.jsp-on-dark a,
.jsp-section-dark a {
    color: var(--on-dark);
}

.jsp-on-dark p,
.jsp-section-dark p {
    color: var(--on-dark-muted);
}

.jsp-on-dark .jsp-eyebrow,
.jsp-section-dark .jsp-eyebrow {
    color: var(--on-dark-muted);
}

.jsp-on-dark .jsp-title,
.jsp-section-dark .jsp-title {
    color: var(--on-dark);
}

.jsp-on-dark .jsp-title span,
.jsp-section-dark .jsp-title span {
    color: var(--primary);
}

.jsp-on-dark .jsp-btn-alt,
.jsp-section-dark .jsp-btn-alt {
    border-color: var(--on-dark);
    color: var(--on-dark);
}

.jsp-on-dark .jsp-btn-alt:hover,
.jsp-section-dark .jsp-btn-alt:hover {
    background-color: var(--on-dark);
    color: var(--dark-band);
}

.jsp-section-dark .jsp-card,
.jsp-on-dark .jsp-card {
    background-color: var(--surface);
    color: var(--text);
    border-color: var(--border);
}

.jsp-section-dark .jsp-card h1,
.jsp-section-dark .jsp-card h2,
.jsp-section-dark .jsp-card h3,
.jsp-section-dark .jsp-card h4,
.jsp-section-dark .jsp-card p,
.jsp-on-dark .jsp-card h1,
.jsp-on-dark .jsp-card h2,
.jsp-on-dark .jsp-card h3,
.jsp-on-dark .jsp-card h4,
.jsp-on-dark .jsp-card p {
    color: inherit;
}

/* ===== header ===== */
.site-header {
    font-family: var(--font-family-base, 'Merriweather Sans', sans-serif);
}

.site-header .jsp-btn {
    transition: background-color 150ms ease-out, color 150ms ease-out;
}

.site-header .jsp-btn:hover {
    background-color: var(--dark-band);
    color: var(--on-dark);
}

@media (max-width: 767px) {
    .site-header__top {
        display: none;
    }
}

/* ===== hero ===== */
.address-hero-section {
    position: relative;
    background-color: var(--dark-band);
    overflow: hidden
}

.address-hero-section .address-hero-video-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1
}

.address-hero-section .address-hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.address-hero-section .address-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(45, 18, 11, 0.82)
}

.address-hero-section .address-hero-card {
    background: rgba(45, 18, 11, 0.95);
    border: 1px solid rgba(228, 223, 216, 0.18);
    border-bottom: 3px solid var(--primary);
    border-radius: 2px
}

.address-hero-section .form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem
}

.@media (min-width:768px) {
    .address-hero-section .form-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem
    }
}

.address-hero-section .form-input,
.address-hero-section .form-select {
    background-color: #FFFFFF;
    color: #2A2217;
    border: 1px solid #E4DFD8;
    border-radius: 2px;
    padding: 0.75rem 0.875rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    width: 100%;
    outline: none;
    transition: border-color 0.15s ease-out
}

.address-hero-section .form-input:focus,
.address-hero-section .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 1px var(--primary)
}

.address-hero-section .form-input::placeholder {
    color: #675E51;
    opacity: 1
}

.address-hero-section .address-hero-submit-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    border-radius: 2px;
    min-height: 3rem;
    cursor: pointer;
    transition: background-color 0.15s ease-out, border-color 0.15s ease-out
}

.address-hero-section .address-hero-submit-btn:hover {
    background-color: #933B23;
    border-color: #933B23;
    color: #FFFFFF
}

.address-hero-section .jsp-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    border-radius: 2px;
    transition: background-color 0.15s ease-out, border-color 0.15s ease-out
}

.address-hero-section .jsp-btn:hover {
    background-color: var(--dark-band);
    border-color: #FFFFFF;
    color: #FFFFFF
}

@media (max-width:767px) {
    .address-hero-section .form-grid {
        grid-template-columns: 1fr
    }
}

/* ===== numbers_summary ===== */
.numbers-summary-block {
    position: relative;
    overflow: hidden;
}

.numbers-summary-block .numbers-summary-card {
    border-radius: 2px;
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
    transition: background-color 150ms ease-out;
}

.numbers-summary-block .numbers-summary-line {
    height: 2px;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.45);
}

@media (max-width: 767px) {
    .numbers-summary-block .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== featured_case ===== */
.featured-case-block .flow-icon {
    width: 2.25rem;
    height: 2.25rem;
    background: var(--primary);
    color: var(--on-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    flex-shrink: 0;
}

.featured-case-block .case-tab-item {
    transition: background-color 150ms ease-out, border-color 150ms ease-out;
}

.featured-case-block .case-tab-item.active {
    background-color: var(--surface-alt);
    border-color: var(--primary);
    border-left-width: 4px;
}

.featured-case-block .diff-box {
    background: var(--surface);
    padding: 0.75rem 1rem;
    border: 1px solid var(--border);
}

.featured-case-block .jsp-btn {
    background: var(--primary);
    color: var(--on-primary);
    padding: 0.75rem 1.5rem;
    text-transform: uppercase;
    border-radius: 2px;
    transition: background-color 150ms ease-out, color 150ms ease-out;
}

.featured-case-block .jsp-btn:hover {
    background: var(--dark-band);
    color: var(--on-dark);
}

@media (max-width: 767px) {
    .featured-case-block .featured-case-flow .grid {
        grid-template-columns: 1fr;
    }

    .featured-case-block .flow-step {
        width: 100%;
    }
}

/* ===== address_categories_grid ===== */
.address-categories-grid .js-filter-btn {
    border-radius: 2px;
    cursor: pointer;
}

.address-categories-grid .js-filter-btn.is-active {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.address-categories-grid .js-filter-btn:not(.is-active) {
    background-color: var(--surface);
    color: var(--text);
    border-color: var(--border);
}

.address-categories-grid .js-filter-btn:not(.is-active):hover {
    background-color: var(--dark-band);
    color: var(--on-dark);
    border-color: var(--dark-band);
}

.address-categories-grid .jsp-card {
    border-radius: 2px;
}

.address-categories-grid .jsp-card:hover {
    border-color: var(--primary);
}

@media (max-width: 767px) {
    .address-categories-grid .address-grid-cards {
        grid-template-columns: 1fr;
    }
}

/* ===== validation_tools_grid ===== */
.validation-tools-block {
    background-color: var(--bg);
}

.validation-tools-block__tab {
    background-color: transparent;
    color: var(--text);
    border: 1px solid var(--border);
    cursor: pointer;
}

.validation-tools-block__tab:hover {
    border-color: var(--primary);
    color: var(--primary-text);
}

.validation-tools-block__tab.is-active {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.validation-tools-block__card {
    transition: border-color 0.15s ease-out;
}

.validation-tools-block__card:hover {
    border-color: var(--primary);
}

.validation-tools-block__card.is-hidden {
    display: none !important;
}

@media (max-width: 767px) {
    .validation-tools-block__grid {
        grid-template-columns: 1fr;
    }
}

/* ===== cost_of_inaction ===== */
.cost-assessment-section select option {
    background-color: var(--surface);
    color: var(--text);
    padding: 8px;
}

.cost-assessment-section select:focus {
    border-color: var(--primary);
    outline: none;
}

@media (max-width: 767px) {
    .cost-assessment-section .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== contractor_checklist ===== */
.contractor-checklist-block .active-tab {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.contractor-checklist-block .js-filter-tab:not(.active-tab) {
    background-color: var(--surface);
    color: var(--text);
    border-color: var(--border);
}

.contractor-checklist-block .js-filter-tab:not(.active-tab):hover {
    border-color: var(--primary);
    color: var(--primary-text);
}

.contractor-checklist-block .checklist-card {
    min-height: 290px;
}

.contractor-checklist-block .checklist-card.is-verified {
    border-bottom-color: var(--accent);
}

.contractor-checklist-block .checklist-card.is-verified .js-check-icon {
    color: var(--accent);
}

.contractor-checklist-block .checklist-card.is-verified .js-check-label {
    color: var(--on-dark);
}

@media (max-width: 767px) {
    .contractor-checklist-block .checklist-grid {
        grid-template-columns: 1fr;
    }

    .contractor-checklist-block .checklist-card {
        min-height: auto;
    }
}

/* ===== consultation_booking ===== */
.consultation-booking-block .jsp-icon {
    background: var(--primary);
    color: var(--on-primary);
    border-radius: 3px;
    flex-shrink: 0
}

.consultation-booking-block select {
    border-radius: 2px
}

.consultation-booking-block input[type="text"],
.consultation-booking-block input[type="email"],
.consultation-booking-block input[type="tel"] {
    border-radius: 2px
}

.consultation-booking-block .js-duration-btn {
    border-radius: 2px;
    background: var(--surface);
    border-color: var(--border);
    color: var(--text)
}

.consultation-booking-block .js-duration-btn.active-duration {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary)
}

.consultation-booking-block .js-duration-btn:hover:not(.active-duration) {
    background: var(--surface-alt);
    border-color: var(--primary)
}

@media (max-width:767px) {
    .consultation-booking-block .grid-cols-2 {
        grid-template-columns: 1fr
    }
}

/* ===== payment_terms ===== */
.payment-terms-section .payment-terms-contrast-word {
    color: var(--dark-band);
    background-color: var(--on-primary);
    padding: 0.1em 0.35em;
    border-radius: 2px;
    display: inline-block;
}

.payment-terms-section .payment-terms-tab {
    color: var(--text);
    background-color: transparent;
    border: none;
    cursor: pointer;
}

.payment-terms-section .payment-terms-tab.is-active {
    background-color: var(--dark-band);
    color: var(--on-dark);
}

.payment-terms-section .payment-terms-card {
    border-radius: 2px;
    border: 1px solid var(--border);
    border-bottom: 3px solid var(--dark-band);
    transition: border-color 0.15s ease-out;
}

.payment-terms-section .payment-terms-card:hover {
    border-bottom-color: var(--primary);
}

.payment-terms-section .payment-terms-icon-tile {
    width: 2.75rem;
    height: 2.75rem;
    background-color: var(--primary);
    color: var(--on-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
}

.payment-terms-section .payment-terms-cta-bar {
    border-bottom: 3px solid var(--primary);
}

.payment-terms-section .payment-terms-btn {
    background-color: var(--surface);
    color: var(--dark-band);
}

.payment-terms-section .payment-terms-btn:hover {
    background-color: var(--dark-band);
    color: var(--on-dark);
}

.payment-terms-section .payment-terms-btn-alt {
    background-color: transparent;
    border: 1px solid var(--border);
    color: var(--on-dark);
}

.payment-terms-section .payment-terms-btn-alt:hover {
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
}

@media (max-width: 767px) {
    .payment-terms-section .payment-terms-card {
        width: 100%;
    }

    .payment-terms-section .payment-terms-cta-bar {
        flex-direction: column;
        text-align: center;
    }
}

/* ===== footer ===== */
.site-footer {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.site-footer a.site-footer-link:hover {
    color: #FFFFFF !important;
}

.site-footer a.site-footer-link:focus-visible {
    outline: 2px solid #B0462A;
    outline-offset: 2px;
}

/* ===== PAGE: about ===== */
.about-mission-section .about-photo-wrapper { border-color: var(--border); }
.about-mission-section .about-stat-card { border-radius: 2px; }
.framework-explanation-section .step-card { border-radius: 2px; }
.editorial-standards-section .bg-\[\#230d07\] { background-color: #230d07; }
@media (max-width: 767px) {
  .about-mission-section .grid-cols-2 { grid-template-columns: 1fr; }
  .about-mission-section .grid-cols-4 { grid-template-columns: 1fr; }
  .framework-explanation-section .grid-cols-3 { grid-template-columns: 1fr; }
  .editorial-standards-section .grid-cols-4 { grid-template-columns: 1fr; }
}

/* ===== PAGE: contact ===== */
.contact-content-wrap .contact-channel-card { word-break: break-word; overflow-wrap: anywhere; } .contact-content-wrap .contact-input::placeholder, .contact-content-wrap .contact-textarea::placeholder { color: var(--text-muted); opacity: 0.85; } .contact-content-wrap .contact-input:focus, .contact-content-wrap .contact-textarea:focus { border-color: var(--primary); outline: none; } .contact-content-wrap .contact-submit-btn { background-color: var(--primary); color: var(--on-primary); border-radius: 2px; transition: background-color 0.15s ease-out, color 0.15s ease-out; } .contact-content-wrap .contact-submit-btn:hover { background-color: var(--dark-band); color: var(--on-dark); } @media (max-width: 767px) { .contact-content-wrap .contact-form-grid { grid-template-columns: 1fr; } }

/* ===== PAGE: knowledge-base ===== */
.as-kb-framework .as-pillar-card { transition: border-color 0.15s ease-out; } .as-kb-framework .as-pillar-card:hover { border-color: var(--primary-hover); } .as-kb-articles .as-spotlight-card { box-shadow: none; } .as-kb-articles .as-list-card { transition: border-color 0.15s ease-out; } .as-kb-articles .as-list-card:hover { border-color: var(--primary); } @media (max-width: 767px) { .as-kb-articles .as-list-card .flex { flex-direction: column; } .as-kb-articles .as-list-card .w-36 { width: 100%; height: 200px; } }

/* ===== PAGE: worldship-address-records ===== */
.worldship-page-wrapper { overflow-x: hidden; }
.worldship-page-wrapper .jsp-card { transition: border-color 0.15s ease-out; }
.worldship-page-wrapper .jsp-card:hover { border-color: var(--primary); }
.worldship-page-wrapper .js-scenario-btn.is-active { background-color: var(--primary) !important; color: var(--on-primary) !important; border-color: var(--primary) !important; }
@media (max-width: 767px) {
  .worldship-page-wrapper .data-table thead { display: none; }
  .worldship-page-wrapper .data-table, .worldship-page-wrapper .data-table tbody, .worldship-page-wrapper .data-table tr, .worldship-page-wrapper .data-table td { display: block; width: 100%; }
}

/* ===== PAGE: validation-tools ===== */
.tools-catalog .tools-card {
  transition: border-color 150ms ease-in-out;
}
.tools-catalog .tools-card:hover {
  border-color: var(--primary);
}
.tools-catalog .tools-card a:focus-visible,
.tools-inquiry button:focus-visible,
.tools-inquiry input:focus-visible,
.tools-inquiry select:focus-visible,
.tools-inquiry textarea:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}
.tools-inquiry input::placeholder,
.tools-inquiry textarea::placeholder {
  color: var(--text-muted);
  opacity: 0.85;
}

/* ===== PAGE: faq ===== */
.asn-faq-block .js-faq-item{transition:border-color 150ms ease-out;min-height:100%;}.asn-faq-block .js-faq-filter.is-active{background:var(--primary);color:var(--on-primary);border-color:var(--primary);}.asn-faq-block .js-faq-filter:not(.is-active){background:var(--surface);color:var(--text-muted);border-color:var(--border);}.asn-faq-block .js-faq-search::placeholder{color:var(--text-muted);opacity:1;}

/* ===== PAGE: privacy ===== */
.privacy-policy-section .js-privacy-filter.active {
  background-color: var(--primary);
  border-color: var(--primary);
  color: var(--on-primary);
}
.privacy-policy-section .jsp-card {
  transition: border-color 0.15s ease-out;
}
.privacy-policy-section .jsp-card:hover {
  border-color: var(--primary);
}

/* ===== PAGE: terms ===== */
.terms-section .js-terms-btn.active {
  background-color: var(--primary);
  color: var(--on-primary);
  border-color: var(--primary);
}
.terms-section .js-terms-btn:not(.active):hover {
  border-color: var(--primary);
  color: var(--primary);
}
.terms-section .js-terms-item.is-hidden {
  display: none;
}

/* ===== PAGE: disclaimer ===== */
.disclaimer-page-block { word-break: break-word; overflow-wrap: anywhere; } .disclaimer-page-block .disclaimer-card { min-height: 260px; } @media (max-width: 767px) { .disclaimer-page-block .disclaimer-card { min-height: auto; } }

.main-comment-card {
    font-family: 'Merriweather Sans', sans-serif;
    border-radius: 2px;
}

.comment-avatar {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 2px;
    object-fit: cover;
    border: 1px solid #E4DFD8;
    background-color: #F9F3EB;
}

.comment-author {
    letter-spacing: 0.05em;
}

.comment-body {
    color: #2A2217;
}

.comment-timestamp {
    letter-spacing: 0.08em;
}

.comment-action-btn:focus-visible {
    outline: 2px solid #B0462A;
    outline-offset: 2px;
}

.reply-comment-card {
    font-family: 'Merriweather Sans', sans-serif;
    border-radius: 2px;
}

.reply-avatar {
    width: 40px;
    height: 40px;
    min-width: 40px;
    border-radius: 2px;
    object-fit: cover;
    border: 1px solid #E4DFD8;
    background-color: #FFFFFF;
}

.comment-author {
    letter-spacing: 0.05em;
}

.comment-body {
    color: #2A2217;
}

.comment-timestamp {
    letter-spacing: 0.08em;
}

.comment-action-btn:focus-visible {
    outline: 2px solid #B0462A;
    outline-offset: 2px;
}


/* ===== PAGE TEMPLATE: knowledge-base ===== */
.site-header {
    font-family: var(--font-family-base, 'Merriweather Sans', sans-serif);
}

.site-header .jsp-btn {
    transition: background-color 150ms ease-out, color 150ms ease-out;
}

.site-header .jsp-btn:hover {
    background-color: var(--dark-band);
    color: var(--on-dark);
}

.site-footer {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.site-footer a.site-footer-link:hover {
    color: #FFFFFF !important;
}

.site-footer a.site-footer-link:focus-visible {
    outline: 2px solid #B0462A;
    outline-offset: 2px;
}

.kb-article-body h2 {
    overflow-wrap: anywhere;
    hyphens: auto;
}

.kb-takeaways-box {
    border-radius: 2px;
}

.kb-facts-table th,
.kb-facts-table td {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .site-header__top {
        display: none;
    }

    .kb-facts-table thead {
        display: none;
    }

    .kb-facts-table,
    .kb-facts-table tbody,
    .kb-facts-table tr,
    .kb-facts-table td {
        display: block;
        width: 100%;
    }

    .kb-facts-table tr {
        border-bottom: 2px solid var(--border);
        padding: 0.5rem 0;
    }

    .kb-facts-table td {
        padding: 0.35rem 0.75rem;
    }
}

/* ===== PAGE TEMPLATE: validation-tools ===== */
.site-header {
    font-family: var(--font-family-base, 'Merriweather Sans', sans-serif);
}

.site-header .jsp-btn {
    transition: background-color 150ms ease-out, color 150ms ease-out;
}

.site-header .jsp-btn:hover {
    background-color: var(--dark-band);
    color: var(--on-dark);
}

@media (max-width: 767px) {
    .site-header__top {
        display: none;
    }
}

.article-media-strip .media-offset-frame {
    position: relative;
}

.article-media-strip .media-offset-decor {
    border-radius: 2px;
}

.article-body-section .article-prose h2.article-section-title {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.article-body-section .article-prose p {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.split-cta-section .form-input::placeholder {
    color: #675E51;
    opacity: 1;
}

.split-cta-section .form-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 1px var(--primary);
}

.split-cta-section .jsp-btn:hover {
    background-color: #933B23;
    border-color: #933B23;
    color: #FFFFFF;
}

.related-items-section .jsp-btn:hover {
    background-color: var(--dark-band);
    color: #FFFFFF;
}

.site-footer {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.site-footer a.site-footer-link:hover {
    color: #FFFFFF !important;
}

.site-footer a.site-footer-link:focus-visible {
    outline: 2px solid #B0462A;
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .split-cta-section .cta-inquiry-form {
        width: 100%;
    }

    .article-media-strip .media-offset-decor {
        display: none;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}
