/*
 * IndoSurgicals Desktop Corporate & Trust Pages — Patch 29 v1.0
 * --------------------------------------------------------------------------
 * Scope: desktop only (>= 901px).
 * Purpose: unify corporate information, testimonials, product catalogues,
 * exhibitions and FAQ/help pages into one established-manufacturer visual
 * language while preserving their existing content and functionality.
 */

@media (min-width: 901px) {
    /* ======================================================================
       Shared corporate rhythm
       ====================================================================== */
    html body .isp-info-page,
    html body .isp-testimonial-page,
    html body .isp-catalogue-page,
    html body .isp-exhibition-page,
    html body .isp-exhibition-category-page,
    html body .isp-category-faq-page {
        font-family: var(--isp-ds-font-sans, 'Poppins', Arial, Helvetica, sans-serif);
    }

    html body .isp-info-page,
    html body .isp-testimonial-page,
    html body .isp-exhibition-page,
    html body .isp-category-faq-page {
        width: 100%;
        max-width: var(--isp-ds-content-max, 1200px);
        margin: 0 auto;
    }

    /* ======================================================================
       Information pages — About / Quality / Contact / FAQ / Legal / Careers
       ====================================================================== */
    html body .isp-info-page {
        padding: 18px 44px;
        color: var(--isp-ds-text, #263746);
        background: transparent;
    }

    html body .isp-info-page .isp-info-shell {
        display: grid;
        gap: 0px;
    }

    html body .isp-info-page .isp-info-hero {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1.38fr) minmax(330px, .62fr);
        gap: 32px;
        align-items: stretch;
        margin: 0;
        padding: 36px 38px;
        overflow: hidden;
        border: 1px solid #d4e0e2;
        border-radius: 22px;
        background:
            radial-gradient(circle at 16% -15%, rgba(99, 196, 173, .14), transparent 35%),
            linear-gradient(145deg, #ffffff 0%, #f8fbfb 100%);
        box-shadow: var(--isp-ds-shadow-sm, 0 8px 24px rgba(39,60,77,.07));
    }

    html body .isp-info-page .isp-info-hero::before {
        top: 28px;
        bottom: 28px;
        left: 0;
        width: 4px;
        height: auto;
        border-radius: 0 999px 999px 0;
        background: linear-gradient(180deg, var(--isp-ds-teal, #008f87), var(--isp-ds-mint, #63c4ad));
    }

    html body .isp-info-page .isp-info-hero-copy {
        min-width: 0;
        align-self: center;
    }

    html body .isp-info-page .isp-info-eyebrow,
    html body .isp-info-page .isp-contact-map-heading > span,
    html body .isp-info-page .isp-faq-directory-heading > span {
        margin-bottom: 8px;
        color: var(--isp-ds-teal-dark, #00746f);
        font-size: 10.5px;
        font-weight: 750;
        letter-spacing: .12em;
    }

    html body .isp-info-page .isp-info-hero h1 {
        max-width: 760px;
        margin: 0 !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: clamp(34px, 3.2vw, 46px) !important;
        line-height: 1.12 !important;
        font-weight: 750 !important;
        letter-spacing: -.035em;
    }

    html body .isp-info-page .isp-info-hero-actions {
        gap: 9px;
        margin-top: 22px;
    }

    html body .isp-info-page .isp-info-primary-action,
    html body .isp-info-page .isp-info-secondary-action {
        min-height: 44px;
        padding: 10px 17px;
        border-radius: 9px;
        font-size: 12.5px;
        font-weight: 700;
        box-shadow: none;
    }

    html body .isp-info-page .isp-info-primary-action {
        border-color: var(--isp-ds-teal, #008f87);
        background: var(--isp-ds-teal, #008f87);
        color: #fff !important;
    }

    html body .isp-info-page .isp-info-secondary-action {
        border-color: #cbdadd;
        background: #fff;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
    }

    html body .isp-info-page .isp-info-trust {
        align-self: stretch;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        overflow: hidden;
        border: 1px solid #30495b;
        border-radius: 16px;
        background: linear-gradient(145deg, #2e4557 0%, #223746 100%);
        box-shadow: 0 16px 34px rgba(39,60,77,.14);
    }

    html body .isp-info-page .isp-info-trust > div {
        min-height: 0;
        display: block;
        padding: 16px 18px;
        border: 0;
        border-bottom: 1px solid rgba(255,255,255,.10);
        border-radius: 0;
        background: transparent;
    }

    html body .isp-info-page .isp-info-trust > div:last-child {
        border-bottom: 0;
    }

    html body .isp-info-page .isp-info-trust strong {
        margin-bottom: 3px;
        color: #86ddca;
        font-size: 11px;
        font-weight: 750;
        letter-spacing: .045em;
        text-transform: uppercase;
    }

    html body .isp-info-page .isp-info-trust span {
        color: rgba(255,255,255,.84);
        font-size: 12px;
        line-height: 1.5;
    }

    html body .isp-info-page .isp-info-content-card {
        margin: 0;
        padding: 34px 40px 38px;
        border: 1px solid #d8e2e3;
        border-radius: 20px;
        background: #fff;
        box-shadow: none;
    }

    /* The page title is already established by the hero. Removing the repeated
       CMS heading makes the page read like a corporate article, not two heroes. */
    html body .isp-info-page .isp-info-content-heading {
        display: none;
    }

    html body .isp-info-page .isp-page-body {
        max-width: 1040px;
        margin: 0 auto !important;
        color: #304555;
        font-size: 15px;
        line-height: 1.78;
    }

    html body .isp-info-page .isp-page-body--authored {
        max-width: none;
        color: var(--isp-root-text, #263746);
        font-family: var(--isp-root-font, 'Poppins', Arial, Helvetica, sans-serif);
        font-size: var(--isp-root-body-size, 14px);
        line-height: 1.7;
    }
    html body .isp-info-page .isp-page-body--authored > * { max-width: 100%; }
    html body .isp-info-page .isp-page-body--authored img,
    html body .isp-info-page .isp-page-body--authored video { max-width: 100% !important; height: auto !important; }

    html body .isp-info-page .isp-page-body > *:first-child {
        margin-top: 0 !important;
    }

    html body .isp-info-page .isp-page-body--standard p {
        margin-bottom: 15px;
    }

    html body .isp-info-page .isp-page-body--standard h2 {
        margin: 30px 0 11px !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: 26px !important;
        line-height: 1.24 !important;
        font-weight: 750 !important;
        letter-spacing: -.02em;
    }

    html body .isp-info-page .isp-page-body--standard h3 {
        margin: 25px 0 10px !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: 20px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
    }

    html body .isp-info-page .isp-page-body--standard h4,
    html body .isp-info-page .isp-page-body--standard h5,
    html body .isp-info-page .isp-page-body--standard h6 {
        margin: 22px 0 9px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
    }

    html body .isp-info-page .isp-page-body--standard a {
        color: var(--isp-ds-teal-dark, #00746f);
        font-weight: 600;
    }

    html body .isp-info-page .isp-page-body--standard ul,
    html body .isp-info-page .isp-page-body--standard ol {
        margin: 12px 0 19px !important;
        padding-left: 22px !important;
    }

    html body .isp-info-page .isp-page-body--standard li {
        margin-bottom: 7px;
        padding-left: 3px;
    }

    html body .isp-info-page .isp-page-body--standard table {
        margin: 18px 0 24px !important;
        overflow: hidden;
        border: 1px solid #d8e3e4;
        border-radius: 12px;
        box-shadow: 0 5px 18px rgba(39,60,77,.035);
    }

    html body .isp-info-page .isp-page-body--standard th,
    html body .isp-info-page .isp-page-body--standard td {
        padding: 11px 13px !important;
        border-color: #dce6e7 !important;
        font-size: 13px;
        line-height: 1.55;
    }

    html body .isp-info-page .isp-page-body--standard th {
        background: #eef6f5;
        color: #2d4859;
        font-weight: 700;
    }

    html body .isp-info-page .isp-page-body--standard img {
        border-radius: 12px;
    }

    html body .isp-info-page--about-us .isp-page-body > p:first-of-type,
    html body .isp-info-page--quality .isp-page-body > p:first-of-type {
        color: #3d5667;
        font-size: 17px;
        line-height: 1.72;
    }

    html body .isp-info-page .isp-contact-map,
    html body .isp-info-page .isp-faq-directory {
        margin-top: 30px;
        padding-top: 28px;
        border-top-color: #dce5e6;
    }

    html body .isp-info-page .isp-contact-map {
        display: grid;
        grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr);
        gap: 22px;
        align-items: stretch;
    }

    html body .isp-info-page .isp-contact-map-heading {
        margin: 0;
        padding: 22px;
        border: 1px solid #d4e5e2;
        border-radius: 14px;
        background: linear-gradient(145deg, #edf8f6 0%, #f8fbfb 100%);
    }

    html body .isp-info-page .isp-contact-map-heading h2,
    html body .isp-info-page .isp-faq-directory-heading h2 {
        margin: 0 !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: 24px !important;
        line-height: 1.28 !important;
        font-weight: 750 !important;
        letter-spacing: -.02em;
    }

    html body .isp-info-page .isp-contact-map-frame {
        min-height: 360px;
        border-color: #d8e2e3;
        border-radius: 14px;
        box-shadow: none;
    }

    html body .isp-info-page .isp-contact-map-frame iframe {
        height: 100%;
        min-height: 360px;
    }

    html body .isp-info-page .isp-faq-directory-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
        gap: 24px;
        align-items: end;
        margin-bottom: 17px;
    }

    html body .isp-info-page .isp-faq-directory-heading > span {
        grid-column: 1 / -1;
        margin-bottom: -17px;
    }

    html body .isp-info-page .isp-faq-directory-heading p {
        margin: 0;
        text-align: right;
    }

    html body .isp-info-page .isp-faq-accordion {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
        align-items: start;
    }

    html body .isp-info-page .isp-faq-group {
        border-color: #d8e4e4;
        border-radius: 10px;
        box-shadow: none;
    }

    html body .isp-info-page .isp-faq-trigger {
        min-height: 58px;
        padding: 11px 14px;
        background: #fff;
    }

    html body .isp-info-page .isp-faq-trigger strong {
        font-size: 13px;
        font-weight: 700;
    }

    html body .isp-info-page .isp-faq-trigger small {
        font-size: 10px;
    }

    html body .isp-info-page .isp-faq-links {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 10px;
    }

    html body .isp-info-page .isp-faq-links a {
        min-height: 40px;
        padding: 8px 10px;
        border-radius: 7px;
        font-size: 12px;
    }

    /* ======================================================================
       Testimonials — social proof without an oversized landing-page feel
       ====================================================================== */
    html body .isp-testimonial-page {
        padding: 18px 0 46px;
    }

    html body .isp-testimonial-page .isp-testimonial-hero {
        grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr);
        gap: 30px;
        padding: 34px 38px;
        border-color: #d4e0e2;
        border-radius: 22px;
        background:
            radial-gradient(circle at 8% 0%, rgba(99,196,173,.13), transparent 35%),
            #fff;
        box-shadow: var(--isp-ds-shadow-sm, 0 8px 24px rgba(39,60,77,.07));
    }

    html body .isp-testimonial-page .isp-testimonial-hero::before {
        top: 28px;
        bottom: 28px;
        width: 4px;
        height: auto;
        border-radius: 0 999px 999px 0;
    }

    html body .isp-testimonial-page .isp-testimonial-hero h1 {
        font-size: clamp(34px, 3.15vw, 46px) !important;
        line-height: 1.12 !important;
        font-weight: 750 !important;
    }

    html body .isp-testimonial-page .isp-testimonial-hero-copy > p {
        max-width: 720px;
        margin-top: 13px !important;
        font-size: 14px;
        line-height: 1.7;
    }

    html body .isp-testimonial-page .isp-testimonial-hero-actions {
        margin-top: 20px;
    }

    html body .isp-testimonial-page .isp-testimonial-primary-action,
    html body .isp-testimonial-page .isp-testimonial-secondary-action {
        min-height: 44px;
        padding: 10px 16px;
        border-radius: 9px;
        font-size: 12.5px;
        font-weight: 700;
        box-shadow: none;
    }

    html body .isp-testimonial-page .isp-testimonial-summary {
        border-color: #30495b;
        border-radius: 15px;
        background: linear-gradient(145deg, #2e4557 0%, #223746 100%);
        box-shadow: 0 16px 34px rgba(39,60,77,.14);
    }

    html body .isp-testimonial-page .isp-testimonial-summary-main,
    html body .isp-testimonial-page .isp-testimonial-summary-row {
        border-color: rgba(255,255,255,.10);
    }

    html body .isp-testimonial-page .isp-testimonial-summary-main strong,
    html body .isp-testimonial-page .isp-testimonial-summary-row strong {
        color: #86ddca;
    }

    html body .isp-testimonial-page .isp-testimonial-summary-main span,
    html body .isp-testimonial-page .isp-testimonial-summary-row span,
    html body .isp-testimonial-page .isp-testimonial-summary-row small {
        color: rgba(255,255,255,.80);
    }

    html body .isp-testimonial-page .isp-testimonial-list-section {
        margin-top: 18px;
        padding: 30px 32px 32px;
        border: 1px solid #d8e2e3;
        border-radius: 20px;
        background: #fff;
        box-shadow: none;
    }

    html body .isp-testimonial-page .isp-testimonial-section-heading {
        gap: 24px;
        margin-bottom: 20px;
        padding-bottom: 17px;
    }

    html body .isp-testimonial-page .isp-testimonial-section-heading h2,
    html body .isp-testimonial-page .isp-testimonial-submit-intro h2 {
        font-size: 27px !important;
        line-height: 1.23 !important;
        font-weight: 750 !important;
    }

    html body .isp-testimonial-page .isp-testimonial-section-heading > p {
        max-width: 430px;
        font-size: 12.5px;
        line-height: 1.55;
    }

    html body .isp-testimonial-page .isp-testimonial-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    html body .isp-testimonial-page .isp-testimonial-card {
        min-height: 100%;
        padding: 22px 20px 18px;
        border-color: #dce5e6;
        border-radius: 14px;
        background: linear-gradient(180deg, #fff 0%, #fbfdfd 100%);
        box-shadow: none;
    }

    html body .isp-testimonial-page .isp-testimonial-card:hover {
        transform: translateY(-2px);
        border-color: #bcd8d3;
        box-shadow: 0 10px 26px rgba(39,60,77,.07);
    }

    html body .isp-testimonial-page .isp-testimonial-card.is-highlighted {
        border-color: #c6e4de;
        background: linear-gradient(180deg, #f3fbf9 0%, #fff 100%);
    }

    html body .isp-testimonial-page .isp-testimonial-quote-mark {
        margin-bottom: 5px;
        color: #9ad8cb;
        font-size: 34px;
        line-height: 1;
    }

    html body .isp-testimonial-page .isp-testimonial-card-copy {
        color: #3e5362;
        font-size: 12.5px;
        line-height: 1.68;
    }

    html body .isp-testimonial-page .isp-testimonial-card-footer {
        margin-top: 18px;
        padding-top: 14px;
    }

    html body .isp-testimonial-page .isp-testimonial-submit-section {
        grid-template-columns: minmax(300px, .68fr) minmax(0, 1.32fr);
        gap: 0;
        margin-top: 18px;
        overflow: hidden;
        border: 1px solid #d2dfe0;
        border-radius: 20px;
        background: #fff;
        box-shadow: none;
    }

    html body .isp-testimonial-page .isp-testimonial-submit-intro,
    html body .isp-testimonial-page .isp-testimonial-form-card {
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    html body .isp-testimonial-page .isp-testimonial-submit-intro {
        padding: 30px 28px;
        background: linear-gradient(145deg, #2f4658 0%, #223746 100%);
        color: #fff;
    }

    html body .isp-testimonial-page .isp-testimonial-submit-intro .isp-testimonial-eyebrow {
        color: #8de0ce;
    }

    html body .isp-testimonial-page .isp-testimonial-submit-intro h2,
    html body .isp-testimonial-page .isp-testimonial-submit-intro > p {
        color: #fff !important;
    }

    html body .isp-testimonial-page .isp-testimonial-submit-intro > p {
        opacity: .78;
        font-size: 12.5px;
        line-height: 1.65;
    }

    html body .isp-testimonial-page .isp-testimonial-guidance {
        gap: 8px;
        margin-top: 22px;
    }

    html body .isp-testimonial-page .isp-testimonial-guidance > div {
        padding: 12px;
        border-color: rgba(255,255,255,.12);
        background: rgba(255,255,255,.06);
    }

    html body .isp-testimonial-page .isp-testimonial-guidance svg {
        fill: #8de0ce;
    }

    html body .isp-testimonial-page .isp-testimonial-guidance strong {
        color: #fff;
    }

    html body .isp-testimonial-page .isp-testimonial-guidance small {
        color: rgba(255,255,255,.67);
    }

    html body .isp-testimonial-page .isp-testimonial-form-card {
        padding: 30px 32px;
        background: #fff;
    }

    html body .isp-testimonial-page .isp-testimonial-form-grid {
        gap: 13px 14px;
    }

    html body .isp-testimonial-page .isp-testimonial-field input,
    html body .isp-testimonial-page .isp-testimonial-field textarea {
        border-color: #d5e1e2;
        border-radius: 9px;
        background: #fbfdfd;
    }

    html body .isp-testimonial-page .isp-testimonial-form-footer button {
        min-height: 46px;
        border-radius: 9px;
        background: var(--isp-ds-teal, #008f87);
        box-shadow: none;
    }

    /* ======================================================================
       Product catalogue — document library, not ecommerce cards
       ====================================================================== */
    html body .isp-catalogue-page {
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 0 46px !important;
        background: transparent !important;
    }

    html body .isp-catalogue-page .isp-catalogue-content {
        width: 100% !important;
        max-width: var(--isp-ds-content-max, 1200px) !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    html body .isp-catalogue-page .isp-catalogue-intro {
        position: relative;
        margin: 0 0 18px !important;
        padding: 30px 34px !important;
        overflow: hidden;
        border: 1px solid #d4e0e2 !important;
        border-radius: 20px !important;
        background:
            radial-gradient(circle at 90% -20%, rgba(99,196,173,.16), transparent 35%),
            #fff !important;
        box-shadow: var(--isp-ds-shadow-sm, 0 8px 24px rgba(39,60,77,.07)) !important;
        text-align: left !important;
    }

    html body .isp-catalogue-page .isp-catalogue-intro::before {
        content: "PDF & digital resources";
        position: absolute;
        top: 24px;
        right: 28px;
        padding: 7px 11px;
        border: 1px solid #cde4df;
        border-radius: 999px;
        background: #eef9f7;
        color: var(--isp-ds-teal-dark, #00746f);
        font-size: 9.5px;
        font-weight: 750;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    html body .isp-catalogue-page .isp-catalogue-kicker {
        color: var(--isp-ds-teal-dark, #00746f) !important;
        font-size: 10.5px !important;
        font-weight: 750 !important;
        letter-spacing: .12em !important;
    }

    html body .isp-catalogue-page .isp-catalogue-intro h4 {
        max-width: 760px;
        margin: 5px 0 8px !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: clamp(32px, 3vw, 42px) !important;
        line-height: 1.14 !important;
        font-weight: 750 !important;
        letter-spacing: -.03em;
        text-align: left !important;
    }

    html body .isp-catalogue-page .isp-catalogue-title-suffix {
        color: #607482 !important;
        font-size: .55em !important;
        font-weight: 600 !important;
    }

    html body .isp-catalogue-page .isp-catalogue-summary {
        max-width: 710px;
        margin: 0 !important;
        color: var(--isp-ds-muted, #687986) !important;
        font-size: 13px !important;
        line-height: 1.65 !important;
    }

    html body .isp-catalogue-page .isp-catalogue-grid {
        margin: 0 !important;
        padding: 0 !important;
    }

    html body .isp-catalogue-page .isp-catalogue-grid > ul {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 13px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    html body .isp-catalogue-page .isp-catalogue-grid > ul > li {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    html body .isp-catalogue-page .isp-catalogue-card {
        height: 100%;
        display: flex;
        flex-direction: column;
        padding: 14px !important;
        border: 1px solid #d9e3e4 !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: none !important;
        transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }

    html body .isp-catalogue-page .isp-catalogue-card:hover {
        transform: translateY(-2px);
        border-color: #bcd8d3 !important;
        box-shadow: 0 10px 28px rgba(39,60,77,.07) !important;
    }

    html body .isp-catalogue-page .isp-catalogue-card h2 {
        min-height: 42px;
        margin: 0 0 10px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
        font-weight: 700 !important;
        text-align: left !important;
    }

    html body .isp-catalogue-page .isp-catalogue-card h2 a {
        color: inherit !important;
        text-decoration: none !important;
    }

    html body .isp-catalogue-page .isp-catalogue-cover-wrap {
        min-height: 270px;
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        margin: 0 !important;
        padding: 13px !important;
        border: 1px solid #e1e8e9;
        border-radius: 10px;
        background: #f7f9f9;
    }

    html body .isp-catalogue-page .isp-catalogue-cover,
    html body .isp-catalogue-page .isp-catalogue-cover img {
        width: 100% !important;
        height: 100% !important;
    }

    html body .isp-catalogue-page .isp-catalogue-cover img {
        max-height: 250px !important;
        object-fit: contain;
    }

    html body .isp-catalogue-page .isp-catalogue-action {
        min-height: 40px;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        margin-top: 10px !important;
        padding: 9px 11px !important;
        border: 1px solid #cfe3df !important;
        border-radius: 8px !important;
        background: #eef8f6 !important;
        color: var(--isp-ds-teal-dark, #00746f) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
    }

    html body .isp-catalogue-page .isp-catalogue-action:hover,
    html body .isp-catalogue-page .isp-catalogue-action:focus {
        border-color: var(--isp-ds-teal, #008f87) !important;
        background: var(--isp-ds-teal, #008f87) !important;
        color: #fff !important;
    }

    /* ======================================================================
       Exhibition categories — established presence / event archive
       ====================================================================== */
    html body .isp-exhibition-category-page {
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 0 46px !important;
        background: transparent !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-content {
        width: 100% !important;
        max-width: var(--isp-ds-content-max, 1200px) !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-intro {
        margin: 0 0 18px !important;
        padding: 30px 34px !important;
        border: 1px solid #d4e0e2 !important;
        border-radius: 20px !important;
        background:
            radial-gradient(circle at 92% -20%, rgba(99,196,173,.16), transparent 35%),
            #fff !important;
        box-shadow: var(--isp-ds-shadow-sm, 0 8px 24px rgba(39,60,77,.07)) !important;
        text-align: left !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-kicker {
        color: var(--isp-ds-teal-dark, #00746f) !important;
        font-size: 10.5px !important;
        font-weight: 750 !important;
        letter-spacing: .12em !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-intro h4 {
        margin: 5px 0 8px !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: clamp(32px, 3vw, 42px) !important;
        line-height: 1.14 !important;
        font-weight: 750 !important;
        letter-spacing: -.03em;
        text-align: left !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-intro p {
        max-width: 760px;
        margin: 0 !important;
        color: var(--isp-ds-muted, #687986) !important;
        font-size: 13px !important;
        line-height: 1.65 !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-grid > ul {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-grid > ul > li {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-card {
        height: 100%;
        display: grid !important;
        grid-template-columns: 1fr !important;
        overflow: hidden;
        border: 1px solid #d8e3e4 !important;
        border-radius: 15px !important;
        background: #fff !important;
        box-shadow: none !important;
        transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-card:hover {
        transform: translateY(-2px);
        border-color: #bcd8d3 !important;
        box-shadow: 0 10px 28px rgba(39,60,77,.07) !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-image {
        grid-row: 1;
        min-height: 210px;
        width: 100% !important;
        overflow: hidden;
        border-radius: 0 !important;
        background: #f3f7f7 !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-image img {
        width: 100% !important;
        height: 220px !important;
        object-fit: cover !important;
        transition: transform .28s ease;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-card:hover .isp-exhibition-category-image img {
        transform: scale(1.025);
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-copy {
        grid-row: 2;
        min-height: 150px;
        display: flex;
        flex-direction: column;
        padding: 18px !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-label {
        margin-bottom: 6px;
        color: var(--isp-ds-teal-dark, #00746f) !important;
        font-size: 9.5px !important;
        font-weight: 750 !important;
        letter-spacing: .10em !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-copy h2 {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: var(--isp-ds-navy-dark, #273c4d) !important;
        font-size: 17px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
        text-align: left !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-copy h2 a {
        color: inherit !important;
        text-decoration: none !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-action {
        margin-top: auto !important;
        padding-top: 15px;
        color: var(--isp-ds-teal-dark, #00746f) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
    }

    /* ======================================================================
       Exhibition detail — event story + gallery
       ====================================================================== */
    html body .isp-exhibition-page {
        padding: 18px 0 46px;
    }

    html body .isp-exhibition-page .isp-exhibition-hero {
        grid-template-columns: minmax(0, 1.38fr) minmax(320px, .62fr);
        gap: 30px;
        padding: 34px 38px;
        border-color: #d4e0e2;
        border-radius: 22px;
        background:
            radial-gradient(circle at 8% 0%, rgba(99,196,173,.13), transparent 35%),
            #fff;
        box-shadow: var(--isp-ds-shadow-sm, 0 8px 24px rgba(39,60,77,.07));
    }

    html body .isp-exhibition-page .isp-exhibition-hero::before {
        top: 28px;
        bottom: 28px;
        width: 4px;
        height: auto;
        border-radius: 0 999px 999px 0;
    }

    html body .isp-exhibition-page .isp-exhibition-hero h1 {
        font-size: clamp(34px, 3.15vw, 46px) !important;
        line-height: 1.12 !important;
        font-weight: 750 !important;
        letter-spacing: -.035em;
    }

    html body .isp-exhibition-page .isp-exhibition-hero-copy > p {
        margin-top: 13px !important;
        font-size: 14px;
        line-height: 1.7;
    }

    html body .isp-exhibition-page .isp-exhibition-hero-actions {
        margin-top: 20px;
    }

    html body .isp-exhibition-page .isp-exhibition-primary,
    html body .isp-exhibition-page .isp-exhibition-secondary {
        min-height: 44px;
        padding: 10px 16px;
        border-radius: 9px;
        font-size: 12.5px;
        font-weight: 700;
        box-shadow: none;
    }

    html body .isp-exhibition-page .isp-exhibition-hero-panel {
        overflow: hidden;
        gap: 0;
        border: 1px solid #30495b;
        border-radius: 15px;
        background: linear-gradient(145deg, #2e4557 0%, #223746 100%);
        box-shadow: 0 16px 34px rgba(39,60,77,.14);
    }

    html body .isp-exhibition-page .isp-exhibition-hero-panel > div {
        padding: 15px 17px;
        border: 0;
        border-bottom: 1px solid rgba(255,255,255,.10);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    html body .isp-exhibition-page .isp-exhibition-hero-panel > div:last-child {
        border-bottom: 0;
    }

    html body .isp-exhibition-page .isp-exhibition-hero-panel span {
        color: rgba(255,255,255,.58);
    }

    html body .isp-exhibition-page .isp-exhibition-hero-panel strong {
        color: #fff;
    }

    html body .isp-exhibition-page .isp-exhibition-hero-panel > div:first-child strong {
        color: #8de0ce;
    }

    html body .isp-exhibition-page .isp-exhibition-intro {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        margin-top: 14px;
    }

    html body .isp-exhibition-page .isp-exhibition-intro article {
        min-height: 0;
        padding: 16px 17px;
        border-color: #dbe5e6;
        border-radius: 12px;
        background: #fff;
        box-shadow: none;
    }

    html body .isp-exhibition-page .isp-exhibition-intro article > span {
        color: #94cfc3;
        font-size: 18px;
    }

    html body .isp-exhibition-page .isp-exhibition-intro h2 {
        font-size: 14px !important;
        font-weight: 700 !important;
    }

    html body .isp-exhibition-page .isp-exhibition-intro p {
        font-size: 11.5px;
        line-height: 1.55;
    }

    html body .isp-exhibition-page .isp-exhibition-list {
        margin-top: 14px;
        padding: 30px 32px 32px;
        border-color: #d8e2e3;
        border-radius: 20px;
        box-shadow: none;
    }

    html body .isp-exhibition-page .isp-exhibition-section-heading {
        margin-bottom: 18px;
        padding-bottom: 16px;
    }

    html body .isp-exhibition-page .isp-exhibition-section-heading h2 {
        font-size: 27px !important;
        font-weight: 750 !important;
    }

    html body .isp-exhibition-page .isp-exhibition-events {
        gap: 14px;
    }

    html body .isp-exhibition-page .isp-exhibition-event-card {
        padding: 0;
        overflow: hidden;
        border-color: #dbe4e5;
        border-radius: 15px;
        background: #fff;
        box-shadow: none;
    }

    html body .isp-exhibition-page .isp-exhibition-event-head {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 14px;
        padding: 17px 19px;
        border-bottom: 1px solid #e0e8e9;
        background: #fafcfc;
    }

    html body .isp-exhibition-page .isp-exhibition-event-number {
        width: 38px;
        height: 38px;
        border-radius: 10px;
        background: #eaf7f5;
        color: var(--isp-ds-teal-dark, #00746f);
        font-size: 11px;
    }

    html body .isp-exhibition-page .isp-exhibition-event-title h3 {
        font-size: 18px !important;
        font-weight: 700 !important;
    }

    html body .isp-exhibition-page .isp-exhibition-event-meta {
        gap: 9px;
        padding: 13px 19px 0;
    }

    html body .isp-exhibition-page .isp-exhibition-gallery {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        padding: 13px 19px 19px;
    }

    html body .isp-exhibition-page .isp-exhibition-gallery-featured {
        grid-column: span 2;
        grid-row: span 2;
    }

    html body .isp-exhibition-page .isp-exhibition-lightbox {
        min-height: 150px;
        border-radius: 10px;
    }

    html body .isp-exhibition-page .isp-exhibition-cta {
        margin-top: 14px;
        padding: 24px 28px;
        border-radius: 16px;
        background: linear-gradient(135deg, #2d4557 0%, #233746 100%);
        box-shadow: none;
    }

    html body .isp-exhibition-page .isp-exhibition-cta h2 {
        font-size: 24px !important;
        font-weight: 750 !important;
    }

    /* ======================================================================
       Product FAQ pages — support/knowledge family
       ====================================================================== */
    html body .isp-category-faq-page {
        padding: 18px 0 46px;
    }

    html body .isp-category-faq-page .isp-category-faq-hero {
        grid-template-columns: minmax(0, 1.38fr) minmax(320px, .62fr);
        gap: 30px;
        padding: 34px 38px;
        border-color: #d4e0e2;
        border-radius: 22px;
        background:
            radial-gradient(circle at 8% 0%, rgba(99,196,173,.13), transparent 35%),
            #fff;
        box-shadow: var(--isp-ds-shadow-sm, 0 8px 24px rgba(39,60,77,.07));
    }

    html body .isp-category-faq-page .isp-category-faq-hero::before {
        top: 28px;
        bottom: 28px;
        width: 4px;
        height: auto;
        border-radius: 0 999px 999px 0;
    }

    html body .isp-category-faq-page .isp-category-faq-hero h1 {
        font-size: clamp(32px, 3vw, 44px) !important;
        line-height: 1.13 !important;
        font-weight: 750 !important;
        letter-spacing: -.035em;
    }

    html body .isp-category-faq-page .isp-category-faq-hero-copy > p {
        margin-top: 13px !important;
        font-size: 13.5px;
        line-height: 1.68;
    }

    html body .isp-category-faq-page .isp-category-faq-hero-actions {
        margin-top: 20px;
    }

    html body .isp-category-faq-page .isp-category-faq-primary,
    html body .isp-category-faq-page .isp-category-faq-secondary {
        min-height: 44px;
        padding: 10px 16px;
        border-radius: 9px;
        font-size: 12px;
        font-weight: 700;
        box-shadow: none;
    }

    html body .isp-category-faq-page .isp-category-faq-hero-panel {
        overflow: hidden;
        gap: 0;
        border: 1px solid #30495b;
        border-radius: 15px;
        background: linear-gradient(145deg, #2e4557 0%, #223746 100%);
        box-shadow: 0 16px 34px rgba(39,60,77,.14);
    }

    html body .isp-category-faq-page .isp-category-faq-hero-panel > div {
        padding: 15px 17px;
        border: 0;
        border-bottom: 1px solid rgba(255,255,255,.10);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    html body .isp-category-faq-page .isp-category-faq-hero-panel > div:last-child {
        border-bottom: 0;
    }

    html body .isp-category-faq-page .isp-category-faq-hero-panel span {
        color: rgba(255,255,255,.58);
    }

    html body .isp-category-faq-page .isp-category-faq-hero-panel strong {
        color: #fff;
    }

    html body .isp-category-faq-page .isp-category-faq-hero-panel > div:first-child strong {
        color: #8de0ce;
    }

    html body .isp-category-faq-page .isp-category-faq-directory {
        margin-top: 14px;
        padding: 30px 32px 32px;
        border-color: #d8e2e3;
        border-radius: 20px;
        box-shadow: none;
    }

    html body .isp-category-faq-page .isp-category-faq-section-head {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .6fr);
        gap: 26px;
        padding-bottom: 18px;
    }

    html body .isp-category-faq-page .isp-category-faq-section-head h2,
    html body .isp-category-faq-page .isp-category-faq-help h2 {
        font-size: 26px !important;
        font-weight: 750 !important;
    }

    html body .isp-category-faq-page .isp-category-faq-section-head p,
    html body .isp-category-faq-page .isp-category-faq-help p {
        font-size: 12.5px;
        line-height: 1.58;
    }

    html body .isp-category-faq-page .isp-category-faq-tools {
        gap: 8px;
    }

    html body .isp-category-faq-page .isp-category-faq-search input {
        min-height: 42px;
        border-radius: 9px;
        background: #fbfdfd;
    }

    html body .isp-category-faq-page .isp-category-faq-tool-buttons button {
        min-height: 34px;
        padding: 7px 10px;
        border-radius: 7px;
        font-size: 10.5px;
    }

    html body .isp-category-faq-page .isp-category-faq-list {
        gap: 8px;
    }

    html body .isp-category-faq-page .isp-category-faq-item {
        border-color: #dce5e6;
        border-radius: 10px;
        box-shadow: none;
    }

    html body .isp-category-faq-page .isp-category-faq-question {
        min-height: 58px;
        padding: 11px 14px;
    }

    html body .isp-category-faq-page .isp-category-faq-question-text {
        font-size: 13px;
        line-height: 1.45;
        font-weight: 650;
    }

    html body .isp-category-faq-page .isp-category-faq-number {
        width: 32px;
        height: 32px;
        font-size: 9.5px;
    }

    html body .isp-category-faq-page .isp-category-faq-answer-inner {
        padding: 16px 18px 19px 60px;
        color: #3d5362;
        font-size: 13px;
        line-height: 1.7;
    }

    html body .isp-category-faq-page .isp-category-faq-help {
        margin-top: 14px;
        padding: 22px 26px;
        border-radius: 15px;
        background: #eef8f6;
        box-shadow: none;
    }

    html body .isp-category-faq-page .isp-category-faq-help h2 {
        color: var(--isp-ds-navy-dark, #273c4d) !important;
    }

    /* Shared reduced visual noise */
    html body .isp-info-page a,
    html body .isp-testimonial-page a,
    html body .isp-catalogue-page a,
    html body .isp-exhibition-page a,
    html body .isp-exhibition-category-page a,
    html body .isp-category-faq-page a {
        text-underline-offset: 2px;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    html body .isp-info-page .isp-info-hero,
    html body .isp-testimonial-page .isp-testimonial-hero,
    html body .isp-exhibition-page .isp-exhibition-hero,
    html body .isp-category-faq-page .isp-category-faq-hero {
        grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
        gap: 24px;
        padding: 30px;
    }

    html body .isp-catalogue-page .isp-catalogue-grid > ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-grid > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html body .isp-testimonial-page .isp-testimonial-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html body .isp-exhibition-page .isp-exhibition-gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    html body .isp-exhibition-page .isp-exhibition-gallery-featured {
        grid-column: span 2;
        grid-row: span 1;
    }
}

@media (min-width: 901px) and (max-width: 1020px) {
    html body .isp-info-page .isp-info-hero,
    html body .isp-testimonial-page .isp-testimonial-hero,
    html body .isp-exhibition-page .isp-exhibition-hero,
    html body .isp-category-faq-page .isp-category-faq-hero {
        grid-template-columns: 1fr;
    }

    html body .isp-info-page .isp-info-trust,
    html body .isp-testimonial-page .isp-testimonial-summary,
    html body .isp-exhibition-page .isp-exhibition-hero-panel,
    html body .isp-category-faq-page .isp-category-faq-hero-panel {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    html body .isp-info-page .isp-info-trust > div,
    html body .isp-testimonial-page .isp-testimonial-summary > *,
    html body .isp-exhibition-page .isp-exhibition-hero-panel > div,
    html body .isp-category-faq-page .isp-category-faq-hero-panel > div {
        border-right: 1px solid rgba(255,255,255,.10);
        border-bottom: 0;
    }

    html body .isp-info-page .isp-info-trust > div:last-child,
    html body .isp-exhibition-page .isp-exhibition-hero-panel > div:last-child,
    html body .isp-category-faq-page .isp-category-faq-hero-panel > div:last-child {
        border-right: 0;
    }

    html body .isp-info-page .isp-contact-map {
        grid-template-columns: 1fr;
    }

    html body .isp-info-page .isp-faq-accordion {
        grid-template-columns: 1fr;
    }

    html body .isp-testimonial-page .isp-testimonial-submit-section {
        grid-template-columns: 1fr;
    }

    html body .isp-catalogue-page .isp-catalogue-grid > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    html body .isp-category-faq-page .isp-category-faq-section-head {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 901px) and (prefers-reduced-motion: reduce) {
    html body .isp-info-page *,
    html body .isp-testimonial-page *,
    html body .isp-catalogue-page *,
    html body .isp-exhibition-page *,
    html body .isp-exhibition-category-page *,
    html body .isp-category-faq-page * {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}

/* ========================================================================== 
   Patch 29.1 — Corporate Contrast + Exhibition Density Fix
   Desktop-only corrective layer. Preserves Patch 29 structure/content.
   ========================================================================== */
@media (min-width: 901px) {
    /* Let authored section colour control headings. This keeps headings dark on
       light surfaces and restores white headings inside dark manufacturer panels. */
    html body .isp-info-page .isp-page-body--standard h2,
    html body .isp-info-page .isp-page-body--standard h3,
    html body .isp-info-page .isp-page-body--standard h4,
    html body .isp-info-page .isp-page-body--standard h5,
    html body .isp-info-page .isp-page-body--standard h6 {
        color: inherit !important;
    }

    /* Exhibition detail CTA is a deliberately dark surface. */
    html body .isp-exhibition-page .isp-exhibition-cta h2,
    html body .isp-exhibition-page .isp-exhibition-cta h3 {
        color: #ffffff !important;
    }

    html body .isp-exhibition-page .isp-exhibition-cta p {
        color: rgba(255, 255, 255, .82) !important;
    }

    /* Exhibition listing: remove the unnecessary empty lower half of cards. */
    html body .isp-exhibition-category-page .isp-exhibition-category-grid > ul {
        align-items: start;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-grid > ul > li {
        align-self: start;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-card {
        height: auto !important;
        min-height: 0 !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-image {
        min-height: 0 !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-image img {
        height: 205px !important;
    }

    html body .isp-exhibition-category-page .isp-exhibition-category-copy {
        min-height: 72px !important;
        padding: 14px 16px 15px !important;
    }

    /* Slightly tighter corporate reading rhythm without altering content order. */
    html body .isp-info-page .isp-info-content-card {
        padding-top: 28px;
        padding-bottom: 28px;
    }

    html body .isp-info-page .isp-page-body--standard p {
        margin-bottom: 13px;
    }

    html body .isp-info-page .isp-page-body--standard h2 {
        margin-top: 25px !important;
    }

    html body .isp-info-page .isp-page-body--standard h3 {
        margin-top: 21px !important;
    }
}

/* ========================================================================== 
   Patch 31.1 — Corporate Page Width Alignment Fix
   Removes the second desktop inset on authored About / Quality / Contact
   content so these sections align with the corporate hero above.
   ========================================================================== */
@media (min-width: 901px) {
    html body .isp-info-page--about-us .isp-info-content-card,
    html body .isp-info-page--quality .isp-info-content-card,
    html body .isp-info-page--contact-us .isp-info-content-card {
        padding-left: 0;
        padding-right: 0;
        border-left: 0;
        border-right: 0;
        background: transparent;
        box-shadow: none;
    }

    html body .isp-info-page--about-us .isp-page-body,
    html body .isp-info-page--quality .isp-page-body,
    html body .isp-info-page--contact-us .isp-page-body {
        width: 100%;
        max-width: none;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Keep the authored sections visually separated from the next shared
       blocks without reintroducing horizontal page padding. */
    html body .isp-info-page--about-us .isp-info-content-card,
    html body .isp-info-page--quality .isp-info-content-card,
    html body .isp-info-page--contact-us .isp-info-content-card {
        padding-top: 24px;
        padding-bottom: 24px;
    }
}

/* ========================================================================== 
   Patch 31.2 — Contact Page Vertical Rhythm Fix
   Patch 31.1 correctly removed the duplicate horizontal inset. The authored
   Contact page sections still carry generous legacy vertical section spacing,
   which becomes visually excessive at the new full corporate width. Tighten
   only the Contact desktop rhythm; About/Quality and mobile stay unchanged.
   ========================================================================== */
@media (min-width: 901px) {
    /* Keep the corrected full-width alignment, but reduce the outer white
       breathing room around the authored Contact content. */
    html body .isp-info-page--contact-us .isp-info-content-card {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    /* Authored Contact content is section-based. Cap its old large vertical
       section padding while preserving every section's own horizontal layout,
       backgrounds, grids and card styling. */
    html body .isp-info-page--contact-us .isp-page-body section {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    /* Avoid stacked section margins creating a second large blank band. */
    html body .isp-info-page--contact-us .isp-page-body section + section {
        margin-top: 18px !important;
    }

    /* The shared map follows the database-authored Contact content. Bring it
       closer to the preceding section and reduce the blank band before footer. */
    html body .isp-info-page--contact-us .isp-contact-map {
        margin-top: 18px;
        padding-top: 18px;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    html body .isp-info-page--contact-us .isp-page-body section {
        padding-top: 26px !important;
        padding-bottom: 26px !important;
    }
}
