:root{--ink:#111;--paper:#f4f0e8;--white:#fff;--red:#e31b23;--muted:#6d6962;--line:rgba(17,17,17,.18);--max:1440px;--sans:"Inter",Arial,sans-serif;--display:"Arial Black","Helvetica Neue",sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.22em}
button{font:inherit}
.skip-link{position:fixed;z-index:100;left:1rem;top:1rem;transform:translateY(-180%);padding:.75rem 1rem;background:var(--white);color:var(--ink)}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,4vw,5rem);border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--paper)}
.brand{width:122px;background:var(--white);padding:.45rem .65rem;border:1px solid var(--ink)}
.site-menu{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.4rem);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.site-menu a{text-decoration:none}
.site-menu a:hover,.site-menu a:focus-visible{color:var(--red)}
.site-menu .menu-radio{padding:.7rem 1rem;border:1px solid var(--ink)}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--ink);background:transparent;padding:10px}
.menu-toggle span:not(.sr-only){display:block;height:2px;background:var(--ink);margin:4px 0}
.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);max-width:var(--max);margin:auto;padding:clamp(4rem,9vw,9rem) clamp(1.2rem,4vw,5rem);gap:clamp(3rem,6vw,8rem);align-items:center}
.eyebrow,.section-index{font-size:.7rem;line-height:1.3;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.eyebrow{color:var(--red)}
h1,h2,h3{max-width:100%;margin:0;overflow-wrap:anywhere;font-family:var(--display);letter-spacing:-.045em;line-height:.96}
h1{font-size:clamp(3.3rem,7.2vw,7.8rem);max-width:12ch}
h2{font-size:clamp(2.4rem,5vw,5.3rem)}
h3{font-size:clamp(1.6rem,3vw,3rem)}
.hero>*{min-width:0}
.hero-lede{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:680px;margin:2rem 0 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1rem;border:1px solid currentColor;text-decoration:none;font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.button:hover,.button:focus-visible{background:var(--ink);color:var(--white)}
.button-primary{background:var(--red);border-color:var(--red);color:var(--white)}
.button-primary:hover,.button-primary:focus-visible{background:#b90f16;border-color:#b90f16}
.hero-visual{aspect-ratio:1;position:relative;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}
.orbit{position:absolute;border:1px solid var(--ink);border-radius:50%}
.orbit-one{inset:12%;border-color:var(--red)}
.orbit-two{inset:26%;border-style:dashed}
.signal-core{width:34%;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--ink);color:var(--white);border-radius:50%;text-align:center}
.signal-core b{font-family:var(--display);font-size:clamp(1.7rem,4vw,4rem)}
.signal-core small{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}
.signal-label{position:absolute;padding:.35rem .55rem;background:var(--paper);border:1px solid var(--ink);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.label-input{left:-2%;top:22%}.label-model{right:-4%;top:43%}.label-air{left:17%;bottom:2%}
.section-pad{padding:clamp(5rem,10vw,10rem) clamp(1.2rem,6vw,7rem)}
.thesis{background:var(--ink);color:var(--white)}
.thesis .section-index{color:var(--red);margin-bottom:3rem}
.thesis-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:clamp(3rem,8vw,10rem);align-items:end;max-width:var(--max);margin:auto}
.thesis-copy{font-size:1.1rem}.thesis-copy p:first-child{margin-top:0}.thesis-copy p:last-child{margin-bottom:0;color:#c6c2bb}
.signals{max-width:1600px;margin:auto}
.section-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:4rem;align-items:end;margin-bottom:4rem}
.section-heading .section-index{margin-bottom:1.5rem;color:var(--red)}
.section-heading>p{max-width:430px;margin:0;color:var(--muted)}
.signal-report{border:1px solid var(--ink);padding:clamp(1.5rem,3vw,3rem);display:grid;gap:2.5rem;background:var(--white)}
.signal-report-wide{grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);align-items:center}
.report-no{float:right;font-family:var(--display);font-size:3rem;color:var(--red)}
.report-context h3{max-width:14ch;margin:.8rem 0 1.2rem}
.report-context p:not(.eyebrow){max-width:600px}
.report-context a{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.range-track{height:90px;border:1px solid var(--ink);padding:12px;display:flex;align-items:center}
.range-track span{height:100%;width:var(--bar);display:block;background:var(--red);transform-origin:left}
.range-values{display:flex;justify-content:space-between;font-family:var(--display);font-size:clamp(2rem,4vw,4rem)}
.range-chart small{display:block;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.1em}
.report-pair{display:grid;grid-template-columns:1.12fr .88fr;gap:1.2rem;margin-top:1.2rem}
.bar-chart{display:grid;gap:.8rem;align-content:end}.bar-row{display:grid;grid-template-columns:130px 1fr 44px;gap:.8rem;align-items:center;font-size:.72rem}.bar-row i{height:14px;background:#ddd7cd}.bar-row b{display:block;height:100%;width:var(--bar);background:var(--red);transform-origin:left}.bar-row strong{text-align:right}
.report-inverse{background:var(--red);color:var(--white);border-color:var(--red)}.report-inverse .eyebrow,.report-inverse .report-no{color:var(--ink)}
.podcast-numbers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid currentColor;border-bottom:1px solid currentColor}.podcast-numbers div{padding:1.2rem .4rem;text-align:center;border-right:1px solid currentColor}.podcast-numbers div:last-child{border:0}.podcast-numbers strong{display:block;font-family:var(--display);font-size:clamp(2rem,4vw,4rem)}.podcast-numbers span{text-transform:uppercase;font-size:.65rem;letter-spacing:.12em}
.attention-note{display:grid;grid-template-columns:.4fr 1.3fr auto;gap:2rem;align-items:center;margin-top:1.2rem;padding:2rem;border:1px solid var(--ink)}.attention-note>span{font-family:var(--display);font-size:clamp(2rem,4vw,4.5rem);color:var(--red)}.attention-note p{margin:0}.attention-note a{font-size:.7rem;font-weight:900;text-transform:uppercase}
.work{background:var(--ink);color:var(--white)}
.section-heading.light{max-width:var(--max);margin-left:auto;margin-right:auto}.section-heading.light>p{color:#aaa69f}
.work-story{background:var(--paper);color:var(--ink);display:grid;grid-template-rows:auto 1fr}.work-feature{grid-template-columns:1.2fr .8fr;grid-template-rows:none;max-width:var(--max);margin:auto}.work-image{min-height:300px;background:#cbc6bd;overflow:hidden}.work-image img{width:100%;height:100%;object-fit:cover}.work-copy{padding:clamp(2rem,5vw,5rem);align-self:center}.work-copy h3{margin:.8rem 0 1.2rem}.text-link{font-size:.72rem;font-weight:900;text-transform:uppercase}
.work-split{max-width:var(--max);margin:1.2rem auto 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:1.2rem}.work-text-only{background:var(--red);color:var(--white);position:relative;overflow:hidden;min-height:590px}.work-text-only .eyebrow{color:var(--ink)}
.work-signal{margin-top:1.2rem;background:#f4f0e8}.stream-stack{position:relative;min-height:360px;display:grid;align-content:center;gap:1rem;padding:clamp(2rem,5vw,5rem);overflow:hidden;background:#101112;color:var(--white)}.stream-stack span{position:relative;z-index:1;width:fit-content;padding:.55rem .75rem;border:1px solid #706c65;font-size:.7rem;font-weight:900;letter-spacing:.08em}.stream-stack i{position:absolute;left:18%;right:8%;height:2px;background:var(--red);transform-origin:left}.stream-stack i:nth-of-type(1){top:32%;transform:rotate(8deg)}.stream-stack i:nth-of-type(2){top:50%;transform:rotate(-4deg)}.stream-stack i:nth-of-type(3){top:68%;transform:rotate(5deg)}
.situation-lines{position:absolute;inset:auto 0 0;height:45%;display:flex;gap:4%;align-items:flex-end;padding:0 8%}.situation-lines span{width:21%;background:var(--ink)}.situation-lines span:nth-child(1){height:30%}.situation-lines span:nth-child(2){height:72%}.situation-lines span:nth-child(3){height:48%}.situation-lines span:nth-child(4){height:94%}
.capabilities{max-width:var(--max);margin:5rem auto 0;border-top:1px solid #4e4b47;padding-top:2rem}.capabilities ul{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.8rem}.capabilities li{border:1px solid #6a6660;padding:.65rem .85rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.method{max-width:var(--max);margin:auto}.method-intro{display:grid;grid-template-columns:.25fr 1fr .5fr;gap:3rem;align-items:end}.method-intro .section-index{color:var(--red)}.method-intro p{margin:0;color:var(--muted)}
.method-steps{list-style:none;padding:0;margin:5rem 0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.method-steps li{padding:1.5rem;border-right:1px solid var(--ink);min-height:260px}.method-steps li:last-child{border:0}.method-steps span{color:var(--red);font-family:var(--display)}.method-steps h3{font-size:1.4rem;margin:4rem 0 1rem}.method-steps p{font-size:.88rem;color:var(--muted)}
.principles{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:1.5rem;border-top:6px solid var(--red);padding-top:1.5rem}.principles h3{font-size:2rem}.principles strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.principles p{font-size:.86rem;color:var(--muted)}
.closing{background:var(--red);color:var(--white)}.closing>*{max-width:1100px}.closing .eyebrow{color:var(--ink)}.closing>p:not(.eyebrow){font-size:1.2rem}.closing .button-primary{background:var(--ink);border-color:var(--ink)}.closing .button:not(.button-primary):hover{background:var(--white);color:var(--ink)}
.site-footer{background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr 1fr auto;gap:4rem;padding:4rem clamp(1.2rem,6vw,7rem);font-size:.82rem}.site-footer img{width:100px;background:var(--white);padding:.35rem}.site-footer address{font-style:normal}.site-footer nav{display:flex;flex-direction:column;gap:.45rem;text-align:right}
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.js [data-reveal].is-visible{opacity:1;transform:none}.js [data-bar]{transform:scaleX(0);transition:transform 1s cubic-bezier(.2,.8,.2,1)}.js .is-visible [data-bar],.js [data-bar].is-visible{transform:scaleX(1)}
:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:980px){.menu-toggle{display:block}.site-menu{position:absolute;left:0;right:0;top:84px;display:none;background:var(--paper);border-bottom:1px solid var(--ink);padding:1.5rem;flex-direction:column;align-items:flex-start}.site-menu[data-open="true"]{display:flex}.hero{grid-template-columns:1fr}.hero-visual{max-width:580px;width:85%;margin:auto}.thesis-grid,.section-heading,.signal-report-wide,.work-feature,.method-intro{grid-template-columns:1fr}.report-pair,.work-split{grid-template-columns:1fr}.method-steps{grid-template-columns:1fr 1fr}.method-steps li{border-bottom:1px solid var(--ink);min-height:210px}.principles{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr 1fr}.site-footer nav{text-align:left}.attention-note{grid-template-columns:1fr}}
@media(max-width:600px){h1{font-size:clamp(2.75rem,13vw,3.5rem)}.eyebrow{overflow-wrap:anywhere}.hero{min-height:auto;padding-top:5rem}.hero-visual{width:100%}.signal-label{font-size:.55rem}.bar-row{grid-template-columns:92px 1fr 38px}.podcast-numbers strong{font-size:1.8rem}.method-steps,.principles,.site-footer{grid-template-columns:1fr}.method-steps li{border-right:0}.site-footer{gap:2rem}.work-text-only{min-height:480px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal],.js [data-bar]{opacity:1;transform:none;transition:none}}
