/* Shared reading scale and lightly translucent surfaces. */
:root{
  --type-title:clamp(1.875rem,calc(1.3rem + 1.35vw),2.5rem);
  --type-section:clamp(1.5rem,calc(1.15rem + .8vw),1.875rem);
  --type-body:.96875rem;
  --glass:rgba(255,255,255,.08);
  --glass-line:rgba(103,149,185,.3);
}
body{font-size:16px}
h1,.hero-heading h1,.page-hero h1,.contact-intro h1{
  font-size:var(--type-title);line-height:1.15;letter-spacing:-.035em;
  font-weight:650;margin-bottom:20px;max-width:21ch;
}
h2,.section h2,.closing h2{
  font-size:var(--type-section);line-height:1.24;letter-spacing:-.025em;
}
.hero-heading p,.page-hero p,.contact-intro p{font-size:1rem;line-height:1.75}
.section-head p,.info-card p,.service-card p,.process-card p,
.technical-copy p,.composer p,.example p,.timeline-event p,.closing p{
  font-size:var(--type-body);line-height:1.72;
}
.info-card h3,.service-card h3,.process-card h3,.timeline-event h3{
  font-size:1.125rem;line-height:1.35;letter-spacing:-.01em;margin-bottom:12px;
}
.technical-copy h3,.composer h3,.example h2{
  font-size:clamp(1.25rem,calc(1.08rem + .4vw),1.5rem);
  line-height:1.3;letter-spacing:-.02em;
}
.eyebrow,.mini-label,.technical-copy .mini-label,.timeline-event .mini-label{
  font-size:.75rem;letter-spacing:.085em;line-height:1.5;
}
.hero-note{font-size:.71875rem;line-height:1.6;letter-spacing:.045em}
.btn,.text-link,.composer-reset,.technical-toolbar button{
  font-size:.8125rem;line-height:1.45;
}
.site-nav{gap:16px}
.site-nav a{font-size:.75rem;letter-spacing:.025em;min-height:46px}
.brand{font-size:.875rem}
.site-footer{font-size:.75rem}
.footer-brand{font-size:.8125rem}
.capability-detail{min-height:130px}
.capability-detail h2{font-size:1.125rem;line-height:1.3;letter-spacing:-.01em}
.capability-detail p{font-size:.875rem;line-height:1.65;max-width:48ch}
.capability-detail a{font-size:.8125rem}
.capability-detail .detail-label{font-size:.71875rem;letter-spacing:.07em}
.orbit-button{font-size:.8125rem;line-height:1.35;min-height:56px}
.orbit-button span{font-size:.6875rem}
.service-card,.info-card,.process-card,.composer,.technical-module,
.capability-detail,.brief-form{
  background:var(--glass);border-color:var(--glass-line);
  -webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:none;
}
.capability-detail{border-left-color:var(--red)}
.example{background:rgba(255,255,255,.08);border-color:var(--glass-line)}
.technical-toolbar{background:transparent;border-color:var(--glass-line)}
.technical-scene{border-color:var(--glass-line)}
.technical-toolbar button,.composer-reset,.orbit-button,.btn{
  background:rgba(255,255,255,.08);border-color:rgba(137,170,192,.54);
}
.btn.primary{background:rgba(255,255,255,.2);border-color:rgba(137,170,192,.6)}
.technical-toolbar button[aria-pressed=true],.orbit-button[aria-pressed=true]{
  background:rgba(255,255,255,.24);border-color:#adc4d4;
}
.orbit-button:hover,.technical-toolbar button:hover,.btn:hover,.composer-reset:hover{background:rgba(255,255,255,.32)}
.choice{font-size:.875rem;background:rgba(255,255,255,.2);border-color:rgba(137,170,192,.45);min-height:50px}
.choice:has(input:checked){background:rgba(255,255,255,.2);border-color:#b5091b}
.choice:has(input[value=bos]){grid-column:1/-1}
.composer legend{font-size:.9375rem;font-weight:600}
.composer-result p{min-height:0;margin-bottom:18px}
.composer-result .btn{background:rgba(255,255,255,.16)}
.solution-selection{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0 0 24px;padding:0}
.solution-selection:empty{display:none}
.solution-selection li,.flow-list li{
  font:inherit;font-size:.8125rem;line-height:1.45;color:#315c85;
  border:1px solid rgba(137,170,192,.38);background:transparent;padding:7px 10px;
}
.bos-service{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr auto;gap:24px;align-items:center}
.bos-service h3,.bos-service p{margin-bottom:0}
.bos-service .text-link{margin-top:0}
.bos-service .mini-label{margin-bottom:10px}
.brief-form input,.brief-form textarea{font-size:1rem;background:rgba(255,255,255,.14)}
.brief-form label{font-size:.9375rem}
.field small,.form-note,.form-status{font-size:.8125rem;line-height:1.65}
.module-status{padding:14px 24px;border-top:1px solid var(--glass-line);font-size:.75rem;color:var(--muted)}
.timeline-event time{font-size:.8125rem}
.geo-legend,.geo-legend p{font-size:.8125rem}
.tech-svg text{font-size:24px}
/* Casual copying is discouraged. User-entered content stays editable. */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
img,.wordmark{-webkit-user-drag:none}
input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
@media(max-width:1100px){
  .site-header{min-height:76px;flex-wrap:wrap;gap:0}
  .menu-toggle{display:block;font-size:.875rem;min-height:44px}
  .site-nav{width:100%;flex-wrap:wrap;gap:5px 24px;padding:4px 0 18px}
  .js .site-nav{display:none}.js .site-nav.is-open{display:flex}
  html:not(.js) .menu-toggle{display:none}
  .site-nav a{font-size:.8125rem;min-height:46px}
  
}
@media(max-width:900px){
  .bos-service{grid-template-columns:1fr;gap:16px}
  .technical-scene{border-bottom-color:var(--glass-line)}
}
@media(max-width:650px){
  .section{padding:38px 0}
  .section-head{gap:14px}
  .hero-heading p,.page-hero p,.contact-intro p{font-size:.96875rem}
  .service-card,.info-card{padding:23px}
  .capability-detail{grid-template-columns:minmax(0,1fr);gap:4px;min-height:0}
  .capability-detail a{grid-column:1;grid-row:auto;min-height:44px}
  .composer{padding:23px 18px}
  .choice{font-size:.8125rem;gap:8px;padding:10px 9px}
  .technical-toolbar button{font-size:.8125rem;padding:10px 11px}
  .tech-svg text{font-size:28px}
  .timeline-event{grid-template-columns:65px 13px minmax(0,1fr);gap:9px}
  .timeline-event time{font-size:.71875rem}
  .module-status{padding:12px 17px}
  .closing{padding:30px 0}
}

/* The page background stays visible through content areas; text stays opaque. */
.service-card,.info-card,.process-card,.capability-detail,.example{background:transparent}
.technical-scene{background:none}
.service-card,.info-card{border-color:rgba(103,149,185,.24)}
h1,h2,h3,.btn,.text-link,.brand,.site-nav a,.brief-form label,.composer legend{color:var(--ink)}
.hero-heading h1 em,.signal{color:#b5091b}
.technical-copy,.capability-detail,.composer-result{color:var(--ink)}
.technical-toolbar button[aria-pressed=true],.orbit-button[aria-pressed=true]{color:var(--ink)}
.scenario-steps{list-style:none;padding:32px;margin:0;border-right:1px solid var(--glass-line)}
.scenario-steps li{display:flex;align-items:flex-start;gap:18px;padding:19px 0;border-bottom:1px solid var(--glass-line)}
.scenario-steps li:last-child{border-bottom:0}
.step-number{display:grid;place-items:center;flex:0 0 30px;height:30px;color:#b5091b;border:1px solid #b5091b45;border-radius:50%;font-size:13px}
.scenario-steps h3{font-size:18px;line-height:1.35;margin:2px 0 6px}
.scenario-steps p{font-size:15px;line-height:1.65;margin:0}
.technical-copy h3{margin-top:0}
.diagram-node rect{fill:#ffffff12}
.site-nav{gap:13px}.site-nav a{font-size:11px}
@media(max-width:1100px){.site-nav{gap:5px 24px}.site-nav a{font-size:13px}}
@media(max-width:900px){.scenario-steps{border-right:0;border-bottom:1px solid var(--glass-line)}}
@media(max-width:650px){.scenario-steps{padding:12px 22px}.scenario-steps li{gap:13px}.scenario-steps h3{font-size:17px}}
