/* SFn Consortium v5.1 — Sovereign neutral art direction
   Intent: serious, architectural, cold-neutral, typography-led. No red-led identity. */
:root{
  --paper:#f5f5f2;
  --paper-2:#ececea;
  --paper-3:#dedfdd;
  --ink:#0a0a0a;
  --muted:#666866;
  --line:#cfd1cf;
  --line-dark:#2a2b2a;
  --accent:#2f52ff;
  --accent-strong:#203fd6;
  --accent-soft:#e7ebff;
  --dark:#090909;
  --white:#ffffff;
  --radius:2px;
  --radius-sm:2px;
  --shadow:0 28px 80px rgba(0,0,0,.09);
  --ease:cubic-bezier(.22,.78,.22,1);
  font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
html{background:var(--paper)}
body{background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;letter-spacing:-.006em}
body,button,input,textarea,select{font-family:inherit}
::selection{background:var(--ink);color:var(--white)}

/* Eliminate soft/beauty-brand residue. */
.site-header{background:rgba(245,245,242,.94)!important;border-color:rgba(10,10,10,.14)!important;backdrop-filter:blur(18px) saturate(120%)}
.brand{gap:10px}.brand b{font-size:24px!important;line-height:1;font-weight:600!important;letter-spacing:-.075em!important}.brand span{font-size:11px!important;letter-spacing:.02em;color:#5d5f5d!important}
.nav-link{border-radius:0!important;font-size:13px!important;font-weight:500!important;color:#444644!important;padding-inline:11px!important}
.nav-link:hover,.nav-link[aria-current="page"]{background:transparent!important;color:#000!important;box-shadow:inset 0 -1px 0 var(--ink)}
.nav-command-key{border:1px solid #bbbdbb!important;border-radius:2px!important;background:transparent!important;color:#545654!important}
.nav-cta,.btn{border-radius:2px!important;font-weight:600!important;letter-spacing:-.01em!important}
.nav-cta,.btn.primary{background:#0a0a0a!important;color:#fff!important;border:1px solid #0a0a0a!important}
.nav-cta:hover,.btn.primary:hover{background:#1a1a1a!important;border-color:#1a1a1a!important}
.btn.secondary{background:transparent!important;color:#111!important;border:1px solid #aeb0ae!important}
.btn.secondary:hover{border-color:#0a0a0a!important;background:#fff!important}
.btn:focus-visible,.nav-link:focus-visible,.nav-cta:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent)!important;outline-offset:3px!important}
.mobile-toggle{border-radius:0!important}
.mobile-panel{background:var(--paper)!important;border-color:#cfd1cf!important}
.mobile-panel a{border-color:#d6d7d5!important}
.mobile-panel .mobile-cta{border-radius:2px!important;background:#0a0a0a!important}

/* Typography: quiet authority rather than novelty. */
.eyebrow,.v5-kicker{font-family:inherit!important;text-transform:none!important;letter-spacing:.01em!important;font-size:12px!important;font-weight:600!important;color:#5f615f!important}
h1,h2,h3,h4{font-family:inherit!important;color:inherit;font-weight:500!important;text-wrap:balance}
.hero h1,.page-hero h1{font-weight:500!important;letter-spacing:-.065em!important}
.page-hero h1{max-width:1100px!important}
.page-hero p,.hero p,.section-heading p,.narrow-copy p{color:#5c5f5d!important}
.section-heading h2,.narrow-copy h2,.split-feature h2,.guided-band h2{letter-spacing:-.045em!important;font-weight:500!important}
.text-action,.text-link{font-weight:600!important}

/* Layout: flatter, more editorial, less component-library. */
.section{border-radius:0!important}
.page-hero{border-color:#cfd1cf!important}
.home-service-row,.service-choice-row,.software-row-v3,.catalogue-row,.related-destination,.principle-list>div,.workflow-v3>div,.simple-steps>div{border-color:#cfd1cf!important;border-radius:0!important}
.industry-pill,.software-family-chip,.choice,.industry-card,.industry-card-v2,.project-card-v2,.testimonial-v2,.v3-contact-form,.searchbox,input,textarea,select{border-radius:2px!important}
.industry-pill{background:transparent!important;border-color:#cfd1cf!important}
.industry-pill:hover{background:#fff!important;border-color:#777!important}
.software-family-chip[aria-pressed="true"],.choice.selected{background:#0a0a0a!important;border-color:#0a0a0a!important;color:#fff!important}
.searchbox:focus-within{border-color:var(--accent)!important;box-shadow:0 0 0 2px rgba(47,82,255,.14)!important}
input,textarea,select{background:#fff!important;border-color:#bbbdbb!important}

/* No warm beige. */
.process,.software-home-v3,.guided-band,.service-category-v3:nth-child(even){background:var(--paper-2)!important}
.final-cta,.site-footer{background:#090909!important;color:#f7f7f5!important}
.final-cta .eyebrow,.site-footer h3{color:#989b98!important}
.site-footer p,.footer-bottom{color:#8c8f8c!important}
.site-footer a{color:#d3d4d2!important}.site-footer a:hover{color:#fff!important}

/* Homepage company/service sections: strong lines, little ornament. */
.company-home-grid{gap:clamp(44px,8vw,120px)!important}
.company-home-system{border-top:1px solid #aeb0ae!important}
.company-home-line{grid-template-columns:42px 180px 1fr!important;border-bottom:1px solid #cfd1cf!important;padding:22px 0!important}
.company-home-line>span{font-variant-numeric:tabular-nums;color:#818381!important;font-size:11px!important}
.company-home-line strong{font-size:14px!important;font-weight:600!important}
.company-home-line p{margin:0!important;font-size:13px!important;color:#626462!important;line-height:1.55!important}
.home-service-list{border-top:1px solid #9da09d!important}
.home-service-row{border-bottom:1px solid #cfd1cf!important}
.home-service-index{color:#8d8f8d!important}
.workflow-v3{border-top:1px solid #aaa!important}
.workflow-v3>div{background:transparent!important}
.workflow-v3>div span{color:#8a8c8a!important}
.principle-list{border-top:1px solid #aaa!important}

/* Project dock / dialogs */
.project-dock{border-radius:2px!important;background:#0a0a0a!important;box-shadow:0 16px 50px rgba(0,0,0,.2)!important}
.project-dialog,.guide-dialog{border-radius:2px!important;background:#f5f5f2!important;border:1px solid #aaa!important;box-shadow:0 30px 90px rgba(0,0,0,.24)!important}
.dialog-shell>header,.dialog-shell>footer{border-color:#cfd1cf!important}
.icon-close{border-radius:0!important}

/* ----------------------------------------------------------------------
   Homepage scroll hero — monochrome interface theatre with sparse cobalt.
   ---------------------------------------------------------------------- */
.v5-scroll-hero{position:relative!important;display:block!important;padding:0!important;min-height:820svh!important;background:#f5f5f2!important;border-bottom:1px solid #c7c9c7!important;overflow:clip!important}
.v5-stage{position:sticky;top:72px;height:calc(100svh - 72px);min-height:620px;overflow:hidden;background:#f5f5f2;color:#0a0a0a;isolation:isolate}
.v5-field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.72}
.v5-rule{position:absolute;left:0;right:0;top:0;height:1px;background:#c9cbc9;z-index:3}
.v5-rail{position:absolute;left:24px;right:24px;bottom:18px;display:flex;justify-content:space-between;gap:24px;color:#777a77;font-size:10px;line-height:1.2;letter-spacing:.02em;z-index:8;pointer-events:none}
.v5-shell{position:relative;height:100%;display:grid;grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);gap:clamp(44px,6vw,96px);align-items:center;padding-top:14px;padding-bottom:50px;z-index:4}
.v5-copy-stack{position:relative;min-height:440px;align-self:center}
.v5-beat{position:absolute;inset:0 auto auto 0;width:100%;max-width:660px;display:flex;flex-direction:column;justify-content:center;min-height:440px;opacity:0;transform:translate3d(0,24px,0);pointer-events:none;transition:opacity .42s ease,transform .56s var(--ease)}
.v5-beat.is-active{opacity:1;transform:none;pointer-events:auto}
.v5-kicker{display:block;margin-bottom:18px;color:#656865!important}
.v5-beat h1,.v5-beat h2{margin:0;max-width:11.5ch;font-size:clamp(3.1rem,5.4vw,6rem);line-height:.92;letter-spacing:-.067em!important;font-weight:500!important}
.v5-beat h2{font-size:clamp(2.7rem,4.6vw,5rem)}
.v5-beat p{max-width:58ch;margin:24px 0 0;color:#555855!important;font-size:clamp(1rem,1.2vw,1.13rem);line-height:1.66}
.v5-beat .actions{margin-top:30px}
.v5-theatre{position:relative;align-self:center;width:100%;height:min(68vh,650px);min-height:500px;perspective:1600px}
.v5-frame{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #aeb0ae;box-shadow:0 28px 80px rgba(0,0,0,.10);opacity:0;transform:translate3d(26px,0,-90px) rotateY(-2.2deg) scale(.985);transition:opacity .42s ease,transform .65s var(--ease);pointer-events:none}
.v5-frame.is-active{opacity:1;transform:none}
.v5-windowbar{height:44px;flex:0 0 44px;display:grid;grid-template-columns:8px 8px 8px 1fr auto;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid #dadcda;background:#f1f1ef;color:#6d706d;font-size:10px;letter-spacing:.01em}
.v5-windowbar i{width:6px;height:6px;border-radius:50%;background:#aaadaa}.v5-windowbar i:nth-child(2){background:#8f928f}.v5-windowbar i:nth-child(3){background:#727572}
.v5-windowbar strong{margin-left:5px;color:#212321;font-size:10px;font-weight:600}.v5-windowbar span{color:#8a8d8a}
.v5-frame b,.v5-frame strong{font-weight:600}.v5-frame em{font-style:normal}

.v5-final-body{flex:1;display:grid;grid-template-columns:.8fr 1.2fr;gap:0;min-height:0}
.v5-final-mark{display:grid;place-items:center;background:#0a0a0a;color:#fff}.v5-final-mark b{font-size:clamp(4rem,8vw,8rem);letter-spacing:-.085em;font-weight:500}
.v5-final-stack{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,54px);background:#fff}
.v5-final-stack article{display:grid;grid-template-columns:minmax(0,1fr) 50px auto;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #d6d8d6;font-size:12px}
.v5-final-stack article:first-child{border-top:1px solid #d6d8d6}.v5-final-stack article i{height:1px;background:#aeb0ae}.v5-final-stack article span{color:#777a77;text-align:right}

.v5-site-body{flex:1;display:grid;grid-template-columns:.88fr 1.12fr;min-height:0}.v5-site-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,58px);border-right:1px solid #d6d8d6}.v5-site-copy b{font-size:clamp(2rem,3vw,3.25rem);line-height:.98;letter-spacing:-.05em}.v5-site-copy p{max-width:35ch;color:#626562;font-size:13px}.v5-site-copy em{margin-top:18px;color:#101110;font-size:12px;font-weight:600}.v5-site-image{position:relative;background:#111}.v5-site-image::before{content:"";position:absolute;inset:9%;border:1px solid #3d403d;background:linear-gradient(90deg,#171817 0 49.7%,#222 49.7% 50.3%,#101110 50.3%);opacity:.98}.v5-site-image::after{content:"";position:absolute;left:16%;right:16%;top:31%;height:1px;background:#777;box-shadow:0 55px 0 #414341,0 110px 0 #2f312f}

.v5-app-body{flex:1;display:grid;grid-template-columns:150px 1fr;min-height:0}.v5-sidebar{padding:26px 18px;background:#0e0f0e;color:#999d99;display:flex;flex-direction:column;gap:17px;font-size:11px}.v5-sidebar b{color:#fff;margin-bottom:16px}.v5-records{padding:28px 30px;overflow:hidden}.v5-records header{display:flex;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid #cfd1cf}.v5-records header span{color:#8a8d8a;font-size:10px}.v5-record{display:grid;grid-template-columns:1fr 110px 32%;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #e0e1e0;font-size:11px}.v5-record em{color:#6f726f}.v5-record i{height:4px;background:#e0e1e0;position:relative}.v5-record i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--p,62%);background:#2f52ff}.v5-record:nth-child(3) i::after{width:42%}.v5-record:nth-child(4) i::after{width:78%}.v5-record:nth-child(5) i::after{width:56%}

.v5-connect-body{flex:1;display:grid;place-items:center;padding:40px}.v5-route{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #bfc1bf;border-bottom:1px solid #bfc1bf}.v5-route article{position:relative;padding:30px 18px;min-height:132px;border-right:1px solid #d4d6d4}.v5-route article:last-child{border-right:0}.v5-route span{display:block;color:#808380;font-size:10px}.v5-route b{display:block;margin-top:34px;font-size:18px}.v5-route i{position:absolute;right:-5px;top:50%;width:9px;height:9px;border:1px solid #2f52ff;background:#fff;z-index:2;transform:rotate(45deg)}.v5-route article:last-child i{display:none}

.v5-auto-body{flex:1;display:grid;grid-template-columns:.8fr 1.2fr}.v5-trigger{display:flex;flex-direction:column;justify-content:center;padding:42px;border-right:1px solid #d4d6d4;background:#0c0d0c;color:#fff}.v5-trigger small{color:#8f938f;font-size:10px}.v5-trigger b{margin-top:16px;font-size:clamp(1.65rem,2.6vw,2.7rem);line-height:1.02;letter-spacing:-.04em}.v5-trigger span{margin-top:18px;color:#adb0ad;font-size:12px;line-height:1.6}.v5-steps{padding:26px 32px;display:flex;flex-direction:column;justify-content:center}.v5-step{display:grid;grid-template-columns:12px 1fr auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid #d9dbd9;font-size:11px}.v5-step i{width:8px;height:8px;background:#2f52ff}.v5-step em{color:#7d807d;font-size:10px}

.v5-report-body{flex:1;padding:30px;display:flex;flex-direction:column}.v5-report-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #cfd1cf}.v5-report-head span{font-size:10px;color:#888b88}.v5-report-grid{flex:1;display:grid;grid-template-columns:1.1fr .9fr;gap:0}.v5-report-list{padding:22px 28px 22px 0}.v5-report-list article{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid #e0e1e0;font-size:11px}.v5-report-list i{height:6px;background:#e3e4e3;position:relative}.v5-report-list i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w,68%);background:#111}.v5-report-list article:nth-child(2) i::after{width:51%}.v5-report-list article:nth-child(3) i::after{width:37%}.v5-report-list article:nth-child(4) i::after{width:81%}.v5-report-note{border-left:1px solid #d6d8d6;padding:32px;display:flex;flex-direction:column;justify-content:center}.v5-report-note small{color:#858885}.v5-report-note b{margin-top:14px;font-size:clamp(1.5rem,2.4vw,2.5rem);line-height:1.08;letter-spacing:-.035em}.v5-report-note em{margin-top:16px;color:#686b68;font-size:11px}

.v5-dev-body{flex:1;display:grid;grid-template-columns:1.05fr .95fr;min-height:0}.v5-code{background:#0d0e0d;color:#d9dcd9;padding:36px;font:500 12px/1.9 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.v5-code .dim{color:#656965}.v5-code .red{color:#8ea0ff}.v5-tooling{padding:36px;display:flex;flex-direction:column;justify-content:center}.v5-tooling>b{font-size:clamp(1.55rem,2.5vw,2.65rem);line-height:1.06;letter-spacing:-.035em}.v5-tooling p{color:#636663;font-size:12px;line-height:1.65}.v5-tooling span{padding:11px 0;border-top:1px solid #d8dad8;font-size:11px}.v5-tooling span:last-child{border-bottom:1px solid #d8dad8}

.v5-qa-body{flex:1;padding:30px;display:flex;flex-direction:column}.v5-qa-title{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #cfd1cf}.v5-qa-title span{color:#838683;font-size:10px}.v5-checks{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1}.v5-check{display:grid;grid-template-columns:14px 1fr;gap:14px;align-items:center;padding:20px;border-bottom:1px solid #d9dbd9}.v5-check:nth-child(odd){border-right:1px solid #d9dbd9}.v5-check i{width:8px;height:8px;background:#0b0b0b}.v5-check div{font-size:11px;font-weight:600}.v5-check span{display:block;margin-top:5px;color:#7d807d;font-size:10px;font-weight:400}
.v5-reduced-summary{display:none}.v5-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#d9dbd9;z-index:10}.v5-progress i{display:block;width:100%;height:100%;background:#2f52ff;transform:scaleX(0);transform-origin:0 50%;will-change:transform}

/* More confident page surfaces. */
.page-hero{padding-top:clamp(90px,10vw,140px)!important;padding-bottom:clamp(58px,7vw,92px)!important}
.simple-page-hero,.detail-hero{background:var(--paper)!important}
.service-category-v3,.detail-section{border-color:#cfd1cf!important}
.service-choice-row:hover,.software-row-v3:hover,.catalogue-row:hover{background:rgba(255,255,255,.55)!important}
.project-card-v2,.industry-card-v2,.testimonial-v2{background:transparent!important;border-color:#cfd1cf!important;box-shadow:none!important}
.project-card-v2:hover,.industry-card-v2:hover{background:#fff!important;border-color:#989b98!important;transform:none!important}

@media(max-width:980px){
  .v5-scroll-hero{min-height:680svh!important}
  .v5-stage{top:64px;height:calc(100svh - 64px);min-height:580px}
  .v5-shell{grid-template-columns:1fr;grid-template-rows:.82fr 1.18fr;gap:18px;padding-top:28px;padding-bottom:42px}
  .v5-copy-stack{min-height:250px}.v5-beat{min-height:250px;max-width:760px}
  .v5-beat h1,.v5-beat h2{max-width:15ch;font-size:clamp(2.5rem,7.7vw,4.7rem)}
  .v5-beat p{margin-top:14px;max-width:65ch;font-size:15px}
  .v5-beat .actions{margin-top:18px}
  .v5-theatre{height:min(46vh,430px);min-height:320px}
  .v5-rail{display:none}
  .company-home-line{grid-template-columns:34px 150px 1fr!important}
}

@media(max-width:680px){
  .v5-scroll-hero{min-height:590svh!important}
  .v5-stage{height:calc(100svh - 64px);min-height:590px}
  .v5-shell{width:calc(100% - 28px)!important;grid-template-rows:auto 1fr;gap:14px;padding-top:22px;padding-bottom:30px}
  .v5-copy-stack{min-height:260px}.v5-beat{min-height:260px;justify-content:flex-start;padding-top:12px}
  .v5-kicker{margin-bottom:10px!important}
  .v5-beat h1,.v5-beat h2{font-size:clamp(2.15rem,10.6vw,3.35rem);line-height:.96;letter-spacing:-.055em!important;max-width:13ch}
  .v5-beat p{margin-top:13px;font-size:14px;line-height:1.5;max-width:43ch}
  .v5-beat .actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}
  .v5-beat .actions .btn{width:100%;min-height:42px;padding-inline:10px;font-size:11px}
  .v5-theatre{height:min(43vh,390px);min-height:290px}
  .v5-windowbar{height:36px;flex-basis:36px;padding-inline:10px;grid-template-columns:6px 6px 6px 1fr auto;font-size:8px}.v5-windowbar strong{font-size:8px}.v5-windowbar i{width:5px;height:5px}
  .v5-final-body{grid-template-columns:.7fr 1.3fr}.v5-final-mark b{font-size:3.6rem}.v5-final-stack{padding:15px}.v5-final-stack article{grid-template-columns:1fr auto;gap:7px;padding:9px 0;font-size:8px}.v5-final-stack article i{display:none}.v5-final-stack article span{font-size:8px}
  .v5-site-body{grid-template-columns:1fr 1fr}.v5-site-copy{padding:18px}.v5-site-copy b{font-size:1.35rem}.v5-site-copy p{font-size:9px;line-height:1.45}.v5-site-copy em{font-size:8px;margin-top:8px}
  .v5-app-body{grid-template-columns:82px 1fr}.v5-sidebar{padding:13px 10px;gap:10px;font-size:8px}.v5-sidebar b{margin-bottom:5px}.v5-records{padding:14px 14px}.v5-records header{padding-bottom:10px}.v5-records header span{display:none}.v5-record{grid-template-columns:1fr auto;padding:9px 0;font-size:8px}.v5-record i{display:none}
  .v5-connect-body{padding:15px}.v5-route article{min-height:94px;padding:15px 9px}.v5-route span{font-size:7px}.v5-route b{margin-top:22px;font-size:12px}.v5-route i{width:6px;height:6px;right:-4px}
  .v5-auto-body{grid-template-columns:.85fr 1.15fr}.v5-trigger{padding:18px}.v5-trigger small{font-size:7px}.v5-trigger b{font-size:1.15rem}.v5-trigger span{font-size:8px;line-height:1.45;margin-top:10px}.v5-steps{padding:10px 13px}.v5-step{grid-template-columns:8px 1fr;padding:10px 0;font-size:8px}.v5-step i{width:5px;height:5px}.v5-step em{display:none}
  .v5-report-body{padding:14px}.v5-report-head{padding-bottom:10px;font-size:9px}.v5-report-grid{grid-template-columns:1fr 1fr}.v5-report-list{padding:9px 10px 9px 0}.v5-report-list article{grid-template-columns:54px 1fr;gap:8px;padding:8px 0;font-size:7px}.v5-report-note{padding:13px}.v5-report-note small{font-size:7px}.v5-report-note b{font-size:1.02rem}.v5-report-note em{font-size:7px;margin-top:8px}
  .v5-dev-body{grid-template-columns:1fr 1fr}.v5-code{padding:14px;font-size:7px;line-height:1.75}.v5-tooling{padding:14px}.v5-tooling>b{font-size:1.05rem}.v5-tooling p{font-size:7px;line-height:1.45}.v5-tooling span{font-size:7px;padding:6px 0}
  .v5-qa-body{padding:13px}.v5-qa-title{padding-bottom:8px;font-size:8px}.v5-check{grid-template-columns:8px 1fr;padding:9px}.v5-check i{width:5px;height:5px}.v5-check div{font-size:7px}.v5-check span{font-size:6px;margin-top:2px}
  .v5-progress{height:2px}
  .company-home-line{grid-template-columns:28px 1fr!important;gap:8px!important}.company-home-line strong{font-size:13px!important}.company-home-line p{grid-column:2;font-size:12px!important}
}

@media(max-width:390px){
  .v5-beat h1,.v5-beat h2{font-size:2.1rem}
  .v5-beat p{font-size:13px}
  .v5-theatre{min-height:275px}
  .v5-windowbar span{display:none}
}

@media(prefers-reduced-motion:reduce){
  .v5-scroll-hero{min-height:auto!important;padding:54px 0 44px!important}
  .v5-stage{position:relative;top:auto;height:auto;min-height:0;overflow:visible}
  .v5-field,.v5-rule,.v5-theatre,.v5-progress{display:none!important}
  .v5-shell{display:block;height:auto;padding:0}
  .v5-copy-stack{min-height:0}.v5-beat{display:none!important}.v5-beat[data-v5-beat="0"]{position:relative!important;display:block!important;min-height:0!important;opacity:1!important;transform:none!important;pointer-events:auto!important}
  .v5-reduced-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px;border-top:1px solid #c7c9c7;border-left:1px solid #c7c9c7}
  .v5-reduced-summary article{padding:20px;border-right:1px solid #c7c9c7;border-bottom:1px solid #c7c9c7}.v5-reduced-summary b{display:block;font-size:12px}.v5-reduced-summary span{display:block;margin-top:8px;color:#696c69;font-size:11px;line-height:1.55}
}
@media(max-width:680px) and (prefers-reduced-motion:reduce){.v5-reduced-summary{grid-template-columns:1fr 1fr}}

/* Curated public R&D — six studies, not a component vocabulary dump. */
.rd-page{background:var(--paper)}
.rd-hero{padding:clamp(92px,11vw,150px) 0 clamp(72px,8vw,110px);border-bottom:1px solid #cfd1cf}
.rd-hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:clamp(54px,8vw,130px);align-items:end}
.rd-hero h1{margin:18px 0 0;max-width:10ch;font-size:clamp(4.3rem,7.8vw,8.8rem);line-height:.86;letter-spacing:-.078em;font-weight:500!important}
.rd-hero-note{padding-bottom:8px}.rd-hero-note p{max-width:46ch;color:#5e615e;font-size:15px;line-height:1.7}
.rd-study{padding:clamp(76px,9vw,130px) 0;border-bottom:1px solid #cfd1cf;overflow:hidden}
.rd-study-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(50px,8vw,130px);align-items:center}
.rd-study-copy>span{display:block;margin-bottom:18px;color:#6c6f6c;font-size:11px;font-weight:600}.rd-study-copy h2{margin:0;max-width:10ch;font-size:clamp(2.8rem,5vw,5.3rem);line-height:.93;letter-spacing:-.058em}.rd-study-copy p{max-width:45ch;margin:24px 0 0;color:#656865;font-size:14px;line-height:1.7}
.rd-study-dark{background:#0a0a0a;color:#f5f5f2;border-color:#2b2d2b}.rd-study-dark .rd-study-copy>span,.rd-study-dark .rd-study-copy p{color:#9da19d}
.rd-type-stage{display:flex;flex-direction:column;justify-content:center;min-height:520px;padding:clamp(24px,5vw,66px);border:1px solid #afb1af;background:#fff}.rd-type-stage b{display:block;font-size:clamp(4.2rem,8vw,9rem);line-height:.78;letter-spacing:-.08em;font-weight:500}.rd-type-stage b:nth-child(2){align-self:flex-end;color:#666}.rd-type-stage b:nth-child(3){color:transparent;-webkit-text-stroke:1px #111}
.rd-space-stage{position:relative;min-height:520px;perspective:1200px}.rd-space-stage div{position:absolute;left:50%;top:50%;width:64%;height:56%;border:1px solid #555b55;background:#111;transform-origin:center;box-shadow:0 30px 80px rgba(0,0,0,.32)}.rd-space-stage div:nth-child(1){transform:translate(-62%,-58%) rotateY(16deg) translateZ(-100px);opacity:.45}.rd-space-stage div:nth-child(2){transform:translate(-50%,-50%) rotateY(10deg);background:#161716}.rd-space-stage div:nth-child(3){transform:translate(-38%,-42%) rotateY(4deg) translateZ(90px);background:#f5f5f2;border-color:#7d807d}.rd-space-stage i{position:absolute;left:57%;top:49%;width:12px;height:12px;background:#2f52ff;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 0 16px rgba(47,82,255,.08)}
.rd-motion-stage{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;min-height:250px;border-top:1px solid #aeb0ae;border-bottom:1px solid #aeb0ae}.rd-motion-stage span{font-size:13px;font-weight:600}.rd-motion-stage i{height:1px;margin:0 18px;background:#b8bab8;position:relative}.rd-motion-stage i::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border:1px solid #2f52ff;background:var(--paper);transform:rotate(45deg)}
.rd-study-graphic{background:#ececea}.rd-grid-stage{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1.55;border:1px solid #aeb0ae;background:#f5f5f2;overflow:hidden}.rd-grid-stage i{position:relative;border-right:1px solid #d3d5d3;border-bottom:1px solid #d3d5d3}.rd-grid-stage i:nth-child(3n)::after{content:"";position:absolute;inset:20%;background:#101110}.rd-grid-stage i:nth-child(5n)::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;background:#2f52ff;transform:translate(-50%,-50%)}
.rd-data-stage{border-top:1px solid #aeb0ae}.rd-data-stage header{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #cfd1cf;font-size:12px}.rd-data-stage header span{color:#7c7f7c}.rd-data-stage article{display:grid;grid-template-columns:130px 1fr;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid #d5d7d5;font-size:12px}.rd-data-stage article i{height:5px;background:#dfe0df;position:relative}.rd-data-stage article i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:#111}
.rd-study-final{background:#f5f5f2}.rd-control-stage{border:1px solid #aeb0ae;background:#fff}.rd-control-stage div{display:grid;grid-template-columns:90px 1fr;align-items:center;padding:28px;border-bottom:1px solid #d7d9d7}.rd-control-stage div:last-child{border-bottom:0}.rd-control-stage span{color:#777a77;font-size:11px}.rd-control-stage b{justify-self:start;min-width:180px;padding:14px 18px;border:1px solid #111;font-size:12px}.rd-control-stage div:nth-child(2) b{outline:2px solid #2f52ff;outline-offset:3px}.rd-control-stage div:nth-child(3) b{background:#111;color:#fff}
@media(max-width:900px){.rd-hero-grid,.rd-study-grid{grid-template-columns:1fr;gap:42px}.rd-hero h1{max-width:12ch}.rd-study-copy h2{max-width:14ch}.rd-type-stage,.rd-space-stage{min-height:430px}}
@media(max-width:680px){.rd-hero{padding:58px 0 52px}.rd-hero-grid,.rd-study-grid{gap:30px}.rd-hero h1{font-size:clamp(3rem,14vw,4.6rem);line-height:.9}.rd-study{padding:64px 0}.rd-study-copy h2{font-size:clamp(2.35rem,11vw,3.6rem)}.rd-type-stage{min-height:330px}.rd-type-stage b{font-size:clamp(3.1rem,17vw,5.6rem)}.rd-space-stage{min-height:340px}.rd-motion-stage{grid-template-columns:1fr;min-height:0}.rd-motion-stage span{padding:14px 0;border-bottom:1px solid #d4d6d4}.rd-motion-stage i{display:none}.rd-grid-stage{grid-template-columns:repeat(6,1fr);aspect-ratio:1}.rd-data-stage article{grid-template-columns:95px 1fr;gap:12px}.rd-control-stage div{grid-template-columns:70px 1fr;padding:18px}.rd-control-stage b{min-width:0;width:100%;text-align:center}}
/* Scene isolation: prevent transitional ghosting between large hero headlines. */
.v5-beat{z-index:0}.v5-beat.is-active{z-index:2;background:var(--paper)}
.v5-frame{z-index:0}.v5-frame.is-active{z-index:2}
/* Clean scene handoff: only one narrative beat/interface is ever visible. */
.v5-beat{visibility:hidden!important;opacity:0!important;transition:none!important;transform:translate3d(0,18px,0)!important}
.v5-beat.is-active{visibility:visible!important;opacity:1!important;transform:none!important;animation:v51-beat-in .32s var(--ease) both}
.v5-frame{visibility:hidden!important;opacity:0!important;transition:none!important}
.v5-frame.is-active{visibility:visible!important;opacity:1!important;animation:v51-frame-in .38s var(--ease) both}
@keyframes v51-beat-in{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}
@keyframes v51-frame-in{from{opacity:0;transform:translate3d(18px,0,-50px) scale(.988)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.v5-beat.is-active,.v5-frame.is-active{animation:none!important}}
