:root{
  --ink:#11110f;
  --paper:#e9ff58;
  --accent:#ff5a3d;
  --cream:#f2eee5;
  --line:rgba(17,17,15,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans",sans-serif;overflow-x:hidden;cursor:none}
a,button{color:inherit}
img{display:block;width:100%}
.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:24px 30px;mix-blend-mode:difference;color:white}
.brand{font-family:"Archivo Black",sans-serif;font-size:23px;text-decoration:none;letter-spacing:-1px}.brand span{font-family:Arial;font-size:8px;vertical-align:top;margin-left:3px}
.menu-toggle,.menu-close{background:none;border:0;font:500 12px/1 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.12em;cursor:none}
.menu-toggle{display:flex;gap:8px;align-items:center;color:inherit}.menu-toggle i{display:block;width:16px;height:1px;background:currentColor}.menu-toggle i:last-child{width:9px}
.menu-panel{position:fixed;z-index:30;inset:0;background:#111;color:#f3f0e7;padding:30px;display:grid;align-content:space-between;transform:translateY(-102%);transition:transform .65s cubic-bezier(.76,0,.24,1)}
.menu-panel.open{transform:none}.menu-close{position:absolute;top:28px;right:30px;color:white}.menu-panel nav{margin-top:12vh;display:grid}.menu-panel nav a{font-family:"Archivo Black";font-size:clamp(54px,11vw,150px);line-height:.85;text-decoration:none;text-transform:uppercase;letter-spacing:-.06em;transition:color .2s}.menu-panel nav a:hover{color:var(--accent)}.menu-panel p{font:11px/1.6 "IBM Plex Mono",monospace;letter-spacing:.1em}
.hero{min-height:125vh;padding:110px 30px 80px;position:relative}.hero-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font:10px/1 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.12em}.hero-title{position:relative;z-index:2;margin:32px 0 -11vw;font:clamp(110px,24vw,360px)/.72 "Archivo Black",sans-serif;letter-spacing:-.095em;text-transform:uppercase}.hero-title .line{display:block}.hero-title .offset{padding-left:22vw}.hero-image-wrap{width:min(68vw,920px);margin-left:auto;position:relative;z-index:1}.hero-image{overflow:hidden;background:#222}.hero-image img{aspect-ratio:3/4;object-fit:cover;transform:scale(1.03);transition:transform 1.1s ease}.hero-image:hover img{transform:scale(1)}.scroll-note{position:absolute;right:calc(100% + 22px);bottom:0;writing-mode:vertical-rl;transform:rotate(180deg);font:10px/1 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.15em}.scroll-note span{font-size:18px;margin-top:12px}
.section-pad{padding:140px 6vw}.eyebrow{font:10px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.14em;border-top:1px solid var(--line);padding-top:12px}.intro-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:7vw;align-items:end;margin-top:80px}.intro h2{font:clamp(48px,7.2vw,110px)/.9 "Archivo Black";letter-spacing:-.055em;text-transform:uppercase;margin:0}.body-copy{font-size:clamp(17px,1.7vw,25px);line-height:1.35;margin:0 0 8px}
.image-stage{background:var(--ink);color:var(--cream)}.stage-label{font:10px "IBM Plex Mono",monospace;margin-bottom:22px;letter-spacing:.14em}.parallax-frame{height:115vh;overflow:hidden}.parallax-frame img{height:135%;object-fit:cover;object-position:center;transform:translateY(-8%)}
.project-info{background:var(--accent);display:grid;grid-template-columns:1.2fr .8fr;gap:9vw}.info-title{font:clamp(58px,9vw,145px)/.78 "Archivo Black";letter-spacing:-.07em}.info-columns{display:grid;align-content:end}.info-columns div{border-top:1px solid rgba(17,17,15,.35);padding:13px 0 22px}.info-columns span{font:10px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.12em}.info-columns p{margin:8px 0 0;font-size:18px}
.next-project{background:var(--cream);padding:110px 6vw 120px}.next-project p{font:10px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.14em}.next-project a{display:flex;justify-content:space-between;text-decoration:none;font:clamp(72px,15vw,230px)/.8 "Archivo Black";letter-spacing:-.08em;border-bottom:2px solid;padding-bottom:14px}.next-project a span{font-size:.3em;align-self:flex-start}
footer{background:var(--cream);padding:26px 6vw 38px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font:9px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.12em}footer a{text-decoration:none}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:none}
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:100;border-radius:50%;transform:translate(-50%,-50%)}.cursor-dot{width:5px;height:5px;background:#fff;mix-blend-mode:difference}.cursor-ring{width:34px;height:34px;border:1px solid #fff;mix-blend-mode:difference;transition:width .2s,height .2s}
@media(max-width:800px){body{cursor:auto}.cursor-dot,.cursor-ring{display:none}.site-header{padding:20px}.hero{padding:90px 20px 60px;min-height:auto}.hero-title{margin:28px 0 -7vw;font-size:27vw}.hero-title .offset{padding-left:11vw}.hero-image-wrap{width:82vw}.scroll-note{display:none}.section-pad{padding:95px 20px}.intro-grid,.project-info{grid-template-columns:1fr}.intro-grid{margin-top:55px}.body-copy{max-width:550px}.parallax-frame{height:75vh}.project-info{gap:70px}.next-project{padding:80px 20px}.next-project a{font-size:20vw}footer{padding:24px 20px;flex-direction:column}}
.custom-logo{max-height:42px;width:auto}.brand .custom-logo-link{display:block}.wp-content{background:var(--cream);font-size:20px;line-height:1.6}.wp-content>*{max-width:900px;margin-left:auto;margin-right:auto}
