:root{
  --blue:#1E5BFF;--red:#FF2D2D;--navy:#071A36;--ink:#101E2F;--canvas:#F7F9FC;--border:#DCE3EC;--muted:#5D6B7A;--dark-muted:#AEBAC9;--dark2:#0C2347;--white:#fff;--max:1480px;
  --shadow:0 18px 50px rgba(7,26,54,.08);

  /* HERO TUNING: negative moves only the animated flow upward; positive moves it downward. */
  --portal-flow-y:-16px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}.skip-link{position:fixed;left:16px;top:-60px;background:#fff;color:#000;padding:10px 14px;z-index:9999}.skip-link:focus{top:16px}.shell{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.dark-section{background:var(--navy);color:#fff}.light-section{background:#fff}.section{padding:104px 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--blue);margin:0 0 18px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.03em}h1{font-size:clamp(48px,4vw,66px);line-height:1.04;margin:0 0 24px;font-weight:650;max-width:660px}h1 span{font-weight:650}h2{font-size:clamp(34px,3.2vw,50px);line-height:1.08;margin-bottom:20px;font-weight:630}h3{font-size:21px;line-height:1.2;margin-bottom:12px}.section-heading{max-width:900px;margin:0 auto 48px}.centered{text-align:center}.section-heading>p:not(.eyebrow){color:var(--muted);font-size:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:8px;text-decoration:none;font-weight:650;font-size:15px;border:1px solid transparent;transition:.22s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 26px rgba(30,91,255,.23)}.btn-primary:hover{background:#164ee8}.btn-secondary-dark{color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.02)}.btn-secondary-dark:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.05)}.btn-secondary-light{color:var(--ink);border-color:var(--border);background:#fff}.btn-small{min-height:42px;padding:0 16px;font-size:13px}
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:82px;color:#fff;background:rgba(7,26,54,.28);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.05);transition:.25s ease}.site-header.scrolled{height:72px;background:rgba(255,255,255,.94);color:var(--ink);border-color:rgba(16,30,47,.08);box-shadow:0 8px 32px rgba(7,26,54,.07)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:block;width:198px}.brand img{display:block;width:100%;height:auto}.brand-light{display:none!important}.site-header.scrolled .brand-dark{display:none!important}.site-header.scrolled .brand-light{display:block!important}.main-nav{display:flex;gap:44px;align-items:center}.main-nav a{text-decoration:none;color:inherit;font-size:15px;font-weight:560;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--blue);transition:.2s}.main-nav a:hover:after{right:0}.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;padding:8px}.menu-toggle span{display:block;height:2px;background:currentColor;margin:6px 0}
.hero{position:relative;min-height:690px;padding:138px 0 64px;overflow:hidden;background:linear-gradient(90deg,#071A36 0%,#071A36 34%,#041127 53%,#020819 76%,#020719 100%)}.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(30,91,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(30,91,255,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(to top,rgba(2,12,28,.5),transparent);pointer-events:none}.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:.88fr 1.42fr;gap:34px;align-items:center}.hero-copy{padding-top:10px}.hero-lead{max-width:600px;color:#d1d9e5;font-size:18px;line-height:1.72;margin-bottom:32px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.portal-wrap{min-width:0;display:flex;align-items:center;justify-content:center}.portal-image{display:block;width:min(100%,860px);height:auto;object-fit:contain;object-position:center center;filter:drop-shadow(0 16px 42px rgba(0,0,0,.08))}.portal-svg{width:100%;height:auto;display:block;overflow:visible}.portal-grid path{stroke:#1e5bff;stroke-width:.65;stroke-dasharray:2 7;opacity:.8}
.flow-ribbons path{fill:none;stroke:#2d7cff;stroke-width:.82;opacity:.56;filter:url(#tinyGlow)}
.flow-ribbons path:nth-child(5n){stroke:#78a8ff;opacity:.48}.flow-ribbons path:nth-child(9n){stroke:#ff5361;opacity:.38}.flow-ribbons path:nth-child(7n){stroke:#a98dff;opacity:.32}
.ambient-particles circle,.ambient-particles rect{fill:#2e78ff;opacity:.72;animation:particleTwinkle 3.8s ease-in-out infinite}.ambient-particles .particle-light{fill:#b8d1ff}.ambient-particles .particle-red{fill:#ff5361}.ambient-particles>*:nth-child(3n){animation-delay:-1.2s}.ambient-particles>*:nth-child(5n){animation-delay:-2.4s}.portal-labels rect{fill:rgba(7,26,54,.72);stroke:rgba(62,129,255,.38);stroke-width:1}.portal-labels path,.portal-labels circle{fill:none;stroke:#4d9cff;stroke-width:1.4}.portal-labels text{font-size:12px;font-weight:700;fill:#fff;letter-spacing:.04em}.portal-labels text.sub{font-size:10px;font-weight:500;fill:#9dabc1;letter-spacing:.06em}.portal-labels-right text{font-size:11.5px}.flow-lines path{stroke:url(#blueGlow);stroke-width:1.15;opacity:.78;filter:url(#tinyGlow);stroke-dasharray:7 5;animation:flow 8s linear infinite}.flow-lines path:nth-child(2n){animation-duration:10s;opacity:.54}.flow-lines path:nth-child(3n){animation-duration:12s;opacity:.66}.data-particles>*{fill:#3c86ff;animation:pulse 2.5s ease-in-out infinite}.data-particles>*:nth-child(3n){fill:#9ebaff;animation-delay:.6s}.data-particles>*:nth-child(4n){fill:#ff5361;animation-delay:1s}.portal-frame-blue path,.portal-frame-red path{fill:none;stroke-width:6;stroke-linejoin:miter}.portal-frame-blue path{stroke:url(#blueGlow)}.portal-frame-red path{stroke:url(#redGlow)}.portal-frame-detail path{fill:none;stroke-width:1.25;stroke-linejoin:miter;opacity:.95}.portal-frame-detail .blue-detail{stroke:#8ebcff}.portal-frame-detail .red-detail{stroke:#ff9292}.portal-core-dot{fill:#fff;filter:url(#tinyGlow)}.portal-frame-blue,.portal-frame-red{transform-box:fill-box;transform-origin:center;animation:breathe 5.5s ease-in-out infinite}.portal-frame-red{animation-delay:-2.7s}@keyframes flow{to{stroke-dashoffset:-120}}@keyframes pulse{0%,100%{opacity:.25}50%{opacity:1}}@keyframes breathe{0%,100%{opacity:.84}50%{opacity:1}}@keyframes particleTwinkle{0%,100%{opacity:.18;transform:scale(.85)}50%{opacity:.95;transform:scale(1.12)}}
.who-section{padding:58px 0 66px}.who-section .section-heading{max-width:930px;margin-bottom:34px}.who-section .section-heading h2{font-size:clamp(30px,2.45vw,38px);line-height:1.14;margin-bottom:0}
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pillar-card{border:1px solid var(--border);border-radius:12px;padding:24px 20px;min-height:218px;display:grid;grid-template-columns:66px minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:16px;row-gap:8px;background:#fff;transition:.25s}.pillar-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#cbd6e5}.line-icon{width:58px;height:58px;border:1px solid #9ec0ff;border-radius:8px;display:grid;place-items:center;color:var(--blue);font-weight:700;font-size:22px;margin:0;grid-column:1;grid-row:1/4;align-self:start}.pillar-card h3{grid-column:2;margin:2px 0 4px;font-size:17px;line-height:1.25}.pillar-card p{grid-column:2;color:var(--muted);font-size:13.5px;line-height:1.62;margin:0}.pillar-card .status{grid-column:2;margin-top:5px}.status{display:inline-flex;align-self:flex-start;border:1px solid #bcd0ff;background:#f2f6ff;color:#1a57e8;border-radius:5px;padding:6px 9px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:750}.status.active{border-color:#bee3c8;background:#f1fbf4;color:#168345}.status.development{border-color:#ffd0aa;background:#fff8ef;color:#c76b1b}.status.research{border-color:#d2c4ff;background:#f8f5ff;color:#6544db}
.problem-section{padding:96px 0}.problem-layout{display:grid;grid-template-columns:.72fr 1.1fr .82fr;gap:44px;align-items:start}.problem-copy p:last-child{color:var(--dark-muted);max-width:430px}.problem-copy h2{font-size:42px}.picker-title{font-weight:650;margin-bottom:18px}.problem-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.problem-buttons button{min-height:58px;text-align:left;background:rgba(255,255,255,.025);color:#dce5f2;border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:12px 15px;font:inherit;font-size:13px;cursor:pointer;transition:.2s}.problem-buttons button:hover,.problem-buttons button.is-active{border-color:#2c79ff;background:rgba(30,91,255,.12);color:#fff}.diagnostic-card{background:#0a2042;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:26px}.diagnostic-kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#65a1ff;font-weight:750}.diagnostic-card ul{list-style:none;padding:0;margin:22px 0 26px}.diagnostic-card li{position:relative;padding:0 0 18px 22px;color:#bec8d7;font-size:13px;border-left:1px solid rgba(47,124,255,.45)}.diagnostic-card li:before{content:"";position:absolute;left:-4px;top:4px;width:7px;height:7px;border:1px solid #3c86ff;border-radius:50%;background:var(--navy)}.diagnostic-card li:last-child{border-left-color:transparent;padding-bottom:0}
.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.expertise-card{padding:36px 28px;border-right:1px solid var(--border)}.expertise-card:last-child{border-right:0}.expertise-card .line-icon{width:46px;height:46px;margin-bottom:18px}.expertise-card h3{font-size:18px}.expertise-card ul{padding-left:18px;margin:18px 0 0;color:var(--muted);font-size:14px;line-height:1.9}
.engineering-section{padding:102px 0}.engineering-intro{max-width:570px;margin-bottom:46px}.engineering-intro p:last-child{color:var(--dark-muted)}.ref-panel{border-top:1px solid rgba(255,255,255,.15);padding-top:34px}.ref-label{font-size:17px;font-weight:650}.status.on-dark{border-color:#2b69da;background:rgba(30,91,255,.14);color:#78a9ff}.ref-flow{margin:38px 0 34px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:16px}.ref-flow>div{text-align:center;min-width:0}.ref-flow span{width:64px;height:64px;border:1px solid #2d72ff;clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%);display:grid;place-items:center;margin:0 auto 10px;font-size:23px;color:#85afff}.ref-flow b{font-size:12px;font-weight:600}.ref-flow i{font-style:normal;color:#4e7dcc}.ref-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border-top:1px solid rgba(255,255,255,.1);padding-top:28px}.ref-principles b{font-size:13px}.ref-principles p{font-size:12px;color:var(--dark-muted);margin:8px 0 0}
.rnd-layout{display:grid;grid-template-columns:.6fr 1.6fr;gap:68px;align-items:start}.rnd-copy p:last-child{color:var(--muted)}.rnd-stages{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:20px;align-items:center}.rnd-stages>div:not(.stage-arrow){padding:18px}.stage-no{color:var(--blue);font-size:12px;font-weight:800}.rnd-stages h3{margin:8px 0}.rnd-stages p{font-size:14px;color:var(--muted)}.stage-arrow{color:#88a9df}.tag-row{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.tag-row span{border:1px solid #b9cdfa;color:#2458b9;background:#f6f9ff;border-radius:4px;padding:7px 10px;text-transform:uppercase;font-size:10px;letter-spacing:.07em;font-weight:700}
.venture-section{background:#f4f6f9;padding:88px 0}.ventures-layout{display:grid;grid-template-columns:.65fr 1fr 1fr;gap:26px;align-items:stretch}.ventures-copy p:last-child{color:var(--muted)}.venture-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:28px;display:flex;gap:20px;min-height:220px}.venture-icon{flex:0 0 54px;height:54px;border:1px solid #9dbbff;border-radius:10px;display:grid;place-items:center;color:var(--blue);font-size:24px}.venture-card p{color:var(--muted);font-size:14px;margin-top:18px}
.company-section{padding:78px 0}.company-layout{display:grid;grid-template-columns:.65fr 1.6fr auto;gap:52px;align-items:center}.company-layout h2{margin-bottom:0}.company-layout>p{color:var(--muted);margin:0}.final-cta{padding:58px 0;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(100deg,#071A36,#06172f)}.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.final-cta h2{font-size:30px;margin-bottom:5px}.final-cta p{color:var(--dark-muted);margin:0}.site-footer{padding:58px 0 42px;background:#06162d}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px}.footer-brand img{width:190px}.footer-brand p{max-width:280px;color:var(--dark-muted);font-size:13px;margin:18px 0 38px}.footer-brand small{color:#708096}.site-footer h3{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7d8ca0;margin:7px 0 16px}.site-footer a{display:block;color:#c9d2df;text-decoration:none;font-size:13px;margin:9px 0}.site-footer a:hover{color:#fff}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.hero{min-height:auto}.portal-wrap{transform:none}.hero-layout{grid-template-columns:1fr}.hero-copy{max-width:760px}.portal-wrap{max-width:980px;margin:0 auto;width:100%}.pillar-grid{grid-template-columns:1fr 1fr}.problem-layout{grid-template-columns:1fr 1.4fr}.diagnostic-card{grid-column:1/-1}.expertise-grid{grid-template-columns:1fr 1fr}.expertise-card:nth-child(2){border-right:0}.expertise-card:nth-child(-n+2){border-bottom:1px solid var(--border)}.rnd-layout{grid-template-columns:1fr}.ventures-layout{grid-template-columns:1fr 1fr}.ventures-copy{grid-column:1/-1}.company-layout{grid-template-columns:1fr 2fr}.company-layout .btn{grid-column:2}.ref-flow{gap:8px}.ref-flow i{font-size:12px}}
@media(max-width:760px){.shell{width:min(calc(100% - 36px),var(--max))}.section{padding:76px 0}.site-header{height:70px}.brand{width:160px}.menu-toggle{display:block;color:#fff}.site-header.scrolled .menu-toggle{color:var(--ink)}.main-nav{display:none;position:absolute;top:70px;left:18px;right:18px;background:#fff;color:var(--ink);border:1px solid var(--border);border-radius:12px;padding:14px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav a{padding:13px 8px}.hero{padding:120px 0 60px}.hero-lead{font-size:17px}.portal-wrap{margin-top:12px;overflow:hidden}.portal-image{width:148%;max-width:none;transform:translateX(-16%)}.pillar-grid{grid-template-columns:1fr}.pillar-card{min-height:0;grid-template-columns:64px minmax(0,1fr)}.problem-layout{grid-template-columns:1fr}.problem-buttons{grid-template-columns:1fr}.diagnostic-card{grid-column:auto}.expertise-grid{grid-template-columns:1fr}.expertise-card{border-right:0;border-bottom:1px solid var(--border)!important}.expertise-card:last-child{border-bottom:0!important}.engineering-intro h2{font-size:36px}.ref-flow{display:flex;overflow-x:auto;padding-bottom:18px;gap:12px}.ref-flow>div{min-width:104px}.ref-flow i{display:block}.ref-principles{grid-template-columns:1fr 1fr}.rnd-stages{grid-template-columns:1fr}.stage-arrow{transform:rotate(90deg);justify-self:start}.ventures-layout{grid-template-columns:1fr}.ventures-copy{grid-column:auto}.venture-card{min-height:0}.company-layout{grid-template-columns:1fr;gap:24px}.company-layout .btn{grid-column:auto;justify-self:start}.final-cta-inner{display:block}.final-cta .hero-actions{margin-top:24px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.hero-actions .btn{width:100%}.problem-copy h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.flow-lines path,.data-particles>*,.ambient-particles>*,.portal-frame-blue,.portal-frame-red{animation:none!important}.btn{transition:none}}

/* v1.3 — approved portal fidelity + live motion layer */
.portal-wrap{display:flex;align-items:center;justify-content:center;min-width:0;isolation:isolate}
.portal-stage{position:relative;width:min(100%,860px);aspect-ratio:828/433;display:grid;place-items:center}
.portal-reference{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;z-index:1;user-select:none;-webkit-user-drag:none}
.portal-motion{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;z-index:2;pointer-events:none;mix-blend-mode:screen}
.portal-motion-lines path{stroke:url(#motionBlue);stroke-width:1.15;stroke-linecap:round;opacity:.58;stroke-dasharray:3 11 16 9;animation:rfPortalFlow 8.5s linear infinite}
.portal-motion-lines path:nth-child(2n){animation-duration:10.5s;animation-direction:reverse;opacity:.43}
.portal-motion-lines path:nth-child(3n){animation-duration:12.5s;opacity:.36}
.portal-motion-lines path.pink-flow{stroke:url(#motionPink);stroke-width:.9;opacity:.36;animation-duration:11s}
.portal-motion-particles>*{fill:#3f82ff;opacity:.30;animation:rfPortalParticle 3.4s ease-in-out infinite}
.portal-motion-particles>.light{fill:#d6e4ff}.portal-motion-particles>.pink{fill:#ff5367}
.portal-motion-particles>*:nth-child(2n){animation-delay:-1.1s}.portal-motion-particles>*:nth-child(3n){animation-delay:-2.2s}
.portal-stage:after{content:"";position:absolute;left:45%;top:45%;width:14%;height:10%;border-radius:50%;background:rgba(71,126,255,.15);filter:blur(20px);z-index:0;animation:rfPortalCore 5.6s ease-in-out infinite;pointer-events:none}
@keyframes rfPortalFlow{to{stroke-dashoffset:-156}}
@keyframes rfPortalParticle{0%,100%{opacity:.15;transform:scale(.82)}50%{opacity:.92;transform:scale(1.18)}}
@keyframes rfPortalCore{0%,100%{opacity:.35;transform:scale(.92)}50%{opacity:.8;transform:scale(1.14)}}
@media(max-width:760px){.portal-stage{width:148%;max-width:none;transform:translateX(-16%)}}
@media(prefers-reduced-motion:reduce){.portal-motion-lines path,.portal-motion-particles>*,.portal-stage:after{animation:none!important}}

/* v1.4 — unified live portal: no baked/static flow-line layer */
.portal-stage{position:relative;width:min(100%,880px);aspect-ratio:828/433;display:grid;place-items:center}
.portal-live{display:block;width:100%;height:100%;overflow:visible}
.portal-grid{opacity:.72}
.portal-label-set{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.portal-label-set .label-box{fill:rgba(7,26,54,.46);stroke:rgba(83,139,255,.48);stroke-width:1}
.portal-label-set .label-main{fill:#fff;font-size:12px;font-weight:760;letter-spacing:.025em}
.portal-label-set .label-sub{fill:#aebbd0;font-size:9.7px;font-weight:560;letter-spacing:.055em}
.portal-label-set .label-icon{fill:none;stroke:#5b9cff;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.portal-label-set .label-icon-fill{fill:#5b9cff}
.portal-label-set .label-dots circle{fill:none;stroke:#5b9cff;stroke-width:1.25}
.portal-label-set .pink-fill{fill:#ff5367}
.portal-flow-network .flow-path{stroke:url(#rfFlowBlue);stroke-width:1.12;stroke-linecap:round;opacity:.79;stroke-dasharray:2 5 13 7 1 9;animation:rfUnifiedFlow calc(7.4s + (var(--i) * .13s)) linear infinite;animation-delay:calc(var(--i) * -.29s)}
.portal-flow-network .flow-path:nth-child(3n){stroke-width:.92;opacity:.57;stroke-dasharray:1 7 9 8 2 11}
.portal-flow-network .flow-path:nth-child(4n){stroke-width:1.32;opacity:.68;stroke-dasharray:3 5 18 8}
.portal-flow-network .flow-purple{stroke:url(#rfFlowPurple);opacity:.58}
.portal-flow-network .flow-pink{stroke:url(#rfFlowPink);opacity:.47;stroke-width:.9}
.portal-terminals .terminal-node{fill:#4388ff;filter:url(#rfSoftGlow);animation:rfTerminalPulse 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.18s)}
.portal-ambient .ambient-dot{fill:#347dff;opacity:.56;animation:rfAmbientTwinkle calc(3.2s + (var(--i) * .02s)) ease-in-out infinite;animation-delay:calc(var(--i) * -.09s);transform-box:fill-box;transform-origin:center}
.portal-ambient .ambient-light{fill:#bdd5ff}.portal-ambient .ambient-pink{fill:#ff5367}
.portal-frame{fill:rgba(5,17,39,.20);stroke-width:5.2;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.portal-frame-blue{stroke:url(#rfPortalBlue);filter:url(#rfBlueGlow);animation:rfFrameBreathe 5.7s ease-in-out infinite}
.portal-frame-red{stroke:url(#rfPortalRed);filter:url(#rfRedGlow);animation:rfFrameBreathe 5.7s ease-in-out infinite -2.85s}
.portal-detail{fill:none;stroke-width:1.05;stroke-linecap:round;opacity:.62;vector-effect:non-scaling-stroke}
.portal-detail-blue{stroke:#7faeff}.portal-detail-red{stroke:#ff7a7a}
.portal-core ellipse{animation:rfCoreBreathe 4.8s ease-in-out infinite}
.portal-core circle{filter:url(#rfSoftGlow);animation:rfCoreDot 2.6s ease-in-out infinite}
.portal-moving-particles .moving-particle{filter:url(#rfSoftGlow)}
@keyframes rfUnifiedFlow{to{stroke-dashoffset:-176}}
@keyframes rfTerminalPulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes rfAmbientTwinkle{0%,100%{opacity:.18;transform:scale(.8)}50%{opacity:.9;transform:scale(1.12)}}
@keyframes rfFrameBreathe{0%,100%{opacity:.87}50%{opacity:1}}
@keyframes rfCoreBreathe{0%,100%{opacity:.10;transform:scale(.92);transform-origin:414px 216px}50%{opacity:.32;transform:scale(1.13);transform-origin:414px 216px}}
@keyframes rfCoreDot{0%,100%{opacity:.62}50%{opacity:1}}
@media(max-width:760px){.portal-stage{width:148%;max-width:none;transform:translateX(-16%)}}
@media(prefers-reduced-motion:reduce){.portal-flow-network .flow-path,.portal-terminals .terminal-node,.portal-ambient .ambient-dot,.portal-frame-blue,.portal-frame-red,.portal-core ellipse,.portal-core circle{animation:none!important}.portal-flow-network .flow-path{stroke-dasharray:none;opacity:.42}.portal-moving-particles{display:none}}


/* v1.5 — HERO LOCK CANDIDATE: centered flow + two-line headline + micro-spacing polish */
@media(min-width:1181px){
  .hero{min-height:660px;padding:128px 0 58px}
  .hero-layout{grid-template-columns:.98fr 1.32fr;gap:26px;align-items:center}
  .hero-copy{padding-top:0}
  .hero-copy h1{font-size:clamp(50px,3.55vw,62px);line-height:1.045;max-width:none;margin-bottom:24px}
  .hero-copy h1 .hero-line{display:block;white-space:nowrap}
  .hero-lead{max-width:590px;margin-bottom:30px}
  .portal-stage{width:min(100%,890px)}
}
@media(max-width:1180px){
  .hero{min-height:auto}
  .hero-layout{grid-template-columns:1fr}
  .hero-copy{max-width:780px}
  .hero-copy h1 .hero-line{display:block}
  .portal-wrap{max-width:980px;margin:8px auto 0;width:100%}
}
.portal-flow-network .flow-path{stroke-linecap:round;stroke-linejoin:round}
.portal-core ellipse{transform-origin:414px 189px!important}
@keyframes rfCoreBreathe{0%,100%{opacity:.08;transform:scale(.94);transform-origin:414px 189px}50%{opacity:.25;transform:scale(1.10);transform-origin:414px 189px}}
@media(max-width:760px){
  .hero-copy h1 .hero-line{white-space:normal}
}


/* v1.6 — one-number optical flow alignment control
   Tune only --portal-flow-y in :root. Portal frames, labels, icons and layout stay locked. */
.portal-flow-network,
.portal-terminals,
.portal-core,
.portal-moving-particles{
  transform:translateY(var(--portal-flow-y));
}


/* v1.7 — Problem-First signature section */
.problem-section{
  position:relative;
  overflow:hidden;
  padding:118px 0 122px;
  background:
    radial-gradient(circle at 72% 44%,rgba(30,91,255,.10),transparent 30%),
    linear-gradient(112deg,#06162f 0%,#071a36 44%,#040f25 100%);
}
.problem-grid-bg{position:absolute;inset:0;pointer-events:none;opacity:.52;background-image:linear-gradient(rgba(67,125,226,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(67,125,226,.055) 1px,transparent 1px);background-size:66px 66px;mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
.problem-section:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(90,144,255,.30),transparent)}
.problem-layout{position:relative;z-index:1;display:grid;grid-template-columns:.80fr 1.22fr .90fr;gap:48px;align-items:start}
.problem-copy{padding-top:4px}
.problem-copy h2{font-size:clamp(38px,3vw,52px);line-height:1.08;max-width:470px;margin-bottom:24px}
.problem-copy h2 span{color:#fff}
.problem-copy>p:last-of-type{color:#aebbd0;max-width:450px;font-size:15px;line-height:1.78;margin-bottom:34px}
.problem-principle{display:flex;gap:16px;align-items:flex-start;max-width:420px;padding-top:22px;border-top:1px solid rgba(255,255,255,.10)}
.principle-index{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#5d94ff;font-size:11px;letter-spacing:.12em;padding-top:2px}
.problem-principle b{display:block;color:#fff;font-size:13px;letter-spacing:.01em;margin-bottom:4px}.problem-principle small{display:block;color:#8495ad;font-size:12px;line-height:1.55}
.problem-picker{min-width:0}
.picker-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}.picker-title{margin:0;color:#fff;font-size:14px;font-weight:650}.picker-hint{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#7085a3;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.problem-buttons{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.problem-buttons button{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:12px;align-items:center;min-height:78px;text-align:left;background:rgba(5,20,45,.40);color:#dce5f2;border:1px solid rgba(123,157,208,.16);border-radius:10px;padding:12px 12px 12px 13px;font:inherit;cursor:pointer;transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease}
.problem-buttons button:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,rgba(30,91,255,.12),transparent 60%);opacity:0;transition:opacity .22s ease;pointer-events:none}
.problem-buttons button:hover{border-color:rgba(77,137,255,.55);background:rgba(11,36,75,.58);transform:translateY(-1px)}
.problem-buttons button.is-active{border-color:#347aff;background:rgba(24,70,146,.25);box-shadow:inset 3px 0 0 #347aff,0 10px 28px rgba(0,0,0,.10)}
.problem-buttons button.is-active:before{opacity:1}
.problem-buttons button:focus-visible{outline:2px solid #80adff;outline-offset:3px}
.problem-icon{position:relative;z-index:1;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(77,137,255,.35);border-radius:8px;background:rgba(10,36,75,.46);color:#62a0ff;transition:.22s ease}.problem-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.problem-buttons button.is-active .problem-icon{border-color:#4f8dff;background:rgba(30,91,255,.16);color:#8db7ff;box-shadow:0 0 22px rgba(30,91,255,.12)}
.problem-label{position:relative;z-index:1;min-width:0}.problem-label b{display:block;color:#edf3fb;font-size:12.7px;line-height:1.25;margin-bottom:4px}.problem-label small{display:block;color:#7f91aa;font-size:10.5px;line-height:1.35}.problem-buttons button.is-active .problem-label b{color:#fff}.problem-buttons button.is-active .problem-label small{color:#9fb5d5}
.problem-arrow{position:relative;z-index:1;color:#55749e;font-size:14px;transition:.22s ease}.problem-buttons button:hover .problem-arrow,.problem-buttons button.is-active .problem-arrow{color:#77a8ff;transform:translate(1px,-1px)}
.diagnostic-card{position:relative;overflow:hidden;background:linear-gradient(150deg,rgba(11,39,82,.94),rgba(5,22,49,.96));border:1px solid rgba(100,151,236,.20);border-radius:13px;padding:25px 25px 22px;min-height:432px;box-shadow:0 26px 70px rgba(0,0,0,.12);transition:opacity .16s ease,transform .16s ease,border-color .22s ease}
.diagnostic-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(#3079ff,rgba(48,121,255,.08))}.diagnostic-card:after{content:"";position:absolute;width:190px;height:190px;right:-100px;top:-105px;border-radius:50%;background:rgba(30,91,255,.12);filter:blur(35px);pointer-events:none}.diagnostic-card.is-updating{opacity:.62;transform:translateY(3px)}
.diagnostic-topline{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#6f86a5}.diagnostic-topline span:last-child{color:#5f98ff}
.diagnostic-kicker{position:relative;z-index:1;color:#6ba1ff;font-size:11px;letter-spacing:.10em;text-transform:uppercase;font-weight:760;margin:0 0 10px;line-height:1.4}
.diagnostic-intro{position:relative;z-index:1;color:#a7b5c8;font-size:12px;line-height:1.65;margin:0 0 24px;max-width:330px}
.diagnostic-card ul{position:relative;z-index:1;list-style:none;padding:0;margin:0 0 25px}
.diagnostic-card li{position:relative;display:grid;grid-template-columns:30px 1fr;gap:10px;padding:0 0 18px 0;border:0;color:#d5deea;font-size:12px}
.diagnostic-card li:not(:last-child):after{content:"";position:absolute;left:11px;top:20px;bottom:0;width:1px;background:linear-gradient(rgba(61,133,255,.58),rgba(61,133,255,.12))}
.diagnostic-card li span{width:23px;height:23px;border:1px solid rgba(71,143,255,.58);border-radius:50%;display:grid;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#78a8ff;font-size:8px;background:#081b39;z-index:1}
.diagnostic-card li p{margin:1px 0 0;color:#c3cedc;line-height:1.48}
.diagnostic-footer{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.08);padding-top:18px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}.diagnostic-note{font-size:9.5px;color:#677b98;letter-spacing:.02em}.diagnostic-footer .btn{width:100%}
@media(max-width:1180px){.problem-layout{grid-template-columns:.8fr 1.2fr;gap:42px}.diagnostic-card{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1.3fr;column-gap:40px;min-height:0}.diagnostic-topline,.diagnostic-kicker,.diagnostic-intro{grid-column:1}.diagnostic-card ul{grid-column:2;grid-row:1/5;margin:0}.diagnostic-footer{grid-column:1;align-self:end}.diagnostic-card:after{right:auto;left:-110px}}
@media(max-width:760px){.problem-section{padding:82px 0 88px}.problem-layout{grid-template-columns:1fr;gap:38px}.problem-copy h2{font-size:38px}.problem-copy>p:last-of-type{font-size:14px}.problem-buttons{grid-template-columns:1fr}.problem-buttons button{min-height:72px}.diagnostic-card{grid-column:auto;display:block;min-height:0;padding:22px 20px}.diagnostic-card ul{margin-bottom:24px}.diagnostic-footer .btn{width:100%}.problem-principle{max-width:none}}
@media(prefers-reduced-motion:reduce){.problem-buttons button,.diagnostic-card,.problem-arrow{transition:none!important}}

/* v1.8 — full-page design polish: Expertise, REF, Applied R&D, Ventures, Company, section-aware header */
.site-header{transition:height .25s ease,background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}.site-header.header-on-dark.scrolled{background:rgba(5,18,40,.88);color:#fff;border-color:rgba(255,255,255,.08);box-shadow:0 10px 36px rgba(0,0,0,.14)}.site-header.header-on-dark .brand-dark{display:block!important}.site-header.header-on-dark .brand-light{display:none!important}.site-header.header-on-light{background:rgba(255,255,255,.95);color:var(--ink);border-color:rgba(16,30,47,.08);box-shadow:0 8px 32px rgba(7,26,54,.06)}.site-header.header-on-light .brand-dark{display:none!important}.site-header.header-on-light .brand-light{display:block!important}.site-header.header-on-light .menu-toggle{color:var(--ink)}.site-header.header-on-dark .menu-toggle{color:#fff}
.expertise-section{padding:116px 0 106px;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}.expertise-heading{max-width:920px;margin-inline:auto}.expertise-heading>p:last-child{font-size:16px;letter-spacing:.02em}.expertise-system{margin-top:56px;border:1px solid var(--border);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 18px 60px rgba(7,26,54,.035)}.expertise-rail{height:62px;padding:0 6%;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;border-bottom:1px solid var(--border);background:linear-gradient(90deg,#fbfdff,#f6f9ff,#fbfdff)}.expertise-rail .rail-node{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.14em;font-weight:700;color:#52647d;padding:7px 9px;border:1px solid #dbe5f5;border-radius:5px;background:#fff}.expertise-rail i{position:relative;height:1px;background:linear-gradient(90deg,#a9bfe8,#2d72ff,#a9bfe8);margin:0 14px;opacity:.65}.expertise-rail i:after{content:"";position:absolute;right:-2px;top:-2px;width:5px;height:5px;background:#2d72ff;border-radius:50%;box-shadow:0 0 10px rgba(30,91,255,.35)}.expertise-grid-v2{border:0}.expertise-card-v2{position:relative;padding:34px 30px 32px;min-height:440px;transition:background .25s ease,transform .25s ease}.expertise-card-v2:hover{background:#fbfdff;transform:translateY(-2px)}.expertise-card-v2:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.expertise-card-v2:hover:after{transform:scaleX(1)}.expertise-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.expertise-no{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#8491a4;font-size:10px;letter-spacing:.12em}.expertise-icon{width:52px;height:52px;border:1px solid #b8ccff;border-radius:10px;display:grid;place-items:center;color:#2e72ff;background:#fbfdff}.expertise-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.expertise-kicker{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#2c69da;font-size:9px;letter-spacing:.13em;font-weight:700;margin:0 0 8px}.expertise-card-v2 h3{font-size:19px;min-height:48px;margin-bottom:9px}.expertise-summary{color:#596a80;font-size:13px;line-height:1.55;min-height:62px;margin-bottom:17px}.expertise-card-v2 ul{border-top:1px solid #edf1f6;padding-top:16px;margin-top:0;font-size:13px;line-height:1.8}.expertise-card-v2 li::marker{color:#397bff}.expertise-endnote{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 8px 0;color:#6b788a;font-size:13px}.expertise-endnote a{text-decoration:none;color:#173b78;font-weight:650}.expertise-endnote b{color:#1e5bff;margin-left:5px}
.engineering-v2{position:relative;overflow:hidden;padding:116px 0 112px;background:radial-gradient(circle at 76% 32%,rgba(30,91,255,.10),transparent 29%),linear-gradient(118deg,#06162f 0%,#071a36 52%,#050f24 100%)}.engineering-grid-bg{position:absolute;inset:0;opacity:.42;pointer-events:none;background-image:linear-gradient(rgba(69,130,233,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(69,130,233,.05) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(#000 15%,rgba(0,0,0,.75) 65%,transparent 100%)}.engineering-v2>.shell{position:relative;z-index:1}.engineering-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:end;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:45px;margin-bottom:42px}.engineering-v2 .engineering-intro{margin:0;max-width:610px}.engineering-v2 .engineering-intro h2{font-size:clamp(42px,4vw,58px);margin-bottom:20px}.engineering-v2 .engineering-intro p:last-child{max-width:580px;color:#9eb0c8}.ref-summary{max-width:610px;justify-self:end}.ref-summary h3{font-size:22px;margin:18px 0 9px}.ref-summary p{color:#94a6bf;font-size:13.5px;line-height:1.65;margin:0}.ref-summary .status{display:inline-flex}.ref-system{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;padding:34px 6px 18px}.ref-track{position:absolute;left:8%;right:8%;top:91px;height:1px;background:rgba(71,128,225,.22);z-index:0}.ref-track span{display:block;height:1px;width:42%;background:linear-gradient(90deg,#286cff,#74a3ff);box-shadow:0 0 13px rgba(30,91,255,.35)}.ref-node{position:relative;z-index:1;appearance:none;border:0;background:transparent;color:#dfe7f3;padding:0 8px 16px;text-align:center;cursor:pointer;border-radius:12px;transition:.22s ease}.ref-node:hover,.ref-node:focus-visible{background:rgba(255,255,255,.025);outline:none}.ref-node.is-active{background:rgba(30,91,255,.07)}.ref-no{display:block;color:#6680a5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.12em;margin-bottom:12px}.ref-node.is-active .ref-no{color:#7eabff}.ref-hex{width:76px;height:76px;margin:0 auto 15px;display:grid;place-items:center;clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%);background:#061a39;position:relative}.ref-hex:before{content:"";position:absolute;inset:1px;clip-path:inherit;background:#09254e}.ref-node.is-active .ref-hex{background:#3b82ff;box-shadow:0 0 34px rgba(30,91,255,.22)}.ref-node.is-active .ref-hex:before{background:#0a2c5e}.ref-hex svg{position:relative;width:35px;height:35px;fill:none;stroke:#6ba0ff;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.ref-node.is-active .ref-hex svg{stroke:#a9c8ff}.ref-node b{display:block;font-size:13px;margin-bottom:3px}.ref-node small{display:block;color:#7186a3;font-size:9.5px;line-height:1.35}.ref-node.is-active b{color:#fff}.ref-node.is-active small{color:#91a9c9}.ref-detail{display:grid;grid-template-columns:150px 1.55fr .85fr;gap:36px;align-items:center;margin-top:25px;padding:28px 30px;border:1px solid rgba(89,142,231,.18);background:linear-gradient(110deg,rgba(7,30,65,.90),rgba(7,24,51,.72));border-radius:13px;box-shadow:0 24px 65px rgba(0,0,0,.10);transition:opacity .16s ease,transform .16s ease}.ref-detail.is-updating{opacity:.58;transform:translateY(2px)}.ref-detail-index{border-right:1px solid rgba(255,255,255,.09);padding-right:24px}.ref-detail-index span{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:34px;color:#5f94ff;line-height:1}.ref-detail-index small{display:block;margin-top:9px;color:#657c9d;font-size:8px;letter-spacing:.13em}.ref-detail-kicker{color:#70a3ff;font-size:9px;letter-spacing:.14em;font-weight:700;margin-bottom:7px}.ref-detail-copy h3{font-size:20px;margin-bottom:7px}.ref-detail-copy>p:last-child{color:#9baec7;font-size:12.5px;line-height:1.58;margin:0;max-width:690px}.ref-detail-signals{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ref-detail-signals span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;letter-spacing:.08em;color:#8fb5ff;border:1px solid rgba(82,137,234,.30);border-radius:5px;padding:7px 8px;background:rgba(30,91,255,.06)}.ref-principles-v2{margin-top:34px;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.08);padding:0}.ref-principles-v2>div{padding:26px 26px 25px 0;border-right:1px solid rgba(255,255,255,.07)}.ref-principles-v2>div:not(:first-child){padding-left:26px}.ref-principles-v2>div:last-child{border-right:0}.ref-principles-v2 span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;color:#5d83c1;display:block;margin-bottom:8px}.ref-principles-v2 b{font-size:12px}.ref-principles-v2 p{font-size:11px;line-height:1.55;color:#8194ae}
.rnd-section-v2{padding:96px 0 90px;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}.rnd-header-v2{display:grid;grid-template-columns:.72fr 1.28fr;gap:110px;align-items:end;padding-bottom:34px;border-bottom:1px solid var(--border)}.rnd-header-v2 h2{font-size:clamp(44px,4.2vw,60px);margin-bottom:0}.rnd-intro-v2{display:grid;grid-template-columns:1fr 1fr;gap:36px}.rnd-intro-v2 p{color:#5e6d80;font-size:14px;margin:0}.rnd-intro-v2 .rnd-principle{color:#1b3154;font-weight:560;border-left:2px solid #2d72ff;padding-left:20px}.rnd-pipeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}.rnd-path{position:absolute;left:12%;right:12%;top:69px;height:1px;background:#d7e2f5;z-index:0}.rnd-path span{display:block;width:66%;height:1px;background:linear-gradient(90deg,#2d72ff,#86aaff);animation:rndPath 5.5s ease-in-out infinite;transform-origin:left}.rnd-stage-v2{position:relative;z-index:1;background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px 25px 22px;min-height:248px;transition:.25s ease}.rnd-stage-v2:hover{transform:translateY(-3px);border-color:#b5c9f6;box-shadow:0 18px 45px rgba(7,26,54,.06)}.rnd-stage-v2 .stage-no{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#2d72ff;font-size:9px;letter-spacing:.12em}.rnd-node{width:64px;height:64px;display:grid;place-items:center;border:1px solid #a9c3ff;background:#fbfdff;border-radius:50%;margin:14px 0 18px;box-shadow:0 0 0 9px #fff}.rnd-node svg{width:36px;height:36px;fill:none;stroke:#3478ff;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.rnd-stage-label{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#6780a2;font-size:8px;letter-spacing:.13em;font-weight:700;margin:0 0 7px}.rnd-stage-v2 h3{font-size:19px;margin-bottom:8px}.rnd-stage-v2>p:not(.rnd-stage-label){color:#67768a;font-size:12.5px;line-height:1.55}.rnd-stage-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.rnd-stage-tags span{font-size:8px;letter-spacing:.07em;text-transform:uppercase;color:#426aa9;border:1px solid #d5e1f8;border-radius:4px;padding:5px 7px;background:#f9fbff}.rnd-bottom{display:grid;grid-template-columns:.8fr 1.8fr;gap:42px;align-items:start;margin-top:30px;padding-top:24px;border-top:1px solid var(--border)}.rnd-focus-label>span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#2e6fe8;font-size:9px;letter-spacing:.13em;font-weight:700}.rnd-focus-label p{font-size:12px;color:#768395;margin:5px 0 0}.tag-row-v2{margin:0;align-self:start}.rnd-closing{grid-column:1/-1;margin:7px 0 0;text-align:right;color:#17345e;font-size:14px;font-weight:600;letter-spacing:-.01em}@keyframes rndPath{0%,100%{transform:scaleX(.40);opacity:.45}50%{transform:scaleX(1);opacity:1}}
.venture-section-v2{padding:104px 0 98px;background:linear-gradient(180deg,#f3f6fa,#eef2f7)}.ventures-header{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:end;margin-bottom:42px}.ventures-header h2{font-size:clamp(42px,4vw,58px);margin-bottom:0}.ventures-header>p{max-width:760px;color:#5d6c7f;margin:0;font-size:14px}.venture-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.venture-card-v2{display:block;padding:0;min-height:0;overflow:hidden;border-radius:15px;box-shadow:0 14px 38px rgba(7,26,54,.04);transition:.25s ease}.venture-card-v2:hover{transform:translateY(-3px);border-color:#c7d5ea;box-shadow:0 22px 52px rgba(7,26,54,.075)}.venture-visual{height:230px;background:linear-gradient(150deg,#071a36,#0a2247);border-bottom:1px solid #dce3ec;display:grid;place-items:center;overflow:hidden}.venture-visual svg{width:100%;height:100%}.venture-gridline{fill:none;stroke:#3877d1;stroke-opacity:.10;stroke-width:1}.venture-route{fill:none;stroke:#4c8cff;stroke-width:1.4;stroke-linecap:round;stroke-dasharray:3 7}.commerce-route{stroke:#6a91ff}.venture-node{fill:#3c82ff;filter:drop-shadow(0 0 5px rgba(63,130,255,.6))}.venture-node.pulse{animation:venturePulse 3.2s ease-in-out infinite}.venture-node.delay{animation-delay:-1.6s}.venture-block,.venture-system{fill:rgba(7,26,54,.78);stroke:#5d93ec;stroke-width:1}.venture-wave,.venture-code,.venture-play,.venture-cart,.venture-box,.venture-list{fill:none;stroke:#75a7ff;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.venture-play{fill:rgba(117,167,255,.12)}.venture-card-body{padding:26px 28px 30px}.venture-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.venture-index{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.12em;color:#8190a5}.venture-card-v2 h3{font-size:22px;margin-bottom:8px}.venture-card-v2 p{font-size:13px;line-height:1.6;max-width:540px;margin-top:0}.venture-domains{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.venture-domains span{font-size:8px;letter-spacing:.07em;text-transform:uppercase;color:#516c93;border:1px solid #d9e2ef;background:#fbfcfe;border-radius:4px;padding:6px 7px}.venture-note{text-align:center;color:#7c899a;font-size:10px;letter-spacing:.03em;margin:25px 0 0}@keyframes venturePulse{0%,100%{opacity:.45;transform:scale(.85);transform-origin:center}50%{opacity:1;transform:scale(1.25);transform-origin:center}}
.company-section-v2{padding:98px 0 96px;background:#fff}.company-layout-v2{display:grid;grid-template-columns:.72fr 1.22fr .92fr;gap:62px;align-items:start}.company-title h2{font-size:clamp(42px,3.8vw,54px);margin-bottom:18px}.company-manifesto{font-size:14px;color:#2c5eb7;font-weight:600;margin:0}.company-copy-v2{border-left:1px solid var(--border);padding-left:38px}.company-copy-v2 p{color:#5e6c7f;font-size:14px;line-height:1.7}.company-copy-v2 p:last-child{margin-bottom:0}.company-facts{border:1px solid var(--border);border-radius:13px;background:#fbfcfe;overflow:hidden}.company-facts>div{display:grid;grid-template-columns:34px 1fr;column-gap:10px;padding:17px 18px;border-bottom:1px solid var(--border)}.company-facts>div:last-child{border-bottom:0}.company-facts span{grid-row:1/3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#2d72ff;font-size:9px;margin-top:2px}.company-facts b{font-size:12px;color:#1b2f4c}.company-facts small{font-size:10px;line-height:1.35;color:#78869a;margin-top:3px}
@media(max-width:1180px){.expertise-rail{display:none}.expertise-grid-v2{grid-template-columns:1fr 1fr}.expertise-card-v2{min-height:0}.expertise-card-v2:nth-child(2){border-right:0}.expertise-card-v2:nth-child(-n+2){border-bottom:1px solid var(--border)}.engineering-top{grid-template-columns:1fr;gap:30px}.ref-summary{justify-self:start}.ref-system{grid-template-columns:repeat(3,1fr);row-gap:34px}.ref-track{display:none}.ref-detail{grid-template-columns:100px 1fr}.ref-detail-signals{grid-column:2;justify-content:flex-start}.ref-principles-v2{grid-template-columns:1fr 1fr}.ref-principles-v2>div:nth-child(2){border-right:0}.ref-principles-v2>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.07)}.rnd-header-v2{grid-template-columns:1fr;gap:28px}.rnd-intro-v2{max-width:900px}.rnd-bottom{grid-template-columns:1fr}.rnd-closing{grid-column:auto;text-align:left}.ventures-header{grid-template-columns:1fr;gap:22px}.company-layout-v2{grid-template-columns:.8fr 1.4fr}.company-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.company-facts>div{border-bottom:0;border-right:1px solid var(--border)}.company-facts>div:last-child{border-right:0}}
@media(max-width:760px){.expertise-section{padding:82px 0}.expertise-system{margin-top:34px}.expertise-grid-v2{grid-template-columns:1fr}.expertise-card-v2{border-right:0!important;border-bottom:1px solid var(--border)!important;min-height:0}.expertise-card-v2:last-child{border-bottom:0!important}.expertise-summary{min-height:0}.expertise-endnote{display:block}.expertise-endnote a{display:block;margin-top:10px}.engineering-v2{padding:86px 0}.engineering-top{padding-bottom:34px;margin-bottom:28px}.engineering-v2 .engineering-intro h2{font-size:38px}.ref-system{grid-template-columns:1fr 1fr;gap:22px 8px;padding-top:18px}.ref-node{padding-inline:3px}.ref-hex{width:64px;height:64px}.ref-detail{grid-template-columns:1fr;gap:18px;padding:22px 20px}.ref-detail-index{border-right:0;border-bottom:1px solid rgba(255,255,255,.09);padding:0 0 14px}.ref-detail-signals{grid-column:auto}.ref-principles-v2{grid-template-columns:1fr}.ref-principles-v2>div,.ref-principles-v2>div:not(:first-child){padding:20px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.ref-principles-v2>div:last-child{border-bottom:0}.rnd-section-v2{padding:86px 0}.rnd-intro-v2{grid-template-columns:1fr;gap:18px}.rnd-pipeline{grid-template-columns:1fr;gap:16px;margin-top:36px}.rnd-path{display:none}.rnd-stage-v2{min-height:0}.rnd-bottom{margin-top:28px}.tag-row-v2{justify-content:flex-start}.ventures-header h2{font-size:38px}.venture-grid-v2{grid-template-columns:1fr}.venture-visual{height:190px}.company-layout-v2{grid-template-columns:1fr;gap:28px}.company-copy-v2{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.company-facts{grid-column:auto;display:block}.company-facts>div{border-right:0;border-bottom:1px solid var(--border)}.site-header.header-on-dark .main-nav{background:#071a36;color:#fff;border-color:rgba(255,255,255,.12)}}
@media(prefers-reduced-motion:reduce){.rnd-path span,.venture-node.pulse{animation:none!important}.expertise-card-v2,.rnd-stage-v2,.venture-card-v2,.ref-node,.ref-detail{transition:none!important}}


/* ==============================================================
   v1.9 FINAL VISUAL POLISH / PRODUCTION QA
   --------------------------------------------------------------
   Hero/Who/Problem remain locked. This layer normalizes header,
   logo switching, surfaces, focus states and final section rhythm.
   ============================================================= */
:root{
  --rf-radius-control:8px;
  --rf-radius-card:14px;
  --rf-radius-visual:15px;
  --rf-focus:0 0 0 3px rgba(30,91,255,.22);
}

/* Header is section-aware at all scroll positions. */
.site-header.header-on-dark{
  color:#fff;
  background:rgba(5,18,40,.42);
  border-color:rgba(255,255,255,.055);
  box-shadow:none;
}
.site-header.header-on-dark.scrolled{
  background:rgba(5,18,40,.90);
  border-color:rgba(255,255,255,.085);
  box-shadow:0 10px 36px rgba(0,0,0,.14);
}
.site-header.header-on-light,
.site-header.header-on-light.scrolled{
  color:var(--ink);
  background:rgba(255,255,255,.955);
  border-color:rgba(16,30,47,.085);
  box-shadow:0 8px 32px rgba(7,26,54,.055);
}
.site-header.header-on-dark .brand-dark{display:block!important}
.site-header.header-on-dark .brand-light{display:none!important}
.site-header.header-on-light .brand-dark{display:none!important}
.site-header.header-on-light .brand-light{display:block!important}
.site-header .brand img{max-height:39px;object-fit:contain;object-position:left center}

/* Consistent geometry / interactive affordances. */
.btn,.problem-option,.diagnostic-card,.expertise-system,.rnd-stage-v2,.company-facts{border-radius:var(--rf-radius-card)}
.btn{border-radius:var(--rf-radius-control)}
.venture-card-v2{border-radius:var(--rf-radius-visual)}
:where(a,button):focus-visible{outline:none;box-shadow:var(--rf-focus)}
.main-nav a:focus-visible{box-shadow:none;outline:2px solid rgba(30,91,255,.55);outline-offset:7px;border-radius:2px}

/* The R&D section keeps the approved visual but wastes less vertical space. */
.rnd-section-v2 .rnd-header-v2{padding-bottom:34px}
.rnd-section-v2 .rnd-pipeline{margin-top:42px}
.rnd-section-v2 .rnd-bottom{margin-top:30px;padding-top:24px}
.rnd-section-v2 .rnd-closing{margin-top:2px}

/* Stable footer/logo rendering. */
.footer-brand img{display:block;width:190px;height:auto;max-height:42px;object-fit:contain;object-position:left center}

@media(max-width:760px){
  .site-header .brand img{max-height:32px}
  .rnd-section-v2{padding:76px 0}
  .rnd-section-v2 .rnd-pipeline{margin-top:30px}
  .rnd-section-v2 .rnd-bottom{margin-top:22px;padding-top:20px}
}

/* ==============================================================
   v2.0 SITE ARCHITECTURE + EXPERTISE INNER PAGES
   ============================================================= */

/* Compact expertise dropdown. */
.nav-details{position:relative}
.nav-details summary{list-style:none;cursor:pointer;font-size:15px;font-weight:560;color:inherit;display:flex;align-items:center;gap:7px;position:relative;user-select:none}
.nav-details summary::-webkit-details-marker{display:none}
.nav-details summary span{font-size:11px;opacity:.68;transition:transform .18s ease}
.nav-details[open] summary span{transform:rotate(180deg)}
.nav-details summary:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--blue);transition:.2s}
.nav-details summary:hover:after,.nav-details summary.is-current:after,.nav-details[open] summary:after{right:0}
.nav-dropdown{position:absolute;top:calc(100% + 21px);left:-24px;width:365px;padding:12px;background:rgba(255,255,255,.985);border:1px solid rgba(16,30,47,.10);border-radius:12px;box-shadow:0 20px 60px rgba(7,26,54,.16);color:var(--ink);display:grid;gap:3px}
.nav-dropdown:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.nav-dropdown a{display:grid;gap:1px;padding:11px 12px;border-radius:8px;color:var(--ink)!important}
.nav-dropdown a:after{display:none!important}
.nav-dropdown a:hover{background:#f4f7fc}
.nav-dropdown b{font-size:13px;font-weight:680;letter-spacing:-.01em}
.nav-dropdown small{font-size:11px;color:#738096;font-weight:450;line-height:1.35}
.nav-dropdown .nav-overview{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;padding-bottom:12px;border-bottom:1px solid var(--border);font-weight:680;color:#174fcb!important}
.site-header.header-on-dark .nav-dropdown{background:rgba(7,26,54,.985);border-color:rgba(255,255,255,.12);color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.site-header.header-on-dark .nav-dropdown a{color:#fff!important}
.site-header.header-on-dark .nav-dropdown a:hover{background:rgba(255,255,255,.06)}
.site-header.header-on-dark .nav-dropdown small{color:#9aa9bf}
.site-header.header-on-dark .nav-dropdown .nav-overview{color:#70a2ff!important;border-bottom-color:rgba(255,255,255,.10)}

.inner-page{background:#fff}
.inner-section{padding:104px 0}
.inner-heading{max-width:930px;margin:0 auto 54px}
.inner-heading h2{margin-bottom:18px}
.inner-heading>p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:780px;margin-inline:auto}
.subhero{position:relative;overflow:hidden;padding:164px 0 112px;background:linear-gradient(105deg,#071A36 0%,#071A36 42%,#04142e 68%,#020a1c 100%)}
.subhero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(30,91,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(30,91,255,.05) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 90%,transparent 100%)}
.subhero-layout,.practice-hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:.88fr 1.12fr;gap:74px;align-items:center}
.subhero-copy h1{font-size:clamp(50px,4.25vw,72px);max-width:760px;margin-bottom:26px}
.subhero-lead{font-size:18px;color:#c8d2e0;line-height:1.72;max-width:700px;margin-bottom:0}
.back-link{display:inline-block;color:#9ab7e9;text-decoration:none;font-size:12px;margin-bottom:28px;letter-spacing:.03em}
.back-link:hover{color:#fff}

/* Expertise landing hero constellation. */
.expertise-constellation{height:390px;position:relative;min-width:0}
.constellation-lines{position:absolute;inset:20px 0 0;width:100%;height:340px;overflow:visible}
.constellation-lines path{fill:none;stroke:#4f8fff;stroke-width:1.2;stroke-dasharray:5 8;opacity:.42}
.constellation-lines circle{fill:#4f8fff;filter:drop-shadow(0 0 6px rgba(79,143,255,.7))}
.constellation-axis{position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(75,132,232,.46),rgba(75,132,232,.46),transparent)}
.constellation-node{position:absolute;width:170px;min-height:92px;border:1px solid rgba(100,153,246,.28);background:rgba(7,26,54,.68);border-radius:12px;text-decoration:none;color:#fff;padding:16px 18px;display:grid;gap:2px;backdrop-filter:blur(8px);transition:.22s ease}
.constellation-node:hover{transform:translateY(-4px);border-color:#4e8fff;background:rgba(17,51,105,.82);box-shadow:0 18px 42px rgba(0,0,0,.14)}
.constellation-node span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#4f8fff;font-size:9px;letter-spacing:.12em}
.constellation-node b{font-size:16px;letter-spacing:-.02em}
.constellation-node small{color:#9eacc0;font-size:11px}
.node-data{left:0;top:132px}.node-intelligence{left:27%;top:40px}.node-systems{right:25%;bottom:34px}.node-automation{right:0;top:132px}

.expertise-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 20px 60px rgba(7,26,54,.045)}
.expertise-detail-card{position:relative;padding:42px 44px 38px;min-height:465px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column}
.expertise-detail-card:nth-child(2n){border-right:0}.expertise-detail-card:nth-child(n+3){border-bottom:0}
.detail-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;color:#7d8ba0;letter-spacing:.14em}
.detail-icon{position:absolute;right:38px;top:36px;width:54px;height:54px;border:1px solid #abc6ff;border-radius:9px;color:var(--blue);display:grid;place-items:center;font-weight:700;font-size:17px}
.micro-label{margin:38px 0 10px;color:#2a67db;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;font-size:9px;letter-spacing:.12em;font-weight:700}
.expertise-detail-card h3{font-size:25px;margin-bottom:14px}
.expertise-detail-card>p:not(.micro-label){color:var(--muted);max-width:560px;font-size:14px}
.expertise-detail-card ul{padding-left:18px;margin:16px 0 28px;color:#5f6d80;font-size:13px;line-height:1.85}
.expertise-detail-card li::marker{color:#3e7cff}
.expertise-detail-card>a{margin-top:auto;text-decoration:none;color:#174fcb;font-weight:680;font-size:13px;display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--border)}
.planned-link{margin-top:auto;color:#8b97a7;font-size:11px;padding-top:18px;border-top:1px solid var(--border)}

.layer-section{background:linear-gradient(120deg,#071A36,#0a2144);padding:112px 0}
.layer-layout{display:grid;grid-template-columns:.78fr 1.35fr;gap:90px;align-items:center}
.layer-copy p:last-child{color:#aeb9c9;max-width:560px}
.layer-map{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center}
.layer-step{min-height:150px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.025);border-radius:13px;padding:22px 18px;display:flex;flex-direction:column;justify-content:center}
.layer-step span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#5d95ff;font-size:9px;letter-spacing:.12em}.layer-step b{font-size:17px;margin:8px 0 4px}.layer-step small{color:#92a1b6;font-size:11px;line-height:1.45}.layer-map i{font-style:normal;color:#4e8eff}
.symptom-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:end;margin-bottom:42px}.symptom-head>p{color:var(--muted);font-size:15px;max-width:700px;margin:0 0 10px}
.symptom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.symptom-card{text-decoration:none;border:1px solid var(--border);border-radius:12px;padding:24px 22px;display:grid;gap:7px;color:var(--ink);transition:.2s}.symptom-card:hover{border-color:#a9c4ff;transform:translateY(-2px);box-shadow:var(--shadow)}.symptom-card span{color:#2a67db;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.12em}.symptom-card b{font-size:16px}.symptom-card small{color:#758296;font-size:11px}

/* Data Architecture detail. */
.practice-hero{padding-bottom:96px}.practice-hero-layout{grid-template-columns:.92fr 1.08fr}.data-architecture-visual{height:420px;display:grid;place-items:center}.data-architecture-visual svg{width:100%;height:100%;overflow:visible}.dav-grid path{stroke:#2e6bc9;stroke-opacity:.15;stroke-width:1}.dav-flows path{fill:none;stroke:url(#dav);stroke-width:1.7;stroke-dasharray:6 7;opacity:.70}.dav-nodes circle,.dav-nodes rect{fill:rgba(8,35,75,.9);stroke:#5d98ff;stroke-width:1.5;filter:drop-shadow(0 0 7px rgba(73,132,255,.35))}.dav-labels text{fill:#9db0ca;font-size:11px;font-weight:700;letter-spacing:.08em}
.split-heading{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end;margin-bottom:48px}.split-heading h2{max-width:720px}.split-heading>p{color:var(--muted);font-size:15px;line-height:1.75;margin-bottom:8px}
.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:15px;overflow:hidden}.signal-card{padding:30px 28px;min-height:210px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.signal-card:nth-child(3n){border-right:0}.signal-card:nth-child(n+4){border-bottom:0}.signal-card span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#3976e8;font-size:9px}.signal-card h3{margin:24px 0 10px;font-size:18px}.signal-card p{color:var(--muted);font-size:13px;line-height:1.65;margin:0}
.capability-section{background:linear-gradient(120deg,#071A36,#0a2144)}.capability-layout{display:grid;grid-template-columns:.74fr 1.26fr;gap:82px}.capability-intro p:last-child{color:#aeb9c9;max-width:470px}.capability-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.12)}.capability-item{padding:28px 28px 30px 0;border-bottom:1px solid rgba(255,255,255,.10)}.capability-item:nth-child(2n){padding-left:28px;border-left:1px solid rgba(255,255,255,.10)}.capability-item span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#5f96ff;font-size:9px}.capability-item b{display:block;font-size:16px;margin:8px 0}.capability-item p{color:#9cabc0;font-size:12px;line-height:1.6;margin:0}
.approach-section{background:#f8fafc}.approach-track{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:stretch}.approach-step{border:1px solid var(--border);background:#fff;border-radius:12px;padding:25px 22px;min-height:185px}.approach-step span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#2a6eea;font-size:9px}.approach-step b{display:block;font-size:17px;margin:17px 0 8px}.approach-step p{color:var(--muted);font-size:12px;line-height:1.55;margin:0}.approach-track>i{align-self:center;color:#4c82e8;font-style:normal}
.outcomes-section{padding-top:88px}.outcomes-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:84px}.outcomes-copy p:last-child{color:var(--muted);max-width:520px}.outcome-list{border-top:1px solid var(--border)}.outcome-list>div{display:grid;grid-template-columns:48px .7fr 1.2fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--border);align-items:start}.outcome-list span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#2d72ff;font-size:9px}.outcome-list b{font-size:15px}.outcome-list p{color:var(--muted);font-size:12px;margin:0}
.related-section{padding:82px 0 96px;background:#f4f7fa}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.related-panel{background:#fff;border:1px solid var(--border);border-radius:14px;padding:32px}.related-panel h3{font-size:22px;margin-bottom:24px}.related-panel>a{display:flex;justify-content:space-between;text-decoration:none;color:var(--ink);font-size:13px;font-weight:620;padding:15px 0;border-top:1px solid var(--border)}.related-panel>a span{color:#2d72ff}

@media(max-width:1180px){
  .subhero-layout,.practice-hero-layout{grid-template-columns:1fr;gap:44px}.expertise-constellation{max-width:760px;width:100%}.layer-layout,.capability-layout{grid-template-columns:1fr;gap:48px}.symptom-grid{grid-template-columns:1fr 1fr}.approach-track{grid-template-columns:1fr 1fr;gap:14px}.approach-track>i{display:none}.approach-step:last-child{grid-column:1/-1}.outcomes-layout{grid-template-columns:1fr;gap:44px}
}
@media(max-width:900px){
  .nav-details{width:100%}.nav-details summary{padding:13px 0}.nav-dropdown{position:static;width:100%;margin:4px 0 8px;padding:8px;background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.10)!important;box-shadow:none}.site-header.header-on-light .nav-dropdown{background:#f7f9fc!important;border-color:var(--border)!important}.nav-dropdown a{padding:9px 10px}
  .expertise-detail-grid{grid-template-columns:1fr}.expertise-detail-card,.expertise-detail-card:nth-child(2n),.expertise-detail-card:nth-child(n+3){border-right:0;border-bottom:1px solid var(--border)}.expertise-detail-card:last-child{border-bottom:0}
  .split-heading,.symptom-head{grid-template-columns:1fr;gap:24px}.signal-grid{grid-template-columns:1fr 1fr}.signal-card:nth-child(3n){border-right:1px solid var(--border)}.signal-card:nth-child(2n){border-right:0}.signal-card:nth-child(n+4){border-bottom:1px solid var(--border)}.signal-card:nth-child(n+5){border-bottom:0}.related-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .inner-section{padding:78px 0}.subhero{padding:132px 0 78px}.subhero-copy h1{font-size:42px}.subhero-lead{font-size:16px}.expertise-constellation{height:auto;display:grid;gap:10px}.constellation-lines,.constellation-axis{display:none}.constellation-node{position:static;width:100%;min-height:0}.expertise-detail-card{padding:30px 24px;min-height:0}.detail-icon{right:22px;top:26px}.layer-map{grid-template-columns:1fr;gap:10px}.layer-map i{transform:rotate(90deg);justify-self:center}.symptom-grid{grid-template-columns:1fr}.practice-hero-layout{gap:22px}.data-architecture-visual{height:300px}.split-heading{margin-bottom:34px}.signal-grid{grid-template-columns:1fr}.signal-card,.signal-card:nth-child(n){border-right:0;border-bottom:1px solid var(--border)}.signal-card:last-child{border-bottom:0}.capability-grid{grid-template-columns:1fr}.capability-item:nth-child(2n){padding-left:0;border-left:0}.approach-track{grid-template-columns:1fr}.approach-step:last-child{grid-column:auto}.outcome-list>div{grid-template-columns:38px 1fr}.outcome-list p{grid-column:2}.related-panel{padding:26px 22px}
}
@media(max-width:760px){.site-header.header-on-dark .menu-toggle{color:#fff}.site-header.header-on-light .menu-toggle{color:var(--ink)}}

/* ==============================================================
   v2.1 REFORMETA WEB DESIGN AUTHORITY — SURFACE GRAMMAR
   Canonical reference: Homepage “Who We Are” cards.
   Rule: preserve section composition; standardize the visual DNA.
   ============================================================== */
:root{
  /* canonical light surfaces */
  --rf-ui-surface:#ffffff;
  --rf-ui-surface-soft:#fbfdff;
  --rf-ui-border:#DCE3EC;
  --rf-ui-border-hover:#CBD6E5;
  --rf-ui-card-radius:12px;
  --rf-ui-visual-radius:15px;
  --rf-ui-icon-size:58px;
  --rf-ui-icon-radius:8px;
  --rf-ui-icon-border:#9EC0FF;
  --rf-ui-icon-bg:#FBFDFF;
  --rf-ui-icon:#1E5BFF;
  --rf-ui-shadow-hover:0 18px 50px rgba(7,26,54,.08);
  --rf-ui-shadow-rest:0 10px 34px rgba(7,26,54,.035);
  --rf-ui-hover-y:-3px;

  /* canonical typography / micro-labels */
  --rf-ui-card-title:17px;
  --rf-ui-card-body:13.5px;
  --rf-ui-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  --rf-ui-label:#2A67DB;
  --rf-ui-muted:#5D6B7A;

  /* semantic pastels */
  --rf-pastel-blue-bg:#F2F6FF;
  --rf-pastel-blue-border:#BCD0FF;
  --rf-pastel-blue-text:#1A57E8;
  --rf-pastel-green-bg:#F1FBF4;
  --rf-pastel-green-border:#BEE3C8;
  --rf-pastel-green-text:#168345;
  --rf-pastel-amber-bg:#FFF8EF;
  --rf-pastel-amber-border:#FFD0AA;
  --rf-pastel-amber-text:#C76B1B;
  --rf-pastel-violet-bg:#F8F5FF;
  --rf-pastel-violet-border:#D2C4FF;
  --rf-pastel-violet-text:#6544DB;

  /* dark counterpart */
  --rf-dark-card:rgba(9,35,75,.68);
  --rf-dark-card-hover:rgba(14,45,91,.76);
  --rf-dark-border:rgba(112,160,238,.20);
  --rf-dark-border-hover:rgba(112,160,238,.40);
}

/* Keep the approved Who We Are language as the canonical surface. */
.pillar-card{
  border-radius:var(--rf-ui-card-radius);
  border-color:var(--rf-ui-border);
  background:var(--rf-ui-surface);
}
.pillar-card:hover{
  transform:translateY(var(--rf-ui-hover-y));
  box-shadow:var(--rf-ui-shadow-hover);
  border-color:var(--rf-ui-border-hover);
}
.line-icon{
  width:var(--rf-ui-icon-size);
  height:var(--rf-ui-icon-size);
  border-radius:var(--rf-ui-icon-radius);
  border-color:var(--rf-ui-icon-border);
  background:var(--rf-ui-icon-bg);
  color:var(--rf-ui-icon);
}
.pillar-card h3{font-size:var(--rf-ui-card-title)}
.pillar-card p{font-size:var(--rf-ui-card-body);color:var(--rf-ui-muted)}

/* One canonical status / semantic-chip grammar. */
.status{
  border-radius:5px;
  padding:6px 9px;
  font-family:var(--rf-ui-mono);
  font-size:10px;
  letter-spacing:.075em;
  line-height:1.2;
  background:var(--rf-pastel-blue-bg);
  border-color:var(--rf-pastel-blue-border);
  color:var(--rf-pastel-blue-text);
}
.status.active{background:var(--rf-pastel-green-bg);border-color:var(--rf-pastel-green-border);color:var(--rf-pastel-green-text)}
.status.development{background:var(--rf-pastel-amber-bg);border-color:var(--rf-pastel-amber-border);color:var(--rf-pastel-amber-text)}
.status.research{background:var(--rf-pastel-violet-bg);border-color:var(--rf-pastel-violet-border);color:var(--rf-pastel-violet-text)}
.status.on-dark{background:rgba(30,91,255,.11);border-color:rgba(93,149,255,.40);color:#86B0FF}

/* Shared micro-label language. */
:where(.expertise-no,.expertise-kicker,.stage-no,.rnd-stage-label,.venture-index,.micro-label,.detail-number,.signal-card>span,.approach-step>span,.outcome-list span,.symptom-card>span,.company-facts span){
  font-family:var(--rf-ui-mono);
}

/* Homepage Expertise: keep the rail/grid architecture; normalize its surfaces/icons/type. */
.expertise-system{
  border-color:var(--rf-ui-border);
  border-radius:var(--rf-ui-card-radius);
  box-shadow:var(--rf-ui-shadow-rest);
}
.expertise-rail{
  background:linear-gradient(90deg,#FBFDFF,#F6F9FF,#FBFDFF);
  border-bottom-color:var(--rf-ui-border);
}
.expertise-rail .rail-node{
  border-color:var(--rf-ui-border);
  border-radius:5px;
  background:#fff;
  color:#52647D;
  font-family:var(--rf-ui-mono);
}
.expertise-icon,.detail-icon{
  width:var(--rf-ui-icon-size);
  height:var(--rf-ui-icon-size);
  border-radius:var(--rf-ui-icon-radius);
  border-color:var(--rf-ui-icon-border);
  background:var(--rf-ui-icon-bg);
  color:var(--rf-ui-icon);
}
.expertise-card-v2{
  background:#fff;
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.expertise-card-v2:hover{
  background:#FBFDFF;
  transform:translateY(-2px);
  box-shadow:inset 0 0 0 1px rgba(158,192,255,.24);
}
.expertise-card-v2 h3{color:var(--ink)}
.expertise-summary,.expertise-card-v2 ul{color:var(--rf-ui-muted)}

/* Applied R&D: preserve the 3-stage progression, inherit the canonical card language. */
.rnd-stage-v2{
  border-radius:var(--rf-ui-card-radius);
  border-color:var(--rf-ui-border);
  background:var(--rf-ui-surface);
  box-shadow:none;
}
.rnd-stage-v2:hover{
  transform:translateY(var(--rf-ui-hover-y));
  border-color:var(--rf-ui-border-hover);
  box-shadow:var(--rf-ui-shadow-hover);
}
.rnd-node{
  width:var(--rf-ui-icon-size);
  height:var(--rf-ui-icon-size);
  border-color:var(--rf-ui-icon-border);
  background:var(--rf-ui-icon-bg);
  color:var(--rf-ui-icon);
  box-shadow:0 0 0 9px #fff;
}
.rnd-node svg{stroke:var(--rf-ui-icon)}
.rnd-stage-v2 h3{font-size:19px;color:var(--ink)}
.rnd-stage-v2>p:not(.rnd-stage-label){color:var(--rf-ui-muted)}
.rnd-stage-tags span,.tag-row-v2 span,.venture-domains span{
  border-radius:5px;
  font-family:var(--rf-ui-mono);
  letter-spacing:.065em;
  text-transform:uppercase;
  line-height:1.2;
}
.rnd-stage-v2:nth-of-type(1) .rnd-stage-tags span{
  background:var(--rf-pastel-violet-bg);border-color:var(--rf-pastel-violet-border);color:var(--rf-pastel-violet-text)
}
.rnd-stage-v2:nth-of-type(2) .rnd-stage-tags span{
  background:var(--rf-pastel-blue-bg);border-color:var(--rf-pastel-blue-border);color:var(--rf-pastel-blue-text)
}
.rnd-stage-v2:nth-of-type(3) .rnd-stage-tags span{
  background:var(--rf-pastel-green-bg);border-color:var(--rf-pastel-green-border);color:var(--rf-pastel-green-text)
}
.tag-row-v2 span{
  background:var(--rf-pastel-blue-bg);border-color:var(--rf-pastel-blue-border);color:var(--rf-pastel-blue-text)
}

/* Ventures: keep the approved technical visuals; standardize only the card chrome beneath/around them. */
.venture-card-v2{
  border-color:var(--rf-ui-border);
  border-radius:var(--rf-ui-visual-radius);
  box-shadow:var(--rf-ui-shadow-rest);
  background:#fff;
}
.venture-card-v2:hover{
  transform:translateY(var(--rf-ui-hover-y));
  border-color:var(--rf-ui-border-hover);
  box-shadow:var(--rf-ui-shadow-hover);
}
.venture-visual{
  border-bottom-color:var(--rf-ui-border);
}
.venture-card-body{background:#fff}
.venture-card-v2 h3{color:var(--ink)}
.venture-card-v2 p{color:var(--rf-ui-muted)}
.venture-domains span{
  background:var(--rf-pastel-blue-bg);
  border-color:#D5E1F8;
  color:#426AA9;
}
.venture-block,.venture-system{stroke:#6C9DF0}
.venture-wave,.venture-code,.venture-play,.venture-cart,.venture-box,.venture-list{stroke:#7FADFF}

/* Company facts use the same structured-surface language. */
.company-facts{
  border-color:var(--rf-ui-border);
  border-radius:var(--rf-ui-card-radius);
  background:var(--rf-ui-surface-soft);
}
.company-facts>div{border-color:var(--rf-ui-border)}

/* Expertise landing/detail surfaces: retain each page composition, align visual grammar. */
.nav-dropdown,.expertise-detail-grid,.signal-grid,.related-panel,.symptom-card,.approach-step{
  border-color:var(--rf-ui-border);
}
.nav-dropdown,.related-panel,.symptom-card,.approach-step{
  border-radius:var(--rf-ui-card-radius);
  background:var(--rf-ui-surface);
}
.nav-dropdown{box-shadow:0 20px 60px rgba(7,26,54,.13)}
.symptom-card:hover{
  border-color:var(--rf-ui-border-hover);
  transform:translateY(var(--rf-ui-hover-y));
  box-shadow:var(--rf-ui-shadow-hover);
}
.expertise-detail-grid,.signal-grid{
  border-radius:var(--rf-ui-card-radius);
  box-shadow:var(--rf-ui-shadow-rest);
}
.expertise-detail-card,.signal-card{background:#fff}
.expertise-detail-card{transition:background .22s ease}
.expertise-detail-card:hover,.signal-card:hover{background:#FBFDFF}
.signal-card{transition:background .22s ease}
.approach-step{
  transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.approach-step:hover{
  border-color:var(--rf-ui-border-hover);
  box-shadow:0 12px 34px rgba(7,26,54,.055);
  transform:translateY(-2px);
}
.related-panel{
  box-shadow:var(--rf-ui-shadow-rest);
}
.related-panel:hover{
  border-color:var(--rf-ui-border-hover);
  box-shadow:var(--rf-ui-shadow-hover);
}

/* Dark-side counterpart: same geometry/discipline, not a light-card imitation. */
.diagnostic-card,.ref-detail,.layer-step{
  border-radius:var(--rf-ui-card-radius);
  border-color:var(--rf-dark-border);
}
.diagnostic-card,.ref-detail{background-color:var(--rf-dark-card)}
.layer-step{background:rgba(255,255,255,.025)}
.layer-step:hover{border-color:var(--rf-dark-border-hover);background:rgba(255,255,255,.04)}
.ref-node{border-radius:var(--rf-ui-card-radius)}
.ref-node:hover,.ref-node:focus-visible{background:rgba(255,255,255,.032)}
.ref-node.is-active{background:rgba(30,91,255,.08)}
.ref-detail-signals span{
  border-radius:5px;
  font-family:var(--rf-ui-mono);
  background:rgba(30,91,255,.07);
  border-color:rgba(82,137,234,.30);
}

/* Buttons remain deliberately restrained and consistent. */
.btn{border-radius:8px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}
.btn:hover{transform:translateY(-2px)}

/* Mobile keeps the same grammar without forcing desktop density. */
@media(max-width:760px){
  :root{--rf-ui-icon-size:54px}
  .pillar-card:hover,.rnd-stage-v2:hover,.venture-card-v2:hover,.symptom-card:hover,.approach-step:hover,.related-panel:hover{transform:none}
}

/* ==============================================================
   v2.2 VISIBLE COMPONENT STANDARDIZATION
   --------------------------------------------------------------
   Authority correction: preserve section composition, but make
   the shared Who-We-Are surface grammar visibly consistent.
   ============================================================= */

:root{
  --rf-card-gap:14px;
  --rf-card-pad:24px 22px;
  --rf-card-bg:#FFFFFF;
  --rf-card-soft:#FBFDFF;
}

/* EXPERTISE — keep relationship rail, make the four disciplines
   visibly individual canonical Reformeta cards. */
.expertise-system{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.expertise-rail{
  margin-bottom:var(--rf-card-gap);
  height:58px;
  border:1px solid var(--rf-ui-border);
  border-radius:var(--rf-ui-card-radius);
  background:linear-gradient(90deg,#FBFDFF,#F5F8FF,#FBFDFF);
  box-shadow:var(--rf-ui-shadow-rest);
}
.expertise-grid-v2{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--rf-card-gap);
  background:transparent;
}
.expertise-card-v2{
  min-height:430px;
  padding:var(--rf-card-pad);
  border:1px solid var(--rf-ui-border)!important;
  border-radius:var(--rf-ui-card-radius);
  background:var(--rf-card-bg);
  box-shadow:none;
  overflow:hidden;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;
}
.expertise-card-v2:hover{
  background:#fff;
  transform:translateY(var(--rf-ui-hover-y));
  border-color:var(--rf-ui-border-hover)!important;
  box-shadow:var(--rf-ui-shadow-hover);
}
.expertise-card-v2:after{display:none}
.expertise-card-head{
  margin-bottom:18px;
  min-height:58px;
}
.expertise-icon{
  flex:0 0 var(--rf-ui-icon-size);
  box-shadow:none;
}
.expertise-kicker{
  display:inline-flex;
  width:max-content;
  margin:0 0 10px;
  padding:6px 9px;
  border:1px solid var(--rf-pastel-blue-border);
  border-radius:5px;
  background:var(--rf-pastel-blue-bg);
  color:var(--rf-pastel-blue-text);
  line-height:1.1;
}
.expertise-card-v2:nth-child(1) .expertise-kicker{
  background:var(--rf-pastel-green-bg);border-color:var(--rf-pastel-green-border);color:var(--rf-pastel-green-text)
}
.expertise-card-v2:nth-child(2) .expertise-kicker{
  background:var(--rf-pastel-violet-bg);border-color:var(--rf-pastel-violet-border);color:var(--rf-pastel-violet-text)
}
.expertise-card-v2:nth-child(3) .expertise-kicker{
  background:var(--rf-pastel-blue-bg);border-color:var(--rf-pastel-blue-border);color:var(--rf-pastel-blue-text)
}
.expertise-card-v2:nth-child(4) .expertise-kicker{
  background:var(--rf-pastel-amber-bg);border-color:var(--rf-pastel-amber-border);color:var(--rf-pastel-amber-text)
}
.expertise-card-v2 h3{
  min-height:0;
  font-size:18px;
  line-height:1.28;
  margin-bottom:10px;
}
.expertise-summary{
  min-height:78px;
  font-size:13.5px;
  line-height:1.62;
}
.expertise-card-v2 ul{
  border-top:1px solid #E9EEF5;
  padding-top:16px;
  font-size:13px;
}
.expertise-endnote{padding-inline:2px}

/* APPLIED R&D — preserve the 3-stage pipeline, use the same square
   icon box, card proportions and semantic pastel language. */
.rnd-pipeline{gap:var(--rf-card-gap)}
.rnd-stage-v2{
  min-height:255px;
  padding:var(--rf-card-pad);
  border-radius:var(--rf-ui-card-radius);
  box-shadow:none;
}
.rnd-node{
  width:var(--rf-ui-icon-size);
  height:var(--rf-ui-icon-size);
  border-radius:var(--rf-ui-icon-radius);
  box-shadow:none;
  margin:14px 0 16px;
}
.rnd-node svg{width:33px;height:33px}
.rnd-stage-label{
  display:inline-flex;
  width:max-content;
  padding:6px 9px;
  border-radius:5px;
  border:1px solid var(--rf-pastel-blue-border);
  background:var(--rf-pastel-blue-bg);
  color:var(--rf-pastel-blue-text);
  margin-bottom:10px;
  line-height:1.1;
}
.rnd-stage-v2:nth-child(2) .rnd-stage-label{
  background:var(--rf-pastel-violet-bg);border-color:var(--rf-pastel-violet-border);color:var(--rf-pastel-violet-text)
}
.rnd-stage-v2:nth-child(3) .rnd-stage-label{
  background:var(--rf-pastel-blue-bg);border-color:var(--rf-pastel-blue-border);color:var(--rf-pastel-blue-text)
}
.rnd-stage-v2:nth-child(4) .rnd-stage-label{
  background:var(--rf-pastel-green-bg);border-color:var(--rf-pastel-green-border);color:var(--rf-pastel-green-text)
}
.rnd-stage-v2 h3{font-size:18px;line-height:1.3}
.rnd-stage-v2>p:not(.rnd-stage-label){font-size:13.5px;line-height:1.62}
.rnd-stage-tags span{padding:6px 8px}
.rnd-path{top:67px}

/* VENTURES — visual panels remain untouched. Body/surface/chips now
   use the same canonical card grammar. */
.venture-grid-v2{gap:var(--rf-card-gap)}
.venture-card-v2{
  border:1px solid var(--rf-ui-border);
  border-radius:var(--rf-ui-card-radius);
  box-shadow:none;
  background:#fff;
}
.venture-card-v2:hover{
  border-color:var(--rf-ui-border-hover);
  box-shadow:var(--rf-ui-shadow-hover);
}
.venture-visual{
  border-radius:calc(var(--rf-ui-card-radius) - 1px) calc(var(--rf-ui-card-radius) - 1px) 0 0;
}
.venture-card-body{padding:24px 24px 26px}
.venture-title-row{margin-bottom:14px}
.venture-card-v2 h3{font-size:18px;line-height:1.28;margin-bottom:8px}
.venture-card-v2 p{font-size:13.5px;line-height:1.62}
.venture-domains span{padding:6px 8px}

/* COMPANY / RELATED / DETAIL light surfaces — same quiet surface
   treatment without changing information architecture. */
.company-facts,.related-panel,.approach-step,.symptom-card{
  background:#fff;
  border:1px solid var(--rf-ui-border);
  border-radius:var(--rf-ui-card-radius);
  box-shadow:none;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.company-facts:hover,.related-panel:hover,.approach-step:hover,.symptom-card:hover{
  border-color:var(--rf-ui-border-hover);
  box-shadow:var(--rf-ui-shadow-hover);
}

/* Expertise landing page 2x2 cards: same visible canonical surface. */
.expertise-detail-grid{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--rf-card-gap);
  overflow:visible;
}
.expertise-detail-card{
  border:1px solid var(--rf-ui-border)!important;
  border-radius:var(--rf-ui-card-radius);
  background:#fff;
  box-shadow:none;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.expertise-detail-card:hover{
  background:#fff;
  transform:translateY(var(--rf-ui-hover-y));
  border-color:var(--rf-ui-border-hover)!important;
  box-shadow:var(--rf-ui-shadow-hover);
}
.expertise-detail-card .detail-icon{
  border-radius:var(--rf-ui-icon-radius);
  background:var(--rf-ui-icon-bg);
}

/* Data Architecture signal grid: preserve 3x2 information shape but
   introduce card separation and common hover language. */
.signal-grid{
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--rf-card-gap);
  overflow:visible;
}
.signal-card{
  border:1px solid var(--rf-ui-border)!important;
  border-radius:var(--rf-ui-card-radius);
  background:#fff;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.signal-card:hover{
  background:#fff;
  transform:translateY(var(--rf-ui-hover-y));
  border-color:var(--rf-ui-border-hover)!important;
  box-shadow:var(--rf-ui-shadow-hover);
}

@media(max-width:1180px){
  .expertise-grid-v2{grid-template-columns:1fr 1fr}
  .expertise-card-v2{min-height:0}
}
@media(max-width:760px){
  .expertise-grid-v2,.expertise-detail-grid,.signal-grid{grid-template-columns:1fr}
  .expertise-card-v2,.expertise-detail-card,.signal-card{min-height:0}
  .expertise-summary{min-height:0}
}

/* ==============================================================
   v2.3 DARK SURFACE + ICON WEIGHT AUTHORITY
   --------------------------------------------------------------
   Preserve all successful section compositions. Standardize the
   dark counterpart and align icon optical weight to the canonical
   Who-We-Are glyph presence.
   ============================================================= */

:root{
  --rf-dark-card:#0A2146;
  --rf-dark-card-2:#0B2854;
  --rf-dark-card-soft:rgba(10,33,70,.66);
  --rf-dark-border:rgba(116,158,226,.22);
  --rf-dark-border-hover:rgba(92,147,242,.52);
  --rf-dark-icon-border:rgba(86,143,238,.52);
  --rf-dark-icon-bg:rgba(14,48,99,.72);
  --rf-dark-icon:#7FB0FF;
  --rf-dark-shadow:0 18px 44px rgba(0,0,0,.14);
  --rf-dark-shadow-hover:0 22px 50px rgba(0,0,0,.18),0 0 0 1px rgba(72,132,236,.08);
  --rf-icon-stroke:1.85;
  --rf-icon-stroke-strong:2.05;
}

/* Global icon-weight alignment: same box family, stronger internal glyphs. */
.expertise-icon svg,
.detail-icon svg,
.rnd-node svg{
  stroke-width:var(--rf-icon-stroke)!important;
}
.problem-icon svg,
.ref-hex svg{
  stroke-width:var(--rf-icon-stroke-strong)!important;
}
.venture-wave,.venture-code,.venture-play,.venture-cart,.venture-box,.venture-list{
  stroke-width:1.8!important;
}
.venture-block,.venture-system{stroke-width:1.35!important}

/* Applied R&D: cards are strong enough on their own; remove the redundant connector. */
.rnd-path{display:none!important}

/* PROBLEM-FIRST — keep the 3-column interaction, adopt canonical dark surfaces. */
.problem-buttons button{
  border-radius:var(--rf-ui-card-radius);
  border-color:var(--rf-dark-border);
  background:var(--rf-dark-card-soft);
  box-shadow:none;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.problem-buttons button:hover{
  transform:translateY(-2px);
  border-color:var(--rf-dark-border-hover);
  background:rgba(12,42,86,.78);
  box-shadow:var(--rf-dark-shadow);
}
.problem-buttons button.is-active{
  border-color:#4A88FF;
  background:linear-gradient(135deg,rgba(30,91,255,.20),rgba(11,40,84,.86));
  box-shadow:inset 3px 0 0 #4A88FF,var(--rf-dark-shadow);
}
.problem-icon{
  width:48px;
  height:48px;
  border-radius:var(--rf-ui-icon-radius);
  border-color:var(--rf-dark-icon-border);
  background:var(--rf-dark-icon-bg);
  color:var(--rf-dark-icon);
}
.problem-icon svg{width:28px;height:28px}
.problem-buttons button.is-active .problem-icon{
  border-color:#72A5FF;
  background:rgba(30,91,255,.18);
  color:#A6C6FF;
  box-shadow:0 0 0 1px rgba(82,140,239,.10),0 0 24px rgba(30,91,255,.12);
}
.diagnostic-card{
  border-radius:var(--rf-ui-card-radius);
  border-color:var(--rf-dark-border);
  background:linear-gradient(150deg,#0B2854,#081D3D 78%);
  box-shadow:var(--rf-dark-shadow);
}
.diagnostic-card:hover{border-color:rgba(92,147,242,.34)}
.diagnostic-card li span{
  border-color:var(--rf-dark-icon-border);
  color:#8EB8FF;
  background:#0A244A;
}

/* REF — same engineering map, canonical dark panel/card grammar. */
.ref-node{
  border:1px solid transparent;
  border-radius:var(--rf-ui-card-radius);
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.ref-node:hover,.ref-node:focus-visible{
  transform:translateY(-2px);
  border-color:var(--rf-dark-border);
  background:rgba(10,35,74,.52);
  box-shadow:0 12px 30px rgba(0,0,0,.10);
}
.ref-node.is-active{
  border-color:rgba(78,137,238,.36);
  background:linear-gradient(180deg,rgba(30,91,255,.12),rgba(10,35,74,.72));
  box-shadow:0 16px 38px rgba(0,0,0,.13);
}
.ref-hex{
  background:#071B3A;
}
.ref-hex:before{background:#0A2A57}
.ref-node.is-active .ref-hex{
  background:#4A86F6;
  box-shadow:0 0 32px rgba(30,91,255,.19);
}
.ref-node.is-active .ref-hex:before{background:#0C336B}
.ref-detail{
  border-radius:var(--rf-ui-card-radius);
  border-color:var(--rf-dark-border);
  background:linear-gradient(120deg,var(--rf-dark-card-2),#081D3D 72%);
  box-shadow:var(--rf-dark-shadow);
}
.ref-detail-signals span{
  border-color:rgba(90,145,238,.36);
  background:rgba(30,91,255,.09);
  color:#9ABEFF;
}
.ref-principles-v2{
  gap:12px;
  border:0;
  margin-top:30px;
}
.ref-principles-v2>div,
.ref-principles-v2>div:not(:first-child){
  padding:20px 20px 19px;
  border:1px solid var(--rf-dark-border);
  border-radius:var(--rf-ui-card-radius);
  background:rgba(9,31,65,.58);
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.ref-principles-v2>div:hover{
  transform:translateY(-2px);
  border-color:var(--rf-dark-border-hover);
  background:rgba(11,39,80,.72);
  box-shadow:0 14px 32px rgba(0,0,0,.10);
}
.ref-principles-v2>div:last-child{border-right:1px solid var(--rf-dark-border)}

/* Ventures — preserve diagrams, align their dark visual header to the same technical grammar. */
.venture-visual{
  background:linear-gradient(150deg,#071A36,#0A244A);
}
.venture-gridline{stroke-opacity:.12}
.venture-block,.venture-system{
  fill:rgba(8,31,66,.86);
  stroke:#6EA4FF;
}
.venture-wave,.venture-code,.venture-play,.venture-cart,.venture-box,.venture-list{stroke:#8AB6FF}
.venture-node{fill:#4D8DFF}

/* Dark CTA/footer — same geometry, border hierarchy and restrained response. */
.final-cta,
.site-footer{background:#071A36}
.final-cta .btn-secondary-dark{border-color:var(--rf-dark-border)}
.final-cta .btn-secondary-dark:hover{border-color:var(--rf-dark-border-hover);background:rgba(255,255,255,.04)}
.site-footer{border-top:1px solid rgba(116,158,226,.16)}

@media(max-width:760px){
  .problem-icon{width:46px;height:46px}
  .problem-icon svg{width:27px;height:27px}
  .ref-principles-v2{gap:10px}
  .ref-principles-v2>div,.ref-principles-v2>div:not(:first-child){padding:18px;border:1px solid var(--rf-dark-border)}
}

@media(prefers-reduced-motion:reduce){
  .problem-buttons button,.ref-node,.ref-principles-v2>div{transition:none!important}
}

/* ==============================================================
   v2.4 SEQUENCE NUMERALS + COMPANY SURFACE AUTHORITY
   --------------------------------------------------------------
   Numbers are semantic: keep only for actual sequence/progression.
   Company profile adopts the canonical light-card family.
   ============================================================= */

/* How We Think: the principle is a statement, not a numbered step. */
.problem-principle{display:block}
.diagnostic-topline{justify-content:flex-start}

/* Peer cards: removing decorative indices must not disturb composition. */
.expertise-card-head{justify-content:flex-end}
.venture-title-row{justify-content:flex-end}

/* REF principles are equal principles, not a 01–04 sequence. */
.ref-principles-v2>div b{display:block;margin-top:0}

/* Data Architecture peer inventories after numeral removal. */
.signal-card h3{margin:2px 0 10px}
.capability-item b{margin:0 0 8px}
.outcome-list>div{grid-template-columns:.72fr 1.28fr;gap:22px}
.outcome-list p{grid-column:auto}

/* Expertise landing peer cards after number removal. */
.expertise-detail-card .micro-label{margin-top:0}
.constellation-node b{margin-top:0}

/* COMPANY — canonical light mini-card grammar, preserving the editorial layout. */
.company-facts{
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
  display:grid;
  gap:12px;
  box-shadow:none;
}
.company-facts:hover{border-color:transparent;box-shadow:none}
.company-fact-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:15px;
  align-items:center;
  padding:16px 17px;
  border:1px solid var(--rf-ui-border);
  border-radius:var(--rf-ui-card-radius);
  background:#fff;
  box-shadow:none;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.company-fact-card:hover{
  transform:translateY(var(--rf-ui-hover-y));
  border-color:var(--rf-ui-border-hover);
  box-shadow:var(--rf-ui-shadow-hover);
}
.company-fact-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border:1px solid var(--rf-ui-icon-border);
  border-radius:var(--rf-ui-icon-radius);
  background:var(--rf-ui-icon-bg);
  color:var(--rf-ui-icon);
}
.company-fact-icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:var(--rf-icon-stroke-strong);
  stroke-linecap:round;
  stroke-linejoin:round;
}
.company-fact-card>div{min-width:0}
.company-fact-label{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:0 0 7px;
  padding:5px 8px;
  border-radius:5px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:8px;
  line-height:1.1;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:700;
}
.company-fact-label.fact-green{background:var(--rf-pastel-green-bg);border:1px solid var(--rf-pastel-green-border);color:var(--rf-pastel-green-text)}
.company-fact-label.fact-blue{background:var(--rf-pastel-blue-bg);border:1px solid var(--rf-pastel-blue-border);color:var(--rf-pastel-blue-text)}
.company-fact-label.fact-violet{background:var(--rf-pastel-violet-bg);border:1px solid var(--rf-pastel-violet-border);color:var(--rf-pastel-violet-text)}
.company-fact-card b{display:block;font-size:13px;line-height:1.35;color:#172B48;margin:0 0 3px}
.company-fact-card small{display:block;font-size:10.5px;line-height:1.4;color:#758296}

@media(max-width:1180px){
  .company-facts{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
  .company-fact-card{grid-template-columns:48px minmax(0,1fr);padding:15px}
  .company-fact-icon{width:48px;height:48px}
  .company-fact-icon svg{width:30px;height:30px}
}
@media(max-width:760px){
  .company-facts{grid-column:auto;grid-template-columns:1fr}
  .company-fact-card:hover{transform:none}
  .outcome-list>div{grid-template-columns:1fr;gap:7px}
}

/* ==============================================================
   v2.5 CANONICAL CARD ANATOMY
   --------------------------------------------------------------
   Who We Are is the reference: bold square icon at upper-left,
   strong dark title beside it, supporting copy beneath, semantic
   pastel labels/chips at the bottom. Process/diagnostic/system
   components remain intentional exceptions.
   ============================================================= */

/* Homepage Expertise — preserve the 4-discipline rail and lists;
   normalize the internal card anatomy. */
.expertise-card-v2{
  display:grid;
  grid-template-columns:var(--rf-ui-icon-size) minmax(0,1fr);
  grid-template-rows:auto auto 1fr auto;
  column-gap:16px;
  row-gap:8px;
  align-content:stretch;
}
.expertise-card-v2 .expertise-card-head{
  grid-column:1;
  grid-row:1 / 3;
  margin:0;
  min-height:0;
  align-self:start;
}
.expertise-card-v2 .expertise-icon{
  width:var(--rf-ui-icon-size);
  height:var(--rf-ui-icon-size);
  margin:0;
}
.expertise-card-v2 h3{
  grid-column:2;
  grid-row:1;
  margin:3px 0 2px;
  align-self:start;
}
.expertise-card-v2 .expertise-summary{
  grid-column:2;
  grid-row:2;
  margin:0;
  min-height:0;
}
.expertise-card-v2 ul{
  grid-column:1 / -1;
  grid-row:3;
  align-self:start;
  margin:18px 0 0;
}
.expertise-card-v2 .expertise-kicker{
  grid-column:1 / -1;
  grid-row:4;
  justify-self:start;
  align-self:end;
  margin:18px 0 0;
}

/* Applied R&D — keep real 01→03 progression, but make each stage
   read like the same card family. Number is secondary, not the
   visual headline. */
.rnd-stage-v2{
  position:relative;
  display:grid;
  grid-template-columns:var(--rf-ui-icon-size) minmax(0,1fr);
  grid-template-rows:auto auto 1fr auto;
  column-gap:16px;
  row-gap:8px;
  align-content:stretch;
  padding-top:28px;
}
.rnd-stage-v2 .stage-no{
  position:absolute;
  top:16px;
  right:18px;
  margin:0;
  color:#7890b2;
  opacity:.78;
}
.rnd-stage-v2 .rnd-node{
  grid-column:1;
  grid-row:1 / 3;
  width:var(--rf-ui-icon-size);
  height:var(--rf-ui-icon-size);
  margin:0;
  align-self:start;
}
.rnd-stage-v2 h3{
  grid-column:2;
  grid-row:1;
  margin:3px 0 2px;
  align-self:start;
}
.rnd-stage-v2>p:not(.rnd-stage-label){
  grid-column:2;
  grid-row:2;
  margin:0;
}
.rnd-stage-v2 .rnd-stage-label{
  grid-column:1;
  grid-row:4;
  align-self:end;
  justify-self:start;
  margin:18px 0 0;
}
.rnd-stage-v2 .rnd-stage-tags{
  grid-column:2;
  grid-row:4;
  align-self:end;
  justify-self:start;
  margin:18px 0 0;
}

/* Ventures — the technical visual is intentionally retained as the
   section-specific visual. The white body now follows the same
   title/copy/bottom-semantic rhythm. */
.venture-card-body{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.venture-card-body h3{order:1;margin-top:0}
.venture-card-body>p{order:2}
.venture-card-body .venture-domains{order:3}
.venture-card-body .venture-title-row{
  order:4;
  margin:18px 0 0;
  width:100%;
  justify-content:flex-start;
}

/* Company mini-cards — icon + dark title/copy first; semantic label
   moves to the bottom exactly like the canonical light cards. */
.company-fact-card{align-items:start}
.company-fact-card>div{
  display:grid;
  grid-template-rows:auto auto auto;
  align-content:start;
}
.company-fact-card b{order:1;margin:2px 0 4px}
.company-fact-card small{order:2}
.company-fact-card .company-fact-label{
  order:3;
  margin:11px 0 0;
  align-self:end;
}

/* Expertise landing — same anatomy with more content. The existing
   2x2 composition and list/detail behavior are preserved. */
.expertise-detail-card{
  display:grid;
  grid-template-columns:var(--rf-ui-icon-size) minmax(0,1fr);
  grid-template-rows:auto auto 1fr auto;
  column-gap:16px;
  row-gap:8px;
  align-content:stretch;
}
.expertise-detail-card .detail-icon{
  position:static;
  grid-column:1;
  grid-row:1 / 3;
  width:var(--rf-ui-icon-size);
  height:var(--rf-ui-icon-size);
  display:grid;
  place-items:center;
  color:var(--rf-ui-icon);
  border:1px solid var(--rf-ui-icon-border);
  background:var(--rf-ui-icon-bg);
  border-radius:var(--rf-ui-icon-radius);
  align-self:start;
}
.expertise-detail-card .detail-icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:var(--rf-icon-stroke-strong)!important;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.expertise-detail-card h3{
  grid-column:2;
  grid-row:1;
  margin:3px 0 2px;
}
.expertise-detail-card>p:not(.micro-label){
  grid-column:2;
  grid-row:2;
  margin:0;
}
.expertise-detail-card ul{
  grid-column:1 / -1;
  grid-row:3;
  margin:18px 0 0;
  padding-top:16px;
  border-top:1px solid #E9EEF5;
}
.expertise-detail-card .micro-label{
  grid-column:1;
  grid-row:4;
  align-self:end;
  justify-self:start;
  display:inline-flex;
  width:max-content;
  margin:18px 0 0;
  padding:6px 9px;
  border-radius:5px;
  font-size:8px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.expertise-detail-card:nth-child(1) .micro-label{background:var(--rf-pastel-green-bg);border:1px solid var(--rf-pastel-green-border);color:var(--rf-pastel-green-text)}
.expertise-detail-card:nth-child(2) .micro-label{background:var(--rf-pastel-violet-bg);border:1px solid var(--rf-pastel-violet-border);color:var(--rf-pastel-violet-text)}
.expertise-detail-card:nth-child(3) .micro-label{background:var(--rf-pastel-blue-bg);border:1px solid var(--rf-pastel-blue-border);color:var(--rf-pastel-blue-text)}
.expertise-detail-card:nth-child(4) .micro-label{background:var(--rf-pastel-amber-bg);border:1px solid var(--rf-pastel-amber-border);color:var(--rf-pastel-amber-text)}
.expertise-detail-card>a,
.expertise-detail-card>.planned-link{
  grid-column:2;
  grid-row:4;
  align-self:end;
  margin:18px 0 0;
}
.expertise-detail-card>a{
  border-top:0;
  padding-top:0;
  justify-content:flex-end;
  gap:8px;
}
.expertise-detail-card>.planned-link{justify-self:end;text-align:right}

/* Data Architecture problem-signal cards — convert them from plain
   text tiles to the same icon/title/copy/pastel-footer anatomy while
   preserving the 3x2 problem-signal layout. */
.signal-card{
  display:grid;
  grid-template-columns:var(--rf-ui-icon-size) minmax(0,1fr);
  grid-template-rows:auto auto 1fr auto;
  column-gap:16px;
  row-gap:8px;
  padding:24px;
  min-height:220px;
}
.signal-icon{
  grid-column:1;
  grid-row:1 / 3;
  width:var(--rf-ui-icon-size);
  height:var(--rf-ui-icon-size);
  display:grid;
  place-items:center;
  color:var(--rf-ui-icon);
  border:1px solid var(--rf-ui-icon-border);
  border-radius:var(--rf-ui-icon-radius);
  background:var(--rf-ui-icon-bg);
}
.signal-icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:var(--rf-icon-stroke-strong);
  stroke-linecap:round;
  stroke-linejoin:round;
}
.signal-card h3{
  grid-column:2;
  grid-row:1;
  margin:3px 0 2px;
  font-size:17px;
}
.signal-card>p{
  grid-column:2;
  grid-row:2 / 4;
  margin:0;
}
.signal-tag{
  grid-column:1 / -1;
  grid-row:4;
  justify-self:start;
  align-self:end;
  display:inline-flex;
  width:max-content;
  margin-top:16px;
  padding:6px 9px;
  border-radius:5px;
  font-family:var(--rf-ui-mono);
  font-size:8px!important;
  line-height:1.1;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-weight:700;
}
.signal-green{background:var(--rf-pastel-green-bg);border:1px solid var(--rf-pastel-green-border);color:var(--rf-pastel-green-text)!important}
.signal-violet{background:var(--rf-pastel-violet-bg);border:1px solid var(--rf-pastel-violet-border);color:var(--rf-pastel-violet-text)!important}
.signal-blue{background:var(--rf-pastel-blue-bg);border:1px solid var(--rf-pastel-blue-border);color:var(--rf-pastel-blue-text)!important}
.signal-amber{background:var(--rf-pastel-amber-bg);border:1px solid var(--rf-pastel-amber-border);color:var(--rf-pastel-amber-text)!important}

@media(max-width:760px){
  .expertise-card-v2,
  .rnd-stage-v2,
  .expertise-detail-card,
  .signal-card{
    grid-template-columns:52px minmax(0,1fr);
  }
  .expertise-card-v2 .expertise-icon,
  .rnd-stage-v2 .rnd-node,
  .expertise-detail-card .detail-icon,
  .signal-icon{width:52px;height:52px}
  .expertise-detail-card .detail-icon svg,
  .signal-icon svg{width:31px;height:31px}
  .rnd-stage-v2 .rnd-stage-label,
  .rnd-stage-v2 .rnd-stage-tags{margin-top:14px}
}

/* ================================================================
   v2.6 — Expertise detail-page visual family
   Detail pages share one calm architectural visual grammar while
   keeping a subject-specific diagram in each hero.
   ================================================================ */
.practice-visual{height:420px;display:grid;place-items:center}
.practice-visual svg{width:100%;height:100%;overflow:visible}
.practice-visual .pv-grid path{stroke:#2e6bc9;stroke-opacity:.14;stroke-width:1}
.practice-visual .pv-flow path,.practice-visual path.pv-flow{fill:none;stroke:#6b9cff;stroke-width:1.7;stroke-dasharray:6 7;opacity:.72}
.practice-visual .pv-flow-solid path,.practice-visual path.pv-flow-solid{fill:none;stroke:#6b9cff;stroke-width:1.8;opacity:.8}
.practice-visual .pv-node rect,.practice-visual .pv-node circle,.practice-visual rect.pv-node,.practice-visual circle.pv-node{fill:rgba(8,35,75,.90);stroke:#70a0ff;stroke-width:1.7;filter:drop-shadow(0 0 7px rgba(73,132,255,.32))}
.practice-visual .pv-node-strong rect,.practice-visual .pv-node-strong circle,.practice-visual rect.pv-node-strong,.practice-visual circle.pv-node-strong{fill:rgba(16,50,102,.94);stroke:#86afff;stroke-width:2;filter:drop-shadow(0 0 10px rgba(73,132,255,.38))}
.practice-visual .pv-labels text{fill:#9db0ca;font-size:11px;font-weight:700;letter-spacing:.08em}
.practice-visual .pv-mini{fill:none;stroke:#78a5ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.practice-visual .pv-dot{fill:#78a5ff;filter:drop-shadow(0 0 5px rgba(94,145,255,.55))}
@media(max-width:760px){.practice-visual{height:300px}}

/* ==============================================================
   v2.7 — Engineering page
   ============================================================= */
.engineering-page-hero{padding-top:154px;padding-bottom:108px}
.engineering-page-hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:center}
.engineering-page-hero .subhero-copy h1{max-width:720px}
.engineering-hero-map{height:410px;display:grid;place-items:center}
.engineering-hero-map svg{width:100%;height:100%;overflow:visible}
.eh-grid path{fill:none;stroke:rgba(64,126,224,.08);stroke-width:1}
.eh-path{fill:none;stroke:#3d7fff;stroke-width:1.7;stroke-dasharray:5 7;filter:drop-shadow(0 0 5px rgba(61,127,255,.22))}
.eh-path-soft{stroke:#6ba0ff;opacity:.5;stroke-dasharray:2 8}
.eh-node circle,.eh-block rect{fill:#071d3d;stroke:#6095ef;stroke-width:1.4}
.eh-block-main rect{fill:#0b2a59;stroke:#72a4ff;stroke-width:1.8;filter:drop-shadow(0 0 14px rgba(30,91,255,.14))}
.eh-block path,.eh-node path{fill:none;stroke:#7eacff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.eh-node text,.eh-block text{fill:#86a9dc;font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em}
.eh-pulse circle{fill:#71a1ff;filter:drop-shadow(0 0 7px rgba(77,132,255,.8))}
.engineering-why{background:#fff}
.engineering-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:46px}
.canonical-card{position:relative;background:#fff;border:1px solid var(--rf-ui-border,var(--border));border-radius:var(--rf-radius-card,14px);padding:26px;box-shadow:0 0 0 rgba(16,30,47,0);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.canonical-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(16,30,47,.08);border-color:rgba(30,91,255,.22)}
.canonical-card-head{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:start}
.canonical-card-head h3{font-size:18px;line-height:1.25;margin:4px 0 7px;color:var(--ink)}
.canonical-card-head p{font-size:13px;line-height:1.6;color:#647286;margin:0}
.canonical-icon{width:58px;height:58px;border:1px solid #9ebcff;border-radius:9px;display:grid;place-items:center;background:#fff}
.canonical-icon svg{width:34px;height:34px;fill:none;stroke:#376fff;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.canonical-card>.signal-tag{display:inline-flex;margin-top:22px}
.engineering-page-ref{padding-top:104px;padding-bottom:106px}
.engineering-page-ref .engineering-top{align-items:center}
.engineering-page-ref .ref-system{margin-top:6px}
.engineering-stages-section{background:#fff}
.engineering-stages-section .inner-heading{max-width:900px;margin-inline:auto}
.engineering-stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.sequence-card{min-height:232px;padding-top:22px}
.sequence-no{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.14em;color:#4178dc;margin-bottom:16px}
.engineering-practice-section{background:#fbfcfe;border-top:1px solid var(--border)}
.engineering-outcomes>div{grid-template-columns:minmax(210px,.58fr) 1fr}
.engineering-where-section{padding-top:96px;padding-bottom:96px}
.engineering-where-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:42px}
.engineering-where-grid .canonical-card{min-height:230px}
.engineering-related-expertise{padding-top:92px;padding-bottom:98px}
.engineering-related-grid{margin-top:40px}
.engineering-related-grid .related-panel h3{margin-bottom:24px}

@media(max-width:1180px){
  .engineering-page-hero-layout{grid-template-columns:1fr;gap:34px}.engineering-hero-map{max-width:820px;width:100%;justify-self:center}
  .engineering-value-grid,.engineering-where-grid{grid-template-columns:1fr 1fr}.engineering-stage-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .engineering-page-hero{padding:126px 0 72px}.engineering-page-hero-layout{grid-template-columns:1fr}.engineering-hero-map{height:300px;overflow:hidden}.engineering-hero-map svg{width:120%;max-width:none}
  .engineering-value-grid,.engineering-stage-grid,.engineering-where-grid{grid-template-columns:1fr}.canonical-card{padding:22px}.canonical-card-head{grid-template-columns:54px 1fr}.canonical-icon{width:54px;height:54px}.canonical-icon svg{width:31px;height:31px}
  .engineering-outcomes>div{grid-template-columns:1fr}.engineering-outcomes p{grid-column:auto}
}
.main-nav>a.is-current:after{right:0}

/* ==============================================================
   v2.8 CANONICAL SEMANTIC FOOTER BAR
   --------------------------------------------------------------
   Content cards use exactly ONE pastel semantic footer bar.
   The bar width is determined by the card text column — never by
   label length. Multiple concepts share one bar using a centered
   dot delimiter. Real flow/process controls remain exceptions.
   ============================================================= */
:root{
  --rf-semantic-bar-min-h:27px;
  --rf-semantic-bar-pad-y:6px;
  --rf-semantic-bar-pad-x:10px;
  --rf-card-icon-gap:16px;
  --rf-card-text-offset:calc(var(--rf-ui-icon-size) + var(--rf-card-icon-gap));
}

/* Shared bar primitive. */
.semantic-footer,
.pillar-card .status,
.expertise-card-v2 .expertise-kicker,
.company-fact-card .company-fact-label,
.expertise-detail-card .micro-label,
.signal-card .signal-tag,
.canonical-card > .signal-tag{
  min-height:var(--rf-semantic-bar-min-h);
  padding:var(--rf-semantic-bar-pad-y) var(--rf-semantic-bar-pad-x);
  border-radius:5px;
  font-family:var(--rf-ui-mono);
  font-size:9px!important;
  line-height:1.15;
  letter-spacing:.085em;
  text-transform:uppercase;
  font-weight:720;
  display:flex;
  align-items:center;
  white-space:normal;
}

/* Semantic palette utility for the new one-bar markup. */
.semantic-blue{background:var(--rf-pastel-blue-bg);border:1px solid var(--rf-pastel-blue-border);color:var(--rf-pastel-blue-text)}
.semantic-green{background:var(--rf-pastel-green-bg);border:1px solid var(--rf-pastel-green-border);color:var(--rf-pastel-green-text)}
.semantic-amber{background:var(--rf-pastel-amber-bg);border:1px solid var(--rf-pastel-amber-border);color:var(--rf-pastel-amber-text)}
.semantic-violet{background:var(--rf-pastel-violet-bg);border:1px solid var(--rf-pastel-violet-border);color:var(--rf-pastel-violet-text)}

/* Who We Are is still the reference: full width of the text column. */
.pillar-card .status{
  justify-self:stretch;
  width:100%;
}

/* Homepage Expertise: footer belongs to the text column, not the whole card. */
.expertise-card-v2 .expertise-kicker{
  grid-column:2;
  grid-row:4;
  justify-self:stretch;
  width:100%;
  margin:18px 0 0;
}

/* Applied R&D: one footer bar per stage; number remains progression-only. */
.rnd-stage-v2 .semantic-footer{
  grid-column:2;
  grid-row:4;
  align-self:end;
  justify-self:stretch;
  width:100%;
  margin:18px 0 0;
}
/* Old multi-chip/label elements are intentionally retired in v2.8. */
.rnd-stage-v2 .rnd-stage-label,
.rnd-stage-v2 .rnd-stage-tags{display:none!important}

/* Ventures: keep the technical visual, make the body a calm card anatomy. */
.venture-card-v2{display:flex;flex-direction:column}
.venture-card-body{flex:1;width:100%;display:flex;flex-direction:column;align-items:stretch}
.venture-card-body h3{order:1}
.venture-card-body>p{order:2}
.venture-card-body .semantic-footer{order:3;width:100%;margin-top:auto}
.venture-card-body .venture-domains,
.venture-card-body .venture-title-row{display:none!important}

/* Company mini-cards: preserve vertical 3-card composition; footer settles
   at the bottom of the text column and spans that column consistently. */
.company-fact-card{align-items:stretch}
.company-fact-card>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.company-fact-card b{order:1;margin:2px 0 4px}
.company-fact-card small{order:2;margin-bottom:12px}
.company-fact-card .company-fact-label{
  order:3;
  width:100%;
  max-width:none;
  margin:auto 0 0;
}

/* Expertise landing cards: keep the 2x2 structure. The pastel category bar
   uses the text column width; the navigation link remains a separate action. */
.expertise-detail-card{
  grid-template-rows:auto auto 1fr auto auto;
}
.expertise-detail-card .micro-label{
  grid-column:2;
  grid-row:4;
  width:100%;
  justify-self:stretch;
  margin:18px 0 0;
}
.expertise-detail-card>a,
.expertise-detail-card>.planned-link{
  grid-column:2;
  grid-row:5;
  margin:10px 0 0;
}

/* Detail-page Problem Signal content cards already have one semantic label.
   Make that single label the canonical text-column-width footer. */
.signal-card .signal-tag{
  grid-column:2;
  grid-row:4;
  width:100%;
  justify-self:stretch;
  margin-top:16px;
}

/* Engineering content cards (Why discipline / Six stages / Where it applies)
   already carry one semantic tag. Align it with the text column. */
.canonical-card > .signal-tag{
  width:calc(100% - var(--rf-card-text-offset));
  margin:20px 0 0 var(--rf-card-text-offset);
  justify-content:flex-start;
}

/* Do not convert these real-system/process surfaces into footer bars. */
.ref-detail-signals span,
.tag-row-v2 span,
.layer-step span,
.approach-step>span,
.diagnostic-steps span,
.problem-option span{
  /* intentional exceptions — preserve their local interaction/process grammar */
}

@media(max-width:760px){
  :root{--rf-card-text-offset:68px}
  .expertise-card-v2 .expertise-kicker,
  .rnd-stage-v2 .semantic-footer,
  .expertise-detail-card .micro-label,
  .signal-card .signal-tag{
    grid-column:2;
  }
  .canonical-card > .signal-tag{
    width:calc(100% - var(--rf-card-text-offset));
    margin-left:var(--rf-card-text-offset);
  }
}

/* ==============================================================
   v2.9 — TEXT-COLUMN DISCIPLINE + BOTTOM-LOCKED SEMANTIC BARS
   --------------------------------------------------------------
   1) Expertise capability lists stay in the same text column as
      title/copy; they no longer run beneath the icon column.
   2) Engineering content-card semantic bars are bottom-locked so
      sibling cards finish on one calm horizontal rhythm.
   ============================================================= */

/* Homepage Expertise — icon remains the left anchor; every textual
   element (title, copy, list, semantic footer) lives in column 2. */
.expertise-card-v2 .expertise-card-head{
  grid-column:1;
  grid-row:1 / 5;
  align-self:start;
}
.expertise-card-v2 ul{
  grid-column:2;
  grid-row:3;
  width:100%;
  margin:16px 0 0;
  padding:16px 0 0 18px;
  border-top:1px solid #E9EEF5;
}
.expertise-card-v2 .expertise-kicker{
  grid-column:2;
  grid-row:4;
  align-self:end;
  margin-top:18px;
}

/* Expertise landing — same rule at the larger 2x2 card scale. */
.expertise-detail-card .detail-icon{
  grid-column:1;
  grid-row:1 / 5;
  align-self:start;
}
.expertise-detail-card ul{
  grid-column:2;
  grid-row:3;
  width:100%;
  margin:16px 0 0;
  padding:16px 0 0 18px;
  border-top:1px solid #E9EEF5;
}
.expertise-detail-card .micro-label{
  grid-column:2;
  grid-row:4;
  align-self:end;
}
.expertise-detail-card>a,
.expertise-detail-card>.planned-link{
  grid-column:2;
  grid-row:5;
}

/* Engineering canonical cards — semantic footer bars settle at the
   bottom regardless of title/copy length. This makes each sibling
   row finish on one consistent baseline. */
.canonical-card{
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.canonical-card .canonical-card-head{
  flex:0 0 auto;
}
.canonical-card > .signal-tag{
  flex:0 0 auto;
  align-self:stretch;
  margin-top:auto;
  margin-left:var(--rf-card-text-offset);
  width:calc(100% - var(--rf-card-text-offset));
}
.sequence-card .sequence-no{
  flex:0 0 auto;
}

@media(max-width:760px){
  .expertise-card-v2 .expertise-card-head,
  .expertise-detail-card .detail-icon{
    grid-row:1 / 5;
  }
  .canonical-card > .signal-tag{
    margin-left:var(--rf-card-text-offset);
    width:calc(100% - var(--rf-card-text-offset));
  }
}

/* ==============================================================
   v3.0 — APPLIED R&D DETAIL PAGE
   --------------------------------------------------------------
   Uses the locked Reformeta design authority:
   - light canonical content cards
   - dark canonical engineering surfaces
   - bold square technical iconography
   - one bottom-locked semantic footer bar per content card
   - numbers only for genuine progression
   ============================================================= */
.rnd-page-hero{padding-top:154px;padding-bottom:108px}
.rnd-page-hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.rnd-page-hero .subhero-copy h1{max-width:760px}
.rnd-hero-map{height:430px;display:flex;align-items:center;justify-content:center}
.rnd-hero-map svg{width:100%;height:100%;overflow:visible}
.rh-grid path{stroke:rgba(76,130,255,.12);stroke-width:1}
.rh-path{fill:none;stroke:#5c8cff;stroke-width:2.2;stroke-dasharray:7 8;filter:drop-shadow(0 0 6px rgba(56,116,255,.34))}
.rh-path-soft{stroke:#765dff;opacity:.62;stroke-dasharray:3 10}
.rh-node circle{fill:#0e2a5b;stroke:#6d9cff;stroke-width:2.2}.rh-node path{fill:none;stroke:#9ebdff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.rh-node text,.rh-block text{fill:#9db8e8;font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}
.rh-block rect{fill:#0d2754;stroke:#5f8eff;stroke-width:1.8}.rh-block path,.rh-block circle{fill:none;stroke:#a8c3ff;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.rh-block-main rect{fill:#102d63;filter:drop-shadow(0 0 14px rgba(60,112,255,.18))}.rh-pulse circle{fill:#5f8cff;filter:drop-shadow(0 0 8px rgba(95,140,255,.8))}

.rnd-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rnd-value-grid .canonical-card{min-height:272px}

.rnd-operating-model{position:relative;padding:104px 0 112px;overflow:hidden}
.rnd-operating-model .engineering-top{margin-bottom:54px}
.rnd-page-stage-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;position:relative}
.dark-stage-card{position:relative;display:grid;grid-template-columns:62px 1fr;gap:18px;min-height:294px;padding:28px;border:1px solid rgba(135,174,255,.22);border-radius:14px;background:rgba(12,35,71,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.018);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.dark-stage-card:hover{transform:translateY(-2px);border-color:rgba(112,157,255,.38);background:rgba(14,43,90,.72)}
.dark-stage-card.is-active{border-color:rgba(88,137,255,.62);background:linear-gradient(180deg,rgba(28,65,132,.58),rgba(12,35,71,.68))}
.stage-index{position:absolute;top:18px;right:20px;color:#6f9cff;font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em}
.dark-stage-icon{width:58px;height:58px;border:1px solid rgba(111,156,255,.42);border-radius:10px;display:grid;place-items:center;color:#82a8ff;background:rgba(21,53,108,.55)}
.dark-stage-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.dark-stage-card>div{min-width:0;display:flex;flex-direction:column;height:100%;padding-top:4px}
.dark-stage-label{margin:0 0 8px;color:#82a8ff;font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;text-transform:uppercase}
.dark-stage-card h3{font-size:21px;line-height:1.2;margin:0 0 10px;color:#fff}
.dark-stage-card p:not(.dark-stage-label){color:#aebdce;font-size:13px;line-height:1.62;margin:0 0 18px}
.dark-semantic-bar{display:flex;align-items:center;min-height:28px;margin-top:auto;border:1px solid rgba(112,157,255,.34);border-radius:6px;padding:0 11px;font:600 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;text-transform:uppercase}
.dark-semantic-bar.semantic-violet{color:#c5b4ff;border-color:rgba(161,129,255,.36);background:rgba(109,77,210,.12)}
.dark-semantic-bar.semantic-blue{color:#9dbdff;border-color:rgba(87,135,255,.38);background:rgba(48,94,194,.13)}
.dark-semantic-bar.semantic-green{color:#9ed6aa;border-color:rgba(96,181,115,.32);background:rgba(52,135,74,.12)}

.rnd-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rnd-area-grid .canonical-card{min-height:246px}
.rnd-principles-section{background:#f4f7fa}
.rnd-principle-list>div{grid-template-columns:.72fr 1.28fr}
.rnd-pathway-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rnd-pathway-grid .canonical-card{min-height:248px}
.rnd-related-expertise{padding-top:88px}

@media(max-width:1100px){
  .rnd-page-hero-layout{grid-template-columns:1fr;gap:34px}.rnd-hero-map{max-width:820px;width:100%;justify-self:center}
  .rnd-value-grid,.rnd-pathway-grid{grid-template-columns:1fr 1fr}
  .rnd-page-stage-track{grid-template-columns:1fr}
  .dark-stage-card{min-height:0}
  .rnd-area-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .rnd-page-hero{padding:126px 0 72px}.rnd-hero-map{height:300px;overflow:hidden}.rnd-hero-map svg{width:120%;max-width:none}
  .rnd-value-grid,.rnd-area-grid,.rnd-pathway-grid{grid-template-columns:1fr}
  .dark-stage-card{grid-template-columns:54px 1fr;padding:22px}.dark-stage-icon{width:54px;height:54px}.dark-stage-icon svg{width:31px;height:31px}
  .rnd-principle-list>div{grid-template-columns:1fr}.rnd-principle-list p{grid-column:auto}
}
.rnd-page-link{grid-column:1/-1;justify-self:end;margin-top:-2px;color:#17345e;text-decoration:none;font-size:13px;font-weight:700}.rnd-page-link:hover{color:#1e5bff}.rnd-page-link:focus-visible{outline:2px solid #1e5bff;outline-offset:4px;border-radius:4px}
@media(max-width:1180px){.rnd-page-link{grid-column:auto;justify-self:start}}

/* ==============================================================
   v3.1 — COMPANY DETAIL PAGE
   --------------------------------------------------------------
   Independent by design → enterprise roots → connected operating
   model → beyond consulting → operating principles → profile.
   Uses the locked v2.9 card grammar throughout.
   ============================================================= */
.company-page-hero{padding-top:154px;padding-bottom:108px}
.company-page-hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:center}
.company-page-hero .subhero-copy h1{max-width:760px}
.company-hero-model{height:430px;display:flex;align-items:center;justify-content:center}
.company-hero-model svg{width:100%;height:100%;overflow:visible}
.ch-grid path{stroke:rgba(76,130,255,.11);stroke-width:1}
.ch-route{fill:none;stroke:#5d8eff;stroke-width:1.7;stroke-dasharray:7 8;opacity:.82}
.ch-route-soft{stroke:#765dff;opacity:.52;stroke-dasharray:3 10}
.ch-route-mid{stroke:#89adff;opacity:.28;stroke-dasharray:none}
.ch-card rect{fill:#0c2550;stroke:#5d8eff;stroke-width:1.5}
.ch-card path{fill:none;stroke:#9abaff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ch-card text{fill:#fff;font:700 12px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.02em}
.ch-card text.sub{fill:#91a9cb;font:500 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
.ch-core circle:first-child{fill:#0d2a5b;stroke:#5f8fff;stroke-width:2;filter:drop-shadow(0 0 15px rgba(62,119,255,.20))}
.ch-core circle:nth-of-type(2){fill:#6f9cff;filter:drop-shadow(0 0 8px rgba(111,156,255,.8))}
.ch-core path{fill:none;stroke:#9fbdff;stroke-width:2;stroke-linecap:round}
.ch-core text{fill:#fff;text-anchor:middle;font:700 14px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.08em}
.ch-core text.sub{fill:#8fa6c8;font:600 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.ch-pulse circle{fill:#5e8fff;filter:drop-shadow(0 0 7px rgba(94,143,255,.75));animation:particleTwinkle 3.2s ease-in-out infinite}.ch-pulse circle:nth-child(2n){animation-delay:-1.4s}.ch-pulse circle:nth-child(3n){fill:#a68dff}
.company-root-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.company-root-grid .canonical-card{min-height:262px}
.company-model-section{position:relative;padding:104px 0 112px;overflow:hidden}.company-model-section .engineering-top{margin-bottom:50px}
.company-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.company-mode-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;min-height:278px;padding:24px;border:1px solid rgba(135,174,255,.22);border-radius:14px;background:rgba(12,35,71,.58);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.company-mode-card:hover{transform:translateY(-2px);border-color:rgba(112,157,255,.38);background:rgba(14,43,90,.72)}
.company-mode-card>div{display:flex;flex-direction:column;min-width:0;height:100%}
.company-mode-card h3{font-size:19px;line-height:1.23;color:#fff;margin:4px 0 9px}.company-mode-card p{color:#aebdce;font-size:12.5px;line-height:1.62;margin:0 0 18px}.company-mode-card .dark-semantic-bar{margin-top:auto}
.company-beyond-section{background:#fff}.company-beyond-list>div{grid-template-columns:.78fr 1.22fr}
.company-operating-section{background:#f4f7fa}.company-operating-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.company-operating-grid .canonical-card{min-height:265px}
.company-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.company-profile-grid .canonical-card{min-height:250px}
.company-related-section{padding-top:90px}.company-related-grid{max-width:1040px;margin-inline:auto}
@media(max-width:1180px){
  .company-page-hero-layout{grid-template-columns:1fr;gap:34px}.company-hero-model{max-width:860px;width:100%;justify-self:center}
  .company-root-grid{grid-template-columns:1fr 1fr}.company-mode-grid{grid-template-columns:1fr 1fr}.company-operating-grid{grid-template-columns:1fr 1fr}.company-profile-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .company-page-hero{padding:126px 0 72px}.company-hero-model{height:320px;overflow:hidden}.company-hero-model svg{width:122%;max-width:none}
  .company-root-grid,.company-mode-grid,.company-operating-grid,.company-profile-grid{grid-template-columns:1fr}
  .company-mode-card{min-height:0}.company-beyond-list>div{grid-template-columns:1fr}.company-beyond-list p{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.ch-pulse circle{animation:none!important}.company-mode-card{transition:none!important}}
.company-inline-link{display:inline-block;margin-top:16px;color:#17345e;text-decoration:none;font-size:13px;font-weight:700}.company-inline-link:hover{color:#1e5bff}.company-inline-link:focus-visible{outline:2px solid #1e5bff;outline-offset:4px;border-radius:4px}

/* ================================================================
   v3.2 — Contact page / problem-first intake
   ================================================================ */
.contact-hero{padding-bottom:88px}
.contact-hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:74px;align-items:center}
.contact-hero .subhero-copy h1{max-width:720px}
.contact-hero-visual{height:330px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.contact-hero-visual svg{width:112%;max-width:none;overflow:visible}
.cv-grid path{fill:none;stroke:#2f67bc;stroke-opacity:.16;stroke-width:1;stroke-dasharray:2 8}
.cv-path{fill:none;stroke:#4a83ff;stroke-width:1.4;stroke-dasharray:5 7;opacity:.78}
.cv-path-soft{stroke:#7e96ff;opacity:.42}
.cv-node rect{fill:#0b2248;fill-opacity:.74;stroke:#4d7ed1;stroke-width:1.2}
.cv-node path{fill:none;stroke:#6da0ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cv-node text{fill:#eef4ff;font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.03em}
.cv-node .sub{fill:#8fa2be;font-size:9.5px;font-weight:500;letter-spacing:0}
.cv-pulse circle{fill:#78a7ff;filter:drop-shadow(0 0 8px rgba(67,126,255,.75));animation:contactPulse 3.1s ease-in-out infinite}
.cv-pulse circle:nth-child(2){animation-delay:.8s}.cv-pulse circle:nth-child(3){animation-delay:1.5s}
@keyframes contactPulse{0%,100%{opacity:.45;transform:scale(.8);transform-origin:center}50%{opacity:1;transform:scale(1.25);transform-origin:center}}

.contact-intake-heading{margin-bottom:46px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.7fr);gap:28px;align-items:start}
.contact-form{background:#fff;border:1px solid var(--rf-ui-border,var(--border));border-radius:var(--rf-radius-card,14px);padding:34px;box-shadow:0 18px 54px rgba(16,30,47,.055)}
.contact-form-top{padding-bottom:26px;margin-bottom:28px;border-bottom:1px solid var(--border)}
.contact-form-top h3{font-size:28px;margin:7px 0 8px;color:var(--ink)}
.contact-form-top>p:last-child{color:var(--muted);margin:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field-full{grid-column:1/-1}
.field>span{font-size:13px;font-weight:700;color:var(--ink)}.field>span small{font-weight:500;color:#7a8797;margin-left:4px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid #cfd9e6;border-radius:10px;padding:13px 14px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.field select{min-height:48px}.field textarea{resize:vertical;min-height:142px;line-height:1.55}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#6f96ff;box-shadow:0 0 0 3px rgba(30,91,255,.11)}
.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:#e59c92;background:#fffafa}
.contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:28px;padding-top:26px;border-top:1px solid var(--border)}
.prototype-note{font-size:11.5px;line-height:1.55;color:#7b8796;margin:0;max-width:470px}
.contact-form-footer .btn{flex:0 0 auto}
.form-status{display:none;margin-top:18px;padding:14px 16px;border-radius:10px;font-size:13px;line-height:1.55}
.form-status.is-visible{display:block}.form-status.is-success{background:#f2fbf5;border:1px solid #bfe2c9;color:#20623a}.form-status.is-error{background:#fff7f4;border:1px solid #f0c7bd;color:#8a3e32}
.contact-context{padding:4px 0}.contact-context>h3{font-size:26px;line-height:1.2;margin:8px 0 24px;max-width:390px}.contact-context-stack{display:grid;gap:14px}
.contact-context-stack .canonical-card{min-height:0;padding:22px}.contact-context-stack .canonical-card-head{grid-template-columns:54px minmax(0,1fr);gap:14px}.contact-context-stack .canonical-icon{width:54px;height:54px}.contact-context-stack .canonical-icon svg{width:31px;height:31px}.contact-context-stack .signal-tag{margin-left:68px;width:calc(100% - 68px)}

.contact-next-section{position:relative;overflow:hidden;padding:98px 0}.contact-next-section>.shell{position:relative;z-index:2}.contact-next-top{margin-bottom:52px}
.contact-next-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:stretch}
.contact-next-flow>article{position:relative;min-height:226px;padding:28px;background:rgba(15,42,82,.76);border:1px solid rgba(109,150,219,.26);border-radius:14px;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.contact-next-flow>article:hover{transform:translateY(-2px);border-color:rgba(112,158,235,.5);background:rgba(17,48,94,.88)}
.contact-next-flow>i{font-style:normal;align-self:center;color:#6f9cff;font-size:20px}
.contact-next-flow .seq{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#5f8fff;margin-bottom:17px}
.contact-next-flow .dark-stage-icon{margin-bottom:18px}
.contact-next-flow h3{font-size:18px;margin:0 0 8px;color:#fff}.contact-next-flow p{font-size:13px;line-height:1.62;color:#9fb0c8;margin:0}
.contact-explore-section{background:#f4f7fa}.contact-related-grid{max-width:980px;margin-inline:auto}
.site-footer a.is-current{color:#fff;font-weight:700}

@media(max-width:980px){.contact-hero-layout{grid-template-columns:1fr;gap:30px}.contact-hero-visual{height:290px}.contact-layout{grid-template-columns:1fr}.contact-context-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-context-stack .canonical-card{min-height:230px}.contact-context-stack .signal-tag{margin-left:0;width:100%}.contact-next-flow{grid-template-columns:1fr}.contact-next-flow>i{transform:rotate(90deg);justify-self:center}.contact-next-flow>article{min-height:0}}
@media(max-width:760px){.contact-hero{padding-bottom:62px}.contact-hero-visual{height:245px}.contact-hero-visual svg{width:150%;transform:translateX(-7%)}.contact-form{padding:24px 20px}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.contact-form-footer{display:block}.contact-form-footer .btn{width:100%;margin-top:18px}.contact-context-stack{grid-template-columns:1fr}.contact-context-stack .canonical-card{min-height:0}.contact-context-stack .signal-tag{margin-left:68px;width:calc(100% - 68px)}.contact-next-section{padding:76px 0}}
@media(prefers-reduced-motion:reduce){.cv-pulse circle{animation:none!important}.contact-next-flow>article{transition:none!important}}


/* ================================================================
   v3.3 — PROBLEMS LIBRARY + UNRELIABLE REPORTING
   ================================================================ */
.problems-hero{padding-bottom:94px}.problems-hero-layout,.problem-detail-hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:center}.problems-hero .subhero-copy h1,.problem-detail-hero .subhero-copy h1{max-width:760px}.problems-hero-map,.reporting-break-map{height:390px;display:flex;align-items:center;justify-content:center}.problems-hero-map svg,.reporting-break-map svg{width:100%;height:100%;overflow:visible}.pl-grid path,.rb-grid path{fill:none;stroke:#2f67bc;stroke-opacity:.14;stroke-width:1;stroke-dasharray:2 8}.pl-path path,.rb-path{fill:none;stroke:#4d83ff;stroke-width:1.5;opacity:.72;stroke-dasharray:5 7}.pl-source circle,.pl-pulse circle,.rb-pulse circle{fill:#75a5ff;filter:drop-shadow(0 0 8px rgba(75,130,255,.75))}.pl-core rect,.pl-output rect,.rb-node rect{fill:#0b2248;fill-opacity:.82;stroke:#4d7ed1;stroke-width:1.2}.pl-core path{fill:none;stroke:#76a5ff;stroke-width:2;stroke-linecap:round}.pl-core text,.pl-output text,.rb-node text{fill:#eef4ff;text-anchor:middle;font:700 11px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.06em}.pl-output text{font-size:10px}.rb-node .sub{fill:#8fa6c8;font-size:8.5px;font-weight:500;letter-spacing:0}.rb-break circle{fill:#ff6e72;opacity:.85;filter:drop-shadow(0 0 6px rgba(255,70,80,.5))}
.problem-library-section{background:#fff}.problem-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:48px}.problem-library-card{min-height:286px;scroll-margin-top:100px}.problem-library-card>a,.problem-expertise-link{margin:18px 0 16px var(--rf-card-text-offset);font-size:12px;font-weight:750;color:#1e5bff;text-decoration:none}.problem-library-card>a:hover,.problem-expertise-link:hover{text-decoration:underline}.problem-library-card:target{border-color:#7aa2ff;box-shadow:0 0 0 3px rgba(30,91,255,.08),0 12px 32px rgba(16,30,47,.08)}
.problem-cross-section{padding:96px 0}.problem-cross-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.problem-cross-copy h2{font-size:clamp(36px,3.4vw,54px);max-width:600px;margin:8px 0 20px}.problem-cross-copy>p:last-child{max-width:620px;color:#aebdce;line-height:1.7}.problem-cross-map{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:13px;align-items:stretch}.problem-cross-map>i{align-self:center;font-style:normal;color:#6f9cff}.dark-problem-node,.dark-problem-card{background:rgba(15,42,82,.72);border:1px solid rgba(109,150,219,.26);border-radius:14px;padding:24px;transition:transform .2s ease,border-color .2s ease,background .2s ease}.dark-problem-node:hover,.dark-problem-card:hover{transform:translateY(-2px);border-color:rgba(112,158,235,.48);background:rgba(17,48,94,.86)}.dark-problem-node span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:#6fa0ff}.dark-problem-node b{display:block;color:#fff;font-size:16px;margin:12px 0 7px}.dark-problem-node small{color:#9fb0c8;line-height:1.55}.problem-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}.problem-use-grid .canonical-card{min-height:246px}
.problem-detail-hero{padding-bottom:92px}.back-link{display:inline-block;color:#8fb3ff;text-decoration:none;font-size:12px;font-weight:700;margin-bottom:22px}.back-link:hover{color:#fff}.problem-detail-grid,.reporting-good-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}.problem-detail-grid .canonical-card{min-height:252px}.problem-detail-grid .signal-tag,.reporting-good-grid .signal-tag{margin-top:auto}.reporting-breakdown-section{padding:96px 0}.reporting-breakdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:44px}.dark-problem-card{min-height:238px}.dark-problem-card .dark-stage-icon{margin-bottom:20px}.dark-problem-card h3{color:#fff;font-size:18px;margin:0 0 9px}.dark-problem-card p{color:#9fb0c8;font-size:13px;line-height:1.62;margin:0}.reporting-diagnostic-section{background:#fff}.reporting-question-list{max-width:1080px;margin:44px auto 0;border-top:1px solid var(--border)}.reporting-question-list>div{display:grid;grid-template-columns:52px minmax(220px,.7fr) 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--border);align-items:start}.reporting-question-list span{font-family:var(--mono);font-size:10px;color:#3e78e8;letter-spacing:.12em}.reporting-question-list b{font-size:15px;color:var(--ink)}.reporting-question-list p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.reporting-good-section{background:#f4f7fa}.reporting-good-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reporting-good-grid .canonical-card{min-height:248px}.reporting-expertise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1060px;margin:44px auto 0}.reporting-expertise-grid .canonical-card{min-height:270px}.reporting-help-section{padding:90px 0}.reporting-help-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.reporting-help-layout h2{font-size:clamp(36px,3.2vw,52px);margin:8px 0 18px;max-width:620px}.reporting-help-layout p{color:#aebdce;line-height:1.7;max-width:620px}.reporting-help-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.reporting-help-list>div{padding:20px 22px;border:1px solid rgba(109,150,219,.26);border-radius:12px;background:rgba(15,42,82,.68);color:#dbe6f5;font-size:13px;line-height:1.55}
@media(max-width:1100px){.problems-hero-layout,.problem-detail-hero-layout{grid-template-columns:1fr;gap:28px}.problems-hero-map,.reporting-break-map{max-width:820px;width:100%;justify-self:center}.problem-library-grid{grid-template-columns:1fr 1fr}.problem-cross-layout{grid-template-columns:1fr}.reporting-breakdown-grid,.reporting-good-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.problems-hero,.problem-detail-hero{padding-bottom:68px}.problems-hero-map,.reporting-break-map{height:280px;overflow:hidden}.problems-hero-map svg,.reporting-break-map svg{width:130%;max-width:none}.problem-library-grid,.problem-use-grid,.problem-detail-grid,.reporting-breakdown-grid,.reporting-good-grid,.reporting-expertise-grid{grid-template-columns:1fr}.problem-library-card,.problem-detail-grid .canonical-card,.reporting-good-grid .canonical-card,.reporting-expertise-grid .canonical-card{min-height:0}.problem-cross-map{grid-template-columns:1fr}.problem-cross-map>i{transform:rotate(90deg);justify-self:center}.reporting-question-list>div{grid-template-columns:40px 1fr}.reporting-question-list p{grid-column:2}.reporting-help-layout{grid-template-columns:1fr}.reporting-help-list{grid-template-columns:1fr}.problem-library-card>a,.problem-expertise-link{margin-left:68px}}
@media(prefers-reduced-motion:reduce){.dark-problem-node,.dark-problem-card{transition:none!important}}


/* v3.5 — Production readiness: legal pages and integration states */
.legal-hero{padding:150px 0 64px;border-bottom:1px solid var(--border)}
.legal-hero h1{font-size:clamp(44px,4vw,62px);margin-bottom:16px}.legal-lead{font-size:18px;color:var(--muted);max-width:720px}
.legal-section{padding:76px 0 110px}.legal-layout{display:grid;grid-template-columns:260px minmax(0,820px);gap:80px;align-items:start;justify-content:center}
.legal-aside{position:sticky;top:110px;border-top:2px solid var(--blue);padding-top:18px;color:var(--muted);font-size:13px}.legal-aside strong{display:block;color:var(--ink);font-size:15px;margin-bottom:12px}.legal-aside .eyebrow{margin-bottom:7px}
.legal-content h2{font-size:28px;margin:0 0 12px;padding-top:8px}.legal-content p{color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:34px}.legal-content a{color:#1556e8;text-underline-offset:3px}
.contact-form button:disabled{opacity:.62;cursor:wait;transform:none}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:36px}.legal-aside{position:static}.legal-hero{padding-top:128px}}

/* ==============================================================
   v3.5.1 PRE-STAGING VISUAL CLEANUP
   --------------------------------------------------------------
   Small alignment / hierarchy corrections only. No redesign.
   ============================================================= */

/* 1) Homepage Company: semantic footer bars are truly bottom-locked. */
.company-fact-card{
  min-height:128px;
  align-items:stretch;
}
.company-fact-card>div{
  height:100%;
  min-height:94px;
}
.company-fact-card small{
  margin-bottom:8px;
}
.company-fact-card .company-fact-label{
  margin-top:auto;
  margin-bottom:0;
}

/* 2) Homepage Company: center the shorter narrative against the taller facts stack. */
.company-copy-v2{
  align-self:center;
}

/* 4) Applied R&D: keep the section focused on the three cards and one compact footer row. */
.rnd-intro-v2{
  display:block;
  max-width:700px;
  align-self:end;
}
.rnd-bottom{
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
}
.rnd-focus-label{white-space:nowrap}
.rnd-closing{display:none!important}
.rnd-page-link{
  grid-column:auto;
  justify-self:end;
  margin-top:0;
  white-space:nowrap;
}

/* 5) REF stage connector is intentionally passive from end to end. */
.ref-track{
  background:rgba(71,128,225,.20);
}
.ref-track span{
  display:none!important;
}

@media(max-width:1180px){
  .company-copy-v2{align-self:start}
  .rnd-bottom{grid-template-columns:1fr;align-items:start;gap:14px}
  .rnd-focus-label{white-space:normal}
  .rnd-page-link{justify-self:start}
}

@media(max-width:760px){
  .company-fact-card{min-height:0}
  .company-fact-card>div{min-height:0}
}

/* ==============================================================
   v3.6.2 STAGING QA — CANONICAL 50/50 SPLIT-INTRO ALIGNMENT
   --------------------------------------------------------------
   Two-column section introductions use one shared desktop rhythm:
   equal columns, equal top alignment, and a consistent gutter.
   Hero, diagnostic, process-map and content-vs-data compositions
   remain intentional exceptions.
   ============================================================== */
:root{
  --rf-split-intro-gap:clamp(48px,5.5vw,82px);
}

/* Canonical paired section introductions. */
.engineering-top,
.split-heading,
.symptom-head,
.rnd-header-v2,
.ventures-header{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:var(--rf-split-intro-gap);
  align-items:start;
}

/* Both sides begin at the same vertical origin and may use the
   full width of their 50% column instead of carrying old offsets. */
.engineering-top > *,
.split-heading > *,
.symptom-head > *,
.rnd-header-v2 > *,
.ventures-header > *{
  min-width:0;
  align-self:start;
}

.engineering-top .ref-summary{
  max-width:none;
  width:100%;
  justify-self:stretch;
}

.split-heading > p,
.symptom-head > p,
.ventures-header > p{
  max-width:none;
  margin-top:0;
}

.rnd-header-v2 .rnd-intro-v2{
  max-width:none;
  width:100%;
  align-self:start;
}

@media(max-width:1180px){
  :root{--rf-split-intro-gap:30px}
}

/* Preserve the existing responsive collapse after the desktop
   standard above; the 50/50 rule is desktop-only. */
@media(max-width:1180px){
  .engineering-top,
  .split-heading,
  .symptom-head,
  .rnd-header-v2,
  .ventures-header{
    grid-template-columns:1fr;
    gap:30px;
  }
}

/* ==============================================================
   v3.6.3 STAGING RESPONSIVE NAVIGATION PATCH
   Tablet-safe navigation: collapse the desktop nav at <= 900px.
   This prevents the Expertise details menu from expanding inside
   the fixed desktop header and clipping its first items at 768px.
   ============================================================== */
@media (max-width:900px){
  .site-header{height:70px}
  .brand{width:160px}
  .menu-toggle{display:block;color:#fff}
  .site-header.scrolled .menu-toggle,
  .site-header.header-on-light .menu-toggle{color:var(--ink)}
  .site-header.header-on-dark .menu-toggle{color:#fff}

  .main-nav{
    display:none;
    position:absolute;
    top:70px;
    left:18px;
    right:18px;
    max-height:calc(100vh - 88px);
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    color:var(--ink);
    border:1px solid var(--border);
    border-radius:12px;
    padding:14px;
    box-shadow:0 20px 60px rgba(7,26,54,.16);
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .main-nav.is-open{display:flex}
  .main-nav>a{padding:13px 8px}
  .nav-details{width:100%}
  .nav-details summary{padding:13px 8px}
  .nav-dropdown{
    position:static;
    width:100%;
    margin:4px 0 8px;
    padding:8px;
    background:#f7f9fc!important;
    border-color:var(--border)!important;
    box-shadow:none;
  }
  .nav-dropdown a{padding:10px}
  .site-header.header-on-dark .main-nav{
    background:#071a36;
    color:#fff;
    border-color:rgba(255,255,255,.12)
  }
  .site-header.header-on-dark .nav-dropdown{
    background:rgba(255,255,255,.04)!important;
    border-color:rgba(255,255,255,.10)!important
  }
}

/* ==============================================================
   v3.6.4 STAGING MOBILE HERO PORTAL CENTERING PATCH
   At phone widths the full architecture visual must remain inside
   the viewport. Remove the older oversized/cropped mobile treatment
   and center the complete SVG without desktop translation offsets.
   ============================================================== */
@media (max-width:760px){
  .hero .portal-wrap{
    width:100%;
    max-width:100%;
    margin:18px auto 0;
    overflow:visible;
    justify-content:center;
  }
  .hero .portal-stage{
    width:100%;
    max-width:100%;
    transform:none;
    margin-inline:auto;
  }
  .hero .portal-live,
  .hero .portal-image{
    width:100%;
    max-width:100%;
    transform:none;
    object-position:center center;
  }
}

/* ==============================================================
   v3.6.5 STAGING QA — COMPANY MINI-CARD SAFARI BOTTOM LOCK
   --------------------------------------------------------------
   Safari can shrink-wrap a percentage-height flex child inside a
   CSS grid item. Give the card one explicit flexible row and let
   the text column stretch naturally so the semantic footer can
   use margin-top:auto consistently across browsers.
   ============================================================== */
.company-fact-card{
  grid-auto-rows:1fr;
}
.company-fact-card>div{
  height:auto;
  align-self:stretch;
}
@media(max-width:760px){
  .company-fact-card{
    min-height:128px;
    grid-auto-rows:1fr;
  }
  .company-fact-card>div{
    height:auto;
    min-height:0;
    align-self:stretch;
  }
}

/* ==============================================================
   v3.6.6 STAGING QA — MOBILE COMPANY FOOTER HARD LOCK
   --------------------------------------------------------------
   WebKit/Safari may still shrink-wrap the nested flex text column.
   On phone widths, anchor the single semantic footer directly to
   the card bottom and reserve its space in normal flow. This keeps
   the footer aligned to the text column without browser-dependent
   percentage-height/flex calculations.
   ============================================================== */
@media(max-width:760px){
  .company-fact-card{
    position:relative;
    grid-auto-rows:auto;
    align-items:start;
    min-height:0;
  }
  .company-fact-card>div{
    position:static;
    height:auto;
    min-height:0;
    padding-bottom:50px;
  }
  .company-fact-card .company-fact-label{
    position:absolute;
    left:78px;
    right:15px;
    bottom:15px;
    width:auto;
    max-width:none;
    margin:0;
  }
}

/* ==============================================================
   v3.6.8 STAGING QA — COMPANY MINI-CARD GRID FOOTER LOCK
   --------------------------------------------------------------
   Replace the accumulated flex/height/mobile-position workarounds
   with one deterministic grid. Icon stays left; title/copy stay in
   the text column; one flexible spacer row pushes the semantic bar
   to the bottom of that same text column in every browser.
   ============================================================== */
.company-fact-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  grid-template-rows:auto auto minmax(12px,1fr) auto;
  column-gap:15px;
  row-gap:3px;
  align-items:start;
  min-height:128px;
  position:relative;
}
.company-fact-card>div{
  display:contents;
  height:auto;
  min-height:0;
  padding:0;
}
.company-fact-card .company-fact-icon{
  grid-column:1;
  grid-row:1 / 5;
  align-self:start;
}
.company-fact-card b{
  grid-column:2;
  grid-row:1;
  align-self:start;
  margin:2px 0 4px;
}
.company-fact-card small{
  grid-column:2;
  grid-row:2;
  align-self:start;
  margin:0!important;
}
.company-fact-card .company-fact-label{
  grid-column:2;
  grid-row:4;
  align-self:end;
  justify-self:stretch;
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%;
  max-width:none;
  margin:0!important;
}
@media(max-width:1180px){
  .company-fact-card{
    grid-template-columns:48px minmax(0,1fr);
  }
}
@media(max-width:760px){
  .company-fact-card{
    min-height:128px;
    grid-auto-rows:unset;
  }
}


/* v3.7 / v4.0 — Secure contact intake */
.form-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.turnstile-row{margin-top:22px;min-height:65px;display:flex;align-items:center}
.prototype-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){.turnstile-row{margin-top:18px;overflow:hidden}}

.site-footer a[hidden]{display:none!important}
