/* OBBOFuture brand refinement. The original composition and typography remain in styles.css. */
:root { --readable-muted:#55637b; --motion-ease:cubic-bezier(.2,.7,.25,1); }
[hidden] { display:none!important; }
html { scroll-padding-top:125px; }
body { overflow-x:clip; }
:focus-visible { outline:3px solid #4167d5; outline-offset:5px; }
.gradient-text { background-image:linear-gradient(105deg,#1381a1,#4d65d5 52%,#8a4ac7); }
.top-anchor { position:absolute;top:0; }
.site-header { position:fixed;height:102px;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);padding-inline:clamp(24px,4vw,72px);transition:box-shadow .3s; }
.site-header.has-scrolled { box-shadow:0 6px 25px #14274908; }
.brand { min-width:0;flex-shrink:0; }
.official-logo { display:block;width:166px;height:83px; }
.primary-nav { gap:clamp(17px,2vw,32px); }
.primary-nav a,.nav-cta { font-size:14px;line-height:1.5;color:#37445d; }
.primary-nav a { position:relative;padding-block:12px;white-space:nowrap; }
.primary-nav a::after,.footer-nav a::after { content:'';position:absolute;left:0;bottom:4px;width:100%;height:2px;background:linear-gradient(90deg,#35b7d7,#7b5adb);transform:scaleX(0);transform-origin:left;transition:transform .25s; }
.primary-nav a:hover::after,.primary-nav a[aria-current="location"]::after,.footer-nav a:hover::after { transform:scaleX(1); }
.primary-nav a[aria-current="location"] { color:#3454bd; }
.nav-cta { font-weight:700;padding:12px 18px; }
.hero { min-height:900px;padding-top:200px;padding-bottom:110px; }
.hero-copy { max-width:1080px;width:100%; }
.hero h1 { max-width:1080px;font-size:clamp(46px,5.05vw,76px); }
.hero-lede { max-width:610px;font-size:17px;line-height:1.85;margin-top:30px; }
.hero-actions { gap:18px; }
.button { font-size:14px;min-height:52px;padding:16px 22px;gap:23px; }
.button span,.nav-cta span { display:inline-block;transition:transform .3s var(--motion-ease); }
.button:hover span,.nav-cta:hover span { transform:translate(3px,-3px); }
.hero-art { top:405px;right:4vw;width:36vw;max-width:510px;aspect-ratio:1.48;opacity:1;transform:translate(var(--mx,0px),var(--my,0px));transition:transform .7s ease-out; }
.brand-symbol { display:block;width:64%;position:relative;z-index:2;border-radius:12px; }
.hero-art .brand-symbol { width:66%;box-shadow:0 20px 90px #6884f01a; }
.hero-signature { margin-top:50px;font-size:12px;line-height:1.6;color:#65748a;max-width:540px; }
.hero-bottom { font-size:11px;line-height:1.5;color:#65738b;gap:20px;height:62px; }
.hero-bottom a { font-size:12px;white-space:nowrap; }
.bottom-coordinate { font-size:10px;color:#68768b; }
.eyebrow { font-size:12px;line-height:1.6;color:#5c6a82;letter-spacing:.1em; }
.hero .eyebrow { font-size:12px; }
.section-marker { font-size:12px;line-height:1.65;color:#586881; }
.art-label { font-size:10px;color:#53647d; }
.art-index { display:none; }
.label-one { top:2%;left:4%; }
.label-two { bottom:2%;right:3%; }
.energy-track { position:absolute;inset:9% 0;border:1px solid #5b9eda40;border-radius:50%;transform:rotate(-24deg);animation:energy-orbit 32s linear infinite; }
.energy-track i { position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:50%;background:#218dce;box-shadow:0 0 14px #719efb90; }
.energy-track-two { inset:0 19%;animation-direction:reverse;animation-duration:40s; }
.energy-track-two i { background:#9461d9; }
.art-orbit { animation:orbit-breathe 12s ease-in-out infinite alternate; }
.orbit-two { animation-delay:-4s; }.orbit-three { animation-delay:-7s; }
.intro-layout { gap:7vw;grid-template-columns:1fr 1fr; }
.large-copy { font-size:22px; }
.intro-copy>p:not(.large-copy),.work-heading>p,.creative-copy>p:not(.eyebrow),.founders-heading>p { font-size:16px;line-height:1.9;color:var(--readable-muted); }
.work-heading>p { max-width:410px; }
.text-link { font-size:14px;line-height:1.6; }
.discipline-strip { font-size:14px;color:#4e5f78;gap:15px; }
.discipline-strip span { transition:color .25s,transform .25s; }
.discipline-strip span:hover { color:#5758cb;transform:translateY(-3px); }
.capability-row { grid-template-columns:40px minmax(150px,195px) 1fr 28px;gap:28px;padding:32px 0;opacity:1;transform:none; }
.cap-index { font-size:12px;color:#62718a; }
.cap-content h3 { font-size:22px;line-height:1.35; }
.cap-content p { font-size:15px;line-height:1.85;color:var(--readable-muted); }
.tags { gap:7px;margin-top:15px; }
.tags span { font-size:11px;line-height:1.5;color:#58667d;padding:5px 9px; }
.capability-featured { border-left:2px solid #7286e7;padding-left:18px;background:linear-gradient(90deg,#edf0fb90,transparent); }
.capability-featured h3 { color:#4054b0; }
.cap-visual { height:145px;display:grid;place-items:center; }
.cap-visual::before,.cap-visual::after { display:none; }
.cap-visual svg { width:90%;height:90%;fill:none;stroke:#6988c4;stroke-width:1.2;overflow:visible; }
.cap-visual svg circle { fill:#6c9bd0;stroke:#fff;stroke-width:1.5; }
.visual-ai { background:#eaf4f8; }
.visual-emerging { background:linear-gradient(#f1effb,#e8f3f9); }
.visual-research { background:#f0f2f9; }
.visual-innovation { background:#f0edfb; }
.visual-sectors { background:linear-gradient(125deg,#eaf5f6,#eeeafa); }
.visual-product { background:#edf2fa; }
.network-lines { stroke-dasharray:6 7;animation:flow-lines 22s linear infinite; }
.adaptive-nodes circle { animation:node-breathe 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center; }
.adaptive-nodes circle:nth-child(even) { animation-delay:-2s;fill:#997bce; }
.signal-orbit { transform-origin:80px 57px;animation:signal-tilt 10s ease-in-out infinite alternate; }
.horizon { opacity:.55; }.signal { stroke:#8b78c7; }
.test-grid { stroke:#b6c2db;opacity:.45; }.experiment { stroke:#8465bb;stroke-width:2;stroke-dasharray:220;animation:experiment-trace 8s ease-in-out infinite; }
.scan { opacity:.35;animation:scan-test 7s ease-in-out infinite alternate; }
.development-stages>* { fill:#f9f8ff;stroke:#8470c1;stroke-width:2;animation:stage-activate 8s ease-in-out infinite; }
.development-stages>:nth-child(2) { animation-delay:-6s; }.development-stages>:nth-child(3) { animation-delay:-4s; }.development-stages>:nth-child(4) { animation-delay:-2s; }
.constellation-links { stroke-dasharray:4 4;animation:flow-lines 20s linear infinite reverse; }
.sector-nodes circle:nth-child(even) { fill:#9d84ca; }
.modules rect { fill:#f9fbff;transition:fill .3s,transform .3s; }
.modules rect:nth-child(2) { fill:#d9e5f5; }.modules rect:nth-child(4) { fill:#e6dff5; }
.capability-row:hover .modules rect:nth-child(odd) { transform:translateY(-3px);fill:#e6eefb; }
.capability-row:hover .cap-visual svg { stroke:#5d55b9; }
.capability-row:hover .sector-nodes circle { animation:node-breathe 3s ease-in-out infinite;transform-origin:center;transform-box:fill-box; }
.research-section { grid-template-columns:1fr 1.15fr; }
.marker-light { color:#b0bed3; }
.research-text .eyebrow { color:#adbad1; }
.research-section .gradient-text,.collaboration-section .gradient-text { background-image:linear-gradient(105deg,#64d3e9,#899cfb 52%,#bf91f2); }
.research-intro { font-size:16px;line-height:1.85;color:#bdc7d8;max-width:460px;margin-block:22px; }
.research-map { margin-top:75px; }
.map-center { background:#fff;width:112px;height:112px;overflow:hidden;box-shadow:0 0 45px #629bd51f; }
.map-center .brand-symbol { width:96px;border-radius:0; }
.map-node { opacity:1;transform:none;min-width:165px;padding:16px;transition:background .3s,border-color .3s,transform .3s; }
.map-node span { font-size:12px; }.map-node b { font-size:13px; }
.map-node:hover { border-color:#78bcdb;transform:translateY(-4px);background:#263854; }
.map-caption { font-size:11px;color:#a7b6cc; }
.map-ring::after { content:'';position:absolute;top:50%;left:-4px;width:7px;height:7px;border-radius:50%;background:#6fcbe3;box-shadow:0 0 18px #6fcbe360; }
.map-ring { animation:map-revolve 48s linear infinite; }
.ring-b { animation-direction:reverse;animation-duration:64s; }.ring-b::after { background:#ae8ade; }
.map-connect { animation:connection-breathe 8s ease-in-out infinite; }.connect-b { animation-delay:-2s; }.connect-c { animation-delay:-4s; }
.research-footnote { gap:25px;align-items:start;font-size:12px;line-height:1.7; }
.research-footnote span { max-width:560px;color:#aebdd3; }
.creative-layout { grid-template-columns:.9fr 1.1fr;gap:3vw; }
.creative-copy h2 { font-size:clamp(48px,5.3vw,76px); }
.ecosystem { min-width:0; }
.ecosystem-stage { position:relative;height:500px;background:radial-gradient(ellipse,#eef0fa,transparent 70%); }
.ecosystem-lines { width:100%;height:100%;position:absolute;inset:0;fill:none;stroke:#abbcd9;stroke-width:.22; }
.ecosystem-lines circle { stroke-dasharray:1 2;opacity:.7; }
.ecosystem-lines line { transition:stroke .3s,stroke-width .3s;stroke-dasharray:2 1;animation:flow-lines 55s linear infinite; }
.ecosystem-lines line.is-active { stroke:#6552c4;stroke-width:.6; }
.ecosystem-center { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150px;height:145px;display:grid;place-items:center;align-content:center;background:#fff;border:1px solid #e0e7f4;border-radius:50%;box-shadow:0 12px 45px #5b81c414; }
.ecosystem-center .brand-symbol { width:95px;border-radius:0; }
.ecosystem-center>span { font:10px/1.5 var(--mono);color:#526282;margin-top:8px; }
.ecosystem-node { position:absolute;top:var(--y);left:var(--x);transform:translate(-50%,-50%);width:130px;min-height:53px;border:1px solid #d4deed;background:#fff;color:#3e4f6b;padding:10px 12px;border-radius:4px;font:12px/1.5 var(--sans);font-weight:600;cursor:pointer;box-shadow:0 8px 20px #708bd908;transition:border-color .25s,box-shadow .25s,background .25s; }
.ecosystem-node:hover,.ecosystem-node[aria-pressed="true"] { border-color:#7889dc;background:#f1f1fc;box-shadow:0 8px 30px #708bd922; }
.ecosystem-node:focus-visible { outline-offset:3px; }
.ecosystem-detail { min-height:105px;padding:18px 20px;border-top:1px solid #dfe5ef; }
.ecosystem-detail .eyebrow { margin-bottom:6px; }
.ecosystem-detail p { font-size:14px;line-height:1.65;color:#5a6880;margin:0; }
.project-note { opacity:1;transform:none;transition:box-shadow .3s,transform .3s; }
.project-note:hover { transform:translateY(-4px);box-shadow:0 12px 35px #4255820d; }
.project-note p { font-size:18px; }.project-note-foot { font-size:12px;line-height:1.7;color:#62718a; }
.project-index { font-size:11px;color:#596982;gap:15px;line-height:1.5; }
.project-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:40px; }
.project-card { background:#fff;padding:30px;border:1px solid #dfe5ef; }.project-card h3 { font-size:25px; }.project-description { font-size:16px;line-height:1.8;color:#5a6780; }.project-details { font-size:13px;line-height:1.7; }.project-details dt { color:#5969a5; }.project-details dd { margin:0 0 12px; }
.founders-heading>p { max-width:390px; }
.founder-card { opacity:1;transform:none;border-top:2px solid #c6d3ed;padding-top:18px; }
.portrait { aspect-ratio:4/3;height:auto;background:none; }
.portrait img { width:100%;height:100%;object-fit:cover;display:block; }
.founder-meta { min-height:120px;align-items:start;padding-block:23px; }
.founder-meta h3 { font-size:24px;line-height:1.4; }.founder-meta p { font-size:12px;line-height:1.7;color:#566781; }
.founder-bio { font-size:16px;line-height:1.9;color:#57657d;max-width:none; }
.founder-plus { display:none; }
.collab-content { margin-left:9%; }.collab-content>p:not(.eyebrow) { font-size:16px;line-height:1.85;max-width:590px;color:#bbc6d9; }
.collab-mark { width:220px;height:220px;right:8%;top:38%;opacity:1;animation:none;background:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 100px #637bd61a; }
.collab-mark .brand-symbol { width:160px; }.collab-mark .energy-track { inset:-25%;border-color:#8bb5f54d; }.collab-mark .energy-track i { background:#a691ed; }
.contact-details h2 { font-size:clamp(55px,6.8vw,84px); }.contact-email { font-size:17px;line-height:1.6;overflow-wrap:anywhere; }
.contact-details address { font-size:16px; }.registry-line { font-size:12px;line-height:1.6;max-width:300px; }
.contact-form { padding:30px; }.form-heading { font-size:11px;line-height:1.7;gap:12px; }.form-required { color:#62718a;white-space:nowrap; }
.contact-form label { font-size:13px;line-height:1.6;margin-top:19px; }.contact-form input,.contact-form textarea { font-size:16px;line-height:1.5;padding:12px 14px;min-height:48px; }
.form-note { font-size:12px;line-height:1.7;color:#5a6981; }.form-status:empty { display:none; }.form-status { color:#3454a4; }.email-fallback { font-size:12px;margin-top:13px; }
.site-footer { padding-top:40px;padding-bottom:30px; }.footer-brand { padding:7px 14px;background:#fff;border-radius:4px; }.footer-brand .official-logo { width:150px;height:75px; }
.footer-identity { margin-right:auto;margin-left:35px;font-size:14px;line-height:1.8;color:#c0ccde; }.footer-identity p { margin:0; }.footer-identity p:first-child { font-weight:700;color:#e8edf5; }
.back-top { font-size:12px; }.footer-bottom { font-size:12px;line-height:1.8;color:#b1bed4; }.footer-bottom a { color:#c4cee1; }
.footer-nav { display:flex;gap:26px;flex-wrap:wrap;padding-block:23px;border-bottom:1px solid #b9cbe41c; }.footer-nav a { position:relative;font-size:13px;line-height:1.7;padding-bottom:8px; }
/* Progressive enhancement: content is visible when JavaScript is unavailable. */
.reveal-pending { opacity:0;transform:translateY(16px);transition:opacity .7s var(--motion-ease),transform .7s var(--motion-ease); }
.reveal-pending.is-visible { opacity:1;transform:none; }
.motion-paused * { animation-play-state:paused!important; }
@keyframes energy-orbit { to { transform:rotate(336deg); } }
@keyframes orbit-breathe { to { opacity:.4; } }
@keyframes flow-lines { to { stroke-dashoffset:-100; } }
@keyframes node-breathe { 50% { transform:scale(1.22);opacity:.65; } }
@keyframes signal-tilt { from { transform:rotate(-15deg); } to { transform:rotate(20deg); } }
@keyframes experiment-trace { 0%,100% { stroke-dashoffset:0; } 50% { stroke-dashoffset:70; } }
@keyframes scan-test { from { transform:translateY(-22px); } to { transform:translateY(30px); } }
@keyframes stage-activate { 25% { fill:#9b8ad4; } 50%,100% { fill:#f9f8ff; } }
@keyframes map-revolve { to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes connection-breathe { 50% { opacity:.35; } }
@media (min-width:1101px) and (max-width:1300px) {
 .hero h1 { font-size:5vw; }.hero-art { top:460px;width:33vw; }.hero-lede { max-width:560px; }
 .collab-content { margin-left:0; }.collab-mark { right:5%;width:180px;height:180px; }.collab-mark .brand-symbol { width:135px; }
}
@media (max-width:1100px) {
 .site-header { padding-inline:24px;height:90px; }.official-logo { width:146px;height:73px; }
 .nav-cta { margin-left:auto;margin-right:16px; }
 .menu-toggle { display:flex;width:44px;height:44px;position:relative;z-index:22;flex-direction:column;justify-content:center;gap:6px;border:1px solid #d2dbe9;border-radius:50%;background:#fff;padding:12px;cursor:pointer;order:3; }
 .menu-toggle span:not(.sr-only) { height:1px;background:#34415a;width:100%;transition:transform .2s; }
 .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-child(2) { transform:translateY(-3.5px) rotate(-45deg); }
 .primary-nav { position:fixed;top:90px;left:0;right:0;bottom:auto;height:calc(100dvh - 90px);background:#f7f9fc;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:24px;visibility:hidden;transform:translateX(100%);transition:transform .3s,visibility .3s;overflow:auto; }
 .primary-nav.is-open { visibility:visible;transform:none; }.primary-nav a { font-size:21px;padding:18px 0;border-bottom:1px solid #dde5ef; }.primary-nav a::after { bottom:0; }
 .hero { min-height:890px;padding-top:170px; }.hero-copy { max-width:none; }.hero h1 { font-size:clamp(42px,5.3vw,60px); }.hero-art { top:480px;width:38vw;right:3%; }.hero-lede { max-width:570px; }
 .hero-bottom .bottom-coordinate { display:none; }
 .intro-layout { gap:35px; }.work-heading>p { max-width:340px; }.work-heading { gap:25px; }
 .capability-row { grid-template-columns:26px 145px 1fr 20px;gap:20px; }.cap-content h3 { font-size:21px; }
 .research-section { column-gap:20px;grid-template-columns:1fr 1fr; }.research-map { height:475px;margin-top:115px; }.map-node { min-width:145px;padding:12px; }.map-node b { font-size:12px; }.map-node-a { left:0; }.map-node-b { right:-3%; }.map-caption { font-size:10px; }
 .creative-layout { grid-template-columns:1fr;gap:30px; }.creative-copy>p:not(.eyebrow) { max-width:660px; }.ecosystem { max-width:650px;width:100%;margin:auto; }.ecosystem-stage { height:510px; }.ecosystem-node { width:144px;font-size:13px; }
 .collab-content { margin-left:0;max-width:70%; }.collab-mark { right:5%;width:160px;height:160px; }.collab-mark .brand-symbol { width:120px; }
 .footer-identity { margin-left:25px; }.footer-bottom { gap:12px 25px; }
}
@media (max-width:760px) {
 html { scroll-padding-top:105px; }.site-header { padding-inline:20px;height:84px; }.official-logo { width:124px;height:62px; }.primary-nav { top:84px;height:calc(100dvh - 84px); }.nav-cta { font-size:13px;padding:10px 14px;margin-right:11px; }.menu-toggle { width:42px;height:42px; }.nav-cta span { padding-left:5px; }
 .hero { min-height:1000px;padding-top:145px;padding-inline:24px; }.hero h1 { font-size:clamp(40px,8.9vw,61px);line-height:1.1;letter-spacing:-.066em; }.hero-lede { font-size:16px;line-height:1.8;margin-top:25px; }.hero .eyebrow { font-size:11px; }.hero-actions { gap:12px; }.button { font-size:13px;padding:15px 17px;gap:17px;min-height:50px; }.hero-signature { font-size:11px;margin-top:27px;max-width:320px; }.signature-line { flex-shrink:0;width:24px; }.hero-art { top:auto;bottom:92px;width:min(75vw,380px);right:calc(50% - min(37.5vw,190px));opacity:1; }.hero-art .brand-symbol { width:60%; }.hero-bottom { left:24px;right:24px;font-size:10px;gap:18px;height:60px; }.hero-bottom a { font-size:10px; }.art-label { font-size:9px; }
 .section-pad { padding:80px 24px; }.section-marker { font-size:11px;gap:10px; }.marker-rule { width:25px; }.eyebrow { font-size:11px; }.intro-layout { grid-template-columns:1fr;gap:25px; }.large-copy { font-size:20px; }.intro-copy>p:not(.large-copy),.work-heading>p,.creative-copy>p:not(.eyebrow),.founders-heading>p { font-size:15px; }.discipline-strip { font-size:11px;gap:6px; }.text-link { font-size:13px; }
 .work-heading>p { max-width:none; }.capability-row { grid-template-columns:24px 1fr 20px;gap:12px;padding:26px 0; }.cap-visual { grid-column:2;grid-row:1;width:125px;height:100px;margin-bottom:8px; }.cap-index { grid-column:1;grid-row:1; }.cap-arrow { grid-column:3;grid-row:1; }.cap-content { grid-column:2/4;grid-row:2; }.cap-content h3 { font-size:22px; }.cap-content p { font-size:15px; }.tags span { font-size:11px; }.capability-featured { padding-left:12px; }.capability-featured .cap-visual { width:125px; }
 .research-section { display:block;padding-bottom:25px; }.research-intro { font-size:15px; }.research-map { height:440px;margin:25px -6px 0; }.map-node { min-width:135px; }.map-node span { font-size:11px; }.map-node b { font-size:11px; }.map-node-a { top:12%;left:0; }.map-node-b { right:0;top:37%; }.map-node-c { left:10%;bottom:10%; }.map-center { width:90px;height:90px; }.map-center .brand-symbol { width:76px; }.map-caption { bottom:-8px;right:0;font-size:9px; }.research-footnote { font-size:12px;display:block;margin-top:35px; }.research-footnote span { display:block; }
 .creative-layout { display:grid; }.creative-copy h2 { font-size:clamp(44px,10vw,65px); }.ecosystem-stage { height:435px;margin-inline:-8px; }.ecosystem-node { width:103px;font-size:11px;padding:8px 6px;min-height:52px; }.ecosystem-center { width:114px;height:114px; }.ecosystem-center .brand-symbol { width:74px; }.ecosystem-center>span { font-size:8px; }.ecosystem-detail { min-height:125px;padding-inline:4px; }.ecosystem-detail p { font-size:14px; }
 .project-note p { font-size:17px; }.project-note-foot { font-size:12px; }.project-index { font-size:10px; }.project-grid { grid-template-columns:1fr; }.founders-heading>p { margin:20px 0 0; }.founder-grid { gap:32px; }.founder-meta { min-height:0; }.founder-meta h3 { font-size:23px; }.founder-meta p { font-size:12px; }.founder-bio { font-size:15px; }
 .collab-content { max-width:none; }.collab-content>p:not(.eyebrow) { font-size:15px; }.collab-mark { position:relative;top:auto;right:auto;margin:65px 25px 0 auto;width:135px;height:135px; }.collab-mark .brand-symbol { width:100px; }.collab-content h2 { font-size:clamp(63px,15vw,90px); }
 .contact-email { font-size:16px;gap:12px; }.contact-details address { font-size:15px; }.contact-form { padding:23px 20px; }.form-heading { font-size:10px; }.contact-form label { font-size:13px; }.registry-line { font-size:12px; }.form-note { font-size:12px; }
 .footer-top { gap:20px; }.footer-brand .official-logo { width:125px;height:62px; }.footer-identity { margin-left:0;font-size:13px;width:100%;order:3; }.back-top { font-size:11px; }.footer-nav { gap:14px 24px; }.footer-nav a { font-size:13px; }.footer-bottom { font-size:12px; }.footer-bottom span:first-child { width:auto; }
 /* Mobile keeps only slow ambient motion; no pointer tracking or dense loops. */
 .energy-track-two,.orbit-three { display:none; }.cap-visual *, .ecosystem-lines line,.map-connect { animation:none; }.hero-art { transform:none; }.energy-track { animation-duration:45s; }.ring-b { animation:none; }
}
@media (max-width:370px) {
 .site-header { padding-inline:14px; }.official-logo { width:110px;height:55px; }.nav-cta { font-size:12px;padding-inline:11px; }.hero { padding-inline:21px;min-height:1090px; }.hero h1 { font-size:38px; }.hero-actions { align-items:flex-start;flex-direction:column; }.hero-art { bottom:95px; }.section-pad { padding-inline:21px; }.ecosystem-node { width:91px;font-size:10px; }.ecosystem-center { width:100px;height:100px; }.map-node { min-width:120px;padding:9px; }.hero-bottom { font-size:9px; }.hero-bottom a { font-size:9px; }.contact-email { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important;transition:none!important; }
 .reveal-pending { opacity:1;transform:none; }.hero-art { transform:none!important; }
}
/* Responsive review corrections: give the mobile brand visual its own clear space. */
@media (min-width:761px) and (max-width:1100px) { .hero-art { top:auto;bottom:85px;width:34vw; } }
@media (max-width:760px) {
 .hero { min-height:1100px; }
 .ecosystem-node { left:clamp(54px,var(--x),calc(100% - 54px)); }
 .art-label,.map-caption { font-size:10px; }
 .ecosystem-center>span { font-size:9px; }
}
@media (max-width:370px) { .hero { min-height:1160px; }.ecosystem-node { left:clamp(47px,var(--x),calc(100% - 47px)); } }

html { scroll-behavior:auto; }
/* Small text and primary action contrast, including the mobile presentation. */
.button-primary { background:linear-gradient(110deg,#465fc9,#5968cc); }
.registry-line span:first-child,.form-heading { color:#5b6a81; }
.contact-form input,.contact-form textarea { border-color:#8291a7; }
.art-label,.map-caption,.hero-bottom,.hero-bottom a { font-size:11px; }
@media(max-width:760px) { .ecosystem-center>span { font-size:10px;max-width:90px;line-height:1.35;text-align:center; } }
@media(max-width:760px) { .map-node-b { top:22%; }.connect-b { transform:rotate(-50deg); } }
@media(min-width:761px) and (max-width:1100px) { .map-node-b { top:16%;right:0; } }
@media(max-width:760px) { .map-node-b { top:20%; } }
@media(max-width:370px) { .discipline-strip { display:grid;grid-template-columns:1fr 1fr;gap:18px 24px; }.discipline-strip b { display:none; } }

/* Transparent official artwork: original pixels, framed using SVG viewports. */
.brand-symbol { border-radius:0; }
.hero-art .brand-symbol { width:83%;box-shadow:none;filter:drop-shadow(0 15px 25px #5978bd16); }
.map-center { background:transparent;box-shadow:none;overflow:visible; }
.collab-mark { background:transparent;box-shadow:none;border-radius:0; }
.collab-mark .brand-symbol { width:100%;filter:drop-shadow(0 0 24px #547cf526); }
.footer-brand { background:transparent;padding:0; }
.site-footer .official-logo { filter:drop-shadow(0 0 12px #90b6ff12); }
/* A slow colour wave leaves the complete headline legible at every frame. */
.hero-animated { background-image:linear-gradient(110deg,#147b97 0%,#4b60ce 24%,#8550b6 46%,#147b97 70%,#4b60ce 100%);background-size:250% 100%;animation:headline-wave 9s ease-in-out infinite alternate; }
@keyframes headline-wave { from { background-position:0% 50%; } to { background-position:100% 50%; } }
.domain-atlas { margin-top:60px;border-top:1px solid #dce4f0;padding-top:36px; }
.atlas-heading { display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-bottom:30px; }
.atlas-heading h3 { font-size:24px;line-height:1.4;letter-spacing:-.04em; }
.atlas-heading p { font-size:14px;line-height:1.7;color:#56647d;max-width:380px; }
.atlas-groups { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px; }
.atlas-group h4 { margin:0 0 16px;font:11px/1.65 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#5a6b87; }
.atlas-fields { display:grid;gap:2px; }
.domain-choice { display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;border:0;border-bottom:1px solid #dce4f0;background:transparent;color:#344766;font:500 15px/1.5 var(--sans);min-height:45px;padding:10px 8px;cursor:pointer;transition:background .25s,color .25s; }
.domain-choice span { color:#677bb4;font-size:13px;transition:transform .25s; }
.domain-choice:hover,.domain-choice[aria-pressed="true"] { color:#4e48a8;background:#eaeefa; }
.domain-choice:hover span { transform:translate(2px,-2px); }
.atlas-detail { min-height:100px;margin-top:28px;border-left:2px solid #8195d4;padding:15px 20px;background:linear-gradient(90deg,#edf0fb,transparent); }
.atlas-detail .eyebrow { margin-bottom:6px; }
.atlas-detail p { margin:0;font-size:15px;line-height:1.7;color:#53647d; }
@media(max-width:1100px) { .atlas-groups { grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 40px; } }
@media(max-width:760px) {
 .hero-art .brand-symbol { width:85%; }
 .atlas-heading { display:block; }.atlas-heading h3 { font-size:23px; }.atlas-heading p { margin-top:12px; }
 .atlas-groups { gap:28px 18px; }.atlas-group h4 { font-size:10px; }.domain-choice { font-size:13px;padding-inline:4px; }.atlas-detail { min-height:135px; }.atlas-detail p { font-size:14px; }
}
.footer-brand .footer-symbol { width:114px;height:76px; }
@media(max-width:760px) { .footer-brand .footer-symbol { width:95px;height:63px; } }

/* White-backed official logo, centred at its original proportions. */
.map-center,.collab-mark { background:#fff;border-radius:50%;box-shadow:0 0 45px #629bd51f; }
.map-center .white-logo,.collab-mark .white-logo { width:88%;height:auto;aspect-ratio:1426/712;filter:none; }
.footer-identity { margin-left:0; }
@media(max-width:760px) { .footer-identity { width:auto;order:0;flex:1; }.footer-top { align-items:center; } }
.white-logo { overflow:hidden; }
.map-center .white-logo,.collab-mark .white-logo { overflow:hidden; }
.map-center { display:flex;align-items:center;justify-content:center;overflow:hidden; }
