/* Executive edition. Locally hosted, OFL-licensed typography. */
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('/assets/fonts/manrope-latin.woff2') format('woff2'); }
@font-face { font-family: 'Instrument Serif'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/instrument-serif-latin.woff2') format('woff2'); }
@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url('/assets/fonts/instrument-serif-italic-latin.woff2') format('woff2'); }

:root {
  --bg: #090f19; --surface: #101a28; --surface-2: #162231;
  --line: #ffffff20; --text: #f3f4f5; --muted: #a3acb9;
  --blue: #86b8e2; --cyan: #92c4db; --max: 1320px;
}
body { font-family: 'Manrope', Arial, sans-serif; line-height: 1.85; }
h1, h2, h3, h4 { font-weight: 400; letter-spacing: -.045em; }
h2 { font-size: clamp(2.5rem, 4.1vw, 3.8rem); line-height: 1.16; }
h2 em, .page-hero h1 em { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-weight: 400; color: #bad2e4; letter-spacing: -.025em; }
.container { width: min(var(--max), calc(100% - 128px)); }
.section { padding-block: 124px; }
.eyebrow { font-weight: 500; letter-spacing: .18em; font-size: .75rem; color: #bac5d2; gap: 15px; }
.eyebrow > span { width: 23px; height: 1px; flex-basis: 23px; background: #8aafc7; }
.mini-label, .number { font-family: 'Manrope', Arial, sans-serif; }
.site-header { background: #090f19f5; border-bottom: 1px solid #ffffff16; }
.header-inner { min-height: 104px; }
.brand { font-size: 1.68rem; font-weight: 600; letter-spacing: .07em; gap: 13px; }
.brand-tech { font-weight: 400; letter-spacing: -.035em; margin-left: 7px; }
.brand img { width: 31px; height: 36px; filter: saturate(.45) brightness(1.18); }
.site-header nav { gap: 28px; }
.site-header nav a { color: #b3bac6; font-size: .8125rem; }
.site-header nav a[aria-current]:not(.nav-contact):after { height: 1px; bottom: -39px; background: #b9d0de; }
.site-header nav .nav-contact { padding: 11px 20px; border-color: #71849766; margin-left: 14px; }
.site-header nav .nav-contact:hover { border-color: #c3d4e1; background: #ffffff07; }
.button { background: #edf1f4; border-color: #edf1f4; color: #101b28; font-weight: 600; font-size: .875rem; padding: 17px 24px; min-height: 58px; gap: 32px; transition: background .3s, border-color .3s, transform .3s; }
.button:hover { background: #fff; border-color: #fff; transform: translateY(-1px); }
.button-secondary { background: transparent; border-color: #ffffff40; color: var(--text); }
.button-secondary:hover { background: #ffffff08; border-color: #ffffff90; }
.text-link { font-size: .875rem; gap: 34px; padding-bottom: 7px; border-bottom: 1px solid #ffffff32; }
.text-link:hover { color: #dceaf4; border-color: #bcd6e9; }
.quiet-link { display: inline-flex; align-items: center; gap: 25px; font-size: .875rem; padding: 15px 0; color: #d0d7e0; }
.quiet-link:hover { color: white; }
.quiet-link span { font-size: 1.2rem; }
.button-row { gap: 32px; align-items: center; }

/* Architectural opening. */
.executive-hero { position: relative; isolation: isolate; overflow: hidden; background: #080e18; }
.executive-scene { position: absolute; inset: 0 0 0 20%; z-index: -2; mask-image: linear-gradient(90deg, transparent, #000 35%); }
.executive-scene img { width: 100%; height: 100%; object-fit: contain; object-position: right center; }
.executive-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #080e1866 0, #080e1833 35%, transparent 62%), linear-gradient(0deg, #090f19e8 0, transparent 20%); }
.executive-hero-inner { position: relative; min-height: 760px; padding-top: 87px; padding-bottom: 105px; display: flex; align-items: center; }
.executive-hero-copy { padding-bottom: 34px; width: 55%; max-width: 680px; animation: executive-enter .9s ease-out both; }
.executive-hero-copy .eyebrow { margin-bottom: 36px; }
.executive-hero h1 { font-size: clamp(4.7rem, 7.3vw, 7rem); font-weight: 400; letter-spacing: -.065em; line-height: 1.05; }
.executive-hero h1 em { font-family: 'Instrument Serif', Georgia, serif; font-size: 1.27em; font-style: italic; letter-spacing: -.025em; color: #c6d9e8; line-height: .99; }
.executive-intro { color: #e0e5ec; font-size: 1.15rem; line-height: 1.5; margin-top: 30px; letter-spacing: -.01em; }
.executive-description { font-size: 1rem; line-height: 1.9; color: #aeb9c7; margin-top: 14px; max-width: 470px; }
.executive-hero .button-row { margin-top: 31px; }
.executive-hero-bottom { position: absolute; bottom: 28px; inset-inline: 0; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #c3d9eb2b; padding-top: 25px; gap: 30px; }
.executive-hero-bottom > span, .executive-hero-bottom a { font-size: .75rem; letter-spacing: .15em; color: #a6b3c1; }
.executive-hero-bottom a { display: flex; align-items: center; gap: 24px; color: #c2ceda; min-height: 44px; min-width: 44px; justify-content: flex-end; }
.executive-hero-bottom a > span { font-size: 1.25rem; font-weight: 400; }

/* Editorial introduction. */
.executive-introduction { display: grid; grid-template-columns: 1fr 2.05fr; gap: 76px; }
.intro-aside { display: flex; flex-direction: column; justify-content: space-between; padding-block: 8px 2px; }
.section-index { font-size: .75rem; letter-spacing: .15em; color: #8795a5; }
.intro-statement h2 { font-size: clamp(2.5rem, 4.1vw, 3.85rem); }
.intro-prose { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; margin: 35px 0 30px; }
.intro-prose p { font-size: 1rem; line-height: 1.95; }
.intro-prose p + p { margin: 0; }

/* Silver-toned platform chapter. */
.flagship-section { background: #edf0f3; color: #142030; padding-block: 38px 88px; }
.flagship-topline { display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid #21334b2e; padding-bottom: 25px; }
.flagship-topline span { font-size: .75rem; letter-spacing: .16em; color: #526174; }
.flagship-grid { display: grid; grid-template-columns: .95fr 1.12fr; gap: 85px; padding-top: 65px; align-items: center; }
.flagship-copy h2 { font-family: 'Instrument Serif', Georgia, serif; font-size: clamp(3.5rem, 6vw, 5.4rem); letter-spacing: -.025em; line-height: 1.05; }
.flagship-copy h2 > span { color: #326889; }
.flagship-subtitle { color: #1f2d3d; font-size: 1.22rem; line-height: 1.65; letter-spacing: -.015em; margin-top: 23px; }
.flagship-description { color: #566272; font-size: 1rem; line-height: 1.9; margin-top: 22px; max-width: 460px; }
.flagship-domains { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; margin: 25px 0 32px; }
.flagship-domains > div { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #172d451a; padding-block: 11px; font-size: .875rem; color: #35465b; }
.flagship-domains .icon { width: 18px; height: 18px; color: #4f7794; }
.flagship-copy .button { color: #f4f7fa; background: #101f31; border-color: #101f31; }
.flagship-copy .button:hover { background: #213e59; border-color: #213e59; }
.flagship-visual { background: #0d192a; position: relative; box-shadow: 0 22px 45px #14213018; overflow: hidden; min-height: 570px; display: flex; align-items: center; }
.flagship-visual img { width: 113%; max-width: none; margin-inline: -6.5%; filter: saturate(.65); }
.visual-caption { position: absolute; top: 31px; left: 31px; display: flex; align-items: center; gap: 10px; color: #9eb7ce; font-size: .75rem; letter-spacing: .15em; }
.visual-bottom { position: absolute; bottom: 25px; inset-inline: 31px; display: flex; justify-content: space-between; border-top: 1px solid #ffffff20; padding-top: 18px; gap: 20px; }
.visual-bottom span { color: #a1b0c1; font-size: .75rem; letter-spacing: .12em; }
.executive-principles .section-heading { margin-bottom: 62px; }
.principle-grid { gap: 54px; }
.principle-grid article { border-top: 1px solid #ffffff32; padding-top: 24px; }
.principle-grid .number { font-family: 'Instrument Serif', Georgia, serif; font-size: 1.6rem; color: #aabecf; }
.principle-grid .icon { width: 23px; height: 23px; color: #a8c4d8; top: 28px; }
.principle-grid h3 { font-size: 1.32rem; margin: 40px 0 17px; font-weight: 500; letter-spacing: -.035em; }
.principle-grid p { font-size: 1rem; line-height: 1.9; }
.executive-trust { background: #111b28; border-block: 1px solid #ffffff11; }
.trust-section { gap: 130px; }
.scope-kicker { display: block; color: #bed0df; font-size: .75rem; letter-spacing: .13em; padding-bottom: 22px; }
.trust-section > div > p { font-size: 1rem; }
.trust-section > div > .small { font-size: .875rem; color: #93a4b8; }

/* The shared design carries through every page. */
.page-hero { padding-block: 108px 86px; }
.page-hero h1 { font-size: clamp(3.5rem, 5.8vw, 5.5rem); letter-spacing: -.055em; line-height: 1.12; }
.page-hero h1 em { font-size: 1.12em; line-height: 1.1; }
.page-hero:after { border-color: #89a5bf40; width: 64px; height: 64px; }
.page-hero .lead { font-size: 1.0625rem; line-height: 1.95; color: #acb8c6; max-width: 720px; }
.page-hero .eyebrow { margin-bottom: 30px; }
.principles-section { background: #101925; border-color: #ffffff14; }
.manifesto { background: #162431; border-color: #ffffff25; padding: 60px; }
.manifesto p { font-family: 'Instrument Serif', Georgia, serif; font-size: 2.9rem; line-height: 1.3; font-weight: 400; }
.manifesto strong { font-weight: 400; font-style: italic; color: #b2ccdf; }
.manifesto img { filter: saturate(.4); opacity: .8; }
.initial { font-family: 'Instrument Serif', Georgia, serif; color: #b7cbdc; font-size: 4.6rem; }
.values-grid h3, .workflow h3 { font-weight: 500; }
.scope-strip { background: #121e2b; border-left-color: #8facbe; padding: 36px 40px; }
.scope-strip h3 { letter-spacing: 0; font-size: 1rem; }
.product-intro .page-hero { padding-block: 110px 90px; }
.product-intro h1 { font-size: clamp(3.3rem, 5.1vw, 5rem); }
.product-intro img { filter: saturate(.55); }
.platform-description { border-color: #ffffff20; padding-block: 34px; }
.module-tab { padding-block: 23px; font-size: .9375rem; }
.module-tab.active { background: #192b3a; border-left-color: #a1bed3; }
.module-tab:hover { background: #152434; }
.module-panel { background: #142333; border-color: #35485e; padding: 46px 48px; }
.module-panel h3 { font-family: 'Instrument Serif', Georgia, serif; font-size: 2.7rem; letter-spacing: -.02em; }
.panel-top { margin-bottom: 35px; }
.architecture { background: #101c2b; border-color: #3c4b5d; }
.architecture .layer-items span { background: #1a2c3e; border-color: #4a5b6f; }
.architecture .layer:last-child .layer-items span { background: #2a465e; border-color: #688198; }
.status-box { background: #162634; border-color: #61798d66; padding: 46px; }
.status-box h2 { font-family: 'Instrument Serif', Georgia, serif; font-size: 2.8rem; }
.status-pill { background: #223b4966; border-color: #709bb344; color: #bcdbe7; }
.contact-card { background: #152432; border-color: #46607466; padding: 46px; }
.contact-card h2 { font-family: 'Instrument Serif', Georgia, serif; font-size: 2.6rem; }
.contact-card > .icon { color: #a6becc; }
.contact-phone { border-color: #ffffff23; padding-block: 27px; }
.contact-phone > a { font-family: 'Instrument Serif', Georgia, serif; font-size: 2.7rem; letter-spacing: -.015em; }
.contact-topics h2 { font-size: 1.75rem; font-weight: 400; }
.contact-topic { padding-block: 26px; }
.contact-topic h3, .legal-content h2 { font-weight: 500; }
.legal-meta { color: #9caabc; }
.cta-section { background: #090f19; border-block: 0; }
.cta-inner { padding-block: 108px; border-bottom: 1px solid #ffffff27; }
.cta-inner h2 { font-family: 'Instrument Serif', Georgia, serif; font-size: clamp(2.8rem, 4.6vw, 4.2rem); letter-spacing: -.02em; }
.cta-inner .eyebrow { margin-bottom: 27px; }
.cta-inner p:not(.eyebrow) { color: #a7b3c1; font-size: 1rem; }
.cta-inner > .button { background: #edf1f4; border-color: #edf1f4; }
.site-footer { padding-top: 66px; }
.footer-main { grid-template-columns: 1.7fr 1fr 1fr; gap: 80px; padding-bottom: 64px; }
.footer-brand .brand { font-size: 2rem; }
.footer-brand > p { font-family: 'Instrument Serif', Georgia, serif; font-size: 1.5rem; font-style: italic; color: #bdcfe0; }
.footer-brand .small { max-width: 255px; line-height: 1.8; }
.footer-main h2 { color: #e5eaf0; font-size: .875rem; font-weight: 500; letter-spacing: .02em; }
.footer-main > div:not(:first-child) > a { font-size: .875rem; margin-bottom: 14px; }
.footer-bottom { font-size: .75rem; padding-block: 27px; }
.footer-bottom > div { gap: 30px; }

@keyframes executive-enter { from { transform: translateY(14px); } to { transform: none; } }
@media (min-width: 1800px) { .executive-hero-inner { min-height: 830px; } }
@media (max-width: 1199px) {
  .container { width: calc(100% - 88px); }
  .site-header nav { gap: 20px; } .site-header nav .nav-contact { margin-left: 0; }
  .executive-hero-inner { min-height: 730px; } .executive-hero-copy { width: 60%; }
  .executive-hero h1 { font-size: 6rem; } .executive-scene img { object-position: right center; }
  .executive-shade { background: linear-gradient(90deg,#080e18b3,#080e1855 50%,transparent 78%),linear-gradient(0deg,#090f19ed,transparent 24%); }
  .executive-introduction { gap: 50px; grid-template-columns: .7fr 2fr; }
  .flagship-grid { gap: 50px; grid-template-columns: 1fr 1fr; }
  .flagship-visual { min-height: 535px; } .flagship-visual img { width: 126%; margin-inline: -13%; }
  .trust-section { gap: 70px; } .button-row { gap: 24px; } .principle-grid { gap: 38px; }
}
@media (max-width: 1099px) {
  .header-inner { min-height: 86px; padding-block: 22px; }
  .site-header nav .nav-contact { margin-top: 12px; } .site-header nav a { font-size: .9375rem; }
  .js .menu-toggle { border-color: #8093a64d; padding: 8px 13px; font-size: .875rem; }
  .menu-bars { border-color: #c7d5e0; }
  .executive-hero h1 { font-size: 5.4rem; } .executive-description { max-width: 360px; }
  .desktop-break { display: none; } .executive-hero .button-row { flex-direction: column; align-items: flex-start; gap: 10px; }
  .flagship-grid { gap: 35px; } .flagship-visual { min-height: 570px; } .flagship-copy h2 { font-size: 4rem; }
  .visual-caption, .visual-bottom { left: 22px; right: 22px; } .visual-bottom { flex-direction: column; gap: 3px; }
  .intro-prose { grid-template-columns: 1fr; gap: 18px; } .footer-main { gap: 48px; }
}
@media (max-width: 767px) {
  .container { width: calc(100% - 44px); } .section { padding-block: 76px; } h2 { font-size: 2.65rem; }
  .header-inner { min-height: 78px; padding-block: 16px; } .brand { font-size: 1.4rem; } .brand img { width: 28px; height: 32px; }
  .executive-hero-inner { min-height: 940px; padding-top: 54px; padding-bottom: 95px; display: block; }
  .executive-scene { top: 350px; left: 0; height: 560px; bottom: auto; mask-image: none; } .executive-scene img { object-fit: cover; object-position: 73% center; }
  .executive-shade { background: linear-gradient(180deg,#080e18 0,#080e18 30%,#080e1833 47%,transparent 58%,#090f19 98%); }
  .executive-hero-copy { width: 100%; max-width: none; padding-bottom: 0; }
  .executive-hero-copy .eyebrow { font-size: .75rem; margin-bottom: 28px; }
  .executive-hero h1 { font-size: clamp(3.65rem, 11.7vw, 5.5rem); letter-spacing: -.06em; } .executive-hero h1 em { font-size: 1.28em; }
  .executive-intro { font-size: 1.0625rem; margin-top: 25px; }
  .executive-description { font-size: 1rem; line-height: 1.85; max-width: 355px; margin-top: 13px; }
  .executive-hero .button-row { margin-top: 27px; gap: 12px; flex-direction: row; flex-wrap: wrap; }
  .button { min-height: 53px; font-size: .875rem; padding: 15px 19px; gap: 23px; }
  .quiet-link { font-size: .875rem; gap: 15px; padding-block: 9px; }
  .executive-hero-bottom { bottom: 22px; padding-top: 22px; }
  .executive-hero-bottom > span { max-width: 230px; font-size: .75rem; line-height: 1.8; letter-spacing: .1em; }
  .executive-hero-bottom a { font-size: 0; gap: 0; } .executive-hero-bottom a > span { font-size: 1.5rem; }
  .executive-introduction { grid-template-columns: 1fr; gap: 25px; } .intro-aside .eyebrow { margin-bottom: 0; }
  .section-index { display: none; } .intro-statement h2 { font-size: 2.65rem; }
  .intro-prose { margin: 25px 0 28px; gap: 18px; } .intro-prose p { font-size: 1rem; }
  .flagship-section { padding-block: 28px 55px; } .flagship-topline { padding-bottom: 21px; }
  .flagship-topline span { font-size: .75rem; } .flagship-topline span:last-child { display: none; }
  .flagship-grid { grid-template-columns: 1fr; padding-top: 42px; gap: 38px; } .flagship-copy h2 { font-size: 4rem; }
  .flagship-subtitle { font-size: 1.1rem; margin-top: 18px; } .flagship-description { font-size: 1rem; margin-top: 20px; }
  .flagship-domains { gap: 0 20px; } .flagship-domains > div { font-size: .875rem; }
  .flagship-visual { min-height: 410px; } .flagship-visual img { width: 111%; margin-inline: -5.5%; }
  .visual-caption { top: 22px; font-size: .75rem; } .visual-bottom { flex-direction: row; bottom: 18px; gap: 14px; padding-top: 15px; }
  .visual-bottom span { font-size: .75rem; }
  .executive-principles .section-heading { margin-bottom: 36px; } .principle-grid { gap: 34px; }
  .principle-grid h3 { margin-top: 28px; font-size: 1.35rem; } .principle-grid p { font-size: 1rem; }
  .trust-section { gap: 32px; } .scope-kicker { font-size: .75rem; } .trust-section > div > p { font-size: 1rem; }
  .page-hero { padding-block: 60px 53px; } .page-hero h1 { font-size: clamp(2.8rem, 9.7vw, 4rem); line-height: 1.15; }
  .page-hero .lead { font-size: 1rem; line-height: 1.9; } .page-hero h1 em { line-height: 1.17; }
  .manifesto { padding: 29px; } .manifesto p { font-size: 2rem; } .manifesto img { width: 46px; }
  .scope-strip { padding: 27px; } .product-intro .page-hero { padding-block: 60px 10px; } .product-intro h1 { font-size: 3rem; }
  .module-panel { padding: 28px; min-height: 400px; } .module-panel h3 { font-size: 2.3rem; }
  .module-tab { padding: 15px 10px; font-size: .875rem; } .status-box { padding: 28px; } .status-box h2 { font-size: 2.5rem; }
  .contact-card { padding: 29px; } .contact-card h2 { font-size: 2.2rem; } .contact-phone > a { font-size: 2.25rem; }
  .cta-inner { padding-block: 72px; } .cta-inner h2 { font-size: 3.1rem; line-height: 1.1; }
  .cta-inner .eyebrow { margin-bottom: 23px; } .footer-main { gap: 37px 22px; padding-bottom: 45px; grid-template-columns: 1fr 1fr; }
  .footer-brand .brand { font-size: 1.7rem; } .footer-bottom { font-size: .75rem; } .footer-bottom > div { gap: 16px; }
}
@media (max-width: 359px) {
  .container { width: calc(100% - 36px); } .executive-hero h1 { font-size: 3.45rem; } .executive-hero-inner { min-height: 960px; }
  .executive-hero .button-row { flex-direction: column; align-items: flex-start; } .executive-scene { top: 415px; height: 490px; }
  .intro-statement h2 { font-size: 2.4rem; } .flagship-copy h2 { font-size: 3.5rem; } .flagship-visual { min-height: 380px; }
  .contact-phone > a { font-size: 1.95rem; }
}
@media (prefers-reduced-motion: reduce) { .executive-hero-copy { animation: none; } }
@media print {
  .executive-scene, .executive-shade, .executive-hero-bottom { display: none; }
  .executive-hero { background: white; color: black; } .executive-hero-inner { min-height: auto; padding-block: 25px; }
  .executive-hero-copy { width: 100%; } .executive-hero h1 em { color: black; }
}
