:root{--brand-font:Inter}
/* Brand navigation: text stays crisp; the symbol itself is the menu control. */
.header,.header *,.hero-content,.hero-content *,.footer,.footer *{text-shadow:none!important;box-shadow:none!important}
.header{color:#fff}.header.scrolled,.header.light-header,.header.menu-open,.header:has(nav.is-open){background:#fafafa;color:#1c1c1c;box-shadow:none}
body[data-page="research"] .header.menu-open{background:#fafafa;color:#1c1c1c}
.header-inner{height:96px;position:relative}
.brand-wordmark,.footer-wordmark{font-family:var(--brand-font,Inter),Arial,sans-serif;font-weight:500;letter-spacing:-.055em;line-height:1.1}
.brand-wordmark{font-size:32px;white-space:nowrap;padding:12px 0}
.menu-button.logo-menu{display:grid;place-items:center;width:64px;height:64px;padding:7px;border:0;background:transparent;color:inherit;border-radius:0;flex-shrink:0;gap:0}
.motion-logo{display:block;width:100%;height:100%;overflow:visible}.logo-menu .motion-logo{transition:transform .45s ease}.logo-menu[aria-expanded="true"] .motion-logo{transform:rotate(90deg)}
.header:not(.menu-open):not(.scrolled):not(.light-header) .logo-menu{mix-blend-mode:difference}
.header nav{position:fixed;inset:96px 0 auto auto;width:min(560px,100vw);max-height:calc(100svh - 96px);overflow:auto;background:#fafafa;color:#1c1c1c;padding:38px 56px 50px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .24s ease,transform .24s ease,visibility .24s}
.header nav.is-open{display:flex;opacity:1;visibility:visible;transform:none}
.header nav a{font-size:36px;line-height:1.3;font-weight:400;letter-spacing:-.035em;display:block;padding:10px 0;border-bottom:1px solid transparent;min-height:56px}
.header nav a:hover,.header nav a[aria-current]{color:#005740;border-bottom-color:#005740}
.footer-top{grid-template-columns:1.8fr 1fr .65fr;gap:65px}.footer-identity{display:block}.footer-identity .brand img{width:80px;height:64px}
.footer-wordmark{font-size:42px;margin-top:26px;display:flex;flex-direction:column;gap:10px;color:#fafafa}.footer-wordmark>span{font-size:30px;color:#bdc8c1;letter-spacing:-.045em}
.footer-navigation,.footer-secondary{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:16px}.footer-navigation a,.footer-secondary a{font-size:20px;line-height:1.5;min-height:30px}.footer-navigation a:hover,.footer-secondary a:hover{text-decoration:underline;text-underline-offset:5px}
.copyright{font-size:15px;color:#bfc9c2}
/* A single 2.6-second introduction; the line becomes a circle once. */
.intro-active body{overflow:hidden}.site-intro{pointer-events:auto}.site-intro .motion-logo{width:180px;height:180px;color:#fff}
.intro-active .site-intro{display:grid;animation:brand-intro-exit .3s 2.3s both}
.intro-active .site-intro .motion-logo{animation:brand-intro-drift 2.3s ease both}
@keyframes brand-intro-drift{0%{opacity:0;transform:translateY(8px) scale(.94)}15%{opacity:1;transform:translateY(0) scale(1)}55%{transform:translateY(-3px) rotate(8deg)}100%{opacity:1;transform:translateY(0) rotate(90deg)}}
@keyframes brand-intro-exit{to{opacity:0;visibility:hidden}}
/* Readable secondary information across screen sizes. */
.approach-icons p{font-size:16px;line-height:1.55;color:#334f40;max-width:255px}
.line-study figcaption,.industry-study figcaption{font-size:14px;line-height:1.55;opacity:1;color:#496857}
.technology-section .line-study figcaption{color:#c6d6cc}
.study-index{font-size:14px;opacity:.85}.value-number,.node-number{font-size:14px;opacity:.8}
.architecture-node small,.state-layer small,.estimate-arrow small,.decision-layer>small,.data-observation,.feedback-line span,.coupling-architecture figcaption{font-size:14px;line-height:1.5;opacity:1;color:#c7d7cd}
.hero-caption{font-size:12px;opacity:.85}.technology-hero .hero-photo{object-position:100% center}
@media(max-width:1100px){.footer-top{gap:35px}.footer-wordmark{font-size:34px}.footer-wordmark>span{font-size:26px}}
@media(max-width:767px){
 .header-inner{height:88px}.brand-wordmark{font-size:27px;letter-spacing:-.06em}.menu-button.logo-menu{width:56px;height:56px;padding:6px}
 .header nav{inset:88px 0 auto;width:100%;max-height:calc(100svh - 88px);padding:28px 24px 38px;gap:3px}.header nav a{font-size:32px;min-height:58px;padding:10px 0}
 .footer-top{grid-template-columns:1fr 1fr;gap:36px 24px}.footer-identity{grid-column:1/-1;display:block}.footer-wordmark{font-size:36px;margin-top:22px}.footer-wordmark>span{font-size:27px}.footer-navigation a,.footer-secondary a{font-size:18px;min-height:34px}.footer-navigation,.footer-secondary{gap:10px;padding-top:0}.copyright{font-size:14px;line-height:1.5}
 p{font-size:18px;line-height:1.55}.hero-content>p,.home-hero .hero-content>p{font-size:18px;line-height:1.5}.hero-actions .text-link{font-size:15px;line-height:1.5}.approach-icons p{font-size:15px;max-width:100%;line-height:1.55}.approach-icons h3{font-size:20px;line-height:1.3}.approach-icons{gap:40px 24px}.line-study figcaption,.industry-study figcaption{font-size:14px}
 .architecture-node small,.state-layer small,.estimate-arrow small,.decision-layer>small,.data-observation,.feedback-line span,.coupling-architecture figcaption{font-size:14px}.state-layer>div{gap:18px}.hero-caption{font-size:11px;line-height:1.4}
 .technology-hero{height:auto;min-height:100svh}.technology-hero>picture{flex:1;min-height:clamp(360px,115vw,520px)}.technology-hero .hero-photo{object-fit:cover;object-position:100% center}
}
@media(max-width:359px){.brand-wordmark{font-size:23px}.approach-icons{grid-template-columns:1fr}.approach-icons p{max-width:260px}.state-layer>div{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.intro-active .site-intro{display:none!important}.logo-menu .motion-logo,.header nav{transition:none}.intro-active body{overflow:auto}}
