/*
|--------------------------------------------------------------------------
| TERMINAL TEMPLATE
| DevTools / Linux inspired visual layer for CMS
|--------------------------------------------------------------------------
*/

body.cms-template-terminal {
    --terminal-bg: #050912;
    --terminal-bg-2: #08111e;
    --terminal-panel: #0b1422;
    --terminal-panel-2: #0f1b2d;
    --terminal-line: #1c2a3d;
    --terminal-line-2: #25364d;
    --terminal-text: #f8fafc;
    --terminal-muted: #94a3b8;
    --terminal-muted-2: #64748b;
    --terminal-blue: #38bdf8;
    --terminal-blue-2: #0ea5e9;
    --terminal-green: #22c55e;
    --terminal-purple: #a78bfa;
    --terminal-amber: #f59e0b;
    --terminal-danger: #fb7185;
    --terminal-radius: 22px;
    --terminal-radius-sm: 13px;
    --terminal-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
    --terminal-sans: Inter, Geist, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --terminal-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

    margin: 0;
    color: var(--terminal-text);
    background:
        radial-gradient(circle at 80% -10%, rgba(56, 189, 248, 0.12), transparent 28%),
        radial-gradient(circle at 15% 20%, rgba(167, 139, 250, 0.08), transparent 22%),
        var(--terminal-bg);
    font-family: var(--terminal-sans);
    line-height: 1.6;
    overflow-x: hidden;
}

body.cms-template-terminal::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.024) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.024) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 90%);
}

body.cms-template-terminal .cms-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

body.cms-template-terminal a {
    transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}

/* HEADER */
body.cms-template-terminal .cms-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    color: var(--terminal-text);
    background: rgba(5, 9, 18, .78) !important;
    border-bottom: 1px solid rgba(255,255,255,.055) !important;
    box-shadow: none !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

body.cms-template-terminal .cms-header--sticky {
    position: sticky;
    top: 0;
}

body.cms-template-terminal .cms-header__inner {
    display: flex;
    align-items: center;
    min-height: 72px;
    gap: 28px;
}

body.cms-template-terminal .cms-logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}

body.cms-template-terminal .cms-logo__image {
    display: block;
    width: auto;
    max-width: 132px;
    max-height: 42px;
    object-fit: contain;
}

body.cms-template-terminal .cms-logo__text {
    color: #f8fafc;
    font-family: var(--terminal-mono);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.04em;
}

body.cms-template-terminal .cms-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
    margin-left: auto;
}

body.cms-template-terminal .cms-nav__list {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.cms-template-terminal .cms-nav__item {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.cms-template-terminal .cms-nav__link-row {
    display: flex;
    align-items: center;
}

body.cms-template-terminal .cms-nav__link {
    display: flex;
    align-items: center;
    min-height: 72px;
    padding: 0 11px;
    color: #b8c7d9;
    font-size: 14px;
    font-weight: 620;
    text-decoration: none;
    white-space: nowrap;
}

body.cms-template-terminal .cms-nav__link:hover,
body.cms-template-terminal .cms-nav__link[aria-current="page"],
body.cms-template-terminal .cms-nav__item--active > .cms-nav__link-row > .cms-nav__link,
body.cms-template-terminal .cms-nav__item--current > .cms-nav__link-row > .cms-nav__link {
    color: #ffffff;
}

body.cms-template-terminal .cms-nav__link::after {
    content: "";
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 15px;
    height: 2px;
    border-radius: 999px;
    background: var(--terminal-blue);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .2s ease;
}

body.cms-template-terminal .cms-nav__link:hover::after,
body.cms-template-terminal .cms-nav__link[aria-current="page"]::after {
    transform: scaleX(1);
}

body.cms-template-terminal .cms-submenu-toggle {
    color: #71839a;
    background: transparent;
    border: 0;
}

body.cms-template-terminal .cms-nav__cta {
    margin-left: 6px;
}

body.cms-template-terminal .cms-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    color: #dff5ff !important;
    background: rgba(56,189,248,.08) !important;
    border: 1px solid rgba(56,189,248,.32) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-family: var(--terminal-mono);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

body.cms-template-terminal .cms-header-cta:hover {
    color: #fff !important;
    background: rgba(56,189,248,.13) !important;
    border-color: rgba(56,189,248,.55) !important;
    transform: translateY(-1px);
}

@media (min-width: 851px) {
    body.cms-template-terminal .cms-menu-toggle,
    body.cms-template-terminal .cms-nav__mobile-header,
    body.cms-template-terminal .cms-submenu-toggle {
        display: none;
    }

    body.cms-template-terminal .cms-submenu {
        position: absolute;
        top: calc(100% - 7px);
        left: 50%;
        z-index: 1100;
        min-width: 220px;
        margin: 0;
        padding: 8px;
        list-style: none;
        color: #dbeafe;
        background: #091321;
        border: 1px solid var(--terminal-line-2);
        border-radius: 13px;
        box-shadow: 0 22px 55px rgba(0,0,0,.36);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate(-50%, 8px);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }

    body.cms-template-terminal .cms-nav__item:hover > .cms-submenu,
    body.cms-template-terminal .cms-nav__item:focus-within > .cms-submenu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-50%, 0);
    }

    body.cms-template-terminal .cms-submenu .cms-nav__link-row {
        display: block;
    }

    body.cms-template-terminal .cms-submenu .cms-nav__link {
        min-height: auto;
        padding: 10px 12px;
        color: #9fb0c4;
        border-radius: 8px;
        font-family: var(--terminal-mono);
        font-size: 12px;
    }

    body.cms-template-terminal .cms-submenu .cms-nav__link::after {
        display: none;
    }

    body.cms-template-terminal .cms-submenu .cms-nav__link:hover {
        color: #e0f2fe;
        background: rgba(56,189,248,.07);
    }
}

/* SHARED TERMINAL UI */
.terminal-section {
    position: relative;
    padding: 100px 0;
}

.terminal-kicker,
.terminal-eyebrow {
    font-family: var(--terminal-mono);
    color: var(--terminal-blue);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.terminal-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 21px;
    color: #bae6fd;
    letter-spacing: .02em;
    text-transform: none;
}

.terminal-status-dot,
.terminal-stat__dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--terminal-green);
    box-shadow: 0 0 0 6px rgba(34,197,94,.08), 0 0 20px rgba(34,197,94,.35);
}

.terminal-section-head {
    max-width: 760px;
    margin-bottom: 44px;
}

.terminal-section-head--compact {
    margin-bottom: 32px;
}

.terminal-section-title {
    max-width: 820px;
    margin: 13px 0 18px;
    color: var(--terminal-text);
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.04;
    letter-spacing: -.05em;
    font-weight: 820;
}

.terminal-section-copy {
    max-width: 720px;
    margin: 0;
    color: var(--terminal-muted);
    font-size: 17px;
    line-height: 1.72;
}

.terminal-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 50px;
    padding: 0 20px;
    border-radius: 12px;
    font-weight: 760;
    text-decoration: none;
}

.terminal-button--primary {
    color: #02131d !important;
    background: linear-gradient(135deg, var(--terminal-blue), #0284c7);
    border: 1px solid transparent;
    box-shadow: 0 12px 35px rgba(14,165,233,.18);
}

.terminal-button--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 17px 42px rgba(14,165,233,.26);
}

.terminal-button--secondary {
    color: #d7e3f0 !important;
    background: rgba(255,255,255,.025);
    border: 1px solid var(--terminal-line-2);
}

.terminal-button--secondary:hover {
    color: #fff !important;
    background: rgba(255,255,255,.045);
    border-color: #3b4d66;
}

.terminal-window,
.terminal-media-window {
    position: relative;
    overflow: hidden;
    color: #b8c7d9;
    background: linear-gradient(180deg, rgba(255,255,255,.025), transparent 22%), #07101b;
    border: 1px solid rgba(148,163,184,.15);
    border-radius: var(--terminal-radius);
    box-shadow: var(--terminal-shadow), 0 0 80px rgba(56,189,248,.06);
}

.terminal-window__bar {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    color: #7f92aa;
    background: rgba(255,255,255,.01);
    border-bottom: 1px solid var(--terminal-line);
    font-family: var(--terminal-mono);
    font-size: 12px;
}

.terminal-window__light {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}
.terminal-window__light--red { background: var(--terminal-danger); }
.terminal-window__light--yellow { background: var(--terminal-amber); }
.terminal-window__light--green { background: var(--terminal-green); }
.terminal-window__title { margin-left: 7px; }

.terminal-window__body {
    padding: 26px;
    font-family: var(--terminal-mono);
    font-size: 14px;
    line-height: 1.85;
}

.terminal-user { color: #86efac; }
.terminal-prompt { color: var(--terminal-blue); }
.terminal-key { color: #c4b5fd; }
.terminal-divider {
    height: 1px;
    margin: 18px 0;
    background: linear-gradient(90deg, var(--terminal-line), transparent);
}
.terminal-status-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 20px;
    padding: 4px 0;
    color: #9fb0c4;
}
.terminal-status--ok { color: #86efac; }
.terminal-status--ai { color: #c4b5fd; }
.terminal-health {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #dcfce7;
}
.terminal-command--last { margin-top: 26px; }
.terminal-cursor {
    display: inline-block;
    width: 8px;
    height: 16px;
    margin-left: 4px;
    vertical-align: -2px;
    background: var(--terminal-green);
    animation: terminal-blink 1s steps(1) infinite;
}

/* HERO */
.terminal-hero {
    position: relative;
    min-height: 730px;
    display: flex;
    align-items: center;
    padding: 82px 0 70px;
    overflow: hidden;
}

.terminal-hero::before {
    content: "";
    position: absolute;
    top: 7%;
    right: -8%;
    width: 560px;
    height: 560px;
    border-radius: 50%;
    background: rgba(56,189,248,.07);
    filter: blur(90px);
    pointer-events: none;
}

.terminal-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr);
    gap: 64px;
    align-items: center;
}

.terminal-hero__content {
    position: relative;
    z-index: 2;
}

.terminal-hero__title {
    max-width: 760px;
    margin: 0 0 24px;
    color: var(--terminal-text);
    font-size: clamp(52px, 6.4vw, 88px);
    line-height: .99;
    letter-spacing: -.065em;
    font-weight: 850;
}

.terminal-hero__title span {
    display: block;
    background: linear-gradient(90deg, #fff 0%, #dbeafe 42%, #7dd3fc 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.terminal-hero__text {
    max-width: 660px;
    color: #aebed2;
    font-size: 18px;
    line-height: 1.75;
}

.terminal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.terminal-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 17px;
    margin-top: 30px;
    color: #71839a;
    font-family: var(--terminal-mono);
    font-size: 12px;
}

.terminal-hero__meta span::before {
    content: "✓";
    margin-right: 7px;
    color: var(--terminal-green);
}

.terminal-window--hero .terminal-window__body {
    min-height: 420px;
}

/* RICH TEXT */
.terminal-rich__inner { width: 100%; }
.terminal-rich--narrow .terminal-rich__inner { max-width: 760px; }
.terminal-rich--normal .terminal-rich__inner { max-width: 960px; }
.terminal-rich--wide .terminal-rich__inner { max-width: 1180px; }
.terminal-rich--center .terminal-rich__inner { margin-inline: auto; text-align: center; }

.terminal-prose {
    color: #9fb0c4;
    font-size: 16px;
    line-height: 1.8;
}
.terminal-prose > *:first-child { margin-top: 0; }
.terminal-prose > *:last-child { margin-bottom: 0; }
.terminal-prose h2,
.terminal-prose h3,
.terminal-prose h4 {
    color: #f1f5f9;
    letter-spacing: -.035em;
    line-height: 1.15;
}
.terminal-prose h2 { margin: 42px 0 16px; font-size: 34px; }
.terminal-prose h3 { margin: 32px 0 14px; font-size: 26px; }
.terminal-prose p { margin: 0 0 18px; }
.terminal-prose a { color: var(--terminal-blue); text-decoration: none; }
.terminal-prose a:hover { color: #7dd3fc; text-decoration: underline; }
.terminal-prose strong { color: #e2e8f0; }
.terminal-prose blockquote {
    margin: 28px 0;
    padding: 18px 20px;
    color: #b7c8da;
    background: rgba(56,189,248,.045);
    border: 1px solid rgba(56,189,248,.16);
    border-left: 3px solid var(--terminal-blue);
    border-radius: 0 12px 12px 0;
}
.terminal-prose ul,
.terminal-prose ol { padding-left: 22px; }
.terminal-prose li { margin: 8px 0; }
.terminal-prose li::marker { color: var(--terminal-blue); }

/* MODULES */
.terminal-modules__grid,
.terminal-columns__grid,
.terminal-stats__grid {
    display: grid;
    grid-template-columns: repeat(var(--terminal-columns, 3), minmax(0, 1fr));
    gap: 16px;
}

.terminal-module,
.terminal-column-card,
.terminal-stat {
    position: relative;
    min-width: 0;
    padding: 26px;
    background: linear-gradient(180deg, rgba(255,255,255,.018), transparent 28%), var(--terminal-panel);
    border: 1px solid var(--terminal-line);
    border-radius: var(--terminal-radius);
}

.terminal-module {
    min-height: 240px;
    overflow: hidden;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.terminal-module:hover {
    transform: translateY(-4px);
    border-color: rgba(56,189,248,.42);
    box-shadow: 0 22px 50px rgba(0,0,0,.18), 0 0 45px rgba(56,189,248,.05);
}

.terminal-module__num {
    position: absolute;
    top: 22px;
    right: 24px;
    color: #26374c;
    font-family: var(--terminal-mono);
    font-size: 13px;
}

.terminal-module__command,
.terminal-column-card__command {
    margin-bottom: 31px;
    color: #7dd3fc;
    font-family: var(--terminal-mono);
    font-size: 12px;
}

.terminal-module__title,
.terminal-column-card h3 {
    margin: 0 0 10px;
    color: #f8fafc;
    font-size: 20px;
    letter-spacing: -.025em;
}

.terminal-module__text,
.terminal-column-card__text,
.terminal-stat p {
    color: var(--terminal-muted);
    font-size: 14px;
    line-height: 1.65;
}

.terminal-module__link,
.terminal-column-card a {
    display: inline-block;
    margin-top: 18px;
    color: var(--terminal-blue);
    font-family: var(--terminal-mono);
    font-size: 12px;
    text-decoration: none;
}

/* STATS */
.terminal-stat__top {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 24px;
    color: #86efac;
    font-family: var(--terminal-mono);
    font-size: 11px;
}
.terminal-stat__dot { width: 6px; height: 6px; box-shadow: 0 0 12px rgba(34,197,94,.4); }
.terminal-stat__value {
    display: block;
    margin-bottom: 4px;
    color: #f8fafc;
    font-size: 34px;
    line-height: 1.05;
    letter-spacing: -.045em;
}
.terminal-stat__label { color: #cbd5e1; font-weight: 650; }

/* FAQ */
.terminal-faq__list {
    display: grid;
    gap: 12px;
    max-width: 960px;
}
.terminal-faq__item {
    padding: 0 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.018), transparent 28%), var(--terminal-panel);
    border: 1px solid var(--terminal-line);
    border-radius: 16px;
}
.terminal-faq__item summary {
    padding: 21px 0;
    cursor: pointer;
    list-style: none;
    color: #e5edf6;
    font-size: 16px;
    font-weight: 720;
}
.terminal-faq__item summary::-webkit-details-marker { display: none; }
.terminal-faq__item summary span {
    margin-right: 12px;
    color: var(--terminal-blue);
    font-family: var(--terminal-mono);
}
.terminal-faq__answer {
    padding: 0 0 22px 25px;
    color: var(--terminal-muted);
    line-height: 1.72;
}

/* SPLIT */
.terminal-split__grid,
.terminal-contact__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .88fr);
    gap: 54px;
    align-items: center;
}
.terminal-split--image-left .terminal-split__content { order: 2; }
.terminal-split--image-left .terminal-media-window { order: 1; }
.terminal-split__content .terminal-button { margin-top: 22px; }
.terminal-media-window img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/10;
    object-fit: cover;
}

/* CTA */
.terminal-cta__panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
    padding: 42px;
    background:
        radial-gradient(circle at 85% 20%, rgba(56,189,248,.1), transparent 28%),
        var(--terminal-panel);
    border: 1px solid var(--terminal-line-2);
    border-radius: 24px;
}
.terminal-cta__content h2 {
    margin: 12px 0 10px;
    color: #fff;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.08;
    letter-spacing: -.045em;
}
.terminal-cta__content p { max-width: 690px; margin: 0; color: var(--terminal-muted); }

/* CONTACT */
.terminal-contact__intro { align-self: center; }
.terminal-window__body--contact { display: grid; gap: 12px; }
.terminal-window__body--contact a { color: #bae6fd; text-decoration: none; }

/* DEFAULT CMS BLOCKS USED THROUGH SAFE WRAPPERS */
body.cms-template-terminal .cms-contact-form-section,
body.cms-template-terminal .cms-gallery,
body.cms-template-terminal .cms-testimonials,
body.cms-template-terminal .cms-logos,
body.cms-template-terminal .cms-team {
    color: var(--terminal-text);
    background: transparent !important;
}

body.cms-template-terminal .cms-contact-form-section {
    padding: 96px 0;
}

body.cms-template-terminal .cms-contact-form-wrapper,
body.cms-template-terminal .cms-contact-form,
body.cms-template-terminal .cms-contact-card {
    color: var(--terminal-text);
}

body.cms-template-terminal .cms-contact-form-wrapper {
    padding: 28px;
    background: var(--terminal-panel) !important;
    border: 1px solid var(--terminal-line) !important;
    border-radius: 20px !important;
    box-shadow: none !important;
}

body.cms-template-terminal .cms-contact-form-heading h2,
body.cms-template-terminal .cms-contact-form-heading h3,
body.cms-template-terminal .cms-block-title,
body.cms-template-terminal .cms-section-title {
    color: #f8fafc !important;
}

body.cms-template-terminal .cms-contact-form-heading p,
body.cms-template-terminal .cms-block-text,
body.cms-template-terminal .cms-section-text {
    color: var(--terminal-muted) !important;
}

body.cms-template-terminal .cms-contact-form label {
    color: #8fa2b8 !important;
    font-family: var(--terminal-mono);
    font-size: 12px;
}

body.cms-template-terminal .cms-contact-form input:not([type="checkbox"]):not([type="radio"]),
body.cms-template-terminal .cms-contact-form textarea,
body.cms-template-terminal .cms-contact-form select {
    color: #f8fafc !important;
    background: #07111d !important;
    border: 1px solid var(--terminal-line-2) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

body.cms-template-terminal .cms-contact-form input:focus,
body.cms-template-terminal .cms-contact-form textarea:focus,
body.cms-template-terminal .cms-contact-form select:focus {
    border-color: rgba(56,189,248,.65) !important;
    box-shadow: 0 0 0 3px rgba(56,189,248,.08) !important;
    outline: none !important;
}

body.cms-template-terminal .cms-contact-form button[type="submit"] {
    min-height: 50px;
    color: #03131d !important;
    background: linear-gradient(135deg, var(--terminal-blue), #0284c7) !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 28px rgba(14,165,233,.16) !important;
    font-family: var(--terminal-mono);
    font-weight: 800;
}

body.cms-template-terminal .cms-form-message--success,
body.cms-template-terminal .cms-contact-form-success {
    color: #bbf7d0 !important;
    background: rgba(34,197,94,.08) !important;
    border: 1px solid rgba(34,197,94,.25) !important;
    border-radius: 10px !important;
}

body.cms-template-terminal .cms-form-message--error,
body.cms-template-terminal .cms-contact-form-error {
    color: #fecdd3 !important;
    background: rgba(251,113,133,.08) !important;
    border: 1px solid rgba(251,113,133,.25) !important;
    border-radius: 10px !important;
}

/* FOOTER */
body.cms-template-terminal .cms-footer {
    color: #71839a;
    background: #050912 !important;
    border-top: 1px solid var(--terminal-line) !important;
}
body.cms-template-terminal .cms-footer a { color: #91a4ba; }
body.cms-template-terminal .cms-footer a:hover { color: var(--terminal-blue); }

/* BREADCRUMBS */
body.cms-template-terminal .cms-breadcrumbs,
body.cms-template-terminal .cms-breadcrumbs a {
    color: #6f8298;
    font-family: var(--terminal-mono);
    font-size: 12px;
}
body.cms-template-terminal .cms-breadcrumbs a:hover { color: var(--terminal-blue); }

/* REVEALS */
body.cms-template-terminal [data-terminal-reveal] {
    opacity: 1;
    transform: none;
}
body.cms-template-terminal.terminal-motion-ready [data-terminal-reveal] {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .65s ease, transform .65s ease;
}
body.cms-template-terminal.terminal-motion-ready [data-terminal-reveal].is-visible {
    opacity: 1;
    transform: none;
}

/* MOBILE MENU */
body.cms-template-terminal .cms-menu-toggle {
    display: none;
}

@media (max-width: 850px) {
    body.cms-template-terminal .cms-header__inner {
        min-height: 66px;
        gap: 16px;
    }

    body.cms-template-terminal .cms-logo__image {
        max-width: 112px;
        max-height: 40px;
    }

    body.cms-template-terminal .cms-menu-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin-left: auto;
        padding: 9px 11px;
        color: #dbeafe;
        background: rgba(255,255,255,.035);
        border: 1px solid var(--terminal-line-2);
        border-radius: 9px;
    }

    body.cms-template-terminal .cms-menu-toggle__icon {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
    body.cms-template-terminal .cms-menu-toggle__icon span {
        display: block;
        width: 20px;
        height: 2px;
        border-radius: 999px;
        background: var(--terminal-blue);
    }
    body.cms-template-terminal .cms-menu-toggle__label {
        font-family: var(--terminal-mono);
        font-size: 12px;
    }

    body.cms-template-terminal.cms-menu-open .cms-header {
        z-index: 10002 !important;
    }

    body.cms-template-terminal .cms-nav {
        position: fixed !important;
        top: 0;
        right: 0 !important;
        bottom: 0;
        left: auto !important;
        z-index: 10003 !important;
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        width: min(390px, 88vw) !important;
        height: 100vh !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-y: auto;
        color: #dbeafe;
        background: #07101b !important;
        border-left: 1px solid var(--terminal-line);
        box-shadow: -18px 0 55px rgba(0,0,0,.42);
        transform: none !important;
        clip-path: inset(0 0 0 100%);
        visibility: hidden !important;
        pointer-events: none !important;
        opacity: 1 !important;
        transition: clip-path .25s ease, visibility 0s linear .25s !important;
    }

    body.cms-template-terminal .cms-nav.is-open {
        clip-path: inset(0 0 0 0);
        visibility: visible !important;
        pointer-events: auto !important;
        transition: clip-path .25s ease, visibility 0s linear 0s !important;
    }

    body.cms-template-terminal .cms-nav__mobile-header {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        flex-shrink: 0;
        min-height: 68px;
        padding: 13px 20px;
        border-bottom: 1px solid var(--terminal-line);
    }

    body.cms-template-terminal .cms-nav__mobile-title {
        color: #f8fafc;
        font-family: var(--terminal-mono);
        font-size: 16px;
        font-weight: 800;
    }

    body.cms-template-terminal .cms-nav__close {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        color: #b8c7d9 !important;
        background: rgba(255,255,255,.04) !important;
        border: 1px solid var(--terminal-line-2) !important;
        border-radius: 50% !important;
    }

    body.cms-template-terminal .cms-nav__list {
        display: block !important;
        flex: 1 1 auto;
        width: 100%;
        margin: 0;
        padding: 12px 20px;
    }

    body.cms-template-terminal .cms-nav__item {
        width: 100%;
        border-bottom: 1px solid rgba(255,255,255,.045);
    }

    body.cms-template-terminal .cms-nav__link-row {
        display: flex !important;
        align-items: center;
        width: 100%;
    }

    body.cms-template-terminal .cms-nav__link {
        flex: 1 1 auto;
        min-height: 52px !important;
        padding: 8px 4px !important;
        color: #b8c7d9 !important;
        font-size: 15px !important;
    }

    body.cms-template-terminal .cms-nav__link::after { display: none !important; }

    body.cms-template-terminal .cms-submenu-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        color: #70869d !important;
        background: transparent !important;
        border: 0 !important;
    }

    body.cms-template-terminal .cms-submenu {
        position: static !important;
        display: none !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 10px 18px !important;
        color: inherit !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    body.cms-template-terminal .cms-submenu.is-open { display: block !important; }
    body.cms-template-terminal .cms-nav__item:hover > .cms-submenu:not(.is-open),
    body.cms-template-terminal .cms-nav__item:focus-within > .cms-submenu:not(.is-open) { display: none !important; }

    body.cms-template-terminal .cms-submenu .cms-nav__item { border-bottom: 0; }
    body.cms-template-terminal .cms-submenu .cms-nav__link {
        min-height: 40px !important;
        padding: 7px 4px !important;
        color: #768aa1 !important;
        font-family: var(--terminal-mono);
        font-size: 13px !important;
        font-weight: 500 !important;
    }

    body.cms-template-terminal .cms-nav__cta {
        flex-shrink: 0;
        margin: 0 !important;
        padding: 18px 20px 24px !important;
        border-top: 1px solid var(--terminal-line);
    }
    body.cms-template-terminal .cms-header-cta { width: 100%; min-height: 48px; }

    body.cms-template-terminal .cms-nav-backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 10001 !important;
        background: rgba(0,0,0,.58) !important;
        border: 0;
    }

    body.cms-template-terminal.cms-menu-open { overflow: hidden !important; touch-action: none; }

    .terminal-hero {
        min-height: auto;
        padding: 58px 0 52px;
    }
    .terminal-hero__grid,
    .terminal-split__grid,
    .terminal-contact__grid {
        grid-template-columns: 1fr;
    }
    .terminal-hero__grid { gap: 42px; }
    .terminal-hero__title { font-size: clamp(44px, 12vw, 66px); }
    .terminal-window--hero { max-width: 760px; }
    .terminal-section { padding: 76px 0; }
    .terminal-modules__grid,
    .terminal-columns__grid,
    .terminal-stats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .terminal-split--image-left .terminal-split__content,
    .terminal-split--image-left .terminal-media-window { order: initial; }
    .terminal-cta__panel { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
    body.cms-template-terminal .cms-container {
        width: min(100% - 28px, 1180px);
    }
    body.cms-template-terminal .cms-menu-toggle__label { display: none; }
    body.cms-template-terminal .cms-menu-toggle { width: 44px; height: 44px; padding: 9px; }

    .terminal-hero__text,
    .terminal-section-copy { font-size: 15px; }
    .terminal-section-title { font-size: clamp(34px, 11vw, 48px); }
    .terminal-window__body { padding: 20px; font-size: 12px; }
    .terminal-modules__grid,
    .terminal-columns__grid,
    .terminal-stats__grid { grid-template-columns: 1fr; }
    .terminal-module { min-height: auto; }
    .terminal-cta__panel { padding: 28px 22px; }
    .terminal-faq__item { padding: 0 18px; }
    .terminal-faq__answer { padding-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    body.cms-template-terminal *,
    body.cms-template-terminal *::before,
    body.cms-template-terminal *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@keyframes terminal-blink {
    50% { opacity: 0; }
}

/* --------------------------------------------------------------------------
   TERMINAL / SYSTEM INTRO — 2 columns + animated curl
   -------------------------------------------------------------------------- */
body.cms-template-terminal .terminal-rich--system-intro .cms-container {
    width: min(calc(100% - 40px), 1180px);
}

.terminal-system-intro__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(440px, .92fr);
    gap: 64px;
    align-items: center;
}

.terminal-system-intro__content {
    min-width: 0;
}

.terminal-rich--system-intro .terminal-section-title {
    max-width: 680px;
}

.terminal-rich--system-intro .terminal-prose {
    max-width: 650px;
}

.terminal-window--curl {
    min-width: 0;
    box-shadow:
        0 30px 80px rgba(0,0,0,.32),
        0 0 90px rgba(56,189,248,.075);
}

.terminal-window--curl .terminal-window__body {
    min-height: 330px;
    padding: 28px;
}

.terminal-curl__command-line {
    min-height: 26px;
    color: #dbe7f4;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.terminal-curl__command-line [data-terminal-command] {
    margin-left: 7px;
    color: #f1f5f9;
}

.terminal-curl__output {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--terminal-line);
}

.terminal-curl__output-line {
    display: block;
    min-height: 25px;
    color: #8497ad;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .22s ease, transform .22s ease;
}

.terminal-curl__output-line.is-shown {
    opacity: 1;
    transform: none;
}

.terminal-curl__output-line--success {
    color: #86efac;
}

.terminal-curl__output-line strong {
    color: #86efac;
    font-weight: 700;
}

.terminal-curl__output-line--space {
    min-height: 12px;
}

@media (max-width: 980px) {
    .terminal-system-intro__grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .terminal-window--curl {
        width: 100%;
        max-width: 760px;
    }
}

@media (max-width: 640px) {
    body.cms-template-terminal .terminal-rich--system-intro .cms-container {
        width: min(calc(100% - 28px), 1180px);
    }

    .terminal-system-intro__grid {
        gap: 32px;
    }

    .terminal-window--curl .terminal-window__body {
        min-height: 290px;
        padding: 20px;
    }
}

/* ==========================================================================
   TERMINAL CURL — alignment fix
   ========================================================================== */

body.cms-template-terminal .terminal-curl__command-line {
    display: flex;
    align-items: baseline;
    gap: 0;
    min-width: 0;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

body.cms-template-terminal .terminal-curl__command-line::-webkit-scrollbar {
    display: none;
}

body.cms-template-terminal .terminal-curl__prompt {
    display: inline-flex;
    align-items: baseline;
    flex: 0 0 auto;
    white-space: nowrap;
}

body.cms-template-terminal .terminal-curl__typed {
    display: inline-flex;
    align-items: baseline;
    flex: 0 0 auto;
    margin-left: .6em;
    white-space: nowrap;
}

body.cms-template-terminal
.terminal-curl__command-line
[data-terminal-command] {
    margin-left: 0 !important;
    white-space: pre;
    overflow-wrap: normal;
    word-break: normal;
}

body.cms-template-terminal
.terminal-curl__typed
.terminal-cursor {
    flex: 0 0 auto;
    margin-left: 3px;
}

@media (max-width: 520px) {
    body.cms-template-terminal .terminal-curl__command-line {
        font-size: 12px;
    }
}

/* ==========================================================================
   TERMINAL — 03 / START
   ========================================================================== */

body.cms-template-terminal .terminal-start-section {
    position: relative;
}

body.cms-template-terminal .terminal-start-section__panel {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--terminal-line, rgba(148, 163, 184, .16));
    border-radius: 28px;
    background:
        linear-gradient(
            135deg,
            rgba(16, 31, 50, .97),
            rgba(7, 16, 29, .97)
        );
    box-shadow: 0 30px 80px rgba(0, 0, 0, .30);
}

body.cms-template-terminal .terminal-start-section__panel::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    top: -180px;
    right: -140px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(96, 165, 250, .14),
            transparent 70%
        );
    pointer-events: none;
}

body.cms-template-terminal .terminal-start-section__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(420px, .95fr);
    gap: 64px;
    align-items: center;
    padding: 72px;
}

body.cms-template-terminal .terminal-start-section__title {
    max-width: 720px;
    margin: 0;
    font-size: clamp(42px, 5vw, 72px);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 780;
    color: var(--terminal-text, #f7fbff);
}

body.cms-template-terminal .terminal-start-section__lead {
    max-width: 700px;
    margin-top: 28px;
    font-size: 18px;
    line-height: 1.8;
}

body.cms-template-terminal .terminal-start-section__lead p {
    margin: 0 0 18px;
}

body.cms-template-terminal .terminal-start-section__lead p:last-child {
    margin-bottom: 0;
}

body.cms-template-terminal .terminal-start-section__lead strong {
    color: var(--terminal-text, #f7fbff);
}

body.cms-template-terminal .terminal-start-section__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

body.cms-template-terminal .terminal-start-section__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 28px;
}

body.cms-template-terminal .terminal-start-section__tags span {
    padding: 8px 10px;
    border: 1px solid rgba(148, 163, 184, .12);
    border-radius: 9px;
    background: rgba(255, 255, 255, .02);
    font-family: var(--terminal-mono, monospace);
    font-size: 11px;
    color: #8699ad;
}

body.cms-template-terminal .terminal-start-console {
    box-shadow: 0 28px 65px rgba(0, 0, 0, .36);
}

body.cms-template-terminal .terminal-start-console__body {
    min-height: 350px;
    padding: 28px 26px 30px;
}

body.cms-template-terminal .terminal-start-console__line {
    display: block;
    opacity: 0;
    transform: translateY(6px);
    white-space: nowrap;
}

body.cms-template-terminal
.terminal-start-section.is-started
.terminal-start-console__line {
    animation: terminalStartLine .45s ease forwards;
}

body.cms-template-terminal
.terminal-start-section.is-started
.terminal-start-console__line:nth-child(2) {
    animation-delay: .40s;
}

body.cms-template-terminal
.terminal-start-section.is-started
.terminal-start-console__line:nth-child(3) {
    animation-delay: .75s;
}

body.cms-template-terminal
.terminal-start-section.is-started
.terminal-start-console__line:nth-child(4) {
    animation-delay: 1.10s;
}

body.cms-template-terminal
.terminal-start-section.is-started
.terminal-start-console__line:nth-child(5) {
    animation-delay: 1.45s;
}

body.cms-template-terminal
.terminal-start-section.is-started
.terminal-start-console__line:nth-child(6) {
    animation-delay: 1.80s;
}

body.cms-template-terminal
.terminal-start-section.is-started
.terminal-start-console__line:nth-child(7) {
    animation-delay: 2.15s;
}

body.cms-template-terminal
.terminal-start-section.is-started
.terminal-start-console__line:nth-child(8) {
    animation-delay: 2.50s;
}

body.cms-template-terminal
.terminal-start-section.is-started
.terminal-start-console__line:nth-child(9) {
    animation-delay: 2.85s;
}

body.cms-template-terminal .terminal-start-console__command {
    color: #eef6ff;
}

body.cms-template-terminal .terminal-start-console__label {
    color: #38bdf8;
}

body.cms-template-terminal .terminal-start-console__label--ai {
    color: #c084fc;
}

body.cms-template-terminal .terminal-start-console__status {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px dashed rgba(148, 163, 184, .14);
    color: #94a3b8;
}

body.cms-template-terminal .terminal-start-console__status strong {
    color: #86efac;
}

@keyframes terminalStartLine {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 980px) {
    body.cms-template-terminal .terminal-start-section__grid {
        grid-template-columns: 1fr;
        gap: 44px;
        padding: 54px 42px;
    }
}

@media (max-width: 640px) {
    body.cms-template-terminal .terminal-start-section__panel {
        border-radius: 22px;
    }

    body.cms-template-terminal .terminal-start-section__grid {
        padding: 36px 22px;
        gap: 34px;
    }

    body.cms-template-terminal .terminal-start-section__title {
        font-size: clamp(38px, 11vw, 52px);
    }

    body.cms-template-terminal .terminal-start-section__lead {
        font-size: 16px;
        line-height: 1.72;
    }

    body.cms-template-terminal .terminal-start-section__actions {
        flex-direction: column;
    }

    body.cms-template-terminal .terminal-start-section__actions
    .terminal-button {
        width: 100%;
    }

    body.cms-template-terminal .terminal-start-console__body {
        min-height: 330px;
        padding: 22px 18px 24px;
        overflow-x: auto;
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.cms-template-terminal
    .terminal-start-console__line {
        opacity: 1;
        transform: none;
        animation: none !important;
    }
}

/* ==========================================================================
   TERMINAL — 06 / CONTACT
   ========================================================================== */

body.cms-template-terminal .terminal-contact-form__panel {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--terminal-line, rgba(148, 163, 184, .16));
    border-radius: 28px;
    background:
        linear-gradient(
            135deg,
            rgba(16, 31, 50, .97),
            rgba(7, 16, 29, .97)
        );
    box-shadow: 0 30px 80px rgba(0, 0, 0, .30);
}

body.cms-template-terminal .terminal-contact-form__panel::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    left: -190px;
    bottom: -240px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(56, 189, 248, .11),
            transparent 70%
        );
    pointer-events: none;
}

body.cms-template-terminal .terminal-contact-form__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(0, .9fr)
        minmax(460px, 1.1fr);
    gap: 64px;
    align-items: center;
    padding: 72px;
}

body.cms-template-terminal .terminal-contact-form__title {
    max-width: 650px;
    margin: 0;
    color: var(--terminal-text, #f7fbff);
    font-size: clamp(42px, 5vw, 68px);
    line-height: .99;
    letter-spacing: -.052em;
    font-weight: 780;
}

body.cms-template-terminal .terminal-contact-form__lead {
    max-width: 590px;
    margin: 26px 0 0;
    color: var(--terminal-muted, #9fb0c4);
    font-size: 17px;
    line-height: 1.78;
}

body.cms-template-terminal .terminal-contact-form__company {
    display: grid;
    gap: 11px;
    max-width: 520px;
    margin-top: 34px;
    padding: 24px;
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 16px;
    background: rgba(3, 10, 18, .36);
    font-family: var(--terminal-mono, monospace);
    font-size: 13px;
}

body.cms-template-terminal .terminal-contact-form__company-label {
    margin-bottom: 5px;
    color: #38bdf8;
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body.cms-template-terminal .terminal-contact-form__company-name {
    margin-bottom: 6px;
    color: #f8fafc;
    font-family: var(--terminal-sans, sans-serif);
    font-size: 16px;
    font-weight: 700;
}

body.cms-template-terminal .terminal-contact-form__row {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 10px;
    color: #8fa2b8;
}

body.cms-template-terminal .terminal-contact-form__row strong,
body.cms-template-terminal .terminal-contact-form__row a {
    color: #dce8f4;
    font-weight: 500;
    text-decoration: none;
}

body.cms-template-terminal .terminal-contact-form__row a:hover {
    color: var(--terminal-blue, #38bdf8);
}

body.cms-template-terminal .terminal-contact-form__window {
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 20px;
    background: #050b13;
    box-shadow: 0 28px 65px rgba(0, 0, 0, .36);
}

/* Neutralizacja zewnętrznej sekcji standardowego formularza */
body.cms-template-terminal
.terminal-contact-form__form
.cms-contact-form-section {
    padding: 0 !important;
    background: transparent !important;
}

body.cms-template-terminal
.terminal-contact-form__form
.cms-contact-form-section > .cms-container,
body.cms-template-terminal
.terminal-contact-form__form
.cms-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.cms-template-terminal
.terminal-contact-form__form
.cms-contact-form-heading {
    display: none !important;
}

body.cms-template-terminal
.terminal-contact-form__form
.cms-contact-form-wrapper {
    margin: 0 !important;
    padding: 28px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.cms-template-terminal
.terminal-contact-form__form
.cms-contact-form {
    margin: 0 !important;
}

body.cms-template-terminal
.terminal-contact-form__form
.cms-contact-form button[type="submit"] {
    width: 100%;
}

@media (max-width: 980px) {
    body.cms-template-terminal .terminal-contact-form__grid {
        grid-template-columns: 1fr;
        gap: 44px;
        padding: 54px 42px;
    }
}

@media (max-width: 640px) {
    body.cms-template-terminal .terminal-contact-form__panel {
        border-radius: 22px;
    }

    body.cms-template-terminal .terminal-contact-form__grid {
        gap: 34px;
        padding: 36px 22px;
    }

    body.cms-template-terminal .terminal-contact-form__title {
        font-size: clamp(38px, 11vw, 52px);
    }

    body.cms-template-terminal .terminal-contact-form__lead {
        font-size: 16px;
        line-height: 1.72;
    }

    body.cms-template-terminal .terminal-contact-form__company {
        padding: 20px;
    }

    body.cms-template-terminal .terminal-contact-form__form
    .cms-contact-form-wrapper {
        padding: 20px !important;
    }
}

/* TERMINAL — CONTACT heading smaller */
body.cms-template-terminal .terminal-contact-form__title {
    font-size: clamp(36px, 4vw, 54px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
}

@media (max-width: 640px) {
    body.cms-template-terminal .terminal-contact-form__title {
        font-size: clamp(34px, 10vw, 46px) !important;
        line-height: 1.04 !important;
    }
}

/* TERMINAL — global section spacing */
body.cms-template-terminal .terminal-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}

@media (max-width: 980px) {
    body.cms-template-terminal .terminal-section {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }
}

@media (max-width: 640px) {
    body.cms-template-terminal .terminal-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}

/* ==========================================================================
   TERMINAL — FOOTER
   ========================================================================== */

body.cms-template-terminal .terminal-footer {
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(148, 163, 184, .16);
    background:
        linear-gradient(
            180deg,
            rgba(10, 21, 36, .96),
            rgba(5, 13, 23, 1)
        );
}

body.cms-template-terminal .terminal-footer::before {
    content: "";
    position: absolute;
    width: 460px;
    height: 460px;
    right: -180px;
    top: -230px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(56, 189, 248, .11),
            transparent 68%
        );
    pointer-events: none;
}

body.cms-template-terminal .terminal-footer__inner {
    position: relative;
    z-index: 1;
    padding-top: 56px;
    padding-bottom: 30px;
}

body.cms-template-terminal .terminal-footer__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(180px, .8fr)
        minmax(280px, 1.05fr);
    gap: 64px;
    align-items: start;
}

body.cms-template-terminal .terminal-footer__brand {
    max-width: 430px;
}

body.cms-template-terminal .terminal-footer__brand-mark {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: #f7fbff;
    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;
    font-size: 16px;
    font-weight: 700;
}

body.cms-template-terminal .terminal-footer__brand-mark::before {
    content: ">_";
    color: #86efac;
    font-weight: 700;
}

body.cms-template-terminal .terminal-footer__copy {
    max-width: 420px;
    margin: 0;
    color: #93a4b8;
    font-size: 15px;
    line-height: 1.75;
}

body.cms-template-terminal .terminal-footer__label {
    margin-bottom: 18px;
    color: #38bdf8;
    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* NAVIGATION */

body.cms-template-terminal .terminal-footer__menu {
    display: grid;
    gap: 12px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.cms-template-terminal .terminal-footer__menu li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.cms-template-terminal .terminal-footer__menu
.cms-nav__link-row {
    display: block;
}

body.cms-template-terminal .terminal-footer__menu
.cms-nav__link {
    display: inline-block;
    min-height: 0;
    padding: 0 !important;
    color: #cbd5e1 !important;
    background: transparent !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: none;
    transition:
        color .2s ease,
        transform .2s ease;
}

body.cms-template-terminal .terminal-footer__menu
.cms-nav__link:hover {
    color: #fff !important;
    transform: translateX(3px);
}

body.cms-template-terminal .terminal-footer__menu
.cms-nav__link::after,
body.cms-template-terminal .terminal-footer__menu
.cms-submenu-toggle {
    display: none !important;
}

body.cms-template-terminal .terminal-footer__menu
.cms-submenu {
    display: none !important;
}


/* COMPANY.INFO */

body.cms-template-terminal .terminal-footer__company {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;
}

body.cms-template-terminal .terminal-footer__company-name {
    margin-bottom: 18px;
    color: #fff;
    font-family:
        var(--terminal-sans, system-ui),
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    font-size: 16px;
    font-weight: 700;
}

body.cms-template-terminal .terminal-footer__company-row {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    margin-top: 9px;
    color: #6f849a;
    font-size: 12px;
    line-height: 1.6;
}

body.cms-template-terminal .terminal-footer__company-row strong,
body.cms-template-terminal .terminal-footer__company-row a,
body.cms-template-terminal .terminal-footer__company-row .value {
    color: #dbe7f2;
    font-weight: 500;
    text-decoration: none;
}

body.cms-template-terminal .terminal-footer__company-row a:hover {
    color: #38bdf8;
}


/* BOTTOM */

body.cms-template-terminal .terminal-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 46px;
    padding-top: 22px;
    border-top: 1px solid rgba(148, 163, 184, .10);
    color: #66798e;
    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;
    font-size: 11px;
}

body.cms-template-terminal .terminal-footer__command {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

body.cms-template-terminal .terminal-footer__prompt {
    color: #86efac;
}

body.cms-template-terminal .terminal-footer__bottom-links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

body.cms-template-terminal .terminal-footer__bottom-links a {
    color: #7f91a5;
    text-decoration: none;
}

body.cms-template-terminal .terminal-footer__bottom-links a:hover {
    color: #cbd5e1;
}


/* RESPONSIVE */

@media (max-width: 980px) {

    body.cms-template-terminal .terminal-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 44px;
    }

    body.cms-template-terminal .terminal-footer__brand {
        grid-column: 1 / -1;
    }

}

@media (max-width: 680px) {

    body.cms-template-terminal .terminal-footer__inner {
        padding-top: 44px;
        padding-bottom: 26px;
    }

    body.cms-template-terminal .terminal-footer__grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    body.cms-template-terminal .terminal-footer__brand {
        grid-column: auto;
    }

    body.cms-template-terminal .terminal-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 36px;
    }

}

/* TERMINAL — FOOTER NAVIGATION link style */

body.cms-template-terminal .terminal-footer__menu
.cms-nav__link {
    font-size: 12px !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

body.cms-template-terminal .terminal-footer__menu
.cms-nav__link:hover,
body.cms-template-terminal .terminal-footer__menu
.cms-nav__link:focus,
body.cms-template-terminal .terminal-footer__menu
.cms-nav__link:active {
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* TERMINAL — FOOTER NAVIGATION underline hard reset */

body.cms-template-terminal
.terminal-footer__navigation a,
body.cms-template-terminal
.terminal-footer__navigation a:link,
body.cms-template-terminal
.terminal-footer__navigation a:visited,
body.cms-template-terminal
.terminal-footer__navigation a:hover,
body.cms-template-terminal
.terminal-footer__navigation a:focus,
body.cms-template-terminal
.terminal-footer__navigation a:active {
    font-size: 12px !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
}

body.cms-template-terminal
.terminal-footer__navigation a::before,
body.cms-template-terminal
.terminal-footer__navigation a::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

body.cms-template-terminal
.terminal-footer__navigation .cms-nav__link-row,
body.cms-template-terminal
.terminal-footer__navigation li {
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* ==========================================================================
   TERMINAL — SUBPAGES 01
   ========================================================================== */

body.cms-template-terminal .terminal-subpage-hero {
    position: relative;
    overflow: hidden;

    min-height: 390px;

    display: flex;
    align-items: center;

    color: #f7fbff;

    border-bottom:
        1px solid
        rgba(148, 163, 184, .14);

    background:
        radial-gradient(
            circle at 76% 28%,
            rgba(59, 130, 246, .13),
            transparent 28%
        ),
        radial-gradient(
            circle at 88% 62%,
            rgba(192, 132, 252, .08),
            transparent 22%
        ),
        linear-gradient(
            180deg,
            #07111d,
            #081421
        );
}

body.cms-template-terminal .terminal-subpage-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    opacity: .65;

    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size: 34px 34px;
}

body.cms-template-terminal .terminal-subpage-hero__inner {
    position: relative;
    z-index: 1;

    width: 100%;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        330px;

    gap: 70px;

    align-items: center;

    padding-top: 72px;
    padding-bottom: 68px;
}

body.cms-template-terminal .terminal-subpage-hero__content {
    max-width: 780px;
}

body.cms-template-terminal .terminal-subpage-hero__eyebrow {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 20px;

    color: #86efac;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 12px;
    line-height: 1.4;

    letter-spacing: .04em;

    text-transform: uppercase;
}

body.cms-template-terminal .terminal-subpage-hero__eyebrow::before {
    content: "";

    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: #86efac;

    box-shadow:
        0 0 0 5px
        rgba(134, 239, 172, .08);
}

body.cms-template-terminal .terminal-subpage-hero__title {
    max-width: 780px;

    margin: 0;

    color: #f7fbff;

    font-size:
        clamp(
            42px,
            5vw,
            68px
        );

    line-height: 1.02;

    letter-spacing: -.045em;
}

body.cms-template-terminal .terminal-subpage-hero__text {
    max-width: 690px;

    margin-top: 24px;

    color: #9eb0c2;

    font-size: 17px;
    line-height: 1.75;
}

body.cms-template-terminal .terminal-subpage-hero__text p {
    margin:
        0
        0
        14px;
}

body.cms-template-terminal .terminal-subpage-hero__text p:last-child {
    margin-bottom: 0;
}


/* TERMINAL WINDOW */

body.cms-template-terminal .terminal-subpage-console {
    overflow: hidden;

    border:
        1px solid
        rgba(148, 163, 184, .14);

    border-radius: 16px;

    background:
        rgba(4, 12, 21, .72);

    box-shadow:
        0 28px 70px
        rgba(0, 0, 0, .22);
}

body.cms-template-terminal .terminal-subpage-console__bar {
    height: 44px;

    display: flex;
    align-items: center;

    gap: 7px;

    padding:
        0
        14px;

    border-bottom:
        1px solid
        rgba(148, 163, 184, .14);

    background:
        rgba(255, 255, 255, .018);
}

body.cms-template-terminal .terminal-subpage-console__dot {
    width: 7px;
    height: 7px;

    border-radius: 50%;
}

body.cms-template-terminal .terminal-subpage-console__dot--red {
    background: #fb7185;
}

body.cms-template-terminal .terminal-subpage-console__dot--yellow {
    background: #facc15;
}

body.cms-template-terminal .terminal-subpage-console__dot--green {
    background: #4ade80;
}

body.cms-template-terminal .terminal-subpage-console__title {
    margin-left: 8px;

    color: #60758b;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 10px;
}

body.cms-template-terminal .terminal-subpage-console__screen {
    padding:
        22px
        20px
        24px;

    color: #adbdcd;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 12px;
    line-height: 1.85;
}

body.cms-template-terminal .terminal-subpage-console__prompt,
body.cms-template-terminal .terminal-subpage-console__ok {
    color: #86efac;
}

body.cms-template-terminal .terminal-subpage-console__key {
    color: #38bdf8;
}


/* BREADCRUMBS */

body.cms-template-terminal .terminal-subpage-breadcrumbs {
    background: #091522;

    border-bottom:
        1px solid
        rgba(148, 163, 184, .10);
}

body.cms-template-terminal .terminal-subpage-breadcrumbs__inner {
    min-height: 54px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 9px;

    color: #71869b;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 11px;
}

body.cms-template-terminal .terminal-subpage-breadcrumbs a {
    color: #91a5b8;

    text-decoration: none !important;
}

body.cms-template-terminal .terminal-subpage-breadcrumbs a:hover {
    color: #ffffff;
}


/* Make ordinary TERMINAL subpage blocks slightly more editorial */

body.cms-template-terminal
.terminal-subpage-breadcrumbs
+ .terminal-section {
    border-top: 0;
}


/* RESPONSIVE */

@media (max-width: 980px) {

    body.cms-template-terminal .terminal-subpage-hero__inner {
        grid-template-columns: 1fr;

        gap: 36px;

        padding-top: 58px;
        padding-bottom: 56px;
    }

    body.cms-template-terminal .terminal-subpage-console {
        max-width: 520px;
    }

}

@media (max-width: 640px) {

    body.cms-template-terminal .terminal-subpage-hero {
        min-height: 0;
    }

    body.cms-template-terminal .terminal-subpage-hero__inner {
        padding-top: 48px;
        padding-bottom: 46px;
    }

    body.cms-template-terminal .terminal-subpage-hero__title {
        font-size:
            clamp(
                36px,
                11vw,
                48px
            );
    }

    body.cms-template-terminal .terminal-subpage-hero__text {
        margin-top: 18px;

        font-size: 15px;
        line-height: 1.7;
    }

    body.cms-template-terminal .terminal-subpage-console__screen {
        padding:
            20px
            17px
            22px;

        font-size: 11px;
    }

    body.cms-template-terminal .terminal-subpage-breadcrumbs__inner {
        min-height: 48px;
    }

}

/* TERMINAL — SUBPAGE HERO layout fix 02 */

body.cms-template-terminal .terminal-subpage-hero__inner {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(280px, 310px);

    gap: 48px;

    padding-top: 60px;
    padding-bottom: 58px;
}

body.cms-template-terminal .terminal-subpage-hero__content {
    min-width: 0;
    max-width: 760px;
}

body.cms-template-terminal .terminal-subpage-hero__title {
    max-width: 760px;

    font-size:
        clamp(
            38px,
            4.25vw,
            56px
        );

    line-height: 1.04;

    letter-spacing: -.04em;

    text-wrap: balance;

    overflow-wrap: normal;
    word-break: normal;
}

body.cms-template-terminal .terminal-subpage-hero__text {
    max-width: 650px;

    margin-top: 20px;

    font-size: 16px;
    line-height: 1.7;
}

body.cms-template-terminal .terminal-subpage-console {
    width: 100%;
    min-width: 0;
    max-width: 310px;

    justify-self: end;
}

body.cms-template-terminal .terminal-subpage-console__screen {
    overflow-x: hidden;
}

body.cms-template-terminal .terminal-subpage-console__screen > div {
    white-space: nowrap;
}


/* Earlier single-column switch for long subpage headings */

@media (max-width: 1120px) {

    body.cms-template-terminal .terminal-subpage-hero__inner {
        grid-template-columns: 1fr;

        gap: 32px;

        padding-top: 54px;
        padding-bottom: 52px;
    }

    body.cms-template-terminal .terminal-subpage-hero__content {
        max-width: 820px;
    }

    body.cms-template-terminal .terminal-subpage-hero__title {
        max-width: 820px;

        font-size:
            clamp(
                40px,
                6vw,
                58px
            );
    }

    body.cms-template-terminal .terminal-subpage-hero__text {
        max-width: 720px;
    }

    body.cms-template-terminal .terminal-subpage-console {
        max-width: 440px;

        justify-self: start;
    }

}


/* Mobile */

@media (max-width: 640px) {

    body.cms-template-terminal .terminal-subpage-hero__inner {
        gap: 28px;

        padding-top: 42px;
        padding-bottom: 42px;
    }

    body.cms-template-terminal .terminal-subpage-hero__eyebrow {
        margin-bottom: 16px;

        font-size: 11px;
    }

    body.cms-template-terminal .terminal-subpage-hero__title {
        font-size:
            clamp(
                34px,
                10vw,
                44px
            );

        line-height: 1.06;
    }

    body.cms-template-terminal .terminal-subpage-hero__text {
        margin-top: 16px;

        font-size: 15px;
        line-height: 1.65;
    }

    body.cms-template-terminal .terminal-subpage-console {
        max-width: 100%;
    }

    body.cms-template-terminal .terminal-subpage-console__screen {
        padding:
            18px
            15px
            20px;

        font-size: 10.5px;
    }

}

/* TERMINAL — SUBPAGE HERO alignment fix 03 */

/*
|--------------------------------------------------------------------------
| HERO container
|--------------------------------------------------------------------------
|
| Poprzednia wersja nadpisywała .cms-container przez width: 100%.
| Dlatego treść HERO zaczynała się od lewej krawędzi viewportu.
|
*/

body.cms-template-terminal .terminal-subpage-hero__inner {
    width:
        min(
            1180px,
            calc(100% - 48px)
        ) !important;

    margin-inline: auto !important;
}


/*
|--------------------------------------------------------------------------
| Długi H1
|--------------------------------------------------------------------------
*/

body.cms-template-terminal .terminal-subpage-hero__title {
    max-width: 820px;

    font-size:
        clamp(
            38px,
            4vw,
            54px
        );

    line-height: 1.04;
}


/*
|--------------------------------------------------------------------------
| Breadcrumbs
|--------------------------------------------------------------------------
|
| Standardowy CMS wyświetla breadcrumbs nad HERO.
| TERMINAL ma własne breadcrumbs bezpośrednio pod HERO.
| Ukrywamy więc wyłącznie standardowy breadcrumb na podstronie TERMINAL.
|
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.cms-breadcrumbs {
    display: none !important;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
nav[aria-label="Breadcrumbs"]:not(.terminal-subpage-breadcrumbs) {
    display: none !important;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
nav[aria-label="Okruszki"]:not(.terminal-subpage-breadcrumbs) {
    display: none !important;
}


/*
|--------------------------------------------------------------------------
| Tablet
|--------------------------------------------------------------------------
*/

@media (max-width: 1120px) {

    body.cms-template-terminal .terminal-subpage-hero__inner {
        width:
            min(
                100% - 48px,
                900px
            ) !important;
    }

    body.cms-template-terminal .terminal-subpage-hero__title {
        max-width: 820px;
    }

}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 640px) {

    body.cms-template-terminal .terminal-subpage-hero__inner {
        width:
            calc(100% - 28px) !important;
    }

    body.cms-template-terminal .terminal-subpage-hero__title {
        font-size:
            clamp(
                34px,
                10vw,
                44px
            );
    }

}

/* TERMINAL — SUBPAGE SECTION SPACING 01 */

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 980px) {
    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-section {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }
}

@media (max-width: 640px) {
    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}

/* ==========================================================================
   TERMINAL — SERVICES GRID 01
   ========================================================================== */

body.cms-template-terminal .terminal-services-grid {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(56, 189, 248, .055),
            transparent 26%
        ),
        #07111d;

    border-top:
        1px solid
        rgba(148, 163, 184, .08);

    border-bottom:
        1px solid
        rgba(148, 163, 184, .08);
}

body.cms-template-terminal .terminal-services-grid__header {
    max-width: 780px;

    margin-bottom: 34px;
}

body.cms-template-terminal .terminal-services-grid__heading {
    margin: 0;

    color: #f7fbff;

    font-size:
        clamp(
            32px,
            4vw,
            48px
        );

    line-height: 1.08;

    letter-spacing: -.035em;
}

body.cms-template-terminal .terminal-services-grid__intro {
    max-width: 720px;

    margin-top: 18px;

    color: #93a4b8;

    font-size: 16px;
    line-height: 1.75;
}

body.cms-template-terminal .terminal-services-grid__intro p {
    margin:
        0
        0
        12px;
}

body.cms-template-terminal .terminal-services-grid__intro p:last-child {
    margin-bottom: 0;
}


/* GRID */

body.cms-template-terminal .terminal-services-grid__grid {
    display: grid;

    grid-template-columns:
        repeat(
            var(--terminal-services-columns, 3),
            minmax(0, 1fr)
        );

    gap: 14px;
}


/* CARD */

body.cms-template-terminal .terminal-service-card {
    position: relative;

    min-width: 0;
    min-height: 205px;

    display: flex;
    flex-direction: column;

    padding:
        22px
        22px
        20px;

    color: inherit;

    text-decoration: none !important;

    border:
        1px solid
        rgba(148, 163, 184, .13);

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            rgba(15, 31, 49, .9),
            rgba(7, 17, 29, .96)
        );

    box-shadow:
        0 18px 42px
        rgba(0, 0, 0, .14);

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

body.cms-template-terminal .terminal-service-card:hover {
    transform: translateY(-3px);

    border-color:
        rgba(56, 189, 248, .30);

    box-shadow:
        0 24px 52px
        rgba(0, 0, 0, .22);
}

body.cms-template-terminal .terminal-service-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    margin-bottom: 22px;
}

body.cms-template-terminal .terminal-service-card__number {
    color: #38bdf8;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .06em;
}

body.cms-template-terminal .terminal-service-card__number::before {
    content: "./";
}

body.cms-template-terminal .terminal-service-card__status {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    color: #86efac;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 9px;
    letter-spacing: .06em;
}

body.cms-template-terminal .terminal-service-card__status::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #4ade80;

    box-shadow:
        0 0 10px
        rgba(74, 222, 128, .6);
}

body.cms-template-terminal .terminal-service-card__title {
    margin: 0;

    color: #f7fbff;

    font-size: 19px;
    line-height: 1.25;

    letter-spacing: -.02em;
}

body.cms-template-terminal .terminal-service-card__text {
    margin-top: 11px;

    color: #8fa2b5;

    font-size: 14px;
    line-height: 1.65;
}

body.cms-template-terminal .terminal-service-card__text p {
    margin: 0;
}

body.cms-template-terminal .terminal-service-card__line {
    height: 1px;

    margin-top: auto;
    padding-top: 19px;

    border-bottom:
        1px dashed
        rgba(148, 163, 184, .12);
}


/* RESPONSIVE */

@media (max-width: 980px) {

    body.cms-template-terminal .terminal-services-grid__grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}

@media (max-width: 640px) {

    body.cms-template-terminal .terminal-services-grid__header {
        margin-bottom: 26px;
    }

    body.cms-template-terminal .terminal-services-grid__grid {
        grid-template-columns: 1fr;
    }

    body.cms-template-terminal .terminal-service-card {
        min-height: 0;

        padding:
            20px
            18px;
    }

}

/* ==========================================================================
   TERMINAL — PROCESS 01
   ========================================================================== */

body.cms-template-terminal .terminal-process {
    position: relative;
    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #081522 0%,
            #07111d 100%
        );

    border-top:
        1px solid
        rgba(148, 163, 184, .08);

    border-bottom:
        1px solid
        rgba(148, 163, 184, .08);
}

body.cms-template-terminal .terminal-process__header {
    max-width: 760px;

    margin-bottom: 42px;
}

body.cms-template-terminal .terminal-process__heading {
    margin: 0;

    color: #f7fbff;

    font-size:
        clamp(
            32px,
            4vw,
            48px
        );

    line-height: 1.08;

    letter-spacing: -.035em;
}

body.cms-template-terminal .terminal-process__intro {
    max-width: 700px;

    margin-top: 18px;

    color: #93a4b8;

    font-size: 16px;
    line-height: 1.75;
}


/* STEPS */

body.cms-template-terminal .terminal-process__steps {
    position: relative;

    display: grid;

    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        );

    gap: 16px;
}

body.cms-template-terminal .terminal-process__steps::before {
    content: "";

    position: absolute;

    top: 22px;
    left: 5%;
    right: 5%;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(56, 189, 248, .22) 8%,
            rgba(56, 189, 248, .22) 92%,
            transparent
        );
}


/* STEP */

body.cms-template-terminal .terminal-process__step {
    position: relative;
    z-index: 1;

    min-width: 0;
}

body.cms-template-terminal .terminal-process__number {
    position: relative;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 18px;

    color: #06111d;

    border-radius: 50%;

    background: #86efac;

    box-shadow:
        0 0 0 7px #081522,
        0 0 24px rgba(134, 239, 172, .18);

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 11px;
    font-weight: 800;
}

body.cms-template-terminal .terminal-process__body {
    min-height: 230px;

    display: flex;
    flex-direction: column;

    padding:
        20px
        18px
        18px;

    border:
        1px solid
        rgba(148, 163, 184, .12);

    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            rgba(15, 31, 49, .76),
            rgba(7, 17, 29, .94)
        );
}

body.cms-template-terminal .terminal-process__command {
    margin-bottom: 15px;

    color: #38bdf8;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 9px;

    letter-spacing: .04em;
}

body.cms-template-terminal .terminal-process__command::before {
    content: "$ ";

    color: #86efac;
}

body.cms-template-terminal .terminal-process__title {
    margin: 0;

    color: #f7fbff;

    font-size: 17px;
    line-height: 1.25;

    letter-spacing: -.02em;
}

body.cms-template-terminal .terminal-process__text {
    margin-top: 10px;

    color: #8fa2b5;

    font-size: 13px;
    line-height: 1.6;
}

body.cms-template-terminal .terminal-process__text p {
    margin: 0;
}

body.cms-template-terminal .terminal-process__status {
    display: flex;
    align-items: center;

    gap: 6px;

    margin-top: auto;
    padding-top: 18px;

    color: #86efac;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 9px;

    letter-spacing: .05em;
}

body.cms-template-terminal .terminal-process__status::before {
    content: "";

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #4ade80;

    box-shadow:
        0 0 9px
        rgba(74, 222, 128, .55);
}


/* TABLET */

@media (max-width: 1100px) {

    body.cms-template-terminal .terminal-process__steps {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap: 22px;
    }

    body.cms-template-terminal .terminal-process__steps::before {
        display: none;
    }

    body.cms-template-terminal .terminal-process__body {
        min-height: 0;
    }

}


/* MOBILE */

@media (max-width: 640px) {

    body.cms-template-terminal .terminal-process__header {
        margin-bottom: 30px;
    }

    body.cms-template-terminal .terminal-process__steps {
        grid-template-columns: 1fr;

        gap: 0;

        padding-left: 18px;
    }

    body.cms-template-terminal .terminal-process__steps::before {
        display: block;

        top: 20px;
        bottom: 20px;
        left: 39px;
        right: auto;

        width: 1px;
        height: auto;

        background:
            rgba(56, 189, 248, .18);
    }

    body.cms-template-terminal .terminal-process__step {
        display: grid;

        grid-template-columns:
            44px
            minmax(0, 1fr);

        gap: 18px;

        padding-bottom: 24px;
    }

    body.cms-template-terminal .terminal-process__step:last-child {
        padding-bottom: 0;
    }

    body.cms-template-terminal .terminal-process__number {
        margin-bottom: 0;
    }

}

/* ==========================================================================
   TERMINAL — BENEFITS 01
   ========================================================================== */

body.cms-template-terminal .terminal-benefits {
    position: relative;

    background:
        linear-gradient(
            180deg,
            #07111d 0%,
            #081522 100%
        );

    border-top:
        1px solid
        rgba(148, 163, 184, .08);

    border-bottom:
        1px solid
        rgba(148, 163, 184, .08);
}

body.cms-template-terminal .terminal-benefits__header {
    max-width: 760px;

    margin-bottom: 34px;
}

body.cms-template-terminal .terminal-benefits__heading {
    margin: 0;

    color: #f7fbff;

    font-size:
        clamp(
            32px,
            4vw,
            48px
        );

    line-height: 1.08;

    letter-spacing: -.035em;
}

body.cms-template-terminal .terminal-benefits__intro {
    max-width: 700px;

    margin-top: 18px;

    color: #93a4b8;

    font-size: 16px;
    line-height: 1.75;
}


/* GRID */

body.cms-template-terminal .terminal-benefits__grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 14px;
}


/* CARD */

body.cms-template-terminal .terminal-benefit-card {
    display: grid;

    grid-template-columns:
        46px
        minmax(0, 1fr);

    align-items: start;

    gap: 16px;

    min-width: 0;

    padding:
        22px
        22px;

    border:
        1px solid
        rgba(148, 163, 184, .12);

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(15, 31, 49, .72),
            rgba(7, 17, 29, .92)
        );

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

body.cms-template-terminal .terminal-benefit-card:hover {
    transform: translateY(-2px);

    border-color:
        rgba(134, 239, 172, .26);

    background:
        linear-gradient(
            145deg,
            rgba(16, 36, 52, .85),
            rgba(7, 17, 29, .96)
        );
}

body.cms-template-terminal .terminal-benefit-card__status {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(134, 239, 172, .18);

    border-radius: 10px;

    background:
        rgba(134, 239, 172, .055);

    color: #86efac;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .06em;
}

body.cms-template-terminal .terminal-benefit-card__status::before {
    content: "✓";

    margin-right: 3px;

    font-size: 10px;
}

body.cms-template-terminal .terminal-benefit-card__title {
    margin: 1px 0 0;

    color: #f7fbff;

    font-size: 17px;
    line-height: 1.3;

    letter-spacing: -.015em;
}

body.cms-template-terminal .terminal-benefit-card__text {
    margin-top: 8px;

    color: #8fa2b5;

    font-size: 13px;
    line-height: 1.6;
}

body.cms-template-terminal .terminal-benefit-card__text p {
    margin: 0;
}


/* RESPONSIVE */

@media (max-width: 980px) {

    body.cms-template-terminal .terminal-benefits__grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

}

@media (max-width: 640px) {

    body.cms-template-terminal .terminal-benefits__header {
        margin-bottom: 26px;
    }

    body.cms-template-terminal .terminal-benefits__grid {
        grid-template-columns: 1fr;
    }

    body.cms-template-terminal .terminal-benefit-card {
        padding:
            19px
            18px;
    }

}

/* ==========================================================================
   TERMINAL — SEO WITHOUT CHAOS PANEL 01
   ========================================================================== */

body.cms-template-terminal .terminal-seo-chaos {
    background: #07111d;
}

body.cms-template-terminal .terminal-seo-chaos__panel {
    position: relative;
    overflow: hidden;

    display: grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(310px, .8fr);

    gap: 58px;

    align-items: center;

    padding:
        54px
        56px;

    border:
        1px solid
        rgba(148, 163, 184, .14);

    border-radius: 24px;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(37, 99, 235, .12),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            rgba(13, 29, 47, .98),
            rgba(6, 15, 26, .98)
        );

    box-shadow:
        0 26px 70px
        rgba(0, 0, 0, .24);
}

body.cms-template-terminal .terminal-seo-chaos__panel::after {
    content: "";

    position: absolute;

    width: 360px;
    height: 360px;

    right: -150px;
    bottom: -210px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(134, 239, 172, .075),
            transparent 68%
        );

    pointer-events: none;
}

body.cms-template-terminal .terminal-seo-chaos__content {
    position: relative;
    z-index: 1;

    min-width: 0;
}

body.cms-template-terminal .terminal-seo-chaos__command {
    margin-bottom: 18px;

    color: #86efac;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 11px;

    letter-spacing: .06em;
}

body.cms-template-terminal .terminal-seo-chaos__command::before {
    content: "$ ";

    color: #38bdf8;
}

body.cms-template-terminal .terminal-seo-chaos__heading {
    max-width: 700px;

    margin: 0;

    color: #f7fbff;

    font-size:
        clamp(
            34px,
            4.1vw,
            52px
        );

    line-height: 1.04;

    letter-spacing: -.04em;
}

body.cms-template-terminal .terminal-seo-chaos__text {
    max-width: 720px;

    margin-top: 22px;

    color: #9aabbd;

    font-size: 15px;
    line-height: 1.75;
}

body.cms-template-terminal .terminal-seo-chaos__text p {
    margin:
        0
        0
        14px;
}

body.cms-template-terminal .terminal-seo-chaos__text p:last-child {
    margin-bottom: 0;
}


/* CONSOLE */

body.cms-template-terminal .terminal-seo-chaos__console {
    position: relative;
    z-index: 1;

    min-width: 0;

    overflow: hidden;

    border:
        1px solid
        rgba(148, 163, 184, .14);

    border-radius: 16px;

    background: #050c15;

    box-shadow:
        0 22px 52px
        rgba(0, 0, 0, .30);
}

body.cms-template-terminal .terminal-seo-chaos__console-bar {
    min-height: 42px;

    display: flex;
    align-items: center;

    gap: 7px;

    padding:
        0
        14px;

    border-bottom:
        1px solid
        rgba(148, 163, 184, .10);

    background:
        rgba(255, 255, 255, .022);
}

body.cms-template-terminal .terminal-seo-chaos__dot {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #334155;
}

body.cms-template-terminal .terminal-seo-chaos__dot:first-child {
    background: #fb7185;
}

body.cms-template-terminal .terminal-seo-chaos__dot:nth-child(2) {
    background: #facc15;
}

body.cms-template-terminal .terminal-seo-chaos__dot:nth-child(3) {
    background: #4ade80;
}

body.cms-template-terminal .terminal-seo-chaos__console-title {
    margin-left: 6px;

    color: #64748b;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 10px;
}

body.cms-template-terminal .terminal-seo-chaos__console-screen {
    padding:
        24px
        22px
        22px;

    font-family:
        var(--terminal-mono, ui-monospace),
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 11px;
}

body.cms-template-terminal .terminal-seo-chaos__line {
    display: grid;

    grid-template-columns:
        auto
        minmax(14px, 1fr)
        auto;

    gap: 8px;

    align-items: baseline;

    margin-bottom: 13px;

    color: #94a3b8;
}

body.cms-template-terminal .terminal-seo-chaos__dots {
    overflow: hidden;

    color: #334155;

    white-space: nowrap;
}

body.cms-template-terminal .terminal-seo-chaos__line strong {
    color: #86efac;

    font-size: 10px;
    font-weight: 700;
}

body.cms-template-terminal .terminal-seo-chaos__ready {
    margin-top: 21px;

    padding-top: 18px;

    border-top:
        1px dashed
        rgba(148, 163, 184, .12);

    color: #94a3b8;
}

body.cms-template-terminal .terminal-seo-chaos__ready span {
    color: #38bdf8;
}


/* RESPONSIVE */

@media (max-width: 980px) {

    body.cms-template-terminal .terminal-seo-chaos__panel {
        grid-template-columns: 1fr;

        gap: 34px;

        padding:
            44px
            40px;
    }

    body.cms-template-terminal .terminal-seo-chaos__console {
        max-width: 520px;
    }

}

@media (max-width: 640px) {

    body.cms-template-terminal .terminal-seo-chaos__panel {
        gap: 28px;

        padding:
            32px
            22px;

        border-radius: 18px;
    }

    body.cms-template-terminal .terminal-seo-chaos__heading {
        font-size:
            clamp(
                32px,
                10vw,
                42px
            );
    }

    body.cms-template-terminal .terminal-seo-chaos__text {
        margin-top: 18px;

        font-size: 14px;
    }

    body.cms-template-terminal .terminal-seo-chaos__console-screen {
        padding:
            20px
            16px;
    }

    body.cms-template-terminal .terminal-seo-chaos__line {
        font-size: 10px;
    }

}

/* TERMINAL — SUBPAGE HERO H1 SIZE 01 */

body.cms-template-terminal .terminal-subpage-hero__title {
    max-width: 860px;

    font-size:
        clamp(
            44px,
            4.8vw,
            64px
        ) !important;

    line-height: 1.01;
}

@media (max-width: 1120px) {

    body.cms-template-terminal .terminal-subpage-hero__title {
        font-size:
            clamp(
                42px,
                5.3vw,
                58px
            ) !important;
    }

}

@media (max-width: 640px) {

    body.cms-template-terminal .terminal-subpage-hero__title {
        font-size:
            clamp(
                36px,
                10.5vw,
                46px
            ) !important;

        line-height: 1.03;
    }

}

/* ==========================================================================
   TERMINAL — SUBPAGE FINAL POLISH 01
   ========================================================================== */

/*
|--------------------------------------------------------------------------
| RYTM SEKCJI
|--------------------------------------------------------------------------
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 72px !important;
    padding-bottom: 72px !important;
}


/*
|--------------------------------------------------------------------------
| H2 — wspólna hierarchia
|--------------------------------------------------------------------------
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-section h2 {
    max-width: 780px;

    margin-top: 0;

    font-size:
        clamp(
            34px,
            3.8vw,
            48px
        );

    line-height: 1.06;

    letter-spacing: -.035em;
}


/*
|--------------------------------------------------------------------------
| Teksty wprowadzające / zwykłe sekcje
|--------------------------------------------------------------------------
|
| Kilka nazw klas uwzględnia różne bloki CMS.
| Jeżeli dana klasa nie występuje, reguła jest po prostu pomijana.
|
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.cms-rich-text,

body.cms-template-terminal:has(.terminal-subpage-hero)
.cms-rich-text__content,

body.cms-template-terminal:has(.terminal-subpage-hero)
.cms-section-content,

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-services-grid__intro,

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-process__intro,

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-benefits__intro,

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-seo-chaos__text {
    max-width: 760px;
}


/*
|--------------------------------------------------------------------------
| SERVICES GRID — równe karty
|--------------------------------------------------------------------------
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-services-grid__grid {
    align-items: stretch;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-service-card {
    height: 100%;

    min-height: 190px;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-service-card__title {
    min-height: 2.5em;
}


/*
|--------------------------------------------------------------------------
| PROCESS — równe wysokości i spokojniejszy rytm
|--------------------------------------------------------------------------
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-process__steps {
    align-items: stretch;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-process__step {
    display: flex;
    flex-direction: column;

    height: 100%;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-process__body {
    flex: 1 1 auto;

    width: 100%;

    min-height: 215px;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-process__title {
    min-height: 2.5em;
}


/*
|--------------------------------------------------------------------------
| BENEFITS — równe kafelki
|--------------------------------------------------------------------------
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-benefits__grid {
    align-items: stretch;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-benefit-card {
    height: 100%;

    min-height: 106px;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-benefit-card__content {
    min-width: 0;
}


/*
|--------------------------------------------------------------------------
| SEO WITHOUT CHAOS — odrobinę lżejszy panel
|--------------------------------------------------------------------------
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-seo-chaos__panel {
    gap: 50px;

    padding:
        48px
        52px;

    border-radius: 22px;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-seo-chaos__heading {
    max-width: 620px;

    font-size:
        clamp(
            34px,
            3.8vw,
            48px
        );
}


/*
|--------------------------------------------------------------------------
| FAQ — czytelniejsza szerokość
|--------------------------------------------------------------------------
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-faq,

body.cms-template-terminal:has(.terminal-subpage-hero)
.cms-faq {
    max-width: 960px;
}

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-faq__items,

body.cms-template-terminal:has(.terminal-subpage-hero)
.cms-faq__items {
    max-width: 900px;
}


/*
|--------------------------------------------------------------------------
| TABLET
|--------------------------------------------------------------------------
*/

@media (max-width: 980px) {

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-section {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-section h2 {
        max-width: 720px;

        font-size:
            clamp(
                32px,
                5vw,
                44px
            );
    }

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-process__body {
        min-height: 0;
    }

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-process__title {
        min-height: 0;
    }

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-service-card__title {
        min-height: 0;
    }

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-seo-chaos__panel {
        gap: 32px;

        padding:
            40px
            38px;
    }

}


/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media (max-width: 640px) {

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-section h2 {
        max-width: 100%;

        font-size:
            clamp(
                30px,
                9vw,
                38px
            );

        line-height: 1.08;
    }

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-service-card {
        min-height: 0;
    }

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-benefit-card {
        min-height: 0;
    }

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-seo-chaos__panel {
        padding:
            30px
            20px;

        border-radius: 18px;
    }

}

/* ==========================================================================
   TERMINAL — FAQ CENTERING FIX 01
   ========================================================================== */

/*
|--------------------------------------------------------------------------
| Przywrócenie pełnej szerokości sekcji FAQ
|--------------------------------------------------------------------------
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-faq,

body.cms-template-terminal:has(.terminal-subpage-hero)
.cms-faq {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/*
|--------------------------------------------------------------------------
| Wycentrowanie zawartości FAQ
|--------------------------------------------------------------------------
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-faq > .cms-container,

body.cms-template-terminal:has(.terminal-subpage-hero)
.cms-faq > .cms-container {
    width:
        min(
            960px,
            calc(100% - 48px)
        ) !important;

    max-width: 960px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/*
|--------------------------------------------------------------------------
| Accordion
|--------------------------------------------------------------------------
*/

body.cms-template-terminal:has(.terminal-subpage-hero)
.terminal-faq__items,

body.cms-template-terminal:has(.terminal-subpage-hero)
.cms-faq__items {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 640px) {

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .terminal-faq > .cms-container,

    body.cms-template-terminal:has(.terminal-subpage-hero)
    .cms-faq > .cms-container {
        width:
            calc(100% - 28px) !important;
    }

}
