@font-face{font-family:"Inter Tight";src:url(/fonts/inter-tight.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(/fonts/inter-tight-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}

:root{
  --ink:#f5f5f0;
  --paper:#000000;
  --mute:#8a8a8a;
  --faint:#262626;
  --pill:#1a1a1a;
  --pink:#fd307a;
  --lime:#61d293;
  --sun:#dffc9d;
  --purple:#7a1585;
  --deep:#3a0640;
  --gut:clamp(16px,2.8vw,40px);
  --ncol:calc((100vw - var(--gut) * 3) / 2 * .65);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{background:var(--paper);color:var(--ink);font-family:"Inter Tight",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.5;letter-spacing:-.005em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
p,li,.plede,.ptags{text-wrap:pretty}
h1,h2,h3,.label{text-wrap:balance}
a{color:inherit;text-decoration:none}
::selection{background:var(--lime);color:#000}
.nowrap{white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- background glow ---------- */
@property --ga{syntax:'<number>';inherits:false;initial-value:0}
@property --pa{syntax:'<number>';inherits:false;initial-value:0}
@property --gx{syntax:'<percentage>';inherits:false;initial-value:50%}
@property --gy{syntax:'<percentage>';inherits:false;initial-value:50%}
@property --px{syntax:'<percentage>';inherits:false;initial-value:50%}
@property --py2{syntax:'<percentage>';inherits:false;initial-value:50%}
.glow{position:fixed;inset:-25% -25%;z-index:-1;pointer-events:none;
  background:radial-gradient(70% 75% at var(--gx) var(--gy),rgba(253,48,122,var(--ga)) 0%,rgba(253,48,122,calc(var(--ga) * .38)) 35%,transparent 100%),radial-gradient(80% 85% at var(--px) var(--py2),rgba(122,21,133,var(--pa)) 0%,rgba(122,21,133,calc(var(--pa) * .38)) 40%,transparent 100%);
  transition:--ga 1.4s ease,--pa 1.4s ease,--gx 1.8s var(--ease),--gy 1.8s var(--ease),--px 1.8s var(--ease),--py2 1.8s var(--ease)}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px var(--gut);background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,0));pointer-events:none}
.hdr>*{pointer-events:auto}
.hdr .mark img{height:38px;width:auto}
.nav{display:flex;gap:clamp(20px,5vw,72px)}
.nav a,.cap{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.nav a{position:relative;padding:4px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.clock{position:fixed;right:var(--gut);bottom:18px;z-index:50;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.clock b{color:var(--lime);margin-left:6px;font-weight:700}

/* ---------- hero ---------- */
.hero{position:relative;overflow-x:clip;height:100svh;min-height:600px;padding:96px var(--gut) var(--gut);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto}
.hero .blurb{position:relative;z-index:5;max-width:400px;font-size:clamp(17px,1.4vw,21px);line-height:1.45;font-weight:500}
.hero .blurb strong{font-weight:800;color:var(--pink)}
.stack{position:absolute;inset:0;z-index:4;pointer-events:none}
.stack a{position:absolute;left:var(--x);top:var(--y);aspect-ratio:2/3;pointer-events:auto;display:block;transform:translate(-50%,-50%) rotate(var(--r));transition:left 1.1s var(--ease),top 1.1s var(--ease),transform .7s var(--ease),width .6s var(--ease);will-change:transform}
.stack.pre a{transition:none}
.stack a.extra{display:none}
.stack.xl a.extra{display:block}
.stack a.wide{aspect-ratio:3/2}
.stack a img{width:100%;height:100%;object-fit:cover;box-shadow:0 22px 50px rgba(0,0,0,.75),0 2px 6px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06)}
.stack a.lift{transform:translate(-50%,-56%) rotate(calc(var(--r) * .5)) scale(1.07)}
.stack a:hover,.stack a:focus-visible{transform:translate(-50%,-52%) rotate(calc(var(--r) * .3)) scale(1.06);z-index:99!important;outline:none}
@property --ga2{syntax:'<angle>';inherits:true;initial-value:0deg}
@keyframes glowspin{to{--ga2:360deg}}
.stack a{--ga2:0deg;animation:glowspin 3s linear infinite paused}
.stack a:hover,.stack a:focus-visible{animation-play-state:running}
/* soft halo behind the cover */
.stack a::before{content:"";position:absolute;inset:6px;z-index:-1;background:conic-gradient(from var(--ga2),var(--pink),var(--lime),var(--sun),var(--pink),var(--lime),var(--sun),var(--pink));filter:blur(18px);opacity:0;transition:opacity .35s;pointer-events:none}
.stack a:hover::before,.stack a:focus-visible::before{opacity:.55}
/* thin turning ring around the edge */
.stack a .ring{position:absolute;inset:-3px;z-index:2;padding:3px;background:conic-gradient(from var(--ga2),var(--pink),var(--lime),var(--sun),var(--pink),var(--lime),var(--sun),var(--pink));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .35s;pointer-events:none}
.stack a:hover .ring,.stack a:focus-visible .ring{opacity:1}
.stack a:hover img,.stack a:focus-visible img{box-shadow:0 34px 70px rgba(0,0,0,.6)}
.stack a::after{content:attr(data-title);position:absolute;inset:0;display:flex;align-items:flex-end;padding:9% 9% 11%;background:linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.55) 40%,rgba(0,0,0,.9));color:#fff;font-size:clamp(22px,2.4vw,40px);line-height:1.02;font-weight:800;letter-spacing:-.025em;text-wrap:balance;hyphens:auto;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .35s var(--ease);pointer-events:none}
.stack a:hover::after,.stack a:focus-visible::after{opacity:1;transform:none}
.stack .stack-cap{display:none}
.hero .base{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;position:relative}
.hero .base .logo{position:relative;z-index:1}
.hero .base .meta{text-shadow:0 2px 12px rgba(0,0,0,.85)}
.hero .base .logo{width:min(64vw,940px)}
.hero .base .meta{position:relative;z-index:5;font-size:clamp(16px,1.6vw,22px);font-weight:600;letter-spacing:-.01em;padding-bottom:1.2%;white-space:nowrap;color:var(--lime)}

/* ---------- statement ---------- */
.statement{position:relative;height:260vh;overflow-x:clip}
.statement .pin{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center;gap:var(--gut);padding:0 var(--gut)}
.statement .big{font-size:clamp(36px,5.2vw,92px)}
.skullwrap{justify-self:center;width:min(32vw,58svh,520px);transform:translateY(calc((1 - var(--sp,0)) * 10%)) rotate(calc(-10deg + var(--sp,0) * 16deg)) scale(calc(.82 + var(--sp,0) * .22));transition:transform .2s linear}
.skull-big{width:100%;height:auto;filter:drop-shadow(0 0 50px rgba(253,48,122,.35)) drop-shadow(0 0 120px rgba(122,21,133,.45));animation:bob 5s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-14px)}}
.big{font-size:clamp(38px,6.4vw,104px);line-height:1.04;font-weight:700;letter-spacing:-.025em;max-width:15ch}
.statement .big{max-width:none}
.statement .w{color:var(--faint);transition:color .25s linear}
.statement .w.on{color:var(--ink)}
.statement .w.on.hl{color:var(--pink)}
.statement .w.on.hl2{color:var(--lime)}
.statement .sub{margin-top:clamp(28px,5vh,56px);margin-left:clamp(0px,8vw,160px);max-width:520px;font-size:clamp(17px,1.35vw,21px);line-height:1.55;color:#cfcfcf}

/* ---------- marquee band ---------- */
.band{position:relative;background:radial-gradient(120% 90% at 50% 50%,var(--purple),var(--deep) 60%,#000);height:clamp(420px,80vh,820px);overflow:hidden;display:flex;align-items:center}
.band .rows{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:0;pointer-events:none}
.band .row{display:flex;white-space:nowrap;font-size:clamp(64px,11vw,190px);font-weight:700;letter-spacing:-.028em;line-height:.95}
.band .row span{padding-right:.35em}
.band .row.a{animation:mq 38s linear infinite;color:var(--lime)}
.band .row.b{animation:mq 46s linear infinite reverse;color:transparent;-webkit-text-stroke:2px var(--pink)}
@keyframes mq{to{transform:translateX(-50%)}}
.band figure{position:relative;z-index:2;box-shadow:0 30px 80px rgba(0,0,0,.6);margin:0 auto;width:min(62vw,820px);aspect-ratio:3/2;overflow:hidden}
.band figure img{width:100%;height:120%;object-fit:cover;transform:translateY(var(--py,0))}

/* ---------- section scaffold ---------- */
.sec{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2.2fr);gap:var(--gut);padding:clamp(80px,14vh,160px) var(--gut)}
.sec>.side{position:relative}
.sec>.side .stick{position:sticky;top:110px;display:flex;flex-direction:column;gap:clamp(160px,30vh,320px)}
.label{font-size:clamp(20px,1.7vw,26px);font-weight:600;letter-spacing:-.01em}
.side .cta p{font-size:15px;color:#aaa;line-height:1.5;max-width:240px;margin-bottom:14px}
.side .cta a{font-size:clamp(20px,1.7vw,26px);font-weight:500;border-bottom:2px solid transparent;transition:border-color .3s}
.side .cta a{color:var(--lime)}
.side .cta a:hover{border-color:var(--pink)}

/* ---------- work list ---------- */
.work{display:flex;flex-direction:column}
.proj{display:grid;grid-template-columns:3.2em minmax(0,1fr) clamp(170px,24vw,360px);gap:clamp(12px,2vw,28px);align-items:start;padding:clamp(28px,5vh,48px) 0;border-top:1px solid var(--faint)}
.proj:last-child{border-bottom:1px solid var(--faint)}
.proj .ltr{white-space:nowrap;font-size:clamp(22px,2.6vw,40px);font-weight:700;letter-spacing:-.022em;color:#3d3d3d;line-height:1;padding-top:.15em;transition:color .3s}
.proj h3{font-size:clamp(28px,3.6vw,56px);line-height:1.04;font-weight:700;letter-spacing:-.025em}
.proj p{margin-top:14px;max-width:46ch;font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:#cfcfcf}
.proj .thumb{overflow:hidden;aspect-ratio:2/3;background:var(--pill)}
.proj .thumb img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .9s var(--ease)}
.proj:hover .ltr{color:var(--pink)}
.proj:hover h3{color:var(--lime)}
.proj h3{transition:color .3s}
.proj:hover .thumb img{transform:scale(1.08) rotate(-1.2deg)}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pills span{background:var(--pill);border:1px solid #2e2e2e;color:#ddd;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;letter-spacing:-.005em}
.more{color:var(--pink);display:inline-flex;align-items:center;gap:.5em;margin-top:18px;font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.more i{font-style:normal;transition:transform .3s var(--ease)}
.proj:hover .more i{transform:translateX(6px)}

/* ---------- about ---------- */
.bios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:clamp(32px,6vh,64px)}
.bio h3{font-size:clamp(26px,2.5vw,38px);letter-spacing:-.02em;font-weight:700;line-height:1.05;margin-bottom:14px}
.bio p{font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:#d4d4d4}
.bio:nth-child(1) h3{color:var(--pink)}
.bio:nth-child(2) h3{color:var(--lime)}
.lead{font-size:clamp(23px,2.3vw,34px);line-height:1.3;letter-spacing:-.02em;font-weight:500;max-width:34ch}
.lead+.lead{margin-top:1em}

/* ---------- rep + contact ---------- */
.rep{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gut);margin-top:clamp(28px,5vh,48px)}
.rep div{border-top:2px solid var(--lime);padding-top:16px}
.rep h4{font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.rep p{font-size:clamp(17px,1.3vw,19px);line-height:1.5}
.rep p b{font-weight:700}
.rep a{border-bottom:1px solid #444;transition:border-color .25s}
.rep a:hover{border-color:var(--pink)}
form{margin-top:clamp(28px,5vh,48px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
form .full{grid-column:1/-1}
label{display:block;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
input,textarea{width:100%;font:inherit;font-size:18px;color:var(--ink);background:var(--pill);border:2px solid transparent;border-radius:14px;padding:14px 16px;outline:none;transition:border-color .25s,background .25s}
textarea{min-height:160px;resize:vertical}
input:focus,textarea:focus{border-color:var(--lime);background:#0d0d0d}
.btn{display:inline-flex;align-items:center;gap:.6em;background:var(--lime);color:#000;border:0;border-radius:999px;padding:15px 28px;font:inherit;font-size:16px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .25s,transform .25s var(--ease)}
.btn:hover{background:var(--pink);color:#fff;transform:translateY(-2px)}
.btn.ghost{background:var(--pill);color:var(--ink);box-shadow:inset 0 0 0 1px #333}
.btn.ghost:hover{background:var(--purple);color:#fff}
.follow{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.follow a{background:var(--pill);border-radius:999px;padding:10px 20px;font-size:16px;font-weight:600;transition:background .25s,color .25s}
.follow a:hover{background:var(--pink);color:#fff}
.hp{display:none}

/* ---------- footer ---------- */
.foot{padding:clamp(80px,14vh,140px) var(--gut) 56px;display:grid;gap:40px}
.foot .top{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--gut)}
.foot .logo{width:min(72vw,1100px)}
.foot .skull{width:clamp(90px,13vw,200px);filter:drop-shadow(0 0 30px rgba(253,48,122,.3));transition:transform .6s var(--ease)}
.foot .skull:hover{transform:rotate(-8deg) scale(1.05)}
.foot .row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;font-size:15px;font-weight:600;color:#999}
.foot .row a:hover{color:var(--lime)}

/* ---------- project page ---------- */
.ph{padding:120px var(--gut) clamp(40px,8vh,80px)}
.ph .crumb{display:flex;gap:10px;align-items:center;margin-bottom:clamp(28px,6vh,60px)}
.ph .crumb a{color:var(--mute)}
.ph .crumb a:hover{color:var(--ink)}
.ph h1{font-size:clamp(52px,10vw,180px);line-height:1;font-weight:800;letter-spacing:-.035em}
.ph h1 em{font-style:normal;color:var(--pink)}
.pbody{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:var(--gut);padding:0 var(--gut) clamp(60px,10vh,120px)}
.pbody .kicker{font-size:clamp(20px,2.2vw,30px);line-height:1.15;font-weight:700;letter-spacing:-.015em;max-width:22ch}
.pbody .copy p{font-size:clamp(17px,1.45vw,20px);line-height:1.5;letter-spacing:-.01em;margin-bottom:1em;max-width:58ch}
.pbody .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.gal{display:grid;gap:var(--gut);padding:0 var(--gut);grid-template-columns:repeat(var(--cols,2),minmax(0,1fr))}
.gal figure{overflow:hidden;background:var(--pill)}
.gal img{width:100%;height:auto;transition:transform 1.2s var(--ease)}
.gal figure:hover img{transform:scale(1.03)}
.gal .wide{grid-column:1/-1}
.next{display:block;padding:clamp(80px,16vh,180px) var(--gut);border-top:1px solid var(--faint);margin-top:clamp(80px,14vh,160px)}
.next .cap{color:var(--mute)}
.next .t{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:16px;font-size:clamp(40px,7vw,120px);line-height:.9;font-weight:800;letter-spacing:-.03em}
.next .t i{font-style:normal;transition:transform .45s var(--ease)}
.next:hover .t i{transform:translateX(16px);color:var(--lime)}
.next:hover .t{color:var(--pink)}
.next .t{transition:color .3s}

.skull404{width:clamp(140px,20vw,280px);height:auto;margin-bottom:28px;filter:drop-shadow(0 0 40px rgba(253,48,122,.35));animation:bob 5s ease-in-out infinite}

/* ---------- all-work link ---------- */
.allwork{display:flex;justify-content:space-between;align-items:center;padding:clamp(36px,6vh,60px) 0 0;font-size:clamp(28px,3.6vw,56px);font-weight:700;letter-spacing:-.025em;color:var(--lime)}
.allwork i{font-style:normal;transition:transform .45s var(--ease)}
.allwork:hover{color:var(--pink)}
.allwork:hover i{transform:translateX(14px)}

/* ---------- work wall ---------- */
body.wk{height:100svh;overflow:hidden;overscroll-behavior:none}
body.wk .hdr{background:none}
body.wk .hdr .nav a{text-shadow:0 1px 10px rgba(0,0,0,.9)}
.wall{position:fixed;inset:0;overflow:hidden}
.wall-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;font-size:clamp(96px,17vw,280px);line-height:.85;font-weight:800;letter-spacing:-.04em;text-align:center;pointer-events:none;user-select:none}
.wall-title .cap{display:block;margin-top:clamp(14px,2.4vh,26px);font-size:clamp(12px,1vw,15px);letter-spacing:.02em;text-transform:none;font-weight:500;color:var(--lime)}
.field{position:absolute;inset:0;z-index:2;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
body.grabbing .field{cursor:grabbing}
.tile{position:absolute;left:0;top:0;will-change:transform;pointer-events:none}
.card{pointer-events:auto}
.card{position:absolute;display:block;opacity:0;transform:scale(.86) translateY(30px)}
body.ready .card{animation:cardin .9s var(--ease) var(--d,0ms) forwards}
@keyframes cardin{to{opacity:1;transform:none}}
.card{overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.card img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;-webkit-user-drag:none;pointer-events:none;transition:transform .6s var(--ease),filter .4s}
.card:hover img{transform:scale(1.06);filter:saturate(1.15)}
/* skull cursor */
body.has-cursor a,body.has-cursor button,body.has-cursor .card,body.has-cursor .stack a,body.has-cursor label[for]{cursor:none}
body.has-cursor input,body.has-cursor textarea,body.has-cursor select{cursor:text}
.cursor{position:fixed;left:0;top:0;z-index:200;pointer-events:none;will-change:transform}
.cursor .sk{position:absolute;left:-36px;top:-51px;width:72px;height:102px;background:url(/img/skull2-500.png) center/contain no-repeat;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6));opacity:0;transform:scale(.3) rotate(10deg);transition:transform .4s var(--ease),opacity .2s}
.cursor.hot .sk{opacity:1;transform:scale(1) rotate(-8deg)}
.cursor.hot.press .sk{transform:scale(.86) rotate(-4deg)}
.cursor .ar{position:absolute;left:16px;top:14px;width:46px;height:46px;border-radius:50%;background:var(--lime);color:#000;display:grid;place-items:center;font-style:normal;font-size:24px;font-weight:800;line-height:1;transform:scale(0);transition:transform .35s var(--ease);box-shadow:0 6px 18px rgba(0,0,0,.45)}
.cursor.hot .ar{transform:scale(1)}
.cursor.hide .sk,.cursor.hide .ar{opacity:0}
.cursor span{position:absolute;left:50%;top:62px;transform:translateX(-50%) scale(.6);white-space:nowrap;background:var(--pink);color:#fff;font-size:13px;font-weight:700;padding:7px 14px;border-radius:999px;opacity:0;transition:opacity .25s,transform .35s var(--ease)}
.cursor.on span{opacity:1;transform:translateX(-50%)}
@media (pointer:coarse){.cursor{display:none}}
.wall-fallback{position:relative;z-index:3;padding:120px var(--gut);list-style:none;font-size:28px;font-weight:700}


/* ---------- book page (Möbius project layout) ---------- */
.pletter{position:fixed;left:var(--gut);bottom:20px;z-index:5;font-size:clamp(36px,4vw,60px);font-weight:800;letter-spacing:-.028em;color:#2b2b2b;pointer-events:none}
.phero{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);padding:0 var(--gut);min-height:100svh}
.phimg{justify-self:end;align-self:start;width:min(calc(var(--ncol) * var(--cs,1)),calc(50vw - var(--gut) * 1.5));height:auto;margin-top:clamp(96px,13vh,140px);overflow:hidden;position:relative;will-change:transform,clip-path;z-index:1}
.phimg img{display:block;width:100%;height:auto;max-height:calc(100svh - clamp(96px,13vh,140px) - 40px);object-fit:contain;object-position:top center}
.phinfo{align-self:center;padding:120px 0 80px clamp(0px,6vw,120px);max-width:680px}
.phinfo .crumb{display:flex;gap:10px;margin-bottom:28px;color:var(--mute)}
.phinfo .crumb a:hover{color:var(--lime)}
.phinfo h1{font-size:clamp(40px,4.9vw,84px);line-height:1.02;font-weight:800;letter-spacing:-.03em}
.phinfo h1 em{font-style:normal;color:var(--pink)}
.plede{margin-top:28px;font-size:clamp(21px,1.75vw,27px);line-height:1.45;color:#e4e4e4;max-width:36ch}
.ptags{margin-top:clamp(36px,7vh,80px);font-size:17px;line-height:1.5;color:var(--mute);max-width:40ch}
.phinfo .acts,.pclose .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.ptext{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);padding:clamp(70px,14vh,150px) var(--gut)}
.ptext p{justify-self:end;width:min(42vw,660px);font-size:clamp(22px,1.95vw,30px);line-height:1.5;letter-spacing:-.01em;color:#ececec}
.pnum{padding-left:clamp(0px,6vw,120px);font-size:clamp(40px,4.6vw,74px);font-weight:300;letter-spacing:-.022em;line-height:1;color:#3a3a3a}
.pbig{padding:clamp(30px,6vh,60px) var(--gut)}
.pbig p{font-size:clamp(34px,4.6vw,78px);line-height:1.1;font-weight:700;letter-spacing:-.025em;max-width:1180px;text-indent:calc(50vw - var(--gut) * 1.5 - var(--ncol))}
.rise .w{text-indent:0;display:inline-block;opacity:0;transform:translateY(.55em) rotate(3deg);transform-origin:0 100%;transition:opacity .7s var(--ease) calc(var(--i) * 45ms),transform 1s var(--ease) calc(var(--i) * 45ms)}
.rise.in .w{opacity:1;transform:none}
.pgal{padding:clamp(60px,12vh,140px) var(--gut)}
.pcols{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut)}
.pcol{display:flex;flex-direction:column;gap:var(--gut)}
.pcol.l{align-items:flex-end}
.pcol.r{align-items:flex-start}
.pcenter{display:flex;justify-content:center;margin-top:clamp(80px,16vh,180px)}
.prow{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);align-items:start}
.pf{position:relative;overflow:hidden;background:var(--pill)}
.pf img{position:absolute;left:0;top:-9%;width:100%;height:118%;object-fit:cover}
.pf.crop img{scale:var(--z);transform-origin:var(--op)}
.pf.n{justify-self:end;width:var(--ncol);aspect-ratio:3/4}
.pf.b{width:100%;aspect-ratio:9/8}
.pf.w{width:100%;aspect-ratio:4/3}
.pcol .pf.n{width:var(--ncol);aspect-ratio:6/7}
.pcol .pf.n2{width:var(--ncol);aspect-ratio:4/3}
.prow.b .pf.n{justify-self:start;margin-top:clamp(80px,16vh,190px)}
.prow.c{grid-template-columns:1fr}
.pf.c{justify-self:center;width:var(--ncol);aspect-ratio:3/4}
.pclose{display:flex;flex-direction:column;align-items:flex-start;padding:0 var(--gut) 0 calc(50vw - var(--gut) / 2 - var(--ncol))}
.ptext-sm{font-size:19px;color:var(--mute)}
.nextp{position:relative;display:flex;align-items:center;justify-content:center;height:clamp(460px,86vh,860px);overflow:hidden;margin-top:clamp(80px,14vh,160px)}
.nrows{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;pointer-events:none}
.nrows .row{display:flex;width:max-content;white-space:nowrap;font-size:clamp(70px,12vw,210px);font-weight:800;letter-spacing:-.03em;line-height:.95;transition:color .4s}
.nrows .row span{padding-right:.3em}
.nrows .row.a{animation:mq 32s linear infinite}
.nrows .row.b{animation:mq 44s linear infinite reverse;color:var(--pink);filter:url(#outline);letter-spacing:-.01em}
.nextp figure{position:relative;z-index:2;width:calc(clamp(200px,22vw,340px) * var(--cs,1));overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.7);transition:transform .7s var(--ease)}
.nextp figure img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}
.nextp:hover figure{transform:scale(1.05) rotate(-2deg)}
.nextp:hover .row.a{color:var(--lime)}
.ncap{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;color:var(--lime);white-space:nowrap}
.ncap i{font-style:normal}
@media (max-width:860px){
  .pletter{display:none}
  .phero{grid-template-columns:1fr;min-height:0;padding:84px var(--gut) 0}
  .phimg{justify-self:stretch;width:100%;height:auto;margin-top:0}
  .phinfo{padding:28px 0 0}
  .ptags{margin-top:24px}
  .ptext{grid-template-columns:1fr;gap:12px;padding:56px var(--gut)}
  .ptext p{width:100%;justify-self:start;font-size:21px}
  .pnum{padding-left:0;order:-1;font-size:40px}
  .pbig p{text-indent:0}
  .prow{grid-template-columns:1fr;gap:28px}
  .pcols{grid-template-columns:1fr;gap:16px}
  .pcol{gap:16px}
  .pcol.l,.pcol.r{align-items:stretch}
  .pcol .pf.n,.pcol .pf.n2{width:100%}
  .pcenter{margin-top:40px}
  .pcenter .pf.c{width:78%}
  .pf.n,.pf.c{width:78%}
  .prow.a .pf.n{justify-self:start}
  .prow.b .pf.n{justify-self:end;margin-top:0}
  .pgal{gap:28px}
  .pclose{padding:24px var(--gut) 0}
}
@media (prefers-reduced-motion:reduce){.rise .w{opacity:1;transform:none}}

.pu{overflow:hidden;background:var(--pill)}
.pu img{width:100%;height:auto;display:block;transition:transform 1.2s var(--ease)}
.pu:hover img{transform:scale(1.02)}
.pcols.u{align-items:start}
.pcols.u .pcol{align-items:stretch}
.pcols.u .pcol.r2{margin-top:clamp(80px,14vh,180px)}
.psolo{display:flex;justify-content:center}
.psolo .pu{width:min(100%,1100px)}
@media (max-width:860px){.pcols.u .pcol.r2{margin-top:0}}
.ptext a.store{color:var(--lime);border-bottom:2px solid currentColor;transition:color .25s}
.ptext a.store:hover{color:var(--pink)}
/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .sec{grid-template-columns:1fr;gap:28px}
  .sec>.side .stick{position:static;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:20px}
  .bios,.rep{grid-template-columns:1fr}
  .pbody{grid-template-columns:1fr}
  .gal{--cols:1!important}
}
@media (max-width:600px){
  .hdr .mark img{height:30px}
  .nav{gap:18px}
  .hero{padding-top:84px}
  .hero .blurb{max-width:320px;font-size:16px}
  .hero .base{flex-direction:column;align-items:flex-start;gap:8px}
  .hero .base .logo{width:100%}
  .hero .base .meta{position:relative;z-index:5;font-size:14px;padding:0}
  .proj{grid-template-columns:2em minmax(0,1fr)}
  .proj .thumb{grid-column:2;width:88%;margin-top:6px}
  form{grid-template-columns:1fr}
  .side .cta p{display:none}
  .clock{display:none}
  .statement .pin{grid-template-columns:1fr;align-content:center;gap:24px}
  .skullwrap{order:-1;width:min(52vw,30svh);justify-self:end}
  .foot .logo{width:auto;flex:1;min-width:0}
  .foot .skull{width:84px;flex:none}
  .statement{height:220vh}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .statement{height:auto}
  .statement .pin{position:static;height:auto;padding-top:80px;padding-bottom:80px}
  .statement .w{color:var(--ink)}
  .skull-big,.skull404{animation:none}
  .card{opacity:1;transform:none}
}
