/* Couche responsive finale du site public. */
html {
    width: 100%;
    overflow-x: clip;
    scroll-padding-top: 90px;
}

body {
    width: 100%;
    min-width: 0;
    overflow-x: clip;
}

*, *::before, *::after { box-sizing: border-box; }
img, picture, video, canvas, svg, iframe { max-width: 100%; }
img { height: auto; }
iframe { width: 100%; border: 0; }

.container,
.container-fluid,
.row,
[class*="col-"] { min-width: 0; }

h1, h2, h3, h4, h5, h6,
p, a, span, address, .section-title, .section-subtitle {
    overflow-wrap: anywhere;
}

input, select, textarea, button { max-width: 100%; }
.form-control, .form-select { min-width: 0; }

/* Titre principal : trois lignes éditoriales, sans coupure des mots. */
.signature-copy .signature-title {
    max-width: none;
    font-size: clamp(3.15rem, 4.2vw, 4.3rem);
    line-height: .9;
    letter-spacing: -.055em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
.signature-title-line {
    display: block;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
}

@media (min-width: 1200px) {
    .signature-grid {
        grid-template-columns: minmax(520px, 1.05fr) minmax(0, .95fr);
        gap: clamp(2rem, 4vw, 4rem);
    }
}

/* Les contenus riches ne doivent jamais forcer la largeur du téléphone. */
.article-content,
.news-detail-content,
.card-body,
.media-gallery,
.inscription-form-container,
.contact-premium__workspace {
    min-width: 0;
}

.article-content img,
.article-content video,
.article-content iframe,
.news-detail-content img,
.news-detail-content video,
.news-detail-content iframe {
    display: block;
    max-width: 100% !important;
    height: auto !important;
}

.article-content table,
.news-detail-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 991.98px) {
    .navbar-isage .navbar-collapse {
        max-height: calc(100dvh - 72px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .navbar-isage .navbar-brand,
    .navbar-isage .brand-text { min-width: 0; }
    .navbar-isage .brand-text { overflow: hidden; }
    .navbar-isage .dropdown-menu-isage {
        position: static !important;
        width: 100%;
        min-width: 0;
        margin: 0 !important;
        box-shadow: none;
    }

    .signature-grid,
    .contact-premium__heading,
    .contact-premium__workspace,
    .admissions-premium__inner,
    .news-page-grid,
    .inscription-layout {
        min-width: 0;
    }

    .signature-image-frame { right: 0 !important; }
    .signature-copy .signature-title { font-size: clamp(3rem, 7vw, 4.3rem); }
    .signature-visual,
    .signature-image-frame,
    .signature-image-frame img { max-width: 100%; }

    .inscription-layout > .col-lg-4,
    .inscription-layout > .col-lg-8 { width: 100%; }
    .info-sidebar { position: static !important; top: auto !important; }

    .news-detail-main .row > [class*="col-"],
    .news-detail-container .row > [class*="col-"] { min-width: 0; }
}

@media (max-width: 767.98px) {
    :root { --mobile-gutter: clamp(1rem, 4.5vw, 1.35rem); }

    .container,
    .container-sm,
    .container-md {
        width: 100%;
        max-width: 100%;
        padding-right: var(--mobile-gutter);
        padding-left: var(--mobile-gutter);
    }

    .navbar-toggler,
    .navbar-isage .nav-link,
    .btn,
    button,
    input[type="button"],
    input[type="submit"] { min-height: 44px; }

    .section,
    .about-section,
    .editorial-flow { padding-top: 4rem; padding-bottom: 4rem; }

    .section-title,
    .about-title { font-size: clamp(2rem, 10vw, 3rem) !important; line-height: 1.05; }
    .section-subtitle,
    .about-subtitle { font-size: .9rem !important; line-height: 1.65; }

    .signature-hero { min-height: auto; }
    .signature-grid { padding-top: 3rem !important; }
    .signature-copy h1,
    .signature-copy .signature-title {
        max-width: 100%;
        font-size: clamp(2.1rem, 7.5vw, 3.6rem) !important;
        line-height: .94;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }
    .signature-actions,
    .hero-buttons,
    .form-actions,
    .share-buttons-inline {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .signature-actions > *,
    .hero-buttons > * { flex: 1 1 190px; justify-content: center; }

    .academic-rail .container,
    .academic-rail .row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .academic-rail-item { min-width: 0; padding: 1rem .65rem !important; }

    .isage-timeline-item { align-items: flex-start; }
    .timeline-content { min-width: 0; padding: 1.15rem !important; }

    .contact-premium__workspace { width: calc(100% - 2 * var(--mobile-gutter)) !important; }
    .contact-premium__details,
    .contact-premium__form { min-width: 0; padding: 1.5rem !important; }
    .contact-premium__item { grid-template-columns: 42px minmax(0, 1fr) !important; }

    .admissions-premium__inner { gap: 2.5rem !important; }
    .admissions-premium__message h2 {
        max-width: 100%;
        font-size: clamp(2.7rem, 14vw, 4rem) !important;
        overflow-wrap: normal;
        word-break: normal;
    }
    .admissions-premium__action { width: 100% !important; min-width: 0; padding: 1.5rem !important; }

    .news-premium-hero h1 { font-size: clamp(3rem, 17vw, 4rem) !important; }
    .news-premium-hero p { margin-left: 0 !important; }
    .news-page-content { padding-right: var(--mobile-gutter); padding-left: var(--mobile-gutter); }
    .news-page-content .news-filters { margin-right: 0 !important; margin-left: 0 !important; }
    .news-page-grid .card-meta { display: flex; flex-wrap: wrap; gap: .4rem .75rem; }

    .news-detail-content { padding: 1.25rem !important; }
    .article-title { font-size: clamp(1.7rem, 8.5vw, 2.35rem) !important; }
    .article-meta,
    .share-section,
    .share-section-bottom { flex-wrap: wrap; }
    .share-btn, .social-link { flex: 0 0 auto; }
    .media-gallery { padding: 1rem !important; }

    .inscription-hero,
    .inscription-hero > .container > .row { min-height: auto !important; }
    .inscription-hero .col-lg-6:first-child { padding: 3.5rem var(--mobile-gutter) !important; }
    .inscription-hero .hero-title { font-size: clamp(2.6rem, 13vw, 4rem) !important; }
    .inscription-hero .hero-features { display: grid; grid-template-columns: 1fr; }
    .inscription-hero .feature-item,
    .inscription-hero .feature-item + .feature-item {
        padding: .8rem 0 !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(255,255,255,.14);
    }
    .inscription-hero .hero-image img { width: 100% !important; height: clamp(260px, 70vw, 380px) !important; }
    .inscription-workspace { padding-top: 3rem !important; padding-bottom: 4rem !important; }
    .inscription-layout { --bs-gutter-x: 1.5rem !important; }
    .inscription-form-container > .form-header { padding: 1.5rem !important; }
    #inscriptionForm { padding: 0 1.25rem 1.5rem !important; }
    #inscriptionForm .form-section { padding: 2rem 0 !important; }
    #inscriptionForm .form-actions { flex-direction: column-reverse; align-items: stretch; }
    #inscriptionForm .form-actions .btn { width: 100%; }

    .footer-brand { align-items: flex-start !important; }
    .footer-title, .footer-contact-item span, .footer-bottom p { overflow-wrap: anywhere; }
    .footer-bottom { display: block !important; text-align: center !important; }
}

@media (max-width: 420px) {
    .navbar-isage { padding-right: .7rem !important; padding-left: .7rem !important; }
    .navbar-isage .navbar-brand { max-width: calc(100% - 48px); margin-right: .35rem; }
    .navbar-isage .brand-logo {
        width: 40px !important;
        height: 40px !important;
        margin-right: .45rem !important;
    }
    .navbar-isage .brand-name { max-width: 100%; }
    .navbar-isage .brand-sigle { font-size: .95rem; }
    .navbar-isage .brand-suffix { font-size: clamp(.54rem, 2.7vw, .66rem); }
    .navbar-isage .navbar-toggler { width: 40px; height: 40px; }

    .signature-copy .signature-title {
        font-size: clamp(1.95rem, 9vw, 2.35rem) !important;
        letter-spacing: -.045em;
        line-height: .96;
    }

    .academic-rail .container,
    .academic-rail .row { grid-template-columns: 1fr; }
    .stats-section .row { grid-template-columns: 1fr !important; }
    .stats-section .stat-item { min-height: 125px; }

    .breadcrumb { flex-wrap: wrap; row-gap: .35rem; }
    .pagination { flex-wrap: wrap; }
    .pagination .page-link { min-width: 38px; }

    .form-options { flex-direction: column; align-items: flex-start; }
}

@media (max-height: 520px) and (orientation: landscape) {
    .navbar-isage .navbar-collapse { max-height: calc(100dvh - 58px); }
    .news-premium-hero.news-hero,
    .inscription-hero { min-height: auto !important; }
}

@supports not (overflow: clip) {
    html, body { overflow-x: hidden; }
}

/* ==============================================================
   Accueil : responsivité ciblée des sections institutionnelles
   ============================================================== */

/* Catalogue académique : placement stable sur grand écran. */
#sections .program-card,
#sections > .container > .row > [class*="col-"]:first-child .program-card {
    grid-template-columns: 64px minmax(220px, .75fr) minmax(0, 1.25fr) !important;
}
#sections .program-icon { grid-column: 1; grid-row: 1 / 3; }
#sections .program-title { grid-column: 2; grid-row: 1; }
#sections .program-card > p { grid-column: 2; grid-row: 2; }
#sections .program-list { grid-column: 3; grid-row: 1 / 3; min-width: 0; }

@media (max-width: 1199.98px) {
    .about-section .vision-card,
    .about-section .audience-card,
    .about-section .benefits-card { grid-template-columns: 185px minmax(0, 1fr); }
    .about-section .vision-content,
    .about-section .card-body-custom { padding-left: 2rem !important; }
    .about-section .vision-content > .row { grid-template-columns: minmax(0, 1fr) 250px; }

    #sections .program-card,
    #sections > .container > .row > [class*="col-"]:first-child .program-card {
        grid-template-columns: 58px minmax(190px, .72fr) minmax(0, 1.28fr) !important;
        gap: 1.15rem;
    }
}

@media (max-width: 991.98px) {
    /* Présentation */
    #presentation .about-header { display: block; max-width: 760px; }
    #presentation .about-title,
    #presentation .about-subtitle { max-width: 100%; margin-right: 0; margin-left: 0; text-align: left !important; }
    #presentation .title-decoration { margin-left: 0; }
    .about-section .vision-card,
    .about-section .audience-card,
    .about-section .benefits-card { grid-template-columns: 160px minmax(0, 1fr); }
    .about-section .vision-header,
    .about-section .card-header-custom { padding-right: 1.25rem !important; }
    .about-section .vision-content,
    .about-section .card-body-custom { min-width: 0; padding-left: 1.5rem !important; }
    .about-section .vision-content > .row { grid-template-columns: 1fr; gap: 1.5rem !important; }
    .about-section .vision-highlight { padding: 1.25rem 0 0 !important; border-top: 1px solid var(--isage-gold); border-left: 0; }

    /* Historique */
    #historique > .container > .row { margin-top: 3rem; }
    #historique .isage-timeline { display: block; }
    #historique .isage-timeline-item,
    #historique .isage-timeline-item + .isage-timeline-item {
        position: relative;
        min-width: 0;
        padding: 0 0 2.5rem 2rem;
        border-right: 0;
    }
    #historique .isage-timeline-item:last-child { padding-bottom: 0; }
    #historique .isage-timeline-item::before { top: .45rem; left: -4px; }
    #historique .timeline-badge { margin-bottom: .7rem; font-size: clamp(2rem, 7vw, 3.2rem) !important; }
    #historique .timeline-content p { text-align: left; }

    /* Organisation */
    #organisation > .container > .row { display: grid; grid-template-columns: 1fr; margin-top: 3rem; }
    #organisation > .container > .row > [class*="col-"] { width: 100%; }
    #organisation .organe-card,
    #organisation > .container > .row > div + div .organe-card {
        padding: 2rem 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.18) !important;
    }
    #organisation > .container > .row > div:last-child .organe-card { border-bottom: 0 !important; }

    /* Sections et filières */
    #sections > .container > .section-title { font-size: clamp(2.4rem, 7vw, 4rem) !important; }
    #sections > .container > .row { margin-top: 3rem; }
    #sections .program-card,
    #sections > .container > .row > [class*="col-"]:first-child .program-card {
        grid-template-columns: 54px minmax(170px, .72fr) minmax(0, 1.28fr) !important;
        gap: 1rem;
        padding: 1.8rem 0 !important;
    }
    #sections .program-list { grid-template-columns: 1fr; }

    /* Patrimoine */
    #patrimoine { background: linear-gradient(180deg, var(--isage-green-deep) 0 350px, #eeeae0 350px 100%) !important; }
    #patrimoine::before { height: 350px; }
    #patrimoine .section-subtitle { min-height: 80px; }
    #patrimoine > .container > .row { margin-top: 2.5rem; }
    #patrimoine .distinguish-card { min-width: 0; min-height: 185px; padding: 1.5rem !important; }

    /* Dernières actualités */
    #news > .container > .row.g-4 { margin-top: 3rem; }
    #news > .container > .row.g-4 > [class*="col-"] { width: 100%; }
    #news > .container > .row.g-4 > [class*="col-"]:first-child,
    #news > .container > .row.g-4 > [class*="col-"]:not(:first-child) {
        padding: 1.5rem 0 !important;
        border-right: 0;
        border-bottom: 1px solid var(--isage-line);
    }
}

@media (max-width: 767.98px) {
    /* Présentation */
    #presentation .section-badge { max-width: 100%; }
    #presentation .about-title { font-size: clamp(1.85rem, 9.5vw, 2.8rem) !important; }
    .about-section .vision-card,
    .about-section .audience-card,
    .about-section .benefits-card { display: block !important; }
    .about-section .vision-header,
    .about-section .card-header-custom {
        padding: 1.4rem 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid #cbd3cd !important;
    }
    .about-section .vision-content,
    .about-section .card-body-custom { padding: 1.4rem 0 !important; }
    .about-section .audience-list,
    .about-section .benefits-list { grid-template-columns: 1fr; }
    .about-section .audience-item,
    .about-section .benefit-item { padding: 1.1rem 0 !important; border-right: 0 !important; }
    .about-section .audience-section { margin-top: 3rem !important; }

    /* Titres et textes des blocs ciblés */
    #historique .section-title,
    #organisation .section-title,
    #sections .section-title,
    #patrimoine .section-title,
    #news .section-title { max-width: 100%; font-size: clamp(2rem, 9.5vw, 3rem) !important; line-height: 1.05; }
    #historique .section-subtitle,
    #organisation .section-subtitle,
    #sections .section-subtitle,
    #patrimoine .section-subtitle,
    #news .section-subtitle { max-width: 100%; min-height: 0; font-size: .86rem !important; line-height: 1.65; }

    /* Organisation */
    #organisation .organe-card-title { margin-bottom: 1.2rem !important; font-size: 1.2rem; }
    #organisation .organe-list li { grid-template-columns: 28px minmax(0, 1fr); gap: .65rem; }

    /* Sections et filières */
    #sections .program-card,
    #sections > .container > .row > [class*="col-"]:first-child .program-card {
        grid-template-columns: 46px minmax(0, 1fr) !important;
        gap: .7rem 1rem;
        padding: 1.5rem 0 !important;
    }
    #sections .program-icon { grid-column: 1; grid-row: 1 / 3; width: 44px !important; height: 44px !important; }
    #sections .program-title { grid-column: 2; grid-row: 1; margin-top: .25rem; font-size: 1.15rem; }
    #sections .program-card > p { grid-column: 2; grid-row: 2; }
    #sections .program-list { grid-column: 1 / -1; grid-row: 3; margin-top: .5rem; }
    #sections .program-card:hover { padding-right: 0 !important; padding-left: 0 !important; }

    /* Patrimoine */
    #patrimoine { background: linear-gradient(180deg, var(--isage-green-deep) 0 330px, #eeeae0 330px 100%) !important; }
    #patrimoine::before { height: 330px; }
    #patrimoine > .container > .row { grid-template-columns: 1fr; box-shadow: 0 16px 38px rgba(7,31,21,.12); }
    #patrimoine .distinguish-card { grid-template-columns: 44px minmax(0, 1fr); min-height: 0; padding: 1.35rem !important; }
    #patrimoine .card-number { top: 1rem !important; right: 1rem !important; font-size: 1.8rem !important; }

    /* Dernières actualités */
    #news .news-card-modern,
    #news > .container > .row.g-4 > [class*="col-"]:first-child .news-card-modern { display: block !important; padding-top: 0 !important; }
    #news .card-img-wrapper,
    #news > .container > .row.g-4 > [class*="col-"]:first-child .card-img-wrapper {
        width: 100%;
        height: auto !important;
        aspect-ratio: 16 / 9;
    }
    #news .news-card-modern .card-body,
    #news > .container > .row.g-4 > [class*="col-"]:first-child .card-body,
    #news .news-card-modern .card-footer,
    #news > .container > .row.g-4 > [class*="col-"]:first-child .card-footer { padding: 1rem 0 0 !important; }
    #news .card-meta { display: flex; flex-wrap: wrap; gap: .4rem .8rem; }
    #news .card-title,
    #news > .container > .row.g-4 > [class*="col-"]:first-child .card-title { font-size: clamp(1.3rem, 6vw, 1.75rem); }
    #news .card-text { display: -webkit-box !important; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    #news > .container > .text-center { text-align: center !important; }
}

@media (max-width: 420px) {
    #presentation .about-title { font-size: clamp(1.65rem, 8.7vw, 2.2rem) !important; }
    #historique .isage-timeline-item,
    #historique .isage-timeline-item + .isage-timeline-item { padding-left: 1.5rem; }
    #patrimoine .distinguish-card { grid-template-columns: 36px minmax(0, 1fr); gap: .35rem .8rem; padding: 1.15rem !important; }
    #patrimoine .distinguish-icon { width: 34px !important; height: 34px !important; }
    #patrimoine .distinguish-card h5 { padding-right: 1.8rem; font-size: 1.08rem; }
}

/* Patrimoine : contraste garanti sur la bande verte. */
#patrimoine .section-title,
#patrimoine .section-title span,
#patrimoine .section-title i {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* En-tête de la direction : composition mobile sans mots coupés. */
#management .management-heading,
#management .management-heading span {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

@media (max-width: 767.98px) {
    #management .container > .text-center {
        display: block !important;
        max-width: 100%;
        margin-bottom: 2.5rem !important;
        text-align: left !important;
    }
    #management .management-heading {
        max-width: 100%;
        margin: 0 0 1.35rem !important;
        font-size: clamp(2.35rem, 10.5vw, 3.65rem) !important;
        line-height: .92;
        letter-spacing: -.045em;
    }
    #management .management-heading span {
        display: block;
        width: max-content;
        max-width: 100%;
        white-space: nowrap;
    }
    #management .section-subtitle {
        max-width: 42ch;
        margin: 0 !important;
        padding: 1rem 0 0 !important;
        border-top: 1px solid var(--isage-gold);
        border-left: 0 !important;
        color: rgba(255,255,255,.68) !important;
        font-size: .88rem !important;
        line-height: 1.7;
        text-align: left !important;
    }
    #management .container > .row { margin-top: 0; }
}

@media (max-width: 420px) {
    #management .management-heading { font-size: clamp(2.05rem, 10vw, 2.65rem) !important; }
    #management .section-subtitle { font-size: .82rem !important; }
}

/* ==============================================================
   Journal d'accueil : une éditoriale et deux brèves
   ============================================================== */
.latest-news-section { background: #f7f6f1 !important; }
.latest-news-section .latest-news-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2.5rem;
    align-items: end;
    margin-bottom: 3.5rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #b9c5bd;
}
.latest-news-section .latest-news-heading { min-width: 0; }
.latest-news-section .latest-news-kicker {
    display: block;
    margin-bottom: 1rem;
    color: var(--isage-green);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.latest-news-section .latest-news-header .section-title {
    max-width: 850px;
    color: var(--isage-ink) !important;
    font-size: clamp(3rem, 5.2vw, 5.2rem) !important;
    line-height: .93;
    letter-spacing: -.05em;
    overflow-wrap: normal;
    word-break: normal;
}
.latest-news-section .latest-news-header .section-title em {
    display: block;
    color: var(--isage-green);
    font-weight: 400;
}
.latest-news-section .latest-news-header .section-subtitle {
    max-width: 62ch;
    margin-right: 0;
    margin-left: 0;
    color: #68766d !important;
    text-align: left !important;
}
.latest-news-section .latest-news-all {
    display: inline-flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    min-width: 230px;
    min-height: 50px;
    padding: 0 1rem;
    border-top: 1px solid var(--isage-green);
    border-bottom: 1px solid var(--isage-green);
    color: var(--isage-green);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-decoration: none;
    text-transform: uppercase;
}
.latest-news-section .latest-news-all i { transition: transform .2s ease; }
.latest-news-section .latest-news-all:hover { color: #9a7528; }
.latest-news-section .latest-news-all:hover i { transform: translateX(5px); }

.latest-news-section .latest-news-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-bottom: 1px solid #cbd4ce;
}
.latest-news-section .latest-news-item { min-width: 0; }
.latest-news-section .latest-news-item.is-featured {
    grid-row: 1 / 3;
    padding-right: 2.5rem;
    border-right: 1px solid #cbd4ce;
}
.latest-news-section .latest-news-item.is-secondary { padding: 1.5rem 0 1.5rem 2.5rem; }
.latest-news-section .latest-news-item.is-secondary + .is-secondary { border-top: 1px solid #cbd4ce; }

@media (min-width: 992px) {
    .latest-news-section .latest-news-item.is-featured:only-child {
        grid-column: 1 / -1;
        padding-right: 0;
        border-right: 0;
    }
    .latest-news-section .latest-news-item.is-featured + .latest-news-item.is-secondary:last-child {
        grid-row: 1 / 3;
        display: flex;
        align-items: center;
    }
}

.latest-news-section .news-card-modern {
    height: 100%;
    min-width: 0;
    padding: 0 !important;
    overflow: visible;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.latest-news-section .news-card-modern:hover { transform: none !important; box-shadow: none !important; }
.latest-news-section .is-featured .news-card-modern { display: block !important; }
.latest-news-section .is-featured .card-img-wrapper {
    width: 100%;
    height: auto !important;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 0 !important;
}
.latest-news-section .card-img-wrapper img { width: 100%; height: 100%; object-fit: cover; }
.latest-news-section .is-featured .card-body { padding: 1.6rem 0 0 !important; }
.latest-news-section .is-featured .card-footer { padding: 1rem 0 0 !important; }
.latest-news-section .is-featured .card-title {
    max-width: 760px;
    margin: .6rem 0 .8rem;
    color: var(--isage-ink);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.8rem, 3vw, 2.75rem);
    line-height: 1.12;
}
.latest-news-section .is-featured .card-text {
    display: -webkit-box !important;
    max-width: 72ch;
    overflow: hidden;
    color: #68766d;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.latest-news-section .is-secondary .news-card-modern {
    display: grid !important;
    grid-template-columns: 145px minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    gap: 0 1.2rem;
    align-items: start;
}
.latest-news-section .is-secondary .card-img-wrapper {
    grid-row: 1 / 3;
    width: 145px;
    height: auto !important;
    aspect-ratio: 4 / 3;
    border-radius: 0 !important;
}
.latest-news-section .is-secondary .card-body,
.latest-news-section .is-secondary .card-footer { min-width: 0; padding: 0 !important; }
.latest-news-section .is-secondary .card-title {
    margin: .55rem 0 0;
    color: var(--isage-ink);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.15rem;
    line-height: 1.28;
}
.latest-news-section .is-secondary .card-text { display: none !important; }
.latest-news-section .is-secondary .card-footer { align-self: end; padding-top: .7rem !important; }
.latest-news-section .card-meta { display: flex; flex-wrap: wrap; gap: .35rem .7rem; margin: 0; }
.latest-news-section .badge-category {
    padding: 0;
    background: transparent !important;
    color: var(--isage-green) !important;
    font-size: .58rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.latest-news-section .badge-category i { display: none; }
.latest-news-section .card-date { color: #829087; font-size: .62rem; }
.latest-news-section .btn-read-more {
    display: inline-flex;
    gap: .55rem;
    align-items: center;
    padding-bottom: .2rem;
    border-bottom: 1px solid var(--isage-green);
    color: var(--isage-green);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.latest-news-section .share-buttons { display: none !important; }

@media (max-width: 991.98px) {
    .latest-news-section .latest-news-header { grid-template-columns: 1fr; gap: 1.5rem; }
    .latest-news-section .latest-news-all { width: min(100%, 290px); }
    .latest-news-section .latest-news-grid { display: block; border-top: 0; }
    .latest-news-section .latest-news-item.is-featured,
    .latest-news-section .latest-news-item.is-secondary,
    .latest-news-section .latest-news-item.is-secondary + .is-secondary {
        padding: 1.5rem 0 !important;
        border-top: 1px solid #cbd4ce;
        border-right: 0;
    }
    .latest-news-section .latest-news-item:first-child { padding-top: 0 !important; border-top: 0; }
    .latest-news-section .is-featured .news-card-modern,
    .latest-news-section .is-secondary .news-card-modern {
        display: grid !important;
        grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
        grid-template-rows: 1fr auto;
        gap: 0 1.5rem;
    }
    .latest-news-section .is-featured .card-img-wrapper,
    .latest-news-section .is-secondary .card-img-wrapper {
        grid-row: 1 / 3;
        width: 100%;
        height: auto !important;
        aspect-ratio: 4 / 3;
    }
    .latest-news-section .is-featured .card-body,
    .latest-news-section .is-secondary .card-body,
    .latest-news-section .is-featured .card-footer,
    .latest-news-section .is-secondary .card-footer { padding: 0 !important; }
    .latest-news-section .is-featured .card-title,
    .latest-news-section .is-secondary .card-title { margin-top: .55rem; font-size: clamp(1.35rem, 3vw, 1.85rem); }
    .latest-news-section .is-featured .card-text { -webkit-line-clamp: 2; }
    .latest-news-section .is-featured .card-footer,
    .latest-news-section .is-secondary .card-footer { align-self: end; padding-top: .75rem !important; }
}

@media (max-width: 767.98px) {
    .latest-news-section .latest-news-header { margin-bottom: 2.25rem; padding-bottom: 1.5rem; }
    .latest-news-section .latest-news-header .section-title { font-size: clamp(2.35rem, 11vw, 3.5rem) !important; }
    .latest-news-section .latest-news-header .section-title em { display: inline; }
    .latest-news-section .latest-news-all { width: 100%; }
    .latest-news-section .is-featured .news-card-modern,
    .latest-news-section .is-secondary .news-card-modern { display: block !important; }
    .latest-news-section .is-featured .card-img-wrapper,
    .latest-news-section .is-secondary .card-img-wrapper { width: 100%; aspect-ratio: 16 / 9; }
    .latest-news-section .is-featured .card-body,
    .latest-news-section .is-secondary .card-body { padding-top: 1rem !important; }
    .latest-news-section .is-featured .card-footer,
    .latest-news-section .is-secondary .card-footer { padding-top: .8rem !important; }
    .latest-news-section .is-featured .card-title,
    .latest-news-section .is-secondary .card-title { font-size: clamp(1.35rem, 6vw, 1.75rem); }
    .latest-news-section .is-secondary .card-text {
        display: -webkit-box !important;
        overflow: hidden;
        color: #68766d;
        line-height: 1.65;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}

@media (max-width: 420px) {
    .latest-news-section .latest-news-header .section-title { font-size: clamp(2rem, 10.5vw, 2.7rem) !important; }
    .latest-news-section .latest-news-kicker { font-size: .56rem; }
    .latest-news-section .latest-news-item.is-featured,
    .latest-news-section .latest-news-item.is-secondary { padding: 1.2rem 0 !important; }
}
