/* ==========================================================
   DIGITAL SYSTEMS STUDIO — UNIFIED RESPONSIVE SYSTEM
   Loaded last to resolve accumulated public-page conflicts.
   Breakpoints:
   Small mobile: 0–479
   Large mobile: 480–767
   Tablet: 768–1099
   Desktop: 1100+
   ========================================================== */

.dss-site-body {
    --dss-mobile-gutter: 16px;
    --dss-tablet-gutter: 24px;
    --dss-touch-size: 46px;
    --dss-radius-mobile: 16px;
    --dss-green: #2f9b66;
    --dss-green-dark: #123d2d;
    --dss-ink: #14211c;
    --dss-muted: #65716c;
    overflow-x: clip;
}

.dss-site-body *,
.dss-site-body *::before,
.dss-site-body *::after {
    box-sizing: border-box;
}

.dss-site-body img,
.dss-site-body video,
.dss-site-body svg,
.dss-site-body iframe {
    max-width: 100%;
}

.dss-site-body main,
.dss-site-body section,
.dss-site-body article,
.dss-site-body aside,
.dss-site-body header,
.dss-site-body footer,
.dss-site-body .container,
.dss-site-body [class*="-grid"],
.dss-site-body [class*="-layout"] {
    min-width: 0;
}

.dss-site-body .btn,
.dss-site-body button,
.dss-site-body input,
.dss-site-body select,
.dss-site-body textarea {
    font: inherit;
}

.dss-site-body .btn,
.dss-site-body button {
    min-height: var(--dss-touch-size);
}

.dss-site-body pre,
.dss-site-body code,
.dss-site-body table {
    max-width: 100%;
}

.dss-site-body pre {
    overflow-x: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* ---------- Desktop foundation ---------- */

@media (min-width: 1100px) {
    .dss-site-body .container {
        width: min(1180px, calc(100% - 48px));
    }

    .dss-site-body .menu-btn {
        display: none;
    }
}

/* ---------- Tablet + mobile navigation ---------- */

@media (max-width: 1099px) {
    .dss-site-body.site-menu-open {
        overflow: hidden;
    }

    .dss-site-body .navbar {
        position: relative;
        z-index: 1000;
    }

    .dss-site-body .navbar .container.nav-wrap,
    .dss-site-body .nav-wrap {
        width: calc(100% - 24px);
        min-height: 70px;
        height: 70px;
        display: flex;
        align-items: center;
        gap: 9px;
        margin-inline: auto;
        padding: 7px 0;
    }

    .dss-site-body .logo {
        min-width: 0;
        flex: 1 1 auto;
    }

    .dss-site-body .logo img {
        width: min(46vw, 182px);
        max-width: 182px;
        height: auto;
        display: block;
        object-fit: contain;
    }

    .dss-site-body .nav-actions {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        gap: 7px;
        margin: 0;
    }

    .dss-site-body
    .nav-actions > *:not(.locale-switcher):not(.menu-btn) {
        display: none !important;
    }

    .dss-site-body .locale-switcher {
        display: block !important;
        margin: 0;
    }

    .dss-site-body .locale-switcher .btn,
    .dss-site-body .menu-btn {
        width: 42px;
        min-width: 42px;
        height: 42px;
        min-height: 42px;
        display: inline-grid !important;
        place-items: center;
        padding: 0 !important;
        border: 1px solid rgba(255, 255, 255, .27) !important;
        border-radius: 10px;
        background: rgba(255, 255, 255, .08) !important;
        color: #ffffff !important;
        box-shadow: none !important;
        font-size: .78rem;
        font-weight: 900;
        line-height: 1;
        cursor: pointer;
    }

    .dss-site-body .menu-btn {
        font-size: 1.28rem;
    }

    .dss-site-body .nav-links {
        position: fixed;
        top: 78px;
        inset-inline: 12px;
        z-index: 1010;
        width: auto;
        max-height: calc(100dvh - 94px);
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 3px;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 12px;
        border: 1px solid rgba(255, 255, 255, .11);
        border-radius: 16px;
        background: rgba(6, 21, 16, .985);
        box-shadow: 0 26px 70px rgba(0, 0, 0, .4);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .dss-site-body .nav-links.open {
        display: flex;
    }

    .dss-site-body .nav-links > a,
    .dss-site-body .nav-links .nav-link-button,
    .dss-site-body .nav-links .nav-mobile-auth,
    .dss-site-body .nav-links form,
    .dss-site-body .nav-links form button {
        width: 100%;
    }

    .dss-site-body .nav-links > a,
    .dss-site-body .nav-links .nav-link-button,
    .dss-site-body .nav-links form button {
        min-height: 46px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 11px 13px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: #d9e4df;
        text-align: start;
        font-size: .91rem;
        font-weight: 800;
        line-height: 1.35;
        opacity: 1;
    }

    html[dir="rtl"] .dss-site-body .nav-links > a,
    html[dir="rtl"] .dss-site-body .nav-links form button {
        justify-content: flex-start;
        text-align: right;
    }

    .dss-site-body .nav-links > a:hover,
    .dss-site-body .nav-links > a.active,
    .dss-site-body .nav-links > a[aria-current="page"],
    .dss-site-body .nav-links form button:hover {
        background: rgba(81, 197, 132, .13);
        color: #8ce0af;
    }

    .dss-site-body .nav-mobile-auth {
        display: flex !important;
    }

    /* Public layout baseline */
    .dss-site-body .container {
        width: min(
            100% - calc(var(--dss-tablet-gutter) * 2),
            1180px
        );
    }

    .dss-site-body .section {
        padding-block: 64px;
    }

    .dss-site-body .hero-grid,
    .dss-site-body .content-grid,
    .dss-site-body .projects,
    .dss-site-body .challenge-box,
    .dss-site-body .footer-grid {
        grid-template-columns: 1fr !important;
    }

    .dss-site-body .cards,
    .dss-site-body .articles,
    .dss-site-body .process,
    .dss-site-body .challenge-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .dss-site-body h1 {
        overflow-wrap: anywhere;
        text-wrap: balance;
    }

    .dss-site-body p,
    .dss-site-body li {
        overflow-wrap: anywhere;
    }

    /* Shared article/research card grids */
    .dss-site-body .dss-article-card-grid,
    .dss-site-body .dss-research-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px;
    }

    /* Articles library */
    .dss-site-body .editorial-index-hero-grid,
    .dss-site-body .dss-articles-hero-grid,
    .dss-site-body .editorial-featured,
    .dss-site-body .dss-featured-article {
        grid-template-columns: 1fr !important;
    }

    .dss-site-body .editorial-index-hero,
    .dss-site-body .dss-articles-hero {
        padding: 84px 0 58px;
    }

    .dss-site-body .editorial-index-hero h1,
    .dss-site-body .dss-articles-hero h1 {
        max-width: 850px;
        font-size: clamp(2.35rem, 6.7vw, 4rem);
        line-height: 1.06;
    }

    .dss-site-body .editorial-featured-cover,
    .dss-site-body .dss-featured-article-cover {
        min-height: 360px;
        aspect-ratio: 16 / 9;
    }

    .dss-site-body .editorial-featured-copy,
    .dss-site-body .dss-featured-article-copy {
        padding: 34px;
    }

    /* Article detail */
    .dss-site-body .editorial-hero-grid,
    .dss-site-body .dss-article-detail-hero-grid {
        grid-template-columns: 1fr !important;
    }

    .dss-site-body .editorial-heading h1,
    .dss-site-body .dss-article-detail-heading h1 {
        max-width: 880px;
        font-size: clamp(2.25rem, 6.5vw, 3.75rem) !important;
        line-height: 1.09 !important;
    }

    html[dir="rtl"]
    .dss-site-body .editorial-heading h1,
    html[dir="rtl"]
    .dss-site-body .dss-article-detail-heading h1 {
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
    }

    .dss-site-body .editorial-cover,
    .dss-site-body .dss-article-detail-cover {
        width: 100% !important;
        max-width: 720px !important;
        justify-self: start !important;
        aspect-ratio: 16 / 9 !important;
        margin-top: 8px;
    }

    .dss-site-body .editorial-layout,
    .dss-site-body .dss-article-detail-layout {
        grid-template-columns: 1fr !important;
        gap: 28px;
    }

    .dss-site-body .editorial-toc,
    .dss-site-body .dss-article-toc {
        position: static !important;
        order: -1;
    }

    .dss-site-body .editorial-toc-card nav,
    .dss-site-body .dss-article-toc-card nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dss-site-body .editorial-meta,
    .dss-site-body .dss-article-detail-meta {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 9px;
    }

    /* Research library */
    .dss-site-body .dss-research-hero-grid,
    .dss-site-body .dss-research-featured {
        grid-template-columns: 1fr !important;
    }

    .dss-site-body .dss-research-hero {
        padding: 86px 0 58px;
    }

    .dss-site-body .dss-research-hero h1 {
        max-width: 850px;
        font-size: clamp(2.35rem, 6.7vw, 4rem);
    }

    .dss-site-body .dss-research-featured-cover {
        min-height: 460px;
        aspect-ratio: 2 / 3;
        background-size: contain !important;
    }

    .dss-site-body .dss-research-featured-copy {
        padding: 34px;
    }

    /* Research detail */
    .dss-site-body .dss-research-detail-hero-grid,
    .dss-site-body .dss-research-detail-layout {
        grid-template-columns: 1fr !important;
    }

    .dss-site-body .dss-research-detail-heading h1 {
        max-width: 850px;
        font-size: clamp(2.2rem, 6.2vw, 3.65rem) !important;
        line-height: 1.1 !important;
    }

    html[dir="rtl"]
    .dss-site-body .dss-research-detail-heading h1 {
        line-height: 1.22 !important;
        letter-spacing: 0 !important;
    }

    .dss-site-body .dss-research-detail-cover {
        width: min(100%, 420px) !important;
        max-width: 420px !important;
        justify-self: center !important;
        aspect-ratio: 2 / 3 !important;
        background-size: contain !important;
    }

    .dss-site-body .dss-research-side-panel {
        position: static !important;
        order: -1 !important;
    }

    .dss-site-body .dss-research-main-content {
        order: initial !important;
    }

    .dss-site-body .dss-research-detail-meta {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 9px;
    }

    /* PDF reader */
    .dss-site-body .dss-research-viewer {
        min-height: 100dvh;
        padding: 84px 14px 14px;
    }

    .dss-site-body .dss-research-viewer-header {
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
        padding: 18px;
    }

    .dss-site-body .dss-research-viewer-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .dss-site-body .dss-research-pdf-shell {
        width: 100%;
        height: 72dvh;
        min-height: 560px;
    }
}

/* ---------- Large mobile ---------- */

@media (max-width: 767px) {
    .dss-site-body {
        --dss-mobile-gutter: 14px;
    }

    .dss-site-body .container {
        width: calc(100% - 28px);
    }

    .dss-site-body .section {
        padding-block: 52px;
    }

    .dss-site-body .cards,
    .dss-site-body .articles,
    .dss-site-body .process,
    .dss-site-body .challenge-grid,
    .dss-site-body .dss-article-card-grid,
    .dss-site-body .dss-research-grid {
        grid-template-columns: 1fr !important;
    }

    .dss-site-body .section-head {
        display: grid !important;
        gap: 14px;
        align-items: start;
    }

    .dss-site-body .hero-actions,
    .dss-site-body .cta-wrap,
    .dss-site-body .request-actions,
    .dss-site-body .dss-research-actions,
    .dss-site-body .dss-research-primary-actions {
        width: 100%;
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .dss-site-body .hero-actions .btn,
    .dss-site-body .cta-wrap .btn,
    .dss-site-body .dss-research-actions .btn,
    .dss-site-body .dss-research-primary-actions .btn,
    .dss-site-body .dss-research-edition-link {
        width: 100% !important;
        min-height: 50px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Articles */
    .dss-site-body .editorial-index-hero,
    .dss-site-body .dss-articles-hero {
        padding: 72px 0 46px;
    }

    .dss-site-body .editorial-index-hero h1,
    .dss-site-body .dss-articles-hero h1 {
        font-size: clamp(2.05rem, 10vw, 2.9rem);
        line-height: 1.08;
    }

    .dss-site-body .editorial-featured,
    .dss-site-body .dss-featured-article {
        min-height: auto;
        border-radius: 20px;
    }

    .dss-site-body .editorial-featured-cover,
    .dss-site-body .dss-featured-article-cover {
        min-height: 240px;
    }

    .dss-site-body .editorial-featured-copy,
    .dss-site-body .dss-featured-article-copy,
    .dss-site-body .editorial-card-body,
    .dss-site-body .dss-article-card-body {
        padding: 22px;
    }

    .dss-site-body .editorial-card,
    .dss-site-body .dss-article-card {
        border-radius: 18px;
    }

    .dss-site-body .editorial-hero,
    .dss-site-body .dss-article-detail-hero {
        padding: 72px 0 46px !important;
    }

    .dss-site-body .editorial-breadcrumb,
    .dss-site-body .dss-article-breadcrumb {
        margin-bottom: 21px;
        font-size: .72rem;
    }

    .dss-site-body .editorial-heading h1,
    .dss-site-body .dss-article-detail-heading h1 {
        margin-block: 15px !important;
        font-size: clamp(2rem, 9.8vw, 2.75rem) !important;
    }

    .dss-site-body .editorial-deck,
    .dss-site-body .dss-article-detail-summary {
        font-size: .96rem;
        line-height: 1.78;
    }

    .dss-site-body .editorial-meta,
    .dss-site-body .dss-article-detail-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dss-site-body .editorial-cover,
    .dss-site-body .dss-article-detail-cover {
        max-width: 100% !important;
        aspect-ratio: 16 / 10 !important;
        border-radius: 18px;
    }

    .dss-site-body .editorial-toc-card,
    .dss-site-body .dss-article-toc-card {
        padding: 18px;
        border-radius: 16px;
    }

    .dss-site-body .editorial-toc-card nav,
    .dss-site-body .dss-article-toc-card nav {
        grid-template-columns: 1fr;
    }

    .dss-site-body .editorial-section,
    .dss-site-body .editorial-references,
    .dss-site-body .dss-article-content-section,
    .dss-site-body .dss-article-references {
        margin-bottom: 18px;
        padding: 22px !important;
        border-radius: 18px;
    }

    .dss-site-body .editorial-section-heading,
    .dss-site-body .dss-article-section-heading {
        grid-template-columns: 40px minmax(0, 1fr) !important;
        gap: 12px;
    }

    .dss-site-body .editorial-section-heading > span,
    .dss-site-body .dss-article-section-heading > span {
        width: 40px;
        height: 40px;
    }

    .dss-site-body .editorial-copy p,
    .dss-site-body .dss-article-section-copy p {
        font-size: 1rem;
        line-height: 1.9;
    }

    html[dir="rtl"]
    .dss-site-body .editorial-copy p,
    html[dir="rtl"]
    .dss-site-body .dss-article-section-copy p {
        font-size: 1.03rem;
        line-height: 2;
    }

    .dss-site-body .editorial-note,
    .dss-site-body .dss-article-editorial-note {
        align-items: stretch !important;
        flex-direction: column !important;
        padding: 26px;
        border-radius: 20px;
    }

    .dss-site-body .editorial-note .btn,
    .dss-site-body .dss-article-editorial-note .btn {
        width: 100%;
    }

    /* Research */
    .dss-site-body .dss-research-hero {
        padding: 72px 0 46px;
    }

    .dss-site-body .dss-research-hero h1 {
        font-size: clamp(2.05rem, 9.8vw, 2.85rem);
        line-height: 1.12;
    }

    .dss-site-body .dss-research-featured {
        min-height: auto;
        border-radius: 20px;
    }

    .dss-site-body .dss-research-featured-cover {
        width: min(100%, 360px);
        min-height: 0;
        aspect-ratio: 2 / 3;
        justify-self: center;
        margin-inline: auto;
    }

    .dss-site-body .dss-research-featured-copy,
    .dss-site-body .dss-research-card-body {
        padding: 22px;
    }

    .dss-site-body .dss-research-card {
        border-radius: 18px;
    }

    .dss-site-body .dss-research-card-cover {
        aspect-ratio: 2 / 3 !important;
        background-size: contain !important;
    }

    .dss-site-body .dss-research-detail-hero {
        padding: 72px 0 46px;
    }

    .dss-site-body .dss-research-breadcrumb {
        margin-bottom: 21px;
        font-size: .72rem;
    }

    .dss-site-body .dss-research-detail-heading h1 {
        margin-block: 16px;
        font-size: clamp(2rem, 9.5vw, 2.7rem) !important;
    }

    .dss-site-body .dss-research-detail-heading > p {
        font-size: .96rem;
        line-height: 1.85;
    }

    .dss-site-body .dss-research-detail-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dss-site-body .dss-research-detail-cover {
        width: min(100%, 340px) !important;
        max-width: 340px !important;
        border-radius: 18px;
    }

    .dss-site-body .dss-research-side-card,
    .dss-site-body .dss-research-content-card {
        padding: 22px;
        border-radius: 18px;
    }

    .dss-site-body .dss-research-side-card .btn,
    .dss-site-body .dss-research-side-download,
    .dss-site-body .dss-research-copy-link {
        width: 100%;
        min-height: 48px;
    }

    .dss-site-body .dss-research-section-heading {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 12px;
    }

    .dss-site-body .dss-research-section-heading > span {
        width: 40px;
        height: 40px;
    }

    .dss-site-body .dss-research-abstract {
        font-size: 1.02rem;
        line-height: 2;
    }

    .dss-site-body .dss-research-profile-grid {
        grid-template-columns: 1fr;
    }

    .dss-site-body .dss-research-cta {
        align-items: stretch !important;
        flex-direction: column !important;
        padding: 26px;
        border-radius: 20px;
    }

    .dss-site-body .dss-research-cta .btn {
        width: 100%;
    }

    /* PDF viewer */
    .dss-site-body .dss-research-viewer {
        padding: 78px 8px 10px;
    }

    .dss-site-body .dss-research-viewer-header {
        gap: 16px;
        margin-bottom: 10px;
        padding: 15px;
        border-radius: 14px;
    }

    .dss-site-body .dss-research-viewer-header h1 {
        font-size: clamp(1.25rem, 6vw, 1.8rem);
    }

    .dss-site-body .dss-research-viewer-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .dss-site-body .dss-research-viewer-actions .btn,
    .dss-site-body .dss-research-open-pdf {
        width: 100%;
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .dss-site-body .dss-research-pdf-shell {
        height: 70dvh;
        min-height: 500px;
        border-radius: 14px;
    }
}

/* ---------- Small mobile ---------- */

@media (max-width: 479px) {
    .dss-site-body .navbar .container.nav-wrap,
    .dss-site-body .nav-wrap {
        width: calc(100% - 18px);
    }

    .dss-site-body .logo img {
        width: min(45vw, 158px);
        max-width: 158px;
    }

    .dss-site-body .container {
        width: calc(100% - 22px);
    }

    .dss-site-body .section {
        padding-block: 44px;
    }

    .dss-site-body .editorial-index-hero h1,
    .dss-site-body .dss-articles-hero h1,
    .dss-site-body .editorial-heading h1,
    .dss-site-body .dss-article-detail-heading h1,
    .dss-site-body .dss-research-hero h1,
    .dss-site-body .dss-research-detail-heading h1 {
        font-size: clamp(1.85rem, 10.5vw, 2.45rem) !important;
    }

    .dss-site-body .editorial-meta,
    .dss-site-body .dss-article-detail-meta,
    .dss-site-body .dss-research-detail-meta {
        grid-template-columns: 1fr 1fr;
    }

    .dss-site-body .editorial-section,
    .dss-site-body .editorial-references,
    .dss-site-body .dss-article-content-section,
    .dss-site-body .dss-article-references,
    .dss-site-body .dss-research-content-card,
    .dss-site-body .dss-research-side-card {
        padding: 18px !important;
    }

    .dss-site-body table {
        min-width: 620px;
    }

    .dss-site-body .dss-research-pdf-shell {
        min-height: 460px;
    }
}

/* ---------- Safe-area support ---------- */

@supports (padding: max(0px)) {
    @media (max-width: 1099px) {
        .dss-site-body .navbar .container.nav-wrap,
        .dss-site-body .nav-wrap {
            padding-inline-start: max(
                0px,
                env(safe-area-inset-left)
            );
            padding-inline-end: max(
                0px,
                env(safe-area-inset-right)
            );
        }

        .dss-site-body .nav-links {
            inset-inline-start: max(
                12px,
                env(safe-area-inset-left)
            );
            inset-inline-end: max(
                12px,
                env(safe-area-inset-right)
            );
        }
    }
}

/* DSS MOBILE HEADER HERO REFINEMENT START */

/*
 * Focused refinement from the 320 x 480 review:
 * clearer logo, smaller header gap, better hero rhythm,
 * full-width CTAs, and iPhone safe-area spacing.
 */

@media (max-width: 767px) {
    .dss-site-body .navbar {
        position: relative !important;
        min-height: 60px !important;
        background: #041f17 !important;
        border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
    }

    .dss-site-body .navbar .container.nav-wrap,
    .dss-site-body .nav-wrap {
        width: calc(100% - 20px) !important;
        min-height: 60px !important;
        height: 60px !important;
        padding-block: 6px !important;
    }

    .dss-site-body .logo {
        display: flex !important;
        align-items: center !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    .dss-site-body .logo img {
        width: clamp(148px, 45vw, 176px) !important;
        max-width: 176px !important;
        height: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        filter: brightness(1.22) contrast(1.12) !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    .dss-site-body .locale-switcher .btn,
    .dss-site-body .menu-btn {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
    }

    .dss-site-body .nav-links {
        top: 68px !important;
        max-height: calc(100dvh - 80px) !important;
    }

    .dss-site-body .hero {
        min-height: auto !important;
        padding-top: 30px !important;
        padding-bottom: max(
            34px,
            calc(env(safe-area-inset-bottom) + 24px)
        ) !important;
    }

    .dss-site-body .hero .container,
    .dss-site-body .hero-grid {
        min-height: 0 !important;
    }

    .dss-site-body .hero-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 26px !important;
        align-items: start !important;
    }

    .dss-site-body .hero-copy,
    .dss-site-body .hero-content {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: start !important;
    }

    .dss-site-body .eyebrow,
    .dss-site-body .hero .eyebrow {
        display: block !important;
        margin-bottom: 13px !important;
        font-size: .84rem !important;
        line-height: 1.7 !important;
        letter-spacing: 0 !important;
        color: #67d69a !important;
        opacity: 1 !important;
        text-wrap: balance;
    }

    .dss-site-body .hero h1 {
        max-width: 11.5ch !important;
        margin: 0 !important;
        font-size: clamp(2.08rem, 10.2vw, 2.78rem) !important;
        line-height: 1.2 !important;
        letter-spacing: -.025em !important;
        text-wrap: balance !important;
        overflow-wrap: normal !important;
    }

    html[dir="rtl"] .dss-site-body .hero h1 {
        max-width: 12ch !important;
        line-height: 1.28 !important;
        letter-spacing: 0 !important;
    }

    .dss-site-body .hero h1 .accent,
    .dss-site-body .hero h1 strong,
    .dss-site-body .hero h1 em {
        line-height: inherit !important;
    }

    .dss-site-body .hero-copy > p:not(.eyebrow),
    .dss-site-body .hero-content > p:not(.eyebrow),
    .dss-site-body .hero .hero-description,
    .dss-site-body .hero .lead {
        width: 100% !important;
        max-width: 31ch !important;
        margin-top: 18px !important;
        margin-bottom: 0 !important;
        font-size: .96rem !important;
        line-height: 1.82 !important;
        color: rgba(255, 255, 255, .82) !important;
    }

    html[dir="rtl"]
    .dss-site-body .hero-copy > p:not(.eyebrow),
    html[dir="rtl"]
    .dss-site-body .hero-content > p:not(.eyebrow),
    html[dir="rtl"]
    .dss-site-body .hero .hero-description,
    html[dir="rtl"]
    .dss-site-body .hero .lead {
        max-width: 29ch !important;
        line-height: 1.9 !important;
    }

    .dss-site-body .hero-actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-top: 22px !important;
        padding-bottom: 2px !important;
    }

    .dss-site-body .hero-actions .btn,
    .dss-site-body .hero-actions a {
        width: 100% !important;
        min-height: 50px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        transform: none !important;
        white-space: normal !important;
        text-align: center !important;
    }

    .dss-site-body .hero-trust,
    .dss-site-body .hero-proof,
    .dss-site-body .hero-method {
        margin-top: 22px !important;
        padding-bottom: 4px !important;
    }

    .dss-site-body .mock-grid,
    .dss-site-body .hero-visual,
    .dss-site-body .hero-mockup {
        margin-top: 4px !important;
        transform: none !important;
    }
}

@media (max-width: 479px) {
    .dss-site-body .hero {
        padding-top: 24px !important;
        padding-bottom: max(
            30px,
            calc(env(safe-area-inset-bottom) + 22px)
        ) !important;
    }

    .dss-site-body .hero-grid {
        gap: 22px !important;
    }

    .dss-site-body .hero h1 {
        max-width: 11.2ch !important;
        font-size: clamp(1.98rem, 10.5vw, 2.45rem) !important;
        line-height: 1.22 !important;
    }

    html[dir="rtl"] .dss-site-body .hero h1 {
        max-width: 12ch !important;
        line-height: 1.3 !important;
    }

    .dss-site-body .eyebrow,
    .dss-site-body .hero .eyebrow {
        font-size: .8rem !important;
        line-height: 1.65 !important;
        margin-bottom: 11px !important;
    }

    .dss-site-body .hero-copy > p:not(.eyebrow),
    .dss-site-body .hero-content > p:not(.eyebrow),
    .dss-site-body .hero .hero-description,
    .dss-site-body .hero .lead {
        max-width: 28ch !important;
        margin-top: 15px !important;
        font-size: .92rem !important;
        line-height: 1.76 !important;
    }

    html[dir="rtl"]
    .dss-site-body .hero-copy > p:not(.eyebrow),
    html[dir="rtl"]
    .dss-site-body .hero-content > p:not(.eyebrow),
    html[dir="rtl"]
    .dss-site-body .hero .hero-description,
    html[dir="rtl"]
    .dss-site-body .hero .lead {
        max-width: 27ch !important;
        line-height: 1.86 !important;
    }

    .dss-site-body .hero-actions {
        margin-top: 18px !important;
        gap: 9px !important;
    }

    .dss-site-body .hero-actions .btn,
    .dss-site-body .hero-actions a {
        min-height: 48px !important;
    }

    /*
     * On very short screens the visual panel starts after the CTAs
     * instead of pushing a button into the browser toolbar area.
     */
    @media (max-height: 600px) {
        .dss-site-body .mock-grid,
        .dss-site-body .hero-visual,
        .dss-site-body .hero-mockup {
            margin-top: 14px !important;
        }
    }
}

/* DSS MOBILE HEADER HERO REFINEMENT END */
