/* Final brand rules: type communicates importance; color communicates role. */
:root{
  --brand-heading:Montserrat,Arial,sans-serif;
  --brand-body:Arial,sans-serif;
  --brand-navy:#102b38;
  --brand-blue:#006fa3;
  --brand-body-color:#52616b;
  --brand-border:#cfdbdf;
  --brand-section-size:clamp(32px,2.9vw,40px);
  --brand-subhead-size:20px;
  --brand-body-size:16px;
  --brand-support-size:14px;
  --brand-caption-size:12px;
}
body{font-family:var(--brand-body);color:var(--brand-navy)}
.product-copy h2,.custom-copy h2,.story-copy h2,.approach-heading h2,.contact-section h2{
  font-family:var(--brand-heading);font-size:var(--brand-section-size);font-weight:600;
  line-height:1.18;letter-spacing:-.045em;color:var(--brand-navy);text-wrap:balance;
}
.custom-copy h2{color:#fff}
.product-copy>p:not(.eyebrow,.product-footnote,.product-service-note),.custom-copy>p:not(.eyebrow),.story-copy>p:not(.eyebrow),.contact-section>div>p:not(.eyebrow),.pilot-explanation{
  font-family:var(--brand-body);font-size:var(--brand-body-size);font-weight:400;line-height:1.65;color:var(--brand-body-color);
}
.product-copy>p:not(.eyebrow,.product-footnote,.product-service-note){max-width:440px;margin:20px 0 25px}
.custom-copy>p:not(.eyebrow){color:#d2dbdb}
.product-copy .eyebrow,.custom-copy .eyebrow,.story-copy .eyebrow,.approach-heading .eyebrow,.contact-section .eyebrow,.approach-commercial .eyebrow{
  font-family:var(--brand-heading);font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.08em;
}
.section-logo{width:min(310px,100%);margin-bottom:22px}
.availability{color:var(--brand-body-color);font-size:12px;margin-top:8px}
.availability:before{display:none}
.panel-name{font-family:var(--brand-heading);font-size:18px;font-weight:600;line-height:1.3}
.panel-summary,.panel-details p{font-size:14px;line-height:1.55;color:var(--brand-body-color)}
.panel-details .text-link{font-family:var(--brand-heading);font-size:13px;font-weight:600;color:var(--brand-blue)}
.solution-panel,.solution-panel.is-active,.solution-panel:first-child,.solution-panel:last-child,.solution-panel:not(:first-child).is-active{min-height:218px}
.button,.custom-section .button,.contact-section .button,.product-layout .button,.configurator .button{font-family:var(--brand-heading);font-size:14px;font-weight:600;line-height:1.4}
.product-copy>.button,#live-demo-form .button,#inquiry-form>.button{background:var(--brand-blue);border-color:var(--brand-blue);color:white}
.product-copy>.button:hover,#live-demo-form .button:hover,#inquiry-form>.button:hover{background:#005780;border-color:#005780}
.header .button{font-size:12px}
.explorer-label{font-size:var(--brand-caption-size);line-height:1.5;color:var(--brand-body-color);margin-bottom:12px}
.product-switcher button,.platform-tabs button,.product-capabilities button{
  font-family:var(--brand-heading);font-size:13px;font-weight:500;line-height:1.4;
  border-color:var(--brand-border);color:var(--brand-navy);min-height:44px;
}
.product-switcher button[aria-selected=true],.platform-tabs button[aria-selected=true],.product-capabilities button[aria-selected=true]{
  background:#e7f1f6;color:var(--brand-navy);border-color:#7096a8;font-weight:600;
}
.product-switcher{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--brand-border)}
.product-switcher button span{display:none}
.product-copy>p.product-service-note{font-size:14px;line-height:1.5;color:var(--brand-body-color);margin:22px 0 0}
.capability-disclosure{margin-top:28px;border-top:1px solid var(--brand-border);border-bottom:1px solid var(--brand-border)}
.capability-disclosure>summary{font-family:var(--brand-heading);font-size:14px;font-weight:500;line-height:1.5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;cursor:pointer;list-style:none}
.capability-disclosure>summary::-webkit-details-marker{display:none}
.capability-disclosure>summary>span{font:400 22px/1 var(--brand-body);transition:transform .2s}
.capability-disclosure[open]>summary>span{transform:rotate(45deg)}
.capability-disclosure .capability-explorer{margin-top:4px}
.capability-disclosure .capability-detail{min-height:0;padding-bottom:16px}
.capability-disclosure .product-footnote{font-size:12px;line-height:1.6;margin:0 0 18px}
.capability-detail h3,.demo-card h3,#inquiry-heading,.approach-commercial h3{font-family:var(--brand-heading);font-size:var(--brand-subhead-size);font-weight:600;line-height:1.3;letter-spacing:-.03em}
.product-demo .demo-card h3,.config-summary h3,#inquiry-heading{font-size:24px;font-weight:600;line-height:1.3}
.capability-detail p,.platform-description>p,.platform-description .view-note,.call-journey li p,.demo-card .scenario-label,.demo-card .scenario-note,.small-disclosure p,.live-call-intro{font-size:14px;line-height:1.65;color:var(--brand-body-color)}
.platform-description{padding-top:20px}
.platform-description .view-note{margin-top:8px}
.app-caption,.operations-caption{font-size:12px;line-height:1.5;color:var(--brand-body-color)}
.ui-title,.ui-box h4{font-family:var(--brand-heading);font-size:15px;font-weight:600;line-height:1.4}
.ui-table{font-size:12px}
.selected-detail,.ui-chat,.ui-note{font-size:13px;line-height:1.6}
.configuration-disclosure>summary,.technical-disclosure>summary{font-family:var(--brand-heading);font-size:16px;font-weight:500}
.configuration-disclosure>summary small,.technical-disclosure>summary small{font-family:var(--brand-body);font-size:13px;font-weight:400;line-height:1.5}
.technical-grid h3{font-size:20px;font-weight:600}
.technical-grid p,.technical-grid li{font-size:14px;line-height:1.65}
.custom-uses strong{font-family:var(--brand-heading);font-size:14px;font-weight:600;line-height:1.4}
.custom-uses p{font-size:14px;line-height:1.5;color:#d2dbdb}
.custom-process-link{font-size:14px;line-height:1.5}
.operations-sidebar button{font-family:var(--brand-heading);font-size:12px;font-weight:500}
.operations-title h3{font-size:20px;font-weight:600}
.story-copy{padding:52px 10%}
.story-copy>p:not(.eyebrow){max-width:480px}
.story-topics{display:block;margin:25px 0 24px;border-top:1px solid var(--brand-border)}
.story-topics summary{font-family:var(--brand-heading);font-size:14px;font-weight:500;line-height:1.5;padding:16px 0;color:var(--brand-navy)}
.story-topics details p{font-size:14px;line-height:1.65;padding:0 0 14px;color:var(--brand-body-color)}
.story-topics details a{display:inline-block;font-size:14px;color:var(--brand-blue);text-decoration:underline;text-underline-offset:3px;margin:0 0 18px}
.story-cta{font-family:var(--brand-heading);font-size:14px;font-weight:600;line-height:1.5;color:var(--brand-blue)}
.story-section>img{width:100%;height:600px;min-height:0;max-height:none;object-position:54% center}
.process h3{font-size:20px;font-weight:600;line-height:1.3}
.process p{font-size:14px;line-height:1.65}
.process>div>span{font-family:var(--brand-heading);font-size:14px;font-weight:500;color:var(--brand-blue)}
.approach-section{grid-template-columns:1fr 2.2fr;gap:5%;padding-block:60px}
.approach-commercial{margin-top:18px}
.approach-details summary{font-family:var(--brand-heading);font-size:14px;font-weight:500;line-height:1.5}
.form-grid label{font-size:14px;line-height:1.5}
.form-grid input,.form-grid textarea{font-size:16px}
.contact-section #inquiry-context{font-size:14px;line-height:1.6}
.form-status,.demo-preview-note,.demo-field-help{font-size:12px;line-height:1.6}
@media(max-width:1100px){
  .approach-section{grid-template-columns:1fr;gap:32px}
  .custom-uses{gap:14px}
  .custom-uses strong,.custom-uses p{font-size:13px}
  .story-copy{padding:40px 8%}
  .product-switcher button,.platform-tabs button{font-size:12px}
}
@media(max-width:800px){
  :root{--brand-section-size:32px}
  .section-logo{width:280px}
  .panel-name{font-size:16px}
  .panel-summary,.panel-details p{font-size:13px}
  .story-section>img{height:540px}
  .product-copy>p.product-service-note{margin-top:18px}
}
@media(max-width:580px){
  :root{--brand-section-size:30px;--brand-subhead-size:20px}
  .solution-panel,.solution-panel.is-active,.solution-panel:first-child,.solution-panel:last-child,.solution-panel:not(:first-child).is-active{min-height:0}
  .panel-name{font-size:18px}
  .panel-summary,.panel-details p{font-size:14px}
  .product-copy .availability{font-size:12px}
  .product-copy>p:not(.eyebrow,.product-footnote,.product-service-note){margin:18px 0 24px}
  .capability-disclosure{order:6;width:100%;margin-top:24px}
  .product-copy>p.product-service-note{order:5;margin-top:18px;font-size:14px}
  .product-experience{order:7;margin-top:28px}
  .capability-disclosure .capability-explorer{margin-top:4px}
  .product-switcher button,.platform-tabs button{font-size:12px;padding:10px 7px}
  .product-switcher button{min-height:52px}
  .story-section>img{height:230px;object-position:54% center}
  .story-copy{padding:38px 6% 42px}
  .story-copy .eyebrow{font-size:11px}
  .story-topics summary{font-size:14px}
  .custom-uses strong,.custom-uses p{font-size:14px}
  .approach-section{padding-block:42px}
  .process{gap:28px 22px}
  .process h3{font-size:18px}
  .approach-commercial{margin-top:0}
}

/* Client story replaces the government offer without changing the section order. */
.story-section{display:grid;align-items:stretch;scroll-margin-top:90px}
.story-visual{padding:52px 12%;background:var(--brand-navy);color:#fff;display:flex;flex-direction:column;justify-content:center;min-width:0}
.story-project-label{font:600 11px/1.5 var(--brand-heading);letter-spacing:.09em;color:#b7cbd5}
.story-client{color:#fff;font:600 clamp(38px,4vw,58px)/1.15 var(--brand-heading);letter-spacing:-.04em;margin:14px 0 22px}
.story-visual-title{color:#fff;font:500 clamp(21px,2vw,29px)/1.3 var(--brand-heading);letter-spacing:-.025em;max-width:380px}
.story-workflow{list-style:none;margin:28px 0;padding:0;border-top:1px solid #49606d}
.story-workflow li{display:flex;gap:20px;align-items:baseline;padding:17px 0;border-bottom:1px solid #49606d}
.story-workflow li>span{font:500 12px/1.5 var(--brand-heading);color:#74ccf2}
.story-workflow strong{font:500 15px/1.5 var(--brand-heading)}
.story-workflow p{font-size:14px;line-height:1.5;color:#c5d5dc;margin-top:3px}
.story-environments{display:grid;grid-template-columns:1fr 1.4fr;gap:22px;margin-top:2px}
.story-environments>div+div{border-left:1px solid #49606d;padding-left:22px}
.story-environments span{display:block;font:500 10px/1.5 var(--brand-heading);letter-spacing:.1em;color:#b7cbd5;margin-bottom:5px}
.story-environments strong{font:500 16px/1.4 var(--brand-heading)}
.story-copy{align-self:center}
.story-topics details{border-bottom:1px solid var(--brand-border)}
.story-topics summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}
.story-topics summary::-webkit-details-marker{display:none}
.story-topics summary>span{font-size:20px;font-weight:400}
.story-topics details[open] summary>span{transform:rotate(45deg)}
.hosting-description{font-size:14px;line-height:1.65;color:var(--brand-body-color)}
.hosting-description strong{color:var(--brand-navy);font-weight:600}
@media(max-width:800px){.story-visual{padding:38px 9%}.story-client{font-size:42px}.story-visual-title{font-size:24px}.story-workflow li{gap:12px}.story-environments{gap:12px}.story-environments>div+div{padding-left:12px}.story-environments strong{font-size:14px}}
@media(max-width:580px){.story-visual{padding:36px 6%}.story-client{font-size:42px}.story-visual-title{font-size:25px}.story-workflow{margin:22px 0}.story-workflow li{padding:13px 0}.story-environments{margin-top:0}.story-copy{padding:36px 6% 42px}}

/* Lead with the two services; supporting copy explains the work they handle. */
.hero .hero-copy{padding-top:46px;padding-bottom:38px;text-align:center}
.hero h1{font-family:var(--brand-heading);font-size:clamp(34px,4.2vw,62px);font-weight:600;line-height:1.15;letter-spacing:-.045em;max-width:1200px;margin:0 auto;color:var(--brand-navy)}
.hero h1 span{display:block;white-space:normal;color:var(--brand-navy)}
.hero h1 span+span{color:var(--brand-blue);margin-top:5px}
.hero .lead{font-family:var(--brand-body);font-size:18px;font-weight:400;line-height:1.6;letter-spacing:normal;color:var(--brand-body-color);max-width:760px;margin:22px auto 0;text-wrap:balance}
@media(max-width:580px){.hero .hero-copy{padding-top:34px;padding-bottom:28px}.hero h1{font-size:clamp(30px,7.3vw,40px)}.hero .lead{font-size:16px;line-height:1.6;margin-top:18px;max-width:330px}}
