@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#0b0d10;--ink:#f0f1f2;--muted:#a4a9b2;--blue:#88b4ff;--line:#2b3038}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2.1875rem}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:1.0625rem;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible{outline:0.1875rem solid var(--blue);outline-offset:0.4375rem}a:hover{color:var(--blue)}header{height:6.75rem;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:0.0625rem solid var(--line)}.wordmark{font-family:Manrope,sans-serif;font-size:1.25rem;font-weight:800;letter-spacing:.1em;display:flex;align-items:center;gap:1rem}.brand-line{height:1.375rem;width:0.1875rem;background:var(--blue);transform:skew(-20deg)}nav{display:flex;gap:2rem;align-items:center;font-size:0.875rem}.nav-cta{border:0.0625rem solid #616874;padding:0.5625rem 1.0625rem}.hero{position:relative;min-height:44.375rem;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;z-index:-2;right:0;top:0;width:65%;height:100%}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:54% 40%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),transparent 47%),linear-gradient(0deg,var(--bg),transparent 35%)}.hero-copy{padding:6.4375rem 6% 7.8125rem;max-width:55rem}.eyebrow{font-size:0.75rem;letter-spacing:.17em;color:var(--blue);font-weight:600;margin:0 0 1.875rem}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(3.4375rem,6.7vw,6.5rem);font-weight:500;line-height:1.07;letter-spacing:-.065em;margin:0 0 1.875rem}em{font-style:normal;color:var(--blue)}.intro{font-size:1.1875rem;max-width:25.625rem;color:#c2c6cc;line-height:1.65}.actions{display:flex;gap:2rem;align-items:center;margin-top:2.25rem}.button{display:inline-block;background:var(--blue);color:#0b1220;padding:0.8125rem 1.5rem;font-size:0.875rem;font-weight:700}.button:hover{background:#b5cfff;color:#0b1220}.text-link{display:inline-block;font-size:0.875rem;border-bottom:0.0625rem solid #65738b;padding-bottom:0.25rem}.hero-bottom{position:absolute;bottom:1.8125rem;left:6%;right:6%;display:flex;justify-content:space-between;color:#9aa1ac;font-size:0.6875rem;letter-spacing:.17em;border-top:0.0625rem solid var(--line);padding-top:1.4375rem}.section{padding:5.9375rem 8%;border-top:0.0625rem solid var(--line);scroll-margin-top:1.25rem}.section-head{display:flex;justify-content:space-between}.small-label{font-size:0.8125rem;color:var(--muted)}h2{font-family:Manrope,sans-serif;font-size:clamp(2.0625rem,4vw,3.5625rem);font-weight:500;line-height:1.18;letter-spacing:-.045em;margin:0 0 1.875rem}.writing-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;margin:1rem 0 3.75rem}.writing-grid p,.about-body p{color:var(--muted);margin:0 0 1.375rem}.section-intro{font-size:1.4375rem;line-height:1.5;color:var(--ink)!important}.release-row{display:grid;grid-template-columns:3.125rem 1fr 1.2fr auto;gap:1.5rem;align-items:center;border-top:0.0625rem solid var(--line);padding:1.5rem 0}.release-row:last-child{border-bottom:0.0625rem solid var(--line)}.release-number{color:var(--blue);font-family:Georgia,serif;font-size:1.6875rem}.release-row h3{font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:500;margin:0}.release-row p{color:var(--muted);font-size:0.9375rem;margin:0}.status{font-size:0.75rem;border:0.0625rem solid #3c4658;padding:0.1875rem 0.75rem;color:#bccbe2;border-radius:1.25rem}.perspective{background:#101722;position:relative}.perspective-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:2.8125rem}.statement{font-size:1.625rem;line-height:1.55;border-left:0.125rem solid var(--blue);padding-left:1.5625rem;color:#d2ddef}.perspective-grid div{color:#aeb9ca}.perspective-grid p{margin-top:0}.about{display:grid;grid-template-columns:1.15fr 1fr;gap:10%}.updates{text-align:center;padding-top:5.625rem;padding-bottom:5.9375rem;background:radial-gradient(ellipse at 50% 100%,#15243d,transparent 75%)}.updates h2{font-size:clamp(3.0625rem,6vw,4.9375rem);margin-bottom:1.625rem}.updates>p:not(.eyebrow){color:#b7bfca}.coming-soon{display:inline-block;margin:0.9375rem 0 0;border:0.0625rem solid #59708f;padding:0.8125rem 1.5rem;letter-spacing:.12em;font-size:0.75rem;color:#a9c8fd}.small-note{font-size:0.8125rem}footer{padding:2.25rem 6%;display:flex;justify-content:space-between;align-items:center;gap:1.25rem;border-top:0.0625rem solid var(--line);font-size:0.75rem;color:var(--muted)}footer .wordmark{font-size:0.9375rem;color:var(--ink)}.skip{position:absolute;top:-6.25rem;left:0.625rem;z-index:20;background:white;color:black;padding:0.625rem}.skip:focus{top:0.625rem}.sr-only{position:absolute;width:0.0625rem;height:0.0625rem;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:100rem){body{max-width:112.5rem;margin:auto}.hero{min-height:53.125rem}.hero-copy{padding-top:9.375rem}}@media(max-width:47.5rem){header{height:auto;min-height:6.5625rem;flex-wrap:wrap;gap:1rem;padding:1.375rem 6%}nav{gap:1.25rem;justify-content:space-between;width:100%;font-size:0.8125rem}.nav-cta{padding:0.25rem 0.5625rem}.wordmark{font-size:1.0625rem}.hero{min-height:53.125rem}.hero-photo{width:100%;height:29.375rem;top:0;opacity:.85}.hero-photo img{object-position:57% 30%}.hero-photo:after{background:linear-gradient(0deg,var(--bg),transparent 65%)}.hero-copy{padding:21.5625rem 6% 7.5rem}.hero h1{font-size:3.75rem}.eyebrow{font-size:0.6875rem;margin-bottom:1.375rem}.intro{font-size:1.0625rem}.hero-bottom{font-size:0.5625rem;gap:1.25rem}.section{padding:4.0625rem 6%}.section-head{gap:1.25rem}.small-label{font-size:0.75rem}.writing-grid,.perspective-grid,.about{grid-template-columns:1fr;gap:1.375rem}.writing-grid{margin-bottom:2.25rem}.release-row{grid-template-columns:1.5625rem 1fr auto;gap:0.9375rem;padding:1.375rem 0}.release-row p{grid-column:2/4;grid-row:2;font-size:0.875rem}.release-row h3{font-size:1.375rem}.status{font-size:0.6875rem;padding:0.125rem 0.5rem}.perspective-grid{margin-top:1.875rem}.statement{font-size:1.5rem}.about h2{margin-bottom:0.5rem}footer{flex-wrap:wrap;padding:1.875rem 6%;gap:0.3125rem 1.25rem}footer p{width:100%;order:3;margin:0.5rem 0}.actions{gap:1.5625rem}.updates br{display:none}.updates h2 br{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

[hidden]{display:none!important}.publication-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}.publication{display:grid;grid-template-columns:8.125rem minmax(0,1fr);gap:1.5625rem;border-top:0.0625rem solid var(--line);padding-top:1.875rem;align-items:start}.publication.without-cover{grid-template-columns:1fr}.publication-cover{width:100%;height:auto;display:block}.publication-body{min-width:0;overflow-wrap:anywhere}.publication .eyebrow{margin-bottom:0.75rem}.publication h3{font-family:Manrope,sans-serif;font-size:1.625rem;line-height:1.25;font-weight:500;margin:0 0 1rem}.publication-description{color:var(--muted);font-size:1rem}.publication-links{display:flex;flex-wrap:wrap;gap:1rem}.publication-links:empty{display:none}@media(max-width:65.625rem){.publication-catalog{grid-template-columns:1fr}}@media(max-width:28.125rem){.publication{grid-template-columns:5.9375rem minmax(0,1fr);gap:1.25rem}.publication h3{font-size:1.4375rem}}

/* Low-vision mockup: relative sizing, readable labels, flexible layout. */
html{font-size:100%;scroll-padding-top:2rem}
body{font-size:1.125rem;line-height:1.75}
header{height:auto;min-height:6.75rem;flex-wrap:wrap;gap:1.25rem;padding-block:1.5rem}
nav{flex-wrap:wrap;gap:1rem 1.5rem;margin-left:auto;font-size:1rem;width:auto}
nav a{display:inline-flex;align-items:center;min-height:2.75rem}
.nav-cta{padding:.5rem 1rem}
.theme-toggle{font:inherit;font-size:1rem;line-height:1.4;font-weight:600;min-height:2.75rem;padding:.65rem 1rem;border:1px solid var(--muted);background:transparent;color:var(--ink);cursor:pointer}
.theme-toggle:hover{background:var(--ink);color:var(--bg)}
button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.eyebrow{font-size:.9375rem;letter-spacing:.1em;line-height:1.6}
.hero h1{font-size:clamp(3rem,6.7vw,6.5rem);line-height:1.15;letter-spacing:-.025em}
h2{font-size:clamp(2rem,4vw,3.5625rem);line-height:1.25;letter-spacing:-.02em}
.intro{font-size:1.25rem;max-width:28rem}
.hero-copy{max-width:58rem;padding-bottom:4rem}
.hero-photo{opacity:.65}
.hero-photo:after{background:linear-gradient(90deg,var(--bg),transparent 85%),linear-gradient(0deg,var(--bg),transparent 70%)}
.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:0 6% 2rem;gap:1rem;flex-wrap:wrap;font-size:.875rem;letter-spacing:.08em;color:var(--muted)}
.actions{flex-wrap:wrap;gap:1.25rem 2rem}
.button,.text-link{font-size:1rem;min-height:2.75rem;align-content:center}
.small-label,.small-note,.status,.coming-soon,footer{font-size:.9375rem}
.release-row p,.publication-description{font-size:1.0625rem}
.section-head{flex-wrap:wrap;gap:1rem}
.status{white-space:normal}
footer{flex-wrap:wrap}
footer .wordmark{font-size:1.125rem}
.updates h2{font-size:clamp(3rem,6vw,4.9375rem);letter-spacing:-.025em}
.intro,.writing-grid p,.about-body p,.perspective-grid div,.updates>p:not(.eyebrow){color:var(--muted)}
.perspective{background:var(--panel,#101722)}
.statement{color:var(--ink)}
.updates{background:var(--panel,#101722)}
.status,.coming-soon{color:var(--blue);border-color:var(--muted)}
.hero-copy,.writing-grid>*,.perspective-grid>*,.about>*,.release-row>*{min-width:0;overflow-wrap:break-word}
[data-theme="light"]{color-scheme:light;--bg:#f8fafc;--ink:#142238;--muted:#415269;--blue:#164f9c;--line:#bac5d3;--panel:#e9eff7}
[data-theme="light"] .button{background:var(--blue);color:#fff}
[data-theme="light"] .button:hover{background:#103b77;color:#fff}
[data-theme="light"] .hero-photo{opacity:.55}
[data-theme="light"] .text-link{border-color:var(--blue)}
@media(max-width:65rem){.writing-grid,.perspective-grid,.about{grid-template-columns:1fr;gap:2rem}.hero-copy{max-width:48rem}}
@media(max-width:47.5rem){header{gap:1rem}.wordmark{font-size:1.125rem}nav{order:3;width:100%;justify-content:flex-start;margin-left:0;gap:.5rem 1.25rem}.theme-toggle{margin-left:auto}.hero{min-height:0}.hero-photo{height:23rem}.hero-copy{padding-top:21rem;padding-bottom:2.5rem}.hero h1{font-size:3rem}.intro{font-size:1.125rem}.eyebrow{font-size:.9375rem}.hero-bottom{font-size:.875rem;gap:1rem}.small-label,.status{font-size:.9375rem}.release-row{grid-template-columns:1.75rem minmax(0,1fr);gap:.75rem 1rem}.release-row .status{grid-column:2;justify-self:start}.release-row p{grid-column:2;grid-row:auto;font-size:1.0625rem}.release-row h3{font-size:1.5rem}.section{padding:4rem 6%}.publication{grid-template-columns:1fr}.publication-cover{max-width:9rem}.updates br{display:none}.updates h2 br{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.theme-toggle[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
h1,h2,h3,p,.wordmark,.status,.coming-soon{overflow-wrap:anywhere}
.wordmark{flex-wrap:wrap;max-width:100%}
.release-row{min-width:0}.release-row>*{max-width:100%}
@media(max-width:30rem){.release-row{grid-template-columns:minmax(0,1fr)}.release-row>*{grid-column:1!important}.release-number{display:none}.coming-soon{max-width:100%}}

/* Keep the divider entirely below the portrait stage. */
.hero{min-height:0}
.hero-stage{position:relative;isolation:isolate;min-height:44.375rem}
@media(min-width:100rem){.hero-stage{min-height:53.125rem}}
@media(max-width:47.5rem){.hero-stage{min-height:0}}
