html {
    overflow-y: scroll;
    scrollbar-gutter: stable both-edges;
}

:root {
    --font-body: 'Inter', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --size-body: 14px;
    --size-body-lg: 15px;
    --size-small: 12px;
    --size-nav: 14px;
    --size-h1: clamp(30px, 3.5vw, 34px);
    --size-h2: clamp(24px, 3vw, 28px);
    --size-h3: clamp(18px, 2vw, 20px);
    --line-body: 1.65;
    --brand-accent: #3d7ca0;
    --brand-accent-strong: #2c5f88;
    --brand-accent-deep: #273f74;
    --brand-accent-soft: #72c1d7;
    --brand-accent-glow: rgba(61, 124, 160, 0.28);
    --brand-accent-ring: rgba(114, 193, 215, 0.22);
}

body {
    padding: 40px 20px !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    font-family: var(--font-body) !important;
    font-size: var(--size-body);
    line-height: var(--line-body);
}

.monitor-frame {
    width: 100% !important;
    max-width: 1150px !important;
    margin: 0 auto !important;
    padding: 40px 70px !important;
}

header,
main,
footer {
    width: 100% !important;
}

header {
    margin-bottom: 32px !important;
}

footer {
    margin-top: 40px !important;
}

body,
p,
li,
input,
textarea,
select,
button {
    font-family: var(--font-body);
}

h1,
h2,
h3,
h4,
nav a,
.btn-main,


nav a {
    font-size: var(--size-nav) !important;
}

.lang-tools {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.lang-switch {
    font-size: 11px !important;
    padding: 2px !important;
    position: relative !important;
    top: -5px !important;
}

.lang-btn {
    padding: 4px 11px !important;
    line-height: 1.1 !important;
}

.lang-social-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    height: 22px !important;
    line-height: 0 !important;
    text-decoration: none !important;
    position: relative !important;
    top: -5px !important;
}

.lang-social-icon {
    display: block !important;
    height: 22px !important;
    width: auto !important;
}

.btn-main {
    padding: 11px 28px !important;
    font-size: 15px !important;
    background: linear-gradient(135deg, var(--brand-accent-strong), var(--brand-accent-soft)) !important;
    border: 1px solid rgba(39, 63, 116, 0.24) !important;
    box-shadow: 0 12px 28px var(--brand-accent-glow) !important;
}

.btn-main:hover {
    background: linear-gradient(135deg, var(--brand-accent-deep), var(--brand-accent)) !important;
    box-shadow: 0 14px 30px rgba(39, 63, 116, 0.22) !important;
}

.btn-main:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 4px var(--brand-accent-ring), 0 14px 30px rgba(39, 63, 116, 0.18) !important;
}

.lang-btn.active {
    color: var(--brand-accent-strong) !important;
    box-shadow: inset 0 0 0 1px rgba(61, 124, 160, 0.10), 0 2px 8px rgba(39, 63, 116, 0.10) !important;
}

.hero-text h1 span[style*="color: #0264b3"],
.hero-text h1 span[style*="color:#0264b3"] {
    color: var(--brand-accent-strong) !important;
}

footer {
    display: flex !important;
    gap: 24px;
    align-items: flex-start !important;
    font-size: var(--size-small) !important;
}

.footer-center {
    font-size: var(--size-body) !important;
}



main {
    width: 100% !important;
}

.hero {
    gap: 28px;
    margin-bottom: 24px !important;
    align-items: flex-start !important;
}

.hero-text {
    max-width: 48% !important;
    padding-right: 28px !important;
    top: 0 !important;
}

.hero-text h1 {
    font-size: var(--size-h1) !important;
    line-height: 1.12 !important;
    margin-bottom: 18px !important;
    letter-spacing: -0.03em !important;
}

.hero-text p {
    max-width: 34ch !important;
    margin-bottom: 24px !important;
    font-size: var(--size-body-lg) !important;
    line-height: 1.6 !important;
}

.hero-visual {
    top: 0 !important;
}

.hero-shot {
    width: 148% !important;
    top: -18px !important;
    left: -10px !important;
}

.features {
    gap: 18px !important;
}

.feature-card {
    padding: 22px 18px !important;
}

.feature-card h3 {
    font-size: 18px !important;
}

.feature-card p {
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.features-shell,
.pricing-shell,
.contact-shell {
    gap: 24px !important;
}

.features-heading h1,
.pricing-copy h1,
.contact-panel h1,
.hero-title,
.download-section h1 {
    font-size: var(--size-h1) !important;
    line-height: 1.12 !important;
}

.features-heading p,
.pricing-copy p,
.contact-panel p,
.section-copy,
.section-lead,
.hero-copy,
.download-section p {
    font-size: var(--size-body-lg) !important;
    line-height: var(--line-body) !important;
}

.feature-section,
.pricing-panel,
.content-panel,
.contact-panel,
.hero-panel,
.value-card,
.audience-card,
.workflow-card,
.command-list,
.mapping-panel,
.closing-panel {
    border-radius: 18px !important;
    padding: 24px 26px !important;
}

.feature-section h2,
.content-panel h2,
.contact-panel h2,
.section-title {
    font-size: var(--size-h2) !important;
}

.feature-section h3,
.content-panel h3,
.value-card h3,
.audience-card h3,
.workflow-card h3,
.command-list h3,
.mapping-panel h3,
.closing-panel h3 {
    font-size: var(--size-h3) !important;
}

.feature-section p,
.content-panel p,
.content-panel ul,
.contact-points,
.value-card p,
.audience-card p,
.workflow-card p,
.command-list p,
.mapping-panel p,
.closing-panel p,
.mapping-panel li,
.command-row p {
    font-size: var(--size-body) !important;
    line-height: var(--line-body) !important;
}

.capability-list,
.stack-card p,
.contact-meta-card span,
.contact-meta-card a,
.form-row input,
.form-row select,
.form-row textarea {
    font-size: var(--size-body) !important;
}

.capability-list,
.contact-points,
.content-panel ul {
    gap: 8px !important;
}

.feature-grid,
.value-grid,
.workflow-grid,
.audience-grid,
.stack-grid {
    gap: 18px !important;
}

.features-body {
    gap: 24px !important;
    margin-top: 0 !important;
}

.feature-copy,
.visual-caption {
    font-size: 13px !important;
    line-height: 1.55 !important;
}

.command-listing,
.command-syntax,
code-block {
    font-size: 13px !important;
}

.price-eyebrow,
.eyebrow {
    font-size: 12px !important;
}

.price-value {
    font-size: clamp(44px, 5vw, 50px) !important;
}

.price-note,
.hero-points li,
.hero-chip,
.note-chip {
    font-size: var(--size-body) !important;
}

.stack-card h4 {
    font-size: 16px !important;
}

.contact-meta-card strong,
.form-row label {
    font-size: 13px !important;
}

.form-row input,
.form-row select,
.form-row textarea {
    padding: 11px 13px !important;
}

.form-note {
    font-size: var(--size-small) !important;
}

.content-section {
    margin-bottom: 42px !important;
}

.hero-panel {
    padding: 30px !important;
}

.hero-copy {
    margin: 20px 0 16px !important;
    max-width: 68ch !important;
}

.hero-points {
    gap: 8px !important;
}

.hero-meta,
.note-strip {
    gap: 10px !important;
}

.hero-chip,
.note-chip {
    padding: 8px 12px !important;
}

.visual-shell {
    padding: 18px !important;
}

.visual-stage {
    min-height: 440px !important;
    padding: 16px !important;
}

.download-section {
    padding: 46px 20px !important;
}

.download-section h1 {
    margin-bottom: 16px !important;
}

.download-section p {
    max-width: 42rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 28px !important;
}

.download-section p:last-of-type {
    font-size: var(--size-small) !important;
    margin-top: 16px !important;
    margin-bottom: 0 !important;
}

.doc-layout {
    grid-template-columns: 240px minmax(0, 1fr) !important;
    gap: 24px !important;
}

.sidebar {
    width: 240px !important;
    min-width: 240px !important;
    padding: 14px !important;
}

.sidebar h4 {
    font-size: 13px !important;
}

.sidebar-item {
    font-size: 12px !important;
}

h2 {
    font-size: 24px !important;
}

h3 {
    font-size: 18px !important;
}

p,
ul {
    font-size: var(--size-body);
}

@media (max-width: 900px) {
    body {
        padding: 16px 10px !important;
    }

    .monitor-frame {
        padding: 22px 16px !important;
        border-radius: 22px !important;
    }

    .bg-shape {
        display: none !important;
    }

    header {
        grid-template-columns: 1fr !important;
        row-gap: 2px !important;
        margin-bottom: 1px !important;
        justify-items: center !important;
        text-align: center !important;
        position: relative !important;
    }

    .logo {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .logo a {
        display: flex !important;
        justify-content: center !important;
        width: 100%;
    }

    .logo img {
        width: min(86vw, 360px) !important;
        height: auto !important;
        min-width: 0 !important;
        max-width: min(86vw, 360px) !important;
        max-height: none !important;
    }

    .header-right {
        width: 100% !important;
        align-items: stretch !important;
        gap: 8px !important;
    }

    .lang-switch {
        width: min(100%, 260px) !important;
        justify-content: center !important;
        position: static !important;
        top: auto !important;
    }

    .lang-tools {
        width: min(100%, 260px) !important;
        margin: 0 auto !important;
        justify-content: center !important;
    }

    .lang-social-link {
        position: absolute !important;
        top: 8px !important;
        right: 4px !important;
        height: 22px !important;
        z-index: 3 !important;
    }

    .lang-social-icon {
        height: 22px !important;
    }

    nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        justify-content: stretch !important;
        align-items: stretch !important;
        flex-wrap: initial !important;
        margin: 0 !important;
    }

    nav a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 40px !important;
        padding: 9px 10px !important;
        text-align: center !important;
        line-height: 1.25 !important;
        font-size: 13px !important;
        background: rgba(255, 255, 255, 0.78) !important;
        border: 1px solid rgba(39, 63, 116, 0.10) !important;
        border-radius: 14px !important;
    }

    main {
        min-height: 0 !important;
        margin-top: 10px !important;
    }

    .search-container {
        display: none !important;
    }

    .doc-mobile-picker select {
        box-shadow: none !important;
        border: 1px solid #cbd5e1 !important;
        background-image: none !important; /* Remove any default arrow that might look like double border */
    }

    .hero,
    .features {
        flex-direction: column !important;
        gap: 18px !important;
    }

    .hero-text,
    .hero-visual {
        max-width: none !important;
        width: 100% !important;
        flex: 0 0 100% !important;
        padding-right: 0 !important;
        top: 0 !important;
        left: 0 !important;
    }

    .hero-text {
        order: 1 !important;
        text-align: left !important;
    }

    .hero-text p {
        max-width: none !important;
    }

    .hero-visual {
        order: 2 !important;
        justify-content: center !important;
        margin-top: 2px !important;
    }

    .hero-shot {
        width: min(100%, 520px) !important;
        max-width: 100% !important;
        top: 0 !important;
        left: 0 !important;
        margin: 0 auto !important;
    }

    .feature-grid,
    .value-grid,
    .workflow-grid,
    .audience-grid,
    .stack-grid,
    .pricing-hero-inner,
    .contact-hero,
    .mapping-grid,
    .doc-layout {
        grid-template-columns: 1fr !important;
    }

    .features-shell,
    .features-body,
    .contact-shell {
        gap: 18px !important;
    }

    .feature-section,
    .feature-card,
    .pricing-panel,
    .content-panel,
    .contact-panel,
    .hero-panel,
    .value-card,
    .audience-card,
    .workflow-card,
    .command-list,
    .mapping-panel,
    .closing-panel {
        padding: 20px 18px !important;
        border-radius: 18px !important;
    }

    .price-card {
        border-left: 0 !important;
        border-top: 1px solid rgba(39, 63, 116, 0.14) !important;
        padding-left: 0 !important;
        padding-top: 20px !important;
    }

    .price-card,
    .pricing-copy {
        width: 100% !important;
    }

    .sidebar {
        width: 100% !important;
        min-width: 0 !important;
        max-height: none !important;
        border-right: 0 !important;
        border-bottom: 1px solid #e2e8f0 !important;
    }

    .main-content {
        height: auto !important;
        padding-right: 0 !important;
    }

    .doc-mobile-picker {
        display: block !important;
    }

    .doc-layout {
        display: block !important;
        height: auto !important;
        overflow: visible !important;
        gap: 0 !important;
    }

    .doc-layout .sidebar {
        display: none !important;
    }

    .doc-layout .main-content {
        overflow: visible !important;
        height: auto !important;
        padding-right: 0 !important;
    }

    .doc-layout .doc-section {
        padding-bottom: 4px !important;
    }

    .hero-shot img,
    .feature-thumb,
    .visual-stage img,
    .visual-shell img,
    .hero-panel img,
    .mapping-panel img,
    .closing-panel img,
    .sidebar img {
        max-width: 100% !important;
        height: auto !important;
    }

    .visual-shell {
        padding: 14px !important;
    }

    .visual-stage {
        min-height: 220px !important;
        padding: 10px !important;
    }

    .command-listing {
        white-space: pre-wrap !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        font-size: 12px !important;
        line-height: 1.55 !important;
    }

    footer {
        flex-direction: column !important;
        gap: 16px !important;
    }

    .footer-center,
    .footer-right {
        text-align: left !important;
    }

    .footer-center {
        white-space: normal !important;
    }

    .footer-right img {
        height: 58px !important;
    }
}

@media (max-width: 560px) {
    body {
        padding: 8px 6px !important;
    }

    .monitor-frame {
        padding: 16px 12px !important;
        border-radius: 16px !important;
        box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08) !important;
    }

    .logo img {
        width: min(88vw, 320px) !important;
        max-width: min(88vw, 320px) !important;
        max-height: none !important;
    }

    nav {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .hero-text h1,
    .features-heading h1,
    .pricing-copy h1,
    .contact-panel h1,
    .hero-title,
    .download-section h1 {
        font-size: clamp(21px, 8.2vw, 29px) !important;
        line-height: 1.08 !important;
        letter-spacing: -0.03em !important;
        margin-bottom: 14px !important;
    }

    .feature-section h2,
    .pricing-panel h2,
    .contact-panel h2,
    .content-panel h2,
    .hero-panel h2 {
        font-size: clamp(20px, 7vw, 26px) !important;
        line-height: 1.12 !important;
    }

    .feature-card h3,
    .feature-section h3,
    .content-panel h3,
    .contact-panel h3 {
        font-size: 18px !important;
        line-height: 1.2 !important;
    }

    .hero-text p,
    .features-heading p,
    .pricing-copy p,
    .contact-panel p,
    .section-copy,
    .section-lead,
    .hero-copy,
    .download-section p {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .price-value {
        font-size: clamp(32px, 12vw, 42px) !important;
    }

    .feature-card,
    .feature-section,
    .pricing-panel,
    .content-panel,
    .contact-panel,
    .hero-panel,
    .value-card,
    .audience-card,
    .workflow-card,
    .command-list,
    .mapping-panel,
    .closing-panel {
        padding: 16px 14px !important;
    }

    .hero {
        gap: 14px !important;
        margin-bottom: 18px !important;
    }

    .hero-shot {
        width: min(100%, 320px) !important;
        border-width: 2px !important;
        border-radius: 10px !important;
    }

    .hero-meta,
    .note-strip {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .hero-chip,
    .note-chip {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .visual-shell {
        padding: 12px !important;
    }

    .visual-stage {
        min-height: 0 !important;
        padding: 8px !important;
    }

    .feature-thumb {
        border-radius: 14px !important;
    }

    .contact-points,
    .contact-meta-card span,
    .contact-meta-card a,
    .feature-section li,
    .content-panel li,
    .sidebar a,
    .main-content li {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .sidebar,
    .main-content {
        padding-right: 0 !important;
    }

    .search-container {
        display: none !important;
    }

    .doc-mobile-picker {
        margin-bottom: 14px !important;
    }

    .doc-mobile-picker label {
        display: none !important;
    }

    .doc-mobile-picker select {
        min-height: 46px !important;
        font-size: 14px !important;
    }

    .doc-layout .main-content .doc-section h2 {
        font-size: 18px !important;
        line-height: 1.1 !important;
        margin-bottom: 10px !important;
    }

    .doc-layout .main-content .doc-section h3 {
        font-size: 16px !important;
        margin-top: 20px !important;
    }

    .doc-layout .main-content .doc-section p,
    .doc-layout .main-content .doc-section li,
    .doc-layout .main-content .doc-section code-block {
        font-size: 14px !important;
        line-height: 1.58 !important;
    }

    .doc-layout .main-content .doc-section code-block {
        white-space: pre-wrap !important;
        overflow: visible !important;
    }

    .footer-right {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
}
