/* Brand rhythm and guided discovery, isolated from authenticated application layouts. */
.es-portfolio-page { --es-width: 1360px; }
.es-portfolio-page .es-section { padding-block: 80px; }
.es-portfolio-page .es-portfolio-hero { background: radial-gradient(ellipse at 85% 10%,#1b527b 0,transparent 55%),#10283f; color: #fff; padding-block: 70px 0; overflow: hidden; }
.es-portfolio-hero .es-hero-grid { grid-template-columns: .94fr 1.06fr; gap: 60px; }
.es-portfolio-hero .es-hero-copy .es-eyebrow { color: #a4d2ff !important; font-size: 12px; letter-spacing: .15em; }
.es-portfolio-hero .es-hero-copy h1 { font-size: clamp(40px,3.8vw,62px); font-weight: 600; letter-spacing: -.045em; max-width: 650px; }
.es-portfolio-hero .es-hero-copy h1 em { color: #8fc9ff; }
.es-portfolio-hero .es-hero-copy .es-hero-description { color: #d0dff0; font-size: 19px; max-width: 510px; margin-block: 26px 32px !important; }
.es-portfolio-hero .es-hero-copy .es-button { background: #99d0ff; border-color: #99d0ff; color: #10283f !important; }
.es-portfolio-hero .es-hero-copy .es-button:hover { background: #c2e3ff; }
.es-portfolio-hero .es-hero-copy .es-text-link { color: #fff; }
.es-portfolio-hero .es-hero-copy .es-hero-scope { color: #b7cce1; font-size: 12px; line-height: 1.9; }
.es-hero-visual-label { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 15px; }
.es-hero-visual-label > span { color: #b6d1ed; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.es-hero-visual-label a { color: #d4eaff; font-size: 12px; }
.es-portfolio-hero .es-demo { color: var(--es-ink); border-color: #45627e; box-shadow: 0 26px 80px #0003; }
.es-portfolio-hero .es-demo-body { padding: 24px; }
.es-portfolio-hero .es-demo-banner { padding: 28px; }
.es-portfolio-hero .es-demo-banner > strong { font-size: 26px; }
.es-hero-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #3b536a; padding-block: 22px; margin-top: 55px; font-size: 13px; color: #bfd4e9; }
.es-hero-bottom a { color: #fff; }
.es-hero-bottom a span { margin-left: 16px; }
.es-demo-workspaces > a { display: block; position: relative; padding: 22px; border: 1px solid #dae4f0; border-radius: 9px; background: #fff; transition: border-color .18s,background-color .18s; }
.es-demo-workspaces > a:hover { text-decoration: none; border-color: #6f9cd5; background: #f2f7ff; }
.es-demo-workspaces > a strong { font-size: 15px; }
.es-demo-workspaces > a small { font-size: 11px; }
.es-workspace-arrow { position: absolute; right: 16px; top: 16px; color: #5577a4; }
.es-demo-strip { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 16px; }
.es-demo-strip a { font-size: 10px; min-height: 28px; display: inline-flex; align-items: center; }
.es-solution-number { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; background: #edf3ff; margin-bottom: 20px; }
.es-explore-section { background: #eaf1f9; }
.es-objective-controls { padding: 0; margin: 0 0 28px; border: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.es-objective-controls label { position: relative; display: flex; align-items: center; gap: 15px; padding: 23px; border: 1px solid #bacce0; border-radius: 12px; background: #f8fbff; cursor: pointer; }
.es-objective-controls input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.es-objective-controls label:has(input:focus-visible) { outline: 3px solid #5480ef; outline-offset: 4px; }
.es-objective-controls label:has(input:checked) { background: #163b63; color: #fff; border-color: #163b63; box-shadow: 0 9px 24px #163b6320; }
.es-objective-controls strong { display: block; font-size: 15px; font-weight: 600; line-height: 1.45; }
.es-objective-controls small { display: block; font-size: 9px; color: #526a87; letter-spacing: .06em; margin-bottom: 6px; }
.es-objective-controls label:has(input:checked) small { color: #bed7f4; }
.es-objective-icon { flex-shrink: 0; color: #37679f; }
.es-objective-controls label:has(input:checked) .es-objective-icon { color: #b1dcff; }
.es-objective-arrow { margin-left: auto; }
.es-experience-panel { border: 1px solid #cad8e8; background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 14px 45px #1b416010; }
.es-experience-panel > summary { padding: 22px; font-weight: 600; cursor: pointer; }
.es-experience-panel + .es-experience-panel { margin-top: 15px; }
.es-experience-panel[hidden] + .es-experience-panel { margin-top: 0; }
.es-experience-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 42px; padding: 40px; align-items: center; }
.es-experience-copy h3 { font-size: clamp(27px,2.5vw,36px); margin-bottom: 20px; }
.es-experience-copy > p:not(.es-eyebrow) { font-size: 16px; }
.es-experience-modules { margin-top: 28px; }
.es-experience-modules > strong { display: block; color: #536781; font-size: 11px; font-weight: 600; margin-bottom: 10px; }
.es-experience-modules a { display: flex; justify-content: space-between; gap: 12px; padding-block: 11px; border-bottom: 1px solid #dae4f0; color: #174dcc; font-size: 14px; font-weight: 600; }
.es-guided-demo { min-width: 0; border: 1px solid #c6d6e8; border-radius: 12px; background: #f3f7fc; overflow: hidden; }
.es-scenario-toolbar { padding: 19px 24px; background: #153655; color: #fff; display: flex; flex-wrap: wrap; justify-content: space-between; column-gap: 12px; }
.es-scenario-toolbar > span { flex-basis: 100%; font-size: 9px; letter-spacing: .09em; color: #b2d4f6; margin-bottom: 6px; }
.es-scenario-toolbar > strong { font-size: 17px; }
.es-scenario-toolbar > small { font-size: 10px; align-self: center; color: #d1e4f8; }
.es-scenario-steps { display: flex; list-style: none; padding: 13px 20px; margin: 0; border-bottom: 1px solid #d2dfed; gap: 8px; background: #fff; }
.es-scenario-steps li { flex: 1; }
.es-scenario-steps button { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 8px; border: 0; background: transparent; border-radius: 6px; color: #526985; font-size: 12px; cursor: pointer; }
.es-scenario-steps button > span { display: inline-flex; align-items: center; justify-content: center; width: 23px; height: 23px; flex-shrink: 0; border: 1px solid #bccde1; border-radius: 50%; font-size: 11px; }
.es-scenario-steps button[aria-current="step"] { color: #123f80; background: #e9f1ff; font-weight: 700; }
.es-scenario-steps button[aria-current="step"] > span { color: #fff; background: #245aa4; border-color: #245aa4; }
.es-scenario-content { padding: 24px; min-height: 445px; display: grid; grid-template-rows: 1fr auto; }
.es-scene-kicker { color: #526b8b; font-size: 9px; letter-spacing: .09em; font-weight: 700; }
.es-guide-scene h4 { color: #173555; font-size: 19px; line-height: 1.35; margin: 10px 0; letter-spacing: -.015em; }
.es-guide-scene > p { font-size: 13px; color: #485f7a; }
.es-scenario-board { border: 1px solid #d5e1ef; border-radius: 9px; background: #fff; padding: 19px; margin-top: 20px; }
.es-scenario-board > strong { color: #243f60; display: block; font-size: 12px; margin-bottom: 14px; }
.es-scenario-board dl > div { display: grid; grid-template-columns: 1fr 1.2fr; gap: 12px; padding-block: 11px; border-bottom: 1px solid #e1e8f1; font-size: 12px; }
.es-scenario-board dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.es-scenario-board dt { color: #526781; }
.es-scenario-board dd { color: #234362; margin: 0; font-weight: 600; }
.es-scenario-board blockquote { font-size: 15px; color: #264b70; line-height: 1.7; margin: 15px 0; border-left: 3px solid #75a5dc; padding-left: 16px; }
.es-scenario-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-bottom: 14px; }
.es-scenario-metrics > div { padding: 10px; border-radius: 6px; background: #edf3fa; }
.es-scenario-metrics span { color: #4a6380; font-size: 11px; display: block; }
.es-scenario-metrics strong { color: #153655; font-size: 24px; display: block; }
.es-scenario-board .es-scenario-note { font-size: 10px; color: #596d86; margin-top: 14px; }
.es-guide-navigation { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid #cedbea; padding-top: 17px; margin-top: 22px; }
.es-guide-navigation button { border: 1px solid #bdcfe3; background: #fff; color: #22466f; border-radius: 6px; min-height: 44px; padding: 8px 12px; font-size: 12px; font-weight: 600; cursor: pointer; }
.es-guide-navigation button:last-child { background: #204d81; border-color: #204d81; color: #fff; }
.es-guide-navigation button:disabled { opacity: .45; cursor: default; }
.es-guide-navigation [role="status"] { font-size: 10px; color: #516b88; text-align: center; }
.es-experience-panel .es-experience-caption { font-size: 11px; color: #536b86; padding: 14px 30px; border-top: 1px solid #e1e8f1; background: #fbfcfe; }
.es-family-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.es-solution-family { border-radius: 14px; background: #eef4fb; padding: 24px; }
.es-solution-family:not(.es-solution-family-wide) { display: grid; grid-template-rows: auto 1fr; }
.es-solution-family:not(.es-solution-family-wide) .es-solutions-grid { grid-auto-rows: 1fr; }
.es-solution-family:nth-child(2) { background: #edf5f3; }
.es-family-heading { color: #2b4e76 !important; font-weight: 700; font-size: 12px; margin-bottom: 18px !important; letter-spacing: .04em; }
.es-solution-family .es-solutions-grid { grid-template-columns: 1fr; gap: 12px; }
.es-solution-family .es-solution-card { display: grid; grid-template-columns: 44px 1fr; gap: 0 18px; padding: 21px; border-color: #d5e0ed; }
.es-solution-family .es-solution-number { grid-column: 1; grid-row: 1 / span 4; width: 44px; height: 44px; margin: 0; }
.es-solution-family .es-solution-card > p, .es-solution-family .es-solution-card > h3, .es-solution-family .es-solution-card > a { grid-column: 2; }
.es-solution-family .es-solution-card .es-overline { font-size: 9px; margin-bottom: 7px; }
.es-solution-family .es-solution-card h3 { font-size: 22px; margin-bottom: 10px; }
.es-solution-family .es-solution-card p:not(.es-overline) { font-size: 14px; margin-bottom: 9px; }
.es-solution-family .es-text-link { font-size: 12px; min-height: 36px; }
.es-solution-family:nth-child(2) .es-solution-number { color: #2f716b; background: #e6f2ef; }
.es-solution-family-wide { grid-column: 1 / -1; background: #f1eff9; display: grid; grid-template-columns: .65fr 1.35fr; gap: 32px; align-items: center; }
.es-solution-family-wide .es-family-heading { font-size: 23px; line-height: 1.35; letter-spacing: -.02em; padding-left: 14px; margin: 0 !important; }
.es-solution-family-wide .es-solution-number { color: #625493; background: #eeeafa; }
.es-platform-section { background: #f1f5fb; }
.es-platform-section .es-demo-gallery { border: 1px solid #d7e2ef; border-radius: 14px; background: #fff; padding: 28px 38px; }
.es-platform-section .es-demo-presentation { gap: 58px; }
.es-demo-mobile-select { display: none; font-size: 13px; font-weight: 600; margin-bottom: 20px; }
.es-demo-mobile-select select, .es-plan-size select { display: block; width: 100%; min-height: 48px; margin-top: 10px; padding: 10px 35px 10px 14px; color: #173555; font: inherit; font-weight: 400; border: 1px solid #adc2dc; border-radius: 7px; background: #fff; }
.es-portfolio-page .es-security { background: #112d46; }
.es-portfolio-page .es-trust-grid article { border-top: 1px solid #3e5b76; padding-top: 23px; }
.es-plan-size { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 24px; padding: 20px 24px; border: 1px solid #d3dfef; border-radius: 9px; background: #f3f7fc; margin-bottom: 24px; }
.es-plan-size-field { min-width: 270px; }
.es-plan-size label { font-size: 12px; font-weight: 600; }
.es-plan-size select { margin-top: 7px; }
.es-plan-size > button { background: none; color: #174dcc; font-size: 13px; border: 0; padding: 10px 0; min-height: 44px; cursor: pointer; }
.es-plan-size > span { font-size: 11px; color: #536781; flex-basis: 100%; }
.es-pricing-focused { grid-template-columns: minmax(0,560px); justify-content: center; }
.es-pricing-focused .es-price-card { background: #f6f9ff; border-color: #4776b4; }
.es-plan-badge { display: inline-block; padding: 5px 9px; color: #21467a; background: #e3edff; border-radius: 4px; font-size: 10px; font-weight: 600; margin-bottom: 18px; }
.es-interest-picker { padding: 32px; background: #eaf1fc; border-color: #d3e1f5; }
.es-interest-picker h3 { font-size: 26px; margin-bottom: 15px; }
.es-interest-picker p { font-size: 14px; }
.es-interest-picker .es-eyebrow { font-size: 10px; margin-bottom: 12px !important; }
.es-interest-picker label { background: #fff; }
.es-interest-action { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.es-interest-action > p { max-width: 600px; }
.es-portfolio-page .es-contact { background: #123452; border-color: #123452; color: #fff; }
.es-portfolio-page .es-contact .es-eyebrow { color: #a2cfff !important; }
.es-portfolio-page .es-contact p { color: #c4d9ed; }
.es-catalog-hero { background: #123452; color: #fff; }
.es-catalog-hero .es-eyebrow, .es-catalog-hero .es-breadcrumb, .es-catalog-hero .es-page-lead { color: #c4d9ed !important; }
.es-solution-hero { background: linear-gradient(120deg,#e9f1fc,#f6f9fd); }
@media (max-width:1100px) {
    .es-portfolio-hero .es-hero-grid { gap: 32px; }
    .es-portfolio-hero .es-hero-copy h1 { font-size: 43px; }
    .es-objective-controls label { padding: 18px; gap: 10px; }
    .es-objective-controls small { font-size: 8px; }
    .es-objective-controls strong { font-size: 13px; }
    .es-experience-grid { gap: 28px; padding: 28px; grid-template-columns: .8fr 1.2fr; }
    .es-experience-copy h3 { font-size: 29px; }
    .es-scenario-content { padding: 20px; }
    .es-scenario-toolbar { padding-inline: 20px; }
    .es-platform-section .es-demo-gallery { padding: 20px; }
}
@media (max-width:760px) {
    .es-portfolio-page .es-section { padding-block: 56px; }
    .es-portfolio-page .es-portfolio-hero { padding-block: 44px 0; }
    .es-portfolio-hero .es-hero-grid { grid-template-columns: 1fr; gap: 36px; }
    .es-portfolio-hero .es-hero-copy h1 { font-size: clamp(33px,9vw,43px); }
    .es-portfolio-hero .es-hero-copy .es-hero-description { font-size: 17px; }
    .es-hero-visual-label > span { font-size: 8px; }
    .es-hero-visual-label a { font-size: 10px; }
    .es-portfolio-hero .es-demo-body { padding: 13px; }
    .es-portfolio-hero .es-demo-banner { padding: 21px; }
    .es-portfolio-hero .es-demo-banner > strong { font-size: 22px; }
    .es-demo-workspaces > a { padding: 15px 12px; }
    .es-demo-workspaces > a strong { font-size: 13px; }
    .es-demo-workspaces > a small { font-size: 10px; }
    .es-workspace-arrow { right: 10px; top: 12px; font-size: 12px; }
    .es-demo-strip { gap: 4px 10px; }
    .es-demo-strip a { font-size: 9px; }
    .es-hero-bottom { margin-top: 35px; padding-block: 18px; flex-direction: column; align-items: flex-start; gap: 8px; font-size: 12px; }
    .es-objective-controls { grid-template-columns: 1fr; gap: 9px; }
    .es-objective-controls label { padding: 16px 18px; }
    .es-objective-controls strong { font-size: 14px; }
    .es-objective-controls small { font-size: 9px; }
    .es-experience-grid { grid-template-columns: 1fr; gap: 28px; padding: 22px 14px; }
    .es-experience-copy h3 { font-size: 29px; }
    .es-experience-copy > p:not(.es-eyebrow) { font-size: 15px; }
    .es-experience-modules { margin-top: 20px; }
    .es-scenario-toolbar { padding: 16px; }
    .es-scenario-toolbar > strong { font-size: 15px; }
    .es-scenario-toolbar > small { font-size: 9px; }
    .es-scenario-content { padding: 16px; min-height: 490px; }
    .es-scenario-steps { padding: 10px; gap: 2px; }
    .es-scenario-steps button { flex-direction: column; font-size: 10px; gap: 4px; padding-inline: 4px; }
    .es-guide-scene h4 { font-size: 18px; }
    .es-guide-scene > p { font-size: 12px; }
    .es-scenario-board { padding: 14px; }
    .es-scenario-metrics { gap: 5px; }
    .es-scenario-metrics > div { padding: 9px 6px; }
    .es-scenario-metrics strong { font-size: 22px; }
    .es-scenario-board dl > div { font-size: 11px; }
    .es-guide-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .es-guide-navigation button { font-size: 12px; padding-inline: 10px; }
    .es-guide-navigation [role="status"] { font-size: 10px; grid-column: 1 / -1; grid-row: 1; }
    .es-experience-panel .es-experience-caption { padding: 14px 20px; font-size: 10px; }
    .es-family-layout { grid-template-columns: 1fr; gap: 16px; }
    .es-solution-family { padding: 17px; }
    .es-solution-family .es-solution-card { grid-template-columns: 35px 1fr; gap: 0 12px; padding: 18px; }
    .es-solution-family .es-solution-number { width: 35px; height: 35px; }
    .es-solution-family .es-solution-number svg { width: 21px; height: 21px; }
    .es-solution-family .es-solution-card h3 { font-size: 20px; }
    .es-solution-family .es-solution-card p:not(.es-overline) { font-size: 13px; }
    .es-solution-family-wide { grid-column: auto; display: block; }
    .es-solution-family-wide .es-family-heading { font-size: 12px; padding-left: 0; margin-bottom: 18px !important; }
    .es-platform-section .es-demo-gallery { padding: 20px; }
    .es-platform-section [data-product-tabs] { display: none; }
    .es-demo-mobile-select { display: block; }
    .es-plan-size { padding: 18px; }
    .es-plan-size-field { min-width: 0; width: 100%; }
    .es-pricing-focused { grid-template-columns: 1fr; }
    .es-interest-picker { padding: 23px; }
    .es-interest-picker h3 { font-size: 23px; }
    .es-interest-action { flex-direction: column; align-items: flex-start; }
    .es-catalog-hero .es-breadcrumb { font-size: 11px; }
}
@media (prefers-reduced-motion:no-preference) {
    .es-guide-scene:not([hidden]) { animation: es-scene-enter .18s ease-out; }
    @keyframes es-scene-enter { from { opacity: .5; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width:380px) {
    .es-scenario-metrics { grid-template-columns: 1fr; }
    .es-scenario-metrics > div { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; }
    .es-scenario-board dl > div { grid-template-columns: 1fr; gap: 4px; }
}
@media print {
    .es-portfolio-page .es-portfolio-hero, .es-catalog-hero { background: #fff; color: #000; }
    .es-portfolio-hero .es-hero-copy h1, .es-portfolio-hero .es-hero-copy h1 em, .es-portfolio-hero .es-hero-copy p { color: #000 !important; }
}

/* Home organisation (10/2026): verifiable trust, visible legislation, privacy and contact. */
.es-portfolio-hero .es-hero-copy .es-hero-accent { color: #8fc9ff; }
.es-portfolio-page .es-portfolio-hero { padding-bottom: 70px; }
.es-trust-strip { background: #0c2033; color: #fff; border-top: 1px solid #23415c; }
.es-trust-strip ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin-block: 0; padding: 0; list-style: none; }
.es-trust-strip li + li { border-left: 1px solid #23415c; }
.es-trust-strip a { display: block; height: 100%; padding: 20px 18px; color: #fff; }
.es-trust-strip a:hover { background: #12304a; text-decoration: none; }
.es-trust-strip strong { display: block; font-size: 14px; font-weight: 600; }
.es-trust-strip span { display: block; margin-top: 4px; color: #b9cde2; font-size: 13px; line-height: 1.45; }
.es-law-map { border: 1px solid #c6d3df; border-radius: var(--es-radius); overflow: hidden; background: #fff; }
.es-law-map-head, .es-law-map-row { display: grid; grid-template-columns: 1.25fr 1fr 1fr; }
.es-law-map-head { background: #edf2fa; color: var(--es-ink); font-size: 13px; font-weight: 600; }
.es-law-map-head > span, .es-law-map-row > div { padding: 18px 22px; }
.es-law-map-row { border-top: 1px solid #dbe3ec; }
.es-law-map-row > div + div, .es-law-map-head > span + span { border-left: 1px solid #dbe3ec; }
.es-law-map-row strong { display: block; color: var(--es-blue); font-size: 15px; font-weight: 600; margin-bottom: 6px; }
.es-law-map-row p { font-size: 14px; line-height: 1.55; }
.es-law-map-label { display: none; }
.es-law-map-section .es-legal-note { margin-top: 22px; }
.es-law-sources { margin-top: 18px; border-top: 1px solid #c6d3df; }
.es-law-sources > summary { display: flex; justify-content: space-between; gap: 20px; padding: 18px 0; cursor: pointer; font-size: 15px; font-weight: 600; list-style: none; }
.es-law-sources > summary::-webkit-details-marker { display: none; }
.es-law-sources[open] > summary > span { transform: rotate(45deg); }
.es-law-sources .es-legislation { padding-block: 24px 0; }
.es-law-sources .es-container { width: 100%; }
.es-security-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: start; }
.es-access-panel { padding: 30px; border: 1px solid #3e5b76; border-radius: var(--es-radius); background: #163a59; }
.es-access-panel h3 { color: #fff; font-size: 23px; margin-bottom: 12px; }
.es-access-panel dl { margin: 22px 0 0; }
.es-access-panel dl > div { padding: 16px 0; border-top: 1px solid #3e5b76; }
.es-access-panel dt { color: #fff; font-weight: 600; font-size: 15px; }
.es-access-panel dd { margin: 6px 0 0; color: #c9d7e6; font-size: 14px; }
.es-access-note { margin-top: 8px; font-size: 14px; }
.es-security-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.es-security-list li { position: relative; padding: 13px 0 13px 28px; border-bottom: 1px solid #3e5b76; color: #d9e4ef; font-size: 15px; line-height: 1.5; }
.es-security-list li::before { content: "\2713"; position: absolute; left: 0; color: #9bc8ff; }
.es-security .es-section-bottom { display: flex; flex-wrap: wrap; gap: 8px 30px; margin-top: 30px; }
.es-security .es-section-bottom .es-text-link { color: #fff; }
.es-price-card h3 { min-height: 0; margin-bottom: 18px; }
.es-price-periods { display: grid; grid-template-columns: 1fr; gap: 0; }
.es-pricing-focused .es-price-periods { grid-template-columns: 1fr 1fr; gap: 14px; }
.es-price-card .es-price-periods [data-price-period] { margin-top: 0; padding: 14px 0 0; }
.es-price-card .es-price-periods [data-price-period="yearly"] { margin-top: 16px; border-top: 1px solid var(--es-line); }
.es-pricing-focused .es-price-card .es-price-periods [data-price-period="yearly"] { margin-top: 0; padding-left: 14px; border-top: 0; border-left: 1px solid var(--es-line); }
.es-price-periods .es-price-value { font-size: clamp(21px, 1.8vw, 26px); }
.es-price-periods .es-price-detail strong { color: var(--es-blue); font-weight: 600; }
.es-price-card .es-price-periods .es-button { margin-top: 14px; min-height: 44px; }
.es-plan-extras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
.es-plan-extras > div, .es-modalities { padding: 22px 24px; border: 1px solid var(--es-line); border-radius: var(--es-radius); background: #fff; }
.es-plan-extras h3, .es-modalities h3 { font-size: 19px; margin-bottom: 8px; }
.es-plan-extras p { font-size: 14px; }
.es-plan-extras .es-text-link, .es-modalities .es-text-link { color: var(--es-blue); }
.es-modalities { margin-top: 18px; background: #f3f7fc; border-color: #d3dfef; }
.es-modalities-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 12px; }
.es-modalities-grid strong { display: block; font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.es-modalities-grid p { font-size: 14px; }
.es-portfolio-page .es-contact { padding-block: 80px; }
.es-site .es-contact-inner { align-items: start; grid-template-columns: .9fr 1.1fr; }
.es-contact-copy h2 + p { margin-top: 18px; max-width: 470px; font-size: 16px; }
.es-contact-now { margin-top: 32px; padding: 24px; border: 1px solid #36597a; border-radius: var(--es-radius); }
.es-contact-now strong { font-size: 17px; color: #fff; }
.es-contact-now p { margin-top: 6px; font-size: 14px; }
.es-contact-now .es-button { margin-top: 16px; }
.es-site .es-button-whatsapp { background: #128c52; border-color: #128c52; }
.es-site .es-button-whatsapp:hover { background: #0b7141; border-color: #0b7141; }
.es-contact-mail { margin-top: 14px !important; }
.es-contact-mail a, .es-contact-report a { color: #fff; text-decoration: underline; }
.es-contact-report { margin-top: 26px; font-size: 13px; }
.es-contact-form { position: relative; display: grid; gap: 16px; padding: 30px; border-radius: 10px; background: #fff; color: var(--es-ink); box-shadow: 0 20px 60px #0003; }
.es-portfolio-page .es-contact .es-contact-form p { color: var(--es-muted); }
.es-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.es-field { display: grid; gap: 6px; }
.es-field-wide { grid-column: 1 / -1; }
.es-field label, .es-field-interests legend { color: var(--es-ink); font-size: 14px; font-weight: 600; }
.es-field input, .es-field select, .es-field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #8a99a1; border-radius: 6px; background: #fff; color: var(--es-ink); font: inherit; font-size: 15px; }
.es-field textarea { min-height: 104px; resize: vertical; }
.es-field small { color: var(--es-muted); font-size: 12px; }
.es-field-interests { margin: 0; padding: 0; border: 0; }
.es-field-interests legend { margin-bottom: 8px; padding: 0; }
.es-field-interests > div { display: flex; flex-wrap: wrap; gap: 8px; }
.es-field-interests label { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 12px; border: 1px solid #cbd5e4; border-radius: 6px; font-size: 14px; cursor: pointer; }
.es-field-interests label:has(input:checked) { background: #edf3ff; border-color: var(--es-blue); color: #123d9e; }
.es-field-interests input { width: 18px; height: 18px; accent-color: var(--es-blue); }
.es-form-required, .es-form-privacy { font-size: 12px; }
.es-form-privacy a { color: var(--es-blue); text-decoration: underline; }
.es-contact-form > .es-button { justify-self: start; }
.es-form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.es-contact-feedback { padding: 14px 16px; border-radius: 6px; font-size: 14px; font-weight: 600; }
.es-portfolio-page .es-contact .es-contact-feedback-status { background: #e4f4ed; color: #1d5a3f; }
.es-portfolio-page .es-contact .es-contact-feedback-alert { background: #fdecec; color: #8a1f1f; }
.es-trust-center-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.es-trust-topic { padding: 26px 28px; border: 1px solid var(--es-line); border-radius: var(--es-radius); scroll-margin-top: 100px; }
.es-trust-topic h3 { font-size: 21px; margin-bottom: 12px; }
.es-trust-topic ul { margin: 0; padding-left: 20px; color: var(--es-muted); font-size: 15px; }
.es-trust-topic li + li { margin-top: 8px; }
.es-legal-meta strong a { color: var(--es-blue); }
.es-trust-documents { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 30px; }
.es-trust-documents h2 + p { margin-top: 14px; max-width: 640px; }
/* Readability: interface text stays at 12px or more (illustrative product mocks excluded). */
.es-site .es-utility, .es-site .es-utility nav { font-size: 12px; }
.es-site .es-footer-bottom, .es-site .es-overline, .es-site .es-eyebrow { font-size: 12px; }
.es-site .es-objective-controls small, .es-site .es-scene-kicker, .es-site .es-scenario-toolbar > span, .es-site .es-scenario-toolbar > small { font-size: 12px; }
.es-site .es-guide-navigation [role="status"], .es-site .es-scenario-board .es-scenario-note, .es-site .es-experience-modules > strong { font-size: 12px; }
.es-site .es-solution-family .es-solution-card .es-overline, .es-site .es-hero-visual-label > span, .es-site .es-demo-strip a { font-size: 12px; }
.es-site .es-family-heading, .es-site .es-scenario-metrics span, .es-site .es-scenario-steps button > span,
.es-site .es-price-label, .es-site .es-price-detail, .es-site .es-price-included, .es-site .es-plan-badge, .es-site .es-plan-size > span { font-size: 12px; }
@media (max-width: 1100px) {
    .es-trust-strip ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .es-trust-strip li:nth-child(4) { border-left: 0; }
    .es-trust-strip li:nth-child(n+4) { border-top: 1px solid #23415c; }
    .es-security-layout { grid-template-columns: 1fr; }
    .es-site .es-contact-inner { grid-template-columns: 1fr; }
    .es-plan-extras { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .es-portfolio-hero .es-hero-visual { display: none; }
    .es-portfolio-page .es-portfolio-hero { padding-bottom: 48px; }
    .es-trust-strip ul { grid-template-columns: 1fr; width: 100%; }
    .es-trust-strip li + li { border-left: 0; border-top: 1px solid #23415c; }
    .es-trust-strip a { padding: 14px 16px; }
    .es-law-map-head { display: none; }
    .es-law-map-row { grid-template-columns: 1fr; }
    .es-law-map-row > div { padding: 12px 18px; }
    .es-law-map-row > div + div { border-left: 0; border-top: 1px dashed #dbe3ec; }
    .es-law-map-label { display: block; color: var(--es-muted); font-size: 12px; font-weight: 600; margin-bottom: 4px; }
    .es-modalities-grid, .es-form-grid, .es-trust-center-grid { grid-template-columns: 1fr; }
    .es-price-periods, .es-pricing-focused .es-price-periods { grid-template-columns: 1fr 1fr; gap: 12px; }
    .es-price-card .es-price-periods [data-price-period="yearly"], .es-pricing-focused .es-price-card .es-price-periods [data-price-period="yearly"] { margin-top: 0; padding-left: 12px; border-top: 0; border-left: 1px solid var(--es-line); }
    .es-site .es-price-periods .es-price-value { font-size: 18px; }
    .es-price-card .es-price-included, .es-price-periods [data-price-period="monthly"] .es-price-detail { display: none; }
    .es-price-card .es-price-periods .es-button { padding-inline: 8px; }
    .es-contact-form { padding: 22px 18px; }
    .es-contact-form > .es-button { justify-self: stretch; }
    .es-access-panel { padding: 22px; }
}
@media print {
    .es-contact-form, .es-contact-now { display: none !important; }
}
.es-field-interests label { color: var(--es-ink); }
.es-field-preference { margin: 0; padding: 0; border: 0; }
.es-field-preference legend { margin-bottom: 8px; padding: 0; color: var(--es-ink); font-size: 14px; font-weight: 600; }
.es-field-preference > div { display: flex; flex-wrap: wrap; gap: 8px; }
.es-field-preference label { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; border: 1px solid #cbd5e4; border-radius: 6px; color: var(--es-ink); font-size: 14px; cursor: pointer; }
.es-field-preference label:has(input:checked) { background: #edf3ff; border-color: var(--es-blue); color: #123d9e; }
.es-field-preference input { width: 18px; height: 18px; accent-color: var(--es-blue); }
.es-field-preference small { display: block; margin-top: 6px; color: var(--es-muted); font-size: 12px; }
.es-form-challenge:empty { display: none; }
.es-form-challenge-status { font-size: 13px; }

/* Mobile menu collapses from the first paint (class set inline in <head>); without JS the full menu stays visible. */
:root:not(.es-js) .es-site:not(.es-js) .es-menu-toggle { display: none; }
@media (max-width: 1100px) { .es-site .es-menu-toggle { min-width: 96px; } }
/* Price tiers align when one range wraps to two lines. */
@media (min-width: 1101px) { .es-pricing-grid:not(.es-pricing-focused) .es-price-card h3 { min-height: calc(2 * 1.16em); } }
/* Product illustrations: readable labels (decorative window dots excluded). */
.es-site .es-demo-chrome > small, .es-site .es-demo-banner > span, .es-site .es-demo-banner > small, .es-site .es-demo-workspaces small,
.es-site .es-demo-strip, .es-site .es-demo figcaption, .es-site .es-demo-metrics span, .es-site .es-demo-metrics strong small,
.es-site .es-demo-bars span, .es-site .es-demo-bars small, .es-site .es-demo-list small, .es-site .es-demo-status,
.es-site .es-demo-comment small, .es-site .es-demo-sheet > small, .es-site .es-demo-comment > span, .es-site .es-demo-list,
.es-site .es-visual-kicker, .es-site .es-product figcaption, .es-site .es-agent-flow span, .es-site .es-hero-legal, .es-site .es-fine-print,
.es-site .es-report-footer, .es-site .es-legal-meta span, .es-site .es-subprocessor-category, .es-site .es-scenario-board dl > div,
.es-site .es-scenario-steps button, .es-site .es-experience-panel .es-experience-caption, .es-site .es-catalog-hero .es-breadcrumb { font-size: 12px; }
.es-site .es-demo-metrics span { min-height: 34px; }
/* Legal guides (/legislacao). */
.es-law-guides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.es-law-guide-card { display: flex; flex-direction: column; gap: 10px; padding: 26px; border: 1px solid var(--es-line); border-radius: 10px; background: #fff; }
.es-law-guide-card .es-overline { color: var(--es-blue); }
.es-law-guide-card h3 { font-size: 21px; line-height: 1.25; }
.es-law-guide-card h3 a { color: var(--es-ink); }
.es-law-guide-card > p:not(.es-overline) { font-size: 14px; }
.es-law-guide-audience { margin-top: auto; padding-top: 10px; color: var(--es-muted); font-size: 13px; }
.es-law-guides-compact { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 26px; }
.es-law-guides-compact .es-law-guide-card { padding: 20px; }
.es-law-guides-compact h3 { font-size: 16px; }
.es-law-guide-meta { color: #c4d9ed !important; font-size: 14px; }
.es-law-article { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 60px; align-items: start; }
.es-law-article article { max-width: 760px; }
.es-law-article article h2 { font-size: 26px; margin: 38px 0 14px; }
.es-law-article article h2:first-child { margin-top: 0; }
.es-law-article article p { font-size: 16px; line-height: 1.75; }
.es-law-article article p + p { margin-top: 14px; }
.es-law-article article ul { margin: 14px 0 0; padding-left: 22px; color: var(--es-muted); font-size: 16px; line-height: 1.7; }
.es-law-article article li + li { margin-top: 6px; }
.es-law-article .es-faq-list { margin-top: 6px; }
.es-law-article .es-legal-note { margin-top: 30px; }
.es-law-aside { position: sticky; top: 110px; display: grid; gap: 12px; padding: 26px; border: 1px solid #d3dfef; border-radius: 10px; background: #f3f7fc; }
.es-law-aside h2 { font-size: 20px; }
.es-law-aside ul { margin: 0; padding-left: 20px; color: var(--es-muted); font-size: 14px; line-height: 1.6; }
.es-law-aside li + li { margin-top: 6px; }
.es-law-aside-label { margin-top: 8px !important; color: var(--es-ink) !important; font-size: 13px; font-weight: 600; }
.es-law-aside-links { display: grid; }
.es-law-aside-links .es-text-link { color: var(--es-blue); min-height: 36px; }
.es-law-aside .es-button { margin-top: 8px; }
@media (max-width: 1100px) {
    .es-law-guides { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .es-law-guides-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .es-law-article { grid-template-columns: 1fr; gap: 36px; }
    .es-law-aside { position: static; }
}
@media (max-width: 760px) {
    .es-law-guides, .es-law-guides-compact { grid-template-columns: 1fr; }
    .es-law-article article h2 { font-size: 22px; }
}
/* Detailed legislation inside the disclosure: inner spacing so text does not touch the edges. */
.es-law-sources .es-legislation { padding: 36px 40px; border-radius: var(--es-radius); }
.es-law-sources .es-legislation .es-law:last-of-type { padding-bottom: 0; }
@media (max-width: 760px) { .es-law-sources .es-legislation { padding: 24px 18px; } }
