/* V1.0.3: readable type, dark surfaces and refined interface motion. */

/* Larger type for real content, navigation and the illustrative interfaces. */
body { font-size: 16px; }
.eyebrow, .hero-eyebrow, .contact-copy .eyebrow {
  font-size: 14px;
  letter-spacing: .09em;
  line-height: 1.6;
}
.section-head > p, .section-copy, .hero-intro,
.contact-copy > p:not(.eyebrow) { font-size: 16px; }
.nav-links, .solutions-toggle, .nav-links .button,
.solutions-menu strong, .solutions-menu small, .menu-caption,
.menu-toggle, .button-small { font-size: 14px; }
.button, .hero-actions .button, .text-link, .text-link.subdued,
.service-card > .text-link, .scope-note > .text-link,
.footer-main > .text-link { font-size: 15px; }
.hero-footnote, .showcase-caption, .showcase-heading,
.hero-strip, .card-number, .example-label,
.footer-main > p, .footer-bottom, .floating-contact { font-size: 14px; }
.service-card h3 { font-size: clamp(21px, 1.8vw, 24px); }
.service-card .card-subtitle, .service-card > p:not(.card-subtitle),
.scope-note p, .approach-list p, .process-grid p, .faq-answer p,
.contact-benefits li, .contact-hint p, .check-list li,
.example-description { font-size: 15px; }
.example-meta > strong { font-size: 16px; }
.contact-hint p { line-height: 1.75; }
.faq-list summary { font-size: 16px; }
.faq-answer p { line-height: 1.85; }
.form-step, .form-heading p, .project-form label, .project-form legend,
.project-form legend > span, .service-choice strong, .service-choice small,
.feature-choice > span, .field-help, .project-form .support-choice,
.form-footer > p:first-child, .privacy-note, .form-status,
.result > p, .no-script { font-size: 14px; }
.project-form input:not([type=radio]):not([type=checkbox]),
.project-form textarea, .project-form input::placeholder,
.project-form textarea::placeholder { font-size: 16px; }
.form-footer > .button, .result > .button, dialog > .button { font-size: 15px; }
.dialog-note, dialog > .eyebrow, #dialog-description { font-size: 14px; }
.demo-tabs button, .mini-site-nav, .mini-site-hero p, .demo-kicker,
.demo-cta, .mini-site-bottom, .showcase-caption,
.demo-badge, .metric-grid small, .metric-grid span, .demo-table,
.demo-table th, .pill, .panel-note, .finance-summary small,
.finance-rows > div, .concept-name, .concept-button,
.concept-stats small, .concept-row, .concept-row > b,
.flow-map > span, .flow-message { font-size: 14px; }
.demo-tabs button > .icon { width: 18px; height: 18px; }
.demo-tabs button { gap: 8px; padding: 11px 16px; }
.mini-brand { font-size: 19px; }
.demo-kicker, .concept-name { letter-spacing: .08em; line-height: 1.5; }
.mini-site-hero h2 { font-size: clamp(27px, 2.3vw, 34px); }
.mini-site-hero p { line-height: 1.7; }
.demo-cta { gap: 10px; padding: 11px 12px; line-height: 1.4; }
.mini-site-bottom { flex-wrap: wrap; gap: 10px 20px; }
.window-bar { height: 44px; }
.window-bar i { width: 7px; height: 7px; }
.dashboard-head h2 { font-size: 23px; }
.metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.metric-grid > div { padding: 14px; }
.metric-grid strong { font-size: 26px; }
.demo-table th, .demo-table td { white-space: normal; }
.pill { padding: 4px 8px; }
.finance-summary { padding: 20px; }
.finance-summary strong { font-size: 17px; }
.finance-rows > div { line-height: 1.5; }
.panel-note { line-height: 1.65; }

/* Illustrations expand to fit the larger type, keeping every tab aligned. */
.example-visual { height: 320px; }
.concept-bar { height: 39px; margin-bottom: 20px; }
.concept-stats > span { padding: 12px 14px; }
.concept-stats b { font-size: 26px; }
.concept-row { padding-block: 8px; }
.flow-map > span { width: 86px; height: 86px; }
.flow-map > i { width: 17px; }
.service-choice > span { height: 100%; }
.service-choice input { width: 18px; height: 18px; }
.feature-choice > span { padding: 10px 12px; min-height: 44px; }
.feature-choice .icon { width: 15px; height: 15px; }
.support-choice input { width: 19px; height: 19px; }
.floating-contact { min-height: 48px; }
.footer-bottom { flex-wrap: wrap; line-height: 1.6; }
.approach-list > div > span, .step-number { font-size: 14px; }

@media (max-width: 1150px) {
  .section-head > p, .section-copy, .hero-intro,
  .contact-copy > p:not(.eyebrow) { font-size: 16px; }
  .nav-links { gap: 18px; }
  .service-card { padding: 25px 22px; }
  .service-card h3 { font-size: 21px; }
  .service-card .card-subtitle, .service-card > p:not(.card-subtitle),
  .check-list li, .process-grid p { font-size: 15px; }
  .scope-note > .text-link { white-space: normal; }
  .flow-map > span { width: 70px; }
  .flow-map > i { width: 12px; }
}
@media (max-width: 950px) and (min-width: 761px) {
  .nav { gap: 16px; }
  .nav-links { gap: 13px; }
  .nav-links, .solutions-toggle, .nav-links .button { font-size: 14px; }
  .nav-links .button { padding-inline: 10px; }
  .hero-layout { gap: 28px; }
  .showcase-heading { font-size: 14px; }
  .demo-tabs button { padding-inline: 12px; }
  .mini-site-hero { grid-template-columns: minmax(0, 1fr) minmax(90px, 30%); gap: 8px; }
  .mini-site-hero h2 { font-size: 27px; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-card:last-child { grid-column: 1 / -1; }
  .example-visual { height: 330px; }
  .flow-map > span { width: 60px; font-size: 14px; }
  .flow-map > i { width: 10px; }
  .flow-map .icon { width: 20px; height: 20px; }
  .footer-main > .text-link { max-width: 260px; }
}
@media (max-width: 760px) {
  .eyebrow, .hero-eyebrow, .contact-copy .eyebrow { font-size: 14px; }
  .hero-intro, .section-head > p, .section-copy,
  .contact-copy > p:not(.eyebrow) { font-size: 16px; }
  .hero-actions > .button, .hero-actions > .text-link,
  .nav-links .button, .nav-links > a:not(.button),
  .solutions-toggle, .menu-toggle { font-size: 14px; }
  .nav-links, .solutions-menu strong, .solutions-menu small,
  .solutions-menu .menu-caption { font-size: 14px; }
  .hero-footnote, .showcase-caption, .showcase-heading,
  .hero-strip, .card-number, .example-label, .footer-main > p,
  .footer-bottom, .floating-contact { font-size: 14px; }
  .hero-strip { justify-content: flex-start; flex-wrap: wrap; gap: 10px 14px; }
  .hero-strip > i { width: 3px; height: 3px; }
  .service-card h3 { font-size: 23px; }
  .service-card .card-subtitle, .service-card > p:not(.card-subtitle),
  .check-list li, .service-card > .text-link, .scope-note p,
  .scope-note > .text-link, .approach-list p, .process-grid p,
  .faq-answer p, .contact-benefits li, .contact-hint p,
  .example-description { font-size: 15px; }
  .example-meta > strong, .faq-list summary { font-size: 16px; }
  .project-form label, .project-form legend, .project-form legend > span,
  .form-step, .form-heading p, .service-choice strong, .service-choice small,
  .feature-choice > span, .field-help, .project-form .support-choice,
  .form-footer > p:first-child, .privacy-note, .result > p { font-size: 14px; }
  .form-footer > .button, .result > .button { font-size: 15px; }
  .project-form input::placeholder, .project-form textarea::placeholder { font-size: 15px; }
  .demo-tabs button, .mini-site-nav, .mini-site-hero p, .demo-kicker,
  .demo-cta, .mini-site-bottom, .showcase-caption, .demo-badge,
  .metric-grid small, .metric-grid span, .demo-table, .demo-table th,
  .pill, .panel-note, .finance-summary small, .finance-rows > div,
  .concept-name, .concept-button, .concept-stats small, .concept-row,
  .concept-row > b, .flow-map > span, .flow-message { font-size: 14px; }
  .demo-tabs button { padding: 11px 13px; }
  .mini-site-hero { grid-template-columns: minmax(0, 1fr) minmax(80px, 30%); gap: 5px; }
  .mini-site-hero h2 { font-size: 27px; }
  .mini-site-hero p { font-size: 14px; }
  .mini-site-bottom { gap: 12px 18px; }
  .service-choice > span { min-height: 134px; }
  .example-visual { height: 340px; }
  .flow-map > span { width: 82px; height: 88px; }
  .flow-map > i { width: 16px; }
  .faq-layout .text-link { font-size: 15px; }
  .footer-main > .text-link { font-size: 14px; }
  dialog .check-list li, .dialog-note { font-size: 14px; }
  dialog > .button { font-size: 15px; }
}
@media (max-width: 380px) {
  .hero-actions > .button { font-size: 14px; }
  .showcase-caption { font-size: 14px; }
  .demo-tabs { display: flex; width: 100%; }
  .demo-tabs button { flex: 1; min-width: 0; padding: 10px 7px; font-size: 14px; }
  .demo-tabs button > .icon { display: none; }
  .mini-site-hero { grid-template-columns: 1fr; gap: 2px; }
  .mini-site-hero h2 { font-size: 28px; }
  .mini-site-nav { font-size: 14px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-grid > div { padding: 9px; }
  .metric-grid strong { margin: 1px 0; }
  .dashboard-head h2 { font-size: 21px; }
  .demo-table td, .demo-table th { padding-inline: 3px; font-size: 14px; }
  .pill { font-size: 14px; }
  .finance-rows > div { flex-wrap: wrap; font-size: 14px; }
  .hero-strip { font-size: 14px; }
  .form-row { grid-template-columns: 1fr; }
  .service-choice strong, .service-choice small,
  .feature-choice > span, .privacy-note { font-size: 14px; }
  .service-choice > span { min-height: 148px; }
  .feature-choice > span { padding: 10px; }
  .flow-map > span { width: 63px; font-size: 14px; }
  .flow-map > i { width: 10px; }
  .footer-main { grid-template-columns: 1fr; gap: 18px; }
  .footer-main > p { justify-self: start; font-size: 14px; }
  .footer-main > .text-link { grid-column: auto; }
  .faq-layout h2 { font-size: 29px; }
  .faq-list summary { font-size: 15px; }
  .floating-contact { font-size: 14px; }
}

/* Keep the navigation and illustrations comfortable on intermediate screens. */
@media (min-width: 761px) and (max-width: 900px) {
  .nav { height: 78px; }
  .brand img { width: 147px; height: 45px; }
  .menu-toggle {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 9px 12px; min-height: 44px;
    border: 1px solid #3b5275; border-radius: 8px;
    background: #122036; color: #d5e4f9; font-size: 14px; font-weight: 600;
  }
  .menu-toggle > .icon { width: 18px; height: 18px; }
  .nav-links {
    display: none; position: absolute; top: calc(100% + 1px); left: 0; right: 0;
    padding: 14px 28px 22px; max-height: calc(100dvh - 95px); overflow-y: auto;
    background: #0e192b; box-shadow: 0 20px 36px #0005; border-bottom: 1px solid #365071;
  }
  .nav-links.open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links > a:not(.button), .solutions-toggle {
    width: 100%; padding: 15px 4px; border-bottom: 1px solid #243952; font-size: 14px;
  }
  .solutions-toggle { justify-content: space-between; }
  .nav-links .button { margin-top: 18px; padding: 13px 16px; font-size: 14px; }
  .solutions-menu { position: static; width: 100%; box-shadow: none; margin-top: 10px; padding: 8px; border-color: #2d4669; }
  .solutions-menu a { padding: 13px 10px; }
  .hero-layout { grid-template-columns: 1fr; max-width: 620px; gap: 50px; }
  .showcase-heading { justify-content: flex-start; }
  .mini-site-hero { grid-template-columns: minmax(0, 1fr) minmax(130px, 34%); gap: 14px; }
  .contact-layout { grid-template-columns: 1fr; gap: 38px; }
  .contact-copy { position: static; }
  html:not(.js) .nav { height: auto; flex-wrap: wrap; padding-block: 16px; }
  html:not(.js) .menu-toggle { display: none; }
  html:not(.js) .nav-links { display: flex; position: static; flex-direction: column; align-items: stretch; box-shadow: none; max-height: none; overflow: visible; width: 100%; border: 0; padding: 0; }
  html:not(.js) .nav-disclosure { display: none; }
}

/* A restrained, dark visual system. Raised surfaces are separated by light,
   not by switching the page to a light theme. */
:root {
  --bg: #080e19;
  --surface: #0e1725;
  --surface-raised: #131f31;
  --line: #28384d;
  --text: #f1f5fd;
  --muted: #bac8d9;
  --soft: #a3b3c9;
  --blue: #215ecb;
  --blue-hover: #286fe4;
  --accent: #9bc5ff;
  --cyan: #8ccdf4;
}
body { background: var(--bg); color: var(--text); }
.site-header { background: #080e19ed; border-color: #28384db5; }
.site-header.scrolled { box-shadow: 0 14px 36px #02050b55; }
.solutions-menu { background: #111c2c; border-color: #364861; }
.solutions-menu a:hover { background: #1a2a40; }
.button { border-radius: 10px; box-shadow: 0 8px 22px #02081824; }
.button:hover { box-shadow: 0 10px 30px #123d8170; }
.button.secondary { background: #17253a; color: #e7f0ff; border-color: #415775; }
.button.secondary:hover { background: #20334e; }

.hero {
  background: radial-gradient(ellipse at 79% 38%, #16345c65, transparent 48%),
              linear-gradient(155deg, #0a111e, #080e19 75%);
}
.hero-grid { opacity: .32; mask-image: linear-gradient(90deg, transparent 30%, #000); }
.hero-intro { color: #c2cede; }
.hero-footnote, .showcase-heading, .showcase-caption, .hero-strip { color: #afc1d8; }
.showcase { isolation: isolate; }
.showcase::before {
  inset: 18% -4% 3%;
  background: radial-gradient(ellipse, #285fa329, transparent 70%);
}
.demo-tabs { background: #0e1929; border-color: #34465e; border-radius: 12px; }
.demo-tabs button { color: #bdcce0; }
.demo-tabs button[aria-selected=true] { background: #234979; color: #fff; }
.demo-window {
  background: #0d1728;
  border-color: #405672;
  border-radius: 16px;
  box-shadow: 0 30px 70px #02050d77, 0 1px 0 #ffffff12 inset;
}
.window-bar { background: #17243a; border-color: #304157; }
.mini-site-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 37%);
  align-items: center;
  gap: 14px;
}
.mini-site-copy { min-width: 0; position: relative; z-index: 1; }
.mini-site-nav { gap: 14px; }
.mini-brand { white-space: nowrap; }
.mini-site-nav > span:last-child { text-align: right; }
.signal-art {
  position: relative;
  min-width: 0;
  height: 205px;
  overflow: hidden;
  border: 1px solid #7eacf43d;
  border-radius: 10px;
  background: linear-gradient(145deg, #132841, #10213c 60%, #0b1a2e);
  box-shadow: inset 0 1px 0 #ffffff13, 0 14px 28px #0208163b;
}
.signal-art svg { display: block; width: 100%; height: 100%; }
.signal-glint { animation: signal-sweep 4.4s cubic-bezier(.45,0,.2,1) 1 both; }
@keyframes signal-sweep {
  0%, 14% { transform: translateX(-45px); opacity: 0; }
  30% { opacity: .65; }
  78% { opacity: .55; }
  100% { transform: translateX(310px); opacity: 0; }
}
.mini-site-bottom { border-color: #304157; }

.services-section { background: #0d1625; border-color: #27384d; }
.services-section .service-card {
  background: linear-gradient(150deg, #172337, #111c2c 85%);
  border: 1px solid #30425c;
  box-shadow: 0 16px 38px #03071138, inset 0 1px 0 #ffffff08;
}
.services-section .service-card:hover {
  border-color: #6788b5;
  box-shadow: 0 22px 44px #02071164, inset 0 1px 0 #ffffff12;
}
.services-section .icon-box { background: #1b3456; border-color: #365b89; color: #a4cbff; }
.services-section .card-number { color: #a8bcd5; }
.services-section .card-subtitle { color: #e1eaf7; }
.services-section .service-card > p:not(.card-subtitle),
.services-section .check-list li { color: #bdcadd; }
.services-section .check-list .icon { color: #91c2ff; }
.services-section .service-card > .text-link { border-color: #34465d; color: #a8ceff; }
.scope-note { background: #131f31; border-color: #344760; }
.scope-note p { color: #c5d2e2; }
.scope-note strong { color: #f2f6fd; }
.scope-note > .text-link { color: #acd0ff; }

.possibilities-section { background: #090f1b; }
.example-visual { border-color: #354963; box-shadow: inset 0 1px 0 #ffffff0c; }
.website-concept { background: linear-gradient(145deg, #182d45, #101c2c); }
.website-concept .concept-name { color: #b0d6ff; }
.concept-line { background: #b9d1ec42; }
.concept-button { color: #eaf3ff; background: #285f9f; }
.concept-planes {
  position: absolute; right: -32px; bottom: -56px; width: 195px; height: 170px;
  background: linear-gradient(145deg, #74b9ff6b, #306cb62e 42%, #10263d);
  border: 1px solid #9ccaff47; border-radius: 26px;
  transform: rotate(-27deg) skewX(-7deg);
  box-shadow: -22px -18px 0 -1px #326baa32, -22px -18px 0 0 #91c5ff28;
}
.inventory-concept { background: linear-gradient(145deg, #16283f, #101c2e); }
.flow-concept { background: linear-gradient(145deg, #1b2740, #111c30); }
.flow-map > i::before { display: none; }
.approach-section { background: #101a2b; border-color: #283950; }
.process-section { background: #0a111e; }
.contact-section {
  background: radial-gradient(ellipse at 15% 20%, #17345a66, transparent 52%), #0c1524;
  border-color: #283a50;
}
.project-form {
  color-scheme: dark;
  color: var(--text);
  background: linear-gradient(155deg, #18263a, #131e30);
  border-color: #3b506b;
  box-shadow: 0 26px 65px #02071370, inset 0 1px 0 #ffffff12;
}
.project-form input:not([type=radio]):not([type=checkbox]),
.project-form textarea { background: #0c192a; border-color: #49617e; color: #f4f7fc; min-height: 52px; }
.project-form input::placeholder, .project-form textarea::placeholder { color: #b2c2d7; }
.project-form input:focus, .project-form textarea:focus { background: #11233a; border-color: #94bfff; }
.service-choice > span { background: #111d2f; border-color: #48607b; }
.service-choice small { color: #bac9dc; }
.service-choice:has(input:checked) > span { background: #203c60; border-color: #9bc3ff; }
.feature-choice > span { color: #d5e1ef; background: #111d2f; border-color: #48607b; }
.feature-choice:has(input:checked) > span { background: #244366; color: #fff; border-color: #9bc3ff; }
.project-form .support-choice, .form-heading p, .field-help,
.form-footer > p:first-child, .privacy-note, .result > p { color: #c2d0e1; }
.form-status { color: #b3dcff; }
.faq-section { background: #0a111e; color: var(--text); }
.faq-list, .faq-list details { border-color: #31445c; }
.faq-list summary { color: #e7eef9; }
.faq-answer p { color: #bfccdd; }
.site-footer { background: #070d17; border-color: #28384d; }
dialog { background: #142136; border-color: #4a617d; }
.floating-contact { background: #183455f5; border-color: #6689b6; color: #f3f8ff; }

/* Set real content and controls at comfortable reading sizes across layouts. */
.eyebrow, .hero-eyebrow, .contact-copy .eyebrow, .showcase-heading,
.hero-footnote, .showcase-caption, .hero-strip, .card-number,
.example-label, .footer-main > p, .footer-bottom, .floating-contact,
.menu-caption, .nav-links, .solutions-toggle, .solutions-menu strong,
.solutions-menu small, .menu-toggle, .button-small, .button, .text-link,
.text-link.subdued, .hero-actions .button, .hero-actions > .text-link,
.service-card > .text-link, .scope-note > .text-link, .footer-main > .text-link,
.service-card .card-subtitle, .service-card > p:not(.card-subtitle),
.scope-note p, .approach-list p, .process-grid p, .faq-answer p,
.faq-list summary, .contact-benefits li, .contact-hint p, .check-list li,
.example-description, .example-meta > strong, .form-step, .form-heading p,
.project-form label, .project-form legend, .project-form legend > span,
.service-choice strong, .service-choice small, .feature-choice > span,
.field-help, .project-form .support-choice, .form-footer > p:first-child,
.privacy-note, .form-status, .result > p, .no-script, .dialog-note,
dialog > .eyebrow, #dialog-description, dialog .check-list li,
.demo-tabs button, .mini-site-nav, .mini-site-hero p, .demo-kicker,
.demo-cta, .mini-site-bottom, .demo-badge, .metric-grid small,
.metric-grid span, .demo-table, .demo-table th, .pill, .panel-note,
.finance-summary small, .finance-rows > div, .concept-name, .concept-button,
.concept-stats small, .concept-row, .concept-row > b,
.flow-map > span, .flow-message, .step-number, .approach-list > div > span {
  font-size: 16px;
}
.section-head > p, .section-copy, .hero-intro,
.contact-copy > p:not(.eyebrow) { font-size: 17px; }
.eyebrow, .hero-eyebrow, .contact-copy .eyebrow, .form-step { letter-spacing: .06em; }
.project-form input:not([type=radio]):not([type=checkbox]),
.project-form textarea, .project-form input::placeholder,
.project-form textarea::placeholder { font-size: 16px; }
.demo-tabs button { gap: 7px; padding: 11px 13px; }
.nav-links .button, .form-footer > .button, .result > .button,
dialog > .button { font-size: 16px; }
.demo-kicker, .concept-name { letter-spacing: .04em; }
.mini-site-hero h2 { font-size: clamp(27px, 2.2vw, 34px); }
.mini-site-bottom { line-height: 1.5; }
.service-choice > span { min-height: 148px; }
.service-choice input { width: 19px; height: 19px; }
.feature-choice > span { min-height: 46px; }
.service-card h3 { font-size: clamp(22px, 1.8vw, 25px); }
.example-visual { height: 340px; }
.concept-stats > span { min-width: 0; }
.flow-map > span { width: 86px; }
.flow-map > i { width: 16px; }
.floating-contact { min-height: 50px; }
.dialog-close { width: 44px; height: 44px; }

@media (max-width: 1150px) {
  .nav-links { gap: 18px; }
  .service-card { padding-inline: 24px; }
}
@media (max-width: 950px) {
  .flow-map > span { width: 68px; }
  .flow-map > i { width: 10px; }
}
@media (max-width: 900px) {
  .mini-site-hero { grid-template-columns: minmax(0, 1fr) minmax(120px, 36%); }
  .signal-art { height: 190px; }
}
@media (max-width: 760px) {
  .hero-layout { gap: 48px; }
  .hero-strip { gap: 12px; }
  .service-card { padding: 27px; }
  .section-head > p, .section-copy, .hero-intro,
  .contact-copy > p:not(.eyebrow) { font-size: 17px; }
  .demo-tabs button, .mini-site-nav, .mini-site-hero p, .demo-kicker,
  .demo-cta, .mini-site-bottom, .showcase-caption, .demo-badge,
  .metric-grid small, .metric-grid span, .demo-table, .demo-table th,
  .pill, .panel-note, .finance-summary small, .finance-rows > div,
  .concept-name, .concept-button, .concept-stats small, .concept-row,
  .concept-row > b, .flow-map > span, .flow-message { font-size: 16px; }
  .project-form label, .project-form legend, .project-form legend > span,
  .form-step, .form-heading p, .service-choice strong, .service-choice small,
  .feature-choice > span, .field-help, .project-form .support-choice,
  .form-footer > p:first-child, .privacy-note, .result > p { font-size: 16px; }
  .service-choice > span { min-height: 148px; }
  .example-visual { height: 340px; }
  .flow-map > span { width: 82px; }
  .flow-map > i { width: 16px; }
  .footer-main > .text-link, .faq-layout .text-link { font-size: 16px; }
}
@media (max-width: 500px) {
  .mini-site-hero { grid-template-columns: 1fr; gap: 20px; }
  .signal-art { width: 100%; height: 130px; }
  .signal-art svg { object-fit: cover; }
  .flow-map > span { width: 70px; }
  .flow-map > i { width: 10px; }
  .hero-actions > .button, .hero-actions > .text-link { font-size: 16px; }
}
@media (max-width: 380px) {
  .eyebrow, .hero-eyebrow, .contact-copy .eyebrow,
  .showcase-heading, .showcase-caption, .hero-footnote,
  .hero-strip, .footer-main > p, .footer-bottom, .floating-contact,
  .service-choice strong, .service-choice small, .feature-choice > span,
  .privacy-note, .faq-list summary { font-size: 16px; }
  .demo-tabs button { padding-inline: 6px; font-size: 16px; }
  .demo-tabs button > .icon { display: none; }
  .mini-site-hero h2 { font-size: 28px; }
  .demo-table td, .demo-table th, .pill, .finance-rows > div { font-size: 16px; }
  .flow-map > span { width: 64px; font-size: 16px; }
  .flow-map > i { width: 9px; }
  .service-choices { grid-template-columns: 1fr; }
  .service-choice > span {
    display: flex; gap: 2px; min-height: 0; padding: 15px 38px 15px 15px;
  }
  .service-choice > span > .icon { display: none; }
  .service-choice small { margin-top: 0; }
  .form-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .signal-glint { animation: none; opacity: 0; }
}
