/* Shared presentation. accessibility.css follows this file. */
:root { --max: 1248px; --radius: 16px; --bg: #f3f6f8; --surface-strong: #edf3f6; --ink: #172e3d; --muted: #526777; --line: #d9e3e9; --shadow-soft: 0 4px 18px rgba(16,38,55,.04); --shadow: 0 16px 40px rgba(16,38,55,.08); }
body { font-family: "Segoe UI", Arial, sans-serif; line-height: 1.65; }
h1,h2,h3 { text-wrap: balance; letter-spacing: -.025em; }
h1 { font-size: clamp(36px,4.1vw,58px); line-height: 1.08; max-width: 900px; }
h2 { font-size: clamp(28px,2.8vw,38px); line-height: 1.16; }
h3 { font-size: 22px; line-height: 1.3; }
.eyebrow { font-size: 12px; letter-spacing: .11em; }
.eyebrow + h2 { margin-top: 10px; }
.lead { font-size: 20px; line-height: 1.6; max-width: 720px; }
.nav-wrap { min-height: 80px; gap: 20px; }
.brand-logo--wordmark { width: 164px; }
.site-nav { gap: 4px; }
.site-nav a { padding: 11px 12px; border-radius: 8px; color: var(--muted); font-size: 14px; font-weight: 600; }
.site-nav a[aria-current="page"] { color: var(--blue-dark); background: var(--surface-strong); }
.menu-toggle { width: auto; height: auto; min-width: 64px; min-height: 44px; padding: 8px 14px; border-radius: 8px; font-size: 15px; }
.hero { background: radial-gradient(ellipse at 90% 0%,#1b5365 0%,transparent 55%),linear-gradient(120deg,#0b1d2b,#102f40); }
.hero__inner { padding-block: 64px; }
.hero__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 52px; }
.page-home .hero__inner { padding-block: 88px; }
.page-home h1 { font-size: clamp(38px,4.4vw,62px); max-width: 650px; }
.hero .lead { color: #c5d9e3; }
.hero .text-link { color: #b7edff; }
.hero .actions { align-items: center; }
.hero-panel { border-radius: 20px; box-shadow: 0 24px 60px rgba(0,0,0,.18); }
.hero .lifecycle-badge { margin-top: 16px; }
.signal-strip { gap: 8px; margin-top: 28px; }
.signal-strip span { min-height: 66px; padding: 10px 6px; border: 0; background: rgba(255,255,255,.06); border-radius: 10px; gap: 6px; }
.signal-strip svg { width: 24px; height: 24px; }
.signal-strip strong { font-size: 12px; }
.button { min-height: 48px; padding: 10px 20px; border-radius: 9px; line-height: 1.4; text-align: center; font-size: 15px; }
.actions { align-items: center; gap: 12px; }
.small-button { min-height: 44px; padding: 9px 14px; border-radius: 8px; cursor: pointer; }
.small-button[aria-pressed="true"] { color: var(--blue-dark); background: var(--cold-soft); border-color: var(--blue); }
.text-link { line-height: 1.5; text-underline-offset: 4px; }
a,button { -webkit-tap-highlight-color: transparent; }
.section { border-top-color: var(--line); }
.section--white { background: var(--surface); }
.section--scenarios { background: var(--bg); }
.section__inner { padding-block: 72px; }
.section-head { align-items: end; gap: 48px; margin-bottom: 32px; }
.section-head > div { flex: 1 1 48%; }
.section-head > p { flex: 1 1 44%; max-width: 530px; }
.section-head--compact { margin-top: 32px; }
.grid,.product-grid,.scenario-grid,.benefit-grid,.solution-grid,.support-article-grid { gap: 24px; }
.info-card,.choice-card,.step-card,.support-card,.benefit-card,.solution-card,.knowledge-card,.download-card { padding: 26px; box-shadow: none; }
.info-card h3 + p,.info-card .eyebrow + h3 { margin-top: 12px; }
.info-card > .text-link { display: inline-block; margin-top: 18px; }
.scenario-card { padding: 24px; min-height: 232px; gap: 12px; }
.scenario-card__media { min-height: 44px; margin: 0 0 12px; padding: 0; display: flex; justify-content: flex-start; text-align: left; background: none; gap: 14px; }
.scenario-card__media svg { width: 32px; height: 32px; flex-shrink: 0; }
.scenario-card__media span { font-size: 12px; }
.scenario-card--featured .scenario-card__media { background: none; }
.scenario-card strong { font-size: 20px; }
.scenario-card p { font-size: 15px; }
.benefit-card { background: var(--surface); }
.benefit-card strong,.solution-card strong { margin-block: 16px 10px; }
.home-platform-visual,.silvershape-hero-visual,.product-platform-visual { display: grid; grid-template-columns: minmax(0,1fr) 104px; align-content: center; gap: 20px 12px; padding: 24px; min-height: 350px; background: linear-gradient(135deg,#1d485a,#133542); }
.home-platform-visual__desktop,.silvershape-hero-visual__desktop,.product-platform-visual__desktop { grid-column: 1/-1; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 8px; }
.home-platform-visual__mobile,.silvershape-hero-visual__mobile,.product-platform-visual__mobile { position: static; grid-column: 2; grid-row: 2; width: 104px; height: auto; max-height: none; margin-top: -80px; border-width: 4px; border-radius: 17px; object-fit: contain; z-index: 2; }
.home-platform-visual__caption,.silvershape-hero-visual__caption,.product-platform-visual__caption { grid-column: 1; grid-row: 2; max-width: none; margin: 0; padding: 0; border: 0; background: transparent; align-self: center; font-size: 14px; font-weight: 400; }
.home-platform-visual__caption strong,.silvershape-hero-visual__caption strong { margin-bottom: 6px; font-size: 18px; }
.home-platform-visual__caption span,.silvershape-hero-visual__caption span { font-size: 14px; }
.screenshot-frame img,.screenshot-frame--wide img,.campaign-screenshot-grid .screenshot-frame img { height: auto; aspect-ratio: auto; object-fit: contain; }
.product-image-visual,.product-card#l5-snmp .product-image-visual { display: grid; place-items: center; aspect-ratio: 4/3; min-height: 0; overflow: hidden; background: #dce9f2; }
.product-image-visual img,.product-card#l5-snmp .product-image-visual img { display: block; width: 100%; height: 100%; object-fit: contain; }
.product-image-visual--detail { min-height: 0; }
.product-card { box-shadow: none; border-top: 3px solid var(--line-strong); }
.product-card[data-priority="principal"] { border-top-color: var(--teal); }
.product-card__body { padding: 26px; display: flex; flex-direction: column; flex: 1; }
.product-card__body h3 { font-size: 27px; margin: 12px 0 10px; }
.product-card__body > p { margin-bottom: 22px; font-size: 15px; }
.product-card__topline { gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.product-card__topline .eyebrow { font-size: 11px; }
.lifecycle-badge { border-radius: 6px; padding: 4px 8px; line-height: 1.3; font-size: 11px; }
.meta-list { margin: 0 0 24px; display: grid; gap: 14px; }
.meta-list div { padding: 0; border: 0; display: block; }
.meta-list dt { font-size: 11px; letter-spacing: .06em; color: var(--muted); }
.meta-list dd { margin-top: 3px; font-size: 14px; color: var(--ink); }
.product-card__actions { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); display: grid; gap: 12px; justify-items: start; }
.product-card__actions .text-link { margin: 0; font-size: 14px; }
.product-card__actions [data-choice-detail] { font-size: 15px; }
.product-card__actions .small-button { width: 100%; }
.product-section + .product-section { margin-top: 56px; padding-top: 40px; }
.product-section--platform { padding: 28px; box-shadow: none; }
.product-section--platform .product-card--transversal { box-shadow: none; }
.filter-panel { padding: 24px; box-shadow: none; }
.filter-panel label,.field label { letter-spacing: .025em; font-size: 12px; }
input,select,textarea { font: inherit; font-size: 16px; border-radius: 8px; min-height: 46px; }
input::placeholder,textarea::placeholder { color: var(--muted); opacity: 1; }
.product-jump { background: var(--surface); border-bottom: 1px solid var(--line); }
.product-jump__inner { max-width: var(--max); margin: auto; padding: 14px 24px; display: flex; gap: 8px 24px; flex-wrap: wrap; }
.product-jump a { color: var(--blue-dark); font-size: 14px; font-weight: 600; text-decoration: none; padding-block: 8px; }
.product-jump a:hover { text-decoration: underline; }
[data-product-detail] .section__inner { padding-block: 56px; }
.product-facts { gap: 24px; }
.product-facts + .product-facts { margin-top: 24px; }
.product-facts .info-card { padding: 28px; }
.product-facts .info-card > h3:first-child { margin-top: 0; }
.product-facts h2 { font-size: 26px; }
.product-specs > div { padding: 14px 0; }
.product-specs dt { font-size: 14px; }
.product-specs dd { font-size: 15px; }
.product-facts li { font-size: 15px; }
.product-faqs { display: grid; gap: 12px; max-width: 920px; }
.product-faq { border: 1px solid var(--line); background: var(--surface); border-radius: 12px; }
.product-faq summary { cursor: pointer; padding: 20px 24px; font-size: 18px; font-weight: 600; color: var(--ink); }
.product-faq summary::marker { color: var(--teal); }
.product-faq p { padding: 0 24px 24px; color: var(--muted); }
.support-search-panel { padding: 28px; border-radius: var(--radius); }
.support-status { padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-strong); align-items: center; }
.support-status .actions { margin-top: 12px; }
.support-search input { min-height: 54px; }
.support-quicklinks a { padding: 9px 14px; }
.support-layout { grid-template-columns: 220px minmax(0,1fr); gap: 32px; }
.support-sidebar { top: 104px; }
.support-sidebar a { padding: 12px 14px; border-radius: 8px; }
.support-article { padding: 26px; gap: 16px; box-shadow: none; }
.support-article h3 { font-size: 23px; }
.support-article__meta { font-size: 12px; }
.support-article p { font-size: 15px; }
.article-layout { grid-template-columns: minmax(0,1fr) 290px; gap: 32px; }
.article-body { padding: 40px; font-size: 17px; line-height: 1.8; }
.article-body section + section { border-top: 1px solid var(--line); margin-top: 34px; padding-top: 30px; }
.article-body section > h2:first-child { margin-top: 0; }
.article-body h2 { font-size: 28px; }
.article-body h3 { line-height: 1.4; }
.article-body strong { color: var(--ink); }
.article-aside { top: 104px; }
.article-box { padding: 24px; }
.article-box h2,.article-box h3 { font-size: 20px; margin: 0 0 16px; }
.article-box a { text-underline-offset: 3px; }
.article-box li { line-height: 1.6; }
.article-box li + li { margin-top: 12px; }
.article-note { padding: 22px; border-left: 4px solid var(--teal); }
.contact-layout { grid-template-columns: minmax(0,1.55fr) minmax(280px,.8fr); gap: 32px; align-items: start; }
.form-card,.contact-card { padding: 32px; }
.form-card h2,.contact-card h2 { font-size: 28px; margin-bottom: 16px; }
.contact-card { position: sticky; top: 104px; background: var(--surface-strong); }
.contact-card .lead { font-size: 16px; margin-top: 0; }
.contact-list { gap: 12px; margin-top: 24px; }
.contact-list a { padding: 18px; background: var(--surface); border-radius: 10px; }
.contact-list a:hover { border-color: var(--blue); }
.form-card form { gap: 24px; margin-top: 28px; }
.form-group { border: 0; margin: 0; padding: 0; min-width: 0; }
.form-group + .form-group { border-top: 1px solid var(--line); padding-top: 24px; }
.form-group legend { font-weight: 700; font-size: 17px; padding: 0 0 16px; color: var(--ink); }
.form-group__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.form-group__fields > p,.form-group__fields > button,.field--wide { grid-column: 1/-1; }
.form-card .field label { text-transform: none; font-size: 14px; font-weight: 600; color: var(--ink); }
.form-card .actions { margin-top: 0; }
.form-card textarea { min-height: 120px; }
.contact-product-status { font-size: 13px; }
.contact-product-status:empty,.form-message:empty { display: none; }
.advisor-panel { box-shadow: none; padding: 28px; }
.advisor-result { border-radius: 12px; padding: 24px; }
.advisor .field { border-radius: 10px; padding: 14px; }
.pricing-table-wrap { border-radius: var(--radius); }
.pricing-table th,.pricing-table td { padding: 18px; }
.pricing-table tbody tr:nth-child(even) { background: var(--surface-strong); }
.site-footer { border-top: 4px solid #1d5366; }
.footer__inner { padding-block: 44px; padding-right: 88px; }
.footer__inner strong { font-size: 18px; }
.footer__inner p { margin-top: 6px; font-size: 14px; }
.footer-links { align-content: start; gap: 8px 22px; }
.footer-links a { padding-block: 8px; font-size: 14px; }
body[data-theme="dark"] .section--white,body[data-theme="dark"] .section--scenarios { background: var(--surface); }
body[data-theme="dark"] .scenario-card__media { color: #aac0cd; }
body[data-theme="dark"] .scenario-card__media svg { stroke: #69cfeb; }
body[data-theme="dark"] .product-section--platform { background: var(--surface-strong); }
body[data-theme="dark"] .small-button[aria-pressed="true"] { background: #193f51; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .button,.small-button,.site-nav a,.contact-list a { transition: border-color .15s; }
  .product-card { transition: border-color .15s,box-shadow .15s; }
  .product-card:hover { border-color: var(--line-strong); box-shadow: var(--shadow); }
}
@media (min-width:761px) and (max-width:1080px) {
  .nav-wrap { gap: 12px; padding-inline: 18px; }
  .brand-logo--wordmark { width: 130px; }
  .site-nav { gap: 0; }
  .site-nav a { padding-inline: 8px; font-size: 12px; }
}
@media (max-width:980px) {
  .hero__grid,.support-layout,.article-layout,.contact-layout { grid-template-columns: 1fr; }
  .hero__grid { gap: 36px; }
  .hero-panel { max-width: 680px; width: 100%; }
  .contact-card,.article-aside,.support-sidebar { position: static; }
  .support-sidebar { display: flex; flex-wrap: wrap; gap: 4px; }
  .section-head { gap: 28px; }
  .page-home .hero__inner { padding-block: 64px; }
}
@media (max-width:760px) {
  .nav-wrap { min-height: 68px; padding-inline: 20px; }
  .brand-logo--wordmark { width: 150px; }
  .site-nav { inset: 68px 12px auto; padding: 12px; border-radius: 12px; }
  .site-nav a { padding: 12px 14px; font-size: 16px; min-height: 48px; }
  .hero__inner,.section__inner { padding: 44px 20px; }
  .page-home .hero__inner { padding-block: 48px; }
  h1,.page-home h1 { font-size: clamp(34px,9vw,44px); }
  h2 { font-size: 30px; }
  h3 { font-size: 21px; }
  .lead { font-size: 18px; margin-top: 20px; }
  .hero .actions { margin-top: 26px; }
  .actions .button { flex: 1 1 auto; }
  .signal-strip { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .signal-strip span { min-height: 66px; padding: 8px 2px; }
  .signal-strip strong { font-size: 10px; }
  .home-platform-visual,.silvershape-hero-visual,.product-platform-visual { padding: 16px; min-height: 0; grid-template-columns: minmax(0,1fr) 80px; gap: 16px 12px; }
  .home-platform-visual__mobile,.silvershape-hero-visual__mobile,.product-platform-visual__mobile { width: 80px; margin-top: -40px; border-width: 3px; border-radius: 13px; }
  .home-platform-visual__caption span,.silvershape-hero-visual__caption span,.product-platform-visual__caption { font-size: 12px; }
  .home-platform-visual__caption strong,.silvershape-hero-visual__caption strong { font-size: 16px; }
  .section-head { display: grid; gap: 18px; margin-bottom: 26px; }
  .grid,.product-grid,.scenario-grid,.benefit-grid,.solution-grid,.support-article-grid { gap: 16px; }
  .scenario-card { min-height: 0; padding: 22px; }
  .scenario-card__media { margin-bottom: 4px; }
  .info-card,.choice-card,.step-card,.benefit-card,.solution-card,.knowledge-card,.download-card,.product-card__body { padding: 24px; }
  .product-section--platform { padding: 18px; }
  .product-section--platform .product-card--transversal .product-card__body { padding: 20px; }
  .product-card__body h3 { font-size: 26px; }
  .product-card__actions { gap: 14px; }
  .product-card__actions a { min-height: 28px; }
  .product-section + .product-section { margin-top: 40px; padding-top: 30px; }
  .filter-panel,.support-search-panel { padding: 22px; }
  .filter-panel__grid { gap: 16px; }
  .product-jump__inner { padding: 10px 20px; gap: 4px 20px; }
  .product-jump a { font-size: 13px; }
  [data-product-detail] .section__inner { padding-block: 40px; }
  .product-facts .info-card { padding: 24px; }
  .product-facts h2 { font-size: 24px; }
  .product-faq summary { padding: 18px; font-size: 17px; }
  .product-faq p { padding: 0 18px 22px; }
  .article-body { padding: 24px; font-size: 16px; line-height: 1.75; }
  .article-body h2 { font-size: 25px; }
  .article-layout { gap: 20px; }
  .support-sidebar { padding: 10px; }
  .support-sidebar a { padding: 10px; font-size: 14px; }
  .form-card,.contact-card { padding: 24px; }
  .form-group__fields { grid-template-columns: 1fr; gap: 18px; }
  .contact-layout { gap: 24px; }
  .form-card h2,.contact-card h2 { font-size: 26px; }
  .advisor-panel { padding: 20px; }
  .footer__inner { grid-template-columns: 1fr; padding: 36px 72px 40px 20px; gap: 20px; }
  .footer-links { gap: 4px 18px; }
  .theme-toggle { right: 10px; bottom: 12px; }
  .whatsapp-float { right: 10px; bottom: 70px; }
}

/* Follow-up to the original audit: explanatory content in place of filler. */
.solution-flow { padding: 28px; color: #ecf6fb; background: #163747; }
.solution-flow__label { color: #a6e6f4; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.solution-flow ol { list-style: decimal; margin: 18px 0 0; padding-left: 26px; }
.solution-flow li { padding-left: 8px; }
.solution-flow li + li { margin-top: 18px; }
.solution-flow li::marker { color: #8cdeef; font-weight: 700; }
.solution-flow strong,.solution-flow span { display: block; }
.solution-flow strong { font-size: 17px; }
.solution-flow span { color: #c5d9e3; font-size: 14px; margin-top: 4px; }
.solution-label { color: var(--teal); font-size: 13px; font-weight: 600; margin-bottom: 14px; }
.feature-summary { padding: 20px; min-height: 145px; display: flex; flex-direction: column; justify-content: center; gap: 8px; margin-bottom: 16px; background: var(--surface-strong); border-radius: 10px; color: var(--ink); }
.feature-summary span { color: var(--muted); font-size: 14px; }
.mini-media--screenshot img { height: auto; aspect-ratio: auto; object-fit: contain; }
.article-note p + p { margin-top: 12px; }
.article-note + .pricing-table-wrap { margin-top: 24px; }
.campaign-scope { margin-top: 20px; max-width: 680px; font-size: 14px; color: #c5d9e3; }
.campaign-hero-visual__desktop { aspect-ratio: auto; min-height: 0; height: auto; object-fit: contain; }
.campaign-hero-visual__mobile { position: static; display: block; width: 100px; max-height: none; height: auto; margin: 16px 0 16px auto; object-fit: contain; }
.campaign-hero-visual__caption { margin-right: 0; }
@media(max-width:760px) { .solution-flow { padding: 24px; } .feature-summary { min-height: 0; } }
