:root {
  --paper: #f3f3f0;
  --paper-deep: #e8e9e4;
  --ink: #111214;
  --muted: #606568;
  --line: rgba(17, 18, 20, .14);
  --line-strong: rgba(17, 18, 20, .31);
  --dark: #111214;
  --dark-soft: #17191a;
  --dark-muted: #a8aca8;
  --accent: #c6dd31;
  --edge: clamp(24px, 4.7vw, 72px);
  --content: 1536px;
  --sans: "PingFang SC", "Noto Sans SC", Inter, "Helvetica Neue", Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.58; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
button, input, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, figure { margin: 0; }
ol { margin: 0; padding: 0; list-style: none; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; transform: translateY(-160%); padding: 10px 14px; background: var(--accent); color: var(--ink); font-weight: 700; transition: transform .18s ease; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; top: 0; z-index: 100; background: var(--dark); color: var(--paper); border-bottom: 1px solid rgba(243, 243, 240, .22); }
.header-grid { width: min(100%, 1680px); min-height: 70px; margin: 0 auto; padding: 0 var(--edge); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; column-gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; width: fit-content; font-size: 13px; font-weight: 760; letter-spacing: .12em; line-height: 1; }
.brand-mark { display: inline-grid; place-items: center; width: 44px; height: 44px; }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; filter: brightness(0) invert(1); }
.desktop-nav { display: flex; align-items: center; gap: clamp(18px, 2.1vw, 34px); font-size: 12px; font-weight: 650; letter-spacing: .055em; white-space: nowrap; }
.desktop-nav a { position: relative; padding: 25px 0; color: #c7cac6; }
.desktop-nav a::after { position: absolute; right: 0; bottom: 18px; left: 0; height: 1px; background: var(--accent); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.desktop-nav a:hover, .desktop-nav a:focus-visible { color: var(--paper); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.lang-switch { padding: 0; border: 0; background: none; color: #c7cac6; cursor: pointer; font-family: var(--mono); font-size: 11px; letter-spacing: .06em; }
.header-cta { display: inline-flex; align-items: center; gap: 18px; min-height: 37px; padding: 0 14px; border: 1px solid rgba(243, 243, 240, .76); font-size: 12px; font-weight: 680; letter-spacing: .025em; white-space: nowrap; transition: background .18s ease, color .18s ease; }
.header-cta:hover, .header-cta:focus-visible { background: var(--paper); color: var(--ink); }
.menu-toggle, .mobile-menu { display: none; }

.hero { min-height: min(880px, calc(100svh - 70px)); padding: clamp(64px, 8.5vw, 142px) var(--edge) clamp(56px, 5vw, 86px); background: var(--dark); color: var(--paper); border-bottom: 1px solid var(--line-strong); }
.hero-grid { width: min(100%, var(--content)); min-height: 590px; margin: 0 auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 18px; background-image: linear-gradient(90deg, transparent calc(100% - 1px), rgba(243, 243, 240, .1) calc(100% - 1px)); background-size: calc((100% + 18px) / 12) 100%; }
.hero-copy { grid-column: 1 / span 7; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 32px 6.5% 38px 0; }
.eyebrow { margin-bottom: 26px; font-family: var(--mono); font-size: 11px; font-weight: 650; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }
.hero .eyebrow { color: var(--dark-muted); }
h1, h2, h3 { font-weight: 720; letter-spacing: -.04em; }
h1 { max-width: 850px; font-size: clamp(4rem, 7.15vw, 6.75rem); line-height: .96; }
h1 span, h2 span { color: var(--accent); font-weight: 510; }
.hero-body { max-width: 485px; margin-top: 34px; color: #c7cac6; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.62; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 20px 26px; margin-top: 38px; }
.text-link { display: inline-flex; align-items: center; gap: 18px; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 680; letter-spacing: .02em; transition: gap .18s ease, color .18s ease; }
.text-link:hover, .text-link:focus-visible { gap: 24px; }
.text-link.light { color: var(--paper); }.text-link.muted { color: var(--dark-muted); }
.hero-status { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 58px; color: #c7cac6; font-size: 12px; }
.hero-status i { display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px rgba(198, 221, 49, .12); }

.hero-map { grid-column: 9 / span 4; align-self: center; border: 1px solid rgba(243, 243, 240, .32); background: rgba(17, 18, 20, .38); }
.map-meta { display: grid; grid-template-columns: 1fr auto; gap: 3px 18px; padding: 16px 18px; border-bottom: 1px solid rgba(243, 243, 240, .22); color: var(--dark-muted); font-family: var(--mono); font-size: 10px; letter-spacing: .075em; }
.map-meta strong { color: var(--accent); font-weight: 650; }
.hero-map ol { padding: 10px 18px; }
.hero-map li { position: relative; min-height: 66px; padding: 13px 0 11px 35px; border-bottom: 1px solid rgba(243, 243, 240, .17); display: grid; grid-template-columns: 1fr auto; align-items: end; column-gap: 10px; }
.hero-map li:last-child { border-bottom: 0; }.hero-map li::before { position: absolute; top: 21px; left: 2px; width: 13px; height: 13px; border: 1px solid var(--accent); background: var(--dark); content: ""; }.hero-map li:not(:last-child)::after { position: absolute; top: 34px; bottom: -22px; left: 8px; width: 1px; background: rgba(198, 221, 49, .54); content: ""; }
.hero-map li span, .hero-map li em { font-family: var(--mono); font-size: 10px; font-style: normal; letter-spacing: .06em; }.hero-map li span { color: var(--dark-muted); }.hero-map li strong { grid-column: 1 / -1; margin: 3px 0; font-size: 16px; letter-spacing: -.02em; }.hero-map li em { color: #c7cac6; }
.map-footer { display: flex; justify-content: space-between; gap: 12px; padding: 15px 18px; border-top: 1px solid rgba(243, 243, 240, .22); color: var(--dark-muted); font-family: var(--mono); font-size: 9px; letter-spacing: .075em; }.map-footer b { color: var(--accent); }

.section { padding: clamp(110px, 12vw, 180px) var(--edge); border-bottom: 1px solid var(--line); }
.section-heading, .faq-heading { width: min(100%, var(--content)); margin: 0 auto clamp(64px, 7vw, 105px); display: grid; grid-template-columns: 1fr 6fr 3.7fr; column-gap: 18px; align-items: start; }
.section-index { color: var(--muted); font-family: var(--mono); font-size: 11px; font-weight: 650; letter-spacing: .09em; }.section-heading .eyebrow { color: var(--muted); }.section-heading h2 { max-width: 840px; font-size: clamp(3rem, 5.3vw, 5.5rem); line-height: .98; }.section-heading > p:last-child { max-width: 390px; padding-top: 39px; color: var(--muted); font-size: 16px; line-height: 1.63; }
.inverse { color: var(--paper); }.inverse .section-index, .inverse .eyebrow, .inverse > p:last-child { color: var(--dark-muted); }

.business-lines-section { background: var(--paper); }
.business-line-grid { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.business-line { min-height: 430px; padding: 24px 38px 30px 0; display: grid; grid-template-columns: 54px 1fr; grid-template-rows: auto auto 1fr auto auto; column-gap: 18px; border-right: 1px solid var(--line-strong); }
.business-line + .business-line { padding-right: 0; padding-left: 38px; border-right: 0; }
.business-line > span { grid-column: 1; grid-row: 1 / -1; color: var(--muted); font-family: var(--mono); font-size: 11px; font-weight: 650; letter-spacing: .1em; }
.business-label { grid-column: 2; color: var(--muted); font-family: var(--mono); font-size: 11px; font-weight: 650; letter-spacing: .075em; line-height: 1.4; }
.business-line h3 { grid-column: 2; max-width: 560px; margin-top: 32px; font-size: clamp(30px, 3.1vw, 50px); line-height: 1.02; }
.business-body { grid-column: 2; max-width: 570px; margin-top: 30px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.business-scope { grid-column: 2; margin-top: 34px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .055em; line-height: 1.55; }
.business-line a { grid-column: 2; width: fit-content; margin-top: 24px; padding-bottom: 6px; border-bottom: 1px solid var(--ink); font-size: 13px; font-weight: 680; }
.business-line a b { margin-left: 12px; font-family: var(--mono); font-weight: 500; }
.relationship-statement { width: min(100%, var(--content)); margin: 0 auto; padding-top: 32px; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; }
.relationship-statement > div p:first-child { font-size: clamp(22px, 2.4vw, 38px); font-weight: 700; letter-spacing: -.035em; line-height: 1.12; }
.relationship-statement > div p:last-child { margin-top: 8px; color: var(--muted); font-size: 14px; }
.relationship-statement ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 20px; margin: 0; padding: 0; list-style: none; color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .075em; }
.relationship-statement li::before { margin-right: 8px; color: var(--accent); content: "■"; font-size: 7px; }

.track-intro { padding: clamp(88px, 10vw, 150px) var(--edge); border-bottom: 1px solid rgba(243, 243, 240, .2); background: var(--dark); color: var(--paper); }
.consulting-track { background: var(--dark-soft); }
.track-intro-grid { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: 1fr 6fr 3.7fr; gap: 18px; align-items: end; padding-top: 18px; border-top: 1px solid rgba(243, 243, 240, .4); }
.track-code { align-self: start; color: var(--accent); font-family: var(--mono); font-size: clamp(50px, 6.2vw, 96px); font-weight: 650; letter-spacing: -.07em; line-height: .8; }
.track-intro .eyebrow { color: var(--dark-muted); }
.track-intro h2 { max-width: 840px; font-size: clamp(3rem, 5.3vw, 5.5rem); line-height: .98; }
.track-intro-copy { align-self: end; }
.track-intro-copy p { max-width: 390px; color: #c7cac6; font-size: 16px; line-height: 1.63; }
.track-intro-copy a { display: inline-flex; gap: 18px; margin-top: 30px; padding-bottom: 7px; border-bottom: 1px solid rgba(243, 243, 240, .68); font-size: 13px; font-weight: 680; transition: gap .18s ease, border-color .18s ease; }
.track-intro-copy a:hover, .track-intro-copy a:focus-visible { gap: 25px; border-color: var(--paper); }

.operating-problem { background: var(--paper); }.problem-list { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line); }.problem-list article { min-height: 285px; padding: 24px 28px 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; }.problem-list span, .capability-list span, .deployment-list span, .governance-plane span { color: var(--muted); font-family: var(--mono); font-size: 11px; letter-spacing: .08em; }.problem-list h3 { margin-top: auto; font-size: clamp(24px, 2.1vw, 34px); line-height: 1.05; }.problem-list p { margin-top: 16px; color: var(--muted); font-size: 14px; line-height: 1.62; }

.architecture-section { background: var(--paper-deep); }.architecture-map { width: min(100%, var(--content)); margin: 0 auto; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }.architecture-map figcaption { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0; color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .075em; }.architecture-map ol { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--line); }.architecture-map li { position: relative; min-height: 238px; padding: 21px 17px 24px; border-right: 1px solid var(--line); display: flex; flex-direction: column; }.architecture-map li:last-child { border-right: 0; }.architecture-map li:not(:last-child)::after { position: absolute; z-index: 2; top: 78px; right: -5px; width: 9px; height: 9px; border-top: 1px solid var(--ink); border-right: 1px solid var(--ink); background: var(--paper-deep); content: ""; transform: rotate(45deg); }.architecture-map li::before { position: absolute; top: 82px; right: 0; left: 0; height: 1px; background: var(--line-strong); content: ""; }.architecture-map li span { color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; }.architecture-map li h3 { margin-top: 34px; font-family: var(--mono); font-size: 13px; letter-spacing: .01em; line-height: 1.2; }.architecture-map li p { margin-top: auto; color: var(--muted); font-size: 13px; line-height: 1.55; }

.method-section, .deployment-section, .consulting-method-section, .consulting-delivery-section { background: var(--dark); color: var(--paper); }.method-loop { width: min(100%, var(--content)); margin: 0 auto; border-top: 1px solid rgba(243, 243, 240, .36); }.method-step { display: grid; grid-template-columns: 1fr 4.2fr 5.3fr; gap: 18px; padding: 25px 0 26px; border-bottom: 1px solid rgba(243, 243, 240, .2); }.method-number, .method-stage, .method-step dt { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; }.method-number { color: var(--dark-muted); }.method-stage { margin-bottom: 7px; color: var(--accent); }.method-step h3 { font-size: clamp(25px, 2.2vw, 35px); line-height: 1.05; }.method-copy > p:last-child { max-width: 370px; margin-top: 13px; color: #c7cac6; font-size: 14px; }.method-step dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; align-self: end; }.method-step dt { margin-bottom: 7px; color: var(--dark-muted); }.method-step dd { margin: 0; color: var(--paper); font-size: 13px; line-height: 1.45; }

.capability-list { width: min(100%, var(--content)); margin: 0 auto; border-top: 1px solid var(--line-strong); }.capability-list article { display: grid; grid-template-columns: 1fr 2.8fr 4.8fr auto; gap: 18px; align-items: center; min-height: 117px; border-bottom: 1px solid var(--line); transition: background .2s ease, padding .2s ease; }.capability-list article:hover { padding-inline: 16px; background: #e8e9e3; }.capability-list h3 { font-family: var(--mono); font-size: clamp(16px, 1.5vw, 21px); letter-spacing: -.02em; }.capability-list p { max-width: 520px; color: var(--muted); font-size: 15px; }.capability-list article::after { color: var(--muted); content: "↗"; font-family: var(--mono); font-size: 18px; transition: transform .18s ease; }.capability-list article:hover::after { transform: translate(3px, -3px); color: var(--ink); }

.deployment-list { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(243, 243, 240, .35); border-left: 1px solid rgba(243, 243, 240, .2); }.deployment-list article { min-height: 370px; padding: 25px 27px; border-right: 1px solid rgba(243, 243, 240, .2); border-bottom: 1px solid rgba(243, 243, 240, .2); display: flex; flex-direction: column; }.deployment-list span { color: var(--dark-muted); }.deployment-list h3 { margin-top: auto; font-family: var(--mono); color: var(--accent); font-size: 14px; letter-spacing: .03em; }.deployment-list h4 { margin: 20px 0 14px; font-size: clamp(25px, 2.1vw, 34px); letter-spacing: -.035em; line-height: 1.07; }.deployment-list p { color: #c7cac6; font-size: 14px; line-height: 1.63; }.deployment-list code { display: block; margin-top: auto; padding-top: 25px; color: var(--dark-muted); font-family: var(--mono); font-size: 10px; letter-spacing: .065em; line-height: 1.5; white-space: normal; }

.governance-section { background: var(--paper-deep); }.governance-plane { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line-strong); }.governance-plane article { min-height: 252px; padding: 24px 26px; border-right: 1px solid var(--line); display: flex; flex-direction: column; }.governance-plane article:last-child { border-right: 0; }.governance-plane h3 { margin-top: auto; font-family: var(--mono); font-size: 17px; letter-spacing: -.01em; }.governance-plane p { margin-top: 15px; color: var(--muted); font-size: 14px; line-height: 1.6; }

.about-section { padding-block: clamp(105px, 11vw, 164px); }.about-grid { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: 1fr 6fr 3.7fr; gap: 18px; }.about-grid h2 { max-width: 780px; font-size: clamp(3rem, 5.15vw, 5.4rem); line-height: .98; }.about-copy { display: flex; flex-direction: column; justify-content: flex-end; color: var(--muted); font-size: 16px; }.metadata-line { display: flex; flex-wrap: wrap; gap: 8px 13px; margin-top: 42px; padding-top: 14px; border-top: 1px solid var(--line-strong); font-family: var(--mono); font-size: 10px; letter-spacing: .07em; }.metadata-line strong { color: var(--ink); font-weight: 650; }
.consulting-problem-section, .consulting-capabilities-section { background: var(--paper); }
.consulting-enhancement-section { background: var(--paper-deep); }

.faq-section { padding-top: clamp(95px, 10vw, 150px); }.faq-heading { margin-bottom: 48px; }.faq-heading h2 { max-width: 650px; font-size: clamp(2.8rem, 4.6vw, 4.7rem); line-height: 1; }.faq-list { width: min(100%, var(--content)); margin: 0 auto; border-top: 1px solid var(--line-strong); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { display: grid; grid-template-columns: 1fr 7.4fr auto; gap: 18px; align-items: center; min-height: 88px; cursor: pointer; font-size: 18px; font-weight: 650; list-style: none; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary::before { color: var(--muted); content: "+"; font-family: var(--mono); font-size: 18px; }.faq-list details[open] summary::before { content: "−"; }.faq-list details p { max-width: 720px; padding: 0 0 28px calc((100% / 9) + 4px); color: var(--muted); font-size: 15px; }

.contact-section { padding: clamp(95px, 10vw, 155px) var(--edge); background: var(--dark); color: var(--paper); }.contact-grid { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: 1fr 6fr 3.7fr; gap: 18px; padding-top: 19px; border-top: 1px solid rgba(243, 243, 240, .42); }.contact-grid .section-index { color: var(--dark-muted); }.contact-grid .eyebrow { color: var(--dark-muted); }.contact-grid h2 { max-width: 830px; font-size: clamp(2.9rem, 4.9vw, 5.15rem); line-height: .99; }.contact-actions { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; }.contact-link { display: inline-flex; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--paper); font-size: 15px; font-weight: 650; transition: gap .18s ease; }.contact-link:hover, .contact-link:focus-visible { gap: 28px; }.contact-actions p { max-width: 310px; margin-top: 27px; color: var(--dark-muted); font-size: 14px; }

.site-footer { position: relative; isolation: isolate; width: min(100%, 1680px); min-height: 165px; margin: 0 auto; padding: 30px var(--edge); display: flex; justify-content: space-between; gap: 24px; background: var(--dark); color: var(--paper); border-top: 1px solid rgba(243, 243, 240, .2); }.site-footer::before { position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; background: var(--dark); content: ""; transform: translateX(-50%); }.site-footer .brand { margin-bottom: 12px; }.site-footer p, .footer-meta { color: var(--dark-muted); font-size: 12px; }.footer-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }.footer-meta a:hover { color: var(--paper); }

[data-reveal] { opacity: 0; transform: translateY(13px); transition: opacity .42s ease, transform .42s ease; }[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1080px) {
  .header-grid { grid-template-columns: 1fr auto; }.desktop-nav { display: none; }.hero-grid { min-height: 540px; }.hero-copy { grid-column: 1 / span 8; }.hero-map { grid-column: 9 / span 4; }.section-heading, .about-grid, .contact-grid, .track-intro-grid { grid-template-columns: .9fr 6fr 3.1fr; }.business-line { padding-right: 28px; }.business-line + .business-line { padding-left: 28px; }.architecture-map ol { grid-template-columns: repeat(4, minmax(0, 1fr)); }.architecture-map li:nth-child(4) { border-right: 0; }.architecture-map li:nth-child(4)::after { display: none; }.architecture-map li:nth-child(n + 5) { border-top: 1px solid var(--line); }.architecture-map li:nth-child(7) { border-right: 0; }.problem-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }.problem-list article:nth-child(2n) { border-right: 0; }.method-step { grid-template-columns: .9fr 3fr 4fr; }.governance-plane { grid-template-columns: repeat(2, minmax(0, 1fr)); }.governance-plane article:nth-child(2n) { border-right: 0; }.governance-plane article:nth-child(n + 3) { border-top: 1px solid var(--line); }
}

@media (max-width: 768px) {
  .header-grid { min-height: 64px; padding-inline: 20px; }.header-cta { display: none; }.lang-switch { display: none; }.menu-toggle { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 32px; height: 32px; padding: 0; border: 1px solid rgba(243, 243, 240, .6); background: transparent; color: var(--paper); cursor: pointer; }.menu-toggle span:not(.sr-only) { display: block; width: 13px; height: 1px; margin: 0 auto; background: currentColor; transition: transform .18s ease; }.menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(3px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-3px) rotate(-45deg); }.mobile-menu { display: grid; max-height: 0; overflow: hidden; padding: 0 20px; border-top: 0 solid rgba(243, 243, 240, .18); transition: max-height .25s ease, padding .25s ease, border .25s ease; }.mobile-menu.is-open { max-height: 350px; padding-block: 12px; border-top-width: 1px; }.mobile-menu a { padding: 11px 0; color: #c7cac6; border-bottom: 1px solid rgba(243, 243, 240, .12); font-size: 14px; }.hero { min-height: auto; padding: 73px 20px 38px; }.hero-grid { display: block; min-height: 0; background-image: none; }.hero-copy { display: block; padding: 0; }.eyebrow { margin-bottom: 18px; }.hero-body { margin-top: 25px; }.hero-actions { margin-top: 30px; }.hero-status { margin-top: 44px; padding-top: 0; }.hero-map { margin-top: 54px; }.section { padding: 82px 20px; }.track-intro { padding: 72px 20px; }.track-intro-grid, .section-heading, .faq-heading, .about-grid, .contact-grid { display: block; margin-bottom: 52px; }.track-intro-grid { margin-bottom: 0; }.track-code { margin-bottom: 38px; }.track-intro h2, .section-heading h2, .about-grid h2, .contact-grid h2 { font-size: clamp(2.65rem, 12.2vw, 4rem); }.track-intro-copy { margin-top: 30px; }.track-intro-copy p { font-size: 15px; }.section-index { margin-bottom: 22px; }.section-heading > p:last-child { padding-top: 23px; font-size: 15px; }.business-line-grid { grid-template-columns: 1fr; }.business-line, .business-line + .business-line { min-height: 0; padding: 22px 0 30px; grid-template-columns: 36px 1fr; border-right: 0; border-bottom: 1px solid var(--line); }.business-line:last-child { border-bottom: 0; }.business-line h3 { margin-top: 22px; font-size: 29px; }.business-body { margin-top: 22px; font-size: 14px; }.business-scope { margin-top: 25px; }.relationship-statement { display: block; padding-top: 27px; }.relationship-statement > div p:first-child { font-size: 25px; }.relationship-statement ul { justify-content: flex-start; margin-top: 25px; }.problem-list { grid-template-columns: 1fr; }.problem-list article { min-height: 212px; padding: 19px 0 24px; border-right: 0; }.architecture-map figcaption { display: block; }.architecture-map figcaption span + span { display: block; margin-top: 5px; }.architecture-map ol { grid-template-columns: 1fr; }.architecture-map li { min-height: 166px; padding: 18px 0 21px; border-right: 0; border-bottom: 1px solid var(--line); }.architecture-map li::before { top: 55px; }.architecture-map li:not(:last-child)::after { top: 51px; right: 2px; }.architecture-map li:nth-child(n + 5) { border-top: 0; }.architecture-map li h3 { margin-top: 22px; }.architecture-map li p { margin-top: 16px; }.method-step { grid-template-columns: 1fr; gap: 13px; padding-block: 22px; }.method-step dl { gap: 14px; margin-top: 5px; }.method-step dd { font-size: 12px; }.capability-list article { grid-template-columns: 46px 1fr auto; gap: 12px; min-height: 124px; padding-block: 18px; }.capability-list h3 { font-size: 16px; }.capability-list p { grid-column: 2 / -1; font-size: 14px; }.capability-list article::after { grid-column: 3; grid-row: 1; }.deployment-list { grid-template-columns: 1fr; border-left: 0; }.deployment-list article { min-height: 284px; padding: 21px 0 24px; border-right: 0; }.governance-plane { grid-template-columns: 1fr; border-inline: 0; }.governance-plane article { min-height: 192px; padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--line); }.governance-plane article:nth-child(n + 3) { border-top: 0; }.about-copy { margin-top: 34px; }.metadata-line { margin-top: 27px; }.faq-heading { margin-bottom: 37px; }.faq-list summary { grid-template-columns: 26px 1fr; min-height: 76px; font-size: 16px; }.faq-list details p { padding: 0 0 23px 26px; font-size: 14px; }.contact-section { padding: 78px 20px; }.contact-grid { padding-top: 17px; }.contact-actions { margin-top: 34px; }.site-footer { min-height: 0; padding: 26px 20px 32px; display: block; }.footer-meta { align-items: flex-start; margin-top: 28px; text-align: left; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } [data-reveal] { opacity: 1; transform: none; } }
/* The filing number sits in the centre of the bottom row on all screens. */
.site-footer { flex-wrap: wrap; }
.footer-icp { flex: 0 0 100%; margin-top: 8px; text-align: center; font-size: 12px; color: var(--dark-muted); }
.footer-icp a:hover, .footer-icp a:focus-visible { color: var(--paper); }
/* Product demo and account links remain reachable on short mobile screens. */
@media (max-width: 760px) {
  .mobile-menu.is-open { max-height: 75vh !important; overflow-y: auto; }
}
