/* Shared fluid geometry. Text remains readable while the layout follows the viewport. */
.v5-site {
  --page-gutter: clamp(20px, 5vw, 160px);
  --content-limit: 150rem;
  --reading-size: clamp(16px, calc(12px + .35vw), 21px);
  --layout-gap: clamp(28px, 4vw, 100px);
}
.v5-site .container {
  width: calc(100% - var(--page-gutter) * 2);
  max-width: var(--content-limit);
  margin-inline: auto;
}
.v5-site .designed-hero-grid > *, .v5-site .product-body > *,
.v5-site .monitor-proof > *, .v5-site .solution-panel > *,
.v5-site .storage-intro-grid > *, .v5-site .about-inner > * { min-width: 0; }
@media (min-width: 901px) {
  .v5-site .desktop-nav a, .v5-site .header-cta { font-size: clamp(15px, .82vw, 20px); }
  .v5-site .desktop-nav { gap: clamp(26px, 2vw, 50px); }
  .v5-site .brand-logo { width: clamp(176px, 11.5vw, 260px); height: auto; }
  .v5-site .eyebrow { font-size: clamp(12px, .65vw, 16px); }
  .v5-site .button, .v5-site .inline-link, .v5-site .text-button,
  .v5-site .home-actions .button { font-size: clamp(15px, .82vw, 20px); }
  .v5-site.page-inner .section, .v5-site.page-home .section, .v5-site .about-section { padding-block: clamp(64px, 5vw, 120px); }
  .v5-site .section h2, .v5-site .about-inner h2 { font-size: clamp(36px, 2.65vw, 64px); }
  .v5-site .section-intro, .v5-site .large-body, .v5-site .ndp-intro,
  .v5-site .ndp-detail, .v5-site .detail-editorial-grid p,
  .v5-site .product-description, .v5-site .solution-copy > p,
  .v5-site .about-description p, .v5-site .process-list p,
  .v5-site .official-history-copy p, .v5-site .official-contact-grid p,
  .v5-site .official-data-card > p, .v5-site .official-solution-grid p,
  .v5-site .qbsm-features p, .v5-site .qbsm-heading-description > p,
  .v5-site .explorer-copy p, .v5-site .story-copy > p:not(.eyebrow),
  .v5-site .scenario-card p, .v5-site .company-layout p,
  .v5-site .experience-contact .container > div:last-child > p,
  .v5-site .inner-value-grid p, .v5-site .storage-expansion p:not(.eyebrow) {
    font-size: var(--reading-size); line-height: 1.85;
  }
  .v5-site .section-intro, .v5-site .large-body { max-width: 36em; }
  .v5-site .story-copy > p:not(.eyebrow) { max-width: 30em; }
  .v5-site .explorer-copy p { max-width: 40em; }
  .v5-site .capability-ribbon strong { font-size: clamp(18px, 1vw, 24px); }
  .v5-site .capability-ribbon a { min-height: clamp(84px, 5vw, 112px); }
  .v5-site .footer-grid a:not(.brand), .v5-site .footer-grid button,
  .v5-site .footer-brand p { font-size: clamp(14px, .8vw, 19px); }
  .v5-site.page-inner .page-section-nav a, .v5-site.page-inner .page-section-nav strong { font-size: clamp(14px, .8vw, 19px); }
  .v5-site.page-inner .designed-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--layout-gap); }
  .v5-site.page-inner .designed-hero-copy h1 { font-size: clamp(42px, 3.35vw, 86px); }
  .v5-site.page-inner .designed-hero-copy > p:not(.eyebrow) { font-size: var(--reading-size); max-width: 32em; }
  .v5-site.page-inner .designed-page-hero { padding-block: clamp(122px, 7vw, 172px) clamp(48px, 4vw, 96px); }
  .v5-site.page-inner .designed-hero-grid > .business-visual { width: 100%; max-width: 960px; justify-self: end; }
  .v5-site.page-products .product-body { gap: var(--layout-gap); }
  .v5-site.page-products .product-card { padding-inline: clamp(28px, 3vw, 72px); }
  .v5-site.page-products .product-card h3 { font-size: clamp(32px, 2vw, 48px); }
  .v5-site.page-products .product-fit { font-size: clamp(12px, .7vw, 17px); }
  .v5-site.page-products .product-description { font-size: var(--reading-size); }
  .v5-site.page-products .product-subtitle { font-size: clamp(18px, 1.05vw, 25px); }
  .v5-site .iv-titlebar { height: clamp(43px, 2.5vw, 60px); font-size: clamp(12px, .72vw, 17px); }
  .v5-site .iv-footer { font-size: clamp(10px, .6vw, 14px); }
  .v5-site .iv-topline, .v5-site .iv-live, .v5-site .iv-demo { font-size: clamp(9px, .55vw, 13px); }
  .v5-site .portfolio-map, .v5-site .solution-hero-map, .v5-site .about-brand-panel { padding: clamp(30px, 2.5vw, 60px); }
  .v5-site .portfolio-cells > div { padding: clamp(18px, 1.5vw, 36px); }
  .v5-site .portfolio-cells strong, .v5-site .solution-hero-map strong { font-size: clamp(20px, 1.3vw, 30px); }
  .v5-site .portfolio-cells span, .v5-site .portfolio-map > p:last-child,
  .v5-site .solution-hero-map > p, .v5-site .about-brand-panel > div { font-size: clamp(11px, .65vw, 16px); }
  .v5-site .about-brand-panel > p { font-size: clamp(25px, 1.65vw, 40px); }
  .v5-site .about-brand-panel img { width: clamp(210px, 14vw, 330px); }
  .v5-site.page-backup .ndp-layout, .v5-site.page-solutions .solution-panel,
  .v5-site .monitor-proof { gap: var(--layout-gap); }
  .v5-site .ndp-capability summary { font-size: clamp(18px, 1vw, 24px); }
  .v5-site .solution-tabs button { font-size: clamp(16px, .9vw, 22px); }
  .v5-site.page-home .experience-hero .data-stage { height: clamp(720px, 82svh, 1080px); min-height: 720px; }
  .v5-site.page-home .experience-hero-copy { top: 50%; transform: translateY(-44%); }
  .v5-site.page-home .experience-hero-copy > * { max-width: 45%; }
  .v5-site.page-home .experience-hero-copy h1 { font-size: clamp(52px, 4.4vw, 112px); }
  .v5-site.page-home .experience-hero-lead { font-size: clamp(17px, 1vw, 24px); }
  .v5-site.page-home .control-visual { top:110px; bottom:90px; left: 50%; right: max(var(--page-gutter), calc((100% - var(--content-limit)) / 2)); padding-top: 0; }
  .v5-site.page-home .control-composition { --control-scale: .96; width: 92%; max-width: 980px; transform: scale(calc(var(--control-scale) * var(--control-fit, 1))); }
  .v5-site.page-home .control-topology { height: clamp(135px, 8vw, 210px); }
  .v5-site.page-home .experience-scroll { left: max(var(--page-gutter), calc((100% - var(--content-limit)) / 2)); }
  .v5-site.page-home .control-visual-caption { right: 0; left: 0; bottom:-40px; font-size: clamp(11px, .6vw, 14px); }
}
@media (min-width: 1800px) {
  .v5-site .control-dashboard { padding: 28px; }
  .v5-site .control-dashboard-title h2 { font-size: 28px; }
  .v5-site .control-metrics strong { font-size: 21px; }
  .v5-site .control-metrics > div > span, .v5-site .control-panel-heading,
  .v5-site .control-window-head { font-size: 14px; }
  .v5-site .control-events > div:not(:first-child) { font-size: 12px; padding-block: 15px; }
  .v5-site .control-chart svg { height: 96px; }
}
@media (min-width: 901px) and (max-width: 1150px) {
  .v5-site.page-home .experience-hero-copy h1 { font-size: clamp(44px, 4.5vw, 52px); }
  .v5-site.page-home .control-visual { left: 49%; right: 2%; }
  .v5-site.page-home .control-composition { --control-scale: .82; width: 96%; }
}

/* Keep consultation actions visible on common short desktop displays. */
@media (min-width: 601px) and (max-height: 820px) {
  .v5-site .consult-dialog {
    padding: 26px 36px 24px;
    max-height: calc(100dvh - 24px);
  }
  .v5-site .consult-dialog .dialog-close { top: 6px; right: 8px; }
  .v5-site .consult-dialog .eyebrow { margin-bottom: 10px; }
  .v5-site .consult-dialog h2 { font-size: 28px; line-height: 1.35; }
  .v5-site .consult-dialog .dialog-lead { margin: 10px 0 14px; line-height: 1.65; }
  .v5-site .consult-dialog label { margin-bottom: 10px; }
  .v5-site .consult-dialog input,
  .v5-site .consult-dialog select { min-height: 42px; padding-block: 9px; }
  .v5-site .consult-dialog textarea { min-height: 76px; padding-block: 9px; }
  .v5-site .consult-dialog .form-footer .button { min-height: 44px; }
  .v5-site .consult-dialog .form-status { margin-top: 10px; }
}
