@charset "UTF-8";

/* The website's light editorial system. The particle stage and product console
   retain their own dark palettes so live graphics have a clear visual home. */
:root {
  color-scheme: light;
  --bg: #f5f6f8;
  --surface: #fff;
  --surface-raised: #eef1f7;
  --text: #131c30;
  --muted: #566174;
  --subtle: #697488;
  --cyan: #3458f5;
  --violet: #6257bd;
  --line: #dce1e9;
}
body { background: var(--bg); color: var(--text); }
::selection { background: #3458f5; color: #fff; }
.container { width: min(1280px, calc(100% - 96px)); }
.site-header { background: #f9fafbee; border-bottom: 1px solid #18233a12; backdrop-filter: blur(20px); }
.header-inner { height: 82px; gap: 32px; }
.brand { color: #131c30; }
.brand-mark { color: #3458f5; }
.brand-dot { color: #3458f5; }
.desktop-nav { gap: 30px; }
.desktop-nav a { color: #536075; font-size: 14px; }
.desktop-nav a:hover { color: #3458f5; }
.button { border-radius: 7px; }
.button-mint, .button-dark { background: #3458f5; border-color: #3458f5; color: #fff; box-shadow: none; }
.button-mint:hover, .button-dark:hover { background: #2345d8; border-color: #2345d8; box-shadow: 0 7px 20px #3458f520; }
.header-cta { color: #fff; background: #172237; border-color: #172237; font-size: 13px; }
.header-cta:hover { background: #3458f5; border-color: #3458f5; }
.text-button { color: #172237; font-size: 14px; }
.text-button:hover { color: #3458f5; }
.text-button > span { color: #3458f5; }
.skip-link { color: #fff; background: #3458f5; }
.menu-toggle span { background: #172237; }
.mobile-nav { background: #fff; border-color: #dce1e9; max-height: calc(100dvh - 72px); overflow-y: auto; }
.mobile-nav a, .mobile-nav button { color: #172237; }
.mobile-nav button { color: #3458f5; }

.section { padding: 116px 0; }
.section-heading { gap: 70px; margin-bottom: 54px; align-items: flex-end; }
.section h2 { color: #131c30; font-size: clamp(36px, 3.65vw, 52px); font-weight: 600; line-height: 1.36; letter-spacing: -.045em; }
.eyebrow { color: #3458f5; font-size: 13px; font-weight: 600; letter-spacing: .025em; margin-bottom: 24px; }
.section-intro { font-size: 15px; color: #647084; line-height: 1.95; max-width: 370px; }

/* Four capabilities, separated by quiet surfaces and substantive illustrations. */
.products-section { background: #f5f6f8; padding-top: 112px; }
.product-family-links { margin: -18px 0 34px; gap: 12px 30px; color: #3458f5; font-size: 14px; }
.product-family-links a { border-bottom: 1px solid #bdc8f6; }
.product-family-links a:hover { color: #182b91; border-color: #3458f5; }
.product-grid { gap: 24px; }
.product-card, .product-card:nth-child(2), .product-card:nth-child(4) {
  padding: 29px 30px 0; border: 1px solid #dfe4ec; border-radius: 12px;
  background: #fff; box-shadow: 0 5px 20px #18233a03; transition: border-color .25s, box-shadow .25s, transform .25s;
}
.product-card:hover, .product-card.highlight { border-color: #9daef4; box-shadow: 0 12px 30px #243e7b09; }
.product-card.highlight { box-shadow: 0 0 0 3px #3458f51a; }
.product-category { color: #627088; font-size: 12px; }
.product-word { color: #909aaa; font-size: 13px; }
.product-body { grid-template-columns: minmax(0, 1fr) 170px; gap: 24px; min-height: 275px; padding: 30px 0; }
.product-content { max-width: none; }
.product-card h3 { max-width: none; padding: 0; margin: 0; color: #172237; font-size: 30px; font-weight: 600; }
.product-subtitle { margin-top: 12px; color: #34455f; font-size: 15px; }
.product-description { color: #667186; font-size: 14px; line-height: 1.9; margin-top: 14px; }
.product-visual { position: relative; top: auto; right: auto; width: 100%; margin: 0; padding: 12px 0; opacity: 1; border-radius: 10px; background: radial-gradient(ellipse at 50% 40%, #162d45, #0c1523 80%); border: 1px solid #1e334a; overflow: hidden; }
.product-visual img { width: 100%; height: auto; min-height: 142px; object-fit: contain; transition: transform .6s; }
.product-card:hover .product-visual img { transform: translateY(-3px); }
.product-bottom { border-color: #e5e8ef; min-height: 78px; gap: 10px; padding-top: 0; }
.capability-tags { color: #738096; font-size: 11px; gap: 10px; }
.product-link { color: #3458f5; font-size: 13px; gap: 10px; }
.product-link span { color: #3458f5; }
.product-link:hover { color: #172a90; }

/* NDP: spacious product narrative opposite an independent accordion. */
.ndp-section { background: #fff; border-top: 1px solid #e6e9ee; }
.ndp-layout { gap: clamp(45px, 6.5vw, 96px); }
.ndp-eyebrow { gap: 15px; font-size: 13px; margin-bottom: 26px; }
.ndp-eyebrow > span:first-child { font: 600 18px "Segoe UI", sans-serif; letter-spacing: -.025em; }
.ndp-section .ndp-title { font-size: clamp(34px, 3.5vw, 48px); line-height: 1.4; }
.ndp-intro { font-size: 15px; line-height: 2; margin-top: 27px; }
.ndp-path { padding: 24px; margin-top: 36px; border: 1px solid #e0e6f3; border-radius: 9px; background: #f8faff; }
.ndp-path figcaption { color: #43536e; margin-bottom: 28px; font-size: 12px; }
.ndp-path figcaption span:last-child { font-size: 11px; color: #78849a; }
.ndp-step { font-size: 11px; color: #3458f5; margin-bottom: 9px; }
.ndp-path strong { font-size: 14px; color: #25334a; }
.ndp-path small { font-size: 11px; color: #66738a; }
.ndp-action { font-size: 14px; }
.ndp-actions { gap: 4px 24px; }
.ndp-capabilities { border-color: #d6deea; }
.ndp-capability { border-color: #dfe5ee; }
.ndp-capability summary { min-height: 84px; font-size: 16px; padding: 20px 3px; }
.ndp-capability[open] summary { color: #3458f5; }
.ndp-number { color: #7a89a0; font-size: 11px; }
.ndp-detail { font-size: 14px; line-height: 1.95; padding-bottom: 27px; color: #657187; }
.ndp-capability-label { border-color: #ddd9f0; background: #f6f3fc; color: #66559e; }
.ndp-scope { color: #6d788b; font-size: 11px; margin-top: 40px; }

/* The console is intentionally dark; the containing chapter is light. */
.qbsm-section { background: #f5f6f8; border-block: 1px solid #e5e8ee; }
.qbsm-heading-description { max-width: 385px; }
.qbsm-heading-description > p:first-child { font-size: 15px; color: #394a65; }
.qbsm-heading-description .section-intro { font-size: 15px; }
.qbsm-logotype { color: #18233a; font-size: 21px; font-weight: 650; }
.version-tag { background: #eceff7; border-color: #d5ddeb; color: #687890; font-size: 11px; padding: 3px 8px; }
.console-window { --cyan: #7edbf0; --violet: #b7aaef; color-scheme: dark; color: #e4edf7; border-color: #243750; border-radius: 14px; background: #0b121d; box-shadow: 0 22px 60px #18233a20; }
.console-titlebar { padding: 18px 25px; }
.workspace-sidebar-note, .workspace-section-title > span, .signal-legend, .console-section-label > span, .console-footer, .event-timeline > div > span:last-child, .timeline-node, .console-toolbar button > span, .planned-label, .evidence-tags span, .ai-boundary { font-size: 11px; }
.workspace-sidebar-note { color: #8aa1b8; }
.incident-badge { font-size: 11px; }
.incident-summary strong { font-size: 14px; }
.incident-summary p, .event-timeline p { font-size: 12px; line-height: 1.7; }
.event-timeline strong { font-size: 14px; }
.event-timeline > div { padding: 14px 0; }
.event-timeline > div:not(:last-child)::after { height: 43px; }
.console-panel { min-height: 525px; }
.ai-answer > p, .ai-question { font-size: 13px; }
.ai-answer ol { font-size: 12px; }
.qbsm-scope { color: #778298; font-size: 11px; line-height: 1.9; margin-top: 22px; text-align: left; }
.qbsm-features { margin-top: 45px; gap: 48px; }
.qbsm-features li { padding: 23px 0 0; border-top: 1px solid #d5dce8; }
.qbsm-features li::before { left: 0; top: -1px; width: 44px; height: 2px; background: #3458f5; }
.qbsm-features li:last-child::before { background: #6b65b0; }
.qbsm-features strong { color: #26364e; font-size: 17px; font-weight: 600; }
.qbsm-features p { font-size: 14px; color: #67748b; }
.qbsm-features em { font-size: 11px; border-color: #d9d3eb; background: #eeebf5; color: #706091; }

.solutions-section { background: #fff; }
.solution-tabs { border-color: #dce2ec; }
.solution-tabs button { color: #6d7990; font-size: 15px; min-height: 68px; }
.solution-tabs button:hover { color: #3458f5; }
.solution-tabs button[aria-selected=true] { color: #3458f5; border-bottom-color: #3458f5; }
.solution-panel { gap: 85px; padding-top: 56px; }
.small-label { font-size: 12px; color: #3458f5; }
.solution-copy h3 { color: #172237; font-size: 38px; font-weight: 600; line-height: 1.45; }
.solution-copy > p { color: #647187; font-size: 15px; }
.check-list li { font-size: 14px; color: #465773; }
.check-list li::before { color: #3458f5; }
.architecture { background: #f6f8fc; border: 1px solid #dce3f0; padding: 33px; border-radius: 12px; }
.diagram-heading { color: #66758e; font-size: 12px; margin-bottom: 29px; }
.diagram-heading > span:last-child { font-size: 11px; color: #7a879d; border-color: #d0d9e9; }
.diagram-layer { border-color: #b6c6fc; background: #e9efff; padding: 22px 15px; }
.diagram-layer strong { color: #344e9a; font-size: 15px; }
.diagram-layer > span:last-child { color: #7284ad; font-size: 11px; }
.diagram-connectors::before, .diagram-connectors i { background: #bccbf0; }
.diagram-service { background: #fff; border-color: #d4dfef; padding: 18px 5px; }
.diagram-service.active { background: #e7edff; border-color: #7895f7; box-shadow: 0 0 0 3px #3458f508; }
.service-icon { color: #7890bc; }
.diagram-service.active .service-icon { color: #3458f5; }
.diagram-service strong { color: #3c4f73; font-size: 12px; }
.diagram-service > span:last-child { color: #7b8ba6; font-size: 11px; }
.diagram-operations { background: #edf0f8; border-color: #d7deed; padding-block: 16px; }
.diagram-operations strong { color: #506187; font-size: 12px; }
.diagram-operations > span { color: #71819d; font-size: 11px; }
.diagram-operations.active { background: #ede9fb; border-color: #ada0dc; }
.diagram-operations.active strong { color: #6c53a5; }
.diagram-foundation { color: #73829a; border-color: #bac7dc; font-size: 12px; background: #ffffff80; }
.foundation-link { color: #8597b4; }
.diagram-note { color: #7a87a0; font-size: 11px; line-height: 1.8; }

.approach-section { background: #f1f3f7; border-top: 1px solid #e1e6ef; padding: 90px 0 96px; }
.approach-intro h2 { font-size: 38px; }
.process-list { margin-top: 60px; gap: 62px; }
.process-list article > span { color: #3458f5; font-size: 16px; margin-bottom: 25px; }
.process-list article > span::after { background: #d0d8e6; }
.process-list h3 { color: #26364e; font-size: 21px; font-weight: 600; }
.process-list p { color: #6d7990; font-size: 14px; margin-top: 15px; }
.about-section { padding: 118px 0 124px; background: #fff; border-top: 1px solid #e1e6ef; }
.about-inner { grid-template-columns: 1fr 1fr; gap: 13px 95px; }
.about-inner h2 { font-size: 48px; line-height: 1.42; color: #172237; font-weight: 600; }
.about-description { border-left: 1px solid #dce3ef; padding: 0 0 0 42px; }
.about-description p { color: #68768d; font-size: 15px; line-height: 2; }
.about-description .company-name { color: #2a3b58; font-size: 18px; font-weight: 500; margin-bottom: 23px; }
.about-description p + p { margin-top: 17px; }
.contact-section { padding: 105px 0 112px; background: radial-gradient(ellipse at 50% 145%, #304eaf80, transparent 64%), #10192b; color: #f4f6fc; }
.contact-inner > p { color: #a4b1cd; font-size: 15px; }
.contact-inner h2 { color: #f3f6fe; font-size: 47px; font-weight: 500; }
.contact-inner .button { background: #f2f5ff; border-color: #f2f5ff; color: #243b82; margin-top: 33px; }
.contact-inner .button:hover { background: #fff; box-shadow: 0 5px 35px #7b9eff26; }
.contact-orbit { border-color: #6d8ef644; box-shadow: 0 0 0 55px #3458f508, 0 0 0 115px #3458f505; }
.footer { padding: 46px 0 24px; border-color: #dfe4ed; background: #f5f6f8; }
.footer-top { padding-bottom: 34px; }
.footer-top > p { color: #7b879b; font-size: 12px; }
.footer-top nav, .footer-top nav button { color: #68758c; font-size: 12px; }
.footer-top nav a:hover, .footer-top nav button:hover { color: #3458f5; }
.footer-bottom { border-color: #dfe4ed; color: #7a869b; font-size: 11px; }

/* Product details and the local consultation form share a readable light surface. */
.dialog { color: #172237; background: #fff; border: 1px solid #dce2ee; border-radius: 13px; padding: 44px; box-shadow: 0 28px 100px #111c3d35; }
.dialog::backdrop { background: #0c19396e; backdrop-filter: blur(8px); }
.dialog-close { color: #6c7b91; }
.dialog-close:hover { background: #f0f3fa; color: #3458f5; }
.dialog .eyebrow { font-size: 12px; }
.dialog h2 { font-size: 30px; font-weight: 600; color: #172237; }
.dialog-lead { font-size: 14px; color: #627188; }
.detail-list article { border-color: #e0e6ef; }
.detail-list h3 { color: #283c5b; font-size: 17px; font-weight: 600; }
.detail-list p { color: #627188; font-size: 14px; }
.dialog-bottom { border-color: #e0e6ef; }
.dialog-bottom > p { color: #748097; font-size: 12px; }
.dialog label { color: #354863; font-size: 14px; }
.dialog label > span { color: #3458f5; }
.dialog input, .dialog textarea, .dialog select { color: #24344d; background: #f8faff; border-color: #d0d9e8; }
.dialog input::placeholder, .dialog textarea::placeholder { color: #8995a8; }
.form-footer > span { color: #7b879b; font-size: 11px; }
.form-status { color: #34529b; background: #edf2ff; border-color: #bdcbef; font-size: 14px; }
.noscript-notice { background: #e7edfc; color: #364d82; }

@media (min-width: 1700px) {
  .container { width: min(1400px, calc(100% - 140px)); }
  .product-body { grid-template-columns: minmax(0, 1fr) 190px; }
}
@media (max-width: 1150px) {
  .container { width: calc(100% - 72px); }
  .header-inner { gap: 24px; }
  .desktop-nav { gap: 23px; }
  .desktop-nav a { font-size: 13px; }
  .section-heading { gap: 46px; }
  .product-card, .product-card:nth-child(2), .product-card:nth-child(4) { padding-inline: 25px; }
  .product-body { grid-template-columns: minmax(0, 1fr) 140px; gap: 20px; min-height: 292px; }
  .product-card h3 { font-size: 27px; }
  .product-visual img { min-height: 125px; }
  .product-bottom { flex-wrap: wrap; gap: 0; padding-top: 15px; }
  .capability-tags { width: 100%; }
  .product-link { width: 100%; justify-content: space-between; }
  .workspace-layout { grid-template-columns: 1fr; }
  .workspace-sidebar { display: none; }
  .workspace-map { padding: 26px; }
  .console-panel { padding-inline: 24px; }
  .qbsm-features { gap: 28px; }
  .solution-panel { gap: 48px; }
  .architecture { padding: 26px; }
  .about-inner { gap: 14px 58px; }
  .about-inner h2 { font-size: 42px; }
  .about-description { padding-left: 30px; }
}
@media (max-width: 960px) {
  .product-body { display: flex; flex-direction: column; align-items: stretch; gap: 24px; min-height: 0; }
  .product-card h3 { font-size: 28px; margin-bottom: 0; max-width: none; }
  .product-visual { position: relative; top: auto; right: auto; width: 100%; height: 150px; padding: 0; opacity: 1; }
  .product-visual img { height: 100%; width: 100%; }
  .product-content { min-height: 206px; }
  .qbsm-heading { align-items: flex-start; }
  .qbsm-heading-description { max-width: 340px; }
  .qbsm-features strong { font-size: 16px; }
  .solution-panel { gap: 35px; }
  .solution-copy h3 { font-size: 32px; }
  .architecture { padding: 22px 18px; }
  .diagram-services { gap: 7px; }
  .diagram-service strong { font-size: 12px; }
  .diagram-operations { flex-wrap: wrap; gap: 5px 15px; }
  .approach-intro h2 { font-size: 33px; }
  .process-list { gap: 36px; }
}
@media (max-width: 800px) {
  .container { width: calc(100% - 44px); }
  .header-inner { height: 72px; gap: 16px; }
  .header-cta { font-size: 12px; }
  .section { padding: 82px 0; }
  .section-heading { gap: 32px; margin-bottom: 36px; }
  .section h2 { font-size: 35px; }
  .section-intro { font-size: 14px; }
  .product-card, .product-card:nth-child(2), .product-card:nth-child(4) { padding: 24px 24px 0; }
  .product-body { padding: 24px 0; }
  .product-description { font-size: 14px; }
  .product-content { min-height: 219px; }
  .product-category, .product-word { font-size: 11px; }
  .product-link { font-size: 14px; }
  .ndp-section .ndp-title { font-size: 35px; }
  .ndp-layout { gap: 40px; }
  .ndp-copy { max-width: none; }
  .ndp-intro { max-width: none; }
  .ndp-path { max-width: none; }
  .qbsm-heading { display: block; }
  .qbsm-heading-description { max-width: 580px; margin-top: 25px; }
  .qbsm-heading-description > p:first-child { font-size: 15px; }
  .qbsm-heading-description .section-intro { font-size: 14px; }
  .qbsm-logotype { font-size: 20px; }
  .workspace-content { grid-template-columns: .9fr 1.1fr; }
  .workspace-map { padding: 24px 15px; }
  .console-panel { padding: 24px 17px 0; min-height: 555px; }
  .incident-summary { flex-wrap: wrap; }
  .incident-summary strong { font-size: 13px; }
  .event-timeline > div { gap: 9px; }
  .event-timeline > div > span:last-child { display: none; }
  .qbsm-features { gap: 25px; }
  .qbsm-features p { font-size: 14px; }
  .qbsm-features em { font-size: 11px; display: inline-block; margin-left: 0; }
  .solution-panel { grid-template-columns: 1fr; gap: 34px; }
  .solution-copy { max-width: 610px; }
  .architecture { padding: 28px; }
  .diagram-service strong { font-size: 14px; }
  .diagram-operations strong, .diagram-foundation { font-size: 13px; }
  .diagram-operations > span { font-size: 12px; }
  .about-section { padding-block: 85px; }
  .about-inner { gap: 16px 38px; }
  .about-inner h2 { font-size: 35px; }
  .about-description { padding-left: 25px; }
  .about-description .company-name { font-size: 16px; }
  .about-description p { font-size: 14px; }
  .contact-section { padding-block: 85px 95px; }
  .contact-inner h2 { font-size: 38px; }
  .footer-top nav { gap: 24px; }
}
@media (max-width: 620px) {
  .container { width: calc(100% - 40px); }
  .header-inner { gap: 10px; }
  .section { padding: 68px 0; }
  .section-heading { display: block; }
  .section h2 { font-size: 32px; line-height: 1.43; }
  .eyebrow { font-size: 12px; margin-bottom: 20px; }
  .section-intro { margin-top: 22px; font-size: 14px; }
  .product-family-links { gap: 7px 22px; font-size: 13px; margin-top: -11px; margin-bottom: 26px; }
  .product-grid { grid-template-columns: 1fr; gap: 20px; }
  .product-body { display: grid; grid-template-columns: minmax(0, 1fr) 40%; align-items: center; gap: 22px; }
  .product-content { min-height: 0; }
  .product-card h3 { font-size: 27px; }
  .product-visual { height: 160px; }
  .product-bottom { min-height: 80px; }
  .capability-tags { font-size: 11px; }
  .product-link { min-height: 51px; padding-block: 13px 17px; }
  .ndp-section .ndp-title { font-size: 32px; }
  .ndp-intro { font-size: 14px; }
  .ndp-path { padding: 23px; }
  .ndp-capability summary { font-size: 15px; min-height: 75px; }
  .ndp-detail { font-size: 14px; padding-right: 5px; }
  .ndp-actions { gap: 5px 24px; }
  .ndp-action { font-size: 14px; }
  .ndp-scope { margin-top: 28px; }
  .qbsm-heading .eyebrow { gap: 13px; }
  .qbsm-heading-description { margin-top: 24px; padding: 0; }
  .qbsm-heading-description .text-button { font-size: 14px; }
  .console-titlebar { padding: 14px 17px; }
  .demo-label { font-size: 11px; }
  .console-toolbar { gap: 25px; padding-inline: 18px; }
  .console-toolbar button { font-size: 13px; min-height: 59px; }
  .console-toolbar button > span { font-size: 11px; }
  .workspace-content { grid-template-columns: 1fr; }
  .workspace-map { padding: 24px 21px 16px; }
  .topology-canvas { max-width: 370px; margin-bottom: 0; }
  .signal-chart { display: none; }
  .workspace-interaction { border-left: 0; border-top: 1px solid #27394c; }
  .console-panel { padding: 25px 21px 0; min-height: 518px; }
  .incident-summary { flex-wrap: nowrap; }
  .incident-summary strong { font-size: 14px; }
  .incident-summary p, .event-timeline p { font-size: 12px; }
  .event-timeline > div { gap: 12px; }
  .event-timeline strong { font-size: 14px; }
  .console-footer { font-size: 11px; }
  .ai-question { font-size: 13px; }
  .ai-answer-title { font-size: 14px; }
  .ai-answer > p { font-size: 13px; }
  .ai-answer ol { font-size: 12px; }
  .qbsm-scope { font-size: 11px; }
  .qbsm-features { grid-template-columns: 1fr; gap: 25px; margin-top: 36px; }
  .qbsm-features li { padding-top: 21px; }
  .qbsm-features strong { font-size: 17px; }
  .qbsm-features em { margin-left: 8px; }
  .qbsm-features p { margin-top: 8px; }
  .solution-tabs { grid-template-columns: 1fr 1fr; border: 1px solid #d9e1ee; border-radius: 8px; overflow: hidden; }
  .solution-tabs button { border: 0; min-height: 54px; padding: 13px 7px; font-size: 14px; text-align: center; }
  .solution-tabs button:nth-child(-n+2) { border-bottom: 1px solid #d9e1ee; }
  .solution-tabs button:nth-child(odd) { border-right: 1px solid #d9e1ee; }
  .solution-tabs button[aria-selected=true] { background: #edf2ff; border-bottom-color: #d9e1ee; color: #3458f5; }
  .solution-panel { padding-top: 32px; }
  .solution-copy h3 { font-size: 32px; margin-top: 16px; }
  .solution-copy > p, .check-list li { font-size: 14px; }
  .solution-copy .text-button { font-size: 14px; }
  .architecture { padding: 25px 20px; }
  .diagram-heading { font-size: 11px; }
  .diagram-service strong { font-size: 12px; }
  .diagram-operations strong { font-size: 12px; }
  .diagram-operations > span, .diagram-foundation { font-size: 11px; }
  .diagram-note { font-size: 11px; }
  .process-list { grid-template-columns: 1fr; gap: 27px; margin-top: 34px; }
  .process-list article { display: grid; grid-template-columns: 38px 1fr; gap: 9px 16px; border-top: 1px solid #d4deeb; padding-top: 25px; }
  .process-list article > span { grid-row: 1 / 3; font-size: 14px; padding-top: 3px; margin: 0; align-items: flex-start; }
  .process-list article > span::after { display: none; }
  .process-list h3 { font-size: 20px; }
  .process-list p { font-size: 14px; margin: 0; grid-column: 2; }
  .section .approach-intro h2 { font-size: 29px; }
  .about-section { padding: 69px 0 76px; }
  .about-inner { grid-template-columns: 1fr; gap: 21px; }
  .about-inner .eyebrow { margin-bottom: 0; }
  .about-inner h2 { font-size: 35px; }
  .about-description { border-left: 0; padding: 0; margin-top: 13px; }
  .about-description .company-name { font-size: 17px; margin-bottom: 18px; }
  .about-description p { font-size: 14px; }
  .contact-section { padding: 75px 0 84px; }
  .contact-inner > p { font-size: 13px; }
  .contact-inner h2 { font-size: 32px; }
  .contact-inner .button { font-size: 14px; }
  .footer { padding-top: 33px; }
  .footer-top nav { gap: 7px 24px; font-size: 12px; }
  .footer-top nav button { font-size: 12px; }
  .footer-bottom { flex-wrap: wrap; align-items: flex-start; font-size: 11px; gap: 14px; }
  .footer-bottom > span { max-width: none; }
  .dialog { padding: 40px 24px 27px; }
  .dialog h2 { font-size: 25px; }
  .dialog .eyebrow { font-size: 11px; }
  .dialog-lead, .detail-list p { font-size: 14px; }
  .detail-list h3 { font-size: 17px; }
  .dialog-bottom > p { font-size: 12px; }
  .dialog input, .dialog textarea, .dialog select { font-size: 16px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-footer { flex-wrap: wrap; gap: 16px; }
  .form-footer .button { font-size: 13px; padding-inline: 18px; }
}
@media (max-width: 450px) {
  .product-body { display: flex; flex-direction: column; gap: 22px; }
  .product-card h3 { font-size: 29px; }
  .product-visual { height: 145px; }
  .product-description { margin-top: 12px; }
  .product-visual img { height: 145px; }
  .ndp-path ol { grid-template-columns: 1fr; gap: 29px; }
  .ndp-path li { display: grid; grid-template-columns: 26px minmax(0, 1fr); column-gap: 10px; }
  .ndp-path li:not(:last-child)::after { content: "↓"; top: auto; right: auto; bottom: -24px; left: 35px; }
  .ndp-step { grid-row: 1 / 3; margin: 0; padding-top: 2px; }
  .ndp-path small { margin-top: 2px; }
  .console-toolbar { gap: 21px; padding-inline: 17px; }
  .console-panel { padding-inline: 18px; }
  .architecture { padding-inline: 17px; }
  .diagram-service > span:last-child { font-size: 11px; }
  .foundation-link { letter-spacing: 0; }
  .contact-inner h2 { font-size: 28px; }
}
@media (max-width: 360px) {
  .container { width: calc(100% - 32px); }
  .brand > span { font-size: 22px; }
  .brand-mark { width: 23px; height: 23px; }
  .header-inner { gap: 8px; }
  .header-cta { padding-inline: 9px; font-size: 11px; gap: 8px; }
  .section h2, .ndp-section .ndp-title { font-size: 29px; }
  .product-card, .product-card:nth-child(2), .product-card:nth-child(4) { padding-inline: 20px; }
  .console-toolbar { gap: 15px; padding-inline: 14px; }
  .console-toolbar button { font-size: 12px; }
  .console-toolbar button > span { margin-left: 3px; }
  .console-panel { padding-inline: 14px; }
  .incident-summary { gap: 8px; padding-inline: 9px; }
  .incident-summary strong, .event-timeline strong { font-size: 13px; }
  .incident-summary p, .event-timeline p { font-size: 11px; }
  .architecture { padding-inline: 13px; }
  .diagram-services { gap: 5px; }
  .diagram-service strong { font-size: 11px; }
  .contact-inner h2 { font-size: 25px; }
  .about-inner h2 { font-size: 32px; }
  .dialog { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .product-card, .product-visual img { transition: none; }
  .product-card:hover .product-visual img { transform: none; }
}
