:root{color-scheme:light;--paper:#f0f1f3;--ink:#202125;--muted:#606268;--line:#c8c9cc;--accent:#e53a1c;--serif:'Instrument Serif',Georgia,serif;--sans:'Manrope',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--sans);-webkit-text-size-adjust:100%}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--accent);outline-offset:7px}::selection{background:var(--accent);color:white}.home-shell{max-width:1680px;margin:auto;padding:0 clamp(22px,4.8vw,80px)}.skip-link{position:absolute;top:-100px;left:24px;background:var(--ink);color:white;padding:12px 20px;z-index:10}.skip-link:focus{top:12px}.home-header{min-height:108px;display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--line)}.home-wordmark{font-size:1.4rem;font-weight:800;letter-spacing:-.07em;text-decoration:none}.home-wordmark span{color:var(--accent)}.header-note{margin-left:24px;font-size:.875rem;color:var(--muted)}.header-link{display:flex;align-items:center;gap:22px;margin-left:auto;min-height:44px;text-decoration:none;font-size:.875rem;font-weight:700}.header-link span{font-size:1.8rem;font-weight:400;transition:transform .2s}.header-link:hover span{transform:translate(3px,-3px)}
.intro{isolation:isolate;position:relative;padding:32px 0 36px}.hello{font-size:1.125rem;margin:0;font-weight:500}.interactive-name{font:inherit;line-height:1;margin:0}.intro-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:12px}.intro-line{font:400 clamp(1.125rem,1.6vw,1.5rem)/1.45 var(--sans);letter-spacing:-.035em;margin:0}.intro-line em{font-family:var(--serif);font-size:1.35em;line-height:1;font-weight:400}
.letter-playground{position:relative;display:block;z-index:1;width:100%;height:clamp(330px,36vw,570px);container-type:inline-size;padding:0;margin:0;border:0;border-radius:20px;background:transparent;color:var(--ink);font:inherit;text-align:center;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.letter-playground:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.letter-field{position:absolute;inset:10px 0 42px;display:block;pointer-events:none}
.letter{position:absolute;display:block;left:var(--sx);top:var(--sy);font:800 clamp(2rem,18cqw,17rem)/1 var(--sans);letter-spacing:-.045em;transform:translate(-50%,-50%) rotate(var(--turn)) scale(var(--scale));transition:left .85s cubic-bezier(.22,.8,.22,1),top .85s cubic-bezier(.22,.8,.22,1),transform .85s cubic-bezier(.2,.85,.2,1.12);transition-delay:var(--delay);will-change:transform}
.letter-accent{color:var(--accent)}
.letter-symbol{position:absolute;display:block;left:var(--sx);top:var(--sy);color:#7c7e85;font:400 clamp(1rem,var(--size),3.5rem)/1 var(--serif);transform:translate(-50%,-50%) rotate(var(--turn));transition:left .65s cubic-bezier(.22,.8,.22,1),top .65s cubic-bezier(.22,.8,.22,1),transform .65s ease,opacity .35s ease}
.symbol-accent{color:var(--accent)}
.letter-instruction{position:absolute;bottom:8px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:28px;font-size:.875rem;line-height:1.4;color:var(--muted);pointer-events:none}
.letter-cue{display:inline-block;color:var(--accent);font-size:1.125rem;transition:transform .6s cubic-bezier(.22,.8,.22,1)}
.letter-playground.is-assembled .letter{left:var(--rx);top:48%;transform:translate(-50%,-50%) rotate(0deg) scale(1)}
.letter-playground.is-assembled .letter-symbol{left:50%;top:48%;transform:translate(-50%,-50%) rotate(100deg) scale(.15);opacity:0}
.letter-playground.is-assembled .letter-cue{transform:rotate(-90deg)}
.explore-link{display:flex;align-items:center;gap:12px;min-height:44px;font-size:.875rem;text-decoration:none}.explore-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-size:1.25rem}.explore-link:hover .explore-icon{border-color:var(--ink)}.margin-note{position:absolute;right:-14px;top:50%;writing-mode:vertical-rl;font-size:.75rem;letter-spacing:.18em;color:var(--muted)}
.projects{padding:18px 0 44px;border-top:1px solid var(--line);scroll-margin-top:18px}.section-label{display:flex;gap:18px;align-items:baseline;justify-content:space-between;margin-bottom:20px}.section-label h2{font-size:.875rem;font-weight:600;margin:0}.section-label>span{font-size:.75rem;color:var(--muted)}.atlas-door{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 150px;align-items:center;gap:28px;text-decoration:none;padding:36px 42px;background:var(--ink);color:var(--paper);border-radius:4px 60px 4px 4px;transition:background .3s,color .3s}.project-index{font-family:var(--serif);font-size:1.6rem;align-self:start;padding-top:6px;color:#bdbfc6}.project-category{font-size:.75rem;font-weight:600;letter-spacing:.14em;margin:0 0 12px;color:#bdbfc6}.project-copy h3{font:500 clamp(2.3rem,4.5vw,4.4rem)/1.05 var(--sans);letter-spacing:-.07em;margin:0 0 16px}.project-copy h3 em{font:400 1.25em/.8 var(--serif);letter-spacing:-.02em}.project-copy>p:last-child{max-width:620px;font-size:1rem;color:#c7c9cf;margin:0;line-height:1.6}.project-action{display:flex;align-items:center;flex-direction:column;justify-self:end;gap:7px;font-size:.875rem;font-weight:600}.door-arrow{display:grid;place-items:center;width:78px;height:78px;background:#ed492b;color:#fff;border-radius:50%;font:400 2.7rem/1 var(--sans);margin-bottom:10px;transition:transform .3s,background .3s,color .3s}.project-path{font-size:.75rem;font-weight:400;color:#bdbfc6}.atlas-door:focus-visible{outline-offset:7px}.home-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:90px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}.home-footer>a{text-decoration:none;min-height:44px;display:flex;align-items:center}.footer-slash{padding:0 10px;color:#96989d}.home-footer>span:nth-child(2){font:italic 1.5rem/1 var(--serif);color:var(--ink)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.atlas-door:hover{background:#bf2e16;color:white}.atlas-door:hover :is(.project-category,.project-index,.project-path,.project-copy>p:last-child){color:white}.atlas-door:hover .door-arrow{background:var(--paper);color:var(--ink);transform:rotate(45deg)}}
@media(max-width:900px){.header-note{display:none}.atlas-door{padding:28px;grid-template-columns:32px minmax(0,1fr) 100px;gap:22px}.door-arrow{width:66px;height:66px}.project-copy>p:last-child{font-size:1rem}}
@media(max-width:600px){.home-header{min-height:82px;gap:14px}.home-wordmark{font-size:1.25rem}.header-link{gap:10px}.intro{padding:24px 0 28px}.hello{font-size:1rem}.intro-line{font-size:1.125rem}.letter-playground{height:330px}.intro-footer{align-items:flex-start;flex-direction:column;gap:16px;padding-top:0}.margin-note{display:none}.section-label{align-items:start}.section-label>span{max-width:112px;text-align:right}.atlas-door{grid-template-columns:1fr auto;gap:20px 12px;padding:28px 24px;border-radius:4px 44px 4px 4px}.project-index{display:none}.project-copy{grid-column:1/-1}.project-copy h3{font-size:2.8rem}.project-copy>p:last-child{font-size:1rem}.project-action{grid-column:1/-1;justify-self:stretch;flex-direction:row;gap:14px;font-size:1rem}.door-arrow{width:46px;height:46px;font-size:1.7rem;margin:0}.project-path{margin-left:auto}.home-footer{flex-wrap:wrap;gap:6px 12px;padding:16px 0;font-size:.8125rem}.home-footer>span:nth-child(2){display:none}}
@media(max-width:360px){.home-shell{padding:0 18px}.atlas-door{padding:24px 20px}.header-link{font-size:.8125rem}}
.study-door{margin-top:20px;background:#1b211a}.study-door .door-arrow{background:#def16d;color:#1b211a}.study-door:hover{background:#354128}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
