:root {
    --ap-primary: #081f7a;
    --ap-primary-dark: #061653;
    --ap-primary-2: #173fbf;
    --ap-accent: #59d7e6;
    --ap-mint: #9fe5d0;
    --ap-ink: #16213a;
    --ap-muted: #61708f;
    --ap-line: #dbe5ff;
    --ap-bg: #f4f7ff;
    --ap-surface: #ffffff;
    --ap-success: #198754;
    --ap-radius: 18px;
    --ap-shadow: 0 18px 48px rgba(8, 31, 122, 0.1);
}

/* AssistPro module information architecture · compact editorial scale */
.assistpro-module-catalog { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 96px 0; }
.assistpro-module-catalog .assistpro-section-heading { align-items: start; }
.assistpro-module-catalog .assistpro-section-heading > p { max-width: 520px; margin: 5px 0 0; color: var(--sf-muted); font-size: 15px; line-height: 1.75; }
.assistpro-module-catalog .assistpro-section-heading h2,
.assistpro-connectivity h2 { font-size: clamp(34px, 4vw, 54px); }
.assistpro-module-grid { margin-top: 42px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.assistpro-module-grid > a { min-height: 268px; padding: 25px; display: flex; flex-direction: column; color: inherit; text-decoration: none; border: 1px solid var(--sf-line); border-radius: 20px; background: #fff; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.assistpro-module-grid > a:hover { transform: translateY(-3px); border-color: #9fc7e7; box-shadow: 0 18px 45px rgba(16,35,63,.09); }
.assistpro-module-grid > a > span { color: var(--sf-blue); font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.assistpro-module-grid > a > small { margin-top: 26px; color: #007b67; font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.assistpro-module-grid h3 { margin: 8px 0 10px; color: var(--sf-blue-dark); font-size: clamp(23px, 2vw, 30px); line-height: 1.02; letter-spacing: -.04em; }
.assistpro-module-grid p { margin: 0; color: var(--sf-muted); font-size: 13px; line-height: 1.65; }
.assistpro-module-grid > a > strong { margin-top: auto; padding-top: 20px; color: var(--sf-blue); font-size: 12px; }
.assistpro-module-grid > a > strong i { float: right; font-style: normal; }
.assistpro-connectivity { padding: 92px max(24px, calc((100% - 1180px) / 2)); display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; color: #fff; background: #0d2140; }
.assistpro-connectivity h2 { margin: 0; color: #fff; line-height: 1; letter-spacing: -.05em; }
.assistpro-connectivity > div > p:last-child { max-width: 490px; margin: 22px 0 0; color: #bed1e2; font-size: 14px; line-height: 1.75; }
.assistpro-connectivity ol { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; list-style: none; }
.assistpro-connectivity li { min-height: 170px; padding: 22px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.045); }
.assistpro-connectivity li span { color: #70d7c1; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.assistpro-connectivity li strong { margin: 25px 0 8px; display: block; font-size: 18px; }
.assistpro-connectivity li p { margin: 0; color: #bed1e2; font-size: 12px; line-height: 1.6; }

.assistpro-module-page main { overflow: hidden; }
.assistpro-breadcrumb { width: min(1180px, calc(100% - 48px)); margin: 26px auto 0; display: flex; align-items: center; gap: 9px; color: #75879a; font-size: 11px; }
.assistpro-breadcrumb a { color: var(--sf-blue); font-weight: 800; text-decoration: none; }
.assistpro-breadcrumb strong { color: var(--sf-blue-dark); }
.assistpro-module-hero { width: min(1180px, calc(100% - 48px)); min-height: 510px; margin: 0 auto; padding: 62px 0 72px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 72px; }
.assistpro-module-hero h1 { max-width: 760px; margin: 0; color: var(--sf-blue-dark); font-size: clamp(43px, 5.6vw, 72px); line-height: .94; letter-spacing: -.06em; }
.assistpro-module-hero > div > strong { max-width: 680px; margin-top: 22px; display: block; color: var(--sf-blue); font-size: clamp(20px, 2.2vw, 28px); line-height: 1.14; letter-spacing: -.03em; }
.assistpro-module-hero > div > p:not(.storefront-kicker) { max-width: 670px; margin: 18px 0 0; color: var(--sf-muted); font-size: 16px; line-height: 1.7; }
.assistpro-module-hero aside { min-height: 360px; padding: 34px; display: flex; flex-direction: column; justify-content: flex-end; border-radius: 26px; color: #fff; background: radial-gradient(circle at 85% 15%, rgba(107,227,202,.36), transparent 32%), linear-gradient(145deg, #0874cb, #071f51 72%); box-shadow: 0 26px 60px rgba(9,35,78,.16); }
.assistpro-module-hero aside > span { color: #88eed5; font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.assistpro-module-hero aside > strong { margin: 9px 0 25px; font-size: 28px; line-height: 1; letter-spacing: -.035em; }
.assistpro-module-hero aside ul { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; list-style: none; }
.assistpro-module-hero aside li { padding: 11px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.06); font-size: 11px; font-weight: 750; }
.assistpro-module-intro { padding: 80px max(24px, calc((100% - 1080px) / 2)); display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; background: #f2f7fb; }
.assistpro-module-intro h2,
.assistpro-module-process h2,
.assistpro-module-capabilities h2,
.assistpro-module-links h2,
.assistpro-related h2 { margin: 0; color: var(--sf-blue-dark); font-size: clamp(30px, 3.4vw, 46px); line-height: 1; letter-spacing: -.05em; }
.assistpro-module-intro article p { margin: 0 0 18px; color: #34495e; font-size: 17px; line-height: 1.8; }
.assistpro-module-process { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 92px 0; }
.assistpro-module-process > div { max-width: 650px; }
.assistpro-module-process ol { margin: 38px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; list-style: none; }
.assistpro-module-process li { min-height: 250px; padding: 24px; border: 1px solid var(--sf-line); border-radius: 18px; background: #fff; }
.assistpro-module-process li span { color: var(--sf-blue); font-size: 10px; font-weight: 900; }
.assistpro-module-process h3 { margin: 62px 0 10px; color: var(--sf-blue-dark); font-size: 23px; letter-spacing: -.04em; }
.assistpro-module-process li p { margin: 0; color: var(--sf-muted); font-size: 13px; line-height: 1.65; }
.assistpro-module-capabilities { padding: 86px max(24px, calc((100% - 1180px) / 2)); display: grid; grid-template-columns: 1fr 1fr; gap: 15px; background: #eef4f8; }
.assistpro-module-capabilities > div { padding: 36px; border-radius: 22px; background: #fff; }
.assistpro-module-capabilities ul,
.assistpro-module-links ul { margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; }
.assistpro-module-capabilities li { min-height: 62px; padding: 14px 12px; display: flex; align-items: center; border-bottom: 1px solid var(--sf-line); color: #243c54; font-size: 13px; font-weight: 750; }
.assistpro-module-evidence li { gap: 9px; }
.assistpro-module-evidence li span { color: #008d73; font-size: 16px; }
.assistpro-module-links { padding: 86px max(24px, calc((100% - 1080px) / 2)); display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.assistpro-module-links li { padding: 13px 0; border-bottom: 1px solid var(--sf-line); color: #30475e; font-size: 14px; font-weight: 750; }
.assistpro-module-links li::before { content: '→'; margin-right: 9px; color: var(--sf-blue); }
.assistpro-related { padding: 86px max(24px, calc((100% - 1180px) / 2)); color: #fff; background: #0d2140; }
.assistpro-related > div:first-child { display: flex; align-items: end; justify-content: space-between; }
.assistpro-related h2 { color: #fff; }
.assistpro-related > div:last-child { margin-top: 34px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.assistpro-related a { min-height: 220px; padding: 24px; display: flex; flex-direction: column; color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(255,255,255,.045); }
.assistpro-related a small { color: #83e6d1; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.assistpro-related a strong { margin: 30px 0 10px; font-size: 22px; letter-spacing: -.035em; }
.assistpro-related a span { color: #bed1e2; font-size: 12px; line-height: 1.6; }
.assistpro-related a i { margin-top: auto; color: #83e6d1; font-style: normal; }
.assistpro-module-cta { padding: 90px max(24px, calc((100% - 940px) / 2)); text-align: center; color: #fff; background: linear-gradient(120deg, #0669b9, #0584c8); }
.assistpro-module-cta .storefront-kicker { color: #bdf4e8; }
.assistpro-module-cta h2 { max-width: 820px; margin: 0 auto 28px; font-size: clamp(34px, 4.2vw, 52px); line-height: 1; letter-spacing: -.055em; }
@media (max-width: 920px) {
    .assistpro-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .assistpro-connectivity,
    .assistpro-module-hero,
    .assistpro-module-intro,
    .assistpro-module-capabilities,
    .assistpro-module-links { grid-template-columns: 1fr; }
    .assistpro-module-process ol { grid-template-columns: 1fr 1fr; }
    .assistpro-module-hero { gap: 32px; }
    .assistpro-module-hero aside { min-height: 300px; }
}
@media (max-width: 620px) {
    .assistpro-module-catalog,
    .assistpro-module-process,
    .assistpro-module-hero,
    .assistpro-breadcrumb { width: min(100% - 28px, 1180px); }
    .assistpro-module-grid,
    .assistpro-connectivity ol,
    .assistpro-module-process ol,
    .assistpro-related > div:last-child { grid-template-columns: 1fr; }
    .assistpro-module-grid > a { min-height: 230px; }
    .assistpro-module-hero { padding-top: 44px; }
    .assistpro-module-hero h1 { font-size: clamp(38px, 13vw, 54px); }
    .assistpro-module-hero aside ul,
    .assistpro-module-capabilities ul,
    .assistpro-module-links ul { grid-template-columns: 1fr; }
    .assistpro-module-process li { min-height: 210px; }
}

/* AVA Visual Studio: governed image generation, version review and campaign handoff. */
.ava-visual-heading {
    align-items: flex-end;
    background: linear-gradient(135deg, #000f9f 0%, #08206f 62%, #0b264f 100%);
    border-radius: 24px;
    color: #fff;
    display: flex;
    justify-content: space-between;
    margin-bottom: 22px;
    overflow: hidden;
    padding: clamp(26px, 5vw, 58px);
    position: relative;
}

.ava-visual-heading::after {
    background: radial-gradient(circle, rgba(149, 225, 191, .55) 0 4px, transparent 5px) 0 0 / 38px 38px;
    content: "";
    inset: 0 0 0 58%;
    opacity: .28;
    pointer-events: none;
    position: absolute;
}

.ava-visual-heading > * {
    position: relative;
    z-index: 1;
}

.ava-visual-heading h1 {
    color: #fff;
    font-size: clamp(2.3rem, 6vw, 5.4rem);
    letter-spacing: -.055em;
    margin: 4px 0 12px;
}

.ava-visual-heading p:not(.eyebrow) {
    color: rgba(255, 255, 255, .82);
    font-size: 1.05rem;
    max-width: 720px;
}

.ava-visual-metrics {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 22px;
}

.ava-visual-metrics article {
    background: #fff;
    border: 1px solid #dce3ef;
    border-radius: 17px;
    display: grid;
    gap: 6px;
    min-height: 104px;
    padding: 20px;
}

.ava-visual-metrics span,
.ava-visual-metrics small,
.ava-brief-cost span,
.ava-brief-cost small {
    color: #68758b;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ava-visual-metrics strong {
    color: #00188f;
    font-size: 1.35rem;
}

.ava-visual-notice {
    align-items: flex-start;
    border-radius: 14px;
    display: grid;
    gap: 4px;
    margin: 16px 0;
    padding: 15px 18px;
}

.ava-visual-notice.warning {
    background: #fff8de;
    border: 1px solid #f0d879;
    color: #63520b;
}

.ava-visual-notice.error {
    background: #fff0f1;
    border: 1px solid #efb9bf;
    color: #772832;
}

.ava-visual-create {
    align-items: start;
    display: grid;
    gap: 26px;
    grid-template-columns: minmax(240px, .64fr) minmax(0, 1.5fr);
    margin: 34px 0 46px;
}

.ava-visual-intro {
    padding: 28px 8px 0 4px;
    position: sticky;
    top: 20px;
}

.ava-visual-intro h2,
.ava-visual-library h2 {
    color: #141b2d;
    font-size: clamp(1.8rem, 4vw, 3.25rem);
    letter-spacing: -.045em;
    line-height: 1;
    margin: 8px 0 16px;
}

.ava-visual-form {
    border-top: 5px solid #000f9f;
    margin: 0;
}

.ava-visual-submit {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: 20px;
}

.ava-visual-submit p {
    color: #68758b;
    font-size: .84rem;
    margin: 0;
    max-width: 390px;
}

[data-ava-exact-text] {
    transition: opacity .2s ease;
}

[data-ava-exact-text].is-disabled {
    opacity: .48;
}

.ava-visual-library {
    display: grid;
    gap: 20px;
    margin-bottom: 48px;
}

.ava-brief-card {
    background: #fff;
    border: 1px solid #dce3ef;
    border-radius: 22px;
    box-shadow: 0 16px 48px rgba(18, 31, 60, .08);
    padding: clamp(20px, 4vw, 34px);
}

.ava-brief-card > header {
    align-items: start;
    display: flex;
    gap: 28px;
    justify-content: space-between;
}

.ava-brief-card h3 {
    color: #00188f;
    font-size: clamp(1.45rem, 3vw, 2.2rem);
    letter-spacing: -.035em;
    margin: 10px 0 7px;
}

.ava-brief-card header p {
    color: #4e5c73;
    margin: 0;
    max-width: 760px;
}

.ava-brief-meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.ava-brief-meta > span:not(.status-pill) {
    color: #68758b;
    font-size: .8rem;
    font-weight: 700;
}

.ava-brief-cost {
    display: grid;
    flex: 0 0 auto;
    gap: 5px;
    text-align: right;
}

.ava-brief-cost strong {
    color: #00188f;
    font-size: 1.25rem;
}

.ava-linked-record {
    background: #eff9f5;
    border-left: 4px solid #1b9a72;
    color: #30574b;
    margin: 14px 0 0;
    padding: 10px 13px;
}

.ava-asset-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 24px;
}

.ava-asset-card {
    background: #f5f7fb;
    border: 2px solid transparent;
    border-radius: 16px;
    margin: 0;
    overflow: hidden;
}

.ava-asset-card.is-selected {
    border-color: #18a779;
    box-shadow: 0 0 0 4px rgba(24, 167, 121, .12);
}

.ava-asset-card > a {
    background: #e9edf5;
    display: block;
}

.ava-asset-card img {
    aspect-ratio: 16 / 9;
    display: block;
    height: auto;
    object-fit: contain;
    width: 100%;
}

.ava-asset-card figcaption {
    display: grid;
    gap: 9px;
    padding: 14px;
}

.ava-asset-card figcaption > div {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.ava-asset-card figcaption p,
.ava-asset-card figcaption small {
    color: #68758b;
    font-size: .78rem;
    margin: 0;
}

.ava-selected-badge {
    background: #dff7ed;
    border-radius: 999px;
    color: #087454;
    font-size: .7rem;
    font-weight: 800;
    padding: 5px 8px;
    text-transform: uppercase;
}

.ava-visual-action {
    border-top: 1px solid #e1e6ef;
    margin-top: 22px;
    padding-top: 18px;
}

.ava-visual-action > summary {
    color: #00188f;
    cursor: pointer;
    font-weight: 800;
    list-style-position: inside;
}

.ava-edit-action {
    background: linear-gradient(135deg, #f7f9ff, #f3fbff);
    border: 1px solid #cdd8f3;
    border-radius: 16px;
    padding: 18px;
}

.ava-edit-action > summary span,
.ava-edit-action > summary small {
    display: block;
}

.ava-edit-action > summary span {
    font-size: 1rem;
}

.ava-edit-action > summary small {
    color: #60708b;
    font-size: .78rem;
    font-weight: 500;
    margin: 5px 0 0 22px;
}

.ava-edit-note {
    align-items: flex-start;
    background: #fff;
    border-left: 4px solid #00aee9;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 16px;
    padding: 12px 14px;
}

.ava-edit-note span {
    color: #56647a;
    font-size: .82rem;
}

.ava-visual-action form {
    margin-top: 16px;
}

.ava-visual-action form .button {
    align-self: end;
    justify-self: start;
}

.campaign-action {
    background: linear-gradient(135deg, #f2fbf7, #f7f9fd);
    border: 1px solid #cde8dc;
    border-radius: 14px;
    padding: 18px;
}

@media (max-width: 1000px) {
    .ava-visual-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ava-visual-create {
        grid-template-columns: 1fr;
    }

    .ava-visual-intro {
        position: static;
    }

    .ava-asset-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .ava-visual-heading,
    .ava-brief-card > header,
    .ava-visual-submit {
        align-items: flex-start;
        flex-direction: column;
    }

    .ava-visual-metrics,
    .ava-asset-grid {
        grid-template-columns: 1fr;
    }

    .ava-brief-cost {
        text-align: left;
    }
}

/* Centro de conocimiento: lectura clara y enlaces internos compactos. */
.structured-theme-resources .structured-page-hero{background:linear-gradient(135deg,#eef9f5 0%,#f5f7ff 60%,#fff 100%)}
.structured-theme-resources .structured-page-visual{background:#001489;color:#fff}
.structured-theme-resources .structured-page-children-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.structured-theme-resources .structured-page-children-grid>a{min-height:230px;align-content:space-between;background:#fff;border-color:#dce4ef}
.structured-theme-resources .structured-page-children-grid>a strong{font-size:clamp(23px,2.2vw,34px);line-height:1.05}
.storefront-content-page .content-public-layout article h2{margin:2.1em 0 .55em;color:#001489;font-size:clamp(26px,3vw,40px);line-height:1.08;letter-spacing:-.025em}
.storefront-content-page .content-public-layout article h3{margin:1.8em 0 .45em;font-size:1.45rem}
.content-source-note{margin-top:48px;padding:22px 24px;border-left:4px solid #00a97b;background:#f1f7f5;border-radius:0 16px 16px 0}
.content-source-note strong{color:#001489}.content-source-note p{margin:.45em 0;font-weight:800}.content-source-note small{color:#586174}
@media(max-width:760px){.structured-theme-resources .structured-page-children-grid{grid-template-columns:1fr}.structured-theme-resources .structured-page-children-grid>a{min-height:190px}}

/* Product titles need one more specificity level than the shared hero rule. */
.storefront-hero.storefront-product-hero h1 {
    max-width: 900px;
    font-size: clamp(38px, 4.2vw, 54px);
    line-height: 1;
    letter-spacing: -.045em;
}
@media (max-width: 680px) {
    .storefront-hero.storefront-product-hero h1 {
        font-size: clamp(33px, 9.5vw, 42px);
        line-height: 1.04;
    }
}

/* Corporate header shell: compact, elevated and inherited by every public page. */
.storefront-header-shell {
    position: sticky;
    z-index: 1000;
    top: 0;
    padding: 7px 0 10px;
    border-bottom: 1px solid rgba(217, 225, 236, .72);
    background: rgba(247, 249, 252, .9);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.storefront-utility-bar {
    width: min(1420px, calc(100% - 48px));
    min-height: 27px;
    margin: 0 auto 5px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.storefront-utility-bar > span {
    color: #66748a;
    font-size: .64rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.storefront-utility-bar nav {
    display: flex;
    align-items: center;
    gap: 18px;
}

.storefront-utility-bar a {
    color: #4f5e74;
    font-size: .68rem;
    font-weight: 750;
    text-decoration: none;
}

.storefront-utility-bar a:hover { color: #001489; }

.storefront-utility-bar .storefront-utility-whatsapp {
    position: relative;
    padding-left: 13px;
    color: #007858;
}

.storefront-utility-bar .storefront-utility-whatsapp::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 7px;
    height: 7px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #00a97b;
    box-shadow: 0 0 0 4px rgba(0,169,123,.12);
}

.storefront-page header.storefront-global-header {
    width: min(1420px, calc(100% - 48px));
    min-height: 70px;
    margin: 0 auto;
    padding: 0 10px 0 19px;
    border: 1px solid #dfe6ef;
    border-radius: 18px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 12px 34px rgba(7,26,117,.09), 0 2px 8px rgba(7,26,117,.04);
}

.storefront-page .storefront-global-header .storefront-brand,
.storefront-page .storefront-global-header .storefront-brand img {
    width: 154px;
}

.storefront-page .storefront-global-header .storefront-brand {
    min-height: 48px;
}

.storefront-page .storefront-global-header .storefront-primary-nav {
    gap: clamp(14px, 1.55vw, 23px);
}

.storefront-page .storefront-global-header .storefront-primary-nav > a,
.storefront-page .storefront-global-header .storefront-mega-trigger > summary {
    padding: 24px 0;
    color: #455269;
    font-size: .76rem;
    letter-spacing: .01em;
}

.storefront-page .storefront-global-header .storefront-primary-nav > a:hover,
.storefront-page .storefront-global-header .storefront-mega-trigger > summary:hover {
    color: #001489;
}

.storefront-page .storefront-global-header .storefront-primary-nav > a.is-active::after,
.storefront-page .storefront-global-header .storefront-mega-trigger.is-active > summary::before {
    right: 35%;
    bottom: 15px;
    left: 35%;
    height: 3px;
    background: #00a97b;
}

.storefront-page .storefront-global-header .storefront-header-cta {
    min-height: 42px;
    padding: 0 18px;
    border: 0;
    color: #fff;
    background: linear-gradient(135deg, #001489, #071568);
    box-shadow: 0 9px 22px rgba(0,20,137,.2);
}

.storefront-page .storefront-global-header .storefront-header-cta:hover {
    color: #fff;
    background: linear-gradient(135deg, #00106f, #00075f);
    box-shadow: 0 12px 28px rgba(0,20,137,.28);
}

.storefront-page .storefront-product-menu,
.storefront-page .storefront-assistpro-menu {
    top: 119px;
}

.storefront-section-nav {
    top: 0;
    border-radius: 0 0 14px 14px;
    box-shadow: 0 8px 24px rgba(7,26,117,.045);
}

@media (max-width: 980px) {
    .storefront-header-shell { padding-top: 5px; }
    .storefront-utility-bar { width: calc(100% - 28px); }
    .storefront-page header.storefront-global-header { width: calc(100% - 28px); min-height: 66px; padding-left: 15px; }
    .storefront-page .storefront-global-header .storefront-brand,
    .storefront-page .storefront-global-header .storefront-brand img { width: 138px; }
}

@media (max-width: 640px) {
    .storefront-header-shell { padding: 6px 0; }
    .storefront-utility-bar { display: none; }
    .storefront-page header.storefront-global-header { min-height: 62px; border-radius: 15px; }
    .storefront-page .storefront-global-header .storefront-brand,
    .storefront-page .storefront-global-header .storefront-brand img { width: 122px; }
    .storefront-page .storefront-global-header .storefront-mobile-menu > summary { padding: 9px 11px; border: 1px solid #d9e2ec; border-radius: 10px; color: #001489; background: #f7f9fc; }
}

/* Production shell: official identity and one inherited corporate footer. */
.storefront-global-header .storefront-brand {
    flex: 0 0 auto;
    width: 178px;
    min-height: 54px;
}

.storefront-global-header .storefront-brand img {
    display: block;
    width: 178px;
    height: auto;
    aspect-ratio: 738 / 259;
    object-fit: contain;
}

.storefront-page footer.storefront-footer.storefront-global-footer {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 64px max(24px, calc((100% - 1320px) / 2)) 0;
    display: block;
    color: #fff;
    background: radial-gradient(circle at 10% 10%, rgba(0, 169, 123, .18), transparent 32%), linear-gradient(145deg, #071568 0%, #001489 55%, #00075f 100%);
}

.storefront-global-footer .storefront-footer-grid {
    display: grid;
    grid-template-columns: minmax(280px, 1.5fr) repeat(2, minmax(150px, .65fr)) minmax(230px, .9fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: start;
    padding-bottom: 50px;
}

.storefront-global-footer section,
.storefront-global-footer nav {
    display: grid;
    align-content: start;
    gap: 11px;
}

.storefront-global-footer .storefront-footer-brand > a:first-child {
    width: 220px;
    margin-bottom: 13px;
}

.storefront-global-footer .storefront-footer-brand img {
    display: block;
    width: 220px;
    height: auto;
    aspect-ratio: 738 / 258;
    object-fit: contain;
}

.storefront-global-footer strong {
    color: #fff;
    font-size: .84rem;
    letter-spacing: .02em;
}

.storefront-global-footer .storefront-footer-brand > strong {
    font-size: 1.18rem;
}

.storefront-global-footer p {
    max-width: 390px;
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: .84rem;
    line-height: 1.7;
}

.storefront-page .storefront-global-footer a,
.storefront-page .storefront-global-footer span {
    color: rgba(255, 255, 255, .72);
    font-size: .78rem;
    font-weight: 650;
    text-decoration: none;
}

.storefront-page .storefront-global-footer a:hover,
.storefront-page .storefront-global-footer a:focus-visible {
    color: #95e1bf;
}

.storefront-global-footer .storefront-footer-contact {
    width: fit-content;
    margin-top: 8px;
    color: #95e1bf;
    font-weight: 850;
}

.storefront-global-footer .storefront-footer-bottom {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-top: 1px solid rgba(255, 255, 255, .18);
}

@media (max-width: 980px) {
    .storefront-global-header .storefront-brand,
    .storefront-global-header .storefront-brand img { width: 150px; }
    .storefront-global-footer .storefront-footer-grid { grid-template-columns: minmax(260px, 1.3fr) repeat(2, minmax(150px, 1fr)); }
    .storefront-global-footer .storefront-footer-connect { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
    .storefront-global-header .storefront-brand,
    .storefront-global-header .storefront-brand img { width: 124px; }
    .storefront-page footer.storefront-footer.storefront-global-footer { padding: 46px 24px 0; }
    .storefront-global-footer .storefront-footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
    .storefront-global-footer .storefront-footer-brand,
    .storefront-global-footer .storefront-footer-connect { grid-column: 1 / -1; }
    .storefront-global-footer .storefront-footer-bottom { min-height: 94px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 4px; }
}

/* Knowledge center: compact storefront styling for Blog, Glossary and entries. */
body.editorial-index-page,
body.storefront-content-page {
    background: #f4f7fb;
}

.editorial-index-page .editorial-index-main {
    width: min(1320px, calc(100% - 48px));
    padding: 24px 0 88px;
}

.editorial-index-page .editorial-index-hero {
    position: relative;
    min-height: 260px;
    padding: clamp(34px, 5vw, 64px);
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr);
    align-items: center;
    gap: clamp(40px, 7vw, 100px);
    overflow: hidden;
    border: 0;
    border-radius: 28px;
    color: #fff;
    background: radial-gradient(circle at 94% 12%, rgba(149, 225, 191, .25), transparent 32%), linear-gradient(135deg, #071568, #001489 62%, #00075f);
    text-transform: none;
    box-shadow: 0 24px 60px rgba(7, 21, 104, .16);
}

.editorial-index-page .editorial-index-title,
.editorial-index-page .editorial-index-intro {
    position: relative;
    z-index: 1;
}

.editorial-index-page .editorial-index-hero .storefront-kicker {
    margin: 0 0 14px;
    color: #95e1bf;
    font-size: .72rem;
    letter-spacing: .17em;
}

.editorial-index-page .editorial-index-hero h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.35rem, 4.25vw, 4rem);
    line-height: .98;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.editorial-index-page .editorial-index-intro {
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 12px 18px;
    align-items: center;
}

.editorial-index-page .editorial-hero-mark {
    grid-row: 1 / span 2;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 18px;
    color: #071568;
    background: #95e1bf;
    font-size: 1.5rem;
    font-weight: 900;
}

.editorial-index-page .editorial-index-intro p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: .98rem;
    line-height: 1.65;
}

.editorial-index-page .editorial-index-intro > strong {
    color: #fff;
    font-size: .82rem;
}

.editorial-index-page .editorial-index-intro > strong small {
    margin-left: 4px;
    color: rgba(255,255,255,.62);
    font: inherit;
    font-weight: 650;
}

.editorial-index-page .editorial-tabs {
    gap: 7px;
    padding: 24px 0 14px;
}

.editorial-index-page .editorial-tabs a {
    padding: 8px 15px;
    border-color: #d9e1ec;
    font-size: .76rem;
}

.editorial-index-page .editorial-topics {
    align-items: center;
    margin-bottom: 22px;
}

.editorial-index-page .editorial-topics > strong {
    margin-right: 4px;
    color: #526078;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.editorial-index-page .editorial-card-grid {
    gap: 14px;
}

.editorial-index-page .editorial-card {
    min-height: 270px;
    padding: 24px;
    border-color: #dfe6ef;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(7, 26, 117, .045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.editorial-index-page .editorial-card:hover {
    transform: translateY(-3px);
    border-color: #bfcddd;
    box-shadow: 0 18px 40px rgba(7, 26, 117, .09);
}

.editorial-index-page .editorial-card.is-featured {
    min-height: 320px;
    padding: 32px;
    border: 0;
    background: linear-gradient(135deg, #001489, #071568);
    box-shadow: 0 20px 46px rgba(7, 21, 104, .17);
}

.editorial-index-page .editorial-card h2 {
    margin: 18px 0 12px;
    font-size: clamp(1.35rem, 1.85vw, 1.75rem);
    line-height: 1.12;
}

.editorial-index-page .editorial-card.is-featured h2 {
    max-width: 720px;
    font-size: clamp(2rem, 3.1vw, 2.7rem);
    line-height: 1.02;
}

.editorial-index-page .editorial-card p {
    font-size: .9rem;
    line-height: 1.6;
}

.editorial-index-page .editorial-card footer {
    padding-top: 20px;
}

.editorial-mode-glosario .editorial-card {
    min-height: 210px;
}

.editorial-mode-glosario .editorial-card h2 {
    font-size: clamp(1.22rem, 1.7vw, 1.55rem);
}

.editorial-index-page .editorial-bottom-cta {
    margin-top: 40px;
    padding: 28px 32px;
    border: 1px solid #cfe4dc;
    border-radius: 18px;
    background: linear-gradient(135deg, #e9f6f1, #f6f9fc);
}

.editorial-index-page .editorial-bottom-cta h2 {
    font-size: clamp(1.75rem, 2.5vw, 2.35rem);
}

.storefront-content-page .content-public-main {
    padding: 24px 0 88px;
}

.storefront-content-page .content-public-main > header {
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    padding: clamp(36px, 5vw, 62px);
    border-radius: 28px;
    color: #fff;
    background: radial-gradient(circle at 92% 10%, rgba(149,225,191,.24), transparent 32%), linear-gradient(135deg, #071568, #001489 64%, #00075f);
    box-shadow: 0 24px 60px rgba(7,21,104,.15);
}

.storefront-content-page .content-public-breadcrumb {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 30px;
}

.storefront-content-page .content-public-breadcrumb a,
.storefront-content-page .content-public-breadcrumb span {
    color: rgba(255,255,255,.7);
    font-size: .74rem;
    font-weight: 750;
    text-decoration: none;
}

.storefront-content-page .content-public-breadcrumb a:hover {
    color: #95e1bf;
}

.storefront-content-page .content-public-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 210px;
    gap: clamp(36px, 7vw, 100px);
    align-items: end;
}

.storefront-content-page .content-public-main > header .storefront-kicker {
    color: #95e1bf;
}

.storefront-content-page .content-public-main > header h1 {
    max-width: 920px;
    margin: .22em 0 .28em;
    color: #fff;
    font-size: clamp(2.35rem, 4.4vw, 4.15rem);
    line-height: .98;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.storefront-content-page .content-public-main > header p:not(.storefront-kicker) {
    max-width: 800px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 1rem;
    line-height: 1.65;
}

.storefront-content-page .content-public-hero-grid > aside {
    display: grid;
    gap: 4px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 16px;
    background: rgba(255,255,255,.08);
}

.storefront-content-page .content-public-hero-grid > aside span {
    color: #95e1bf;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.storefront-content-page .content-public-hero-grid > aside strong { font-size: 1.15rem; }
.storefront-content-page .content-public-hero-grid > aside small { color: rgba(255,255,255,.62); font-size: .72rem; }

.storefront-content-page .content-public-layout {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 56px 0 0;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 34px;
}

.storefront-content-page .content-public-layout > article {
    padding: clamp(30px, 4vw, 52px);
    border: 1px solid #dfe6ef;
    border-radius: 20px;
    background: #fff;
    font-size: 1rem;
    line-height: 1.78;
    box-shadow: 0 14px 36px rgba(7,26,117,.05);
}

.storefront-content-page .content-public-layout article h2 {
    margin: 1.9em 0 .55em;
    font-size: clamp(1.55rem, 2vw, 2rem);
    font-weight: 750;
    line-height: 1.1;
}

.storefront-content-page .content-public-layout article h2:first-child { margin-top: 0; }
.storefront-content-page .content-public-layout article h3 { font-size: 1.3rem; }

.storefront-content-page .content-public-layout > article > p {
    margin: 0 0 1.25em;
    color: #3f4b60;
    font-weight: 400;
}

.storefront-content-page .content-public-layout > article > ul {
    display: grid;
    gap: 9px;
    margin: 0 0 1.5em;
    padding: 0;
    list-style: none;
}

.storefront-content-page .content-public-layout > article > ul li {
    position: relative;
    padding: 11px 14px 11px 36px;
    border: 1px solid #e0e7ef;
    border-radius: 10px;
    background: #f8fafc;
    color: #344158;
}

.storefront-content-page .content-public-layout > article > ul li::before {
    content: '✓';
    position: absolute;
    left: 14px;
    color: #008b66;
    font-weight: 900;
}

.storefront-content-page .content-public-layout > aside {
    top: 20px;
    gap: 11px;
    padding: 24px;
    border: 1px solid #dfe6ef;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(7,26,117,.05);
}

.storefront-content-page .content-public-layout > aside h2 {
    font-size: 1.5rem;
    line-height: 1.08;
}

.storefront-content-page .content-public-back {
    margin-bottom: 12px;
    padding-bottom: 12px !important;
    color: #001489;
    font-size: .76rem;
    font-weight: 850;
    text-decoration: none;
}

.storefront-content-page .content-source-note {
    margin-top: 42px;
    padding: 20px;
    border: 1px solid #cfe4dc;
    border-radius: 14px;
    background: #eff8f4;
}

@media (max-width: 900px) {
    .editorial-index-page .editorial-index-hero,
    .storefront-content-page .content-public-hero-grid {
        grid-template-columns: 1fr;
    }
    .editorial-index-page .editorial-index-intro { max-width: 650px; }
    .storefront-content-page .content-public-hero-grid > aside { max-width: 320px; }
    .storefront-content-page .content-public-layout { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .editorial-index-page .editorial-index-main,
    .storefront-content-page .content-public-main > header,
    .storefront-content-page .content-public-layout {
        width: calc(100% - 24px);
    }
    .editorial-index-page .editorial-index-hero,
    .storefront-content-page .content-public-main > header {
        padding: 30px 24px;
        border-radius: 22px;
    }
    .editorial-index-page .editorial-index-hero h1,
    .storefront-content-page .content-public-main > header h1 {
        font-size: clamp(2.2rem, 11vw, 3.25rem);
    }
    .editorial-index-page .editorial-index-intro { grid-template-columns: 50px 1fr; }
    .editorial-index-page .editorial-hero-mark { width: 50px; height: 50px; border-radius: 14px; }
    .editorial-index-page .editorial-card.is-featured { min-height: 290px; padding: 25px; }
    .editorial-index-page .editorial-card.is-featured h2 { font-size: clamp(1.8rem, 8vw, 2.35rem); }
    .editorial-index-page .editorial-bottom-cta { padding: 25px; }
    .storefront-content-page .content-public-layout { padding-top: 28px; }
    .storefront-content-page .content-public-layout > article { padding: 26px 22px; }
}

/* Compact editorial indexes: content first, with one clear visual hierarchy. */
.editorial-index-page { background: #f5f7fa; }
.editorial-index-main {
    width: min(1440px, 90vw);
    margin: 0 auto;
    padding: 46px 0 96px;
}
.editorial-index-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .55fr);
    gap: clamp(40px, 7vw, 110px);
    align-items: end;
    padding: 38px 0 32px;
    border-bottom: 1px solid #d9e0e9;
}
.editorial-index-hero h1 {
    max-width: 900px;
    margin: .14em 0 0;
    font-size: clamp(40px, 4.6vw, 66px);
    line-height: .99;
    letter-spacing: -.05em;
}
.editorial-index-hero > div:last-child p {
    margin: 0;
    color: #4e5869;
    font-size: 1.05rem;
    line-height: 1.62;
}
.editorial-index-hero > div:last-child span {
    display: inline-block;
    margin-top: 15px;
    color: #007b5b;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.editorial-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 24px 0 16px;
}
.editorial-tabs a {
    padding: 9px 16px;
    border: 1px solid #cfd7e3;
    border-radius: 999px;
    background: #fff;
    color: #222b3a;
    font-size: .82rem;
    font-weight: 850;
    text-decoration: none;
}
.editorial-tabs a.is-active {
    border-color: #001489;
    background: #001489;
    color: #fff;
}
.editorial-topics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 26px;
}
.editorial-topics span {
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 7px 11px;
    border-radius: 8px;
    background: #e7f1ee;
    color: #00684d;
    font-size: .73rem;
    font-weight: 850;
}
.editorial-topics small {
    padding: 1px 6px;
    border-radius: 99px;
    background: #fff;
}
.editorial-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.editorial-card {
    display: flex;
    flex-direction: column;
    min-height: 306px;
    padding: 27px;
    border: 1px solid #dce3ec;
    border-radius: 18px;
    background: #fff;
}
.editorial-card.is-featured {
    grid-column: span 2;
    min-height: 378px;
    padding: 37px;
    border-color: transparent;
    background: linear-gradient(135deg, #001489, #06145f);
    color: #fff;
}
.editorial-card-meta {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: #008564;
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.editorial-card.is-featured .editorial-card-meta { color: #8de3ca; }
.editorial-card h2 {
    margin: 24px 0 14px;
    font-size: clamp(23px, 2.25vw, 33px);
    line-height: 1.05;
    letter-spacing: -.035em;
}
.editorial-card h2 a { color: inherit; text-decoration: none; }
.editorial-card.is-featured h2 {
    max-width: 850px;
    font-size: clamp(34px, 3.8vw, 54px);
    line-height: 1;
}
.editorial-card p { margin: 0; color: #586174; line-height: 1.62; }
.editorial-card.is-featured p {
    max-width: 760px;
    color: #dce5ff;
    font-size: 1.04rem;
}
.editorial-card footer {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
    padding-top: 26px;
    color: #697386;
    font-size: .76rem;
    font-weight: 800;
}
.editorial-card footer a { color: #001489; text-decoration: none; }
.editorial-card.is-featured footer,
.editorial-card.is-featured footer a { color: #fff; }
.editorial-mode-glosario .editorial-card { min-height: 246px; }
.editorial-mode-glosario .editorial-card h2 { font-size: clamp(21px, 1.9vw, 28px); }
.editorial-bottom-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-top: 54px;
    padding: 35px 40px;
    border-radius: 20px;
    background: #e7f3ef;
}
.editorial-bottom-cta h2 {
    margin: .18em 0;
    font-size: clamp(29px, 2.7vw, 43px);
    line-height: 1.05;
    letter-spacing: -.04em;
}
.editorial-bottom-cta p { margin: 0; }
@media (max-width: 980px) {
    .editorial-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .editorial-index-hero {
        grid-template-columns: minmax(0, 1fr) minmax(240px, .6fr);
        gap: 38px;
    }
}
@media (max-width: 680px) {
    .editorial-index-main {
        width: min(100% - 34px, 1440px);
        padding: 24px 0 68px;
    }
    .editorial-index-hero {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 26px 0;
    }
    .editorial-index-hero h1 { font-size: clamp(36px, 11vw, 48px); }
    .editorial-card-grid { grid-template-columns: 1fr; }
    .editorial-card.is-featured {
        grid-column: span 1;
        min-height: 350px;
        padding: 28px;
    }
    .editorial-card.is-featured h2 { font-size: clamp(31px, 9vw, 42px); }
    .editorial-bottom-cta {
        align-items: flex-start;
        flex-direction: column;
        padding: 29px;
    }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    color: var(--ap-ink);
    background:
        radial-gradient(circle at 92% 0%, rgba(89, 215, 230, 0.16), transparent 30rem),
        var(--ap-bg);
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

.topbar {
    height: 72px;
    padding: 0 clamp(24px, 5vw, 72px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(220, 227, 235, 0.85);
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(16px);
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--ap-ink);
    text-decoration: none;
}

.brand-mark {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: white;
    background: var(--ap-primary);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.brand strong {
    color: var(--ap-primary);
}

.environment,
.module-state {
    padding: 6px 10px;
    border: 1px solid var(--ap-line);
    border-radius: 999px;
    color: var(--ap-muted);
    background: var(--ap-surface);
    font-size: 12px;
    font-weight: 700;
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.main-nav a {
    padding: 9px 12px;
    color: var(--ap-muted);
    border-radius: 9px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
}

.main-nav a:hover {
    color: var(--ap-primary);
    background: #f1f3ff;
}

.account {
    display: flex;
    align-items: center;
    gap: 14px;
}

.account > span {
    display: grid;
    text-align: right;
    font-size: 13px;
}

.account small {
    color: var(--ap-muted);
}

main {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 72px 0;
}

.hero {
    display: grid;
    grid-template-columns: 1.6fr 0.7fr;
    gap: 56px;
    align-items: end;
    padding: 24px 0 56px;
}

.eyebrow {
    margin: 0 0 14px;
    color: var(--ap-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

h1 {
    max-width: 780px;
    margin: 0;
    font-size: clamp(38px, 4vw, 46px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.035em;
}

.hero-copy {
    max-width: 720px;
    margin: 24px 0 0;
    color: var(--ap-muted);
    font-size: 16px;
    line-height: 1.55;
}

.status-card {
    padding: 22px;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius);
    background: var(--ap-surface);
    box-shadow: var(--ap-shadow);
}

.status-card div {
    display: grid;
    gap: 4px;
}

.status-card span:last-child {
    color: var(--ap-muted);
    font-size: 13px;
}

.status-dot {
    width: 13px;
    height: 13px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #d39b23;
    box-shadow: 0 0 0 7px rgba(211, 155, 35, 0.13);
}

.status-dot.is-ok {
    background: var(--ap-success);
    box-shadow: 0 0 0 7px rgba(25, 135, 84, 0.13);
}

.module-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.module-card {
    min-height: 270px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius);
    background: rgba(255, 255, 255, 0.82);
    color: inherit;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.channel-notice { display: flex; gap: 12px; align-items: baseline; margin: 0 0 24px; padding: 16px 18px; border: 1px solid #d8e0ff; border-radius: 12px; background: #f5f7ff; color: var(--ap-muted); }
.channel-notice strong { color: var(--ap-primary); }
.channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.channel-card { min-height: 254px; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: 24px; border: 1px solid var(--ap-line); border-radius: var(--ap-radius); background: var(--ap-surface); box-shadow: var(--ap-shadow); }
.channel-card h2 { margin: 0 0 10px; font-size: 23px; }
.channel-card p:not(.eyebrow) { margin: 0; color: var(--ap-muted); line-height: 1.55; }
.channel-card-header { display: flex; justify-content: space-between; align-items: center; }
.channel-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: var(--ap-primary); color: #fff; font-weight: 900; }
.channel-next-step { padding-top: 16px; border-top: 1px solid var(--ap-line); color: var(--ap-muted); font-size: 13px; line-height: 1.5; }
.channel-next-step strong { color: var(--ap-text); }
.channel-flow { margin-top: 48px; }
@media (max-width: 720px) { .channel-grid { grid-template-columns: 1fr; } .channel-notice { display: grid; gap: 5px; } }

a.module-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--ap-shadow);
}

.module-card.featured {
    color: white;
    border-color: var(--ap-primary);
    background: linear-gradient(145deg, var(--ap-primary), var(--ap-primary-dark));
    box-shadow: var(--ap-shadow);
}

.module-number {
    color: var(--ap-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.module-card h2 {
    margin: 56px 0 12px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.module-card p {
    margin: 0 0 24px;
    color: var(--ap-muted);
    line-height: 1.55;
}

.module-card.featured p,
.module-card.featured .module-number {
    color: rgba(255, 255, 255, 0.72);
}

.module-state {
    align-self: flex-start;
    margin-top: auto;
}

.module-state.active {
    color: var(--ap-primary);
    border-color: white;
}

.flow {
    margin-top: 64px;
    padding: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius);
    background: var(--ap-surface);
}

.flow h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.flow-steps {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--ap-primary);
    font-weight: 800;
}

.flow-steps span {
    padding: 12px 14px;
    border-radius: 10px;
    background: #f1f3ff;
}

.flow-steps i {
    color: var(--ap-accent);
    font-style: normal;
}

.button {
    min-height: 48px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--ap-line);
    border-radius: 14px;
    background: var(--ap-surface);
    color: var(--ap-ink);
    cursor: pointer;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
}

.button.primary {
    color: white;
    border-color: var(--ap-primary);
    background: var(--ap-primary);
}

.button.primary:hover {
    background: var(--ap-primary-dark);
}

.button.ghost:hover {
    border-color: var(--ap-accent);
    color: var(--ap-primary);
}

.button.small {
    min-height: 38px;
    padding: 0 14px;
    font-size: 13px;
}

.page-heading {
    margin-bottom: 34px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

.page-heading.compact {
    align-items: center;
}

.heading-actions {
    display: flex;
    gap: 8px;
}

.page-heading h1 {
    font-size: clamp(34px, 4vw, 46px);
}

.page-heading p:last-child {
    margin: 14px 0 0;
    color: var(--ap-muted);
}

.flash,
.form-error {
    width: min(1180px, calc(100% - 40px));
    margin: 18px auto 0;
    padding: 14px 17px;
    border: 1px solid #a8d5bc;
    border-radius: 10px;
    color: #125d37;
    background: #eefaf3;
}

.form-error {
    margin: 0 0 22px;
    width: 100%;
    color: #9c2635;
    border-color: #edb4bc;
    background: #fff1f3;
}

.empty-state {
    min-height: 390px;
    padding: 60px 24px;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    border: 1px dashed #bdc9d7;
    border-radius: var(--ap-radius);
    background: rgba(255, 255, 255, 0.74);
}

.empty-state h1,
.empty-state h2 {
    margin: 16px 0 8px;
}

.empty-state p {
    max-width: 560px;
    margin: 0 0 24px;
    color: var(--ap-muted);
}

.empty-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: white;
    background: var(--ap-primary);
    font-weight: 900;
}

.table-shell {
    overflow: hidden;
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius);
    background: var(--ap-surface);
}

.catalog-summary {
    margin-bottom: 18px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.catalog-summary article {
    padding: 18px 20px;
    display: grid;
    gap: 4px;
    border: 1px solid var(--ap-line);
    border-radius: 12px;
    background: var(--ap-surface);
}

.catalog-summary strong {
    color: var(--ap-primary);
    font-size: 26px;
}

.catalog-summary span,
.muted {
    color: var(--ap-muted);
}

.catalog-filters {
    margin-bottom: 18px;
    padding: 18px;
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 190px auto auto;
    gap: 12px;
    align-items: end;
    border: 1px solid var(--ap-line);
    border-radius: 12px;
    background: var(--ap-surface);
}

.table-link {
    color: var(--ap-primary);
    text-decoration: none;
}

.table-link:hover {
    text-decoration: underline;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 16px 18px;
    text-align: left;
    border-bottom: 1px solid var(--ap-line);
}

th {
    color: var(--ap-muted);
    background: #f8fafc;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

td strong,
td small {
    display: block;
}

td small {
    margin-top: 3px;
    color: var(--ap-muted);
}

.status-pill {
    padding: 5px 9px;
    border-radius: 999px;
    color: #70520d;
    background: #fff5d8;
    font-size: 12px;
    font-weight: 800;
    text-transform: capitalize;
}

.product-form {
    display: grid;
    gap: 18px;
}

.form-section {
    padding: 30px;
    display: grid;
    grid-template-columns: 0.7fr 1.5fr;
    gap: 42px;
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius);
    background: var(--ap-surface);
}

.section-intro {
    display: flex;
    gap: 16px;
}

.section-intro > span {
    color: var(--ap-accent);
    font-size: 12px;
    font-weight: 900;
}

.section-intro h2 {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 800;
}

.section-intro p {
    margin: 0;
    color: var(--ap-muted);
    line-height: 1.55;
}

.form-grid,
.form-stack {
    display: grid;
    gap: 18px;
}

.form-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

label {
    display: grid;
    gap: 8px;
    color: var(--ap-ink);
    font-size: 14px;
    font-weight: 800;
}

label small {
    color: var(--ap-muted);
    font-weight: 500;
}

label.checkbox-label {
    align-items: flex-start;
    background: #f7f9fd;
    border: 1px solid #dce3ee;
    border-radius: 14px;
    display: flex;
    font-weight: 600;
    gap: 10px;
    line-height: 1.45;
    padding: 12px 14px;
}

label.checkbox-label input[type="checkbox"] {
    flex: 0 0 auto;
    height: 18px;
    min-height: 0;
    padding: 0;
    width: 18px;
}

input,
select,
textarea {
    width: 100%;
    min-height: 52px;
    padding: 12px 16px;
    border: 1px solid #c8d2de;
    border-radius: 16px;
    color: var(--ap-ink);
    background: white;
    font: inherit;
    font-size: 15px;
    font-weight: 400;
}

input:focus,
select:focus,
textarea:focus {
    outline: 3px solid rgba(115, 123, 202, 0.2);
    border-color: var(--ap-primary);
}

textarea {
    min-height: 96px;
    resize: vertical;
    line-height: 1.55;
}

.input-prefix {
    display: flex;
    align-items: center;
    border: 1px solid #c8d2de;
    border-radius: 16px;
    overflow: hidden;
}

.input-prefix:focus-within {
    outline: 3px solid rgba(115, 123, 202, 0.2);
    border-color: var(--ap-primary);
}

.input-prefix span {
    align-self: stretch;
    padding: 0 12px;
    display: flex;
    align-items: center;
    color: var(--ap-muted);
    background: #f4f6f9;
    font-weight: 600;
}

.input-prefix input {
    border: 0;
    border-radius: 0;
}

.input-prefix input:focus {
    outline: 0;
}

.form-actions {
    padding: 20px 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
}

.form-actions p {
    color: var(--ap-muted);
    font-size: 13px;
}

.product-overview {
    display: grid;
    grid-template-columns: 1.35fr 0.65fr;
    gap: 18px;
}

.detail-card {
    padding: 28px;
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius);
    background: var(--ap-surface);
}

.detail-card h2 {
    margin: 0 0 22px;
    font-size: 24px;
}

.detail-card-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.detail-list {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.detail-list div,
.seo-preview div {
    display: grid;
    gap: 5px;
}

.detail-list dt,
.seo-preview dt {
    color: var(--ap-muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.detail-list dd,
.seo-preview dd {
    margin: 0;
    font-weight: 700;
}

.identifier-list {
    display: grid;
    gap: 10px;
}

.identifier-list div {
    padding: 13px;
    display: grid;
    gap: 4px;
    border-radius: 10px;
    background: #f6f8fb;
}

.identifier-list span,
.identifier-list small {
    color: var(--ap-muted);
    font-size: 12px;
    text-transform: capitalize;
}

.content-card {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    gap: 42px;
}

.body-copy {
    color: var(--ap-muted);
    line-height: 1.65;
}

.seo-preview {
    margin: 0;
    padding: 20px;
    display: grid;
    gap: 18px;
    border-radius: 12px;
    background: #f6f8fb;
}

.auth-page {
    min-height: 100vh;
}

.auth-shell {
    min-height: 100vh;
    width: min(1120px, calc(100% - 40px));
    padding: 50px 0;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 70px;
    align-items: center;
}

.auth-panel h1 {
    margin-top: 24px;
}

.auth-brand {
    margin-bottom: 80px;
}

.login-card {
    padding: 34px;
    border: 1px solid var(--ap-line);
    border-radius: var(--ap-radius);
    background: var(--ap-surface);
    box-shadow: var(--ap-shadow);
}

.login-card h2 {
    margin: 0 0 8px;
    color: var(--ap-primary);
    font-size: 38px;
    font-weight: 900;
    line-height: 1;
}

.login-card .button.primary {
    min-height: 56px;
    border-radius: 18px;
    font-size: 17px;
}

.login-card > p {
    margin: 0 0 28px;
    color: var(--ap-muted);
}

@media (max-width: 900px) {
    .hero {
        grid-template-columns: 1fr;
    }

    .module-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

    .main-nav {
        display: none;
    }

    .form-section,
    .auth-shell,
    .product-overview,
    .content-card {
        grid-template-columns: 1fr;
    }

    .catalog-filters {
        grid-template-columns: 1fr 1fr;
    }

    .auth-brand {
        margin-bottom: 42px;
    }
}

@media (max-width: 580px) {
    main {
        width: min(100% - 28px, 1180px);
        padding-top: 40px;
    }

    .environment {
        display: none;
    }

    .module-grid {
        grid-template-columns: 1fr;
    }

    .account > span {
        display: none;
    }

    .page-heading,
    .form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .heading-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .form-grid.two {
        grid-template-columns: 1fr;
    }

    .catalog-summary,
    .catalog-filters,
    .detail-list {
        grid-template-columns: 1fr;
    }

    .form-section {
        padding: 22px;
        gap: 28px;
    }

    .table-shell {
        overflow-x: auto;
    }

    .flow-steps {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .flow-steps i {
        transform: rotate(90deg);
        align-self: center;
    }
}

.brand-layout {
    display: grid;
    grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.5fr);
    gap: 24px;
    align-items: start;
}

.brand-form {
    position: sticky;
    top: 92px;
}

.brand-form .button {
    margin-top: 18px;
}

.brand-catalog {
    min-width: 0;
}

.brand-catalog .catalog-summary {
    margin-bottom: 16px;
}

.brand-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.brand-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 180px;
    padding: 20px;
    border: 1px solid var(--ap-line);
    border-radius: 12px;
    background: var(--ap-surface);
}

.brand-card h2 {
    margin: 8px 0 3px;
    color: var(--ap-primary);
    font-size: 12px;
}

.brand-card code {
    color: var(--ap-muted);
    font-size: 8px;
}

.brand-card p {
    margin: 0;
    color: var(--ap-muted);
    font-size: 9px;
}

.brand-card > a {
    margin-top: auto;
    font-weight: 700;
}

.brand-aliases {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.brand-aliases span {
    padding: 4px 8px;
    border-radius: 999px;
    background: #edf5fd;
    color: var(--ap-muted);
    font-size: 8px;
}

@media (max-width: 900px) {
    .brand-layout {
        grid-template-columns: 1fr;
    }

    .brand-form {
        position: static;
    }
}

@media (max-width: 580px) {
    .brand-grid {
        grid-template-columns: 1fr;
    }
}

.brand-heading {
    align-items: end;
}

.brand-heading-note {
    max-width: 420px;
    padding: 14px 16px;
    border-left: 4px solid #ff8a4c;
    border-radius: 8px;
    background: #fff7ef;
    color: #5f4a3d;
}

.brand-heading-note strong,
.brand-heading-note span {
    display: block;
}

.brand-heading-note strong {
    margin-bottom: 4px;
    color: var(--ap-primary);
}

.brand-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 22px;
}

.brand-summary article {
    padding: 15px 18px;
    border: 1px solid var(--ap-line);
    border-radius: 10px;
    background: var(--ap-surface);
}

.brand-summary strong,
.brand-summary span {
    display: block;
}

.brand-summary strong {
    color: var(--ap-primary);
    font-size: 20px;
}

.brand-summary span {
    color: var(--ap-muted);
    font-size: 9px;
}

.brand-workflow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 10px 14px;
    border-radius: 10px;
    background: #eef4ff;
    color: var(--ap-primary);
    font-size: 9px;
    font-weight: 700;
}

.brand-card {
    min-height: 240px;
}

.brand-card-excluded {
    border-color: #e6c6bd;
    background: #fff9f7;
}

.brand-card-top,
.brand-card-actions,
.brand-progress > div,
.brand-edit-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.brand-card-top {
    align-items: flex-start;
}

.brand-editorial-state {
    color: var(--ap-muted);
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
}

.brand-commercial-represented,
.brand-commercial-commercialized {
    background: #e7f7ee;
    color: #216a45;
}

.brand-commercial-reference_only {
    background: #fff4d7;
    color: #7d5c11;
}

.brand-commercial-excluded {
    background: #f9e3df;
    color: #8b3024;
}

.brand-progress {
    display: grid;
    gap: 5px;
}

.brand-progress span,
.brand-progress strong {
    font-size: 8px;
}

.brand-progress progress,
.brand-editorial-score progress {
    width: 100%;
    height: 8px;
    accent-color: var(--ap-primary);
}

.brand-card-actions {
    margin-top: auto;
}

.brand-segment-count {
    color: var(--ap-primary);
    font-size: 8px;
    font-weight: 700;
}

.button.small {
    padding: 7px 11px;
    font-size: 8px;
}

.form-grid.single {
    grid-template-columns: 1fr;
}

.brand-edit-heading {
    align-items: center;
}

.brand-edit-actions {
    flex-wrap: wrap;
}

.brand-edit-actions form {
    margin: 0;
}

.brand-policy-alert {
    display: flex;
    gap: 12px;
    margin: 0 0 20px;
    padding: 14px 18px;
    border: 1px solid #e6c6bd;
    border-radius: 10px;
    background: #fff5f2;
    color: #6d352d;
}

.brand-policy-alert strong {
    color: #8b3024;
    white-space: nowrap;
}

.brand-edit-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.brand-editorial-score {
    position: sticky;
    top: 92px;
    display: grid;
    gap: 9px;
    padding: 20px;
    border: 1px solid var(--ap-line);
    border-radius: 12px;
    background: var(--ap-surface);
}

.brand-editorial-score > span {
    color: var(--ap-muted);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.brand-editorial-score > strong {
    color: var(--ap-primary);
    font-size: 30px;
}

.brand-editorial-score p,
.brand-editorial-score small {
    margin: 0;
    color: var(--ap-muted);
    font-size: 8px;
    line-height: 1.5;
}

.brand-editorial-form {
    display: grid;
    gap: 18px;
}

.brand-editorial-form .form-section {
    margin: 0;
}

.brand-segment-stack {
    display: grid;
    gap: 10px;
}

.brand-segment-editor {
    border: 1px solid var(--ap-line);
    border-radius: 10px;
    background: #fbfcff;
}

.brand-segment-editor summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 15px;
    color: var(--ap-primary);
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
}

.brand-segment-editor summary small {
    color: var(--ap-muted);
    font-size: 8px;
    text-transform: uppercase;
}

.brand-segment-editor[open] summary {
    border-bottom: 1px solid var(--ap-line);
}

.brand-segment-editor > .form-grid {
    padding: 16px;
}

.brand-segment-image-fields {
    display: grid;
    grid-template-columns: minmax(180px, .6fr) minmax(0, 1.4fr);
    gap: 16px;
    padding: 14px;
    border-radius: 10px;
    background: #eef4ff;
}

.brand-segment-image-fields > img {
    width: 100%;
    height: 100%;
    min-height: 210px;
    object-fit: cover;
    border-radius: 8px;
    background: #fff;
}

@media (max-width: 720px) {
    .brand-segment-image-fields {
        grid-template-columns: 1fr;
    }
}

.full-width {
    grid-column: 1 / -1;
}

.check-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 9px;
}

.check-row input {
    width: auto;
}

.brand-approval-section {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    align-items: end;
}

.brand-approval-section .section-intro {
    grid-column: 1 / -1;
}

@media (max-width: 900px) {
    .brand-heading,
    .brand-edit-heading {
        align-items: stretch;
    }

    .brand-summary,
    .brand-edit-layout {
        grid-template-columns: 1fr;
    }

    .brand-editorial-score {
        position: static;
    }
}

@media (max-width: 620px) {
    .brand-summary {
        grid-template-columns: 1fr;
    }

    .brand-workflow {
        align-items: stretch;
        flex-direction: column;
    }

    .brand-workflow i {
        transform: rotate(90deg);
        align-self: center;
    }

    .brand-approval-section {
        grid-template-columns: 1fr;
    }
}

.inline-action {
    margin: 0;
}

.review-provenance {
    margin-bottom: 10px;
    padding: 11px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid #bcd6ef;
    border-radius: 12px;
    background: #edf6fd;
}

.review-provenance > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.review-provenance strong {
    color: var(--ap-primary);
    font-size: 10px;
}

.review-provenance small,
.review-provenance a {
    color: var(--ap-muted);
    font-size: 8px;
}

.review-provenance a {
    color: var(--ap-primary);
    font-weight: 800;
}

.editorial-review-form {
    display: grid;
    gap: 10px;
}

.review-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(250px, .55fr);
    gap: 10px;
    align-items: start;
}

.full-span {
    grid-column: 1 / -1;
}

.review-evidence {
    display: grid;
    gap: 10px;
}

.review-evidence > div {
    padding: 14px;
    border: 1px solid var(--ap-line);
    border-radius: 12px;
    background: var(--ap-surface);
}

.review-evidence ul {
    margin: 8px 0 0;
    padding-left: 17px;
    color: var(--ap-muted);
    font-size: 9px;
}

.review-evidence li + li {
    margin-top: 6px;
}

.review-evidence .review-warnings {
    border-color: #efd59a;
    background: #fffbef;
}

.review-source-actions {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 10px;
}

.review-source-actions form {
    display: grid;
    justify-items: end;
    gap: 3px;
}

.research-dossier {
    display: grid;
    gap: 18px;
    border-color: #9fc8ec;
    background: #f8fbff;
}

.research-dossier h3,
.research-dossier h4 {
    margin: 0 0 8px;
    color: var(--ap-primary);
}

.research-seo,
.research-images,
.research-sources {
    padding: 14px;
    border: 1px solid var(--ap-line);
    border-radius: 12px;
    background: var(--ap-surface);
}

.research-image-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.research-image-grid article {
    display: grid;
    align-content: start;
    gap: 7px;
    padding: 10px;
    border: 1px solid var(--ap-line);
    border-radius: 10px;
}

.research-image-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    border-radius: 8px;
    background: #fff;
}

.research-specifications {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 8px;
}

.research-specifications > div {
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid var(--ap-line);
    border-radius: 9px;
    background: #fff;
}

.research-sources ul {
    columns: 2;
    margin-bottom: 0;
}

.research-usage {
    margin: 0;
    color: var(--ap-muted);
    font-size: 9px;
}
@media (max-width: 900px) {
    .review-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 580px) {
    .review-provenance,
    .review-provenance > div {
        align-items: flex-start;
        flex-direction: column;
    }
}

.family-layout {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.5fr);
    gap: 24px;
    align-items: start;
}

.family-form {
    position: sticky;
    top: 92px;
}

.family-form .button {
    margin-top: 18px;
}

.family-catalog {
    min-width: 0;
}

.family-catalog .catalog-summary {
    margin-bottom: 16px;
}

.family-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.family-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 190px;
    padding: 20px;
    border: 1px solid var(--ap-line);
    border-radius: 12px;
    background: var(--ap-surface);
}

.family-card-heading,
.family-card footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.family-card-heading small,
.family-card code,
.family-card footer {
    color: var(--ap-muted);
    font-size: 8px;
}

.family-card h2 {
    margin: 2px 0 0;
    color: var(--ap-primary);
    font-size: 12px;
}

.family-card p {
    margin: 0;
    color: var(--ap-muted);
    font-size: 9px;
}

.family-card footer {
    margin-top: auto;
    padding-top: 9px;
    border-top: 1px solid #edf1f6;
}

@media (max-width: 900px) {
    .family-layout {
        grid-template-columns: 1fr;
    }

    .family-form {
        position: static;
    }
}

@media (max-width: 580px) {
    .family-grid {
        grid-template-columns: 1fr;
    }
}

/* Storefront público: consume exclusivamente snapshots comerciales publicados. */
.storefront-page {
    --sf-blue: #000f9f;
    --sf-blue-dark: #00075f;
    --sf-orange: #176b52;
    --sf-green: #95e1bf;
    --sf-ink: #191817;
    --sf-muted: #545b6a;
    --sf-line: #dce3eb;
    margin: 0;
    color: var(--sf-ink);
    background: #f7f9fc;
    font-family: "Roboto", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;
}

.storefront-page * {
    box-sizing: border-box;
}

.storefront-nav {
    width: min(1240px, calc(100% - 48px));
    min-height: 74px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.storefront-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--sf-ink);
    text-decoration: none;
}

.storefront-brand > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: white;
    background: var(--sf-blue);
    font-size: 12px;
    font-weight: 900;
}

.storefront-brand strong {
    font-size: 15px;
    letter-spacing: -.02em;
}

.storefront-nav nav {
    display: flex;
    align-items: center;
    gap: 26px;
}

.storefront-nav nav a,
.storefront-footer a {
    color: var(--sf-muted);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.storefront-nav nav a:hover,
.storefront-footer a:hover {
    color: var(--sf-blue);
}

.storefront-main {
    width: auto;
    margin: 0;
    padding: 0;
}

.storefront-button {
    min-height: 44px;
    padding: 0 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.storefront-button:hover {
    transform: translateY(-2px);
}

.storefront-button.primary {
    color: white;
    background: var(--sf-blue);
    box-shadow: 0 10px 24px rgba(7, 86, 165, .22);
}

.storefront-button.primary:hover {
    background: var(--sf-blue-dark);
}

.storefront-button.secondary {
    min-height: 38px;
    color: var(--sf-blue);
    border-color: #b8cee3;
    background: white;
}

.storefront-button.light {
    color: var(--sf-blue-dark);
    background: white;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .15);
}

.storefront-hero {
    position: relative;
    width: min(1240px, calc(100% - 48px));
    min-height: 640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    align-items: center;
    gap: 66px;
}

.storefront-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 520px;
    height: 520px;
    top: 40px;
    right: -100px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(31, 127, 206, .13), rgba(31, 127, 206, 0) 68%);
}

.storefront-kicker {
    margin: 0 0 14px;
    color: var(--sf-blue);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.storefront-hero h1 {
    margin: 0;
    color: var(--sf-ink);
    font-size: clamp(58px, 8vw, 104px);
    font-weight: 900;
    line-height: .9;
    letter-spacing: -.065em;
}
.storefront-product-hero h1 {
    max-width: 900px;
    font-size: clamp(38px, 4.2vw, 54px);
    line-height: 1;
    letter-spacing: -.045em;
}

.storefront-lead {
    max-width: 630px;
    margin: 28px 0 0;
    color: var(--sf-muted);
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.55;
}

.storefront-actions {
    margin-top: 34px;
    display: flex;
    align-items: center;
    gap: 22px;
}

.storefront-text-link {
    color: var(--sf-ink);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.storefront-text-link span {
    margin-left: 7px;
    color: var(--sf-orange);
}

.storefront-proof {
    margin-top: 48px;
    padding-top: 22px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    border-top: 1px solid var(--sf-line);
}

.storefront-proof span {
    display: grid;
    color: var(--sf-muted);
    font-size: 10px;
    line-height: 1.35;
}

.storefront-proof strong {
    margin-bottom: 4px;
    color: var(--sf-ink);
    font-size: 13px;
}

.storefront-visual {
    position: relative;
    min-height: 500px;
    display: grid;
    place-items: center;
}

.storefront-visual::before {
    content: "";
    position: absolute;
    width: min(430px, 90%);
    aspect-ratio: 1;
    border-radius: 50%;
    background: linear-gradient(145deg, #edf5fc, #fff);
    box-shadow: 0 35px 80px rgba(19, 69, 119, .16);
}

.storefront-visual img {
    position: relative;
    z-index: 2;
    width: min(440px, 92%);
    height: auto;
    border-radius: 20px;
    box-shadow: 0 24px 70px rgba(14, 54, 96, .18);
}

.storefront-orbit {
    position: absolute;
    z-index: 1;
    border: 1px solid rgba(7, 86, 165, .18);
    border-radius: 50%;
}

.orbit-one {
    width: 480px;
    height: 480px;
}

.orbit-two {
    width: 560px;
    height: 560px;
    border-style: dashed;
}

.storefront-status {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 62px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--sf-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 30px rgba(14, 54, 96, .12);
    font-size: 11px;
    font-weight: 800;
}

.storefront-status i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--sf-green);
    box-shadow: 0 0 0 4px rgba(26, 161, 125, .14);
}

.storefront-intro {
    padding: 104px max(24px, calc((100% - 1180px) / 2));
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
    color: white;
    background: var(--sf-blue-dark);
}

.storefront-intro .storefront-kicker,
.storefront-cta .storefront-kicker {
    color: #7ed9eb;
}

.storefront-intro h2,
.storefront-integration h2,
.storefront-cta h2 {
    max-width: 620px;
    margin: 0;
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 850;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.storefront-description {
    padding-top: 24px;
}

.storefront-rich-description h3 {
    margin: 32px 0 10px;
    color: var(--ap-text);
    font-size: 20px;
    line-height: 1.25;
}

.storefront-rich-description h3:first-child { margin-top: 0; }
.storefront-rich-description ul { margin: 0 0 24px; padding-left: 20px; color: var(--ap-muted); line-height: 1.7; }
.storefront-rich-description li + li { margin-top: 5px; }

.storefront-description p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .72);
    font-size: 15px;
    line-height: 1.75;
}

.storefront-capabilities {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 90px 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.storefront-product-detail {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 72px 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.storefront-product-detail article { padding: 28px; border: 1px solid #e6edf5; border-radius: 18px; background: #fff; }
.storefront-product-detail h2 { margin: 8px 0 22px; color: var(--sf-blue-dark); }
.storefront-specifications { margin: 0; }
.storefront-specifications div { display: flex; justify-content: space-between; gap: 24px; padding: 12px 0; border-top: 1px solid #edf1f5; }
.storefront-specifications dt { color: var(--sf-muted); }
.storefront-specifications dd { margin: 0; font-weight: 700; text-align: right; }
.storefront-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.storefront-gallery img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 12px; background: #f3f6f8; }
.storefront-muted { color: var(--sf-muted); }

.storefront-capabilities article {
    min-height: 280px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--sf-line);
    border-radius: 22px;
    background: white;
    box-shadow: 0 18px 50px rgba(16, 35, 63, .06);
}

.storefront-capabilities article > span {
    color: var(--sf-orange);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
}

.storefront-capabilities h3 {
    margin: auto 0 12px;
    font-size: 24px;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.storefront-capabilities p,
.storefront-integration p {
    margin: 0;
    color: var(--sf-muted);
    font-size: 14px;
}

.storefront-integration {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto 90px;
    padding: 70px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 80px;
    overflow: hidden;
    border-radius: 30px;
    background: #eaf3fb;
}

.storefront-integration p {
    margin: 20px 0 28px;
}

.storefront-integration-graphic {
    min-height: 330px;
    display: grid;
    grid-template-columns: 1fr 70px 1.35fr 70px 1fr;
    align-items: center;
}

.storefront-integration-graphic span,
.storefront-integration-graphic strong {
    min-height: 110px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: white;
    box-shadow: 0 16px 35px rgba(7, 54, 111, .1);
    font-size: 15px;
    text-align: center;
}

.storefront-integration-graphic strong {
    min-height: 150px;
    color: white;
    background: var(--sf-blue);
    font-size: 19px;
}

.storefront-integration-graphic i {
    height: 1px;
    background: #94b9da;
}

.storefront-cta {
    padding: 94px 24px;
    display: grid;
    place-items: center;
    color: white;
    background: linear-gradient(125deg, var(--sf-blue), var(--sf-blue-dark));
    text-align: center;
}

.storefront-cta h2 {
    max-width: 900px;
}

.storefront-cta .storefront-button {
    margin-top: 30px;
}

.storefront-footer {
    width: min(1180px, calc(100% - 48px));
    min-height: 118px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.storefront-footer > div {
    display: grid;
}

.storefront-footer span {
    color: var(--sf-muted);
    font-size: 11px;
}

.storefront-whatsapp {
    position: fixed;
    z-index: 20;
    right: 24px;
    bottom: 24px;
    min-height: 52px;
    padding: 7px 18px 7px 7px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 999px;
    color: white;
    background: #168c64;
    box-shadow: 0 14px 36px rgba(12, 74, 60, .3);
    font-size: 12px;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.storefront-whatsapp:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(12, 74, 60, .38);
}

.storefront-whatsapp span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #168c64;
    background: white;
    font-size: 10px;
    font-weight: 900;
}

.storefront-whatsapp strong {
    font-weight: 850;
}

.storefront-missing {
    min-height: 100vh;
    width: min(720px, calc(100% - 40px));
    margin: 0 auto;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
}

.storefront-missing > span {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: white;
    background: var(--sf-blue);
    font-weight: 900;
}

.storefront-missing .storefront-kicker {
    margin: 22px 0 6px;
}

.storefront-missing h1 {
    margin: 0;
    color: var(--sf-ink);
    font-size: clamp(34px, 6vw, 58px);
    line-height: 1;
}

.storefront-missing p:not(.storefront-kicker) {
    color: var(--sf-muted);
}

.assistpro-hero { width: min(1240px, calc(100% - 48px)); min-height: 650px; margin: 0 auto; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 70px; }
.assistpro-hero h1 { margin: 0; color: var(--sf-blue-dark); font-size: clamp(45px, 6vw, 82px); line-height: .94; letter-spacing: -.065em; }.assistpro-hero h1 span { color: var(--sf-blue); }.assistpro-hero > div:first-child > p:not(.storefront-kicker) { max-width: 660px; margin: 28px 0 0; color: var(--sf-muted); font-size: 18px; }
.assistpro-core { position: relative; min-height: 480px; display: grid; place-content: center; overflow: hidden; border-radius: 50%; background: radial-gradient(circle, #0874cb 0 21%, #e8f4ff 22% 34%, transparent 35%), linear-gradient(135deg, #f5faff, #e3f0fb); }.assistpro-core::before { content: ''; position: absolute; inset: 9%; border: 1px dashed #a5c5e1; border-radius: 50%; }.assistpro-core strong { z-index: 1; color: #fff; font-size: clamp(42px, 5vw, 66px); line-height: .8; letter-spacing: -.07em; text-align: center; }.assistpro-core > span { z-index: 1; margin-top: 17px; color: #d8edff; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }.assistpro-core i { position: absolute; padding: 9px 13px; border: 1px solid #d5e4f1; border-radius: 999px; color: var(--sf-blue-dark); background: #fff; box-shadow: 0 12px 28px rgba(16,35,63,.1); font-style: normal; font-size: 11px; font-weight: 900; }.assistpro-core i:nth-of-type(1) { top: 16%; left: 12%; }.assistpro-core i:nth-of-type(2) { top: 9%; right: 16%; }.assistpro-core i:nth-of-type(3) { top: 49%; right: 3%; }.assistpro-core i:nth-of-type(4) { bottom: 13%; right: 19%; }.assistpro-core i:nth-of-type(5) { bottom: 15%; left: 8%; }
.assistpro-proof { padding: 28px max(24px, calc((100% - 1180px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 28px; color: #fff; background: var(--sf-blue-dark); }.assistpro-proof p { max-width: 440px; margin: 0; font-weight: 800; }.assistpro-proof div { display: flex; flex-wrap: wrap; gap: 10px; }.assistpro-proof span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #b9dffb; font-size: 11px; font-weight: 800; }
.assistpro-verticals { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 110px 0; }.assistpro-section-heading { display: grid; grid-template-columns: .75fr 1.25fr; align-items: end; gap: 50px; }.assistpro-section-heading h2, .assistpro-modules h2 { margin: 0; color: var(--sf-blue-dark); font-size: clamp(36px, 4.5vw, 60px); line-height: 1; letter-spacing: -.055em; }.assistpro-vertical-grid { margin-top: 42px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }.assistpro-vertical-grid article { min-height: 255px; padding: 26px; border: 1px solid var(--sf-line); border-radius: 20px; background: #fff; }.assistpro-vertical-grid span { color: var(--sf-blue); font-size: 10px; font-weight: 900; }.assistpro-vertical-grid h3 { margin: 62px 0 10px; color: var(--sf-blue-dark); font-size: 25px; letter-spacing: -.045em; }.assistpro-vertical-grid p, .assistpro-modules p { margin: 0; color: var(--sf-muted); font-size: 13px; line-height: 1.6; }
.assistpro-modules { padding: 96px max(24px, calc((100% - 1180px) / 2)); display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; color: #fff; background: #10233f; }.assistpro-modules h2 { color: #fff; }.assistpro-modules > div > p:not(.storefront-kicker) { margin-top: 20px; color: #bdd2e6; font-size: 16px; }.assistpro-modules ul { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; }.assistpro-modules li { padding: 18px 12px; border-bottom: 1px solid rgba(255,255,255,.14); color: #e9f4fc; font-size: 14px; font-weight: 700; }.assistpro-modules li::before { content: '>'; margin-right: 9px; color: #75d8eb; }.assistpro-cta { padding: 110px max(24px, calc((100% - 1000px) / 2)); text-align: center; color: #fff; background: linear-gradient(120deg, #0565b8, #0a81cd); }.assistpro-cta .storefront-kicker { color: #b5edfa; }.assistpro-cta h2 { max-width: 850px; margin: 0 auto 32px; font-size: clamp(38px, 5vw, 64px); line-height: .98; letter-spacing: -.06em; }
@media (max-width: 850px) { .assistpro-hero, .assistpro-section-heading, .assistpro-modules { grid-template-columns: 1fr; }.assistpro-hero { min-height: auto; padding: 80px 0; gap: 40px; }.assistpro-core { min-height: 410px; }.assistpro-vertical-grid { grid-template-columns: 1fr 1fr; }.assistpro-proof { align-items: flex-start; flex-direction: column; }.assistpro-modules { gap: 36px; }.assistpro-modules ul { grid-template-columns: 1fr; } } @media (max-width: 560px) { .assistpro-vertical-grid { grid-template-columns: 1fr; }.assistpro-core { min-height: 330px; }.assistpro-core i { font-size: 9px; }.assistpro-core i:nth-of-type(1) { left: 3%; }.assistpro-core i:nth-of-type(2) { right: 4%; }.assistpro-core i:nth-of-type(3) { right: 0; }.assistpro-core i:nth-of-type(5) { left: 0; } }

.storefront-home-hero {
    width: min(1240px, calc(100% - 48px));
    min-height: 660px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    align-items: center;
    gap: 72px;
}

.storefront-home-hero h1 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(48px, 6.2vw, 84px);
    font-weight: 900;
    line-height: .94;
    letter-spacing: -.06em;
}

.storefront-home-hero h1 span:first-child {
    color: var(--sf-blue);
}

.storefront-home-hero h1 span:nth-child(3) {
    color: var(--sf-orange);
}

.storefront-home-hero > div:first-child > p:not(.storefront-kicker) {
    max-width: 650px;
    margin: 28px 0 0;
    color: var(--sf-muted);
    font-size: 18px;
}

.home-system-map {
    position: relative;
    min-height: 510px;
    border: 1px solid rgba(7, 86, 165, .11);
    border-radius: 38px;
    background:
        radial-gradient(circle at center, rgba(7, 86, 165, .13), transparent 35%),
        linear-gradient(145deg, #edf5fc, #fff);
    box-shadow: 0 32px 80px rgba(16, 35, 63, .12);
}

.system-center {
    position: absolute;
    z-index: 3;
    inset: 50% auto auto 50%;
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    transform: translate(-50%, -50%);
    border: 9px solid rgba(255, 255, 255, .75);
    border-radius: 50%;
    color: white;
    background: var(--sf-blue);
    box-shadow: 0 15px 35px rgba(7, 86, 165, .28);
    font-size: 17px;
    font-weight: 900;
}

.system-node {
    position: absolute;
    z-index: 2;
    width: 190px;
    padding: 18px 20px;
    display: grid;
    border: 1px solid var(--sf-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 16px 38px rgba(16, 35, 63, .1);
}

.system-node small {
    margin-bottom: 6px;
    color: var(--sf-muted);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.system-node strong {
    font-size: 18px;
}

.system-node span {
    color: var(--sf-muted);
    font-size: 11px;
}

.software-node {
    top: 42px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 4px solid var(--sf-blue);
}

.hardware-node {
    left: 28px;
    bottom: 48px;
    border-top: 4px solid var(--sf-orange);
}

.service-node {
    right: 28px;
    bottom: 48px;
    border-top: 4px solid var(--sf-green);
}

.system-line {
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    width: 55%;
    height: 1px;
    transform-origin: left center;
    background: #9bbbd9;
}

.line-one {
    transform: rotate(31deg);
}

.line-two {
    transform: rotate(149deg);
}

.business-grid {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 34px 0 96px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.business-grid article {
    min-height: 300px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--sf-line);
    border-radius: 22px;
    background: white;
    box-shadow: 0 16px 44px rgba(16, 35, 63, .05);
}

.business-grid article > span {
    color: var(--sf-blue);
    font-size: 10px;
    font-weight: 900;
}

.business-grid article.hardware > span {
    color: var(--sf-orange);
}

.business-grid article.services > span {
    color: var(--sf-green);
}

.business-grid h2 {
    margin: auto 0 12px;
    font-size: 26px;
    line-height: 1;
    letter-spacing: -.04em;
}

.business-grid p {
    margin: 0 0 24px;
    color: var(--sf-muted);
    font-size: 13px;
}

.business-grid a {
    color: var(--sf-blue);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

/* Migración visual Adventech: identidad corporativa y narrativa orientada a soluciones. */
.storefront-home-page {
    background: #fff;
}

.storefront-home-page .storefront-nav {
    min-height: 82px;
}

.storefront-home-page .storefront-brand > span {
    border-radius: 50% 50% 50% 12px;
    background: var(--sf-green);
    color: var(--sf-blue);
    text-transform: uppercase;
}

.storefront-home-page .storefront-brand strong {
    display: grid;
    color: var(--sf-blue);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.045em;
    line-height: .8;
}

.storefront-home-page .storefront-brand small {
    margin-top: 7px;
    color: var(--sf-muted);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .2em;
}

.migration-hero {
    min-height: 640px;
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(520px, 1.04fr);
    align-items: stretch;
    background: linear-gradient(90deg, #fff 0 45%, #eef2f8 45% 100%);
}

.migration-hero-copy {
    width: min(620px, calc(100% - 48px));
    margin-left: max(24px, calc((100vw - 1240px) / 2));
    padding: 76px 42px 70px 0;
    align-self: center;
}

.migration-hero h1 {
    max-width: 710px;
    margin: 0;
    color: var(--sf-ink);
    font-size: clamp(48px, 4.7vw, 68px);
    font-weight: 900;
    letter-spacing: -.065em;
    line-height: .94;
}

.migration-hero h1 span {
    color: var(--sf-blue);
}

.migration-hero-lead {
    max-width: 650px;
    margin: 28px 0 0;
    color: var(--sf-muted);
    font-size: 18px;
    line-height: 1.65;
}

.migration-hero-trust {
    margin: 38px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
}

.migration-hero-trust li {
    padding: 8px 12px;
    border: 1px solid var(--sf-line);
    border-radius: 999px;
    color: var(--sf-blue);
    background: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.migration-hero-visual {
    position: relative;
    min-height: 640px;
    overflow: hidden;
    background-color: #00075f;
    background-image: linear-gradient(90deg, rgba(0,7,95,.2), rgba(0,7,95,0)), url('adventech-social.png');
    background-position: 71% center;
    background-size: auto 100%;
    background-repeat: no-repeat;
}

.migration-hero-visual::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 30%;
    background: linear-gradient(90deg, #fff, transparent);
}

.migration-hero-badge {
    position: absolute;
    right: 38px;
    bottom: 38px;
    width: min(330px, calc(100% - 76px));
    padding: 18px 20px;
    display: grid;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 16px;
    color: #fff;
    background: rgba(0,7,95,.78);
    box-shadow: 0 20px 50px rgba(0,0,0,.2);
    backdrop-filter: blur(12px);
}

.migration-hero-badge small {
    color: var(--sf-green);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.migration-hero-badge strong {
    margin-top: 5px;
    font-size: 15px;
}

.adventech-proof,
.partner-band {
    padding: 27px max(24px, calc((100% - 1180px) / 2));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    color: #fff;
    background: var(--sf-blue);
}

.adventech-proof p,
.partner-band p {
    max-width: 340px;
    margin: 0;
    font-size: 13px;
    font-weight: 900;
}

.adventech-proof div,
.partner-band div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

.adventech-proof span {
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

.problem-section,
.strategic-solutions,
.adventech-difference {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 112px 0;
}

.storefront-home-page .section-intro {
    max-width: 820px;
    display: block;
}

.storefront-home-page .section-intro h2 {
    margin: 0;
    color: var(--sf-ink);
    font-size: clamp(38px, 4.8vw, 64px);
    font-weight: 900;
    letter-spacing: -.06em;
    line-height: .98;
}

.storefront-home-page .split-intro {
    max-width: none;
    display: grid;
    grid-template-columns: 1.1fr .7fr;
    align-items: end;
    gap: 80px;
}

.storefront-home-page .split-intro > p {
    margin: 0;
    color: var(--sf-muted);
    font-size: 16px;
}

.problem-grid,
.difference-grid {
    margin-top: 48px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.problem-grid article,
.difference-grid article {
    min-height: 300px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--sf-line);
    border-radius: 20px;
    background: #fff;
}

.problem-grid article:hover {
    border-color: rgba(0,15,159,.35);
    box-shadow: 0 22px 50px rgba(0,15,159,.08);
    transform: translateY(-3px);
}

.problem-grid article,
.strategic-card {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.problem-grid span,
.difference-grid span {
    color: var(--sf-blue);
    font-size: 10px;
    font-weight: 900;
}

.problem-grid h3,
.difference-grid h3 {
    margin: auto 0 12px;
    color: var(--sf-ink);
    font-size: 24px;
    letter-spacing: -.04em;
    line-height: 1.05;
}

.problem-grid p,
.difference-grid p {
    margin: 0;
    color: var(--sf-muted);
    font-size: 13px;
}

.problem-grid strong {
    margin-top: 24px;
    color: var(--sf-blue);
    font-size: 11px;
}

.strategic-solutions {
    width: auto;
    padding-right: max(24px, calc((100% - 1180px) / 2));
    padding-left: max(24px, calc((100% - 1180px) / 2));
    color: #fff;
    background: #00075f;
}

.strategic-solutions .storefront-kicker {
    color: var(--sf-green);
}

.strategic-solutions .section-intro h2 {
    color: #fff;
}

.strategic-grid {
    margin-top: 48px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.strategic-card {
    min-height: 330px;
    padding: 34px;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 22px;
    background: rgba(255,255,255,.06);
}

.strategic-card:hover {
    border-color: rgba(149,225,191,.62);
    transform: translateY(-3px);
}

.strategic-card.primary-card {
    background: var(--sf-blue);
}

.strategic-card > span {
    color: var(--sf-green);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .11em;
}

.strategic-card h3 {
    max-width: 480px;
    margin: auto 0 14px;
    color: #fff;
    font-size: 31px;
    letter-spacing: -.045em;
    line-height: 1;
}

.strategic-card p {
    max-width: 560px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 14px;
}

.strategic-card a {
    margin-top: 25px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.strategic-card a i {
    color: var(--sf-green);
    font-style: normal;
}

.adventech-difference {
    padding-bottom: 100px;
}

.difference-grid article {
    min-height: 250px;
    background: #f7f9fc;
}

.partner-band {
    color: var(--sf-ink);
    background: var(--sf-green);
}

.partner-band div {
    gap: 24px;
}

.partner-band span {
    color: var(--sf-blue);
    font-size: 14px;
    font-weight: 900;
}

.centered-actions {
    justify-content: center;
}

.light-link,
.light-link:hover {
    color: #fff;
}

.published-products {
    padding: 100px max(24px, calc((100% - 1180px) / 2));
    color: white;
    background: var(--sf-blue-dark);
}

.published-heading {
    margin-bottom: 44px;
    display: grid;
    grid-template-columns: 1fr .8fr;
    align-items: end;
    gap: 70px;
}

.published-heading .storefront-kicker {
    color: #7ed9eb;
}

.published-heading h2,
.solution-method h2 {
    max-width: 680px;
    margin: 0;
    font-size: clamp(36px, 4.5vw, 58px);
    line-height: 1;
    letter-spacing: -.05em;
}

.published-heading > p {
    margin: 0;
    color: rgba(255, 255, 255, .7);
}

.published-grid {
    display: grid;
    gap: 18px;
}

.published-card {
    min-height: 380px;
    padding: 48px;
    display: grid;
    grid-template-columns: 1fr .86fr;
    align-items: center;
    gap: 46px;
    overflow: hidden;
    border-radius: 28px;
    color: var(--sf-ink);
    background: white;
    text-decoration: none;
}

.published-label {
    color: var(--sf-blue);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.published-card h3 {
    margin: 16px 0;
    font-size: clamp(34px, 5vw, 62px);
    line-height: .95;
    letter-spacing: -.055em;
}

.published-card p {
    max-width: 580px;
    color: var(--sf-muted);
}

.published-card strong {
    display: inline-block;
    margin-top: 18px;
    color: var(--sf-blue);
    font-size: 13px;
}

.published-card strong i {
    color: var(--sf-orange);
    font-style: normal;
}

.published-card img {
    width: 100%;
    height: 270px;
    object-fit: contain;
    border-radius: 22px;
    background: #edf5fc;
}

.solution-method {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 108px 0;
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 100px;
}

.solution-method ol {
    margin: 0;
    padding: 0;
    display: grid;
    list-style: none;
}

.solution-method li {
    padding: 24px 0;
    display: grid;
    grid-template-columns: 46px 130px 1fr;
    align-items: baseline;
    border-top: 1px solid var(--sf-line);
}

.solution-method li > span {
    color: var(--sf-orange);
    font-size: 10px;
    font-weight: 900;
}

.solution-method li strong {
    font-size: 18px;
}

.solution-method li p {
    margin: 0;
    color: var(--sf-muted);
    font-size: 13px;
}

.storefront-contact {
    padding: 104px max(24px, calc((100% - 1180px) / 2));
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 88px;
    align-items: start;
    background: #eef4fa;
}

.contact-intro {
    position: sticky;
    top: 32px;
}

.contact-intro h2 {
    max-width: 500px;
    margin: 0;
    font-size: clamp(38px, 4.4vw, 58px);
    line-height: 1;
    letter-spacing: -.05em;
}

.contact-intro > p:not(.storefront-kicker) {
    max-width: 520px;
    margin: 24px 0 0;
    color: var(--sf-muted);
    font-size: 15px;
}

.contact-promise {
    margin-top: 38px;
    display: grid;
    gap: 12px;
}

.contact-promise span {
    padding: 13px 0;
    display: flex;
    gap: 16px;
    border-top: 1px solid #cad9e7;
    color: var(--sf-ink);
    font-size: 13px;
    font-weight: 800;
}

.contact-promise strong {
    color: var(--sf-orange);
    font-size: 10px;
    letter-spacing: .1em;
}

.contact-panel {
    padding: 38px;
    border: 1px solid var(--sf-line);
    border-radius: 26px;
    background: white;
    box-shadow: 0 24px 60px rgba(16, 35, 63, .09);
}

.contact-form {
    display: grid;
    gap: 19px;
}

.contact-field-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.contact-form label:not(.contact-consent) {
    display: grid;
    gap: 7px;
}

.contact-form label > span {
    color: var(--sf-ink);
    font-size: 11px;
    font-weight: 850;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid #cbd8e5;
    border-radius: 10px;
    color: var(--sf-ink);
    background: #fbfcfe;
    font: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.contact-form textarea {
    min-height: 118px;
    resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: var(--sf-blue);
    background: white;
    box-shadow: 0 0 0 3px rgba(7, 86, 165, .11);
}

.contact-consent {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 10px;
    align-items: start;
}

.contact-consent input {
    width: 17px;
    min-height: 17px;
    margin: 2px 0 0;
}

.contact-consent span {
    color: var(--sf-muted);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.45;
}

.contact-form .storefront-button {
    width: fit-content;
    min-width: 210px;
    cursor: pointer;
}

.contact-note {
    color: var(--sf-muted);
    font-size: 10px;
}

.contact-message {
    margin-bottom: 22px;
    padding: 15px 17px;
    display: grid;
    gap: 3px;
    border-radius: 12px;
    font-size: 12px;
}

.contact-message.success {
    color: #0f5e49;
    border: 1px solid #a9dfcf;
    background: #eaf8f3;
}

.contact-message.error {
    color: #913d2e;
    border: 1px solid #efc4bb;
    background: #fff1ed;
}

.contact-honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Escaparate comercial: productos reales, marcas y papel de Adventech. */
.commercial-showcase,
.brand-ecosystem {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 112px 0;
    scroll-margin-top: 24px;
}

.commercial-product-grid {
    margin-top: 52px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.commercial-product-card {
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--sf-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 42px rgba(16, 35, 63, .055);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.commercial-product-card:hover {
    border-color: rgba(0, 15, 159, .32);
    box-shadow: 0 24px 58px rgba(0, 15, 159, .11);
    transform: translateY(-4px);
}

.commercial-product-image {
    position: relative;
    min-height: 285px;
    padding: 54px 28px 22px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 28%, rgba(149, 225, 191, .38), transparent 31%),
        linear-gradient(145deg, #f5f8fc, #e8eef6);
}

.commercial-product-image::after {
    content: '';
    position: absolute;
    right: -70px;
    bottom: -96px;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(0, 15, 159, .14);
    border-radius: 50%;
}

.commercial-product-image > span {
    position: absolute;
    z-index: 2;
    top: 18px;
    left: 18px;
    padding: 7px 10px;
    border: 1px solid rgba(0, 15, 159, .13);
    border-radius: 999px;
    color: var(--sf-blue);
    background: rgba(255, 255, 255, .82);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.commercial-product-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 220px;
    object-fit: contain;
    filter: drop-shadow(0 18px 18px rgba(16, 35, 63, .16));
}

.commercial-product-copy {
    min-height: 315px;
    padding: 26px 26px 28px;
    display: flex;
    flex: 1;
    flex-direction: column;
}

.commercial-product-copy .commercial-product-brand {
    margin: 0;
    color: var(--sf-blue);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.commercial-product-copy h3 {
    margin: 8px 0 12px;
    color: var(--sf-ink);
    font-size: 28px;
    letter-spacing: -.045em;
    line-height: 1;
}

.commercial-product-copy > p:not(.commercial-product-brand) {
    margin: 0;
    color: var(--sf-muted);
    font-size: 13px;
}

.commercial-product-copy > strong {
    margin-top: 18px;
    color: var(--sf-ink);
    font-size: 11px;
}

.commercial-product-copy > small {
    margin-top: 9px;
    color: var(--sf-muted);
    font-size: 10px;
    line-height: 1.45;
}

.commercial-product-copy > a {
    margin-top: auto;
    padding-top: 24px;
    color: var(--sf-blue);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.commercial-product-copy > a i {
    color: var(--sf-orange);
    font-style: normal;
}

.catalog-family-strip {
    margin-top: 20px;
    padding: 24px 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-radius: 18px;
    color: #fff;
    background: var(--sf-blue);
}

.catalog-family-strip p {
    margin: 0;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 900;
}

.catalog-family-strip div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.catalog-family-strip span {
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
}

.brand-ecosystem {
    width: auto;
    padding-right: max(24px, calc((100% - 1180px) / 2));
    padding-left: max(24px, calc((100% - 1180px) / 2));
    color: #fff;
    background: #00075f;
}

.brand-ecosystem .storefront-kicker {
    color: var(--sf-green);
}

.brand-ecosystem .section-intro h2 {
    color: #fff;
}

.brand-ecosystem .split-intro > p {
    color: rgba(255, 255, 255, .72);
}

.relationship-flow {
    margin-top: 52px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr) 28px minmax(0, 1fr) 28px minmax(0, 1fr);
    align-items: stretch;
}

.relationship-flow > article {
    min-width: 0;
    min-height: 235px;
    padding: 26px;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 20px;
    background: rgba(255, 255, 255, .055);
}

.relationship-flow > i {
    display: grid;
    place-items: center;
    color: var(--sf-green);
    font-size: 18px;
    font-style: normal;
}

.relationship-flow article > span {
    color: var(--sf-green);
    font-size: 10px;
    font-weight: 900;
}

.relationship-flow article > small {
    margin-top: auto;
    color: rgba(255, 255, 255, .52);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.relationship-flow h3 {
    margin: 7px 0 10px;
    color: #fff;
    font-size: 27px;
    letter-spacing: -.045em;
    line-height: 1;
}

.relationship-flow p {
    margin: 0;
    color: rgba(255, 255, 255, .68);
    font-size: 12px;
}

.relationship-flow .relationship-adventech {
    border-color: rgba(149, 225, 191, .66);
    background: rgba(149, 225, 191, .12);
}

.relationship-flow .relationship-assistpro {
    border-color: rgba(255, 255, 255, .34);
    background: var(--sf-blue);
}

.brand-portfolio {
    margin-top: 24px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.brand-portfolio article,
.brand-portfolio > a {
    min-width: 0;
    min-height: 116px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 14px;
    background: rgba(255, 255, 255, .04);
}

.brand-portfolio > a {
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.brand-portfolio > a:hover {
    transform: translateY(-3px);
    border-color: rgba(149, 225, 191, .72);
    background: rgba(149, 225, 191, .1);
}

.brand-portfolio strong {
    color: #fff;
    font-size: 18px;
    letter-spacing: -.025em;
}

.brand-portfolio span {
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
    line-height: 1.35;
}

.brand-portfolio small {
    color: var(--sf-green);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.brand-scope-note {
    max-width: 920px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, .5);
    font-size: 10px;
}

@media (max-width: 980px) {
    .storefront-nav nav {
        display: none;
    }

    .storefront-hero {
        padding: 60px 0 80px;
        grid-template-columns: 1fr;
    }

    .storefront-visual {
        min-height: 480px;
    }

    .storefront-intro,
    .storefront-integration {
        grid-template-columns: 1fr;
    }

    .storefront-intro {
        gap: 26px;
    }

    .storefront-capabilities {
        grid-template-columns: 1fr;
    }

    .storefront-home-hero,
    .published-heading,
    .published-card,
    .solution-method,
    .storefront-contact {
        grid-template-columns: 1fr;
    }

    .storefront-home-hero {
        padding: 70px 0;
    }

    .business-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .published-heading,
    .solution-method,
    .storefront-contact {
        gap: 36px;
    }

    .contact-intro {
        position: static;
    }

    .migration-hero {
        grid-template-columns: 1fr;
        background: #fff;
    }

    .migration-hero-copy {
        width: min(760px, calc(100% - 48px));
        margin: 0 auto;
        padding: 80px 0;
    }

    .migration-hero-visual {
        min-height: 540px;
        background-position: center;
        background-size: cover;
    }

    .migration-hero-visual::before {
        display: none;
    }

    .storefront-home-page .split-intro {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .problem-grid,
    .difference-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .commercial-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .relationship-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .relationship-flow > i {
        display: none;
    }

    .brand-portfolio {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .storefront-nav,
    .storefront-hero,
    .storefront-capabilities,
    .storefront-integration,
    .storefront-home-hero,
    .business-grid,
    .solution-method,
    .storefront-footer {
        width: min(100% - 28px, 1180px);
    }

    .storefront-nav .storefront-button {
        display: none;
    }

    .storefront-hero {
        min-height: 0;
        padding-top: 44px;
        gap: 28px;
    }

    .storefront-hero h1 {
        font-size: 58px;
    }

    .storefront-lead {
        font-size: 17px;
    }

    .storefront-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .storefront-proof {
        grid-template-columns: 1fr;
    }

    .storefront-visual {
        min-height: 360px;
    }

    .orbit-one {
        width: 330px;
        height: 330px;
    }

    .orbit-two {
        width: 390px;
        height: 390px;
    }

    .storefront-status {
        right: 8px;
        bottom: 30px;
    }

    .storefront-intro {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .storefront-capabilities {
        padding: 56px 0;
    }

    .storefront-capabilities article {
        min-height: 230px;
    }

    .storefront-integration {
        margin-bottom: 56px;
        padding: 34px 20px;
        gap: 34px;
    }

    .storefront-integration-graphic {
        min-height: 220px;
        grid-template-columns: 1fr 24px 1.2fr 24px 1fr;
    }

    .storefront-integration-graphic span,
    .storefront-integration-graphic strong {
        min-height: 86px;
        padding: 6px;
        font-size: 10px;
    }

    .storefront-integration-graphic strong {
        min-height: 112px;
        font-size: 12px;
    }

    .storefront-footer {
        padding: 26px 0;
        align-items: flex-start;
        flex-direction: column;
    }

    .storefront-whatsapp {
        right: 14px;
        bottom: 14px;
        padding-right: 7px;
    }

    .storefront-whatsapp strong {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .storefront-home-hero {
        min-height: 0;
        padding: 50px 0 70px;
        gap: 42px;
    }

    .storefront-home-hero h1 {
        font-size: 49px;
    }

    .storefront-contact {
        padding: 64px 14px;
    }

    .contact-panel {
        padding: 24px 18px;
    }

    .contact-field-grid {
        grid-template-columns: 1fr;
    }

    .contact-form .storefront-button {
        width: 100%;
    }

    .home-system-map {
        min-height: 430px;
    }

    .system-node {
        width: 150px;
        padding: 14px;
    }

    .hardware-node {
        left: 12px;
    }

    .service-node {
        right: 12px;
    }

    .business-grid {
        padding-bottom: 64px;
        grid-template-columns: 1fr;
    }

    .business-grid article {
        min-height: 240px;
    }

    .published-products {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .published-card {
        min-height: 0;
        padding: 28px;
    }

    .published-card img {
        height: 210px;
    }

    .solution-method {
        padding: 72px 0;
    }

    .solution-method li {
        grid-template-columns: 38px 1fr;
    }

    .solution-method li p {
        grid-column: 2;
    }

    .migration-hero-copy,
    .problem-section,
    .commercial-showcase,
    .adventech-difference {
        width: min(100% - 28px, 1180px);
    }

    .migration-hero-copy {
        padding: 58px 0 64px;
    }

    .migration-hero h1 {
        font-size: 47px;
    }

    .migration-hero-lead {
        font-size: 16px;
    }

    .migration-hero-visual {
        min-height: 420px;
        background-position: 68% center;
    }

    .migration-hero-badge {
        right: 18px;
        bottom: 18px;
        width: calc(100% - 36px);
    }

    .adventech-proof,
    .partner-band {
        padding-top: 30px;
        padding-bottom: 30px;
        align-items: flex-start;
        flex-direction: column;
    }

    .adventech-proof div,
    .partner-band div {
        justify-content: flex-start;
    }

    .problem-section,
    .commercial-showcase,
    .brand-ecosystem,
    .strategic-solutions,
    .adventech-difference {
        padding-top: 76px;
        padding-bottom: 76px;
    }

    .storefront-home-page .section-intro h2 {
        font-size: 40px;
    }

    .problem-grid,
    .difference-grid,
    .strategic-grid,
    .commercial-product-grid,
    .relationship-flow,
    .brand-portfolio {
        grid-template-columns: 1fr;
    }

    .commercial-product-image {
        min-height: 250px;
    }

    .commercial-product-copy {
        min-height: 300px;
    }

    .catalog-family-strip {
        align-items: flex-start;
        flex-direction: column;
    }

    .catalog-family-strip div {
        justify-content: flex-start;
    }

    .problem-grid article,
    .difference-grid article,
    .strategic-card {
        min-height: 250px;
    }
}

/* Densidad operativa homologada con AssistPro ER / orden_compra.php. */
.app-page {
    --ap-primary: #0f5aad;
    --ap-primary-dark: #0c4a8d;
    --ap-primary-2: #2474c7;
    --ap-line: #e2e8f0;
    --ap-bg: #f5f7fb;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 10px;
    background: #f5f7fb;
}

.app-page .topbar {
    height: 52px;
    padding: 0 18px;
}

.app-page .brand {
    gap: 9px;
    font-size: 12px;
}

.app-page .brand-mark {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    font-size: 10px;
}

.app-page .main-nav a {
    padding: 6px 9px;
    font-size: 11px;
}

.app-page .account,
.app-page .account > span {
    font-size: 11px;
}

.app-page main {
    width: min(1440px, calc(100% - 28px));
    padding: 8px 0 24px;
}

.app-page h1,
.app-page .page-heading h1 {
    color: var(--ap-primary);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: 0;
}

.app-page .page-heading {
    margin-bottom: 8px;
}

.app-page .page-heading p:last-child {
    margin-top: 2px;
    font-size: 10px;
}

.app-page .eyebrow {
    margin-bottom: 2px;
    font-size: 9px;
    letter-spacing: .08em;
}

.app-page .button {
    min-height: 30px;
    padding: 3px 14px;
    border-radius: 999px;
    font-size: 11px;
}

.app-page .button.small {
    min-height: 28px;
    padding: 2px 10px;
    font-size: 10px;
}

.app-page .hero {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 0 0 8px;
}

.app-page .hero h1 {
    font-size: 18px;
    line-height: 1.15;
}

.app-page .hero-copy {
    margin-top: 3px;
    font-size: 10px;
    line-height: 1.35;
}

.app-page .status-card {
    min-width: 220px;
    padding: 8px 10px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(15, 90, 173, .08);
}

.app-page .status-card strong,
.app-page .status-card span:last-child {
    font-size: 10px;
}

.app-page .status-dot,
.app-page .status-dot.is-ok {
    width: 8px;
    height: 8px;
    box-shadow: 0 0 0 4px rgba(15, 90, 173, .12);
}

.app-page .module-grid {
    gap: 8px;
}

.app-page .module-card {
    min-height: 126px;
    padding: 10px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(15, 90, 173, .08);
}

.app-page .module-card h2 {
    margin: 14px 0 4px;
    font-size: 13px;
}

.app-page .module-card p,
.app-page .module-state,
.app-page .flow-steps {
    font-size: 10px;
    line-height: 1.35;
}

.app-page .module-card p {
    margin-bottom: 8px;
}

.app-page .module-state {
    padding: 2px 8px;
}

.app-page .flow {
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(15, 90, 173, .08);
}

.app-page .flow h2 {
    color: var(--ap-primary);
    font-size: 12px;
}

.app-page .flow-steps span {
    padding: 4px 8px;
    border-radius: 8px;
}

.commerce-insights {
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid #e5edf8;
    border-radius: 16px;
    background: white;
    box-shadow: 0 10px 30px rgba(15, 90, 173, .06);
}

.insights-heading {
    margin-bottom: 10px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}

.insights-heading h2 {
    margin: 0;
    color: var(--ap-primary);
    font-size: 15px;
    letter-spacing: -.025em;
}

.insights-heading > p {
    max-width: 470px;
    margin: 0;
    color: var(--ap-muted);
    font-size: 9px;
    text-align: right;
}

.commerce-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.commerce-metrics article {
    min-height: 84px;
    padding: 10px 12px;
    display: grid;
    align-content: space-between;
    border: 1px solid #e8eef6;
    border-radius: 12px;
    background: #f9fbfe;
}

.commerce-metrics span,
.commerce-metrics small {
    color: var(--ap-muted);
    font-size: 9px;
}

.commerce-metrics span {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.commerce-metrics strong {
    color: var(--ap-primary);
    font-size: 24px;
    line-height: 1;
}

.commerce-metrics .conversion-metric {
    color: white;
    border-color: var(--ap-primary);
    background: linear-gradient(135deg, var(--ap-primary), var(--ap-primary-dark));
}

.commerce-metrics .conversion-metric strong,
.commerce-metrics .conversion-metric span,
.commerce-metrics .conversion-metric small {
    color: white;
}

.crm-capture-panel {
    margin-top: 8px;
    padding: 12px;
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 20px;
    align-items: center;
    border: 1px solid #e3ebf4;
    border-radius: 12px;
    background: #f7fafd;
}

.crm-capture-panel h3 {
    margin: 2px 0;
    color: var(--ap-primary);
    font-size: 12px;
}

.crm-capture-panel > div > span {
    color: var(--ap-muted);
    font-size: 9px;
}

.crm-capture-panel dl {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 7px;
}

.crm-capture-panel dl > div {
    padding: 9px;
    display: grid;
    border-radius: 8px;
    background: white;
}

.crm-capture-panel dt {
    color: var(--ap-muted);
    font-size: 8px;
}

.crm-capture-panel dd {
    margin: 1px 0 0;
    color: var(--ap-primary);
    font-size: 18px;
    font-weight: 850;
}

.crm-capture-panel .attention {
    background: #fff1ed;
}

.crm-capture-panel .attention dd {
    color: #b34c36;
}

.interest-panel {
    margin-top: 8px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 210px 1fr;
    gap: 18px;
    border-radius: 12px;
    background: #f5f8fc;
}

.interest-panel h3 {
    margin: 0 0 2px;
    font-size: 11px;
}

.interest-panel > div > span,
.interest-empty {
    color: var(--ap-muted);
    font-size: 9px;
}

.interest-panel table {
    width: 100%;
    border-collapse: collapse;
    font-size: 9px;
}

.interest-panel th,
.interest-panel td {
    padding: 3px 6px;
    border-bottom: 1px solid #e3eaf4;
    text-align: left;
}

.interest-panel th:nth-child(n+2),
.interest-panel td:nth-child(n+2) {
    text-align: right;
}

.interest-panel th {
    color: var(--ap-muted);
    font-weight: 800;
}

.interest-empty {
    margin: 0;
    align-self: center;
}

.import-workbench {
    margin-bottom: 10px;
    padding: 12px;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 12px;
    border: 1px solid #e5edf8;
    border-radius: 16px;
    background: white;
    box-shadow: 0 10px 30px rgba(15, 90, 173, .06);
}

.import-form {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 10px;
}

.import-form > div {
    display: grid;
    gap: 3px;
}

.import-form label {
    color: var(--ap-primary);
    font-size: 10px;
    font-weight: 800;
}

.import-form small {
    color: var(--ap-muted);
    font-size: 8px;
}

.import-workbench aside {
    padding: 10px 12px;
    display: grid;
    align-content: center;
    border-radius: 12px;
    color: white;
    background: linear-gradient(135deg, var(--ap-primary), var(--ap-primary-dark));
}

.import-workbench aside strong {
    font-size: 11px;
}

.import-workbench aside span {
    color: rgba(255, 255, 255, .72);
    font-size: 9px;
}

.import-list {
    display: grid;
    gap: 8px;
}

.import-browser {
    margin-bottom: 10px;
    padding: 10px 12px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid #e5edf8;
    border-radius: 14px;
    background: #f8fbff;
}

.import-browser > div {
    display: grid;
    gap: 2px;
}

.import-browser strong {
    color: var(--ap-primary);
    font-size: 11px;
}

.import-browser span {
    color: var(--ap-muted);
    font-size: 8px;
}

.import-browser-form {
    display: flex;
    align-items: end;
    gap: 7px;
}

.import-browser-form label {
    display: grid;
    gap: 3px;
}

.import-browser-form input,
.import-browser-form select {
    min-width: 155px;
    padding: 7px 9px;
    border: 1px solid #ccd9e9;
    border-radius: 8px;
    background: white;
    color: var(--ap-text);
    font: inherit;
    font-size: 9px;
}

.import-card {
    padding: 12px 14px;
    border: 1px solid #e5edf8;
    border-radius: 14px;
    background: white;
    box-shadow: 0 8px 24px rgba(15, 90, 173, .05);
}

.import-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.import-card-heading > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.import-card h2 {
    margin: 0;
    color: var(--ap-primary);
    font-size: 13px;
}

.import-card time {
    color: var(--ap-muted);
    font-size: 8px;
}

.import-card > p {
    margin: 8px 0;
    color: var(--ap-muted);
    font-size: 10px;
}

.import-migration-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin: 8px 0;
}

.import-migration-meta > span {
    min-width: 0;
    padding: 7px 8px;
    display: grid;
    gap: 2px;
    border: 1px solid #e5edf8;
    border-radius: 9px;
    color: var(--ap-muted);
    background: #fbfdff;
    font-size: 8px;
}

.import-migration-meta b {
    color: var(--ap-primary);
    font-size: 7px;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.import-migration-meta .quality-state.is-ready {
    border-color: #b9dfca;
    background: #f0fbf5;
}

.import-migration-meta .quality-state.needs-work {
    border-color: #efd59a;
    background: #fffbef;
}

.import-pagination {
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.import-pagination span {
    color: var(--ap-muted);
    font-size: 9px;
}

.import-tags,
.import-evidence {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

.import-tags span {
    padding: 3px 7px;
    border-radius: 999px;
    color: var(--ap-primary);
    background: #edf5fd;
    font-size: 8px;
}

.import-evidence {
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px solid #edf1f6;
}

.import-evidence a,
.import-evidence span {
    color: var(--ap-muted);
    font-size: 9px;
}

.import-evidence a {
    color: var(--ap-primary);
    font-weight: 800;
    text-decoration: none;
}

.import-evidence .import-next {
    margin-left: auto;
    color: white;
}

.import-evidence .import-next.ghost {
    color: var(--ap-primary);
}

.source-review-banner {
    margin-bottom: 8px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid #bcd6ef;
    border-radius: 12px;
    background: #edf6fd;
}

.source-review-banner > div {
    display: grid;
}

.source-review-banner span {
    color: var(--ap-primary);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.source-review-banner strong {
    font-size: 11px;
}

.source-review-banner p {
    margin: 2px 0 0;
    color: var(--ap-muted);
    font-size: 9px;
}

.source-review-banner a {
    flex: 0 0 auto;
    color: var(--ap-primary);
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
}

.import-empty {
    min-height: 240px;
}

.app-page .catalog-summary {
    margin-bottom: 8px;
    gap: 8px;
}

.app-page .catalog-summary article {
    padding: 10px 12px;
    border-radius: 10px;
}

.app-page .catalog-summary strong {
    font-size: 20px;
}

.app-page .catalog-summary span {
    font-size: 10px;
}

.app-page .catalog-filters {
    margin-bottom: 8px;
    padding: 8px 10px;
    gap: 8px;
    border-radius: 12px;
}

.app-page label,
.app-page .ap-label {
    gap: 3px;
    font-size: 11px;
}

.app-page input,
.app-page select,
.app-page textarea {
    min-height: 30px;
    padding: 4px 8px;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1.2;
}

.app-page textarea {
    min-height: 70px;
}

.app-page .input-prefix {
    border-radius: 8px;
}

.app-page .input-prefix span {
    padding: 0 8px;
    font-size: 10px;
}

.app-page .table-shell,
.app-page .detail-card,
.app-page .form-section,
.app-page .content-card,
.app-page .empty-state {
    border-color: #eef1f7;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(15, 90, 173, .08);
}

.app-page th,
.app-page td {
    padding: 5px 8px;
    font-size: 10px;
    white-space: nowrap;
    vertical-align: middle;
}

.app-page th {
    color: #4a5568;
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8fafc;
}

.app-page tbody tr:nth-child(even) {
    background: #fbfcfe;
}

.app-page tbody tr:hover {
    background: #eef5ff;
}

.app-page td small {
    font-size: 9px;
}

.app-page .status-pill {
    padding: 2px 8px;
    font-size: 10px;
}

.app-page .product-form {
    gap: 8px;
}

.app-page .form-section {
    padding: 14px;
    grid-template-columns: 0.55fr 1.7fr;
    gap: 22px;
}

.app-page .section-intro {
    gap: 10px;
}

.app-page .section-intro h2 {
    margin-bottom: 4px;
    font-size: 14px;
}

.app-page .section-intro p,
.app-page label small,
.app-page .form-actions p {
    font-size: 10px;
}

.app-page .form-grid,
.app-page .form-stack {
    gap: 9px;
}

.app-page .form-actions {
    padding: 8px 0;
}

.app-page .product-overview,
.app-page .content-card {
    gap: 10px;
}

.app-page .detail-card {
    padding: 10px;
}

.app-page .detail-card h2 {
    margin-bottom: 8px;
    color: var(--ap-primary);
    font-size: 13px;
}

.app-page .detail-list,
.app-page .identifier-list,
.app-page .seo-preview {
    gap: 9px;
}

.app-page .detail-list dt,
.app-page .seo-preview dt,
.app-page .detail-list dd,
.app-page .seo-preview dd,
.app-page .identifier-list,
.app-page .body-copy {
    font-size: 10px;
}

.app-page .content-card {
    margin-top: 8px;
    padding: 10px;
    background: var(--ap-surface);
}

.app-page .seo-preview {
    padding: 10px;
    border-radius: 8px;
}

.app-page .empty-state {
    min-height: 230px;
    padding: 24px 16px;
    border-style: solid;
}

.app-page .empty-state h1,
.app-page .empty-state h2 {
    margin: 8px 0 4px;
    color: var(--ap-primary);
    font-size: 15px;
}

.app-page .empty-state p {
    margin-bottom: 12px;
    font-size: 10px;
}

.app-page .empty-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    font-size: 11px;
}

.app-page .flash,
.app-page .form-error {
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 10px;
}

.app-page .flash {
    width: min(1440px, calc(100% - 28px));
    margin-top: 8px;
}

.app-page .form-error {
    margin-bottom: 8px;
}

.app-page .table-shell {
    max-height: 520px;
    overflow: auto;
}

.app-page .flash.error {
    color: #9c2635;
    border-color: #edb4bc;
    background: #fff1f3;
}

.publication-panel {
    margin-top: 8px;
}

.publication-heading,
.publication-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.publication-heading p,
.publication-footer small {
    margin: 0;
}

.publication-score {
    width: 64px;
    height: 48px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    align-content: center;
    border: 1px solid #efc56e;
    border-radius: 10px;
    color: #76520d;
    background: #fff8e8;
}

.publication-score.is-ready {
    color: #125d37;
    border-color: #a8d5bc;
    background: #eefaf3;
}

.publication-score strong {
    font-size: 16px;
    line-height: 1;
}

.publication-score span {
    margin-top: 3px;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.publication-checks {
    margin: 8px 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
}

.publication-checks > div {
    min-width: 0;
    padding: 6px 8px;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    column-gap: 5px;
    border: 1px solid var(--ap-line);
    border-radius: 8px;
    background: #fbfcfe;
}

.publication-checks > div > span {
    grid-row: span 2;
    width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 900;
}

.publication-checks .is-complete > span {
    color: #125d37;
    background: #dff4e8;
}

.publication-checks .is-pending > span {
    color: #76520d;
    background: #fff1ca;
}

.publication-checks strong,
.publication-checks small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.publication-checks small,
.publication-footer small {
    color: var(--ap-muted);
    font-size: 9px;
}

.publication-footer {
    padding-top: 7px;
    border-top: 1px solid var(--ap-line);
}

.publication-footer > div {
    display: grid;
}

.app-page .button:disabled {
    cursor: not-allowed;
    opacity: .48;
}

.asset-workspace {
    margin-top: 8px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.asset-empty {
    min-height: 52px;
    margin: 0;
    display: flex;
    align-items: center;
}

.media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.media-item {
    min-width: 0;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 8px;
    overflow: hidden;
    border: 1px solid var(--ap-line);
    border-radius: 8px;
    background: #fbfcfe;
}

.media-item img {
    width: 82px;
    height: 72px;
    object-fit: cover;
    background: #eef1f7;
}

.media-item > div {
    min-width: 0;
    padding: 7px 7px 7px 0;
    display: grid;
    align-content: center;
    gap: 2px;
}

.media-item strong,
.media-item small,
.document-list strong,
.document-list small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.media-item small,
.document-list small,
.asset-form small {
    color: var(--ap-muted);
    font-size: 9px;
}

.document-list {
    display: grid;
    gap: 4px;
}

.document-list a {
    padding: 6px;
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) minmax(120px, .6fr);
    gap: 8px;
    align-items: center;
    border: 1px solid var(--ap-line);
    border-radius: 8px;
    color: inherit;
    background: #fbfcfe;
    text-decoration: none;
}

.document-list a:hover {
    border-color: var(--ap-primary);
    background: #eef5ff;
}

.document-list a > span {
    min-width: 0;
    display: grid;
}

.document-type {
    padding: 3px 6px;
    border-radius: 999px;
    color: var(--ap-primary);
    background: #eaf3fd;
    font-size: 8px;
    font-weight: 800;
    text-align: center;
}

.asset-form {
    margin-top: 8px;
    border-top: 1px solid var(--ap-line);
}

.asset-form summary {
    padding: 7px 0 2px;
    color: var(--ap-primary);
    cursor: pointer;
    font-size: 10px;
    font-weight: 700;
}

.asset-form form {
    padding-top: 7px;
}

.asset-form-actions {
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

@media (max-width: 900px) {
    .app-page .hero {
        grid-template-columns: 1fr;
    }

    .app-page .status-card {
        min-width: 0;
    }

    .app-page .form-section {
        grid-template-columns: 1fr;
    }

    .asset-workspace {
        grid-template-columns: 1fr;
    }

    .publication-checks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .commerce-metrics {
        grid-template-columns: repeat(2, 1fr);
    }

    .interest-panel {
        grid-template-columns: 1fr;
    }

    .import-workbench {
        grid-template-columns: 1fr;
    }

    .import-browser {
        align-items: stretch;
        flex-direction: column;
    }

    .import-migration-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 580px) {
    .media-grid {
        grid-template-columns: 1fr;
    }

    .document-list a {
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .document-list a > span:last-child {
        grid-column: 2;
    }

    .publication-checks {
        grid-template-columns: 1fr;
    }

    .publication-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .insights-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .insights-heading > p {
        text-align: left;
    }

    .commerce-metrics {
        grid-template-columns: 1fr;
    }

    .import-form {
        grid-template-columns: 1fr;
    }

    .import-browser-form {
        align-items: stretch;
        flex-direction: column;
    }

    .import-browser-form input,
    .import-browser-form select {
        width: 100%;
    }

    .import-migration-meta {
        grid-template-columns: 1fr;
    }

    .import-card-heading,
    .import-card-heading > div {
        align-items: flex-start;
        flex-direction: column;
    }

    .import-evidence .import-next {
        width: 100%;
        margin-left: 0;
    }

    .source-review-banner {
        align-items: flex-start;
        flex-direction: column;
    }
}
.dsc-page { background: #f5f8fc; color: #14233c; }
.dsc-hero, .dsc-context, .dsc-control, .dsc-integration { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.dsc-hero { min-height: 590px; padding: 90px 0; display: grid; grid-template-columns: 1.02fr .98fr; gap: 56px; align-items: center; }
.dsc-hero h1 { margin: 0; max-width: 700px; font-size: clamp(40px, 5vw, 66px); line-height: 1.02; letter-spacing: -.055em; }
.dsc-hero h1 span { color: #1169c7; }
.dsc-hero > div > p:not(.storefront-kicker) { max-width: 590px; color: #50627f; font-size: 18px; line-height: 1.7; }
.dsc-screen { position: relative; overflow: hidden; border: 1px solid #dae4f5; border-radius: 20px; background: linear-gradient(145deg, #0d4e99, #071d63); box-shadow: 0 28px 70px rgba(12, 57, 122, .22); }
.dsc-screen img { width: 100%; display: block; }
.dsc-screen > strong { display: block; padding: 96px 44px 8px; color: #fff; font-size: 64px; }
.dsc-screen > span { display: block; padding: 0 44px 96px; color: #a8d9ff; }
.dsc-context { padding: 84px 0; max-width: 850px; text-align: center; }
.dsc-context h2, .dsc-control h2, .dsc-integration h2 { margin: 8px 0 18px; font-size: clamp(30px, 3.7vw, 48px); line-height: 1.08; letter-spacing: -.045em; }
.dsc-context > p:last-child, .dsc-control p { color: #50627f; font-size: 17px; line-height: 1.75; }
.dsc-flow { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 0 0 96px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.dsc-flow article { min-height: 245px; padding: 28px; border: 1px solid #dbe5f4; border-radius: 18px; background: #fff; }
.dsc-flow span { color: #1b75d0; font-size: 13px; font-weight: 800; letter-spacing: .08em; }.dsc-flow h3 { margin: 60px 0 10px; font-size: 22px; }.dsc-flow p { margin: 0; color: #60718e; line-height: 1.55; }
.dsc-control { padding: 72px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; border-radius: 26px; color: #fff; background: linear-gradient(130deg, #061b58, #0b58aa); }.dsc-control h2 { color: #fff; }.dsc-control p, .dsc-control li { color: rgba(255,255,255,.76); }.dsc-control ul { margin: 0; padding: 0; list-style: none; }.dsc-control li { padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.dsc-integration { padding: 100px 0; text-align: center; }.dsc-integration > div { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }.dsc-integration span { padding: 13px 17px; border-radius: 999px; color: #0c4f9b; background: #e7f1fd; font-weight: 800; }.dsc-integration i { color: #19a7a2; font-style: normal; font-size: 24px; }
@media (max-width: 800px) { .dsc-hero, .dsc-control { grid-template-columns: 1fr; gap: 34px; }.dsc-hero { padding: 56px 0; }.dsc-flow { grid-template-columns: repeat(2,1fr); }.dsc-control { padding: 38px 26px; } }
@media (max-width: 540px) { .dsc-flow { grid-template-columns: 1fr; }.dsc-hero, .dsc-context, .dsc-control, .dsc-integration, .dsc-flow { width: min(100% - 32px, 1180px); }.dsc-hero h1 { font-size: 39px; } }
.dsc-stage-details { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 0 0 96px; display: grid; gap: 28px; }
.dsc-stage-details article { display: grid; grid-template-columns: .95fr 1.05fr; gap: 36px; align-items: center; padding: 32px; border: 1px solid #dbe5f4; border-radius: 20px; background: #fff; box-shadow: 0 16px 38px rgba(12, 57, 122, .08); }
.dsc-stage-details article:nth-child(even) .dsc-stage-copy { order: 2; }.dsc-stage-details article:nth-child(even) img { order: 1; }
.dsc-stage-copy > span { color: #1b75d0; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.dsc-stage-copy h2 { margin: 10px 0 14px; color: #14233c; font-size: clamp(28px, 3vw, 42px); line-height: 1.1; letter-spacing: -.04em; }.dsc-stage-copy p { color: #50627f; line-height: 1.72; }.dsc-stage-copy ul { margin: 18px 0 0; padding-left: 20px; color: #174f83; line-height: 1.85; }.dsc-stage-details img { display: block; width: 100%; border: 1px solid #dbe5f4; border-radius: 12px; background: #f4f8fc; }
@media (max-width: 800px) { .dsc-stage-details { width: min(100% - 32px, 1180px); gap: 18px; padding-bottom: 64px; }.dsc-stage-details article { grid-template-columns: 1fr; gap: 22px; padding: 22px; }.dsc-stage-details article:nth-child(even) .dsc-stage-copy, .dsc-stage-details article:nth-child(even) img { order: initial; } }

.storefront-preview-banner {
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    justify-content: center;
    gap: 1rem;
    padding: .7rem 1rem;
    background: #1e293b;
    color: #fff;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .02em;
}
.storefront-preview-banner a {
    color: #9ddcff;
    text-decoration: underline;
}
.publication-footer details > summary.button {
    cursor: pointer;
    list-style: none;
}
.publication-footer details > summary.button::-webkit-details-marker {
    display: none;
}
.publication-footer details[open] {
    max-width: 290px;
}
/* Editorial storefront preview: single-column sections with balanced content. */
.editorial-preview .editorial-preview-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 28px 0;
}
.editorial-preview .editorial-preview-section > article {
    width: 100%;
    padding: clamp(28px, 4vw, 48px);
}
.editorial-preview .editorial-preview-specs .storefront-specifications {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(32px, 5vw, 72px);
}
.editorial-preview .editorial-preview-specs .storefront-specifications div {
    display: grid;
    grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr);
    align-content: start;
    gap: 18px;
    padding: 18px 0;
}
.editorial-preview .editorial-preview-specs .storefront-specifications dd {
    text-align: left;
    line-height: 1.55;
}
.editorial-preview .editorial-preview-gallery .storefront-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.editorial-preview .editorial-preview-gallery .storefront-gallery img {
    aspect-ratio: 4 / 3;
    padding: 18px;
    object-fit: contain;
    border: 1px solid #e6edf5;
}
.editorial-preview .editorial-preview-references .publication-checks {
    margin-top: 24px;
}
@media (max-width: 900px) {
    .editorial-preview .editorial-preview-specs .storefront-specifications,
    .editorial-preview .editorial-preview-gallery .storefront-gallery {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 600px) {
    .editorial-preview .editorial-preview-section {
        width: min(100% - 28px, 1180px);
        padding: 14px 0;
    }
    .editorial-preview .editorial-preview-section > article {
        padding: 22px 18px;
    }
    .editorial-preview .editorial-preview-specs .storefront-specifications div {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}

/* AVA editorial packages: private review workspace */
.editorial-package-layout {
    align-items: start;
}

.editorial-package-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.editorial-page-preview-list {
    display: grid;
    gap: 28px;
    margin: 28px 0 56px;
}

.editorial-page-preview {
    overflow: hidden;
    border: 1px solid #dce3ef;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 48px rgb(7 26 117 / 8%);
}

.editorial-page-preview > header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 32px;
    border-bottom: 1px solid #e8edf5;
}

.editorial-page-preview h2 {
    max-width: 920px;
    margin: 4px 0 8px;
    color: #071a75;
    font-size: clamp(26px, 3vw, 42px);
    line-height: 1.05;
}

.editorial-page-body {
    display: grid;
    grid-template-columns: minmax(300px, .9fr) minmax(360px, 1.1fr);
    gap: 32px;
    padding: 32px;
}

.editorial-page-media {
    display: grid;
    align-content: start;
    gap: 10px;
}

.editorial-page-media img,
.editorial-asset-pending {
    width: 100%;
    min-height: 320px;
    border-radius: 18px;
    object-fit: contain;
    background: #f4f7fc;
}

.editorial-asset-pending {
    display: grid;
    padding: 28px;
    place-content: center;
    color: #667085;
    overflow-wrap: anywhere;
    text-align: center;
}

.editorial-asset-pending strong {
    color: #071a75;
    font-size: 22px;
}

.editorial-page-copy {
    color: #344054;
    font-size: 17px;
    line-height: 1.75;
}

.editorial-page-copy h3 {
    margin: 22px 0 8px;
    color: #111827;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.editorial-editions-preview {
    padding: 8px 32px 34px;
    border-top: 1px solid #e4e9f2;
}

.editorial-editions-grid,
.brand-editions-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.editorial-editions-grid article,
.brand-editions-grid article {
    display: flex;
    min-height: 280px;
    flex-direction: column;
    padding: 22px;
    border: 1px solid #dfe6f0;
    border-radius: 18px;
    background: #fff;
}

.editorial-editions-grid h3,
.brand-editions-grid h3 {
    margin: 0 0 12px;
    color: #071a75;
    font-size: 20px;
    line-height: 1.15;
}

.editorial-editions-grid p,
.brand-editions-grid p {
    margin: 0 0 18px;
    color: #475467;
    font-size: 14px;
    line-height: 1.55;
}

.editorial-editions-grid span,
.brand-editions-grid span {
    color: #08785b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.editorial-editions-grid strong,
.brand-editions-grid strong {
    margin: 7px 0 20px;
    color: #1d2939;
    font-size: 13px;
    line-height: 1.5;
}

.editorial-editions-grid a,
.brand-editions-grid a {
    margin-top: auto;
    color: #071a75;
    font-size: 13px;
    font-weight: 850;
}

.edition-details {
    margin: 0 0 18px;
    border-top: 1px solid #e5eaf2;
    border-bottom: 1px solid #e5eaf2;
}

.edition-details summary {
    position: relative;
    padding: 13px 25px 13px 0;
    color: #071a75;
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
    list-style: none;
}

.edition-details summary::-webkit-details-marker {
    display: none;
}

.edition-details summary::after {
    position: absolute;
    top: 50%;
    right: 2px;
    content: '+';
    color: #08785b;
    font-size: 20px;
    line-height: 1;
    transform: translateY(-50%);
}

.edition-details[open] summary::after {
    content: '\2212';
}

.editorial-editions-grid .edition-details p,
.brand-editions-grid .edition-details p {
    margin: 0 0 13px;
    font-size: 12px;
    line-height: 1.55;
}

.edition-details ul {
    display: grid;
    gap: 5px;
    margin: 8px 0 15px;
    padding: 0;
    list-style: none;
}

.edition-details li {
    position: relative;
    padding-left: 15px;
    color: #344054;
    font-size: 12px;
    line-height: 1.45;
}

.edition-details li::before {
    position: absolute;
    left: 0;
    content: '\2713';
    color: #08785b;
    font-weight: 900;
}

.edition-differentiator {
    color: #1d2939 !important;
}

.edition-evaluate {
    padding: 12px;
    border-radius: 10px;
    background: #f1f8f5;
}

.editorial-editions-grid .edition-evaluate p,
.brand-editions-grid .edition-evaluate p {
    margin: 6px 0 0;
    color: #344054;
}

.editorial-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.editorial-chips span {
    padding: 7px 11px;
    border-radius: 999px;
    background: #eef3ff;
    color: #071a75;
    font-size: 14px;
    font-weight: 700;
}

.editorial-chips.assistpro span {
    background: #e9fbf4;
    color: #08785b;
}

.editorial-seo-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 24px 32px 32px;
    background: #f7f9fc;
}

.editorial-seo-panel > div {
    display: grid;
    gap: 5px;
    padding: 16px;
    border: 1px solid #e0e6f0;
    border-radius: 14px;
    background: #fff;
}

.editorial-seo-panel span,
.editorial-page-media small {
    color: #667085;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.editorial-validation {
    border-color: #f6c86d !important;
    background: #fff9eb !important;
}

.editorial-blockers ul {
    display: grid;
    gap: 8px;
    margin: 18px 0 0;
}

@media (max-width: 820px) {
    .editorial-page-body,
    .editorial-seo-panel {
        grid-template-columns: 1fr;
    }

    .editorial-page-preview > header {
        flex-direction: column;
    }

    .editorial-editions-grid,
    .brand-editions-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 821px) and (max-width: 1180px) {
    .editorial-editions-grid,
    .brand-editions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Página pública gobernada de fabricante y segmentos de producto. */
.storefront-brand-page main {
    background: #f7f9fc;
}

.brand-video-hero {
    position: relative;
    width: min(100% - 32px, 1500px);
    min-height: clamp(600px, 76vh, 820px);
    margin: 18px auto 0;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    border-radius: 30px;
    background: #071126;
    color: #fff;
    isolation: isolate;
    box-shadow: 0 30px 80px rgba(4, 16, 39, .18);
}

.brand-video-hero video,
.brand-video-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.brand-video-hero video {
    z-index: -3;
    object-fit: cover;
    background: #071126;
}

.brand-video-shade {
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(3, 10, 28, .9) 0%, rgba(3, 10, 28, .66) 46%, rgba(3, 10, 28, .08) 78%),
        linear-gradient(0deg, rgba(3, 10, 28, .72) 0%, transparent 58%);
}

.brand-video-copy {
    width: min(100%, 780px);
    padding: clamp(42px, 7vw, 100px);
}

.brand-video-kicker,
.brand-video-scope {
    color: #8ef1cf;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.brand-video-copy h1 {
    max-width: 760px;
    margin: 16px 0 24px;
    color: #fff;
    font-size: clamp(58px, 7.5vw, 112px);
    line-height: .88;
    letter-spacing: -.07em;
    text-wrap: balance;
}

.brand-video-copy > p:not(.brand-video-kicker) {
    max-width: 690px;
    margin: 0;
    color: rgba(255, 255, 255, .88);
    font-size: clamp(18px, 1.7vw, 25px);
    line-height: 1.45;
}

.brand-video-actions {
    margin: 34px 0 32px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}

.brand-video-actions > a:not(.storefront-button) {
    color: #fff;
    font-size: 14px;
    font-weight: 850;
}

.brand-video-actions > a:not(.storefront-button):hover {
    color: #8ef1cf;
}

.brand-video-scope {
    display: inline-block;
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
}

.brand-video-toggle {
    position: absolute;
    right: 28px;
    bottom: 28px;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    background: rgba(3, 10, 28, .58);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(10px);
}

.brand-video-toggle:hover,
.brand-video-toggle:focus-visible {
    border-color: #8ef1cf;
    background: rgba(3, 10, 28, .82);
}

.brand-public-hero,
.brand-public-overview,
.brand-public-segments,
.brand-editions {
    width: min(100% - 64px, 1240px);
    margin: 0 auto;
}

.brand-editions {
    padding: 72px 0 20px;
}

.brand-editions-grid article:first-child {
    background: #eef3ff;
}

.brand-editions-grid article:nth-child(3) {
    border-color: #9bdcc6;
    box-shadow: 0 18px 42px rgba(7, 26, 117, .08);
}

.brand-public-hero {
    min-height: 610px;
    padding: 110px 0 90px;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .72fr);
    align-items: center;
    gap: 72px;
}

.brand-public-hero h1 {
    max-width: 760px;
    margin: 10px 0 24px;
    color: var(--sf-ink);
    font-size: clamp(64px, 9vw, 132px);
    line-height: .84;
    letter-spacing: -.075em;
}

.brand-public-lead {
    max-width: 760px;
    color: var(--sf-muted);
    font-size: clamp(20px, 2vw, 30px);
    line-height: 1.35;
}

.brand-public-hero aside {
    padding: 34px;
    border-radius: 24px;
    background: var(--sf-blue);
    color: #fff;
}

.brand-public-hero aside > span {
    color: var(--sf-green);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.brand-public-hero aside p {
    margin: 20px 0;
    color: rgba(255, 255, 255, .78);
    font-size: 15px;
    line-height: 1.65;
}

.brand-public-hero aside a {
    color: #fff;
    font-weight: 800;
}

.brand-public-overview {
    width: min(100% - 64px, 1320px);
    padding: 76px 0 96px;
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.55fr);
    align-items: start;
    gap: clamp(38px, 5vw, 72px);
    border-top: 1px solid rgba(16, 31, 55, .12);
}

.brand-public-overview-heading {
    position: sticky;
    top: 112px;
}

.brand-public-overview-heading h2 {
    margin: 12px 0 0;
    color: var(--sf-ink);
    font-size: clamp(38px, 4.4vw, 62px);
    line-height: .96;
    letter-spacing: -.055em;
}

.brand-public-overview-heading > span {
    display: block;
    max-width: 430px;
    margin-top: 28px;
    color: var(--sf-muted);
    font-size: 15px;
    line-height: 1.65;
}

.brand-public-overview-copy {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.brand-overview-card {
    min-width: 0;
    padding: 28px;
    border: 1px solid rgba(16, 31, 55, .12);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 44px rgba(7, 26, 117, .05);
}

.brand-overview-card.is-featured {
    grid-column: 1 / -1;
    padding: clamp(30px, 4vw, 44px);
    background:
        radial-gradient(circle at 92% 15%, rgba(142, 241, 207, .2), transparent 32%),
        var(--sf-blue);
    color: #fff;
}

.brand-overview-card > span {
    color: var(--sf-orange);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .16em;
}

.brand-overview-card.is-featured > span { color: var(--sf-green); }

.brand-overview-card h3 {
    margin: 18px 0 14px;
    color: var(--sf-blue);
    font-size: clamp(22px, 2.2vw, 32px);
    line-height: 1.04;
    letter-spacing: -.035em;
}

.brand-overview-card.is-featured h3 {
    max-width: 680px;
    color: #fff;
    font-size: clamp(30px, 3.2vw, 46px);
}

.brand-overview-card p,
.brand-overview-card li {
    color: var(--sf-muted);
    font-size: 15px;
    line-height: 1.65;
}

.brand-overview-card.is-featured p,
.brand-overview-card.is-featured li { color: rgba(255, 255, 255, .82); }

.brand-overview-card p { margin: 0; }
.brand-overview-card p + p { margin-top: 12px; }

.brand-overview-card ul {
    display: grid;
    gap: 9px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.brand-overview-card li {
    position: relative;
    padding-left: 20px;
}

.brand-overview-card li::before {
    position: absolute;
    top: .65em;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--sf-green);
    content: '';
}

.brand-public-segments {
    padding: 92px 0 110px;
}

.brand-segment-public-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 38px;
}

.brand-segment-public-grid article {
    min-height: 370px;
    padding: 36px;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(16, 31, 55, .12);
    border-radius: 22px;
    background: #fff;
}

.brand-segment-public-grid article > img {
    width: calc(100% + 72px);
    height: 250px;
    margin: -36px -36px 28px;
    object-fit: cover;
    border-radius: 22px 22px 0 0;
    background: #eef2f7;
}

.brand-segment-public-grid article > span {
    color: var(--sf-orange);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
}

.brand-segment-public-grid h3 {
    max-width: 560px;
    margin: 28px 0 18px;
    color: var(--sf-blue);
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1;
    letter-spacing: -.045em;
}

.brand-segment-public-grid p {
    color: var(--sf-muted);
    font-size: 14px;
    line-height: 1.7;
}

.brand-segment-public-grid a {
    margin-top: auto;
    padding-top: 24px;
    color: var(--sf-blue);
    font-size: 11px;
    font-weight: 800;
}

@media (max-width: 900px) {
    .brand-public-hero,
    .brand-public-overview {
        grid-template-columns: 1fr;
    }

    .brand-public-hero {
        gap: 42px;
    }

    .brand-public-overview {
        gap: 34px;
    }

    .brand-public-overview-heading {
        position: static;
    }
}

@media (max-width: 680px) {
    .brand-video-hero {
        width: calc(100% - 20px);
        min-height: 650px;
        margin-top: 10px;
        border-radius: 22px;
    }

    .brand-video-shade {
        background:
            linear-gradient(90deg, rgba(3, 10, 28, .84), rgba(3, 10, 28, .28)),
            linear-gradient(0deg, rgba(3, 10, 28, .92) 0%, rgba(3, 10, 28, .22) 76%);
    }

    .brand-video-copy {
        padding: 38px 26px 68px;
    }

    .brand-video-copy h1 {
        font-size: clamp(50px, 16vw, 72px);
    }

    .brand-video-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .brand-video-toggle {
        right: 18px;
        bottom: 18px;
        width: 46px;
        height: 46px;
    }

    .brand-public-hero,
    .brand-public-overview,
    .brand-public-segments {
        width: min(100% - 32px, 1240px);
    }

    .brand-public-hero {
        min-height: auto;
        padding: 70px 0;
    }

    .brand-segment-public-grid {
        grid-template-columns: 1fr;
    }

    .brand-public-overview-copy {
        grid-template-columns: 1fr;
    }

    .brand-overview-card.is-featured {
        grid-column: auto;
    }

    .brand-segment-public-grid article {
        min-height: 320px;
        padding: 26px;
    }


    .brand-segment-public-grid article > img {
        width: calc(100% + 52px);
        margin: -26px -26px 24px;
    }
}

/* Recorrido comercial por familias y comparación de modelos. */
.brand-collection-index {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 42px 0 34px;
}

.brand-collection-index a {
    min-height: 180px;
    padding: 26px;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 20px;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}

.brand-collection-index a:hover {
    transform: translateY(-3px);
    background: rgba(255, 255, 255, .12);
}

.brand-collection-index span,
.brand-family-group summary small,
.brand-family-content aside span {
    color: var(--sf-green);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.brand-collection-index strong {
    margin: 18px 0;
    font-size: clamp(21px, 2vw, 30px);
    line-height: 1.05;
}

.brand-collection-index small {
    margin-top: auto;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
}

.brand-family-groups {
    display: grid;
    gap: 16px;
}

.brand-family-group {
    overflow: hidden;
    border-radius: 24px;
    color: var(--sf-ink);
    background: #fff;
}

.brand-family-group > summary {
    min-height: 190px;
    padding: 34px 40px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    cursor: pointer;
    list-style: none;
}

.brand-family-group > summary::-webkit-details-marker { display: none; }

.brand-family-group > summary > span {
    color: var(--sf-orange);
    font-size: 14px;
    font-weight: 900;
}

.brand-family-group summary h3 {
    margin: 8px 0;
    color: var(--sf-blue);
    font-size: clamp(28px, 3.8vw, 50px);
    line-height: .95;
    letter-spacing: -.045em;
}

.brand-family-group summary p {
    max-width: 760px;
    margin: 0;
    color: var(--sf-muted);
}

.brand-family-group summary > strong {
    min-width: 120px;
    color: var(--sf-blue);
    font-size: 13px;
    text-align: right;
}

.brand-family-group summary > strong i {
    margin-left: 10px;
    color: var(--sf-orange);
    font-size: 22px;
    font-style: normal;
}

.brand-family-group[open] summary > strong i { display: inline-block; transform: rotate(45deg); }

.brand-family-content {
    padding: 0 40px 42px 112px;
}

.brand-family-content > aside {
    margin-bottom: 22px;
    padding: 18px 22px;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 20px;
    border-radius: 14px;
    background: #eef5fb;
}

.brand-family-content aside span { color: var(--sf-blue); }
.brand-family-content aside p { margin: 0; color: var(--sf-muted); font-size: 13px; }

.brand-family-models { display: grid; gap: 10px; }

.brand-family-model {
    padding: 22px;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    align-items: center;
    gap: 28px;
    border: 1px solid rgba(16, 31, 55, .1);
    border-radius: 18px;
}

.brand-family-model img {
    width: 180px;
    height: 150px;
    object-fit: contain;
    border-radius: 14px;
    background: #edf5fc;
}

.brand-family-model h4 {
    margin: 8px 0 12px;
    color: var(--sf-ink);
    font-size: clamp(25px, 3vw, 38px);
    line-height: 1;
    letter-spacing: -.04em;
}

.brand-family-model p {
    margin: 7px 0;
    color: var(--sf-muted);
    font-size: 13px;
    line-height: 1.55;
}

.brand-family-model p strong {
    display: inline-block;
    min-width: 132px;
    color: var(--sf-blue);
}

.brand-family-model a {
    display: inline-block;
    margin-top: 10px;
    color: var(--sf-blue);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.brand-family-model a i { color: var(--sf-orange); font-style: normal; }

@media (max-width: 900px) {
    .brand-collection-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .brand-family-content { padding-left: 40px; }
}

@media (max-width: 680px) {
    .brand-collection-index { grid-template-columns: 1fr; }
    .brand-family-group > summary {
        padding: 26px;
        grid-template-columns: 30px minmax(0, 1fr);
    }
    .brand-family-group summary > strong { grid-column: 2; text-align: left; }
    .brand-family-content { padding: 0 20px 26px; }
    .brand-family-content > aside { grid-template-columns: 1fr; }
    .brand-family-model { grid-template-columns: 1fr; }
    .brand-family-model img { width: 100%; height: 210px; }
    .brand-family-model p strong { display: block; min-width: 0; margin-bottom: 3px; }
}

/* Catálogo de marca compacto: una sola navegación y familias bajo demanda. */
.brand-public-products {
    color: var(--sf-ink);
    background: #f4f7fb;
}

.brand-public-products .published-heading {
    margin-bottom: 28px;
}

.brand-public-products .published-heading .storefront-kicker { color: var(--sf-blue); }
.brand-public-products .published-heading > p { color: var(--sf-muted); }

.brand-catalog-toolbar {
    position: sticky;
    top: 82px;
    z-index: 8;
    margin: 0 0 22px;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: minmax(250px, 1fr) auto minmax(280px, .72fr);
    align-items: center;
    gap: 20px;
    border: 1px solid rgba(16, 31, 55, .12);
    border-radius: 16px;
    color: var(--sf-ink);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 34px rgba(15, 36, 74, .1);
    backdrop-filter: blur(14px);
}

.brand-catalog-toolbar div { display: grid; gap: 3px; }
.brand-catalog-toolbar div span,
.brand-catalog-toolbar label {
    color: var(--sf-blue);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.brand-catalog-toolbar div strong { font-size: 15px; }
.brand-catalog-toolbar label { white-space: nowrap; }
.brand-catalog-toolbar select {
    width: 100%;
    min-height: 46px;
    padding: 0 42px 0 14px;
    border: 1px solid rgba(16, 31, 55, .18);
    border-radius: 11px;
    color: var(--sf-ink);
    background: #fff;
    font: inherit;
    font-weight: 700;
}

.brand-family-groups { gap: 9px; }
.brand-family-group {
    border: 1px solid rgba(16, 31, 55, .11);
    border-radius: 15px;
    box-shadow: 0 8px 26px rgba(15, 36, 74, .045);
    scroll-margin-top: 170px;
}

.brand-family-group > summary {
    min-height: 96px;
    padding: 18px 22px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 16px;
}

.brand-family-group summary h3 {
    margin: 4px 0;
    font-size: clamp(22px, 2.25vw, 31px);
    line-height: 1;
}

.brand-family-group summary p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    font-size: 12px;
}

.brand-family-group summary > strong { min-width: 105px; }
.brand-family-content { padding: 0 22px 24px 72px; }
.brand-family-content > aside { margin-bottom: 12px; padding: 12px 16px; }
.brand-family-model { padding: 14px; grid-template-columns: 125px minmax(0, 1fr); gap: 20px; }
.brand-family-model img { width: 125px; height: 108px; }
.brand-family-model h4 { margin: 5px 0 8px; font-size: clamp(21px, 2vw, 28px); }

/* Navegación continua y ficha técnica comparable en cada producto. */
.product-context-nav {
    position: sticky;
    top: 0;
    z-index: 10;
    width: 100%;
    min-height: 68px;
    padding: 10px max(24px, calc((100% - 1180px) / 2));
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
    align-items: center;
    gap: 18px;
    border-bottom: 1px solid rgba(16, 31, 55, .1);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 10px 26px rgba(15, 36, 74, .07);
    backdrop-filter: blur(14px);
}

.product-family-back { display: grid; gap: 1px; color: var(--sf-ink); text-decoration: none; }
.product-family-back span { color: var(--sf-blue); font-size: 11px; font-weight: 850; }
.product-family-back strong { font-size: 14px; }
.product-family-position { color: var(--sf-muted); font-size: 12px; font-weight: 750; }
.product-context-nav > div { display: flex; justify-content: flex-end; gap: 8px; }
.product-context-nav > div a,
.product-context-nav > div span {
    min-width: 92px;
    padding: 10px 12px;
    border: 1px solid rgba(16, 31, 55, .14);
    border-radius: 10px;
    color: var(--sf-blue);
    font-size: 12px;
    font-weight: 850;
    text-align: center;
    text-decoration: none;
}
.product-context-nav > div span { color: #a8b2c1; }

.product-technical-sheet {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 62px 0 42px;
    scroll-margin-top: 92px;
}

.storefront-page { overflow-x: hidden; }

.product-technical-sheet > header {
    margin-bottom: 22px;
    display: grid;
    grid-template-columns: 1fr .75fr;
    align-items: end;
    gap: 52px;
}
.product-technical-sheet h2 { margin: 5px 0 0; color: var(--sf-blue-dark); font-size: clamp(34px, 4vw, 54px); }
.product-technical-sheet > header > p { margin: 0; color: var(--sf-muted); line-height: 1.65; }
.product-technical-layout { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(280px, .7fr); gap: 18px; align-items: start; }
.product-spec-card,
.product-commercial-card { border: 1px solid #dde5ef; border-radius: 18px; background: #fff; }
.product-spec-card { padding: 10px 24px; }
.product-spec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-spec-grid div { min-height: 94px; padding: 17px 18px; display: block; border-top: 1px solid #edf1f5; }
.product-spec-grid div:nth-child(-n + 2) { border-top: 0; }
.product-spec-grid div:nth-child(odd) { border-right: 1px solid #edf1f5; }
.product-spec-grid dt { margin-bottom: 7px; color: var(--sf-muted); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.product-spec-grid dd { color: var(--sf-ink); font-size: 14px; line-height: 1.45; text-align: left; }
.product-spec-grid .is-critical { background: linear-gradient(135deg, #f0f7ff, #fff); }
.product-spec-grid .is-critical dt { color: var(--sf-blue); }
.product-spec-grid .is-critical dd { font-size: 16px; }
.product-commercial-card { padding: 24px; }
.product-commercial-card h3 { margin: 7px 0 12px; color: var(--sf-blue); font-size: 25px; line-height: 1.05; }
.product-commercial-card > p:not(.storefront-kicker) { color: var(--sf-muted); font-size: 13px; line-height: 1.55; }
.product-commercial-card dl { margin: 18px 0; }
.product-commercial-card dl div { padding: 11px 0; border-top: 1px solid #edf1f5; }
.product-commercial-card dt { color: var(--sf-blue); font-size: 12px; font-weight: 900; }
.product-commercial-card dd { margin: 3px 0 0; color: var(--sf-muted); font-size: 12px; }
.product-commercial-card > a { color: var(--sf-blue); font-size: 12px; font-weight: 900; text-decoration: none; }
.product-supporting-assets { padding-top: 28px; }
.storefront-product-detail > article:only-child { grid-column: 1 / -1; }

@media (max-width: 900px) {
    .brand-catalog-toolbar { top: 70px; grid-template-columns: 1fr minmax(240px, .8fr); }
    .brand-catalog-toolbar label { display: none; }
    .product-context-nav { grid-template-columns: 1fr auto; }
    .product-family-position { display: none; }
    .product-technical-layout,
    .product-technical-sheet > header { grid-template-columns: 1fr; gap: 18px; }
}

@media (max-width: 680px) {
    .brand-catalog-toolbar { position: static; grid-template-columns: 1fr; }
    .brand-family-group > summary { min-height: 82px; padding: 15px; }
    .brand-family-group summary p { display: none; }
    .brand-family-content { padding: 0 14px 18px; }
    .brand-family-model { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; }
    .brand-family-model img { width: 92px; height: 88px; }
    .brand-family-model p { display: none; }
    .product-context-nav { position: static; padding: 10px 16px; grid-template-columns: 1fr; }
    .product-context-nav > div { justify-content: stretch; }
    .product-context-nav > div > * { flex: 1; }
    .product-technical-sheet { width: min(100% - 32px, 1180px); padding-top: 42px; }
    .product-spec-card { padding: 4px 16px; }
    .product-spec-grid { grid-template-columns: 1fr; }
    .product-spec-grid div:nth-child(odd) { border-right: 0; }
    .product-spec-grid div:nth-child(2) { border-top: 1px solid #edf1f5; }
}

/* Marketing campaigns: governed admin cards and responsive storefront placements. */
.brand-hero-admin {
    width: min(100% - 48px, 1240px);
    margin: 0 auto 54px;
    padding: 34px;
    border: 1px solid #dce5ef;
    border-radius: 24px;
    background: linear-gradient(145deg, #f8fbff, #eef4fb);
}

.brand-hero-admin-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.brand-hero-admin-heading h2 {
    margin: 6px 0 10px;
    color: #10233f;
    font-size: clamp(30px, 4vw, 48px);
    letter-spacing: -.045em;
}

.brand-hero-admin-heading > div > p:last-child {
    max-width: 760px;
    color: #56657a;
}

.brand-hero-admin-heading > span {
    padding: 8px 12px;
    border-radius: 999px;
    background: #10233f;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.brand-hero-create {
    margin-bottom: 26px;
}

.brand-hero-create > summary {
    width: fit-content;
    list-style: none;
    cursor: pointer;
}

.brand-hero-create > summary::-webkit-details-marker { display: none; }
.brand-hero-create > form { margin-top: 18px; }
.brand-hero-create .wide { grid-column: 1 / -1; }

.brand-hero-admin-grid {
    display: grid;
    gap: 22px;
}

.brand-hero-admin-card {
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
    border: 1px solid #d8e1ec;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(15, 38, 71, .08);
}

.brand-hero-admin-media {
    position: relative;
    min-height: 360px;
    background: #071126;
}

.brand-hero-admin-media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brand-hero-admin-media .status-pill {
    position: absolute;
    top: 18px;
    left: 18px;
}

.brand-hero-admin-copy {
    padding: 28px;
}

.brand-hero-admin-copy h3 {
    margin: 8px 0 12px;
    color: #001f83;
    font-size: 32px;
    line-height: 1;
    letter-spacing: -.04em;
}

.brand-hero-admin-copy > p:not(.eyebrow) {
    color: #56657a;
    line-height: 1.6;
}

.brand-hero-admin-copy dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 20px 0;
}

.brand-hero-admin-copy dl div {
    padding-top: 10px;
    border-top: 1px solid #e5ebf2;
}

.brand-hero-admin-copy dt { color: #78879a; font-size: 11px; text-transform: uppercase; }
.brand-hero-admin-copy dd { margin: 5px 0 0; color: #10233f; font-weight: 750; }

.brand-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.brand-hero-history {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e5ebf2;
}

.brand-hero-history > summary { color: #001f83; font-weight: 800; cursor: pointer; }
.brand-hero-history ul { margin: 12px 0 0; padding: 0; list-style: none; }
.brand-hero-history li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid #edf1f5; font-size: 12px; }

.hero-preview-toolbar {
    width: min(100% - 48px, 1240px);
    margin: 30px auto 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.hero-preview-toolbar div { display: grid; gap: 4px; }
.hero-preview-toolbar span { color: #68778a; font-size: 12px; }
.hero-admin-preview { margin-bottom: 60px; }

.marketing-layout,
.marketing-catalog,
.marketing-grid,
.marketing-card-copy,
.storefront-campaigns,
.storefront-campaign-carousel,
.storefront-campaign-copy {
    display: grid;
    gap: 24px;
}

.marketing-layout {
    width: min(100% - 48px, 1240px);
    margin: 0 auto 72px;
}

.marketing-form .wide {
    grid-column: 1 / -1;
}

.marketing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.marketing-card {
    overflow: hidden;
    border: 1px solid var(--line, #dfe6ee);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 34px rgb(15 38 71 / 8%);
}

.marketing-card > img {
    display: block;
    width: 100%;
    height: 320px;
    object-fit: contain;
    background: #f4f7fa;
}

.marketing-card-copy {
    padding: 24px;
    gap: 12px;
}

.marketing-card-status,
.marketing-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.marketing-price {
    color: #071a75;
    font-size: 28px;
}

.marketing-card dl,
.marketing-card dl div {
    display: grid;
    gap: 4px;
}

.marketing-card dl {
    grid-template-columns: 1fr 1fr;
    padding-top: 12px;
    border-top: 1px solid #e6ebf1;
}

.marketing-editor {
    padding-top: 12px;
    border-top: 1px solid #e6ebf1;
}

.marketing-editor > summary {
    width: fit-content;
    list-style: none;
    cursor: pointer;
}

.marketing-editor > summary::-webkit-details-marker {
    display: none;
}

.marketing-editor form {
    display: grid;
    gap: 18px;
    margin-top: 18px;
    padding: 18px;
    border-radius: 14px;
    background: #f6f8fb;
}

.marketing-card dt {
    color: #667085;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.storefront-campaigns {
    width: min(100% - 48px, 1320px);
    margin: 0 auto;
    padding: 88px 0;
}

.storefront-campaign-viewport {
    overflow: hidden;
    border-radius: 28px;
}

.storefront-campaign-track {
    display: flex;
    gap: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.storefront-campaign-track::-webkit-scrollbar {
    display: none;
}

.storefront-campaign-card {
    display: grid;
    flex: 0 0 100%;
    grid-template-columns: minmax(400px, .9fr) minmax(480px, 1.1fr);
    overflow: hidden;
    min-height: 0;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 24px 70px rgb(7 26 117 / 12%);
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.storefront-campaign-card.is-banner,
.storefront-campaign-card.placement-home_hero,
.storefront-campaign-card:only-child {
    align-items: stretch;
}

.storefront-campaign-image {
    display: grid;
    min-height: 440px;
    place-items: start center;
    background: #f5f7fb;
}

.storefront-campaign-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 760px;
    object-fit: contain;
    object-position: top center;
}

.storefront-campaign-copy {
    align-content: center;
    padding: clamp(28px, 5vw, 64px);
}

.storefront-campaign-copy h3 {
    margin: 0;
    color: #071a75;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1.03;
}

.storefront-campaign-copy > p:not(.storefront-kicker) {
    margin: 0;
    color: #475467;
    font-size: 18px;
    line-height: 1.65;
}

.storefront-offer-label {
    color: #f07d32;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.storefront-campaign-price {
    color: #071a75;
    font-size: clamp(34px, 5vw, 60px);
    line-height: 1;
}

.storefront-campaign-price small {
    font-size: 14px;
}

.storefront-campaign-terms,
.storefront-campaign-validity {
    color: #667085;
    line-height: 1.5;
}

.storefront-campaign-copy .storefront-button {
    width: fit-content;
}

.storefront-campaign-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.storefront-campaign-controls button {
    display: grid;
    width: 48px;
    height: 48px;
    padding: 0;
    place-items: center;
    border: 1px solid #d6deea;
    border-radius: 50%;
    background: #fff;
    color: #071a75;
    font: inherit;
    font-size: 24px;
    cursor: pointer;
    box-shadow: 0 8px 24px rgb(7 26 117 / 10%);
}

.storefront-campaign-controls button:hover,
.storefront-campaign-controls button:focus-visible {
    border-color: #071a75;
    outline: 3px solid rgb(7 26 117 / 12%);
}

.storefront-campaign-controls button:disabled {
    opacity: .35;
    cursor: default;
}

.storefront-campaign-controls output {
    min-width: 70px;
    color: #344054;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 980px) {
    .brand-hero-admin-card { grid-template-columns: 1fr; }
    .brand-hero-admin-media { min-height: 300px; }

    .marketing-grid {
        grid-template-columns: 1fr;
    }

    .storefront-campaign-track .storefront-campaign-card {
        grid-template-columns: 1fr;
    }

    .storefront-campaign-image {
        min-height: 420px;
    }
}

@media (max-width: 600px) {
    .brand-hero-admin { width: calc(100% - 24px); padding: 22px; }
    .brand-hero-admin-heading, .hero-preview-toolbar { flex-direction: column; }
    .brand-hero-admin-copy dl { grid-template-columns: 1fr; }
    .brand-hero-history li { align-items: flex-start; flex-direction: column; }
    .marketing-layout,
    .storefront-campaigns {
        width: min(100% - 32px, 1240px);
    }

    .storefront-campaigns {
        padding: 56px 0;
    }

    .storefront-campaign-image {
        min-height: 320px;
    }

    .storefront-campaign-copy {
        padding: 28px 22px;
    }

    .marketing-card dl {
        grid-template-columns: 1fr;
    }
}
/* Site information architecture */
.site-structure-heading{align-items:flex-end}.site-structure-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}.site-structure-summary article{background:#fff;border:1px solid #dfe5ee;border-radius:14px;padding:18px;display:grid;gap:4px}.site-structure-summary strong{font-size:1.8rem;color:#001489}.site-structure-summary span{font-size:.82rem;color:#5a6473}.site-structure-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 22px}.site-structure-legend>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;background:#f7f9fc;border-radius:12px;padding:12px}.site-structure-legend small{grid-column:2;color:#687386}.structure-light{display:inline-block;width:11px;height:11px;border-radius:50%;margin-top:4px;background:#b7c0cc;box-shadow:0 0 0 4px rgba(183,192,204,.18)}.structure-light-empty{background:#aab3c0}.structure-light-progress{background:#ff9c45}.structure-light-ready{background:#19a974}.structure-light-live{background:#001489}.site-structure-tree{display:grid;gap:16px}.site-structure-branch{background:#fff;border:1px solid #dfe5ee;border-radius:18px;overflow:hidden}.site-structure-branch>header{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:20px}.site-structure-branch h2{margin:2px 0 5px}.site-structure-branch code,.site-structure-node code{color:#667085;font-size:.76rem}.site-structure-state{display:grid;justify-items:end;gap:4px}.site-structure-state>strong{font-size:1.5rem;color:#001489}.site-structure-state small{color:#667085}.site-structure-children{border-top:1px solid #e8ecf2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.site-structure-node{display:grid;grid-template-columns:auto 1fr auto;gap:11px;padding:15px 20px;border-bottom:1px solid #eef1f5}.site-structure-node:nth-child(odd){border-right:1px solid #eef1f5}.site-structure-node>div{display:grid;gap:4px}.site-structure-node small{color:#667085}.site-page-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.site-page-form{display:grid;gap:24px}.site-page-form>section{display:grid;gap:14px;border-bottom:1px solid #e5e9f0;padding-bottom:22px}.site-page-governance{position:sticky;top:18px;display:grid;gap:14px;background:#f7f9fc;border:1px solid #dfe5ee;border-radius:18px;padding:20px}.site-page-score{display:grid;justify-items:center;padding:18px;border-radius:14px;background:#001489;color:#fff}.site-page-score strong{font-size:2.5rem}.site-page-score span{font-size:.8rem}.site-page-checks{list-style:none;padding:0;margin:0;display:grid;gap:7px}.site-page-checks li{display:flex;gap:8px;align-items:center;font-size:.86rem}.site-page-checks .passed{color:#087a56}.site-page-checks .pending{color:#7a8492}.site-page-status-card{display:grid;gap:4px;background:#fff;border-radius:12px;padding:14px}.site-page-rule{font-size:.82rem;color:#5f6a79}.structured-page-hero{min-height:65vh;padding:clamp(80px,11vw,160px) max(6vw,24px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:7vw;align-items:center;background:linear-gradient(135deg,#edf6f2,#f6f8fb)}.structured-page-hero h1{font-size:clamp(3rem,6vw,6.5rem);line-height:.92;max-width:1000px;margin:.2em 0}.structured-page-hero>div>p{font-size:clamp(1.05rem,1.6vw,1.35rem);max-width:760px}.structured-page-hero>aside{background:#001489;color:#fff;padding:28px;border-radius:22px;display:grid;gap:9px}.structured-page-hero>aside strong{font-size:1.7rem}.structured-page-actions{display:flex;align-items:center;gap:20px;margin-top:28px}.structured-page-body{padding:clamp(70px,9vw,130px) max(6vw,24px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);gap:8vw;align-items:start}.structured-page-body article{font-size:1.15rem;line-height:1.8}.structured-page-body aside{background:#f4f7fb;border-radius:24px;padding:30px}.structured-page-body aside h2{font-size:2rem;line-height:1.05}.site-structure-empty{margin-top:20px}
@media(max-width:900px){.site-structure-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.site-structure-legend{grid-template-columns:1fr 1fr}.site-structure-children{grid-template-columns:1fr}.site-structure-node:nth-child(odd){border-right:0}.site-page-edit-layout{grid-template-columns:1fr}.site-page-governance{position:static}.structured-page-hero,.structured-page-body{grid-template-columns:1fr}.structured-page-hero{min-height:auto}.structured-page-actions{align-items:flex-start;flex-direction:column}}
/* SEO content hub */
.content-hub-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px}.content-hub-summary article{display:grid;gap:4px;background:#fff;border:1px solid #dfe5ee;border-radius:14px;padding:17px}.content-hub-summary strong{font-size:1.8rem;color:#001489}.content-hub-summary span{color:#667085;font-size:.82rem}.content-hub-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:22px;align-items:start}.content-create-form{position:sticky;top:18px;display:grid;gap:14px}.content-format-guide{display:grid;gap:4px;background:#f4f7fb;border-radius:12px;padding:14px}.content-format-guide span{font-size:.82rem;color:#667085;margin-bottom:7px}.content-entry-list{display:grid;gap:12px}.content-entry-list>article{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid #dfe5ee;border-radius:16px;padding:18px 20px}.content-entry-list h2{margin:7px 0 5px}.content-entry-list code{color:#667085;font-size:.78rem}.content-entry-progress{display:grid;justify-items:end;gap:5px}.content-entry-progress>strong{font-size:1.45rem;color:#001489}.content-entry-progress>span{font-size:.78rem;color:#667085}.content-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.content-edit-form{display:grid;gap:20px}.content-edit-form>section{display:grid;gap:12px;padding-top:16px;border-top:1px solid #e5e9f0}.content-public-main>header{padding:clamp(80px,10vw,150px) max(10vw,24px);background:linear-gradient(140deg,#eef7f3,#f7f8fc)}.content-public-main>header h1{font-size:clamp(2.8rem,6vw,6rem);line-height:.95;max-width:1100px;margin:.25em 0}.content-public-main>header>p{font-size:1.25rem;line-height:1.65;max-width:850px}.content-public-main>header small{color:#667085}.content-public-layout{padding:clamp(65px,9vw,120px) max(10vw,24px);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:8vw;align-items:start}.content-public-layout>article{font-size:1.13rem;line-height:1.85}.content-public-layout>aside{position:sticky;top:20px;display:grid;gap:13px;background:#f4f7fb;border-radius:22px;padding:26px}.content-public-layout>aside h2{font-size:1.8rem;margin:.1em 0}.content-public-layout>aside>a:not(.storefront-primary){padding:10px 0;border-bottom:1px solid #dfe5ee}
@media(max-width:900px){.content-hub-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.content-hub-layout,.content-edit-layout,.content-public-layout{grid-template-columns:1fr}.content-create-form,.content-public-layout>aside{position:static}}

/* Public structure: readable long-form copy and progressive child navigation */
.structured-page-copy{display:grid;gap:14px}
.structured-page-copy h2{margin:38px 0 0;color:#001489;font-size:clamp(2rem,3vw,3.2rem);line-height:1.05}
.structured-page-copy h2:first-child{margin-top:0}
.structured-page-copy h3{margin:18px 0 0;color:#14213d;font-size:1.35rem}
.structured-page-copy p{margin:0;color:#445066}
.structured-page-copy ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0 18px;padding:0;list-style:none}
.structured-page-copy li{position:relative;padding:16px 18px 16px 42px;border:1px solid #dde5ef;border-radius:14px;background:#fff;color:#26344b;font-weight:650;line-height:1.45}
.structured-page-copy li::before{content:'✓';position:absolute;left:17px;color:#008b66;font-weight:900}
.structured-page-children{padding:0 max(6vw,24px) clamp(80px,10vw,140px)}
.structured-page-children>div:first-child{max-width:760px}
.structured-page-children h2{font-size:clamp(2.2rem,4vw,4.5rem);line-height:1;margin:.2em 0 .7em}
.structured-page-children-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.structured-page-children-grid a{display:grid;grid-template-columns:1fr auto;gap:10px;padding:24px;border:1px solid #dbe3ee;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgb(7 26 117 / 7%)}
.structured-page-children-grid strong{font-size:1.2rem;color:#001489}
.structured-page-children-grid span{grid-column:1/-1;color:#5b6574;line-height:1.5}
.structured-page-children-grid i{color:#008b66;font-style:normal;font-size:1.4rem}
@media(max-width:900px){.structured-page-copy ul,.structured-page-children-grid{grid-template-columns:1fr}}

/* Structured commercial pages: compact, colorful and space-efficient */
.storefront-structured-page{
    --structured-accent:#00a97b;
    --structured-accent-soft:#dff7ee;
    --structured-deep:#001489;
}
.storefront-structured-page.structured-theme-products{--structured-accent:#00a97b;--structured-accent-soft:#ddf7ef;--structured-deep:#001489}
.storefront-structured-page.structured-theme-solutions{--structured-accent:#36b8ea;--structured-accent-soft:#e2f5fd;--structured-deep:#06177e}
.storefront-structured-page.structured-theme-brands{--structured-accent:#ff8a43;--structured-accent-soft:#fff0e6;--structured-deep:#001489}
.storefront-structured-page.structured-theme-services{--structured-accent:#7a65e8;--structured-accent-soft:#eeeafd;--structured-deep:#08136e}
.storefront-structured-page main{width:100%;max-width:none;margin:0;padding:0;overflow:hidden}
.storefront-structured-page .storefront-nav{min-height:82px}
.structured-page-hero{
    position:relative;
    width:min(1480px,calc(100% - 48px));
    min-height:520px;
    margin:24px auto 0;
    padding:clamp(54px,6vw,88px);
    grid-template-columns:minmax(0,1.3fr) minmax(330px,.62fr);
    gap:clamp(40px,6vw,90px);
    border-radius:34px;
    overflow:hidden;
    background:linear-gradient(135deg,var(--structured-accent-soft) 0%,#f8fafc 58%,#eef2f8 100%);
}
.structured-page-hero::before{content:'';position:absolute;top:-130px;right:27%;width:300px;height:300px;border:70px solid color-mix(in srgb,var(--structured-accent) 15%,transparent);border-radius:50%;pointer-events:none}
.structured-page-hero::after{content:'';position:absolute;left:0;bottom:0;width:42%;height:8px;background:linear-gradient(90deg,var(--structured-accent),#526cff)}
.structured-page-hero>div,.structured-page-hero>aside{position:relative;z-index:1}
.structured-page-hero h1{max-width:900px;margin:.2em 0 .28em;font-size:clamp(3rem,4.6vw,5.25rem);line-height:.96;letter-spacing:-.055em;text-wrap:balance}
.structured-page-hero>div>p:not(.storefront-kicker){max-width:820px;margin:0;color:#465269;font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.65}
.structured-page-hero .storefront-kicker{color:var(--structured-deep);font-size:.78rem;letter-spacing:.18em}
.structured-page-actions{margin-top:30px}
.structured-page-actions>a:not(.storefront-primary){color:var(--structured-deep);font-weight:800;text-decoration:none}
.structured-page-visual{align-self:stretch;min-height:330px;padding:clamp(30px,4vw,52px);align-content:end;border-radius:28px;background:linear-gradient(145deg,var(--structured-deep),#1428c8);box-shadow:0 30px 70px rgb(0 20 137 / 22%)}
.structured-page-visual>span{color:var(--structured-accent-soft);font-size:.72rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.structured-page-visual>strong{max-width:390px;color:#fff;font-size:clamp(1.8rem,2.5vw,3.1rem);line-height:1.03;letter-spacing:-.04em}
.structured-page-visual>small{color:rgb(255 255 255 / 74%);font-size:.9rem;line-height:1.5}
.structured-page-visual>div{display:flex;gap:9px;margin:14px 0 22px}
.structured-page-visual i{display:block;width:48px;height:7px;border-radius:999px;background:var(--structured-accent)}
.structured-page-visual i:nth-child(2){width:78px;background:#fff}.structured-page-visual i:nth-child(3){width:24px;background:#ff8a43}
.structured-page-signal{position:relative;z-index:2;width:min(1240px,calc(100% - 80px));margin:-34px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dce4ee;border-radius:22px;background:#fff;box-shadow:0 18px 50px rgb(7 26 117 / 10%);overflow:hidden}
.structured-page-signal>div{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:24px 30px;border-right:1px solid #e3e9f0}
.structured-page-signal>div:last-child{border-right:0}
.structured-page-signal span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--structured-accent-soft);color:var(--structured-deep);font-size:.7rem;font-weight:900}
.structured-page-signal strong{color:#243047;font-size:.94rem}
.structured-page-body{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:clamp(76px,8vw,116px) 0;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(38px,5vw,72px)}
.structured-page-body>aside{position:sticky;top:24px;border:1px solid #dfe6ef;background:linear-gradient(155deg,#fff,var(--structured-accent-soft));box-shadow:0 18px 45px rgb(7 26 117 / 7%)}
.structured-page-body>aside .storefront-kicker{color:var(--structured-deep)}
.structured-page-body>aside h2{color:var(--structured-deep)}
.structured-page-copy{gap:18px}
.structured-page-copy h2{max-width:900px;margin-top:46px;color:var(--structured-deep);font-size:clamp(2.15rem,3.25vw,3.65rem);letter-spacing:-.04em;text-wrap:balance}
.structured-page-copy p{max-width:930px;font-size:1.08rem;line-height:1.8}
.structured-page-copy ul{gap:14px}
.structured-page-copy li{min-height:96px;display:flex;align-items:center;padding:20px 22px 20px 50px;border-color:#dbe3ed;box-shadow:0 8px 25px rgb(7 26 117 / 5%)}
.structured-page-copy li::before{left:20px;color:var(--structured-accent);font-size:1.2rem}
.structured-page-children{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:0 0 clamp(80px,9vw,130px)}
@media(max-width:980px){
    .structured-page-hero{min-height:0;grid-template-columns:1fr;margin-top:12px;padding:54px 42px}
    .structured-page-visual{min-height:250px}
    .structured-page-signal{width:min(100% - 48px,760px);grid-template-columns:1fr;margin-top:-24px}
    .structured-page-signal>div{border-right:0;border-bottom:1px solid #e3e9f0}
    .structured-page-signal>div:last-child{border-bottom:0}
    .structured-page-body{grid-template-columns:1fr}
    .structured-page-body>aside{position:static}
}
@media(max-width:640px){
    .storefront-structured-page .storefront-nav{min-height:68px}
    .structured-page-hero{width:calc(100% - 24px);padding:40px 24px;border-radius:24px}
    .structured-page-hero h1{font-size:clamp(2.65rem,13vw,4rem)}
    .structured-page-actions{align-items:stretch}
    .structured-page-actions a{text-align:center}
    .structured-page-visual{min-height:220px;padding:28px 24px}
    .structured-page-signal{width:calc(100% - 40px)}
    .structured-page-signal>div{padding:18px 20px}
    .structured-page-body,.structured-page-children{width:calc(100% - 32px)}
    .structured-page-copy ul{grid-template-columns:1fr}
    .structured-page-copy li{min-height:0}
}

/* Governed section banners and measurable reactions */
.section-banner{--banner-accent:#00a97b;width:min(1320px,calc(100% - 48px));margin:clamp(58px,7vw,94px) auto 0;display:grid;grid-template-columns:minmax(420px,.95fr) minmax(430px,1.05fr);min-height:470px;border-radius:30px;overflow:hidden;background:#071568;color:#fff;box-shadow:0 32px 80px rgb(7 21 104 / 20%)}
.section-banner picture{display:block;min-height:100%;background:#eef2f7}
.section-banner img{display:block;width:100%;height:100%;object-fit:cover}
.section-banner-copy{position:relative;display:grid;align-content:center;gap:18px;padding:clamp(38px,5vw,72px);background:radial-gradient(circle at 95% 8%,color-mix(in srgb,var(--banner-accent) 42%,transparent),transparent 38%),linear-gradient(145deg,#071568,#001489)}
.section-banner-copy::after{content:'';position:absolute;right:0;bottom:0;width:44%;height:7px;background:var(--banner-accent)}
.section-banner-copy .storefront-kicker{margin:0;color:color-mix(in srgb,var(--banner-accent) 62%,#fff);letter-spacing:.16em}
.section-banner-copy h1,.section-banner-copy h2{max-width:700px;margin:0;color:#fff;font-size:clamp(2.4rem,3.65vw,4.35rem);line-height:.98;letter-spacing:-.05em;text-wrap:balance}
.section-banner-primary{min-height:540px;margin-top:24px}

/* Shared storefront shell: one inherited menu and one compact local menu */
.storefront-global-header{
    position:relative;
    z-index:80;
    width:min(1480px,calc(100% - 48px));
    min-height:76px;
    margin:0 auto;
    border-bottom:1px solid #e5eaf1;
    background:rgba(255,255,255,.96);
}
.storefront-global-header .storefront-brand strong{display:grid;line-height:1.05}
.storefront-global-header .storefront-brand small{font-size:.58rem;letter-spacing:.12em}
.storefront-global-header .storefront-primary-nav{gap:22px}
.storefront-global-header .storefront-primary-nav>a{position:relative;padding:27px 0}
.storefront-global-header .storefront-primary-nav>a.is-active{color:#001489}
.storefront-global-header .storefront-primary-nav>a.is-active::after{content:'';position:absolute;left:0;right:0;bottom:18px;height:2px;border-radius:99px;background:#00a97b}
.storefront-header-cta{transform:none;white-space:nowrap}
.storefront-more-menu,.storefront-mobile-menu{position:relative}
.storefront-more-menu summary,.storefront-mobile-menu summary,.storefront-mega-trigger>summary{cursor:pointer;list-style:none;color:#545b6a;font-size:13px;font-weight:800}
.storefront-more-menu summary::-webkit-details-marker,.storefront-mobile-menu summary::-webkit-details-marker,.storefront-mega-trigger>summary::-webkit-details-marker{display:none}
.storefront-more-menu summary::after{content:'+';margin-left:7px;color:#008b66}
.storefront-more-menu[open] summary::after{content:'−'}
.storefront-more-menu>div{position:absolute;top:32px;right:0;min-width:220px;display:grid;gap:2px;padding:10px;border:1px solid #dfe6ef;border-radius:14px;background:#fff;box-shadow:0 20px 50px rgb(7 26 117 / 15%)}
.storefront-more-menu>div a{padding:10px 12px;border-radius:9px}
.storefront-more-menu>div a:hover{background:#f2f6fa}
.storefront-mega-trigger{position:relative}
.storefront-mega-trigger>summary{position:relative;padding:27px 0}
.storefront-mega-trigger>summary::after{content:'⌄';margin-left:6px;color:#008b66;font-size:.8rem}
.storefront-mega-trigger.is-active>summary{color:#001489}
.storefront-mega-trigger.is-active>summary::before{content:'';position:absolute;left:0;right:0;bottom:18px;height:2px;border-radius:99px;background:#00a97b}
.storefront-brand-menu{position:absolute;top:58px;right:0;min-width:310px;display:grid!important;gap:4px;padding:12px;border:1px solid #dfe6ef;border-radius:16px;background:#fff;box-shadow:0 24px 60px rgb(7 26 117 / 18%)}
.storefront-brand-menu>a{display:grid;gap:2px;padding:13px 14px;border-radius:11px}
.storefront-brand-menu>a:hover{background:#f1f6f8}
.storefront-brand-menu span{color:#687386;font-size:.72rem;font-weight:600}
.storefront-brand-menu strong{color:#001489;font-size:.96rem}
.storefront-brand-menu .storefront-menu-overview{border-bottom:1px solid #e6ebf1;border-radius:10px 10px 0 0;margin-bottom:3px}
.storefront-product-menu{position:fixed;z-index:120;top:76px;left:50vw;width:min(1480px,calc(100vw - 48px));max-height:calc(100vh - 96px);display:block!important;overflow:auto;transform:translateX(-50%);border:1px solid #dce4ee;border-radius:0 0 24px 24px;background:#fff;box-shadow:0 28px 70px rgb(7 26 117 / 20%)}
.storefront-mega-trigger:not([open])>.storefront-product-menu,
.storefront-mega-trigger:not([open])>.storefront-brand-menu,
.storefront-mega-trigger:not([open])>.storefront-assistpro-menu{display:none!important}
.storefront-assistpro-menu{position:fixed;z-index:120;top:76px;left:50vw;width:min(1320px,calc(100vw - 48px));max-height:calc(100vh - 96px);display:block!important;overflow:auto;transform:translateX(-50%);border:1px solid #dce4ee;border-radius:0 0 24px 24px;background:#fff;box-shadow:0 28px 70px rgb(7 26 117 / 20%)}
.storefront-assistpro-menu>header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 24px;border-bottom:1px solid #e3e9f0;background:#f3f8f7}
.storefront-assistpro-menu>header>div{display:grid;gap:2px}
.storefront-assistpro-menu>header span{color:#008b66;font-size:.68rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.storefront-assistpro-menu>header strong{color:#001489;font-size:1.05rem}
.storefront-assistpro-menu>header>a{color:#001489;font-size:.78rem;font-weight:850}
.storefront-assistpro-menu>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:14px}
.storefront-assistpro-menu>div>a{min-height:74px;padding:13px 14px;display:flex;flex-direction:column;justify-content:center;border-radius:11px;color:inherit;text-decoration:none}
.storefront-assistpro-menu>div>a:hover{background:#f1f6f8}
.storefront-assistpro-menu>div small{color:#008b66;font-size:.58rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.storefront-assistpro-menu>div strong{margin-top:4px;color:#001489;font-size:.84rem;line-height:1.15}
.storefront-product-menu>header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;border-bottom:1px solid #e3e9f0;background:#f3f8f7}
.storefront-product-menu>header>div{display:grid;gap:2px}
.storefront-product-menu>header span{color:#008b66;font-size:.68rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.storefront-product-menu>header strong{color:#001489;font-size:1.12rem}
.storefront-product-menu>header>a{color:#001489;font-weight:850}
.storefront-product-families{display:grid!important;grid-template-columns:repeat(4,minmax(210px,1fr));gap:0;padding:10px 16px 20px}
.storefront-product-families>section{min-width:0;padding:16px;border-right:1px solid #edf0f4;border-bottom:1px solid #edf0f4}
.storefront-product-families>section:nth-child(4n){border-right:0}
.storefront-family-link{display:grid;gap:3px;padding-bottom:10px!important;border-bottom:2px solid #e6ecef}
.storefront-family-link small{color:#008b66;font-size:.65rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.storefront-family-link strong{color:#001489;font-size:.94rem;line-height:1.25}
.storefront-family-link span{color:#526078;font-size:.73rem;font-weight:750}
.storefront-product-families ul{display:grid;gap:2px;margin:9px 0 0;padding:0;list-style:none}
.storefront-product-families li a{display:block;padding:5px 0;color:#4f5c71;font-size:.75rem;font-weight:650;line-height:1.25}
.storefront-product-families li a:hover{color:#001489;text-decoration:underline}
.storefront-mobile-menu{display:none}
.storefront-section-nav{position:relative;z-index:60;width:min(1480px,calc(100% - 48px));min-height:48px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 0;border-bottom:1px solid #e5eaf1;background:#fff;overflow-x:auto}
.storefront-section-nav a{padding:7px 13px;border-radius:999px;color:#526078;font-size:.78rem;font-weight:750;text-decoration:none;white-space:nowrap}
.storefront-section-nav a:hover{color:#001489;background:#eef4f8}

/* Safe editorial restore */
.site-page-live-card{display:grid;gap:4px;padding:14px;border:1px solid #dde4ed;border-radius:12px;background:#fff;color:#596579}
.site-page-live-card.is-live{border-color:#a9dfcc;background:#effaf6;color:#086b4f}
.site-page-live-card span,.site-page-live-card small{font-size:.78rem}
.site-page-history{margin:28px 0 0;padding:24px;border:1px solid #dfe5ee;border-radius:18px;background:#fff}
.site-page-history>header{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:18px;border-bottom:1px solid #e8ecf2}
.site-page-history>header h2{margin:.2em 0 0}
.site-page-history>header>p{max-width:560px;margin:0;color:#667085;font-size:.9rem}
.site-page-history-list{display:grid}
.site-page-history-list article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #eef1f5}
.site-page-history-list article:last-child{border-bottom:0}
.site-page-history-list article>div{display:grid;gap:3px}
.site-page-history-list span,.site-page-history-list small{color:#667085}
.site-page-history-list small{font-size:.75rem}

@media(max-width:980px){
    .storefront-global-header{width:calc(100% - 28px);gap:14px}
    .storefront-global-header .storefront-primary-nav{display:none}
    .storefront-global-header .storefront-mobile-menu{display:block;margin-left:auto}
    .storefront-global-header .storefront-mobile-menu[open]>nav{position:absolute;top:34px;right:0;width:min(340px,calc(100vw - 32px));max-height:calc(100vh - 100px);display:grid;gap:2px;padding:12px;overflow:auto;border:1px solid #dfe6ef;border-radius:14px;background:#fff;box-shadow:0 20px 50px rgb(7 26 117 / 16%)}
    .storefront-global-header .storefront-mobile-menu nav a{padding:10px 12px;border-radius:9px}
    .storefront-global-header .storefront-mobile-menu nav>details{border-bottom:1px solid #e8edf2}
    .storefront-global-header .storefront-mobile-menu nav details>summary{padding:11px 12px;color:#001489}
    .storefront-global-header .storefront-mobile-menu nav details>summary::after{content:'+';float:right;color:#008b66}
    .storefront-global-header .storefront-mobile-menu nav details[open]>summary::after{content:'−'}
    .storefront-global-header .storefront-mobile-menu nav details>div{display:grid;padding:2px 0 8px 10px}
    .storefront-global-header .storefront-mobile-menu nav details details{margin-left:4px;border-left:2px solid #e3efeb}
    .storefront-global-header .storefront-mobile-menu nav details details a{padding-block:7px;font-size:.75rem}
    .storefront-section-nav{width:100%;justify-content:flex-start;padding-inline:14px}
}
@media(max-width:640px){
    .storefront-global-header{min-height:66px}
    .storefront-global-header .storefront-brand strong{font-size:.78rem}
    .storefront-global-header .storefront-brand>span{width:34px;height:34px}
    .storefront-global-header .storefront-header-cta{display:none}
    .site-page-history>header,.site-page-history-list article{align-items:flex-start;flex-direction:column}
}
.section-banner-primary+.structured-page-signal{margin-top:-24px}
.section-banner-promise{max-width:620px;color:color-mix(in srgb,var(--banner-accent) 62%,#fff);font-size:clamp(1.05rem,1.45vw,1.35rem);line-height:1.35}
.section-banner-copy>p:not(.storefront-kicker){max-width:650px;margin:0;color:rgb(255 255 255 / 76%);font-size:1.05rem;line-height:1.7}
.section-banner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px}
.section-banner-actions form{margin:0}
.section-banner-reaction{min-height:48px;display:inline-flex;align-items:center;gap:9px;padding:0 16px;border:1px solid rgb(255 255 255 / 34%);border-radius:999px;background:rgb(255 255 255 / 8%);color:#fff;font:inherit;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.section-banner-reaction:hover,.section-banner-reaction:focus-visible{transform:translateY(-2px);border-color:var(--banner-accent);background:rgb(255 255 255 / 14%);outline:none}
.section-banner-reaction>span{color:#fff;font-size:1.1rem;line-height:1}.section-banner-reaction>strong{font-size:.84rem}.section-banner-reaction>small{display:grid;min-width:24px;height:24px;padding:0 6px;place-items:center;border-radius:999px;background:#fff;color:#001489;font-size:.72rem;font-weight:900}
.section-banner-reaction.is-active{border-color:var(--banner-accent);background:color-mix(in srgb,var(--banner-accent) 34%,transparent)}
.section-banner-reaction.is-active>span{color:#ff6c8b}
.section-banner+.structured-page-body{padding-top:clamp(70px,7vw,100px)}
@media(max-width:980px){.section-banner{grid-template-columns:1fr;min-height:0}.section-banner picture{min-height:380px}.section-banner-copy{padding:48px 40px}}
@media(max-width:640px){.section-banner{width:calc(100% - 24px);margin-top:48px;border-radius:24px}.section-banner-primary{margin-top:12px}.section-banner picture{min-height:330px}.section-banner-copy{padding:36px 24px}.section-banner-copy h1,.section-banner-copy h2{font-size:clamp(2.3rem,12vw,3.5rem)}.section-banner-actions{align-items:stretch;flex-direction:column}.section-banner-actions>*{width:100%}.section-banner-actions a,.section-banner-reaction{width:100%;justify-content:center}}
.check-option{min-height:44px;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #d9e1ea;border-radius:10px;background:#fff;color:#26344b}.check-option input{width:18px;height:18px;margin:0}.marketing-reaction-summary{display:flex;align-items:center;gap:7px;padding:10px 13px;border-radius:12px;background:#fff0f3;color:#8a2343}.marketing-reaction-summary span{color:#e34b73;font-size:1.1rem}.marketing-reaction-summary strong{font-size:1.15rem}

/* Refined storefront type scale: compact, editorial and consistent. */
.storefront-hero {
    min-height: 540px;
    gap: clamp(36px, 5vw, 60px);
}
.storefront-hero h1 {
    max-width: 820px;
    font-size: clamp(42px, 5vw, 68px);
    line-height: .96;
    letter-spacing: -.052em;
    text-wrap: balance;
}
.storefront-lead {
    max-width: 680px;
    margin-top: 22px;
    font-size: clamp(16px, 1.35vw, 19px);
    line-height: 1.6;
}
.storefront-intro,
.storefront-capabilities,
.storefront-product-detail {
    padding-top: 68px;
    padding-bottom: 68px;
}
.storefront-intro h2,
.storefront-integration h2,
.storefront-cta h2,
.storefront-home-page .section-intro h2,
.published-heading h2,
.solution-method h2,
.contact-intro h2 {
    font-size: clamp(30px, 3.35vw, 46px);
    line-height: 1.08;
    letter-spacing: -.04em;
    text-wrap: balance;
}
.storefront-home-hero h1,
.migration-hero h1,
.assistpro-hero h1 {
    font-size: clamp(40px, 4.8vw, 64px);
    line-height: .98;
    letter-spacing: -.05em;
    text-wrap: balance;
}
.assistpro-section-heading h2,
.assistpro-modules h2,
.assistpro-cta h2 {
    font-size: clamp(30px, 3.6vw, 48px);
    line-height: 1.06;
}
.brand-video-hero {
    min-height: clamp(500px, 68vh, 700px);
}
.brand-video-copy h1 {
    max-width: 700px;
    font-size: clamp(44px, 5.6vw, 76px);
    line-height: .94;
    letter-spacing: -.055em;
}
.brand-video-copy > p:not(.brand-video-kicker) {
    font-size: clamp(16px, 1.35vw, 20px);
}
.brand-public-hero {
    min-height: 500px;
    padding: 76px 0 68px;
}
.brand-public-hero h1 {
    max-width: 780px;
    font-size: clamp(46px, 6vw, 78px);
    line-height: .92;
    letter-spacing: -.06em;
}
.brand-public-lead {
    max-width: 780px;
    font-size: clamp(17px, 1.55vw, 22px);
    line-height: 1.5;
}
.brand-public-overview {
    padding: 64px 0 76px;
}
.brand-public-overview-heading h2 {
    font-size: clamp(32px, 3.6vw, 48px);
    line-height: 1.04;
}
.brand-public-segments {
    padding: 70px 0 82px;
}
.brand-overview-card h3 {
    font-size: clamp(20px, 1.8vw, 27px);
    line-height: 1.12;
}
.brand-overview-card.is-featured h3 {
    font-size: clamp(27px, 2.7vw, 38px);
}
.brand-segment-public-grid h3 {
    margin-top: 22px;
    font-size: clamp(25px, 2.4vw, 34px);
    line-height: 1.06;
}
.brand-collection-index strong {
    font-size: clamp(19px, 1.6vw, 25px);
    line-height: 1.12;
}
.brand-family-group summary h3 {
    font-size: clamp(20px, 1.8vw, 27px);
    line-height: 1.06;
}
.brand-family-model h4 {
    font-size: clamp(19px, 1.65vw, 25px);
    line-height: 1.08;
}
.product-technical-sheet h2 {
    font-size: clamp(29px, 3.1vw, 42px);
    line-height: 1.08;
    letter-spacing: -.035em;
}
.structured-page-hero {
    min-height: 540px;
    padding-top: clamp(44px, 5vw, 70px);
    padding-bottom: clamp(44px, 5vw, 70px);
}
.structured-page-hero h1 {
    max-width: 860px;
    font-size: clamp(40px, 4.25vw, 64px);
    line-height: 1;
}
.structured-page-copy h2 {
    font-size: clamp(30px, 2.9vw, 44px);
    line-height: 1.08;
}
.section-banner-copy h1,
.section-banner-copy h2 {
    font-size: clamp(34px, 3.15vw, 54px);
    line-height: 1.03;
}

@media (max-width: 680px) {
    .storefront-hero h1,
    .storefront-home-hero h1,
    .migration-hero h1,
    .assistpro-hero h1 {
        font-size: clamp(36px, 10.5vw, 48px);
        line-height: 1;
    }
    .brand-public-hero h1,
    .brand-video-copy h1 {
        font-size: clamp(38px, 11.5vw, 52px);
        line-height: .98;
    }
    .storefront-product-hero h1 {
        font-size: clamp(33px, 9.5vw, 42px);
        line-height: 1.04;
    }
    .brand-public-hero {
        padding: 52px 0;
    }
    .brand-video-hero {
        min-height: 560px;
    }
    .storefront-intro h2,
    .storefront-integration h2,
    .storefront-cta h2,
    .storefront-home-page .section-intro h2,
    .published-heading h2,
    .solution-method h2,
    .contact-intro h2,
    .brand-public-overview-heading h2,
    .product-technical-sheet h2,
    .structured-page-copy h2 {
        font-size: clamp(27px, 8.4vw, 36px);
        line-height: 1.08;
    }
    .structured-page-hero h1,
    .section-banner-copy h1,
    .section-banner-copy h2 {
        font-size: clamp(34px, 10vw, 46px);
        line-height: 1.02;
    }
}

/* Product titles need one more specificity level than the shared hero rule. */
.storefront-hero.storefront-product-hero h1 {
    max-width: 900px;
    font-size: clamp(38px, 4.2vw, 54px);
    line-height: 1;
    letter-spacing: -.045em;
}
@media (max-width: 680px) {
    .storefront-hero.storefront-product-hero h1 {
        font-size: clamp(33px, 9.5vw, 42px);
        line-height: 1.04;
    }
}

/* Editorial hero integrity: keep the information panel legible over the blue hero. */
.editorial-index-page .editorial-index-hero .editorial-index-intro {
    align-self: center;
    padding: 24px;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 11px 17px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 20px;
    background: rgba(0, 7, 95, .28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.editorial-index-page .editorial-index-hero .editorial-index-intro .editorial-hero-mark {
    grid-row: 1 / span 2;
    width: 58px;
    height: 58px;
    margin: 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 17px;
    color: #071568;
    background: #95e1bf;
    font-size: 1.3rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
}

.editorial-index-page .editorial-index-hero .editorial-index-intro p {
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: .96rem;
    line-height: 1.58;
}

.editorial-index-page .editorial-index-hero .editorial-index-intro > strong {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
    color: #fff;
    font-size: .8rem;
}

.editorial-index-page .editorial-index-hero .editorial-index-intro > strong small {
    margin: 0;
    color: rgba(255, 255, 255, .66);
}

@media (max-width: 900px) {
    .editorial-index-page .editorial-index-hero .editorial-index-intro {
        max-width: 610px;
    }
}

@media (max-width: 680px) {
    .editorial-index-page .editorial-index-hero .editorial-index-intro {
        padding: 18px;
        grid-template-columns: 48px minmax(0, 1fr);
        border-radius: 17px;
    }
    .editorial-index-page .editorial-index-hero .editorial-index-intro .editorial-hero-mark {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        font-size: 1.05rem;
    }
}
/* AVA public beta --------------------------------------------------------- */
.ava-public{position:fixed;left:24px;bottom:24px;z-index:90;font-family:inherit;color:#17233b}.ava-public-trigger{display:flex;align-items:center;gap:10px;border:1px solid rgba(9,35,139,.12);border-radius:999px;background:#fff;color:#0a228f;padding:8px 15px 8px 8px;box-shadow:0 16px 42px rgba(16,36,88,.2);cursor:pointer}.ava-public-trigger>span:last-child{display:grid;text-align:left;line-height:1.05}.ava-public-trigger strong{font-size:14px}.ava-public-trigger small{font-size:10px;color:#65728c;margin-top:4px}.ava-public-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#0b24b4,#20b78b);color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em}.ava-public-panel{position:absolute;left:0;bottom:64px;width:min(390px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 110px));overflow:hidden;border:1px solid #dce3ef;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(12,29,72,.28)}.ava-public-panel>header{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;background:#091d82;color:#fff}.ava-public-panel>header>div{display:flex;align-items:center;gap:10px}.ava-public-panel>header>div>span:last-child{display:grid}.ava-public-panel>header strong{font-size:16px}.ava-public-panel>header small{font-size:11px;color:#cbd5ff}.ava-public-panel>header button{border:0;background:transparent;color:#fff;font-size:25px;line-height:1;cursor:pointer}.ava-public-messages{display:flex;flex-direction:column;gap:10px;max-height:330px;overflow:auto;padding:16px;background:#f4f7fb}.ava-message{max-width:88%;border-radius:15px;padding:11px 13px;font-size:13px;line-height:1.45;white-space:pre-line}.ava-message p{margin:0}.ava-message strong{display:block;margin-bottom:3px}.ava-message.is-ava{align-self:flex-start;background:#fff;border:1px solid #e0e6ef}.ava-message.is-user{align-self:flex-end;background:#0b269b;color:#fff}.ava-message.is-error{align-self:flex-start;background:#fff3f3;color:#8e1d28;border:1px solid #f1cbd0}.ava-message nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.ava-message nav a{font-size:11px;font-weight:800;color:#0a55bd;text-decoration:none;border-bottom:1px solid currentColor}.ava-public-starters{display:flex;gap:6px;overflow-x:auto;padding:10px 14px 0}.ava-public-starters button{flex:0 0 auto;border:1px solid #ccd8ea;border-radius:999px;background:#fff;color:#173b78;padding:7px 10px;font-size:11px;cursor:pointer}.ava-public-panel form{padding:12px 14px}.ava-public-panel form>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ava-public-composer{display:flex;align-items:flex-end;gap:8px;border:1px solid #cfd8e6;border-radius:14px;padding:8px;background:#fff}.ava-public-composer textarea{flex:1;min-height:42px;max-height:96px;resize:vertical;border:0;outline:0;font:inherit;font-size:13px}.ava-public-composer button{border:0;border-radius:10px;background:#0a279f;color:#fff;font-size:12px;font-weight:800;padding:10px 12px;cursor:pointer}.ava-public-composer button:disabled{opacity:.55}.ava-public-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.ava-public-status{min-height:16px;margin:6px 2px 0;color:#64718b;font-size:10px}.ava-public-panel>footer{display:grid;gap:6px;padding:11px 15px 14px;border-top:1px solid #e5eaf2;font-size:10px;color:#68748b}.ava-public-panel>footer a{width:max-content;color:#082695;font-size:12px;font-weight:850;text-decoration:none}.ava-public-handoff-note{margin:0 16px 10px;padding:9px 11px;border-radius:10px;background:#e9f7f2;color:#08634a;font-size:11px}.ava-public .cf-turnstile{margin-top:8px}.ava-public[hidden],.ava-public-panel[hidden]{display:none!important}@media(max-width:680px){.ava-public{left:12px;bottom:12px}.ava-public-panel{position:fixed;left:12px;right:12px;bottom:76px;width:auto;max-height:calc(100vh - 96px)}.ava-public-messages{max-height:42vh}.ava-public-trigger small{display:none}}

/* Approved Adventech hero template: visual media stays separate from indexed copy. */
.storefront-home-page .storefront-header-shell.is-hero {
    position: absolute;
    z-index: 1000;
    inset: 0 0 auto;
    padding: 26px 0 0;
    border: 0;
    background: transparent;
    backdrop-filter: none;
}
.storefront-header-shell.is-hero .storefront-utility-bar { display: none; }
.storefront-home-page .storefront-header-shell.is-hero header.storefront-global-header {
    width: min(1480px, calc(100% - 72px));
    min-height: 72px;
    padding: 0 18px 0 34px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    background: rgba(0, 20, 137, .91);
    box-shadow: 0 18px 48px rgba(0, 7, 50, .24);
    backdrop-filter: blur(16px);
}
.storefront-home-page .storefront-header-shell.is-hero .storefront-brand,
.storefront-home-page .storefront-header-shell.is-hero .storefront-brand img { width: 164px; }
.storefront-home-page .storefront-header-shell.is-hero .storefront-primary-nav > a,
.storefront-home-page .storefront-header-shell.is-hero .storefront-mega-trigger > summary,
.storefront-home-page .storefront-header-shell.is-hero .storefront-more-menu > summary {
    color: rgba(255, 255, 255, .94);
}
.storefront-home-page .storefront-header-shell.is-hero .storefront-primary-nav > a:hover,
.storefront-home-page .storefront-header-shell.is-hero .storefront-mega-trigger > summary:hover,
.storefront-home-page .storefront-header-shell.is-hero .storefront-more-menu > summary:hover { color: #8ee5c9; }
.storefront-home-page .storefront-header-shell.is-hero .storefront-mega-trigger > summary::after,
.storefront-home-page .storefront-header-shell.is-hero .storefront-more-menu > summary::after { color: #8ee5c9; }
.storefront-home-page .storefront-header-shell.is-hero .storefront-header-cta {
    min-height: 48px;
    padding: 0 28px;
    color: #001489;
    background: #8ee5c9;
    box-shadow: none;
}
.storefront-home-page .storefront-header-shell.is-hero .storefront-header-cta:hover {
    color: #00106f;
    background: #a5efd9;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
}
.storefront-home-page .storefront-header-shell.is-hero .storefront-product-menu,
.storefront-home-page .storefront-header-shell.is-hero .storefront-assistpro-menu { top: 106px; }

.adl-home-hero {
    position: relative;
    min-height: clamp(680px, 43vw, 820px);
    display: grid;
    overflow: hidden;
    isolation: isolate;
    background: #00103d;
}
.adl-home-hero-media,
.adl-home-hero-shade,
.adl-home-hero-inner { grid-area: 1 / 1; }
.adl-home-hero-media {
    z-index: -3;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.adl-home-hero-shade {
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(0, 13, 53, .98) 0%, rgba(0, 16, 61, .91) 27%, rgba(0, 18, 70, .48) 50%, rgba(0, 8, 37, .08) 72%),
        linear-gradient(180deg, rgba(0, 5, 34, .18), rgba(0, 5, 34, .28));
}
.adl-home-hero-inner {
    width: min(1480px, calc(100% - 96px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    padding: 150px 0 72px;
}
.adl-home-hero-copy { width: min(610px, 48vw); color: #fff; }
.adl-home-hero-kicker {
    margin: 0 0 18px;
    color: #8ee5c9;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.adl-home-hero h1 {
    max-width: 650px;
    margin: 0;
    color: #fff;
    font-size: clamp(50px, 4.55vw, 76px);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .99;
    text-wrap: balance;
}
.adl-home-hero-copy > p:not(.adl-home-hero-kicker) {
    max-width: 590px;
    margin: 26px 0 0;
    color: rgba(255, 255, 255, .9);
    font-size: clamp(17px, 1.3vw, 21px);
    line-height: 1.5;
}
.adl-home-hero-actions { margin-top: 34px; display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.adl-home-hero-cta {
    min-width: 300px;
    min-height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
    border-radius: 999px;
    color: #001489;
    background: #8ee5c9;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .2);
    font-size: 1.05rem;
    font-weight: 850;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}
.adl-home-hero-cta:hover { transform: translateY(-2px); color: #00106f; background: #a5efd9; }
.adl-home-hero-link { color: #fff; font-size: .86rem; font-weight: 800; text-decoration: none; }
.adl-home-hero-link:hover { color: #8ee5c9; }
.adl-home-hero-link span { margin-left: 6px; }

@media (max-width: 1120px) {
    .storefront-home-page .storefront-header-shell.is-hero header.storefront-global-header { width: calc(100% - 36px); }
    .adl-home-hero-inner { width: calc(100% - 64px); }
    .adl-home-hero-copy { width: min(570px, 58vw); }
}
@media (max-width: 980px) {
    .storefront-home-page .storefront-header-shell.is-hero { padding-top: 18px; }
    .storefront-home-page .storefront-header-shell.is-hero header.storefront-global-header { min-height: 66px; padding: 0 14px 0 23px; }
    .storefront-home-page .storefront-header-shell.is-hero .storefront-mobile-menu > summary { border-color: rgba(255,255,255,.35); color: #fff; background: rgba(255,255,255,.1); }
    .adl-home-hero { min-height: 720px; }
    .adl-home-hero-media { object-position: 62% center; }
    .adl-home-hero-shade { background: linear-gradient(90deg, rgba(0,13,53,.98), rgba(0,16,61,.78) 60%, rgba(0,8,37,.2)); }
    .adl-home-hero-inner { width: calc(100% - 48px); padding-top: 128px; }
    .adl-home-hero-copy { width: min(590px, 70vw); }
}
@media (max-width: 680px) {
    .storefront-home-page .storefront-header-shell.is-hero { padding-top: 12px; }
    .storefront-home-page .storefront-header-shell.is-hero header.storefront-global-header { width: calc(100% - 24px); min-height: 60px; padding-left: 18px; border-radius: 18px; }
    .storefront-home-page .storefront-header-shell.is-hero .storefront-brand,
    .storefront-home-page .storefront-header-shell.is-hero .storefront-brand img { width: 128px; }
    .adl-home-hero { min-height: 760px; }
    .adl-home-hero-media { object-position: 68% center; }
    .adl-home-hero-shade { background: linear-gradient(180deg, rgba(0,12,49,.6), rgba(0,13,53,.94) 43%, rgba(0,13,53,.99)); }
    .adl-home-hero-inner { width: calc(100% - 40px); align-items: flex-end; padding: 112px 0 62px; }
    .adl-home-hero-copy { width: 100%; }
    .adl-home-hero h1 { max-width: 520px; font-size: clamp(42px, 12.5vw, 58px); }
    .adl-home-hero-copy > p:not(.adl-home-hero-kicker) { max-width: 500px; font-size: 17px; }
    .adl-home-hero-actions { align-items: stretch; flex-direction: column; }
    .adl-home-hero-cta { width: 100%; min-width: 0; }
    .adl-home-hero-link { align-self: center; }
}
