@charset "UTF-8";

:root{
  color-scheme:dark;
  --paper:#0b100e;--ink:#e2f1e6;--muted:#9eafa4;--line:#29382f;--accent:#9afa79;--green:#111c15;
  --button:var(--accent);--art-line:#2c4434;--art-text:#9bb7a3;--grid:#31523c47;--diagram-line:#71997d;
  --closing:#111c15;--closing-accent:#9afa79;--sculpture-shadow:#9afa7912;
  --cube-top:#a0f781;--cube-front:#62bc59;--cube-side:#347642;--cube-inner:#254932;--cube-left-inner:#4b9750;
  --cube-edge:#b3ffaa;--cube-shadow:#346b3e;--cube-front-cut:#58ac53;--cube-top-cut:#c0ffad;
  --serif:Georgia,"Times New Roman",serif;
}
:root[data-theme="light"]{
  color-scheme:light;
  --paper:#f5f3ed;--ink:#242821;--muted:#63685c;--line:#d7d9cf;--accent:#bd482f;--green:#e6e9de;
  --button:var(--ink);--art-line:#cdd2c4;--art-text:#626b5a;--grid:#ccd2c347;--diagram-line:#707767;
  --closing:#242821;--closing-accent:#d5dea9;--sculpture-shadow:#454b3310;
  --cube-top:#e78962;--cube-front:#cb5738;--cube-side:#9d402d;--cube-inner:#963f2e;--cube-left-inner:#b94d33;
  --cube-edge:#ed9c78;--cube-shadow:#a44731;--cube-front-cut:#c75a3c;--cube-top-cut:#eea17f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:36px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--paper)}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.site-shell{max-width:1536px;margin:auto;padding:0 6.25%}
.skip-link{position:absolute;z-index:5;left:20px;top:-70px;padding:14px 20px;background:var(--ink);color:var(--paper)}
.skip-link:focus{top:14px}
.site-header{height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.wordmark{font-size:29px;font-weight:750;letter-spacing:-1.6px;white-space:nowrap}
.wordmark span,.accent{color:var(--accent)}
nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:500}
nav a{padding:12px 0;transition:color .2s}
nav a:hover{color:var(--accent)}
.nav-domain{margin-left:27px;font-size:12px;letter-spacing:.02em}
.nav-domain span{margin-left:10px;font-size:18px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font:11px "SFMono-Regular",Consolas,monospace;cursor:pointer;transition:border-color .2s,background .2s}
.theme-toggle[hidden]{display:none}
.theme-toggle:hover{border-color:var(--accent);background:var(--green)}
.theme-toggle svg{width:16px;height:16px;flex:none;color:var(--accent)}
.theme-moon{display:none}
[data-theme="light"] .theme-moon{display:block}
[data-theme="light"] .theme-sun{display:none}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:center;padding:88px 0 86px}
.eyebrow{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:10px;line-height:1.8;letter-spacing:.105em;text-transform:uppercase;font-weight:500;margin:0}
.hero .eyebrow{display:flex;align-items:center;gap:12px;white-space:nowrap}
.small-cross{color:var(--accent);font-size:25px;line-height:1}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(57px,6.7vw,98px);font-weight:500;line-height:1.045;letter-spacing:-.066em;margin:32px 0 27px}
h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.075em;color:var(--accent)}
.hero-description{font-size:16px;line-height:1.75;color:var(--muted);margin-bottom:33px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--button);color:var(--paper);padding:17px 20px;font-size:12px;border:1px solid var(--button);transition:background .2s,transform .2s}
.button span{font-size:20px;line-height:1}
.button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}
.hero-art{background:var(--green);border:1px solid var(--art-line);align-self:stretch;display:flex;flex-direction:column;min-height:442px;position:relative;margin-top:1px}
.art-header,.art-footer{display:flex;justify-content:space-between;align-items:center;margin:0 23px;padding:19px 0;font-family:"SFMono-Regular",Consolas,monospace;font-size:8px;letter-spacing:.12em;color:var(--art-text)}
.art-header{border-bottom:1px solid var(--art-line)}
.art-footer{border-top:1px solid var(--art-line);margin-top:auto;padding:17px 0}
.art-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}
.art-grid{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;background-position:center;margin:12px 13px 0}
.sculpture{display:block;width:100%;max-width:410px;height:auto;filter:drop-shadow(0 10px 20px var(--sculpture-shadow));animation:float 7s ease-in-out infinite}
.grid-mark{position:absolute;font:15px monospace;color:var(--diagram-line)}
.mark-one{left:8px;top:8px}.mark-two{right:8px;bottom:31px}
.grid-note{position:absolute;left:10px;bottom:12px;font:7px/1.7 "SFMono-Regular",Consolas,monospace;letter-spacing:.1em;color:var(--art-text)}
.chapter-strip{display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;font-size:12px}
.chapter-strip>span:nth-child(even){color:var(--muted)}
.chapter-note{margin-left:auto;font-family:var(--serif);font-size:14px;font-style:italic;color:var(--muted)}
.section-grid{display:grid;grid-template-columns:1fr 2.25fr;gap:5%;padding:107px 0 104px}
.section-label{padding-top:10px;color:var(--muted)}
h2{font-size:clamp(35px,3.55vw,53px);line-height:1.18;letter-spacing:-.045em;font-weight:450;margin-bottom:34px}
.about-bottom{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:680px}
.about-bottom p{color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:0}
.approach{border-top:1px solid var(--line);padding-bottom:100px}
.section-heading-row{display:flex;justify-content:space-between;gap:30px;align-items:center}
.section-heading-row h2{margin-bottom:40px}
.large-cross{font-size:65px;color:var(--accent);font-family:Georgia,serif;align-self:flex-start;line-height:1.25}
.principle{display:grid;grid-template-columns:35px 1fr 1.25fr;gap:16px;align-items:start;border-top:1px solid var(--line);padding:26px 0}
.principle:last-child{border-bottom:1px solid var(--line)}
.principle-number{font:10px/1.8 "SFMono-Regular",Consolas,monospace;color:var(--muted);padding-top:3px}
.principle h3{font-size:17px;font-weight:500;letter-spacing:-.035em;line-height:1.5;margin:0}
.principle p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.closing{position:relative;background:var(--closing);color:#f5f3ed;padding:58px 60px 50px;overflow:hidden}
.closing .eyebrow{color:#bfc6b6;margin-bottom:30px}
.closing h2{font-size:clamp(50px,6.5vw,91px);line-height:1.04;letter-spacing:-.055em;font-weight:450;margin-bottom:41px}
.closing h2 em{font-family:var(--serif);font-weight:400;color:var(--closing-accent);letter-spacing:-.06em}
.round-link{position:absolute;right:60px;top:50%;transform:translateY(-35%);width:85px;height:85px;border:1px solid #697060;border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s,border-color .2s}
.round-link span{font-size:33px;font-weight:300}
.round-link:hover{background:var(--closing-accent);color:#242821;border-color:var(--closing-accent)}
.closing-caption{font-family:"SFMono-Regular",Consolas,monospace;font-size:8px;letter-spacing:.11em;color:#bfc6b6}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:36px 0 43px;color:var(--muted);font-size:11px}
.footer-mark{color:var(--ink);font-size:23px}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(min-width:1600px){.site-shell{padding:0 96px}.hero{gap:90px}h1{font-size:98px}}
@media(max-width:1000px){.site-shell{padding:0 5%}.hero{gap:5%;padding:67px 0}.hero-art{min-height:390px}.hero .eyebrow{font-size:8px;letter-spacing:.07em}.hero-description{font-size:14px}.section-grid{grid-template-columns:1fr 2.7fr;gap:5%;padding:78px 0}.section-label{font-size:8px}.principle{grid-template-columns:24px 1fr 1.2fr;gap:12px}.principle h3{font-size:15px}.closing{padding:46px}.round-link{right:46px}}
@media(max-width:720px){html{scroll-padding-top:22px}.site-shell{padding:0 24px}.site-header{height:86px}.wordmark{font-size:25px}nav{gap:16px;font-size:12px}.nav-domain{display:none}.hero{grid-template-columns:1fr;gap:43px;padding:55px 0 43px}.hero .eyebrow{font-size:8px;letter-spacing:.08em}.hero h1{font-size:clamp(57px,11.5vw,83px);margin-top:25px;margin-bottom:23px;letter-spacing:-.064em}.hero-description{font-size:15px;margin-bottom:25px}.hero-art{min-height:0;max-width:500px;width:100%;justify-self:center}.art-grid{min-height:310px}.sculpture{width:85%;max-width:350px}.art-header,.art-footer{margin-left:20px;margin-right:20px}.chapter-strip{justify-content:space-between;gap:12px;padding:21px 0;font-size:11px}.chapter-note{display:none}.section-grid{grid-template-columns:1fr;gap:26px;padding:64px 0}.section-label{font-size:9px;padding:0}h2{font-size:37px;letter-spacing:-.05em;margin-bottom:28px}.about-bottom{gap:23px}.about-bottom p{font-size:13px;line-height:1.8}.large-cross{font-size:49px}.section-heading-row h2{margin-bottom:30px}.principle{grid-template-columns:22px 1fr 1.25fr;gap:11px;padding:23px 0}.principle h3{font-size:15px}.principle p{font-size:12px}.closing{padding:36px 27px 31px}.closing .eyebrow{font-size:8px;margin-bottom:25px}.closing h2{font-size:55px;margin-bottom:76px}.round-link{width:50px;height:50px;right:27px;top:auto;bottom:22px;transform:none}.round-link span{font-size:24px}.closing-caption{font-size:6px;letter-spacing:.08em}.site-footer{padding:28px 0 33px;gap:16px;flex-wrap:wrap;font-size:10px}.site-footer>span:nth-child(2){display:none}.footer-mark{font-size:23px}}
@media(max-width:380px){.site-shell{padding:0 20px}nav{gap:10px}.theme-toggle{padding:9px 8px;gap:5px}.hero h1{font-size:54px}.hero .eyebrow{font-size:7px}.about-bottom{grid-template-columns:1fr;gap:18px}.principle{grid-template-columns:20px 1fr}.principle p{grid-column:2}.closing h2{font-size:48px}.closing-caption{max-width:170px;display:block;line-height:1.7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sculpture{animation:none}a,button{transition:none!important}.button:hover{transform:none}}
