:root {
  --ink:#102033;
  --muted:#607086;
  --paper:#f7f9fb;
  --card:#ffffff;
  --line:#dfe6ed;
  --accent:#1d5ed8;
  --accent2:#16a3a3;
  --deep:#071321;
  --deep2:#112a4b;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.62}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
.wrap{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(247,249,251,.94);border-bottom:1px solid rgba(223,230,237,.95);backdrop-filter:blur(12px)}
.header-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{color:var(--ink);font-size:1.05rem;font-weight:800;letter-spacing:-.035em;text-decoration:none}.brand span{color:var(--accent)}
nav{display:flex;flex-wrap:wrap;gap:18px}nav a{color:#42536a;text-decoration:none;font-size:.92rem;font-weight:650}nav a:hover,nav a[aria-current="page"]{color:var(--accent)}
.hero{overflow:hidden;color:#f6fbff;background:radial-gradient(circle at 80% 23%,rgba(29,94,216,.38),transparent 23%),radial-gradient(circle at 86% 72%,rgba(22,163,163,.24),transparent 21%),linear-gradient(135deg,var(--deep),var(--deep2))}
.hero-inner{min-height:500px;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding:72px 0}
.eyebrow,.kicker{margin:0 0 14px;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800}.eyebrow{color:#8fddd9}.kicker{color:var(--accent)}
h1{margin:0;font-size:clamp(3.2rem,8vw,6.5rem);line-height:.93;letter-spacing:-.065em;font-weight:820}.page-hero h1{font-size:clamp(2.6rem,6vw,5rem);color:var(--ink)}
.hero-lead{max-width:690px;margin:24px 0 0;color:#cad7e6;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-block;padding:10px 16px;border-radius:999px;text-decoration:none;font-size:.92rem;font-weight:750;border:1px solid transparent}.button.primary{background:#fff;color:var(--deep)}.button.ghost{color:#fff;border-color:rgba(255,255,255,.27)}
section{padding:64px 0}.compact{padding:44px 0}.section-head{max-width:780px;margin-bottom:28px}h2{margin:5px 0 12px;font-size:clamp(1.95rem,4vw,3rem);line-height:1.08;letter-spacing:-.045em}h3{margin:0 0 8px;font-size:1.08rem;line-height:1.3}.muted,.section-head p{color:var(--muted)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}.card p{margin:0;color:var(--muted)}.card .micro{margin-top:13px;font-size:.83rem}.tag{display:inline-block;margin-bottom:10px;padding:4px 8px;border-radius:999px;background:#edf3ff;color:#2756a8;font-size:.72rem;font-weight:760;letter-spacing:.04em;text-transform:uppercase}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:start}.statement{padding:26px;border-radius:16px;background:linear-gradient(145deg,#0e213d,#132e58);color:#edf5ff}.statement p{margin:0;color:#c9d8e9}.statement strong{color:#fff}
.callout{padding:26px;border:1px solid #cdd9ee;border-radius:16px;background:#eef4ff}.callout p{margin:0}
.page-hero{padding:74px 0 48px;background:linear-gradient(180deg,#fff,#f2f6fb);border-bottom:1px solid var(--line)}.page-hero p{max-width:760px;margin:18px 0 0;color:var(--muted);font-size:1.12rem}
.content{max-width:860px}.content h2{margin-top:44px;font-size:clamp(1.75rem,3vw,2.4rem)}.content p{color:#35455a}.paper-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.paper-list li{padding:18px 0;border-bottom:1px solid var(--line)}.paper-title{display:block;font-weight:700;line-height:1.38}.paper-meta{margin-top:4px;color:var(--muted);font-size:.9rem}.paper-link{display:inline-block;margin-top:7px;font-size:.86rem;font-weight:700}
.app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app-card{padding:24px;border-radius:15px;background:#fff;border:1px solid var(--line)}.app-card h2{font-size:1.42rem;margin:0 0 9px;letter-spacing:-.025em}.app-card p{margin:0 0 12px;color:var(--muted)}.source{font-size:.83rem}
footer{border-top:1px solid var(--line);padding:32px 0 44px;background:#fff}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.footer-title{font-weight:800;letter-spacing:-.025em}.footer-small{color:var(--muted);font-size:.86rem}.footer-links{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end}.footer-links a{font-size:.86rem}
@media(max-width:820px){.header-inner{align-items:flex-start;padding:15px 0;flex-direction:column;gap:9px}.site-header{position:static}nav{gap:11px 16px}.hero-inner,.split{grid-template-columns:1fr}.hero-inner{padding:56px 0 62px;gap:16px}.grid-2,.grid-3,.app-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:520px){.wrap{width:min(var(--max),calc(100% - 28px))}h1{font-size:clamp(3rem,19vw,4.7rem)}section{padding:50px 0}.card,.app-card,.callout{padding:19px}}

/* Representative geometries replace the decorative orbital illustration. */
.platforms-visual{margin:0;min-width:0}
.platforms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.platform{min-width:0;padding:8px 6px 18px;text-align:center}
.platform + .platform{border-left:1px solid rgba(174,204,234,.15)}
.platform img{display:block;width:100%;height:auto;max-width:180px;margin:0 auto 10px}
.platform-label{color:#e6f0fa;font-size:.9rem;line-height:1.38;font-weight:650}
.platform-label span{display:block}
.platform-label small{display:block;margin-top:7px;color:#a9c0d5;font-size:.71rem;font-weight:450;letter-spacing:.015em}
.platforms-caption{margin:20px 0 0;padding-top:17px;border-top:1px solid rgba(174,204,234,.22);color:#bfd0e4;font-size:.82rem;line-height:1.65}
.platforms-scale{margin:9px 0 0;color:#9fb3c9;font-size:.66rem;letter-spacing:.035em}
@media(max-width:820px){.platforms-visual{max-width:600px;width:100%;margin:26px auto 0}.platform{padding:0 12px 14px}}
@media(max-width:520px){
  .platforms-visual{margin-top:20px}
  .platforms-grid{grid-template-columns:1fr}
  .platform{display:grid;grid-template-columns:112px minmax(0,1fr);gap:19px;align-items:center;padding:7px 0;text-align:left}
  .platform + .platform{border-left:0;border-top:1px solid rgba(174,204,234,.15)}
  .platform img{width:112px;margin:0}
  .platform-label{font-size:1rem}
  .platform-label small{font-size:.78rem;margin-top:6px}
  .platforms-caption{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v4: authorship, complete references and contact; the v3 visual system is retained. */
body{overflow-wrap:break-word}
main{min-width:0}
a{overflow-wrap:anywhere}
a:focus-visible{outline:3px solid #1d5ed8;outline-offset:4px;border-radius:3px}
.hero a:focus-visible{outline-color:#8fddd9}
.skip-link{position:absolute;left:12px;top:8px;z-index:100;padding:10px 16px;background:#fff;color:var(--ink);border:2px solid var(--accent);transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
[id]{scroll-margin-top:100px}
.hero-byline{margin:21px 0 0;color:#c2d2e5;font-size:.88rem;line-height:1.6}
.hero-byline a{color:#fff;font-weight:700;text-decoration-color:rgba(255,255,255,.42)}
.hero-byline span{display:block;color:#a9bfd6;font-size:.79rem}
.section-link{margin-top:24px}
.research-cards .card{display:flex;flex-direction:column}
.research-cards .tag{align-self:flex-start}
.research-cards .micro{padding-top:14px;margin-top:auto}
.about-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:38px;align-items:start}
.about-grid h2{font-size:clamp(1.8rem,3vw,2.55rem)}
.about-grid .independent-note{margin-top:15px;color:var(--muted);font-size:.88rem}
.contact-block{padding:6px 0 0 28px;border-left:1px solid #cdd9ee;min-width:0}
.contact-block p{color:#42536a;font-size:.93rem}
.contact-email{display:inline-block;margin:12px 0 14px;font-weight:700;font-size:.93rem}
.profile-links{display:flex;flex-wrap:wrap;gap:8px 15px;font-size:.83rem}
.page-hero .research-method-line{font-size:.85rem;line-height:1.7;margin-top:20px}
.research-body{padding-top:30px;padding-bottom:48px}
.research-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:0 0 26px;border-bottom:1px solid var(--line)}
.research-nav a{display:block;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:.8rem;font-weight:650;line-height:1.35;color:#42536a}
.research-nav a:hover{border-color:#a9bbd7;color:var(--accent)}
.research-topic{padding:34px 0 27px}
.topic-eyebrow{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;color:var(--accent);font-size:.74rem;font-weight:750;letter-spacing:.075em;text-transform:uppercase}
.topic-eyebrow span:last-child{color:var(--muted);letter-spacing:.03em;white-space:nowrap}
.content .research-topic h2{margin:10px 0 18px;font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.13;max-width:760px}
.research-topic>p{margin:0 0 14px}
.research-topic .paper-list{margin-top:23px}
.paper-list li{padding:16px 0}
.paper-authors{font-size:.82rem;line-height:1.6;color:#53647a;margin-bottom:5px}
.author-highlight{color:#203956;font-weight:650}
cite.paper-title{font-style:normal;font-size:.96rem;line-height:1.45}
.paper-title a{color:#18304e;text-decoration:none}
.paper-title a:hover{text-decoration:underline;text-underline-offset:3px}
.paper-meta{font-size:.82rem;line-height:1.6;margin-top:5px}
.paper-note{display:inline-block;color:#42536a;margin-left:6px;font-size:.78rem}
.paper-actions{display:flex;flex-wrap:wrap;gap:7px 20px;margin-top:7px;font-size:.78rem;line-height:1.6}
.paper-actions a{min-width:0}
.content .research-end h2{margin:0 0 12px;font-size:1.55rem}
.research-end{margin-top:20px}
.research-end p{margin:0}
.back-top{margin-top:22px;font-size:.86rem}
.application-note{margin-top:28px}
.application-note p+p{margin-top:12px}
.app-card .source{padding-top:4px;line-height:1.7}
@media(max-width:820px){
  [id]{scroll-margin-top:22px}
  .about-grid{grid-template-columns:1fr;gap:24px}
  .contact-block{padding:22px 0 0;border-left:0;border-top:1px solid #cdd9ee}
}
@media(max-width:520px){
  .hero-inner{padding-top:48px}
  .research-topic{padding:30px 0 20px}
  .research-body{padding-top:24px}
  .paper-authors{font-size:.8rem}
  .research-nav{gap:7px}
  .research-nav a{padding:8px 10px;font-size:.77rem}
  .topic-eyebrow{font-size:.69rem}
  .page-hero{padding:48px 0 36px}
  .page-hero h1{font-size:clamp(2.5rem,10vw,4rem);line-height:1.03}
}
@media print{
  .site-header{position:static}
  .skip-link,.site-header nav,.back-top,.research-nav,.hero-actions{display:none}
  .wrap{width:100%;max-width:none}
  body{background:#fff;color:#000;font-size:10pt}
  .hero{background:#fff;color:#000}
  .hero p,.hero a,.hero-byline span{color:#26384c}
  .hero-inner{min-height:0;padding:24px 0;grid-template-columns:1fr}
  .platforms-visual{display:none}
  .page-hero{padding:20px 0;background:#fff}
  section{padding:22px 0}
  .research-topic{padding:22px 0 10px}
  h2,h3,.topic-eyebrow{break-after:avoid}
  .paper-list li{break-inside:avoid}
  a{color:inherit}
}
