:root{
  --paper:#f2eee5;
  --paper-deep:#e8e0d2;
  --paper-light:#faf7f0;
  --ink:#181914;
  --muted:#68675f;
  --line:rgba(24,25,20,.2);
  --line-soft:rgba(24,25,20,.1);
  --forest:#26382f;
  --forest-2:#1c2a24;
  --rust:#b85235;
  --rust-soft:#d98b72;
  --blue:#406c83;
  --violet:#6d638b;
  --serif:"Newsreader",Georgia,serif;
  --sans:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --shell:min(1320px,calc(100vw - 64px));
  --ease:cubic-bezier(.2,.72,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit}
::selection{background:var(--rust);color:#fff}

.skip-link{position:fixed;z-index:1000;left:1rem;top:-5rem;padding:.75rem 1rem;background:var(--ink);color:#fff;text-decoration:none}
.skip-link:focus{top:1rem}
.shell{width:var(--shell);margin-inline:auto}
.section-space{padding-block:clamp(7rem,11vw,11rem)}
.section-code{margin:0;font:500 .67rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rust)}
.section-code.light{color:#efb39f}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

.atlas-header{position:fixed;z-index:100;inset:0 0 auto;height:76px;padding-inline:max(32px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease;border-bottom:1px solid transparent}
.atlas-header.is-scrolled{background:rgba(242,238,229,.9);border-color:var(--line-soft);backdrop-filter:blur(18px)}
.atlas-mark{display:flex;align-items:center;gap:.85rem;text-decoration:none}
.atlas-mark-initials{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font:500 .7rem var(--serif)}
.atlas-mark-name{font-size:.82rem;font-weight:600;letter-spacing:.01em}
.atlas-nav{display:flex;align-items:center;gap:1.45rem}
.atlas-nav a{text-decoration:none;font-size:.72rem;font-weight:600;color:#393932}
.atlas-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.menu-button{display:none;border:0;background:none;color:inherit;font-size:.75rem;font-weight:600;min-width:44px;min-height:44px}

.atlas-hero{min-height:100svh;padding-top:130px;padding-bottom:70px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;position:relative}
.atlas-hero::before{content:"";position:absolute;left:0;right:0;top:112px;border-top:1px solid var(--line-soft)}
.hero-index{grid-column:1/4;display:flex;flex-direction:column;justify-content:space-between;padding-top:20px;padding-bottom:2rem;color:var(--muted);font:400 .66rem/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.hero-index p{margin:0;max-width:220px}
.hero-copy{grid-column:4/10;padding-top:20px;align-self:start}
.hero-copy h1{margin:1.1rem 0 0;font:400 clamp(4.8rem,8vw,9.2rem)/.83 var(--serif);letter-spacing:-.06em;max-width:980px}
.hero-copy h1 em{font-style:italic;color:var(--rust)}
.hero-figure{grid-column:10/13;margin:20px 0 0;align-self:start}
.hero-figure img{width:100%;aspect-ratio:3/4.2;object-fit:cover;object-position:52% 35%;filter:saturate(.86) contrast(1.02)}
.hero-figure figcaption{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line);font-size:.7rem;line-height:1.55;color:var(--muted)}
.hero-figure figcaption span{display:block;margin-bottom:.25rem;font:500 .62rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--rust)}
.hero-thesis{grid-column:4/10;display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:start;margin-top:4rem;padding-top:1.4rem;border-top:1px solid var(--ink)}
.hero-thesis>p{margin:0;max-width:650px;font:400 clamp(1.25rem,1.8vw,1.65rem)/1.45 var(--serif)}
.hero-actions{display:flex;flex-direction:column;gap:.65rem;align-items:flex-start}
.hero-actions a{font-size:.76rem;font-weight:600;text-underline-offset:5px}

.signal-band{background:var(--ink);color:#f4eee4}
.signal-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.signal-grid>div{min-height:180px;padding:2.2rem 2rem;border-left:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;justify-content:center}
.signal-grid>div:last-child{border-right:1px solid rgba(255,255,255,.16)}
.signal-grid strong{font:400 clamp(2.1rem,3.7vw,4.1rem)/1 var(--serif);color:#e6a48f}
.signal-grid span{max-width:220px;margin-top:.7rem;color:#c7c1b7;font-size:.75rem;line-height:1.5}

.practice-section{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start}
.practice-rail{grid-column:1/5;position:sticky;top:120px;padding-right:2rem}
.practice-rail h2{margin:1rem 0 1.2rem;font:400 clamp(3rem,5vw,5.6rem)/.96 var(--serif);letter-spacing:-.05em}
.practice-rail>p:last-child{max-width:360px;color:var(--muted);font-size:.95rem}
.practice-flow{grid-column:6/13;position:relative}
.flow-line{position:absolute;left:25px;top:32px;bottom:48px;width:1px;background:linear-gradient(var(--rust),var(--blue) 54%,var(--forest));opacity:.7}
.flow-node{position:relative;display:grid;grid-template-columns:52px 1fr;gap:2rem;padding:0 0 4.5rem}
.flow-node:last-child{padding-bottom:0}
.node-number{z-index:1;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--paper);border:1px solid var(--ink);font:500 .65rem var(--mono);transition:background .25s ease,color .25s ease,transform .25s var(--ease)}
.flow-node:hover .node-number{background:var(--ink);color:#fff;transform:scale(1.06)}
.node-label{margin:0;color:var(--rust);font:500 .66rem var(--mono);text-transform:uppercase;letter-spacing:.11em}
.flow-node h3{max-width:760px;margin:.5rem 0 .75rem;font:400 clamp(2rem,3.35vw,3.8rem)/1.04 var(--serif);letter-spacing:-.035em}
.flow-node div>p:last-child{max-width:620px;margin:0;color:var(--muted);font-size:.92rem}

.question-interlude{padding-block:clamp(7rem,12vw,12rem);background:var(--forest);color:#f5f0e8}
.question-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start}
.question-grid .section-code{grid-column:1/3}
.question-grid blockquote{grid-column:3/10;margin:0;font:400 clamp(3.6rem,6.6vw,7.3rem)/.91 var(--serif);letter-spacing:-.055em}
.question-grid>p:last-child{grid-column:10/13;margin:0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.3);color:#ccd6cf;font-size:.9rem;line-height:1.75}

.work-atlas{position:relative}
.work-heading{display:grid;grid-template-columns:1.25fr .55fr;gap:clamp(3rem,8vw,8rem);align-items:end;padding-bottom:3rem;border-bottom:1px solid var(--ink)}
.work-heading h2{max-width:920px;margin:1rem 0 0;font:400 clamp(3.4rem,6vw,6.6rem)/.94 var(--serif);letter-spacing:-.05em}
.work-heading>p{margin:0 0 .5rem;color:var(--muted);line-height:1.75}
.lens-bar{position:sticky;z-index:20;top:76px;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:0;padding:1rem 0;background:linear-gradient(var(--paper) 80%,rgba(242,238,229,0));border-bottom:1px solid var(--line-soft)}
.lens-bar>span{margin-right:.5rem;font:500 .65rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.lens-button{appearance:none;border:1px solid var(--line);border-radius:999px;background:transparent;padding:.48rem .72rem;color:var(--ink);font-size:.68rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.lens-button:hover,.lens-button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.lens-button:focus-visible{outline:3px solid color-mix(in srgb,var(--rust) 65%,white);outline-offset:3px}

.work-system{padding-top:2rem}
.work-node{--accent:var(--rust);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start;padding:4.5rem 0;border-bottom:1px solid var(--line);transition:opacity .28s ease,filter .28s ease}
.work-node:first-child{padding-top:3rem}
.work-node.is-muted{opacity:.22;filter:grayscale(.7)}
.work-node.is-focused{opacity:1}
.work-media{grid-column:1/7;display:block;overflow:hidden;position:relative;background:#d7d0c4}
.work-media::after{content:attr(data-index);position:absolute;left:1rem;top:1rem;color:#fff;font:500 .62rem var(--mono)}
.work-media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .7s var(--ease),filter .4s ease}
.work-node:hover .work-media img{transform:scale(1.018)}
.work-copy{grid-column:8/13;padding-top:.25rem}
.work-meta{margin:0;font:500 .64rem/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.work-meta span{display:inline-block;min-width:2.2rem;color:var(--accent)}
.work-copy h3{margin:1rem 0 1.1rem;font:400 clamp(2.65rem,4.7vw,5.1rem)/.95 var(--serif);letter-spacing:-.045em}
.work-copy h3 a{text-decoration:none}
.work-copy h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
.work-copy>p:not(.work-meta){max-width:590px;color:var(--muted);line-height:1.8}
.work-tags{display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:1.5rem 0 2rem;list-style:none}
.work-tags li{padding:.36rem .55rem;border:1px solid var(--line);border-radius:999px;font-size:.65rem}
.work-link{display:inline-flex;gap:1rem;align-items:center;font-size:.77rem;font-weight:600;text-underline-offset:5px}
.work-node[data-index="02"]{--accent:var(--blue)}
.work-node[data-index="03"]{--accent:var(--violet)}
.work-node[data-index="04"]{--accent:#544b94}
.work-node[data-index="05"]{--accent:#9a593d}
.work-node[data-index="06"]{--accent:#486c5a}
.work-node-wide .work-media{grid-column:1/8}
.work-node-wide .work-copy{grid-column:9/13}
.diagram-field{grid-column:1/7;min-height:420px;padding:2rem;display:flex;align-items:center;justify-content:center;gap:1rem;background:var(--paper-light);border:1px solid var(--line);text-decoration:none;position:relative;overflow:hidden}
.diagram-field::before,.diagram-field::after{content:"";position:absolute;border:1px solid rgba(64,108,131,.22);border-radius:50%}
.diagram-field::before{width:340px;height:340px;left:-110px;bottom:-140px}
.diagram-field::after{width:220px;height:220px;right:-80px;top:-70px}
.diagram-field span{position:relative;z-index:2;font:400 clamp(1.25rem,2vw,2rem) var(--serif)}
.diagram-field i{position:relative;z-index:2;flex:1;max-width:72px;height:1px;background:var(--blue)}
.diagram-field i::after{content:"";position:absolute;right:0;top:-3px;border-left:6px solid var(--blue);border-top:3px solid transparent;border-bottom:3px solid transparent}
.text-field{grid-column:1/7;min-height:380px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;place-items:center;padding:2rem;background:var(--forest-2);color:#f1eee7;font:400 clamp(1.8rem,3.2vw,3.8rem)/1 var(--serif);text-align:center}
.text-field span:nth-child(even){color:#e8aa95}
.work-footer{display:flex;justify-content:space-between;align-items:center;padding-top:2rem}
.work-footer p{margin:0;color:var(--muted);font-size:.85rem}
.work-footer a{font-weight:600;text-underline-offset:5px}

.now-section{background:#1e2622;color:#f4f0e8}
.now-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px}
.now-heading{grid-column:1/6}
.now-heading h2{margin:1rem 0 0;font:400 clamp(3.2rem,5.5vw,6rem)/.96 var(--serif);letter-spacing:-.05em}
.now-question{grid-column:7/13;padding-top:.35rem}
.now-label{margin:0 0 1rem;color:#eeb39f;font:500 .65rem var(--mono);text-transform:uppercase;letter-spacing:.11em}
.now-question blockquote{margin:0;font:400 clamp(2rem,3.4vw,3.6rem)/1.06 var(--serif)}
.now-question>p:last-child{max-width:670px;color:#c8d0ca;line-height:1.8}
.now-stack{grid-column:7/13;margin-top:4rem;border-top:1px solid rgba(255,255,255,.22)}
.now-stack>div{display:grid;grid-template-columns:.35fr 1fr;gap:2rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.16)}
.now-stack span{font:500 .62rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#99aaa1}
.now-stack p{margin:0;color:#e8e5dd}
.now-stack a{text-underline-offset:4px}

.voice-section{border-bottom:1px solid var(--line)}
.voice-line{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.2rem;border-bottom:1px solid var(--ink)}
.voice-line>p:last-child{margin:0;color:var(--muted);font-size:.8rem}
.voice-grid{display:grid;grid-template-columns:1.25fr .55fr;gap:clamp(3rem,8vw,8rem);align-items:end;padding-top:4rem}
.voice-grid blockquote{margin:0;font:400 clamp(4rem,7.1vw,8rem)/.9 var(--serif);letter-spacing:-.055em}
.voice-copy{padding-bottom:.6rem}
.voice-copy p{color:var(--muted);line-height:1.8}
.voice-copy a{font-size:.78rem;font-weight:600;text-underline-offset:5px}

.closing-section{padding-block:clamp(7rem,11vw,11rem);background:#dfd5c4}
.closing-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start}
.closing-grid .section-code{grid-column:1/3;color:#9a4c37}
.closing-grid h2{grid-column:3/9;margin:0;font:400 clamp(3.1rem,5.4vw,6rem)/.95 var(--serif);letter-spacing:-.05em}
.closing-grid>div{grid-column:10/13;padding-top:.5rem}
.closing-grid>div p{margin-top:0;color:#5b574f;line-height:1.8}
.closing-grid a{font-size:.78rem;font-weight:600;text-underline-offset:5px}

.atlas-footer{min-height:220px;display:grid;grid-template-columns:1fr .65fr 1fr;gap:2rem;align-items:center}
.atlas-footer>div:first-child{display:flex;flex-direction:column}
.atlas-footer strong{font-size:.86rem}
.atlas-footer span{color:var(--muted);font-size:.72rem}
.atlas-footer>p{margin:0;text-align:center;font:400 1.05rem var(--serif);font-style:italic;color:var(--muted)}
.atlas-footer nav{display:flex;justify-content:flex-end;gap:1rem;flex-wrap:wrap}
.atlas-footer nav a{font-size:.7rem;text-underline-offset:4px}

:where(a,button):focus-visible{outline:3px solid color-mix(in srgb,var(--rust) 68%,white);outline-offset:4px;border-radius:3px}

@media(max-width:1080px){
  .atlas-nav{gap:1rem}.atlas-nav a{font-size:.68rem}
  .atlas-hero{grid-template-columns:repeat(8,minmax(0,1fr));gap:0 20px}
  .hero-index{grid-column:1/3}.hero-copy{grid-column:3/7}.hero-figure{grid-column:7/9}.hero-thesis{grid-column:3/9}
  .practice-section,.question-grid,.now-grid,.closing-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:0 20px}
  .practice-rail{grid-column:1/4}.practice-flow{grid-column:4/9}
  .question-grid .section-code{grid-column:1/2}.question-grid blockquote{grid-column:2/7}.question-grid>p:last-child{grid-column:7/9}
  .work-node{grid-template-columns:repeat(8,minmax(0,1fr));gap:0 20px}.work-media,.diagram-field,.text-field{grid-column:1/5}.work-copy{grid-column:5/9}.work-node-wide .work-media{grid-column:1/6}.work-node-wide .work-copy{grid-column:6/9}
  .now-heading{grid-column:1/4}.now-question,.now-stack{grid-column:5/9}
  .closing-grid .section-code{grid-column:1/2}.closing-grid h2{grid-column:2/6}.closing-grid>div{grid-column:6/9}
}

@media(max-width:860px){
  :root{--shell:min(100% - 36px,1320px)}
  .atlas-header{height:68px;padding-inline:18px}.atlas-mark-name{font-size:.78rem}.menu-button{display:inline-flex;align-items:center;justify-content:center}
  .atlas-nav{position:fixed;inset:68px 0 auto;background:var(--paper);border-bottom:1px solid var(--line);padding:1.5rem 18px 2rem;display:none;flex-direction:column;align-items:flex-start;gap:1rem}.atlas-nav.is-open{display:flex}.atlas-nav a{font:400 1.55rem var(--serif)}
  .atlas-hero{display:grid;grid-template-columns:1fr;gap:0;min-height:auto;padding-top:104px;padding-bottom:60px}.atlas-hero::before{top:92px}.hero-index,.hero-copy,.hero-figure,.hero-thesis{grid-column:1}.hero-index{display:block;padding:0;margin-bottom:2rem}.hero-index p+ p{display:none}.hero-copy{padding-top:0}.hero-copy h1{font-size:clamp(4rem,14vw,7rem)}.hero-figure{margin-top:3rem}.hero-figure img{aspect-ratio:4/4.6;max-height:680px}.hero-thesis{grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem}
  .signal-grid{grid-template-columns:1fr 1fr}.signal-grid>div:nth-child(2){border-right:1px solid rgba(255,255,255,.16)}
  .practice-section{display:block}.practice-rail{position:static;padding:0;margin-bottom:5rem}.practice-rail h2{max-width:670px}.practice-flow{margin-left:0}.flow-node{gap:1.5rem}.flow-node h3{font-size:clamp(2rem,7vw,3.4rem)}
  .question-grid{display:block}.question-grid .section-code{margin-bottom:2rem}.question-grid blockquote{font-size:clamp(3.2rem,11vw,5.4rem)}.question-grid>p:last-child{margin-top:3rem;max-width:560px}
  .work-heading{grid-template-columns:1fr;gap:2rem}.work-heading>p{max-width:600px}.lens-bar{top:68px;overflow-x:auto;flex-wrap:nowrap;padding-right:1rem;scrollbar-width:none}.lens-bar::-webkit-scrollbar{display:none}.lens-bar>*{flex:0 0 auto}
  .work-node,.work-node-wide{display:grid;grid-template-columns:1fr;gap:2rem;padding:4rem 0}.work-media,.diagram-field,.text-field,.work-copy,.work-node-wide .work-media,.work-node-wide .work-copy{grid-column:1}.work-media img{aspect-ratio:16/10}.diagram-field,.text-field{min-height:320px}.work-copy h3{font-size:clamp(2.7rem,9vw,4.8rem)}
  .now-grid{display:block}.now-question{margin-top:4rem}.now-stack{margin-top:3rem}
  .voice-grid{grid-template-columns:1fr;gap:3rem}.voice-grid blockquote{font-size:clamp(3.7rem,12vw,6rem)}.voice-copy{max-width:620px}.voice-line>p:last-child{display:none}
  .closing-grid{display:block}.closing-grid h2{margin:1.25rem 0 3rem}.closing-grid>div{max-width:620px;margin-left:auto}
  .atlas-footer{grid-template-columns:1fr 1fr;padding-block:2.5rem;min-height:0}.atlas-footer>p{display:none}.atlas-footer nav{justify-content:flex-end}
}

@media(max-width:560px){
  :root{--shell:min(100% - 28px,1320px)}
  .hero-copy h1{font-size:clamp(3.6rem,16vw,5.4rem)}
  .signal-grid{grid-template-columns:1fr}.signal-grid>div{min-height:auto;padding:1.5rem 0;border-left:0!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.16)}.signal-grid>div:last-child{border-bottom:0}.signal-grid strong{font-size:2.8rem}
  .flow-line{left:19px}.flow-node{grid-template-columns:40px 1fr;gap:1rem;padding-bottom:3.5rem}.node-number{width:40px;height:40px}.flow-node h3{font-size:2rem}.flow-node div>p:last-child{font-size:.86rem}
  .question-grid blockquote{font-size:clamp(3rem,13vw,4.5rem)}
  .work-node{padding:3.2rem 0}.work-meta{font-size:.58rem}.work-copy h3{font-size:2.8rem}.diagram-field{min-height:280px;gap:.6rem;padding:1rem}.diagram-field span{font-size:1.15rem}.text-field{min-height:280px;font-size:1.8rem}.work-footer{align-items:flex-start;gap:1rem;flex-direction:column}
  .now-heading h2{font-size:3.2rem}.now-question blockquote{font-size:2.35rem}.now-stack>div{grid-template-columns:1fr;gap:.5rem}
  .atlas-footer{grid-template-columns:1fr;gap:1.5rem}.atlas-footer nav{justify-content:flex-start}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
  .work-media img{transform:none!important}
}

@media(forced-colors:active){
  .lens-button,.node-number,.diagram-field{border:1px solid CanvasText}
  .question-interlude,.now-section,.text-field,.signal-band{forced-color-adjust:none}
}
