@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root { --ink:#101712; --muted:#59635b; --line:#dce3dc; --cream:#f7f8f4; --paper:#fff; --green:#82c447; --green-deep:#4c8d22; --dark:#0b100d; --dark-2:#121a14; --brand-v:#71dc93; --brand-i:#8dc7ff; --brand-t:#f5c66c; --brand-a:#d6a8ff; --brand-r:#ff9c8e; --mono:"DM Mono", monospace; --sans:"Manrope", Arial, sans-serif; --serif:"Playfair Display", Georgia, serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); line-height:1.55; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:30; padding:.65rem 1rem; color:white; background:var(--dark); border-radius:.35rem; transition:top .2s; }
.skip-link:focus { top:1rem; }
.section-shell { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.site-header { position:absolute; top:0; left:0; z-index:10; display:flex; align-items:center; justify-content:space-between; width:100%; padding:1.45rem max(24px, calc((100vw - 1180px) / 2)); color:white; }
.wordmark { position:relative; z-index:2; font-weight:800; font-size:1.78rem; line-height:1; letter-spacing:-.09em; }
.brand-v { color:var(--brand-v); }.brand-i { color:var(--brand-i); }.brand-t { color:var(--brand-t); }.brand-a { color:var(--brand-a); }.brand-r { color:var(--brand-r); }
.site-nav { display:flex; gap:1.65rem; font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.055em; }
.site-nav a { opacity:.68; transition:opacity .2s; }
.site-nav a:hover, .site-nav a:focus { opacity:1; }
.menu-toggle { display:none; border:0; background:none; padding:.4rem; color:white; }
.menu-toggle span { display:block; width:22px; height:1px; margin:5px 0; background:currentColor; }
.hero { position:relative; width:100%; max-width:none; min-height:760px; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; margin-inline:0; padding:9.25rem max(24px, calc((100vw - 1180px) / 2)) 7rem; color:#f8fbf8; text-align:center; background:var(--dark); }
.hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 42%, rgba(130,196,71,.17), transparent 27%), radial-gradient(circle at 14% 103%, rgba(51,94,51,.28), transparent 30%), linear-gradient(180deg, #0c120e 0%, #0b100d 100%); }
.hero-orbit { position:absolute; left:50%; top:48%; border:1px solid rgba(180,225,149,.15); border-radius:50%; transform:translate(-50%,-50%) rotate(-20deg); pointer-events:none; }
.orbit-one { width:min(83vw,1040px); height:360px; }.orbit-two { width:min(62vw,760px); height:680px; transform:translate(-50%,-50%) rotate(62deg); }
.hero > *:not(.hero-orbit) { position:relative; z-index:1; }
.eyebrow, .metric-kicker { margin:0 0 1rem; color:var(--green-deep); font:500 .67rem/1.3 var(--mono); letter-spacing:.13em; text-transform:uppercase; }
.hero .eyebrow { color:#b8d99a; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:1040px; margin-bottom:1.3rem; font-size:clamp(2.45rem,5.25vw,5rem); font-weight:700; line-height:1.08; letter-spacing:-.067em; }.title-brand { white-space:nowrap; }
.authors { margin-bottom:1.35rem; color:#d1d8d1; font-size:1rem; }
.hero-summary { max-width:560px; margin-bottom:2.45rem; color:#afbbb0; font-size:clamp(1rem,1.65vw,1.2rem); }
.link-grid { display:flex; justify-content:center; gap:.7rem; flex-wrap:wrap; }
.project-link { min-width:136px; display:flex; align-items:center; gap:.67rem; padding:.75rem .9rem; text-align:left; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); border-radius:.45rem; transition:transform .2s,background .2s,border-color .2s; }
.project-link:hover { transform:translateY(-3px); background:rgba(130,196,71,.16); border-color:rgba(169,222,119,.65); }
.project-link svg { width:19px; stroke:currentColor; stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round; }.project-link strong,.project-link small { display:block; }.project-link strong { font-size:.78rem; }.project-link small { margin-top:.03rem; color:#aeb9af; font:400 .61rem var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.project-link--muted { opacity:.65; cursor:default; }.project-link--muted:hover { transform:none; background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18); }
.scroll-cue { position:absolute !important; bottom:2rem; display:flex; align-items:center; gap:.65rem; color:#9da99e; font:400 .63rem var(--mono); letter-spacing:.05em; text-transform:uppercase; }.scroll-cue i { position:relative; width:33px; height:1px; background:var(--green); }.scroll-cue i::after { content:""; position:absolute; right:0; top:-2px; width:5px; height:5px; border-right:1px solid var(--green); border-bottom:1px solid var(--green); transform:rotate(-45deg); }
.content-section { padding:7rem 0; }.content-section--tint { background:var(--cream); }.content-section--dark { background:var(--dark); color:#edf2ed; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:2.85rem; }.section-heading > div { max-width:700px; }.section-heading h2 { margin-bottom:0; font-size:clamp(2rem,3.4vw,3.35rem); font-weight:700; line-height:1.13; letter-spacing:-.055em; }.heading-copy { max-width:345px; margin:0 0 .15rem; color:var(--muted); font-size:.93rem; }.section-heading--inverse .eyebrow { color:#b8d99a; }.section-heading--inverse .heading-copy { color:#aab5aa; }
.text-link { flex:none; color:var(--green-deep); font:500 .72rem var(--mono); letter-spacing:.04em; text-transform:uppercase; }.text-link span { margin-left:.3rem; font-size:1rem; }.overview-video { margin-bottom:3.5rem; padding:1.2rem; background:var(--dark); border:1px solid #273328; box-shadow:0 18px 44px rgba(22,36,23,.13); }.overview-video__header,.overview-video__footer { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; }.overview-video__header { padding:.1rem .15rem 1rem; }.overview-video__header .eyebrow { margin-bottom:.35rem; color:#b8d99a; }.overview-video__header h3 { margin:0; color:#eff5ee; font:600 clamp(1.3rem,2.2vw,2rem)/1.2 var(--serif); letter-spacing:-.035em; }.overview-video__header > span { color:#b8d99a; font:500 .72rem var(--mono); letter-spacing:.04em; }.overview-video__stage { position:relative; display:grid; place-items:center; aspect-ratio:16/9; overflow:hidden; background:#050705; }.overview-video__poster { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; }.overview-video video { position:relative; z-index:1; display:block; width:100%; height:100%; background:transparent; object-fit:contain; opacity:1; }.overview-video__footer { padding:1rem .15rem .15rem; }.overview-video__footer p { max-width:680px; margin:0; color:#b4c1b5; font-size:.84rem; }.figure-frame { overflow:hidden; background:#e9ece6; border:1px solid var(--line); box-shadow:0 18px 44px rgba(22,36,23,.09); }.paper-figure { margin:0; }.paper-figure a, .figure-frame a { position:relative; display:block; line-height:0; }.figure-frame img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; transition:transform .45s ease; }.figure-frame:hover img { transform:scale(1.012); }.figure-frame--teaser { background:#121714; }.figure-expand { position:absolute; right:1rem; top:1rem; padding:.47rem .7rem; color:white; background:rgba(10,16,12,.78); border:1px solid rgba(255,255,255,.3); border-radius:.3rem; font:400 .63rem/1.2 var(--mono); opacity:0; transition:opacity .2s; }.figure-frame:hover .figure-expand { opacity:1; }.figure-caption { max-width:790px; margin:1rem 0 0; color:var(--muted); font-size:.86rem; }.overview-detail { margin-top:4.6rem; padding-top:4.6rem; border-top:1px solid var(--line); }.overview-detail__heading { display:flex; align-items:baseline; justify-content:space-between; gap:2rem; margin-bottom:1.25rem; }.overview-detail__heading > p:last-child { max-width:570px; margin-bottom:0; color:var(--muted); font-size:.88rem; }.figure-frame--light { background:white; }.method-notes { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; padding-top:2.45rem; }.method-notes article { padding-top:1rem; border-top:1px solid #cfd7ce; }.method-notes span { color:var(--green-deep); font:500 .67rem var(--mono); }.method-notes h3 { margin:.55rem 0 .42rem; font-size:1rem; letter-spacing:-.025em; }.method-notes p { margin:0; color:var(--muted); font-size:.84rem; }
.metric-row { display:grid; grid-template-columns:1fr 1fr 1.08fr; gap:1rem; margin-bottom:3.8rem; }.metric-card { min-height:226px; padding:1.65rem; background:var(--cream); border:1px solid var(--line); }.metric-card p { color:var(--muted); font-size:.77rem; }.metric-card strong { display:block; margin:.15rem 0 .5rem; color:var(--green-deep); font-size:clamp(2.8rem,5.2vw,4.4rem); line-height:1; letter-spacing:-.08em; }.metric-card strong span { font-size:.53em; }.metric-card small { display:block; max-width:190px; color:var(--muted); font-size:.71rem; line-height:1.45; }.metric-card--statement { display:flex; flex-direction:column; justify-content:center; background:var(--dark-2); border-color:var(--dark-2); }.metric-card--statement .metric-kicker { color:#b8d99a; }.metric-card--statement p { margin:0; color:#f1f5f1; font:600 clamp(1.17rem,1.7vw,1.5rem)/1.35 var(--serif); }.result-visual { display:grid; grid-template-columns:.7fr 1.3fr; align-items:center; gap:3.3rem; }.result-copy h3 { margin:.45rem 0 1rem; font:600 clamp(1.75rem,2.7vw,2.65rem)/1.18 var(--serif); letter-spacing:-.04em; }.result-copy p { color:var(--muted); font-size:.9rem; }.result-copy .text-link { display:inline-block; margin-top:.5rem; }.figure-frame--chart { box-shadow:none; }
.video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.video-card { overflow:hidden; border:1px solid #2c392e; background:#111a13; }.video-meta { display:flex; justify-content:space-between; align-items:center; padding:.72rem .9rem; color:#a8b5aa; font:400 .62rem var(--mono); letter-spacing:.05em; text-transform:uppercase; }.video-meta span { color:#b8d99a; }.video-meta p { margin:0; }.video-stage { position:relative; background:#050705; }.video-card video { position:relative; z-index:1; display:block; width:100%; height:auto; max-width:100%; aspect-ratio:auto; background:#050705; }.video-poster { position:absolute; z-index:2; inset:0; display:block; width:100%; height:100%; object-fit:cover; pointer-events:none; opacity:1; transition:opacity .18s ease; }.video-card.is-video-playing .video-poster { opacity:0; }.video-copy { padding:1rem .95rem 1.1rem; }.video-copy h3 { margin-bottom:.25rem; font:600 1.24rem/1.2 var(--serif); }.video-copy p { margin:0; color:#aab5aa; font-size:.78rem; }
.site-footer { display:grid; grid-template-columns:auto 1fr; gap:.4rem 2rem; padding:2.1rem 0 2.3rem; }.site-footer .wordmark { color:var(--ink); }.site-footer p { margin:0; color:var(--muted); font-size:.76rem; }.site-footer .footer-note { grid-column:2; font-size:.64rem; }
.section-reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease,transform .6s ease; }.section-reveal.is-visible { opacity:1; transform:none; }
@media (max-width:760px) { .section-shell { width:min(100% - 32px, 1180px); }.site-header { padding:1rem 16px; }.wordmark { font-size:1.52rem; }.menu-toggle { position:relative; z-index:3; display:block; }.site-nav { position:absolute; top:0; left:0; right:0; display:none; padding:5.2rem 1rem 1.5rem; background:#111a13; border-bottom:1px solid #2c392e; flex-direction:column; gap:1rem; text-align:center; }.site-nav.is-open { display:flex; }.site-nav a { font-size:.76rem; opacity:1; }.hero { min-height:690px; padding:7.5rem 0 6.5rem; }.orbit-one { width:130vw; }.orbit-two { width:115vw; }.hero h1 { font-size:clamp(2.2rem,10.5vw,3.5rem); }.hero-summary { padding-inline:1rem; }.content-section { padding:4.8rem 0; }.section-heading { display:block; margin-bottom:2rem; }.section-heading h2 { font-size:clamp(1.9rem,8vw,2.6rem); }.heading-copy { max-width:100%; margin-top:1rem; }.overview-video { margin-bottom:2.3rem; padding:.7rem; }.overview-video__header,.overview-video__footer { display:block; }.overview-video__header > span { display:block; margin-top:.6rem; }.overview-video__footer p { margin-bottom:.75rem; }.overview-detail { margin-top:3.2rem; padding-top:3.2rem; }.overview-detail__heading { display:block; margin-bottom:1rem; }.overview-detail__heading > p:last-child { margin-top:.65rem; }.method-notes,.metric-row,.result-visual,.video-grid { grid-template-columns:1fr; }.method-notes { gap:1.1rem; padding-top:1.6rem; }.metric-row { gap:.75rem; margin-bottom:2.6rem; }.metric-card { min-height:auto; }.result-visual { gap:1.8rem; }.figure-expand { display:none; }.site-footer { grid-template-columns:1fr; gap:.6rem; }.site-footer .footer-note { grid-column:auto; }.scroll-cue { bottom:1.4rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.section-reveal { opacity:1; transform:none; transition:none; }.figure-frame img,.project-link { transition:none; } }
