/* DESIGN TERMS: mimicking the act of revision; IBM Plex Mono at 0.6rem; (Google Fonts); IntersectionObserver — no external libraries. Lines draw at scroll-speed — faster scroll. Playfair Display at varying sizes italic: "The argument is never finished." These diagrams overlap and interact: circles slide into intersection positions as the user scrolls. */
:root{
	--burgundy:#5C1A2A;--cream:#F2E8D9;--orange:#C4561A;--ink:#1E1820;--plum:#2E2730;--mauve:#3A3238;--gold:#B8964E;--rose:#A86470;--gray:#C4B8B0;
	--display:"Archivo Black",Impact,sans-serif;--serif:"Playfair Display",Georgia,serif;--body:"Source Sans 3",Inter,sans-serif;--mono:"IBM Plex Mono","Courier New",monospace;
	--ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--cream)}
body{overflow-x:hidden;background:var(--cream);color:var(--plum);font-family:var(--body);font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.72;letter-spacing:.005em}
.site-mark{position:fixed;right:2rem;top:1.8rem;z-index:20;color:var(--burgundy);font-family:var(--mono);font-size:clamp(.72rem,.9vw,.85rem);letter-spacing:.04em;text-transform:uppercase;mix-blend-mode:difference}
.argument-strip{position:fixed;left:0;top:85vh;width:100vw;height:2px;z-index:12;pointer-events:none;overflow:visible}.argument-strip path{fill:none;stroke:var(--burgundy);stroke-width:1;filter:none}.argument-strip.glow path{animation:stripGlow 2s var(--ease) both}
.section{position:relative;min-height:100vh;padding:clamp(180px,20vh,320px) 0;background:var(--cream);isolation:isolate}.section.dark{background:var(--ink);color:var(--gray)}
.premise{min-height:132vh;padding-top:10vh}.conclusion{min-height:118vh;display:flex;align-items:center}.content{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.5rem,3vw,3.5rem);width:100%;padding:0 8vw}.hero-cluster{align-content:end;min-height:100vh;padding-bottom:16vh}.hero-title{grid-column:2/7;align-self:end;color:var(--burgundy);font-family:var(--display);font-size:clamp(5rem,15vw,12rem);font-weight:400;letter-spacing:-.03em;line-height:.82;text-transform:uppercase}.hero-line{grid-column:2/6;width:min(420px,100%);height:12px;margin-top:-1rem}.hero-line path,.section-break path,.formal-rule{fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.tagline{grid-column:2/6;color:var(--orange);font-family:var(--mono);font-size:clamp(.72rem,.9vw,.85rem);letter-spacing:.04em;text-transform:uppercase;opacity:0}.argument-copy{grid-column:2/6;max-width:580px}.premise .argument-copy{margin-top:clamp(7rem,13vh,12rem)}.section-subhead{margin-bottom:1.35rem;color:var(--mauve);font-family:var(--serif);font-size:clamp(1.4rem,3vw,2.4rem);font-style:italic;font-weight:400;letter-spacing:.02em;line-height:1.3}.dark .section-subhead{color:var(--cream)}.body-text{max-width:580px;color:var(--plum)}.dark .body-text{color:var(--gray)}
.data-viz{grid-column:8/12;width:100%;max-width:520px;overflow:visible;color:var(--plum);font-family:var(--mono);font-size:14px;letter-spacing:.04em;text-transform:uppercase}.premise .data-viz{grid-column:8/12;align-self:end;margin-top:clamp(7rem,13vh,12rem)}.data-viz text{fill:var(--plum);font-family:var(--mono)}.dark .data-viz text{fill:var(--gray)}.data-viz .viz-title{fill:var(--mauve);font-family:var(--serif);font-style:italic;font-size:16px;text-transform:none}.dark .data-viz .viz-title{fill:var(--cream)}.logic-node,.large-node,.venn-circle{fill:none;stroke:var(--burgundy);stroke-width:1.5;transform-box:fill-box;transform-origin:center}.draw-line,.table-grid{fill:none;stroke:var(--burgundy);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.arrowed{marker-end:url(#arrow)}.orange-line{stroke:var(--orange)}.rose-line{stroke:var(--rose)}.gold-line{stroke:var(--gold)}.dashed{stroke-dasharray:6 5}.orange-node{stroke:var(--orange)}.rose-node{stroke:var(--rose)}.gold-node{stroke:var(--gold)}.accent,.data-viz .accent{fill:var(--orange);color:var(--orange)}.rose,.data-viz .rose{fill:var(--rose);color:var(--rose)}.gold,.data-viz .gold{fill:var(--gold);color:var(--gold)}.serif-label{font-family:var(--serif)!important;font-style:italic!important;text-transform:none!important}.intersection-fill{fill:url(#hatch);opacity:0}.viz-row{grid-column:8/12;display:flex;flex-wrap:wrap;gap:2.4rem;align-content:flex-start}.small{max-width:190px}.venn,.branch-map{grid-column:7/12;max-width:560px}.split-cluster{align-items:start}.section-number{position:absolute;left:2vw;top:clamp(5rem,8vw,9rem);z-index:1;color:var(--burgundy);font-family:var(--display);font-size:clamp(4rem,10vw,9rem);letter-spacing:-.05em;line-height:.8;opacity:.08}.dark .section-number{color:var(--cream)}
.margin-annotation{position:absolute;right:4vw;top:16vh;z-index:3;max-width:220px;color:var(--orange);font-family:var(--mono);font-size:clamp(.72rem,.9vw,.85rem);letter-spacing:.04em;line-height:1.8;text-transform:uppercase}.margin-annotation span{display:inline-block;margin-right:.45rem;font-size:1.45em}.truth-texture{position:absolute;inset:auto 8vw 10vh auto;z-index:0;color:var(--burgundy);font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;line-height:1.9;opacity:.06;white-space:pre;text-transform:uppercase}.dark .truth-texture{color:var(--cream);opacity:.04}.asterisk-cluster{margin-top:4rem;color:var(--gold);font-family:var(--serif);letter-spacing:1rem}.asterisk-cluster span:nth-child(1){font-size:1rem}.asterisk-cluster span:nth-child(2){font-size:2.3rem}.asterisk-cluster span:nth-child(3){font-size:1.5rem}.erasure{position:relative;color:var(--orange);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--orange);white-space:nowrap}.erasure span{position:absolute;left:0;top:-1.55em;color:var(--orange);font-family:var(--mono);font-size:.72em;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.section-break{position:relative;height:clamp(180px,20vh,320px);background:var(--cream);display:flex;align-items:center}.dark+.section-break{background:var(--cream)}.section-break:has(+ .dark){background:var(--ink)}.section-break svg{position:absolute;left:0;width:100%;height:8px}.section-break span{margin-left:8vw;color:var(--orange);font-family:var(--mono);font-size:clamp(.72rem,.9vw,.85rem);letter-spacing:.04em;text-transform:uppercase}.conclusion-cluster{align-items:center}.closing-title{grid-column:2/7;color:var(--burgundy);font-family:var(--display);font-size:clamp(4rem,12vw,9rem);font-weight:400;letter-spacing:-.03em;line-height:.92;text-transform:uppercase}.closing-text{grid-column:8/12;color:var(--mauve);font-family:var(--serif);font-size:clamp(1.4rem,3vw,2.4rem);font-style:italic}.coda{grid-column:2/6;max-width:580px;margin-top:2rem;color:var(--plum)}
.reveal-block{opacity:0;transform:translateY(24px)}.in-view .reveal-block{animation:fadeRise .5s var(--ease) forwards}.in-view .reveal-block:nth-child(2){animation-delay:.1s}.in-view .reveal-block:nth-child(3){animation-delay:.2s}.hero-title{opacity:0;transform:translateY(18px);animation:fadeRise .7s var(--ease) .15s forwards}.hero-line path{animation:drawLine .8s var(--ease) 1.2s forwards}.tagline{animation:fadeOnly .6s var(--ease) 1.9s forwards}.section-break.in-view path,.in-view .formal-rule{animation:drawLine .8s var(--ease) forwards}.draw-line{stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400)}.in-view .draw-line{animation:drawSvg .9s var(--ease) forwards}.in-view .logic-node{animation:nodePulse .6s var(--ease) forwards}.venn-circle.left{transform:translateX(-36px)}.venn-circle.right{transform:translateX(36px)}.in-view .venn-circle{animation:vennSlide .8s var(--ease) forwards}.in-view .intersection-fill{animation:fadeOnly .8s var(--ease) .45s forwards}
@keyframes fadeRise{to{opacity:1;transform:translateY(0)}}
@keyframes fadeOnly{to{opacity:1}}
@keyframes drawLine{to{stroke-dashoffset:0}}
@keyframes drawSvg{to{stroke-dashoffset:0}}
@keyframes nodePulse{0%{opacity:0;transform:scale(.95)}100%{opacity:1;transform:scale(1)}}
@keyframes vennSlide{to{opacity:1;transform:translateX(0)}}
@keyframes stripGlow{0%,100%{filter:drop-shadow(0 0 0 var(--burgundy));opacity:1}50%{filter:drop-shadow(0 0 20px var(--burgundy));opacity:.6}}
@media (max-width:1024px){.content{grid-template-columns:repeat(8,1fr);padding:0 6vw}.hero-title,.hero-line,.tagline,.argument-copy,.closing-title,.coda{grid-column:1/5}.data-viz,.premise .data-viz,.viz-row,.venn,.branch-map,.closing-text{grid-column:5/9}.margin-annotation{right:6vw;max-width:180px}}
@media (max-width:767px){.site-mark{right:24px;top:24px}.section{padding:clamp(120px,16vh,180px) 0}.premise{min-height:120vh}.content{display:block;padding:0 24px}.hero-cluster{min-height:100vh;padding-bottom:13vh}.hero-title{font-size:clamp(4rem,18vw,6.5rem)}.hero-line{width:88%;margin:.5rem 0}.tagline{margin-top:1rem}.argument-copy,.premise .argument-copy,.premise .data-viz,.data-viz,.viz-row,.venn,.branch-map,.closing-title,.closing-text,.coda{margin-top:3rem;max-width:100%;width:100%}.small{max-width:100%}.viz-row{display:block}.section-number{font-size:clamp(2.5rem,8vw,4rem);left:24px}.margin-annotation{position:relative;right:auto;top:auto;margin:3rem 24px 0;max-width:none}.truth-texture{right:24px}.section-break span{margin-left:24px}.erasure{white-space:normal}.erasure span{white-space:normal;min-width:220px}.closing-title{font-size:clamp(3.5rem,16vw,6rem)}}
