:root{--ink:#292a28;--paper:#e8e7e3;--paper-2:#dbdcd5;--acid:#a9c77f;--acid-dark:#789353;--spell:#ef593f;--teal:#6f9690;--line:rgba(41,42,40,.72);--rail:92px;--display:"Archivo Black",sans-serif;--mono:"DM Mono",monospace;--body:"Inter",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);overflow-x:hidden}a{color:inherit}button{font:inherit}::selection{background:var(--spell);color:#fff}.skip-link{position:fixed;left:110px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:12px 18px;transition:top .2s}.skip-link:focus{top:12px}
.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:20;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;align-items:center;border-right:8px solid var(--acid)}.rail:after{content:"";position:absolute;right:-8px;inset-block:0;width:8px;background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(255,255,255,.75) 4px 6px)}.menu-toggle{width:100%;min-height:112px;border:0;color:#fff;background:transparent;display:grid;place-items:center;align-content:center;gap:8px;cursor:pointer;font:700 10px var(--mono);letter-spacing:.12em}.menu-glyph{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);position:relative}.menu-glyph:before{content:"";position:absolute;inset:6px -6px -6px 6px;border:4px solid var(--acid);border-top:0;border-right:0}.menu-glyph i{width:22px;height:2px;background:var(--spell);display:block}.menu-glyph i+i{margin-top:-10px}.rail-nav{display:grid;gap:16px;margin:auto}.rail-nav a{width:30px;height:30px;border:1px solid #858782;border-radius:50%;display:grid;place-items:center;text-decoration:none;font:500 16px var(--mono);transition:.2s}.rail-nav a:hover,.rail-nav a:focus-visible{background:var(--acid);color:var(--ink);border-color:var(--acid);transform:translateX(3px)}.rail-brand{margin-bottom:24px;writing-mode:vertical-rl;transform:rotate(180deg);text-decoration:none;font-family:var(--display);line-height:.8;font-size:23px;letter-spacing:-.07em}.rail-brand em{color:var(--spell);font-style:normal}.rail-brand small{font:400 7px var(--mono);letter-spacing:.32em;margin-right:5px}
.menu-panel{position:fixed;z-index:19;inset:0 auto 0 var(--rail);width:min(520px,calc(100vw - var(--rail)));background:var(--ink);color:var(--paper);padding:60px clamp(28px,6vw,70px);transform:translateX(-110%);transition:transform .55s cubic-bezier(.76,0,.24,1);display:flex;flex-direction:column;box-shadow:20px 0 60px rgba(0,0,0,.2)}.menu-panel.open{transform:translateX(0)}.menu-close{position:absolute;right:24px;top:18px;border:0;background:none;color:var(--paper);font-size:40px;cursor:pointer}.eyebrow{font:500 11px var(--mono);letter-spacing:.15em}.menu-panel nav{display:grid;margin-top:40px}.menu-panel nav a{text-decoration:none;font:400 clamp(34px,7vw,68px)/1.2 var(--display);border-bottom:1px solid #595a57;padding:13px 0;transition:color .2s,padding .2s}.menu-panel nav a span{font:400 10px var(--mono);color:var(--acid);margin-right:14px}.menu-panel nav a:hover{color:var(--acid);padding-left:10px}.menu-meta{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:20px;font:400 9px/1.7 var(--mono)}.theme-toggle{color:var(--paper);background:transparent;border:1px solid #666;padding:10px;cursor:pointer;font:500 9px var(--mono)}.theme-toggle b{color:var(--acid)}
main{margin-left:var(--rail)}.hero{min-height:100svh;display:grid;grid-template-columns:minmax(480px,1fr) minmax(420px,.93fr);grid-template-rows:auto 1fr auto;position:relative}.ticker{grid-column:1/-1;min-height:58px;padding:0 4vw;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font:500 10px var(--mono);letter-spacing:.12em}.ticker span:before{content:"■";color:var(--spell);margin-right:10px}.hero-copy{padding:clamp(50px,7vw,96px) clamp(36px,6vw,100px);border-right:1px solid var(--line);min-width:0}.kicker{font:500 11px var(--mono);letter-spacing:.17em;margin:0 0 20px}.kicker span{color:var(--spell);padding-inline:8px}h1{margin:0;font:400 clamp(78px,10vw,164px)/.74 var(--display);letter-spacing:-.09em}h1 span{display:block}h1 span:last-child{color:var(--acid-dark)}.hero-intro{display:grid;grid-template-columns:44px 1fr;gap:28px;border-top:2px solid var(--ink);margin-top:48px;padding-top:26px;max-width:620px}.stripe{height:104px;background:repeating-linear-gradient(135deg,var(--paper-2) 0 6px,transparent 6px 12px)}.hero-intro p{margin:0;font-size:clamp(14px,1.2vw,17px);line-height:1.65}.hero-intro strong{color:var(--spell)}.feature-link{margin-top:34px;min-height:135px;display:grid;grid-template-columns:100px 1fr 80px;align-items:center;background:var(--spell);color:#fff;text-decoration:none;transition:transform .25s,box-shadow .25s}.feature-link:hover{transform:translate(-5px,-5px);box-shadow:8px 8px 0 var(--ink)}.bookmark{height:100%;background:var(--acid);clip-path:polygon(20% 0,80% 0,80% 80%,50% 63%,20% 80%)}.feature-link span:nth-child(2){padding:22px;font:400 clamp(24px,2.8vw,42px)/1 var(--display)}.feature-link small{display:block;font:400 9px var(--mono);letter-spacing:.14em;margin-bottom:9px}.feature-link b{font-size:58px;font-weight:400}.hero-art{min-height:680px;background:linear-gradient(180deg,var(--acid) 0%,#c0d69e 58%,var(--paper) 100%);overflow:hidden;position:relative;display:flex;align-items:end;justify-content:center}.hero-art:before{content:"";position:absolute;inset:6%;border:1px solid rgba(41,42,40,.45)}.monogram{position:absolute;inset:7% 4% auto;color:rgba(255,255,255,.82);font:400 clamp(130px,18vw,290px)/.63 var(--display);letter-spacing:-.14em}.monogram span{display:block}.monogram span:last-child{margin-left:27%}.hero-art img{width:min(89%,740px);height:auto;position:relative;z-index:2;filter:drop-shadow(18px 22px 0 rgba(41,42,40,.15));transform-origin:50% 80%;transition:transform .15s linear}.orbit{position:absolute;border:1px solid var(--spell);border-radius:50%;z-index:1}.orbit:after{content:"✦";position:absolute;color:var(--spell);font-size:28px;top:10%;left:6%}.orbit-one{width:65%;aspect-ratio:1;transform:rotate(-22deg)}.orbit-two{width:92%;aspect-ratio:1;transform:rotate(35deg)}.art-note{position:absolute;right:4%;bottom:4%;z-index:3;margin:0;padding:9px;background:var(--ink);color:#fff;font:400 9px/1.5 var(--mono);letter-spacing:.08em}.hero-footer{grid-column:1/-1;min-height:70px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;padding:0 4vw;font:500 9px var(--mono);letter-spacing:.14em}.hero-footer i{height:1px;background:var(--line);position:relative}.hero-footer i:before{content:"■";position:absolute;top:-7px}.hero-footer i:last-child:before{right:0}
.work{background:var(--ink);color:var(--paper);padding:clamp(70px,9vw,130px) clamp(30px,6vw,100px)}.section-heading{display:grid;grid-template-columns:180px 1fr minmax(250px,.55fr);align-items:end;gap:4vw;border-bottom:1px solid #666;padding-bottom:50px}.section-heading>div{display:flex;gap:14px;font:500 10px/1.5 var(--mono)}.section-heading>div span{color:var(--acid)}.section-heading>div p{margin:0}.section-heading h2{margin:0;font:400 clamp(55px,8vw,120px)/.82 var(--display);letter-spacing:-.07em}.section-heading>p{margin:0;max-width:390px;font-size:15px;line-height:1.7}.project-grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #666}.project{min-height:460px;padding:30px;border:1px solid #666;border-left:0;text-decoration:none;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:color .35s,background .35s,transform .35s}.project:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-80px;top:-80px;background:var(--acid);transition:transform .45s}.project:hover{background:var(--paper);color:var(--ink);transform:translateY(-8px)}.project:hover:after{transform:scale(1.5)}.project-index{font:400 10px var(--mono);letter-spacing:.14em}.project-icon{margin:auto 0;font:400 clamp(64px,7vw,105px) var(--display);color:var(--acid)}.project-design .project-icon{color:var(--spell)}.project-maker .project-icon{color:var(--teal)}.project h3{margin:0 0 10px;font:400 clamp(26px,3vw,43px) var(--display);letter-spacing:-.05em}.project>p:not(.project-index){line-height:1.6;max-width:330px}.status{margin-top:20px;padding-top:15px;border-top:1px solid currentColor;font:500 9px var(--mono);letter-spacing:.14em}
.about{min-height:860px;display:grid;grid-template-columns:.8fr 1.1fr .85fr;align-items:center;gap:5vw;padding:clamp(70px,10vw,150px) clamp(35px,7vw,120px);position:relative;overflow:hidden}.about:before{content:"";position:absolute;inset:0;opacity:.12;background:repeating-linear-gradient(135deg,transparent 0 10px,var(--ink) 10px 11px);clip-path:polygon(0 0,25% 0,0 55%)}.about-mark{font:400 clamp(160px,24vw,380px)/.7 var(--display);color:var(--acid);letter-spacing:-.15em;writing-mode:vertical-rl;opacity:.72}.about-copy{position:relative;z-index:1}.about-copy h2{margin:25px 0 40px;font:400 clamp(55px,7vw,108px)/.82 var(--display);letter-spacing:-.07em}.about-copy h2 em{font-style:normal;color:var(--spell)}.about-copy>p:last-child{max-width:620px;font-size:clamp(15px,1.4vw,19px);line-height:1.75}.spell-card{background:var(--acid);padding:34px;transform:rotate(2deg);box-shadow:13px 13px 0 var(--ink)}.spell-card>span{font:500 9px var(--mono);letter-spacing:.12em}.spell-card ul{list-style:none;padding:0;margin:30px 0 0}.spell-card li{border-top:1px solid var(--ink);padding:17px 0;font:700 12px var(--mono)}.spell-card li b{color:#fff;background:var(--ink);padding:4px;margin-right:10px}
footer{background:var(--spell);color:#fff;padding:clamp(65px,9vw,120px) clamp(35px,7vw,120px) 30px}.footer-title{border-bottom:2px solid #fff;padding-bottom:45px}.footer-title span{display:block;font:500 11px var(--mono);letter-spacing:.2em;margin-bottom:15px}.footer-title strong{font:400 clamp(55px,10vw,150px)/.8 var(--display);letter-spacing:-.08em}.social-links{display:grid;grid-template-columns:repeat(3,1fr);margin-block:55px 90px}.social-links>*{min-height:125px;padding:22px;border:1px solid rgba(255,255,255,.75);border-right:0;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;transition:background .25s,color .25s}.social-links>*:last-child{border-right:1px solid rgba(255,255,255,.75)}.social-links a:hover{background:#fff;color:var(--spell)}.social-links span{font:400 9px var(--mono);letter-spacing:.16em}.social-links b{font:400 clamp(15px,2vw,24px) var(--display)}.pending-link{opacity:.55;cursor:not-allowed}.footer-bottom{border-top:1px solid rgba(255,255,255,.7);padding-top:24px;display:flex;justify-content:space-between;gap:25px;font:400 9px var(--mono);letter-spacing:.08em}.footer-bottom a{text-decoration:none}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:translateY(0)}body.high-contrast{--paper:#fff;--paper-2:#ddd;--ink:#080808;--acid:#c4ff67;--acid-dark:#73a425;--spell:#ff3d1f}
@media (max-width:1050px){.hero{grid-template-columns:1fr}.hero-art{min-height:720px}.hero-copy{border-right:0;border-bottom:1px solid var(--line)}.section-heading{grid-template-columns:1fr 1fr}.section-heading>div{grid-column:1/-1}.project-grid{grid-template-columns:1fr}.project{min-height:350px}.about{grid-template-columns:.4fr 1fr}.spell-card{grid-column:2}}
@media (max-width:700px){:root{--rail:58px}.rail{border-right-width:5px}.rail:after{right:-5px;width:5px}.rail-nav{display:none}.menu-toggle{min-height:86px}.menu-glyph{width:34px;height:34px}.rail-brand{font-size:17px}.ticker{overflow:hidden;justify-content:flex-start}.ticker span{white-space:nowrap}.ticker span:nth-child(n+3){display:none}.hero-copy{padding:55px 20px}h1{font-size:clamp(48px,17.5vw,76px)}.hero-intro{grid-template-columns:25px 1fr;gap:15px}.feature-link{grid-template-columns:44px minmax(0,1fr) 28px}.feature-link span:nth-child(2){padding:13px;font-size:clamp(16px,5.6vw,21px)}.feature-link small{font-size:7px}.feature-link b{font-size:27px}.hero-art{min-height:590px}.hero-art img{width:112%;max-width:none}.hero-footer{padding-inline:20px}.section-heading{grid-template-columns:1fr}.section-heading>div{grid-column:auto}.section-heading h2{font-size:54px}.work{padding-inline:22px}.about{grid-template-columns:1fr;padding-inline:25px}.about-mark{position:absolute;right:-25px;top:20px;font-size:180px;writing-mode:initial;opacity:.18}.spell-card{grid-column:auto;margin-top:25px}.social-links{grid-template-columns:1fr}.social-links>*{border-right:1px solid rgba(255,255,255,.75);border-bottom:0}.social-links>*:last-child{border-bottom:1px solid rgba(255,255,255,.75)}.footer-title strong{font-size:54px}.footer-bottom{flex-direction:column}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.menu-panel nav a i{font-style:normal}.menu-actions{display:flex;gap:8px}.language-toggle{color:var(--paper);background:transparent;border:1px solid #666;padding:10px;cursor:pointer;font:500 9px var(--mono)}
.social-links{grid-template-columns:repeat(4,1fr)}.social-links b{font-size:clamp(14px,1.65vw,22px)}
@media (max-width:700px){.social-links{grid-template-columns:1fr}}
.maker-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:60px;background:#666;border:1px solid #666}.maker-card{background:var(--ink);color:var(--paper);text-decoration:none;overflow:hidden;transition:background .3s,color .3s}.maker-card figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#191a18}.maker-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s,filter .55s}.maker-card>div{min-height:178px;padding:24px;display:flex;flex-direction:column}.maker-card span,.maker-card b{font:500 9px var(--mono);letter-spacing:.12em}.maker-card h3{margin:auto 0 20px;font:400 clamp(24px,3.2vw,50px)/.95 var(--display);letter-spacing:-.05em}.maker-card:hover{background:var(--acid);color:var(--ink)}.maker-card:hover img{transform:scale(1.04);filter:saturate(1.08)}.all-models{margin-top:32px;min-height:92px;padding:0 30px;border:1px solid #777;display:flex;align-items:center;justify-content:space-between;text-decoration:none;font:400 clamp(18px,2.2vw,32px) var(--display);transition:background .25s,color .25s}.all-models b{font-size:40px}.all-models:hover{background:var(--spell);color:#fff;border-color:var(--spell)}
@media (max-width:700px){.maker-gallery{grid-template-columns:1fr;margin-top:38px}.maker-card>div{min-height:150px}.maker-card h3{font-size:28px}.all-models{padding:0 18px;font-size:17px}}
@media (max-width:700px){
  :root{--rail:0px}
  .rail{inset:0 0 auto 0;width:100%;height:58px;flex-direction:row;justify-content:space-between;padding:0 16px;border-right:0;border-bottom:4px solid var(--acid)}
  .rail:after{inset:auto 0 -4px 0;width:100%;height:4px;background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(255,255,255,.75) 4px 6px)}
  .menu-toggle{width:auto;min-height:54px;display:flex;gap:10px;padding:0;border:0}
  .menu-glyph{width:30px;height:30px}
  .menu-glyph:before{inset:4px -4px -4px 4px;border-width:3px}
  .menu-glyph i{width:17px}
  .rail-brand{margin:0;writing-mode:initial;transform:none;font-size:16px;line-height:.78;display:flex;align-items:baseline;gap:3px}
  .rail-brand small{margin:0 0 0 6px;font-size:6px}
  .menu-panel{inset:58px 0 0 0;width:100%;padding:38px 25px}
  main{margin-left:0;padding-top:58px}
  .ticker{padding-inline:18px}
}

/* Featured case file: software deserves the same visual weight as physical work. */
.brain-core-feature{margin-top:60px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);background:var(--paper);color:var(--ink);text-decoration:none;overflow:hidden;border:1px solid #666}.brain-core-feature figure{margin:0;min-height:100%;background:#f5f5f4;overflow:hidden}.brain-core-feature img{display:block;width:100%;height:100%;min-height:430px;object-fit:cover;transition:transform .55s}.brain-core-feature:hover img{transform:scale(1.025)}.brain-core-copy{padding:clamp(32px,4vw,64px);display:flex;flex-direction:column;align-items:flex-start}.brain-core-kicker{margin:28px 0 12px;color:var(--spell);font:500 10px var(--mono);letter-spacing:.14em}.brain-core-copy h3{margin:0;font:400 clamp(46px,6vw,88px)/.85 var(--display);letter-spacing:-.07em}.brain-core-copy>p:not(.brain-core-kicker){max-width:470px;margin:28px 0;font-size:16px;line-height:1.7}.brain-core-copy ul{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 36px;padding:0;list-style:none}.brain-core-copy li{padding:7px 9px;border:1px solid currentColor;font:500 9px var(--mono);letter-spacing:.08em}.brain-core-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}.brain-core-actions a{min-height:64px;padding:14px 16px;background:var(--ink);color:var(--paper);text-decoration:none;display:flex;align-items:center;justify-content:space-between;font:500 10px var(--mono);letter-spacing:.08em;transition:transform .2s,background .2s}.brain-core-actions a:hover{background:var(--spell);transform:translate(-3px,-3px);box-shadow:4px 4px 0 var(--acid-dark)}.brain-core-actions .support-link{background:var(--acid-dark)}.brain-core-actions .support-link:hover{background:var(--spell)}

/* Keep the number in its own column so titles never collide at narrow widths. */
.spell-card{min-width:270px}.spell-card li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;font:700 12px/1.25 var(--mono)}.spell-card li b{margin:0;text-align:center}.spell-card li span{display:block;overflow-wrap:normal;word-break:normal}
@media (max-width:1250px) and (min-width:1051px){.about{grid-template-columns:minmax(120px,.42fr) minmax(0,1fr) minmax(270px,.68fr);gap:3vw;padding-inline:clamp(35px,5vw,76px)}.about-copy h2{font-size:clamp(48px,6vw,78px)}}
@media (max-width:700px){.brain-core-feature{grid-template-columns:1fr;margin-top:38px}.brain-core-feature img{min-height:0;aspect-ratio:16/9}.brain-core-copy{padding:28px}.brain-core-copy h3{font-size:54px}.brain-core-actions{grid-template-columns:1fr}.spell-card{transform:none;box-shadow:8px 8px 0 var(--ink)}}

@media (max-width:1350px) and (min-width:701px){.about{grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);gap:4vw;padding-inline:clamp(35px,5vw,76px)}.about-mark{position:absolute;right:4%;top:8%;font-size:clamp(170px,22vw,310px);writing-mode:initial;opacity:.13;z-index:0}.about-copy{grid-column:1;grid-row:1}.spell-card{grid-column:2;grid-row:1;min-width:0;width:100%;transform:rotate(1deg)}}

/* The manifesto headline needs the full row; tools become an intentional
   editorial note beneath it instead of being squeezed into a third column. */
@media (min-width:701px){.about{grid-template-columns:minmax(130px,.45fr) minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:40px;padding-inline:clamp(35px,5vw,100px)}.about-mark{grid-column:1;grid-row:1 / span 2;position:static;align-self:center;writing-mode:vertical-rl;opacity:.4;z-index:1}.about-copy{grid-column:2;grid-row:1}.spell-card{grid-column:2;grid-row:2;justify-self:end;width:min(100%,460px);min-width:0;margin:0;transform:rotate(1deg)}}

/* GitHub stars badge in the Brain Core case file. */
.brain-core-stars{display:inline-flex;align-items:center;margin:-14px 0 28px;line-height:0;transition:transform .2s}.brain-core-stars:hover,.brain-core-stars:focus-visible{transform:translateY(-2px)}.brain-core-feature .brain-core-stars img{display:block;width:auto;height:20px;min-height:0;object-fit:contain;transition:none}.brain-core-feature:hover .brain-core-stars img{transform:none}

.tobias-feature figure img{object-fit:contain;background:#d7d7d5}
