@font-face{font-family:Okta;src:url('assets/fonts/okta-bold-italic.otf') format('opentype');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:Pontiff;src:url('assets/fonts/pontiff-wide.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#000;--paper:#fff;--purple:#694aff;--green:#00d572;--orange:#ff5500}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Okta,Arial,sans-serif;font-weight:700;font-style:italic}h1,h2,p{margin:0}a{color:inherit}img{display:block;max-width:none}a:focus-visible{outline:3px solid var(--purple);outline-offset:8px}.skip-link{position:fixed;top:12px;left:12px;z-index:20;padding:12px 18px;background:var(--green);transform:translateY(-180%)}.skip-link:focus{transform:none}
.site{width:100%;container-type:inline-size;overflow:hidden}.composition{position:relative;width:100%}.hero{height:57.692308cqw}.introduction{height:79.594017cqw}.projects{height:76.923077cqw}.contact{height:68.055556cqw}
.crop{display:block;overflow:hidden;position:absolute}.crop img{position:absolute;width:calc(var(--iw)/var(--bw)*100%);height:calc(var(--ih)/var(--bh)*100%);left:calc(var(--bx)/var(--bw)*-100%);top:calc(var(--by)/var(--bh)*-100%)}
.navigation{position:absolute;inset:0;z-index:5;pointer-events:none}.navigation a{position:absolute;top:2.831197cqw;height:1.602564cqw;pointer-events:auto;transition:opacity .18s}.navigation a:hover{opacity:.6}.navigation a::before{content:"";position:absolute;inset:-14px}.navigation .crop{inset:0}.nav-hello{left:3.28125cqw;width:7.271943cqw}.nav-about{left:29.861111cqw;width:10.226814cqw}.nav-projects{left:56.891026cqw;width:9.18744cqw}.nav-contact{left:84.218747cqw;width:10.155741cqw}
.hero-word{left:-6.822917cqw;top:9.90657cqw;width:110.931111cqw;height:36.95953cqw;filter:brightness(0)}.hero-sign{left:37.8125cqw;top:23.824786cqw;width:21.014171cqw;height:10.107944cqw}.tagline{left:3.4375cqw;top:51.228632cqw;width:91.145833cqw;height:4.487629cqw}
.sticker{left:4.692517cqw;top:5.82265cqw;width:30.448718cqw;height:16.987179cqw;transform:rotate(15.848467deg);transform-origin:0 0}.intro-copy{position:absolute;left:3.472222cqw;right:3.472222cqw;top:27.804487cqw;font-size:3.005342cqw;line-height:1.035;text-align:left;letter-spacing:-.035em}.intro-copy strong{display:inline-block;padding-left:29.55cqw;font-weight:700;white-space:nowrap;letter-spacing:-.045em}.orange-cross{left:14.903846cqw;top:34.668803cqw;width:19.818376cqw;height:22.275641cqw}.manifesto{left:-227.884615cqw;top:97.88761cqw;width:391.773478cqw;height:17.183704cqw;transform:rotate(-10.722081deg);transform-origin:0 0}.dream-sticker{left:52.938034cqw;top:60.25641cqw;width:15.331197cqw;height:8.226496cqw}
.project-list{position:absolute;left:3.632479cqw;right:3.632479cqw;top:11.645299cqw;height:44.497863cqw;display:grid;grid-template-rows:repeat(6,1fr)}.project-row{display:grid;grid-template-columns:49.5% 37% 13.5%;align-items:center;border-bottom:1px solid #000;gap:0}.project-row h2{font-family:Okta,Arial,sans-serif;font-size:4.700855cqw;line-height:1.1;letter-spacing:-.025em}.project-row p,.project-row span{font-size:1.025641cqw;line-height:1.15;letter-spacing:-.035em}.project-row span{text-align:right}.project-row:hover h2{color:var(--purple)}
.contact-title{position:absolute;left:3.632479cqw;top:9.508547cqw;width:69.604701cqw;height:22.435897cqw;z-index:2}.contact-title img{width:100%;height:auto}.contact-cross{position:absolute;left:21.153846cqw;top:23.717949cqw;width:28.846154cqw;height:25.854701cqw}.contact-cross img{width:100%;height:auto}.email{position:absolute;left:41.239316cqw;top:48.557692cqw;width:55.34188cqw;height:5.235043cqw;display:block}.email-arrow{position:absolute;left:0;top:1.709402cqw;width:2.403846cqw;height:auto}.email-label{position:absolute;left:3.57906cqw;top:0;width:51.762821cqw;height:auto}.email-line{position:absolute;left:0;top:4.754274cqw;width:55.074786cqw;height:.480769cqw;background:#000}.email:hover .email-line{background:var(--green)}.socials{position:absolute;left:3.632479cqw;right:5.14cqw;top:61.899038cqw;display:flex;align-items:center;justify-content:space-between}.socials span:nth-child(1){width:12.324691cqw}.socials span:nth-child(2){width:15.312108cqw}.socials span:nth-child(3){width:12.522304cqw}.socials span:nth-child(4){width:11.20081cqw}.socials span:nth-child(5){width:11.021517cqw}.socials img{width:100%;height:auto}
@media(max-width:600px){
 .hero{height:75cqw}.navigation{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 5cqw}.navigation a{position:relative;left:auto;top:auto;height:12px}.nav-hello{width:54.5px}.nav-about{width:76.6px}.nav-projects{width:68.8px}.nav-contact{width:76px}.navigation a::before{inset:-12px -4px}.hero-word{top:23cqw}.hero-sign{top:36.9cqw}.tagline{top:65cqw}
 .introduction{height:136cqw}.sticker{left:8cqw;top:7cqw;width:42cqw;height:23.43cqw}.intro-copy{left:5cqw;right:5cqw;top:49cqw;font-size:4.2cqw;line-height:1.15;letter-spacing:-.02em}.intro-copy br{display:none}.intro-copy strong{padding:0;display:inline;white-space:normal;letter-spacing:inherit}.orange-cross{left:17cqw;top:73cqw;width:24cqw;height:27cqw}.manifesto{left:-227.88cqw;top:133cqw}.dream-sticker{left:57cqw;top:104cqw;width:23cqw;height:12.34cqw}
 .projects{height:120cqw}.project-list{left:5cqw;right:5cqw;top:9cqw;height:93cqw}.project-row{grid-template-columns:1fr 29%;position:relative;align-content:center;row-gap:1.3cqw}.project-row h2{font-size:6.1cqw;grid-column:1;grid-row:1}.project-row p{font-size:2.7cqw;grid-column:1;grid-row:2}.project-row span{font-size:2.7cqw;grid-column:2;grid-row:1 / 3}
 .contact{height:92cqw}.contact-title{top:6cqw;left:5cqw;width:85cqw;height:27.4cqw}.contact-cross{top:23cqw;left:23cqw;width:35cqw;height:auto}.email{top:59cqw;left:5cqw;width:90cqw;height:9cqw}.email-arrow{width:3.8cqw;top:2.6cqw}.email-label{left:5.7cqw;width:84.3cqw}.email-line{top:7.75cqw;width:90cqw;height:.8cqw}.socials{top:80cqw;left:5cqw;right:5cqw;flex-wrap:wrap;gap:6cqw}.socials span:nth-child(n){width:auto}.socials span:nth-child(n) img{height:2.7cqw;width:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original Okta font, matched to the outlined glyph geometry. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-type{position:absolute;inset:0;pointer-events:none}.hero-type svg{width:100%;height:auto;overflow:visible}.hero-type text,.nav-type text{font-family:Okta;font-weight:700;font-style:italic;fill:#000}.nav-type{display:block;width:100%;height:100%;overflow:visible}
@media(max-width:600px){.hero-type{top:13.09343cqw}}

.manifesto,.orange-cross{position:absolute}.manifesto svg{display:block;width:100%;height:100%;overflow:visible}.manifesto text{font-family:Pontiff;font-weight:400;font-style:normal;fill:#000}.orange-cross{background:var(--orange);mask:url(assets/figma/48-1383.svg) center/contain no-repeat;width:22.275641cqw;height:19.818376cqw;left:13.675214cqw;top:35.897436cqw;transform:rotate(90deg)}
@media(max-width:600px){.orange-cross{left:15.5cqw;top:74.5cqw;width:27cqw;height:24cqw}}
.tagline{position:absolute}.tagline img{width:100%;height:100%}
.introduction{isolation:isolate}.intro-copy{z-index:2}.orange-cross{z-index:0;top:39.6cqw}.manifesto{z-index:1}.dream-sticker{z-index:2}
@media(max-width:600px){.orange-cross{top:74.5cqw}}

/* Keep the original diagonal fixed; only its repeated lettering moves. */
.manifesto-track{display:flex;gap:12cqw;width:max-content;height:100%;animation:manifesto-scroll 50s linear infinite;will-change:transform}
.manifesto .manifesto-copy{flex:0 0 391.773478cqw;width:391.773478cqw;height:100%}
.manifesto.is-paused .manifesto-track{animation-play-state:paused}
.motion-toggle{position:absolute;right:3.632479cqw;bottom:3cqw;z-index:3;padding:12px 0;border:0;border-bottom:1px solid currentColor;color:#000;background:transparent;font:italic 700 12px Okta,Arial,sans-serif;cursor:pointer}
.motion-toggle[hidden]{display:none}.motion-toggle:focus-visible{outline:3px solid var(--purple);outline-offset:6px}
@keyframes manifesto-scroll{to{transform:translate3d(calc(-391.773478cqw - 12cqw),0,0)}}

/* The intro waits for the site's resources, with a four-second minimum. */
html{scrollbar-gutter:stable}html.intro-pending{overflow:hidden}.site-loader{display:none}
.intro-pending .site-loader{position:fixed;inset:0;z-index:100;background:var(--paper);overflow:hidden;display:block}
.intro-leaving .site-loader{animation:loader-reveal .5s cubic-bezier(.76,0,.24,1) both}
.loader-art{position:absolute;inset:15% 0 17%;display:grid;place-items:center;isolation:isolate}
.loader-cross{position:absolute;left:56%;top:5%;width:25vw;height:25vw;max-width:45vh;max-height:45vh;background:var(--purple);mask:url(assets/figma/48-1383.svg) center/contain no-repeat;z-index:-1;animation:loader-cross-turn 4s cubic-bezier(.2,.7,.2,1) both}
.loader-words{position:absolute;left:50%;top:50%;transform:translate(-50%,-28%) rotate(-10.722081deg);font-size:clamp(32px,5.1vw,90px);line-height:.93;letter-spacing:-.04em}
.loader-words span{display:block;animation:loader-word-in 4s ease-out both}.loader-words span:nth-child(1){color:var(--orange)}.loader-words span:nth-child(2){color:var(--green);animation-name:loader-word-two}.loader-words span:nth-child(3){color:var(--purple);animation-name:loader-word-three}
.loader-progress{position:absolute;bottom:0;left:0;width:100%;height:8px;background:linear-gradient(90deg,var(--orange) 0 33.33%,var(--green) 33.33% 66.66%,var(--purple) 66.66%);transform-origin:left;transform:scaleX(var(--loader-progress,0));transition:transform .12s linear}
@keyframes loader-reveal{from{clip-path:inset(0)}to{clip-path:inset(0 0 100% 0)}}
@keyframes loader-cross-turn{from{transform:rotate(-45deg) scale(.6)}80%,to{transform:rotate(90deg) scale(1)}}
@keyframes loader-word-in{from{opacity:0;transform:translateY(35%)}12%,to{opacity:1;transform:none}}
@keyframes loader-word-two{0%,15%{opacity:0;transform:translateY(35%)}27%,to{opacity:1;transform:none}}
@keyframes loader-word-three{0%,30%{opacity:0;transform:translateY(35%)}42%,to{opacity:1;transform:none}}
@media(max-width:600px){.loader-cross{width:34vw;height:34vw;left:53%;top:26%}.loader-words{font-size:7.5vw;top:52%}.motion-toggle{right:5cqw;bottom:5cqw}}
@media(prefers-reduced-motion:reduce){.manifesto-track,.intro-pending .site-loader,.loader-cross,.loader-words span{animation:none;will-change:auto}.manifesto-copy:not(:first-child){visibility:hidden}.motion-toggle{display:none}.loader-progress{transition:none}}

/* Native vector cursors: precise hotspot, no trailing overlay, shared by both pages. */
@media (hover:hover) and (pointer:fine) and (forced-colors:none){
 html{cursor:url('assets/cursors/studio-default.svg') 3 2,default}
 :is(a,button,[role="button"],summary,label[for],.motion-toggle){cursor:url('assets/cursors/studio-link.svg') 3 2,pointer}
 :is(a,button,[role="button"],summary,label[for],.motion-toggle):active{cursor:url('assets/cursors/studio-pressed.svg') 3 2,pointer}
 :is(input,textarea,[contenteditable="true"]){cursor:text}
 :is(button,input,textarea):disabled,[aria-disabled="true"]{cursor:not-allowed}
}
