/* site palette */
html:root {
    --bg: #F7F9FC;
    --surface: #FFFFFF;
    --surface-alt: #E8EDF3;
    --text: #12161D;
    --text-muted: #5E6978;
    --border: #D8DDE4;
    --primary: #2560B7;
    --primary-hover: #1F5099;
    --on-primary: #FFFFFF;
    --primary-text: #2560B7;
    --accent: #A4BEE3;
    --on-accent: #111111;
    --accent-text: #3A71BE;
    --dark-band: #0E203A;
    --on-dark: #FFFFFF;
    --on-dark-muted: #B6BBC3;
    --brand-btn-bg: #FFFFFF;
    --brand-btn-text: #0E203A;
    --section-alt-bg: linear-gradient(169deg, #E8EDF3 0%, #F1F4F8 100%);
    --dark-band-bg: linear-gradient(157deg, #0E203A 0%, #122D54 100%);
    --brand-band-bg: #2560B7;
    --hero-bg: linear-gradient(157deg, #0E203A 0%, #122D54 100%);
}

/* /site palette */

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

body {
    font-family: 'Pontano Sans', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    margin: 0;
    padding: 0;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

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

.skx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    border-radius: 8px;
    padding: 0.875rem 1.75rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.25;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

.skx-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.skx-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: var(--primary-text);
    border: 2px solid var(--primary);
    border-radius: 8px;
    padding: 0.875rem 1.75rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.25;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

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

.skx-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 1.25rem;
    box-shadow: 0 10px 25px -5px rgba(18, 22, 29, 0.06), 0 8px 10px -6px rgba(18, 22, 29, 0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

@media (min-width: 640px) {
    .skx-card {
        padding: 1.75rem;
    }
}

.skx-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 30px -10px rgba(18, 22, 29, 0.1), 0 10px 12px -5px rgba(18, 22, 29, 0.05);
}

.skx-media {
    aspect-ratio: 16 / 10;
    flex-shrink: 0;
    flex-grow: 0;
    border-radius: 12px;
    border: 1px solid var(--border);
    overflow: hidden;
    position: relative;
}

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

.skx-eyebrow {
    display: block;
    font-size: 0.875rem;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--primary-text);
    margin-bottom: 0.5rem;
}

.skx-title {
    font-size: clamp(2rem, 3.5vw, 2.75rem);
    line-height: 1.25;
    font-weight: 700;
    color: var(--text);
    margin-top: 0;
    margin-bottom: 1rem;
}

.skx-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    background-color: var(--accent);
    color: var(--on-accent);
}

.skx-icon {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    flex-shrink: 0;
}

.skx-section {
    background-color: var(--bg);
    padding: 4rem 1.5rem;
}

.skx-section-alt {
    background: var(--section-alt-bg, var(--surface-alt));
    padding: 4rem 1.5rem;
}

.skx-section-dark {
    background: var(--dark-band-bg, var(--dark-band));
    color: var(--on-dark);
    padding: 4rem 1.5rem;
}

.skx-section-brand {
    background: var(--brand-band-bg, var(--primary));
    color: var(--on-primary);
    padding: 4rem 1.5rem;
}

@media (min-width: 768px) {

    .skx-section,
    .skx-section-alt,
    .skx-section-dark,
    .skx-section-brand {
        padding: 6rem 2rem;
    }
}

@media (min-width: 1024px) {

    .skx-section,
    .skx-section-alt,
    .skx-section-dark,
    .skx-section-brand {
        padding: 6rem 3rem;
    }
}

.skx-section-brand .skx-btn {
    background-color: var(--brand-btn-bg, #FFFFFF);
    color: var(--brand-btn-text, #0E203A);
    border-color: var(--brand-btn-bg, #FFFFFF);
}

.skx-section-brand .skx-btn:hover {
    background-color: var(--surface-alt, #E8EDF3);
    border-color: var(--surface-alt, #E8EDF3);
}

.skx-section-brand .skx-btn-alt {
    border-color: var(--on-primary, #FFFFFF);
    color: var(--on-primary, #FFFFFF);
}

.skx-section-brand .skx-btn-alt:hover {
    background-color: var(--on-primary, #FFFFFF);
    color: var(--primary, #2560B7);
}

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

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

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

.skx-on-dark .skx-eyebrow,
.skx-section-dark .skx-eyebrow {
    color: var(--accent);
}

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

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

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

.skx-section-dark .skx-card h1,
.skx-section-dark .skx-card h2,
.skx-section-dark .skx-card h3,
.skx-on-dark .skx-card h1,
.skx-on-dark .skx-card h2,
.skx-on-dark .skx-card h3 {
    color: var(--text);
}

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

/* ===== header ===== */
.site-header {
    background-color: var(--surface, #FFFFFF);
    font-family: 'Pontano Sans', sans-serif;
}

.site-header .site-header-nav-link {
    text-decoration: none;
}

.site-header .site-header-nav-link:focus-visible {
    outline: 2px solid var(--primary, #2560B7);
    outline-offset: 2px;
}

.site-header .skx-btn {
    background-color: var(--primary, #2560B7);
    color: var(--on-primary, #FFFFFF);
    border: 1px solid var(--primary, #2560B7);
    border-radius: 8px;
    padding: 0.625rem 1.25rem;
    text-decoration: none;
}

.site-header .skx-btn:hover,
.site-header .skx-btn:focus {
    background-color: var(--primary-hover, #1F5099);
    border-color: var(--primary-hover, #1F5099);
    color: var(--on-primary, #FFFFFF);
}

@media (max-width: 767px) {
    .site-header .js-mobile-nav-link {
        font-size: 0.875rem;
        text-decoration: none;
    }
}

/* ===== hero ===== */
.mount-hero {
    position: relative;
    background-color: var(--dark-band);
}

.mount-hero__bg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.mount-hero__overlay {
    background: linear-gradient(90deg, rgba(14, 32, 58, 0.96) 0%, rgba(14, 32, 58, 0.88) 50%, rgba(18, 45, 84, 0.76) 100%);
}

@media (max-width: 1023px) {
    .mount-hero__overlay {
        background: linear-gradient(180deg, rgba(14, 32, 58, 0.96) 0%, rgba(14, 32, 58, 0.92) 100%);
    }
}

.mount-hero__input::placeholder,
.mount-hero__textarea::placeholder {
    color: var(--text-muted);
    opacity: 0.85;
}

.mount-hero__select option {
    background-color: var(--surface);
    color: var(--text);
}

.mount-hero__title,
.mount-hero__subtitle {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .mount-hero .flex-col {
        flex-direction: column;
    }
}

/* ===== cost_of_inaction ===== */
.cost-calc-section {
    position: relative;
}

.cost-calc-section select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%235E6978'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.15rem;
    padding-right: 2.5rem;
}

.cost-calc-section select:focus {
    outline: 2px solid var(--primary);
    outline-offset: 1px;
}

/* ===== stages_and_milestones ===== */
#milestones-section {
    background: var(--brand-band-bg, #2560B7);
    color: var(--on-primary, #FFFFFF);
    overflow: hidden;
}

#milestones-section .skx-card {
    min-height: 100%;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

#milestones-section .skx-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 30px -10px rgba(18, 22, 29, 0.12);
}

@media (max-width: 767px) {
    #milestones-section .js-stage-tab {
        flex: 1 1 calc(50% - 0.5rem);
        text-align: center;
    }
}

/* ===== installation_tariffs ===== */
.skx-tariffs-block .tariffs-card {
    box-shadow: 0 10px 25px -5px rgba(18, 22, 29, 0.06), 0 8px 10px -6px rgba(18, 22, 29, 0.04);
}

.skx-tariffs-block .tariffs-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 30px -10px rgba(18, 22, 29, 0.1), 0 10px 12px -5px rgba(18, 22, 29, 0.05);
}

.skx-tariffs-block .tariffs-card-featured {
    box-shadow: 0 14px 28px -4px rgba(37, 96, 183, 0.12), 0 10px 14px -6px rgba(18, 22, 29, 0.06);
}

.skx-tariffs-block .tariffs-card .tariffs-select-btn {
    background-color: #2560B7;
    color: #FFFFFF;
    border: 1px solid #2560B7;
}

.skx-tariffs-block .tariffs-card .tariffs-select-btn:hover {
    background-color: #1F5099;
    border-color: #1F5099;
    color: #FFFFFF;
}

.skx-tariffs-block .tariffs-card.active {
    border-color: #2560B7;
}

.skx-tariffs-block .tariffs-input::placeholder {
    color: #5E6978;
    opacity: 0.85;
}

.skx-tariffs-block .tariffs-submit-btn {
    background-color: #2560B7;
    color: #FFFFFF;
    border: 1px solid #2560B7;
}

.skx-tariffs-block .tariffs-submit-btn:hover {
    background-color: #1F5099;
    border-color: #1F5099;
    color: #FFFFFF;
}

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

    .skx-tariffs-block .tariffs-card {
        width: 100%;
    }
}

/* ===== who_will_work ===== */
#who-will-work {
    background: var(--dark-band-bg, #0E203A);
    overflow: hidden
}

#who-will-work .skx-card {
    box-shadow: 0 10px 25px -5px rgba(18, 22, 29, 0.06), 0 8px 10px -6px rgba(18, 22, 29, 0.04);
    transition: transform .2s ease-in-out, box-shadow .2s ease-in-out
}

#who-will-work .skx-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 30px -10px rgba(18, 22, 29, 0.1), 0 10px 12px -5px rgba(18, 22, 29, 0.05)
}

#who-will-work .skx-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

@media(max-width:767px) {
    #who-will-work .skx-title {
        overflow-wrap: anywhere
    }

    #who-will-work p {
        overflow-wrap: anywhere
    }
}

/* ===== questions_for_any_contractor ===== */
.contractor-questions-block .js-tab-btn {
    cursor: pointer;
}

.contractor-questions-block .js-toggle-tip {
    cursor: pointer;
}

.contractor-questions-block .js-chevron.rotated {
    transform: rotate(180deg);
}

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

/* ===== our_services ===== */
.mountmix-services-block .mountmix-service-card {
    box-shadow: 0 10px 25px -5px rgba(18, 22, 29, 0.06), 0 8px 10px -6px rgba(18, 22, 29, 0.04);
}

.mountmix-services-block .mountmix-service-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 30px -10px rgba(18, 22, 29, 0.1), 0 10px 12px -5px rgba(18, 22, 29, 0.05);
}

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

/* ===== completed_cases ===== */
.cases-grid-block h2,
.cases-grid-block h3 {
    overflow-wrap: anywhere
}

.cases-grid-block img {
    display: block
}

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

/* ===== ev_knowledge_base ===== */
.ev-knowledge-grid {
    position: relative;
    overflow: hidden;
}

.ev-knowledge-grid .ev-knowledge-card {
    min-width: 0;
}

.ev-knowledge-grid .ev-knowledge-card h3 {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .ev-knowledge-grid .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== footer ===== */
.mount-footer {
    background: var(--dark-band-bg, #0E203A);
    font-family: 'Pontano Sans', sans-serif;
}

.mount-footer .mount-footer-link {
    transition: color 0.15s ease-in-out;
}

.mount-footer .mount-footer-link:hover {
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .mount-footer .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== PAGE: about ===== */
.about-company-section { overflow-wrap: anywhere; }
.about-company-section .skx-card { transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; }
.about-company-section .skx-card:hover { transform: translateY(-2px); box-shadow: 0 16px 28px -8px rgba(18, 22, 29, 0.08); }
.about-company-section .skx-btn-alt:hover {
  background-color: var(--surface);
  color: var(--text);
  border-color: var(--border);
}
.about-company-section .js-tab-btn:hover {
  background-color: var(--surface);
  color: var(--text);
  border-color: var(--border);
}
.about-company-section .js-tab-btn.bg-\[var\(--primary\)\]:hover {
  background-color: var(--primary);
  color: var(--on-primary);
  border-color: var(--primary);
}
@media (max-width: 767px) {
  .about-company-section .js-tab-panel { grid-template-columns: 1fr; }
}

/* ===== PAGE: services ===== */
.services-block .services-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.services-block input::placeholder,
.services-block textarea::placeholder {
  color: var(--text-muted);
  opacity: 0.85;
}
.services-block a:focus-visible,
.services-block button:focus-visible,
.services-block input:focus-visible,
.services-block textarea:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* ===== PAGE: cases ===== */
.cases-category-block { position: relative; background-color: var(--bg); }
.cases-category-block .cases-card { box-shadow: 0 10px 25px -5px rgba(18, 22, 29, 0.06), 0 8px 10px -6px rgba(18, 22, 29, 0.04); }
.cases-category-block .cases-card:hover { transform: translateY(-2px); box-shadow: 0 20px 30px -10px rgba(18, 22, 29, 0.1), 0 10px 12px -5px rgba(18, 22, 29, 0.05); }
.cases-category-block .cases-media-link:hover img { transform: scale(1.03); }
.cases-category-block .cases-title-link:hover { color: var(--primary); }
@media (max-width: 767px) { .cases-category-block .cases-category-grid { grid-template-columns: 1fr; } }

/* ===== PAGE: blog ===== */
.skx-kb-category {
  font-family: 'Pontano Sans', sans-serif;
  background-color: var(--bg, #F7F9FC);
  color: var(--text, #12161D);
}
.skx-kb-category .skx-card {
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.skx-kb-category .skx-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 30px -10px rgba(18, 22, 29, 0.1);
}
.skx-kb-category a {
  overflow-wrap: anywhere;
}
.skx-kb-category h2, .skx-kb-category h3, .skx-kb-category p {
  overflow-wrap: anywhere;
}
@media (max-width: 767px) {
  .skx-kb-category .grid {
    grid-template-columns: 1fr;
  }
}

/* ===== PAGE: privacy ===== */
.skx-section { font-family: 'Pontano Sans', sans-serif; } .skx-section p, .skx-section li { overflow-wrap: anywhere; }

/* ===== PAGE: terms ===== */
.mm-terms-block {
  background-color: var(--bg);
}
.mm-terms-block .js-filter-btn.active {
  background-color: var(--primary);
  color: var(--on-primary);
  border-color: var(--primary);
}
.mm-terms-block .skx-card {
  box-shadow: 0 10px 25px -5px rgba(18, 22, 29, 0.06), 0 8px 10px -6px rgba(18, 22, 29, 0.04);
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.mm-terms-block .skx-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 30px -10px rgba(18, 22, 29, 0.1), 0 10px 12px -5px rgba(18, 22, 29, 0.05);
}
.mm-terms-block .skx-btn {
  background-color: var(--primary);
  color: var(--on-primary);
  border: 1px solid var(--primary);
}
.mm-terms-block .skx-btn:hover {
  background-color: var(--primary-hover);
  color: var(--on-primary);
  border-color: var(--primary-hover);
}
.mm-terms-block .skx-btn-alt {
  background-color: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
}
.mm-terms-block .skx-btn-alt:hover {
  background-color: var(--surface-alt);
  color: var(--primary-text);
  border-color: var(--primary);
}
@media (max-width: 767px) {
  .mm-terms-block .js-terms-filters {
    flex-direction: column;
    align-items: stretch;
  }
  .mm-terms-block .js-filter-btn {
    width: 100%;
    text-align: center;
  }
}

/* ===== PAGE: disclaimer ===== */
.disclaimer-layout { word-break: break-word; overflow-wrap: anywhere; }
.disclaimer-layout .skx-card { transition: border-color 0.2s ease-in-out; }
.disclaimer-layout .skx-card:hover { border-color: var(--primary); }

.comment-card {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.comment-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 30px -10px rgba(18, 22, 29, 0.1);
}

.comment-avatar {
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    object-fit: cover;
}

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

.comment-reply-card {
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

.comment-reply-avatar {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    object-fit: cover;
}

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


/* ===== PAGE TEMPLATE: services ===== */
body {
    font-family: 'Pontano Sans', sans-serif;
    background-color: var(--bg, #F7F9FC);
    color: var(--text, #12161D);
}

.site-header {
    background-color: var(--surface, #FFFFFF);
    font-family: 'Pontano Sans', sans-serif;
}

.site-header .site-header-nav-link {
    text-decoration: none;
}

.site-header .site-header-nav-link:focus-visible {
    outline: 2px solid var(--primary, #2560B7);
    outline-offset: 2px;
}

.site-header .skx-btn {
    background-color: var(--primary, #2560B7);
    color: var(--on-primary, #FFFFFF);
    border: 1px solid var(--primary, #2560B7);
    border-radius: 8px;
    padding: 0.625rem 1.25rem;
    text-decoration: none;
}

.site-header .skx-btn:hover,
.site-header .skx-btn:focus {
    background-color: var(--primary-hover, #1F5099);
    border-color: var(--primary-hover, #1F5099);
    color: var(--on-primary, #FFFFFF);
}

@media (max-width: 767px) {
    .site-header .js-mobile-nav-link {
        font-size: 0.875rem;
        text-decoration: none;
    }
}

.mount-hero {
    position: relative;
    background-color: var(--dark-band, #0E203A);
}

.mount-hero__bg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.mount-hero__overlay {
    background: linear-gradient(90deg, rgba(14, 32, 58, 0.96) 0%, rgba(14, 32, 58, 0.88) 50%, rgba(18, 45, 84, 0.76) 100%);
}

@media (max-width: 1023px) {
    .mount-hero__overlay {
        background: linear-gradient(180deg, rgba(14, 32, 58, 0.96) 0%, rgba(14, 32, 58, 0.92) 100%);
    }
}

.mount-hero__title,
.mount-hero__subtitle {
    overflow-wrap: anywhere;
}

.service-detail-block {
    overflow-wrap: anywhere;
}

.service-detail-block .service-facts-table th,
.service-detail-block .service-facts-table td {
    white-space: normal;
}

.service-form-input::placeholder,
.service-form-textarea::placeholder {
    color: var(--text-muted, #5E6978);
    opacity: 0.85;
}

@media (max-width: 767px) {
    .service-detail-block .service-facts-table thead {
        display: none;
    }

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

    .service-detail-block .service-facts-table td {
        padding: 0.625rem 1rem;
    }

    .service-detail-block .service-facts-table tr {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid var(--border, #D8DDE4);
    }
}

.mount-footer {
    background: var(--dark-band-bg, #0E203A);
    font-family: 'Pontano Sans', sans-serif;
}

.mount-footer .mount-footer-link {
    transition: color 0.15s ease-in-out;
}

.mount-footer .mount-footer-link:hover {
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .mount-footer .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== PAGE TEMPLATE: cases ===== */
.site-header {
    background-color: var(--surface, #FFFFFF);
    font-family: 'Pontano Sans', sans-serif;
}

.site-header .site-header-nav-link {
    text-decoration: none;
}

.site-header .site-header-nav-link:focus-visible {
    outline: 2px solid var(--primary, #2560B7);
    outline-offset: 2px;
}

.site-header .skx-btn {
    background-color: var(--primary, #2560B7);
    color: var(--on-primary, #FFFFFF);
    border: 1px solid var(--primary, #2560B7);
    border-radius: 8px;
    padding: 0.625rem 1.25rem;
    text-decoration: none;
}

.site-header .skx-btn:hover,
.site-header .skx-btn:focus {
    background-color: var(--primary-hover, #1F5099);
    border-color: var(--primary-hover, #1F5099);
    color: var(--on-primary, #FFFFFF);
}

@media (max-width: 767px) {
    .site-header .js-mobile-nav-link {
        font-size: 0.875rem;
        text-decoration: none;
    }
}

.mount-hero {
    position: relative;
    background-color: var(--dark-band);
}

.mount-hero__bg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.mount-hero__overlay {
    background: linear-gradient(90deg, rgba(14, 32, 58, 0.96) 0%, rgba(14, 32, 58, 0.88) 50%, rgba(18, 45, 84, 0.76) 100%);
}

@media (max-width: 1023px) {
    .mount-hero__overlay {
        background: linear-gradient(180deg, rgba(14, 32, 58, 0.96) 0%, rgba(14, 32, 58, 0.92) 100%);
    }
}

.mount-hero__title,
.mount-hero__subtitle {
    overflow-wrap: anywhere;
}

.case-detail-block {
    font-family: 'Pontano Sans', sans-serif;
}

.case-detail-block .case-heading-with-line {
    overflow-wrap: anywhere;
}

.case-detail-block .case-sharp-media {
    border-radius: 0;
    border: 1px solid var(--border);
}

.case-detail-block .case-fact-tile {
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.case-detail-block .case-fact-tile:hover {
    border-color: var(--primary);
    box-shadow: 0 10px 25px -5px rgba(18, 22, 29, 0.06);
}

.case-detail-block .case-related-card {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.case-detail-block .case-related-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 30px -10px rgba(18, 22, 29, 0.1);
}

.case-detail-block .case-counseling-form input::placeholder,
.case-detail-block .case-counseling-form textarea::placeholder {
    color: var(--text-muted);
    opacity: 0.85;
}

.case-detail-block .case-counseling-form select option {
    background-color: var(--surface);
    color: var(--text);
}

@media (max-width: 767px) {

    .case-detail-block .grid-cols-4,
    .case-detail-block .grid-cols-2 {
        grid-template-columns: 1fr;
    }

    .case-detail-block .case-cta-banner {
        flex-direction: column;
    }

    .case-detail-block .case-counseling-form .md\:flex-row {
        flex-direction: column;
    }
}

.mount-footer {
    background: var(--dark-band-bg, #0E203A);
    font-family: 'Pontano Sans', sans-serif;
}

.mount-footer .mount-footer-link {
    transition: color 0.15s ease-in-out;
}

.mount-footer .mount-footer-link:hover {
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .mount-footer .grid {
        grid-template-columns: 1fr;
    }
}

/* ===== PAGE TEMPLATE: blog ===== */
.site-header {
    background-color: var(--surface, #FFFFFF);
    font-family: 'Pontano Sans', sans-serif;
}

.site-header .site-header-nav-link {
    text-decoration: none;
}

.site-header .site-header-nav-link:focus-visible {
    outline: 2px solid var(--primary, #2560B7);
    outline-offset: 2px;
}

.site-header .skx-btn {
    background-color: var(--primary, #2560B7);
    color: var(--on-primary, #FFFFFF);
    border: 1px solid var(--primary, #2560B7);
    border-radius: 8px;
    padding: 0.625rem 1.25rem;
    text-decoration: none;
}

.site-header .skx-btn:hover,
.site-header .skx-btn:focus {
    background-color: var(--primary-hover, #1F5099);
    border-color: var(--primary-hover, #1F5099);
    color: var(--on-primary, #FFFFFF);
}

@media (max-width: 767px) {
    .site-header .js-mobile-nav-link {
        font-size: 0.875rem;
        text-decoration: none;
    }
}

.mount-article-hero {
    position: relative;
    background-color: var(--dark-band, #0E203A);
}

.mount-article-hero__bg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.mount-article-hero__overlay {
    background: linear-gradient(157deg, rgba(14, 32, 58, 0.96) 0%, rgba(18, 45, 84, 0.88) 100%);
}

.mount-article-wrap {
    font-family: 'Pontano Sans', sans-serif;
}

.mount-sharp-media img {
    border-radius: 0;
    object-fit: cover;
}

.mount-article-body h2,
.mount-article-body h3 {
    overflow-wrap: anywhere;
}

.mount-form-input::placeholder,
.mount-form-textarea::placeholder {
    color: var(--text-muted, #5E6978);
    opacity: 0.85;
}

.mount-footer {
    background: var(--dark-band-bg, #0E203A);
    font-family: 'Pontano Sans', sans-serif;
}

.mount-footer .mount-footer-link {
    transition: color 0.15s ease-in-out;
}

.mount-footer .mount-footer-link:hover {
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .mount-article-wrap .grid {
        grid-template-columns: 1fr;
    }

    .mount-footer .grid {
        grid-template-columns: 1fr;
    }

    .mount-toc .flex.flex-wrap {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .mount-toc .js-toc-link {
        white-space: nowrap;
        overflow-wrap: normal;
        flex-shrink: 0;
    }
}

/* 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%;
  }
}
