:root{--ink:#0a0a0a;--paper:#fff;--line:#0a0a0a38;--quiet:#0a0a0a94;--faint:#0a0a0a0f;--pad:clamp(1rem, 2.2vw, 2.25rem);--display-font:Arial, Helvetica, sans-serif}*{box-sizing:border-box}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Helvetica Neue,Neue Haas Grotesk Text Pro,Arial,sans-serif}button,a{color:inherit;font:inherit}button{border:0}::selection{background:var(--ink);color:var(--paper)}.portfolio{isolation:isolate;background:var(--paper);min-height:100svh;position:relative;overflow:hidden}.portfolio[data-role=founder]{--display-font:"Arial Black", "Helvetica Neue", Arial, sans-serif}.portfolio[data-role=author]{--display-font:Georgia, "Times New Roman", serif}.portfolio[data-role=teacher]{--display-font:"Courier New", Courier, monospace}.portfolio[data-role=leader]{--display-font:"Trebuchet MS", Verdana, sans-serif}.grain{z-index:20;pointer-events:none;display:none;position:fixed;inset:-50%}.hamilton{z-index:1;white-space:nowrap;pointer-events:none;color:#0000;opacity:0;letter-spacing:-.095em;text-transform:uppercase;-webkit-text-stroke:clamp(1px, .1vw, 1.5px) #0a0a0a80;width:max-content;font-size:clamp(7rem,16.5vw,22.5rem);font-weight:900;line-height:.72;transition:opacity .8s,filter .8s,transform 1s cubic-bezier(.2,.8,.2,1);animation:2.8s cubic-bezier(.2,.8,.2,1) 2.05s forwards hamiltonIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scaleX(.96)}.portfolio--selected .hamilton{filter:none;transform:translate(-50%,-50%)scaleX(.98);opacity:.08!important}.stage{z-index:2;width:100%;min-height:100svh;padding:clamp(1.5rem, 4vw, 4.5rem) var(--pad);grid-template-columns:minmax(0,1fr) minmax(245px,20vw) minmax(0,1fr);align-items:center;gap:clamp(1.25rem,2.8vw,3rem);display:grid;position:relative}.project-slot{min-width:0}.project-card{border-top:1px solid var(--ink);will-change:transform, opacity;background:0 0;width:100%;max-width:620px}.project-card--left{margin-right:auto;animation:1.4s cubic-bezier(.16,1,.3,1) both projectFromLeft}.project-card--right{flex-direction:column;margin-left:auto;animation:1.4s cubic-bezier(.16,1,.3,1) both projectFromRight;display:flex}.project-copy{padding:1.25rem 0 0}.project-copy h2{letter-spacing:-.055em;max-width:none;font-size:clamp(1.75rem,2.6vw,3.25rem);line-height:1.05;font-family:var(--display-font);margin:0 0 1rem;font-weight:500}.project-body{color:#0a0a0ab8;max-width:66ch;margin:0;font-size:clamp(1rem,1.08vw,1.22rem);line-height:1.5}.project-link{letter-spacing:.02em;text-underline-offset:.3em;align-items:center;gap:.25rem;min-height:44px;margin-top:.75rem;font-size:.8rem;font-weight:600;text-decoration:underline;transition:opacity .2s;display:inline-flex}.project-link:hover,.project-link:focus-visible{opacity:.55}.role-nav{align-self:center;min-width:0;padding:0;position:relative}.role-list{display:grid}.role-button{cursor:pointer;text-align:center;background:0 0;width:100%;padding:.28rem 0;display:block;position:relative;overflow:hidden}.role-word-wrap{justify-items:center;max-width:100%;padding-bottom:.5rem;display:inline-grid;position:relative}.role-underline{background:var(--ink);transform-origin:50%;width:clamp(3.5rem,62%,7.5rem);height:1px;transition:transform .42s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:50%;transform:translate(-50%)scaleX(0)}.role-button:hover .role-underline,.role-button:focus-visible .role-underline,.role-button.is-active .role-underline{transform-origin:50%;transform:translate(-50%)scaleX(1)}.role-button.is-active .role-word{opacity:1}.role-word{width:max-content;max-width:100%;color:var(--ink);letter-spacing:-.07em;white-space:nowrap;clip-path:inset(0 100% 0 0);text-shadow:none;animation:typeWord .62s steps(var(--letters)) calc(.3s + var(--role-index) * .5s) forwards;margin-inline:auto;font-size:clamp(2.2rem,4.2vw,4.8rem);font-weight:700;line-height:.98;transition:color .25s,opacity .25s,text-shadow .25s;display:block;overflow:visible}.role-button:first-child .role-word{letter-spacing:-.08em;font-family:Arial Black,Helvetica Neue,Arial,sans-serif;font-weight:900}.role-button:nth-child(2) .role-word{letter-spacing:-.075em;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.role-button:nth-child(3) .role-word{letter-spacing:-.1em;font-family:Courier New,Courier,monospace;font-weight:400}.role-button:nth-child(4) .role-word{letter-spacing:-.075em;font-family:Trebuchet MS,Verdana,sans-serif;font-weight:700}.role-list:has(.is-active) .role-button:not(.is-active) .role-word{color:#0a0a0a38;text-shadow:none}.project-link:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.intro-wipe{z-index:30;background:var(--ink);color:var(--paper);pointer-events:none;place-items:center;animation:1.1s cubic-bezier(.7,0,.3,1) forwards introWipe;display:grid;position:fixed;inset:0}.intro-wipe span{letter-spacing:.22em;text-transform:uppercase;font-size:.68rem;font-weight:700;animation:.85s forwards introLabel}@keyframes introWipe{0%,48%{clip-path:inset(0)}to{clip-path:inset(0 0 100%)}}@keyframes introLabel{0%{opacity:0;letter-spacing:.35em}30%,60%{opacity:1}to{opacity:0;letter-spacing:.22em}}@keyframes typeWord{to{clip-path:inset(0)}}@keyframes hamiltonIn{0%{opacity:0;filter:blur(12px)}to{opacity:.14;filter:none}}@keyframes projectFromLeft{0%{opacity:0;transform:translate(-18vw)}to{opacity:1;transform:translate(0)}}@keyframes projectFromRight{0%{opacity:0;transform:translate(18vw)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{to{opacity:1}}@keyframes grainShift{0%{transform:translate(0,0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}}@media (max-width:1180px){.stage{grid-template-columns:minmax(0,1fr) minmax(210px,23vw) minmax(0,1fr);gap:1.25rem}.project-copy h2{font-size:clamp(1.8rem,2.7vw,3rem)}.project-body{font-size:clamp(.9rem,1.2vw,1.08rem)}}@media (max-width:880px){.portfolio{min-height:100svh;display:block;overflow:hidden auto}.stage{flex-direction:column;gap:1.8rem;min-height:100svh;padding-block:3rem;display:flex}.role-nav{order:1;width:min(100%,520px);padding-inline:0}.role-word{font-size:clamp(3.1rem,15vw,6rem)}.project-slot{width:100%}.project-slot--left{order:2}.project-slot--right{order:3}.project-card{background:0 0;max-width:none}.project-copy h2{max-width:none;font-size:clamp(2rem,7vw,3.25rem);line-height:1.05}.project-body{max-width:none;font-size:clamp(1.05rem,3.9vw,1.35rem);line-height:1.5}.hamilton{writing-mode:horizontal-tb;-webkit-text-stroke-color:#0a0a0a80;font-size:16.5vw;position:fixed;top:50%;transform:translate(-50%,-50%)scaleX(.96)}.portfolio--selected .hamilton{transform:translate(-50%,-50%)scaleX(.98)}}@media (max-width:540px){.hamilton{font-size:min(31vw,18svh);transform:translate(-50%,-50%)rotate(90deg)scaleX(.96)}.portfolio--selected .hamilton{transform:translate(-50%,-50%)rotate(90deg)scaleX(.98)}.stage{min-height:100svh;padding-top:2.2rem}.role-button{padding-block:.2rem}.role-word{font-size:clamp(3rem,17vw,5.2rem)}.project-copy h2{max-width:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.hamilton{opacity:.14}.role-word{clip-path:none}}
