:root{
  --ink:#080808;
  --paper:#f3f2ed;
  --white:#fff;
  --muted:#a8a8a3;
  --line:rgba(8,8,8,.18);
  --line-dark:rgba(255,255,255,.16);
  --header-h:64px;
  --pad:clamp(18px,2.4vw,38px);
  --ease:cubic-bezier(.22,.75,.16,1);
  --ease-hard:cubic-bezier(.7,0,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden}
body.is-loading{overflow:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
img,video{display:block;max-width:100%}
::selection{background:#111;color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* shared texture + cursor */
.noise{position:fixed;inset:0;z-index:9996;pointer-events:none;opacity:.075;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:10001;pointer-events:none}
.scroll-progress span{display:block;height:100%;background:#111;transform:scaleX(0);transform-origin:left}
.cursor,.cursor-label{display:none;position:fixed;left:-100px;top:-100px;z-index:10002;pointer-events:none}
@media(hover:hover) and (pointer:fine){
  body{cursor:none}.cursor{display:block;width:12px;height:12px;border-radius:50%;background:#fff;mix-blend-mode:difference;translate:-50% -50%;transition:width .2s,height .2s,opacity .2s}.cursor.is-active{width:42px;height:42px}.cursor-label{display:block;color:#fff;font-size:9px;font-weight:700;letter-spacing:.08em;mix-blend-mode:difference;translate:-50% -50%;opacity:0;transition:opacity .15s}.cursor-label.is-active{opacity:1}
}

/* exact-reference-like header */
.site-header{height:var(--header-h);padding:0 var(--pad);background:#fff;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:9000;border-bottom:1px solid rgba(0,0,0,.06)}
.site-lockup{display:block;width:98px;line-height:0;transform:translate(var(--mx,0),var(--my,0));transition:transform .2s ease}
.site-lockup img{width:100%;height:auto}
.site-nav{display:flex;align-items:center;gap:10px}
.site-nav a{font-size:10px;font-weight:700;line-height:1;text-transform:none;position:relative;padding:10px 0}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:6px;height:1px;background:#111;transition:right .25s var(--ease)}
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after{right:0}
.menu-button{display:none;border:0;background:none;padding:10px 0;font-size:11px;font-weight:700}

/* loader / two-stage bot gate */
.gate{position:fixed;inset:0;z-index:20000;background:#f4f4f0;color:#090909;display:grid;grid-template-rows:auto 1fr auto;padding:20px 24px;transition:transform .9s var(--ease-hard),opacity .7s ease}
.gate.is-exiting{transform:translateY(-102%);opacity:.98}
.gate__brand{width:142px}.gate__brand img{width:100%;height:auto}
.gate__center{align-self:center;justify-self:center;width:min(640px,92vw);text-align:center;display:flex;flex-direction:column;align-items:center}
.gate__stage{font:700 10px/1 Helvetica,Arial,sans-serif;letter-spacing:.13em;margin-bottom:20px}
.julia-morph{width:190px;height:190px;position:relative;display:grid;place-items:center;margin-bottom:20px}
.julia-morph__head{position:absolute;width:150px;max-height:170px;object-fit:contain;opacity:.04;transform:rotateY(72deg) scale(.82) translateX(-8px);filter:blur(3px);transform-origin:50% 55%}
.julia-morph__mark{position:absolute;width:126px;height:126px;fill:none;stroke:#111;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;opacity:0;overflow:visible}
.julia-morph__mark path{stroke-dasharray:180;stroke-dashoffset:180}
.julia-morph.is-revealing .julia-morph__head{animation:juliaReveal .9s var(--ease) both}
.julia-morph.is-resetting .julia-morph__head{animation:juliaReset .65s var(--ease) both}
.julia-morph.is-success .julia-morph__head{animation:juliaFold .65s var(--ease-hard) both}
.julia-morph.is-success .julia-morph__mark--check{opacity:1}
.julia-morph.is-success .julia-morph__mark--check path{animation:drawMark .55s .18s var(--ease) forwards}
.julia-morph.is-failed .julia-morph__head{animation:juliaBreak .6s steps(5,end) both}
.julia-morph.is-failed .julia-morph__mark--x{opacity:1}
.julia-morph.is-failed .julia-morph__mark--x path{animation:drawMark .4s .12s var(--ease) forwards}
@keyframes juliaReveal{0%{opacity:.04;transform:rotateY(72deg) scale(.82) translateX(-8px);filter:blur(3px)}58%{opacity:1;transform:rotateY(-8deg) scale(1.03) translateX(2px);filter:blur(0)}76%{transform:rotateY(4deg) scale(.995)}100%{opacity:1;transform:none;filter:none}}
@keyframes juliaReset{0%{opacity:0;transform:scale(.4) rotate(-7deg);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
@keyframes juliaFold{0%{opacity:1;transform:none}55%{opacity:.9;transform:scale(.72,.12) rotate(-9deg)}100%{opacity:0;transform:scale(.24,.06) rotate(-15deg)}}
@keyframes juliaBreak{0%{opacity:1;transform:none}25%{transform:translate(-5px,2px) skew(8deg)}50%{transform:translate(4px,-3px) skew(-8deg)}75%{opacity:.5;transform:scale(.8,.18)}100%{opacity:0;transform:scale(.2,.08)}}
@keyframes drawMark{to{stroke-dashoffset:0}}
.gate__copy{min-height:75px}.gate__message{margin:0;font:700 clamp(24px,3.5vw,40px)/1.03 Helvetica,Arial,sans-serif;letter-spacing:-.045em}.gate__detail{margin:10px 0 0;font:500 11px/1.4 Helvetica,Arial,sans-serif;color:#666;letter-spacing:.02em}.gate__copy.is-changing{animation:copyBlink .25s steps(2,end)}@keyframes copyBlink{50%{opacity:.15;translate:0 3px}}
.gate__meter{height:2px;width:min(420px,76vw);background:#d1d1cb;margin-top:30px;overflow:hidden}.gate__meter-fill{display:block;height:100%;width:100%;background:#111;transform:scaleX(0);transform-origin:left}
.gate__readout{width:min(420px,76vw);display:flex;justify-content:space-between;margin-top:7px;font:700 9px/1 Helvetica,Arial,sans-serif;letter-spacing:.12em}
.gate__retry{display:none;margin-top:24px;border:1px solid #111;background:transparent;padding:13px 18px;font:700 11px/1 Helvetica,Arial,sans-serif;cursor:pointer}.gate.is-failed .gate__retry{display:block}.gate.is-failed .gate__meter-fill{background:#111}
.gate__footer{display:flex;justify-content:space-between;gap:20px;font:700 9px/1.3 Helvetica,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.gate__noscript{position:absolute;inset:auto 20px 80px;padding:12px;background:#111;color:#fff;font-size:12px}

/* page transition */
.page-wipe{position:fixed;inset:0;background:#070707;z-index:15000;transform:translateY(102%);pointer-events:none}.page-wipe.is-entering{animation:wipeIn .58s var(--ease-hard) forwards}@keyframes wipeIn{to{transform:translateY(0)}}

/* home */
.home-hero{background:#000;min-height:calc(100vh - var(--header-h));position:relative;overflow:hidden}
.hero-gallery-wrap{position:relative;background:#111;overflow:hidden}
.hero-gallery{height:min(56vw,610px);min-height:430px;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:1fr 1fr;gap:0;background:#0a0a0a}
.gallery-tile{margin:0;overflow:hidden;position:relative;background:#111}.gallery-tile img{width:100%;height:100%;object-fit:cover;transform:scale(1.01);filter:saturate(.88) contrast(1.03);transition:opacity .4s ease,transform 1.2s var(--ease),filter .35s ease}.gallery-tile.is-changing img{opacity:0;transform:scale(1.08) rotate(.4deg)}.gallery-tile:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.05)}
.gallery-controls{position:absolute;left:var(--pad);right:var(--pad);bottom:12px;display:flex;align-items:center;justify-content:space-between;color:#fff;mix-blend-mode:difference;z-index:5}.gallery-status{display:flex;gap:14px;font-size:10px;font-weight:700;letter-spacing:.11em}.gallery-arrows{display:flex;gap:5px}.gallery-arrows button{width:38px;height:28px;border:1px solid rgba(255,255,255,.6);background:rgba(0,0,0,.2);color:#fff;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,color .2s}.gallery-arrows button:hover{background:#fff;color:#000}
.gallery-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(255,255,255,.18)}.gallery-progress span{display:block;height:100%;background:#fff;transform-origin:left;animation:slideProgress 5.5s linear forwards}@keyframes slideProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.home-title-area{min-height:44vh;color:#f5f5f2;position:relative;display:flex;align-items:flex-end;padding:clamp(55px,8vw,120px) var(--pad) 24px;border-top:1px solid rgba(255,255,255,.12)}
.home-title{margin:0;font-size:clamp(82px,18vw,280px);line-height:.72;letter-spacing:-.095em;font-weight:900;text-transform:uppercase;white-space:nowrap;transform:translateX(-.025em)}
.home-title span{display:inline-block;animation:titleBreathe 7s ease-in-out infinite alternate}@keyframes titleBreathe{to{letter-spacing:-.075em;transform:scaleX(1.015)}}
.home-meta{position:absolute;right:var(--pad);top:22px;text-align:right;font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.09em}.home-meta b{display:block;color:#8f8f8a}
.home-scratches{position:absolute;left:var(--pad);top:32px;width:145px;display:flex;gap:13px}.home-scratches i{height:1px;background:#f5f5f2;flex:1;display:block}
.home-intro{background:#f3f2ed;padding:clamp(70px,10vw,150px) var(--pad);display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:end;border-bottom:1px solid var(--line)}
.home-intro h2{margin:0;font-size:clamp(48px,8vw,125px);line-height:.84;letter-spacing:-.07em;text-transform:uppercase}.home-intro p{margin:0;font-size:clamp(17px,2.1vw,30px);line-height:1.08;letter-spacing:-.035em;max-width:620px}
.teaser-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;background:#000;gap:1px;border-top:1px solid #000;border-bottom:1px solid #000}.teaser{min-height:520px;background:#eee;position:relative;overflow:hidden;padding:22px;display:flex;flex-direction:column;justify-content:space-between}.teaser--dark{background:#0a0a0a;color:#fff}.teaser img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:transform .8s var(--ease),filter .4s}.teaser:hover img{transform:scale(1.05) rotate(.35deg);filter:grayscale(.25)}.teaser::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.6));opacity:0;transition:opacity .3s}.teaser:has(img){color:#fff}.teaser:has(img)::after{opacity:1}.teaser>*:not(img){position:relative;z-index:2}.teaser__num{font-size:10px;font-weight:700;letter-spacing:.1em}.teaser h3{font-size:clamp(40px,5.2vw,92px);line-height:.82;letter-spacing:-.07em;margin:0;text-transform:uppercase}.teaser p{margin:12px 0 0;max-width:360px;font-size:12px;line-height:1.4}.teaser__arrow{position:absolute;right:20px;bottom:17px;font-size:30px;z-index:3;transition:transform .3s var(--ease)}.teaser:hover .teaser__arrow{transform:translate(4px,-4px) rotate(-10deg)}

/* marquee */
.marquee{overflow:hidden;background:#fff;border-top:1px solid #111;border-bottom:1px solid #111;padding:10px 0}.marquee__track{display:flex;width:max-content;animation:marquee 24s linear infinite}.marquee span{font-size:11px;font-weight:700;letter-spacing:.09em;white-space:nowrap;padding-right:26px}@keyframes marquee{to{transform:translateX(-50%)}}

/* generic page */
.page-shell{min-height:calc(100vh - var(--header-h));background:var(--paper)}
.page-hero{min-height:62vh;padding:clamp(70px,9vw,130px) var(--pad) 28px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.page-hero--dark{background:#080808;color:#f5f5f2}.page-kicker{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 18px}.page-title{font-size:clamp(78px,15vw,245px);line-height:.72;letter-spacing:-.09em;margin:0;text-transform:uppercase;font-weight:900}.page-title--long{font-size:clamp(66px,12vw,185px)}.page-deck{position:absolute;right:var(--pad);top:44px;max-width:360px;margin:0;font-size:15px;line-height:1.35;letter-spacing:-.02em}.page-index{position:absolute;left:var(--pad);top:34px;font-size:10px;font-weight:700;letter-spacing:.12em}
.section{padding:clamp(70px,9vw,140px) var(--pad)}.section--dark{background:#090909;color:#f4f4ef}.section--paper{background:#f3f2ed}.section-head{display:grid;grid-template-columns:1fr minmax(280px,38vw);gap:40px;align-items:end;margin-bottom:58px}.section-head h2{font-size:clamp(48px,8vw,120px);line-height:.82;letter-spacing:-.07em;margin:0;text-transform:uppercase}.section-head p{margin:0;font-size:16px;line-height:1.35;letter-spacing:-.025em}.eyebrow{font-size:10px!important;font-weight:700;letter-spacing:.12em!important;text-transform:uppercase;margin:0 0 14px!important}

/* reveal / micro motion */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
[data-split] .word{display:inline-block;transform:translateY(1.1em) rotate(1.2deg);opacity:0;transition:transform .7s var(--ease),opacity .45s ease;transition-delay:calc(var(--n,0)*45ms)}[data-split].is-visible .word{transform:none;opacity:1}
.jitter-hover:hover{animation:jitter .22s steps(2,end) 2}@keyframes jitter{0%,100%{transform:none}25%{transform:translate(1px,-1px) skewX(-.8deg)}75%{transform:translate(-1px,1px) skewX(.8deg)}}
.magnetic{transform:translate(var(--mx,0),var(--my,0))}

/* about */
.about-manifesto{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:start}.about-manifesto__small{position:sticky;top:calc(var(--header-h) + 35px);font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em}.about-manifesto__lines p{font-size:clamp(42px,7.2vw,110px);line-height:.88;letter-spacing:-.065em;margin:0 0 18px;text-transform:uppercase}.about-manifesto__lines p:nth-child(2){margin-left:8vw}.about-manifesto__lines p:nth-child(3){margin-left:3vw;color:#7a7a75}.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid currentColor;border-left:1px solid currentColor}.fact{padding:18px;min-height:190px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;display:flex;flex-direction:column;justify-content:space-between}.fact span{font-size:9px;font-weight:700;letter-spacing:.12em}.fact b{font-size:clamp(20px,2.2vw,36px);line-height:.95;letter-spacing:-.045em;text-transform:uppercase}.tool-cloud{display:flex;flex-wrap:wrap;gap:8px}.tool-cloud span{border:1px solid currentColor;border-radius:999px;padding:10px 14px;font-size:11px;font-weight:700;transition:background .2s,color .2s,transform .2s}.tool-cloud span:hover{background:#fff;color:#000;transform:rotate(-2deg) scale(1.03)}

/* work */
.work-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);border-top:1px solid #111;border-bottom:1px solid #111;position:sticky;top:var(--header-h);z-index:50;background:rgba(243,242,237,.94);backdrop-filter:blur(8px)}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid #111;background:none;padding:8px 11px;font-size:10px;font-weight:700;cursor:pointer}.filter.is-active,.filter:hover{background:#111;color:#fff}.work-count{font-size:10px;font-weight:700;letter-spacing:.1em}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:#111;border-bottom:1px solid #111}.work-card{grid-column:span 4;min-height:520px;border:0;background:#f2f1eb;text-align:left;padding:0;position:relative;overflow:hidden;cursor:pointer}.work-card--wide{grid-column:span 8}.work-card--half{grid-column:span 6}.work-card.is-hidden{display:none}.work-card__media{position:absolute;inset:0 0 84px;overflow:hidden}.work-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease),filter .3s}.work-card:hover .work-card__media img{transform:scale(1.045);filter:contrast(1.08)}.work-card__info{position:absolute;left:17px;right:17px;bottom:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.work-card__info b{font-size:20px;letter-spacing:-.04em}.work-card__info em{font-size:9px;font-style:normal;font-weight:700;letter-spacing:.09em}.work-card__num{position:absolute;top:14px;left:14px;background:#fff;padding:6px 7px;font-size:9px;font-weight:700;z-index:2}.project-modal{border:0;padding:0;background:#080808;color:#fff;width:100vw;height:100vh;max-width:none;max-height:none}.project-modal::backdrop{background:#080808}.project-modal__close{position:absolute;top:16px;right:18px;z-index:5;border:1px solid rgba(255,255,255,.4);background:#080808;color:#fff;padding:10px 14px;font-size:10px;font-weight:700;cursor:pointer}.project-modal__layout{display:grid;grid-template-columns:1.45fr .55fr;height:100%}.project-modal__media{overflow:hidden}.project-modal__media img{width:100%;height:100%;object-fit:cover}.project-modal__copy{padding:clamp(65px,8vw,120px) 26px 30px;display:flex;flex-direction:column;justify-content:flex-end}.project-modal__copy h2{font-size:clamp(58px,7vw,130px);line-height:.78;letter-spacing:-.075em;margin:0 0 18px;text-transform:uppercase}.project-modal__copy p{font-size:13px;line-height:1.5}.project-modal__copy a{margin-top:28px;border-top:1px solid #fff;padding-top:12px;font-size:10px;font-weight:700;letter-spacing:.1em}

/* contact */
.contact-hero{min-height:72vh;background:#fff;color:#090909;display:grid;grid-template-columns:1fr .43fr;gap:6vw;padding:clamp(65px,8vw,120px) var(--pad) 28px;align-items:end;overflow:hidden}.contact-hero h1{font-size:clamp(90px,18vw,290px);line-height:.68;letter-spacing:-.1em;margin:0;text-transform:uppercase}.contact-hero__side{font-size:12px;line-height:1.45;padding-bottom:18px}.contact-hero__side strong{display:block;font-size:10px;letter-spacing:.1em;margin-bottom:14px}.contact-board{display:grid;grid-template-columns:1fr 1fr;background:#000;gap:1px}.contact-card{min-height:390px;background:#f2f1eb;padding:24px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:background .25s,color .25s}.contact-card:hover{background:#0a0a0a;color:#fff}.contact-card__label{font-size:10px;font-weight:700;letter-spacing:.12em}.contact-card__value{font-size:clamp(28px,4vw,70px);line-height:.9;letter-spacing:-.055em;word-break:break-word}.contact-card__arrow{position:absolute;right:20px;top:18px;font-size:28px}.contact-card--social{background:#0b0b0b;color:#fff}.contact-card--social:hover{background:#fff;color:#000}.contact-note{font-size:10px;line-height:1.5;max-width:420px;color:#73736f}
.contact-loop{overflow:hidden;background:#0a0a0a;color:#fff;padding:14px 0}.contact-loop__track{display:flex;width:max-content;animation:marquee 18s linear infinite}.contact-loop span{font-size:clamp(28px,4.2vw,64px);font-weight:900;letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap;padding-right:30px}

/* socials */
.social-list{border-top:1px solid #111}.social-row{min-height:142px;border-bottom:1px solid #111;padding:12px var(--pad);display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;position:relative;overflow:hidden;transition:color .25s}.social-row::before{content:"";position:absolute;inset:0;background:#111;transform:translateY(101%);transition:transform .42s var(--ease);z-index:0}.social-row:hover::before{transform:none}.social-row:hover{color:#fff}.social-row>*{position:relative;z-index:1}.social-row__num{font-size:10px;font-weight:700}.social-row h2{font-size:clamp(46px,7vw,105px);line-height:.8;letter-spacing:-.065em;margin:0;text-transform:uppercase}.social-row__handle{font-size:11px;font-weight:700;letter-spacing:.08em}.social-row__arrow{font-size:26px;margin-left:20px}

/* despair */
.despair-hero{background:#050505;color:#f2f2ed;min-height:75vh;display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;padding:clamp(80px,9vw,140px) var(--pad) 42px;align-items:end}.despair-hero h1{font-size:clamp(80px,14vw,220px);line-height:.7;letter-spacing:-.09em;margin:0;text-transform:uppercase}.despair-status{font-size:10px;font-weight:700;letter-spacing:.12em;margin:0 0 16px;color:#9b9b95}.despair-copy{font-size:clamp(18px,2vw,29px);line-height:1.08;letter-spacing:-.035em;max-width:560px;margin:0}.terminal{background:#111;color:#e8e8e3;min-height:500px;border:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column}.terminal__top{height:42px;border-bottom:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:space-between;padding:0 13px;font-size:9px;font-weight:700;letter-spacing:.1em}.terminal__lights{display:flex;gap:5px}.terminal__lights i{width:7px;height:7px;border:1px solid #777;border-radius:50%}.terminal__body{padding:22px;flex:1;font-family:"Courier New",monospace;font-size:12px;line-height:1.7;overflow:auto}.terminal__body p{margin:0 0 8px}.terminal__body b{color:#fff}.terminal__commands{display:flex;gap:6px;padding:12px;border-top:1px solid rgba(255,255,255,.14)}.terminal__commands button{border:1px solid #555;background:none;color:#fff;padding:9px 11px;font:700 10px/1 Arial,sans-serif;cursor:pointer}.terminal__commands button:hover{background:#fff;color:#000}.despair-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.pill-link{border:1px solid currentColor;border-radius:999px;padding:11px 15px;font-size:10px;font-weight:700;letter-spacing:.08em;display:inline-flex;gap:12px;align-items:center}.pill-link:hover{background:#fff;color:#000}

/* Zero */
.zero-hero{min-height:calc(100vh - var(--header-h));display:grid;grid-template-columns:.82fr 1.18fr;background:#ecebe4}.zero-photo{position:relative;overflow:hidden;min-height:680px}.zero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transform:scale(1.01);transition:transform 1.2s var(--ease)}.zero-photo:hover img{transform:scale(1.04) rotate(-.25deg)}.zero-photo::after{content:"ZERO / FRIVNDS";position:absolute;left:16px;bottom:14px;font-size:9px;font-weight:700;letter-spacing:.13em;background:#fff;padding:7px 8px}.zero-copy{padding:clamp(55px,8vw,110px) var(--pad) 36px;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid #111}.zero-copy__tag{font-size:10px;font-weight:700;letter-spacing:.12em}.zero-copy h1{font-size:clamp(95px,16vw,250px);line-height:.68;letter-spacing:-.095em;margin:40px 0 20px;text-transform:uppercase}.zero-copy__deck{max-width:520px;font-size:clamp(16px,1.8vw,25px);line-height:1.1;letter-spacing:-.035em}.zero-copy__ig{align-self:flex-end;font-size:11px;font-weight:700;border-bottom:1px solid;padding-bottom:4px}
.member-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#111;border-top:1px solid #111;border-bottom:1px solid #111}.member-card{background:#efeee8;min-height:520px;padding:0;position:relative;overflow:hidden;display:flex;flex-direction:column}.member-card__avatar{height:360px;overflow:hidden;background:#ddd}.member-card__avatar img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.03);transition:transform .65s var(--ease),filter .3s}.member-card:hover .member-card__avatar img{transform:scale(1.05) rotate(.25deg);filter:grayscale(.2)}.member-card__copy{padding:16px;display:grid;grid-template-columns:1fr auto;gap:7px;align-items:start}.member-card__copy h3{font-size:clamp(24px,2.5vw,42px);line-height:.9;letter-spacing:-.05em;margin:0}.member-card__copy p{grid-column:1/-1;margin:4px 0 0;font-size:10px;font-weight:700;color:#73736e;letter-spacing:.06em}.member-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;grid-column:1/-1}.member-links a{border:1px solid #111;padding:7px 8px;font-size:9px;font-weight:700}.member-links a:hover{background:#111;color:#fff}.avatar-note{position:absolute;top:10px;right:10px;background:#fff;color:#000;padding:5px 7px;font-size:8px;font-weight:700;letter-spacing:.08em}.zero-statement{background:#090909;color:#fff;min-height:65vh;padding:clamp(80px,10vw,150px) var(--pad);display:flex;align-items:center}.zero-statement p{font-size:clamp(50px,10vw,160px);line-height:.78;letter-spacing:-.075em;margin:0;text-transform:uppercase}.zero-statement em{font-style:normal;color:#777}

/* legal */
.legal-wrap{max-width:980px;margin:0 auto;padding:80px var(--pad) 120px}.legal-wrap h1{font-size:clamp(60px,10vw,130px);line-height:.78;letter-spacing:-.075em;margin:0 0 50px;text-transform:uppercase}.legal-wrap h2{font-size:24px;margin:45px 0 10px}.legal-wrap p,.legal-wrap li{font-size:14px;line-height:1.6}.legal-wrap a{text-decoration:underline}.legal-meta{font-size:10px;font-weight:700;letter-spacing:.1em;margin-bottom:20px}

/* footer */
.site-footer{background:#fff;color:#080808;border-top:1px solid #111;padding:19px var(--pad);display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.site-footer__logo{width:88px}.site-footer__center{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:center}.site-footer__right{display:flex;justify-content:flex-end;gap:12px;align-items:center;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.site-footer a:hover{text-decoration:underline}

/* responsive */
@media(max-width:900px){
  :root{--header-h:58px}
  .site-lockup{width:92px}.site-nav{display:none;position:fixed;inset:var(--header-h) 0 0;background:#fff;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:30px var(--pad);gap:0}.site-nav.is-open{display:flex}.site-nav a{font-size:clamp(48px,14vw,92px);line-height:.88;letter-spacing:-.07em;text-transform:uppercase;padding:2px 0}.site-nav a::after{display:none}.menu-button{display:block}
  .hero-gallery{height:66vh;min-height:500px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr)}.gallery-tile:nth-child(1),.gallery-tile:nth-child(10){grid-row:span 2}.gallery-tile:nth-child(8),.gallery-tile:nth-child(9){display:none}.home-title-area{min-height:35vh}.home-title{font-size:26vw}.home-intro{grid-template-columns:1fr;gap:45px}.teaser-grid{grid-template-columns:1fr}.teaser{min-height:430px}.section-head{grid-template-columns:1fr;gap:24px}.page-deck{position:static;margin-top:30px}.page-hero{min-height:55vh}.about-manifesto{grid-template-columns:1fr}.about-manifesto__small{position:static}.fact-grid{grid-template-columns:repeat(2,1fr)}.work-card,.work-card--wide,.work-card--half{grid-column:span 6;min-height:440px}.project-modal__layout{grid-template-columns:1fr}.project-modal__media{height:55vh}.project-modal__copy{padding-top:20px}.contact-hero{grid-template-columns:1fr}.contact-hero__side{max-width:500px}.contact-board{grid-template-columns:1fr}.social-row{grid-template-columns:42px 1fr}.social-row__handle{display:none}.despair-hero{grid-template-columns:1fr;min-height:auto}.zero-hero{grid-template-columns:1fr}.zero-photo{min-height:60vh}.zero-copy{border-left:0;border-top:1px solid #111;min-height:60vh}.member-grid{grid-template-columns:repeat(2,1fr)}.site-footer{grid-template-columns:1fr;justify-items:start}.site-footer__center{text-align:left}.site-footer__right{justify-content:flex-start;flex-wrap:wrap}.gate__footer{flex-direction:column;gap:6px}
}
@media(max-width:600px){
  .hero-gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr);height:68vh}.gallery-tile:nth-child(7),.gallery-tile:nth-child(8),.gallery-tile:nth-child(9),.gallery-tile:nth-child(10){display:none}.home-title-area{padding-top:65px}.home-title{font-size:28vw}.home-meta{font-size:8px}.home-intro h2{font-size:17vw}.teaser h3{font-size:15vw}.fact-grid{grid-template-columns:1fr}.work-card,.work-card--wide,.work-card--half{grid-column:1/-1}.member-grid{grid-template-columns:1fr}.member-card{min-height:460px}.member-card__avatar{height:330px}.zero-copy h1{font-size:31vw}.page-title{font-size:26vw}.page-title--long{font-size:21vw}.contact-hero h1{font-size:29vw}.gate__brand{width:120px}.julia-morph{width:160px;height:160px}.julia-morph__head{width:128px}.gate__message{font-size:28px}.site-footer__right{gap:8px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.noise{display:none}}

/* current-site live feed carried into Socials */
.feed-archive{background:#0a0a0a;color:#f3f2ed;padding:clamp(75px,9vw,135px) var(--pad)}
.feed-archive .section-head{border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:45px;margin-bottom:0}
.feed-rows{border-top:0}
.feed-drop{min-height:118px;border-bottom:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:120px 1.1fr 1fr 32px;gap:20px;align-items:center;position:relative;overflow:hidden;transition:padding .35s var(--ease),background .3s,color .3s}
.feed-drop::before{content:"";position:absolute;inset:0;background:#f3f2ed;transform:translateX(-102%);transition:transform .48s var(--ease);z-index:0}
.feed-drop:hover::before{transform:none}.feed-drop:hover{color:#080808;padding-left:14px;padding-right:14px}
.feed-drop>*{position:relative;z-index:1}.feed-drop>span{font-size:9px;font-weight:700;letter-spacing:.1em}.feed-drop>b{font-size:clamp(28px,3vw,52px);line-height:.9;letter-spacing:-.05em}.feed-drop>p{margin:0;font-size:11px;line-height:1.45;color:#93938e}.feed-drop:hover>p{color:#555}.feed-drop>i{font-style:normal;font-size:24px;text-align:right}
@media(max-width:700px){.feed-drop{grid-template-columns:1fr 30px;min-height:140px;padding:18px 0}.feed-drop>span,.feed-drop>p{grid-column:1}.feed-drop>b{grid-column:1}.feed-drop>i{grid-column:2;grid-row:1/4;align-self:center}}

/* ===== v5 polish: real Julia reveal + modern rockstar/Y2K system ===== */
:root{
  --chrome-hi:#ffffff;
  --chrome-mid:#b8b8b3;
  --chrome-low:#6f6f6b;
  --signal:#d7ff3f;
  --y2k-grid:rgba(0,0,0,.045);
}
.noise{opacity:.052}
body::after{
  content:"";position:fixed;inset:0;z-index:9995;pointer-events:none;opacity:.028;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 4px,rgba(0,0,0,.24) 5px);
  mix-blend-mode:multiply
}
.site-header{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(0,0,0,.12);
  box-shadow:0 1px 0 rgba(255,255,255,.95),0 2px 0 rgba(0,0,0,.035);
  backdrop-filter:blur(14px)
}
.site-lockup{width:94px}
.site-nav{gap:14px}
.site-nav a{font-size:9px;letter-spacing:.015em}
.site-nav a::before{
  content:"";position:absolute;left:-7px;top:50%;width:3px;height:3px;background:#111;border-radius:50%;
  transform:translateY(-50%) scale(0);transition:transform .2s var(--ease)
}
.site-nav a:hover::before,.site-nav a[aria-current="page"]::before{transform:translateY(-50%) scale(1)}
.site-nav a:hover{font-style:normal}

/* Loader — one clean circular progress system, with a staged Julia hair/face reveal. */
.gate{
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 46%,rgba(255,255,255,.92) 0,rgba(255,255,255,.45) 23%,transparent 44%),
    #f2f1ec;
  color:#080808;
  padding:18px 22px
}
.gate::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.38;
  background-image:
    linear-gradient(var(--y2k-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--y2k-grid) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(circle at 50% 46%,#000 0,transparent 70%);
  mask-image:radial-gradient(circle at 50% 46%,#000 0,transparent 70%)
}
.gate::after{
  content:"KSVRII / SECURITY SYSTEM 00—26";
  position:absolute;right:22px;top:21px;
  font:700 8px/1 Helvetica,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:.16em;color:rgba(0,0,0,.42);white-space:nowrap
}
.gate__brand{width:126px;position:relative;z-index:3}
.gate__center{width:min(690px,92vw);position:relative;z-index:2}
.gate__stage{
  margin-bottom:14px;
  font:700 9px/1 Helvetica,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:.16em
}
.julia-morph{width:226px;height:226px;margin:0 0 20px;position:relative;isolation:isolate}
.julia-morph__ring{
  position:absolute;inset:0;width:100%;height:100%;
  transform:rotate(-90deg);overflow:visible;z-index:5;
  animation:ringDrift 7s linear infinite
}
.julia-morph__ring-track,.julia-morph__ring-progress{fill:none}
.julia-morph__ring-track{stroke:rgba(0,0,0,.16);stroke-width:1.35}
.julia-morph__ring-progress{
  stroke:#0a0a0a;stroke-width:2.4;stroke-linecap:round;
  transition:stroke-dashoffset .08s linear;
  filter:drop-shadow(0 0 1px rgba(0,0,0,.15))
}
@keyframes ringDrift{to{transform:rotate(270deg)}}
.julia-morph__portrait{
  position:absolute;inset:24px;display:grid;place-items:center;
  transform-origin:50% 58%;z-index:2;overflow:visible
}
.julia-morph__layer{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  transform-origin:50% 58%;will-change:transform,opacity,clip-path,filter
}
.julia-morph__backhair{
  position:absolute;width:72%;height:78%;left:14%;top:8%;background:#080808;
  border-radius:49% 51% 46% 54% / 42% 48% 56% 58%;
  clip-path:polygon(17% 9%,67% 0,91% 17%,100% 52%,83% 86%,62% 100%,17% 89%,0 58%,5% 26%);
  transform:translateX(12px) rotate(-8deg) scaleX(.72);opacity:.86;
  transform-origin:53% 55%;will-change:transform,opacity
}
.julia-morph__shell{
  opacity:.16;transform:translateX(10px) rotate(-9deg) scaleX(.67) scale(.94);
  filter:blur(.25px)
}
.julia-morph__face{
  opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(10px) rotate(-3deg) scale(.96)
}
.julia-morph__hair{opacity:0}
.julia-morph__hair--left{transform:translateX(35px) rotate(10deg) scale(1.02)}
.julia-morph__hair--right{transform:translateX(-35px) rotate(-10deg) scale(1.02)}
.julia-morph__hair--fringe{transform:translateY(21px) rotate(6deg) scale(1.03)}
.julia-morph__final{opacity:0;transform:scale(.985)}
.julia-morph__mark{
  position:absolute;z-index:7;width:114px;height:114px;
  fill:none;stroke:#0a0a0a;stroke-width:9.5;stroke-linecap:round;stroke-linejoin:round;
  opacity:0;overflow:visible
}
.julia-morph__mark path{stroke-dasharray:180;stroke-dashoffset:180}

/* Reveal: turn the hair mass, part/sway the hair, reveal the face, then settle into the actual logo art. */
.julia-morph.is-revealing .julia-morph__backhair,
.julia-morph.is-resetting .julia-morph__backhair{animation:jBackTurn 1.12s var(--ease) both}
.julia-morph.is-revealing .julia-morph__shell,
.julia-morph.is-resetting .julia-morph__shell{animation:jShellTurn 1.16s var(--ease) both}
.julia-morph.is-revealing .julia-morph__face,
.julia-morph.is-resetting .julia-morph__face{animation:jFaceReveal .92s .20s var(--ease) both}
.julia-morph.is-revealing .julia-morph__hair--left,
.julia-morph.is-resetting .julia-morph__hair--left{animation:jHairLeft 1.04s .13s var(--ease) both}
.julia-morph.is-revealing .julia-morph__hair--right,
.julia-morph.is-resetting .julia-morph__hair--right{animation:jHairRight 1.04s .13s var(--ease) both}
.julia-morph.is-revealing .julia-morph__hair--fringe,
.julia-morph.is-resetting .julia-morph__hair--fringe{animation:jFringe 1s .16s var(--ease) both}
.julia-morph.is-revealing .julia-morph__final,
.julia-morph.is-resetting .julia-morph__final{animation:jFinalSettle .42s .84s ease-out both}

@keyframes jBackTurn{
  0%{opacity:.9;transform:translateX(14px) rotate(-10deg) scaleX(.68) scale(.95)}
  28%{opacity:.95;transform:translateX(3px) rotate(4deg) scaleX(.79) scale(.99)}
  56%{opacity:.72;transform:translateX(-2px) rotate(-2deg) scaleX(.9)}
  78%{opacity:.2;transform:translateX(0) rotate(1deg) scaleX(.98)}
  100%{opacity:0;transform:none}
}
@keyframes jShellTurn{
  0%{opacity:.16;transform:translateX(13px) rotate(-10deg) scaleX(.66) scale(.94);filter:blur(.35px)}
  34%{opacity:.5;transform:translateX(3px) rotate(5deg) scaleX(.8) scale(.99)}
  70%{opacity:.88;transform:translateX(-2px) rotate(-1.5deg) scaleX(.96);filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
@keyframes jFaceReveal{
  0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(13px) rotate(-3deg) scale(.95)}
  38%{opacity:.72;clip-path:inset(0 44% 0 0)}
  72%{opacity:1;clip-path:inset(0 4% 0 0);transform:translateX(-2px) rotate(1deg) scale(1.01)}
  100%{opacity:1;clip-path:inset(0);transform:none}
}
@keyframes jHairLeft{
  0%{opacity:0;transform:translateX(38px) rotate(12deg) scale(1.03)}
  22%{opacity:1}
  57%{transform:translateX(-10px) rotate(-4.5deg) scale(1.015)}
  78%{transform:translateX(4px) rotate(1.8deg)}
  100%{opacity:1;transform:none}
}
@keyframes jHairRight{
  0%{opacity:0;transform:translateX(-38px) rotate(-12deg) scale(1.03)}
  22%{opacity:1}
  57%{transform:translateX(11px) rotate(4.5deg) scale(1.015)}
  78%{transform:translateX(-4px) rotate(-1.8deg)}
  100%{opacity:1;transform:none}
}
@keyframes jFringe{
  0%{opacity:0;transform:translateY(24px) rotate(7deg) scale(1.04)}
  30%{opacity:1}
  60%{transform:translateY(-8px) rotate(-3deg) scale(1.01)}
  80%{transform:translateY(3px) rotate(1.2deg)}
  100%{opacity:1;transform:none}
}
@keyframes jFinalSettle{
  0%{opacity:0;transform:scale(.985) rotate(.7deg)}
  100%{opacity:1;transform:none}
}

/* Resolve: Julia fades cleanly; the result mark draws in. No squeezing. */
.julia-morph.is-success .julia-morph__portrait{animation:jPortraitFade .45s ease forwards}
.julia-morph.is-success .julia-morph__mark--check{opacity:1}
.julia-morph.is-success .julia-morph__mark--check path{animation:drawMark .48s .17s var(--ease) forwards}
.julia-morph.is-failed .julia-morph__portrait{animation:jPortraitError .46s steps(4,end) forwards}
.julia-morph.is-failed .julia-morph__mark--x{opacity:1}
.julia-morph.is-failed .julia-morph__mark--x path{animation:drawMark .38s .12s var(--ease) forwards}
.julia-morph.is-success .julia-morph__ring,
.julia-morph.is-failed .julia-morph__ring{animation:ringResolve .42s ease forwards}
@keyframes jPortraitFade{
  0%{opacity:1;transform:scale(1);filter:blur(0)}
  100%{opacity:0;transform:scale(.97);filter:blur(2px)}
}
@keyframes jPortraitError{
  0%{opacity:1;transform:none}
  28%{transform:translateX(-5px) skewX(3deg)}
  55%{transform:translateX(6px) skewX(-4deg)}
  100%{opacity:0;transform:translateX(0) scale(.97)}
}
@keyframes ringResolve{to{opacity:.18;transform:rotate(250deg) scale(.94)}}
@keyframes drawMark{to{stroke-dashoffset:0}}

.gate__copy{min-height:72px;position:relative;z-index:3}
.gate__message{
  margin:0;
  font:700 clamp(25px,3.5vw,40px)/1.02 Helvetica,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:-.045em
}
.gate__detail{
  margin:10px 0 0;
  font:500 11px/1.4 Helvetica,"Helvetica Neue",Arial,sans-serif;
  color:#676762;letter-spacing:.015em
}
.gate__readout{
  width:226px;margin-top:9px;position:relative;z-index:3;
  display:flex;justify-content:space-between;
  font:700 8px/1 Helvetica,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:.16em
}
.gate__readout::before{
  content:"";position:absolute;left:50%;top:-5px;width:3px;height:3px;border-radius:50%;background:#111;transform:translateX(-50%)
}
.gate__retry{
  position:relative;z-index:3;margin-top:23px;background:transparent;
  border:1px solid #111;padding:12px 17px;
  font:700 9px/1 Helvetica,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:.08em
}
.gate__retry:hover{background:#111;color:#fff}
.gate__footer{
  position:relative;z-index:3;
  font:700 8px/1.3 Helvetica,"Helvetica Neue",Arial,sans-serif;
  letter-spacing:.09em
}

/* Page changes: a radial chrome aperture instead of a black screen or stacked strips. */
.page-wipe{
  position:fixed;inset:0;z-index:15000;pointer-events:none;
  background:transparent!important;transform:none!important;overflow:hidden;opacity:0
}
.page-wipe__veil{
  position:absolute;inset:-2px;
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.95) 0 10%,transparent 10.5%),
    linear-gradient(135deg,#f9f9f7 0%,#c8c8c3 34%,#fff 51%,#aaa9a4 69%,#f6f6f2 100%);
  clip-path:circle(0 at 50% 50%)
}
.page-wipe__rings{position:absolute;left:50%;top:50%;width:210px;height:210px;transform:translate(-50%,-50%);opacity:0}
.page-wipe__rings::before,.page-wipe__rings::after{
  content:"";position:absolute;border:1px solid rgba(0,0,0,.58);border-radius:50%;inset:0
}
.page-wipe__rings::after{inset:18px;border-color:rgba(0,0,0,.25)}
.page-wipe__stamp{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.88);
  opacity:0;text-align:center;color:#0a0a0a;z-index:2
}
.page-wipe__stamp b{display:block;font:900 clamp(44px,7vw,108px)/.75 Arial,sans-serif;letter-spacing:-.085em;font-style:normal}
.page-wipe__stamp span{display:block;margin-top:14px;font:700 8px/1 Arial,sans-serif;letter-spacing:.18em}
.page-wipe.is-entering{opacity:1;animation:none!important}
.page-wipe.is-entering .page-wipe__veil{animation:apertureIn .46s var(--ease-hard) forwards}
.page-wipe.is-entering .page-wipe__rings{animation:apertureRingsIn .38s .08s var(--ease) forwards}
.page-wipe.is-entering .page-wipe__stamp{animation:apertureStampIn .34s .1s var(--ease) forwards}
.page-wipe.is-arriving{opacity:1;animation:none!important}
.page-wipe.is-arriving .page-wipe__veil{clip-path:circle(160vmax at 50% 50%);animation:apertureOut .58s .04s var(--ease-hard) forwards}
.page-wipe.is-arriving .page-wipe__rings{opacity:.8;animation:apertureRingsOut .48s forwards}
.page-wipe.is-arriving .page-wipe__stamp{opacity:1;animation:apertureStampOut .38s forwards}
@keyframes apertureIn{to{clip-path:circle(160vmax at 50% 50%)}}
@keyframes apertureOut{to{clip-path:circle(0 at 50% 50%)}}
@keyframes apertureRingsIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.58) rotate(-24deg)}100%{opacity:.82;transform:translate(-50%,-50%) scale(1) rotate(12deg)}}
@keyframes apertureRingsOut{to{opacity:0;transform:translate(-50%,-50%) scale(1.65) rotate(35deg)}}
@keyframes apertureStampIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.72) skewX(-7deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) skewX(-2deg)}}
@keyframes apertureStampOut{to{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}

/* Modern rockstar / Y2K: chrome UI details, microtype and digital texture — not giant novelty stars. */
.page-hero,.home-title-area,.zero-copy,.contact-hero,.despair-hero{position:relative;isolation:isolate}
.page-hero--dark,.despair-hero,.home-title-area{
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);
  background-size:42px 42px
}
.page-hero:not(.page-hero--dark),.contact-hero,.zero-copy{
  background-image:
    linear-gradient(rgba(0,0,0,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,0,0,.026) 1px,transparent 1px);
  background-size:42px 42px
}
.page-hero::before,.home-title-area::before,.zero-copy::before,.contact-hero::before{
  content:"KSVRII / 00—26 / NYC";
  position:absolute;right:var(--pad);top:22px;
  border:1px solid currentColor;border-radius:999px;padding:7px 10px;
  font:700 7px/1 Arial,sans-serif;letter-spacing:.15em;
  opacity:.42;z-index:1
}
.page-hero::after,.home-title-area::after,.zero-copy::after{
  content:"";position:absolute;right:calc(var(--pad) + 3px);bottom:22px;
  width:66px;height:66px;border:1px solid currentColor;border-radius:50%;
  opacity:.11;
  background:
    linear-gradient(currentColor,currentColor) center/1px 100% no-repeat,
    linear-gradient(90deg,currentColor,currentColor) center/100% 1px no-repeat
}
.page-title,.contact-hero h1,.zero-copy h1,.despair-hero h1,.home-title{
  font-style:normal;text-shadow:none
}
.page-title::selection,.home-title::selection{background:var(--signal);color:#000}
.page-kicker,.eyebrow,.page-index,.zero-copy__tag{font-style:normal;letter-spacing:.14em}
.page-index::after{content:" / DIGITAL";opacity:.38}
.marquee{
  transform:none;box-shadow:none;
  background:linear-gradient(180deg,#fdfdfb 0%,#b6b6b2 46%,#f8f8f5 53%,#c3c3be 100%);
  border-top:1px solid #111;border-bottom:1px solid #111;padding:8px 0
}
.marquee span{font-size:9px;font-weight:900;letter-spacing:.13em;text-shadow:0 1px rgba(255,255,255,.7)}
.hero-gallery-wrap{border-bottom:1px solid #111}
.gallery-controls{font-style:normal}
.gallery-arrows button{
  background:rgba(255,255,255,.08);box-shadow:none;border-color:rgba(255,255,255,.52)
}
.gallery-arrows button:hover{background:#fff;color:#000}
.teaser{
  transition:transform .5s var(--ease),filter .3s,box-shadow .3s;
  box-shadow:inset 0 1px rgba(255,255,255,.25)
}
.teaser:hover{transform:translateY(-3px) skewX(-.25deg)}
.teaser:nth-child(even):hover{transform:translateY(-3px) skewX(.25deg)}
.teaser::before{
  content:"+";position:absolute;right:18px;top:14px;z-index:3;
  font:400 30px/1 Arial,sans-serif;color:#fff;mix-blend-mode:difference;
  opacity:.7;transition:transform .45s var(--ease)
}
.teaser:hover::before{transform:rotate(90deg)}
.teaser__num{font-style:normal;letter-spacing:.14em}
.pill-link,.filter,.terminal__commands button,.gallery-arrows button{box-shadow:none}
.pill-link{
  border-radius:999px;position:relative;overflow:hidden
}
.pill-link:hover{
  background:linear-gradient(180deg,#fff 0%,#bcbcb7 45%,#fff 54%,#b9b9b4 100%);
  color:#000
}
.social-row::after{
  content:"";position:absolute;right:var(--pad);top:50%;width:44px;height:1px;background:currentColor;
  opacity:.18;transform:translateY(-50%);z-index:1
}
.contact-card,.member-card,.terminal{
  box-shadow:inset 0 1px rgba(255,255,255,.24),inset 0 -1px rgba(0,0,0,.08)
}
.terminal__top{
  background:linear-gradient(180deg,#1b1b1b,#090909);
  box-shadow:inset 0 -1px rgba(255,255,255,.07)
}
.site-footer{
  position:relative;border-top:0;
  box-shadow:inset 0 1px #111,inset 0 2px rgba(255,255,255,.8)
}
.site-footer::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,#222,#f8f8f5 22%,#7d7d79 50%,#fff 74%,#222)
}

/* Empty work archive */
.work-empty{min-height:58vh;padding:clamp(75px,10vw,145px) var(--pad);background:
  radial-gradient(circle at 78% 22%,rgba(255,255,255,.09),transparent 20%),#090909;color:#f4f3ef;position:relative;overflow:hidden;border-top:1px solid #242424}
.work-empty::before{content:"NO PROJECTS // NO FILLER // WAIT FOR THE REAL THING";position:absolute;left:-25px;bottom:38px;font:900 clamp(30px,6vw,88px)/.8 Arial,sans-serif;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);white-space:nowrap;transform:rotate(-4deg)}
.work-empty__star{position:absolute;right:6vw;top:12%;width:150px;height:150px;border:1px solid rgba(255,255,255,.22);border-radius:50%;font-size:0;transform:rotate(12deg)}
.work-empty__star::before,.work-empty__star::after{content:"";position:absolute;left:50%;top:50%;background:rgba(255,255,255,.24);transform:translate(-50%,-50%)}
.work-empty__star::before{width:1px;height:125%}.work-empty__star::after{width:125%;height:1px}
.work-empty h2{margin:14px 0 20px;font-size:clamp(70px,13vw,210px);line-height:.7;letter-spacing:-.085em;font-style:normal}.work-empty>p:last-child{max-width:540px;font-size:14px;line-height:1.55;color:#a6a6a0}
.work-grid--dynamic:empty{display:none}
.work-card__placeholder{display:grid;place-items:center;height:100%;font-size:10px;font-weight:900;letter-spacing:.15em;background:linear-gradient(135deg,#d9d9d4,#f9f9f6);color:#333}

/* Private work editor */
.admin-body{background:#0b0b0b;color:#f4f4ef;min-height:100vh}
.work-admin{min-height:100vh;background:
  radial-gradient(circle at 75% 8%,rgba(255,255,255,.12),transparent 20%),
  #0b0b0b;padding-bottom:80px}
.work-admin__top{height:64px;background:#fff;color:#111;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid #222;position:sticky;top:0;z-index:20}.work-admin__brand{width:98px}.work-admin__top>div{display:flex;gap:22px;align-items:center;font-size:9px;font-weight:900;letter-spacing:.11em}.work-admin__top a:last-child{text-decoration:underline}
.work-admin__hero{padding:70px var(--pad) 54px;border-bottom:1px solid #2b2b2b;position:relative}.work-admin__hero::after{content:"";position:absolute;right:5vw;top:28px;width:126px;height:126px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,.14)) center/1px 100% no-repeat,linear-gradient(90deg,rgba(255,255,255,.14),rgba(255,255,255,.14)) center/100% 1px no-repeat;transform:rotate(13deg)}.work-admin__hero h1{font-size:clamp(76px,13vw,190px);line-height:.7;letter-spacing:-.085em;font-style:normal;margin:15px 0 22px}.work-admin__hero>p:last-child{max-width:680px;color:#999;font-size:14px;line-height:1.55}
.admin-auth,.admin-toolbar,.admin-projects{margin:0 var(--pad)}
.admin-auth{padding:28px 0;border-bottom:1px solid #2a2a2a}.admin-auth>label{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;margin-bottom:8px}.admin-auth>div{display:flex;gap:8px}.admin-auth input{flex:1;background:#111;border:1px solid #4a4a4a;color:#fff;padding:14px 15px;outline:none}.admin-auth input:focus{border-color:#fff}.admin-auth button,.admin-toolbar button{background:#f4f4ef;color:#090909;border:1px solid #f4f4ef;padding:13px 15px;font-size:9px;font-weight:900;letter-spacing:.08em;cursor:pointer}.admin-auth p{font-size:10px;color:#777;margin:10px 0 0}.admin-auth p[data-kind="error"]{color:#ff8686}.admin-auth p[data-kind="ok"]{color:#d9ff45}
.admin-toolbar{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid #2a2a2a}.admin-toolbar>div{display:flex;gap:7px}.admin-toolbar button:first-child{background:transparent;color:#fff}.admin-toolbar span{font-size:9px;font-weight:900;letter-spacing:.1em}
.admin-projects{display:grid;gap:12px;padding-top:18px}.admin-project{border:1px solid #343434;background:#111}.admin-project__head{min-height:46px;border-bottom:1px solid #343434;display:grid;grid-template-columns:48px 1fr auto;align-items:center}.admin-project__head>span{height:100%;display:grid;place-items:center;border-right:1px solid #343434;font-size:9px;font-weight:900}.admin-project__head>strong{padding:0 12px;font-size:13px;letter-spacing:-.02em}.admin-project__head>div{display:flex}.admin-project__head button{height:45px;border:0;border-left:1px solid #343434;background:transparent;color:#fff;padding:0 12px;font-size:9px;font-weight:900;cursor:pointer}.admin-project__head button:hover{background:#fff;color:#000}
.admin-project__grid{display:grid;grid-template-columns:1fr 180px;gap:12px;padding:16px}.admin-project__grid label,.admin-project__grid fieldset{font-size:9px;font-weight:900;letter-spacing:.09em;color:#92928d}.admin-project__grid input,.admin-project__grid textarea,.admin-project__grid select{width:100%;margin-top:6px;background:#0b0b0b;border:1px solid #333;color:#fff;padding:11px 12px;outline:none;resize:vertical}.admin-project__grid input:focus,.admin-project__grid textarea:focus,.admin-project__grid select:focus{border-color:#fff}.admin-project__wide{grid-column:1/-1}.admin-project__grid fieldset{border:1px solid #333;padding:10px;display:flex;align-items:center;gap:14px}.admin-project__grid fieldset label{display:flex;align-items:center;gap:6px}.admin-project__grid fieldset input{width:auto;margin:0}.admin-publish{display:flex!important;align-items:center;gap:8px;align-self:end;padding:11px 0;color:#fff!important}.admin-publish input{width:auto!important;margin:0!important}

@media(max-width:700px){
  .julia-morph{width:196px;height:196px}.julia-morph__portrait{inset:24px}.gate__readout{width:196px}.gate::after{display:none}
  .admin-project__grid{grid-template-columns:1fr}.admin-project__wide{grid-column:1}.admin-toolbar{align-items:flex-start;gap:16px;flex-direction:column}.admin-toolbar>div{flex-wrap:wrap}.work-admin__top>div>span{display:none}
}

/* Keep Julia's completed face on screen when the state changes from reveal to result. */
.julia-morph.is-success .julia-morph__backhair,
.julia-morph.is-success .julia-morph__shell,
.julia-morph.is-success .julia-morph__face,
.julia-morph.is-success .julia-morph__hair,
.julia-morph.is-failed .julia-morph__backhair,
.julia-morph.is-failed .julia-morph__shell,
.julia-morph.is-failed .julia-morph__face,
.julia-morph.is-failed .julia-morph__hair{opacity:0!important}
.julia-morph.is-success .julia-morph__final,
.julia-morph.is-failed .julia-morph__final{opacity:1!important;transform:none!important}


/* =========================================================
   V6 — JULIA LOADER / STAR TRANSITIONS / ZERO MEMBER PROFILES
   Main direction: modern rockstar + old-web/Y2K, without italics.
   ========================================================= */

/* Keep the typography stable: no oblique/italic display treatment. */
em,
.page-title,.contact-hero h1,.zero-copy h1,.despair-hero h1,.home-title,
.page-kicker,.eyebrow,.page-index,.zero-copy__tag,.gallery-controls,
.teaser__num,.work-empty h2,.work-admin__hero h1,.site-nav a:hover{
  font-style:normal!important;
}

/* Better proportional type sizing across the site. */
.home-title{font-size:clamp(72px,13.5vw,210px);line-height:.79;letter-spacing:-.072em}
.home-intro h2{font-size:clamp(46px,6.7vw,96px);line-height:.9;letter-spacing:-.055em}
.home-intro p{font-size:clamp(16px,1.7vw,24px);line-height:1.2}
.teaser{min-height:460px}
.teaser h3{font-size:clamp(38px,4.5vw,74px);line-height:.88;letter-spacing:-.055em}
.page-hero{min-height:58vh}
.page-title{font-size:clamp(68px,11.5vw,178px);line-height:.79;letter-spacing:-.065em}
.page-title--long{font-size:clamp(58px,9.4vw,146px)}
.page-deck{font-size:14px;line-height:1.45}
.section{padding:clamp(62px,7.4vw,112px) var(--pad)}
.section-head h2{font-size:clamp(44px,6.4vw,94px);line-height:.88;letter-spacing:-.055em}
.section-head p{font-size:15px;line-height:1.45}
.about-manifesto__lines p{font-size:clamp(38px,5.7vw,86px);line-height:.94;letter-spacing:-.052em}
.contact-hero{min-height:64vh}
.contact-hero h1{font-size:clamp(78px,13vw,205px);line-height:.77;letter-spacing:-.075em}
.contact-card{min-height:330px}
.contact-card__value{font-size:clamp(27px,3.3vw,52px);line-height:.95}
.social-row{min-height:120px}
.social-row h2{font-size:clamp(40px,5.5vw,80px);line-height:.88;letter-spacing:-.052em}
.despair-hero h1{font-size:clamp(72px,11vw,168px);line-height:.78;letter-spacing:-.07em}
.zero-copy h1{font-size:clamp(82px,12.3vw,188px);line-height:.76;letter-spacing:-.075em}
.zero-copy__deck{font-size:clamp(16px,1.55vw,22px);line-height:1.22}
.zero-statement{min-height:54vh}
.zero-statement p{font-size:clamp(48px,7.5vw,112px);line-height:.86;letter-spacing:-.058em}
.work-empty h2{font-size:clamp(64px,10vw,150px);line-height:.78;letter-spacing:-.065em}
.work-admin__hero h1{font-size:clamp(68px,10vw,148px);line-height:.78;letter-spacing:-.065em}

/* Replace crosshair-ish accents with restrained Y2K stars. */
.page-hero::after,.home-title-area::after,.zero-copy::after{
  content:"★";
  width:auto;height:auto;border:0;border-radius:0;background:none;
  font:900 clamp(30px,4vw,54px)/1 Arial,sans-serif;
  right:var(--pad);bottom:20px;opacity:.16;transform:rotate(9deg)
}
.page-hero::before,.home-title-area::before,.zero-copy::before,.contact-hero::before{
  border-radius:0;
  padding:6px 9px;
  border-style:solid;
}
.teaser::before{content:"☆";font-size:28px;opacity:.82}
.teaser:hover::before{transform:rotate(144deg) scale(1.08)}
.social-row::after{
  content:"☆";width:auto;height:auto;background:none;opacity:.18;
  font:400 28px/1 Arial,sans-serif;transform:translateY(-50%) rotate(9deg)
}
.site-footer__center::before,.site-footer__center::after{content:" ★ ";opacity:.58}

/* ---------- Loader: Julia stays INSIDE the loading circle ---------- */
.gate{
  background:
    radial-gradient(circle at 50% 46%,rgba(255,255,255,.98) 0 17%,rgba(255,255,255,.52) 35%,transparent 58%),
    #f1f0eb;
}
.julia-morph{
  width:232px;height:232px;
  margin-bottom:18px;
  isolation:isolate;
}
.julia-morph__ring{
  inset:0;
  animation:none!important;
  transform:rotate(-90deg)!important;
  z-index:8;
}
.julia-morph__ring-track{stroke:rgba(0,0,0,.18);stroke-width:1.5}
.julia-morph__ring-progress{stroke-width:2.7;transition:stroke-dashoffset .07s linear}
.julia-morph__window{
  position:absolute;
  inset:27px;
  border-radius:50%;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,.11);
  z-index:2;
  transform:translateZ(0);
  box-shadow:inset 0 0 0 5px rgba(0,0,0,.018);
}
.julia-morph__window::after{
  content:"";
  position:absolute;inset:0;
  border-radius:50%;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);
  z-index:6;
}
.julia-morph__head{
  position:absolute;
  z-index:2;
  left:-8%;
  top:4%;
  width:116%;
  height:96%;
  object-fit:contain;
  object-position:center;
  opacity:0;
  transform:translateY(11px) rotate(-2.6deg) scale(.975);
  transform-origin:50% 58%;
  filter:none!important;
  will-change:transform,opacity;
}
.julia-morph__curtain{
  position:absolute;
  z-index:4;
  top:3%;
  width:59%;
  height:91%;
  background:#080808;
  opacity:1;
  will-change:transform,opacity;
  box-shadow:0 0 0 1px #080808;
}
.julia-morph__curtain--left{
  left:-2%;
  border-radius:66% 34% 48% 52% / 30% 42% 58% 70%;
  clip-path:polygon(0 0,100% 0,94% 15%,100% 32%,88% 48%,96% 67%,79% 84%,67% 100%,0 100%);
  transform-origin:18% 17%;
  transform:translateX(12px) rotate(2deg);
}
.julia-morph__curtain--right{
  right:-2%;
  border-radius:34% 66% 52% 48% / 42% 30% 70% 58%;
  clip-path:polygon(0 0,100% 0,100% 100%,33% 100%,21% 84%,4% 67%,12% 48%,0 32%,6% 15%);
  transform-origin:82% 17%;
  transform:translateX(-12px) rotate(-2deg);
}
.julia-morph__curtain i{
  position:absolute;
  bottom:8%;
  width:34px;height:76px;
  background:#080808;
  border-radius:50%;
  display:block;
}
.julia-morph__curtain--left i{right:-10px;transform:rotate(19deg)}
.julia-morph__curtain--right i{left:-10px;transform:rotate(-19deg)}
.julia-morph__shine{
  position:absolute;
  z-index:5;
  inset:-30% -70%;
  background:linear-gradient(110deg,transparent 43%,rgba(255,255,255,.64) 49%,transparent 55%);
  transform:translateX(-34%);
  opacity:0;
  pointer-events:none;
}
.julia-morph__mark{
  z-index:10;
  width:112px;height:112px;
  stroke-width:9;
}

/* The face itself never deforms. The visual trick is the hair-curtain sway. */
.julia-morph.is-revealing .julia-morph__head,
.julia-morph.is-resetting .julia-morph__head{
  animation:juliaV6Head 1.48s cubic-bezier(.2,.72,.18,1) both!important;
}
.julia-morph.is-revealing .julia-morph__curtain--left,
.julia-morph.is-resetting .julia-morph__curtain--left{
  animation:juliaV6HairLeft 1.4s cubic-bezier(.2,.72,.18,1) both;
}
.julia-morph.is-revealing .julia-morph__curtain--right,
.julia-morph.is-resetting .julia-morph__curtain--right{
  animation:juliaV6HairRight 1.4s cubic-bezier(.2,.72,.18,1) both;
}
.julia-morph.is-revealing .julia-morph__shine,
.julia-morph.is-resetting .julia-morph__shine{animation:juliaV6Shine .72s .48s ease-out both}

@keyframes juliaV6Head{
  0%{opacity:0;transform:translateY(11px) rotate(-2.6deg) scale(.975)}
  16%{opacity:.32}
  38%{opacity:1;transform:translateY(2px) rotate(1.8deg) scale(1)}
  61%{transform:translateY(0) rotate(-1.05deg) scale(1)}
  78%{transform:rotate(.52deg)}
  100%{opacity:1;transform:none}
}
@keyframes juliaV6HairLeft{
  0%,18%{opacity:1;transform:translateX(12px) rotate(2deg)}
  52%{opacity:1;transform:translateX(-18px) rotate(-8.5deg)}
  73%{opacity:.7;transform:translateX(-28px) rotate(-12deg)}
  100%{opacity:0;transform:translateX(-42px) rotate(-16deg)}
}
@keyframes juliaV6HairRight{
  0%,18%{opacity:1;transform:translateX(-12px) rotate(-2deg)}
  52%{opacity:1;transform:translateX(18px) rotate(8.5deg)}
  73%{opacity:.7;transform:translateX(28px) rotate(12deg)}
  100%{opacity:0;transform:translateX(42px) rotate(16deg)}
}
@keyframes juliaV6Shine{
  0%{opacity:0;transform:translateX(-32%)}
  35%{opacity:.42}
  100%{opacity:0;transform:translateX(32%)}
}

/* Fade Julia out cleanly, then draw the check/X. */
.julia-morph.is-success .julia-morph__head,
.julia-morph.is-failed .julia-morph__head{
  animation:none!important;
  opacity:1!important;
  transform:none!important;
}
.julia-morph.is-success .julia-morph__curtain,
.julia-morph.is-failed .julia-morph__curtain{opacity:0!important}
.julia-morph.is-success .julia-morph__window{
  animation:juliaV6Fade .38s ease-in forwards!important;
}
.julia-morph.is-failed .julia-morph__window{
  animation:juliaV6Error .42s cubic-bezier(.4,0,.2,1) forwards!important;
}
.julia-morph.is-success .julia-morph__ring,
.julia-morph.is-failed .julia-morph__ring{animation:none!important;opacity:.25}
@keyframes juliaV6Fade{to{opacity:0;transform:scale(.96)}}
@keyframes juliaV6Error{
  0%{opacity:1;transform:translateX(0)}
  22%{transform:translateX(-3px)}
  44%{transform:translateX(3px)}
  66%{transform:translateX(-2px)}
  100%{opacity:0;transform:translateX(0) scale(.96)}
}
.gate__readout{width:232px}
.gate__readout::before{content:"★";width:auto;height:auto;background:none;border-radius:0;top:-8px;font-size:7px}

/* ---------- Page transition: exploding / collapsing stars ---------- */
.page-wipe{
  position:fixed!important;
  inset:0!important;
  z-index:15000!important;
  pointer-events:none!important;
  overflow:hidden!important;
  opacity:0;
  transform:none!important;
  background:transparent!important;
}
.page-wipe__burst{
  position:absolute;
  width:24vmax;height:24vmax;
  left:50%;top:50%;
  transform:translate(-50%,-50%) scale(0) rotate(-18deg);
  transform-origin:center;
  background:#080808;
  clip-path:polygon(50% 0%,61% 34%,98% 35%,68% 57%,79% 94%,50% 73%,21% 94%,32% 57%,2% 35%,39% 34%);
}
.page-wipe__starfield{position:absolute;inset:0}
.page-wipe__starfield i{
  position:absolute;left:var(--x);top:var(--y);
  color:#080808;font:900 calc(42px * var(--s))/1 Arial,sans-serif;
  transform:translate(-50%,-50%) scale(0) rotate(-20deg);
  opacity:0;
}
.page-wipe__stamp{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%) scale(.88);
  text-align:center;color:#fff;opacity:0;z-index:3;
}
.page-wipe__stamp b{
  display:block;
  font:900 clamp(28px,5vw,72px)/.9 Arial,sans-serif!important;
  letter-spacing:-.055em!important;
  font-style:normal!important;
  white-space:nowrap
}
.page-wipe__stamp span{display:block;margin-top:8px;font:700 8px/1 Arial,sans-serif;letter-spacing:.18em}

.page-wipe.is-entering{opacity:1;background:rgba(243,242,237,.94)!important}
.page-wipe.is-entering .page-wipe__burst{animation:starCover .54s cubic-bezier(.7,0,.14,1) forwards}
.page-wipe.is-entering .page-wipe__stamp{animation:starStampIn .35s .16s ease-out forwards}
.page-wipe.is-entering .page-wipe__starfield i{animation:smallStarIn .28s var(--d) ease-out forwards}
@keyframes starCover{
  0%{transform:translate(-50%,-50%) scale(.01) rotate(-18deg)}
  55%{transform:translate(-50%,-50%) scale(3.7) rotate(8deg)}
  100%{transform:translate(-50%,-50%) scale(10) rotate(22deg)}
}
@keyframes starStampIn{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes smallStarIn{to{opacity:.9;transform:translate(-50%,-50%) scale(1) rotate(12deg)}}

.page-wipe.is-arriving{
  opacity:1;
  background:rgba(243,242,237,.94)!important;
  animation:arrivalClear .62s ease forwards;
}
.page-wipe.is-arriving .page-wipe__burst{
  animation:starUncover .62s cubic-bezier(.18,.7,.2,1) forwards;
}
.page-wipe.is-arriving .page-wipe__stamp{animation:arrivalStamp .38s ease forwards}
@keyframes starUncover{
  0%{transform:translate(-50%,-50%) scale(10) rotate(22deg)}
  100%{transform:translate(-50%,-50%) scale(0) rotate(80deg)}
}
@keyframes arrivalStamp{0%{opacity:1}55%,100%{opacity:0}}
@keyframes arrivalClear{0%,72%{background:rgba(243,242,237,.94)}100%{background:transparent}}

/* ---------- Zero roster: correct profile art + full member pages ---------- */
.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.member-card{
  min-height:470px;
  color:#0a0a0a;
  transition:background .25s ease,transform .35s var(--ease);
}
.member-card::after{
  content:"☆";
  position:absolute;right:14px;top:13px;z-index:3;
  font:400 22px/1 Arial,sans-serif;
  color:#fff;
  text-shadow:0 0 0 #111;
  mix-blend-mode:difference;
  transition:transform .35s var(--ease);
}
.member-card:hover::after{transform:rotate(144deg) scale(1.14)}
.member-card__avatar{height:340px;background:#d8d8d4}
.member-card__avatar img{
  filter:none!important;
  transform:scale(1.005);
  transition:transform .62s var(--ease),filter .25s ease!important;
}
.member-card:hover .member-card__avatar img{transform:scale(1.035)!important;filter:contrast(1.03)!important}
.member-card__copy{
  min-height:130px;
  padding:15px 16px 17px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:7px 12px;
  align-items:start;
}
.member-card__index{font-size:8px;font-weight:900;letter-spacing:.12em;padding-top:3px}
.member-card__copy h3{
  margin:0;
  font-size:clamp(22px,2.1vw,34px);
  line-height:.94;
  letter-spacing:-.038em;
}
.member-card__copy p{
  grid-column:2;
  margin:0;
  font-size:9px;
  line-height:1.35;
  letter-spacing:.055em;
  color:#696964;
}
.member-card__open{
  grid-column:2;
  margin-top:7px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  border-top:1px solid rgba(0,0,0,.26);
  padding-top:8px;
}

/* Shared-element-ish zoom before opening an editor profile. */
.member-zoom{
  position:fixed;inset:0;z-index:17000;
  background:rgba(0,0,0,0);
  overflow:hidden;pointer-events:none;
  transition:background .52s ease;
}
.member-zoom__image{
  position:fixed;
  object-fit:cover;
  transform:none;
  transition:left .56s cubic-bezier(.18,.72,.14,1),top .56s cubic-bezier(.18,.72,.14,1),
             width .56s cubic-bezier(.18,.72,.14,1),height .56s cubic-bezier(.18,.72,.14,1),
             border-radius .56s ease,filter .56s ease;
}
.member-zoom__star{
  position:absolute;right:7vw;top:8vh;color:#fff;
  font:900 64px/1 Arial,sans-serif;
  opacity:0;transform:scale(.3) rotate(-20deg);
  transition:.45s .12s var(--ease);
}
.member-zoom.is-active{background:#080808}
.member-zoom.is-active .member-zoom__image{
  left:0!important;top:0!important;width:100vw!important;height:100vh!important;
  border-radius:0;filter:contrast(1.03);
}
.member-zoom.is-active .member-zoom__star{opacity:.9;transform:scale(1) rotate(9deg)}

.member-profile{
  min-height:calc(100vh - var(--header-h));
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);
  background:#080808;
  color:#f4f3ef;
  position:relative;
  overflow:hidden;
}
.member-profile__back{
  position:absolute;left:var(--pad);top:20px;z-index:8;
  font-size:8px;font-weight:900;letter-spacing:.13em;
  background:#f4f3ef;color:#080808;padding:8px 10px;
  border:1px solid #080808;
}
.member-profile__visual{
  min-height:calc(100vh - var(--header-h));
  position:relative;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.22);
  animation:memberVisualIn .72s var(--ease) both;
}
.member-profile__visual img{
  width:100%;height:100%;position:absolute;inset:0;
  object-fit:cover;
  filter:none;
}
.member-profile__visual::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 60%,rgba(0,0,0,.22));
  pointer-events:none;
}
.member-profile__star{position:absolute;z-index:3;color:#fff;mix-blend-mode:difference}
.member-profile__star--a{right:5%;top:8%;font-size:58px;transform:rotate(12deg)}
.member-profile__star--b{left:6%;bottom:7%;font-size:38px;transform:rotate(-9deg)}
.member-profile__info{
  padding:86px clamp(28px,4.5vw,72px) 46px;
  display:flex;flex-direction:column;justify-content:flex-end;
  position:relative;
}
.member-profile__info::before{
  content:"ZERO ★ 00—26";
  position:absolute;top:24px;right:24px;
  font-size:8px;font-weight:900;letter-spacing:.15em;
  opacity:.55;
}
.member-profile__eyebrow{margin:0 0 18px;font-size:9px;font-weight:900;letter-spacing:.16em}
.member-profile__info h1{
  margin:0;
  font-size:clamp(54px,8.2vw,134px);
  line-height:.82;
  letter-spacing:-.065em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.member-profile__handle{
  margin:18px 0 26px;
  font-size:11px;font-weight:700;letter-spacing:.08em;
  color:#aaa9a3;
}
.member-profile__links{display:flex;flex-wrap:wrap;gap:8px}
.member-profile__button{
  min-width:150px;
  border:1px solid rgba(255,255,255,.58);
  padding:12px 14px;
  display:flex;justify-content:space-between;gap:25px;
  font-size:9px;font-weight:900;letter-spacing:.12em;
  transition:background .2s,color .2s,transform .2s;
}
.member-profile__button:hover{background:#fff;color:#000;transform:translateY(-2px)}
@keyframes memberVisualIn{
  from{opacity:.45;transform:scale(1.08)}
  to{opacity:1;transform:scale(1)}
}

@media(max-width:900px){
  .member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .member-profile{grid-template-columns:1fr;min-height:auto}
  .member-profile__visual{min-height:62vh;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
  .member-profile__info{min-height:42vh;padding-top:64px}
}
@media(max-width:560px){
  .home-title{font-size:24vw}
  .page-title{font-size:23vw}
  .page-title--long{font-size:19vw}
  .contact-hero h1{font-size:24vw}
  .zero-copy h1{font-size:25vw}
  .site-nav a{font-size:12vw}
  .julia-morph{width:202px;height:202px}
  .julia-morph__window{inset:25px}
  .gate__readout{width:202px}
  .gate__message{font-size:clamp(25px,8vw,34px)}
  .member-grid{grid-template-columns:1fr}
  .member-card{min-height:445px}
  .member-card__avatar{height:330px}
  .member-profile__visual{min-height:58vh}
  .member-profile__info h1{font-size:clamp(48px,17vw,86px)}
}


/* V6.1 Julia refinement: use the actual logo art split into clean hair/face layers.
   No fake 3D, no stretching, no black blob curtains. */
.julia-morph__curtain{display:none!important}
.julia-morph__art{
  position:absolute;
  z-index:2;
  left:-8%;
  top:4%;
  width:116%;
  height:96%;
  object-fit:contain;
  object-position:center;
  transform-origin:50% 58%;
  opacity:0;
  will-change:transform,opacity,clip-path;
}
.julia-morph__hair-left{z-index:2}
.julia-morph__hair-right{z-index:2}
.julia-morph__face-art{z-index:3}
.julia-morph__final-art{z-index:4}
.julia-morph.is-revealing .julia-morph__hair-left,
.julia-morph.is-resetting .julia-morph__hair-left{
  animation:juliaHairCleanLeft 1.5s cubic-bezier(.2,.72,.18,1) both;
}
.julia-morph.is-revealing .julia-morph__hair-right,
.julia-morph.is-resetting .julia-morph__hair-right{
  animation:juliaHairCleanRight 1.5s cubic-bezier(.2,.72,.18,1) both;
}
.julia-morph.is-revealing .julia-morph__face-art,
.julia-morph.is-resetting .julia-morph__face-art{
  animation:juliaFaceClean .9s .34s cubic-bezier(.2,.72,.18,1) both;
}
.julia-morph.is-revealing .julia-morph__final-art,
.julia-morph.is-resetting .julia-morph__final-art{
  animation:juliaFinalClean .36s 1.12s ease-out both;
}
@keyframes juliaHairCleanLeft{
  0%{opacity:0;transform:translateX(8px) translateY(5px) rotate(2.6deg)}
  14%{opacity:1}
  42%{opacity:1;transform:translateX(-5px) translateY(0) rotate(-2.1deg)}
  67%{transform:translateX(2px) rotate(.8deg)}
  84%{opacity:1;transform:none}
  100%{opacity:0;transform:none}
}
@keyframes juliaHairCleanRight{
  0%{opacity:0;transform:translateX(-8px) translateY(5px) rotate(-2.6deg)}
  14%{opacity:1}
  42%{opacity:1;transform:translateX(5px) translateY(0) rotate(2.1deg)}
  67%{transform:translateX(-2px) rotate(-.8deg)}
  84%{opacity:1;transform:none}
  100%{opacity:0;transform:none}
}
@keyframes juliaFaceClean{
  0%{opacity:0;clip-path:circle(0% at 47% 57%);transform:translateY(4px)}
  36%{opacity:.75;clip-path:circle(25% at 47% 57%)}
  72%{opacity:1;clip-path:circle(60% at 47% 57%);transform:translateY(0)}
  88%{opacity:1;clip-path:circle(90% at 47% 57%)}
  100%{opacity:0;clip-path:circle(100% at 47% 57%);transform:none}
}
@keyframes juliaFinalClean{
  0%{opacity:0;transform:rotate(.35deg)}
  100%{opacity:1;transform:none}
}
.julia-morph.is-success .julia-morph__art,
.julia-morph.is-failed .julia-morph__art{animation:none!important}
.julia-morph.is-success .julia-morph__hair-left,
.julia-morph.is-success .julia-morph__hair-right,
.julia-morph.is-success .julia-morph__face-art,
.julia-morph.is-failed .julia-morph__hair-left,
.julia-morph.is-failed .julia-morph__hair-right,
.julia-morph.is-failed .julia-morph__face-art{opacity:0!important}
.julia-morph.is-success .julia-morph__final-art,
.julia-morph.is-failed .julia-morph__final-art{opacity:1!important;transform:none!important}

/* =========================================================
   V7 — cleaner Julia containment + stronger Y2K overlap
   ========================================================= */

/* Julia: same layered sway, but the art is now on a square aligned canvas
   and the progress ring lives OUTSIDE the portrait window. */
.julia-morph{width:236px!important;height:236px!important}
.julia-morph__ring{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:7!important;pointer-events:none}
.julia-morph__window{inset:18px!important;border-radius:50%!important;overflow:hidden!important;background:#fff!important;border:1px solid rgba(0,0,0,.10)!important;box-shadow:0 0 0 5px rgba(255,255,255,.82),0 0 0 6px rgba(0,0,0,.055)!important}
.julia-morph__art{left:0!important;top:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform-origin:50% 50%!important}
.julia-morph__hair-left,.julia-morph__hair-right,.julia-morph__face-art,.julia-morph__final-art{clip-path:circle(49% at 50% 50%)}
.julia-morph__mark{z-index:9!important}
.gate__readout{width:236px!important}
@media(max-width:560px){.julia-morph{width:206px!important;height:206px!important}.julia-morph__window{inset:16px!important}.gate__readout{width:206px!important}}

/* stronger old-web / rockstar Y2K texture over the modern base */
body:not(.site-editor-body){background-image:radial-gradient(circle at 18% 22%,rgba(0,0,0,.028) 0 1px,transparent 1.5px);background-size:13px 13px}
.page-shell,.home-hero,.home-intro,.teaser-grid,.zero-hero,.contact-hero,.section{position:relative}
.page-shell::after{content:"☆  ★  ☆";position:fixed;right:16px;bottom:17px;z-index:50;font:900 9px/1 Arial,sans-serif;letter-spacing:.36em;color:#fff;mix-blend-mode:difference;pointer-events:none;opacity:.72}
.page-hero::after,.home-title-area::after,.zero-copy::after,.contact-hero::after{content:"★";position:absolute;right:clamp(18px,3vw,46px);top:clamp(22px,4vw,58px);font:900 clamp(18px,2.2vw,34px)/1 Arial,sans-serif;opacity:.62;transform:rotate(13deg);pointer-events:none}
.home-title::after{content:"☆";display:inline-block;margin-left:.06em;font-size:.17em;vertical-align:top;transform:translateY(.32em) rotate(-13deg);letter-spacing:0}
.page-title::before,.zero-copy h1::before,.contact-hero h1::before,.despair-hero h1::before{content:"00★26";display:block;font-size:9px;line-height:1;letter-spacing:.18em;margin-bottom:12px;-webkit-text-stroke:0;color:currentColor;opacity:.52}
.teaser,.member-card,.fact,.social-row,.contact-card{box-shadow:inset 0 1px rgba(255,255,255,.7),inset 0 -1px rgba(0,0,0,.08)}
.teaser::before{content:"★"!important;text-shadow:1px 1px 0 rgba(255,255,255,.45),-1px -1px 0 rgba(0,0,0,.18)}
.teaser--dark::before{content:"☆"!important;color:#fff}
.pill-link,.filter,.gallery-arrows button,.member-card__open,.cms-custom-block__button{border-radius:2px!important;box-shadow:inset 1px 1px rgba(255,255,255,.55),inset -1px -1px rgba(0,0,0,.16);background-image:linear-gradient(180deg,rgba(255,255,255,.14),rgba(0,0,0,.04))}
.pill-link::before,.member-card__open::before{content:"★";font-size:8px;margin-right:2px}
.section--paper,.home-intro{background-image:linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 1px);background-size:28px 28px}
.marquee{box-shadow:inset 0 1px rgba(255,255,255,.16),inset 0 -1px rgba(255,255,255,.16)}

/* official KSVRII / Despair imagery */
.despair-hero--profile{grid-template-columns:minmax(190px,.5fr) .8fr 1fr!important;align-items:end!important}
.despair-hero__visual{align-self:stretch;min-height:340px;border:1px solid rgba(255,255,255,.18);overflow:hidden;position:relative;background:#111}
.despair-hero__visual::after{content:"★ OFFICIAL PFP";position:absolute;left:10px;bottom:10px;background:#fff;color:#000;padding:6px 8px;font:900 8px/1 Arial,sans-serif;letter-spacing:.1em}
.despair-hero__visual img{width:100%;height:100%;object-fit:cover}
.work-empty{display:grid;grid-template-columns:minmax(180px,360px) 1fr;column-gap:clamp(28px,5vw,80px);align-items:center}
.work-empty__portrait{grid-row:1/5;overflow:hidden;border:1px solid rgba(255,255,255,.24);aspect-ratio:1/1;box-shadow:11px 11px 0 rgba(255,255,255,.05)}
.work-empty__portrait img{width:100%;height:100%;object-fit:cover}
.work-empty>.eyebrow,.work-empty>h2,.work-empty>p{grid-column:2}
.work-empty__star{z-index:2}
@media(max-width:900px){.despair-hero--profile{grid-template-columns:1fr!important}.despair-hero__visual{min-height:50vh}.work-empty{grid-template-columns:1fr}.work-empty__portrait{grid-row:auto;max-width:420px;margin-bottom:20px}.work-empty>.eyebrow,.work-empty>h2,.work-empty>p{grid-column:1}}

/* custom sections created from Site Editor */
.cms-custom-block{padding:clamp(70px,9vw,140px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center;background:#f3f2ed;border-top:1px solid rgba(0,0,0,.16)}
.cms-custom-block--dark{background:#090909;color:#fff}
.cms-custom-block__media{min-height:430px;overflow:hidden;background:#ddd}
.cms-custom-block__media img{width:100%;height:100%;object-fit:cover}
.cms-custom-block__copy h2{font-size:clamp(44px,7vw,110px);line-height:.83;letter-spacing:-.065em;margin:12px 0 20px;text-transform:uppercase}
.cms-custom-block__copy>p:not(.eyebrow){max-width:620px;font-size:14px;line-height:1.55}
.cms-custom-block__button{display:inline-flex;margin-top:22px;border:1px solid currentColor;padding:11px 14px;font:900 10px/1 Arial,sans-serif;letter-spacing:.08em}
.cms-preview-mode [data-cms-key],.cms-preview-mode [data-cms-link-key],.cms-preview-mode [data-cms-custom]{cursor:crosshair}
.cms-preview-mode [data-cms-key]:hover,.cms-preview-mode [data-cms-link-key]:hover,.cms-preview-mode [data-cms-custom]:hover{outline:2px dashed #4a67ff!important;outline-offset:3px}
.cms-preview-mode .cms-editor-selected{outline:3px solid #4a67ff!important;outline-offset:3px}
@media(max-width:760px){.cms-custom-block{grid-template-columns:1fr}.cms-custom-block__media{min-height:55vh}}

/* =========================================================
   SITE EDITOR — no-code control room
   ========================================================= */
.site-editor-body{margin:0;background:#0a0a0a;color:#f4f4ef;font-family:Arial,Helvetica,sans-serif;overflow:hidden;cursor:auto!important}
.site-editor-body *{box-sizing:border-box}
.site-editor-body button,.site-editor-body input,.site-editor-body textarea,.site-editor-body select{font-family:Arial,Helvetica,sans-serif}
.editor-login{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#242424 0,#0a0a0a 55%);padding:22px}
.editor-login__card{width:min(560px,100%);border:1px solid #595959;background:#111;padding:clamp(28px,5vw,52px);box-shadow:0 0 0 1px #000,0 28px 90px rgba(0,0,0,.6);position:relative}
.editor-login__card::after{content:"★";position:absolute;right:22px;top:18px;font-size:28px}.editor-login__card img{width:120px;filter:invert(1);margin-bottom:42px}.editor-kicker{font-size:9px;font-weight:900;letter-spacing:.15em;color:#aaa}.editor-login h1{font-size:clamp(64px,10vw,118px);line-height:.74;letter-spacing:-.075em;margin:12px 0 26px}.editor-login p{max-width:430px;font-size:13px;line-height:1.5;color:#aaa}.editor-login label{display:grid;gap:7px;margin-top:28px;font-size:9px;font-weight:900;letter-spacing:.12em}.editor-login input{background:#050505;border:1px solid #555;color:#fff;padding:14px}.editor-login button{width:100%;margin-top:9px;padding:14px;background:#fff;color:#000;border:0;font-weight:900;cursor:pointer}.editor-login small{display:block;margin-top:9px;color:#777}.editor-login small[data-kind="error"]{color:#ff8e8e}
.site-editor{height:100vh;display:grid;grid-template-rows:58px 1fr;background:#0d0d0d}.editor-topbar{display:grid;grid-template-columns:160px 1fr auto;align-items:center;border-bottom:1px solid #3b3b3b;background:#080808;padding:0 12px;gap:18px}.editor-brand img{width:100px;filter:invert(1)}.editor-topbar__meta{display:flex;gap:16px;align-items:center}.editor-topbar__meta b{font-size:10px;letter-spacing:.11em}.editor-topbar__meta span{font-size:8px;color:#888;letter-spacing:.1em}.editor-topbar__meta span[data-kind="ok"]{color:#a8ff9a}.editor-topbar__meta span[data-kind="warn"]{color:#ffe08a}.editor-topbar__meta span[data-kind="error"]{color:#ff9292}.editor-topbar__actions{display:flex;gap:6px}.editor-topbar button{border:1px solid #474747;background:#171717;color:#fff;padding:10px 12px;font:900 9px/1 Arial,sans-serif;letter-spacing:.06em;cursor:pointer}.editor-topbar .editor-save{background:#fff;color:#000}
.editor-layout{min-height:0;display:grid;grid-template-columns:180px minmax(0,1fr) 330px}.editor-pages,.editor-inspector{min-height:0;overflow:auto;background:#0b0b0b}.editor-pages{border-right:1px solid #343434;padding:12px}.editor-inspector{border-left:1px solid #343434}.editor-panel-title{font-size:8px;font-weight:900;color:#6f6f6f;letter-spacing:.15em;margin:10px 4px}.editor-pages nav{display:grid;gap:2px}.editor-pages nav button,.editor-add-grid button,.editor-work-tool{border:1px solid transparent;background:transparent;color:#aaa;text-align:left;padding:10px 9px;font:900 10px/1 Arial,sans-serif;cursor:pointer}.editor-pages nav button:hover,.editor-pages nav button.is-active{background:#1a1a1a;color:#fff;border-color:#333}.editor-pages nav button.is-active::before{content:"★ ";}.editor-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.editor-add-grid button{border-color:#333;text-align:center;font-size:8px}.editor-work-tool{width:100%;margin-top:14px;border-color:#3d3d3d;background:#141414;color:#fff;text-align:center}
.editor-canvas{min-width:0;min-height:0;background:#1a1a1a;display:grid;grid-template-rows:32px 1fr}.editor-canvas__bar{display:flex;justify-content:space-between;align-items:center;padding:0 10px;font-size:8px;font-weight:900;letter-spacing:.09em;color:#8d8d8d;border-bottom:1px solid #353535}.editor-frame-wrap{min-height:0;padding:14px}.editor-frame-wrap iframe{width:100%;height:100%;border:1px solid #474747;background:#fff;box-shadow:0 15px 45px rgba(0,0,0,.38)}
.editor-tabs{display:grid;grid-template-columns:repeat(3,1fr);position:sticky;top:0;background:#0b0b0b;z-index:2}.editor-tabs button{padding:13px 4px;border:0;border-bottom:1px solid #333;background:#101010;color:#777;font:900 8px/1 Arial,sans-serif;letter-spacing:.1em;cursor:pointer}.editor-tabs button.is-active{background:#f1f1ec;color:#000}.editor-tab-panel{padding:14px}.editor-empty-selection{text-align:center;padding:80px 15px;color:#767676}.editor-empty-selection span{display:block;font-size:38px;color:#ddd}.editor-empty-selection b{display:block;margin:10px 0;font-size:11px;color:#fff}.editor-empty-selection p,.editor-help,.editor-work-head p{font-size:11px;line-height:1.45;color:#888}.editor-field{display:grid;gap:11px}.editor-field__head{border-bottom:1px solid #333;padding-bottom:12px}.editor-field__head span{display:block;font-size:8px;font-weight:900;letter-spacing:.12em;color:#777}.editor-field__head b{display:block;margin-top:5px;font-size:13px;line-height:1.2}.editor-field label,.editor-work-card label{display:grid;gap:5px;font-size:8px;font-weight:900;letter-spacing:.1em;color:#8b8b8b}.editor-field input,.editor-field textarea,.editor-field select,.editor-work-card input,.editor-work-card textarea,.editor-work-card select{width:100%;border:1px solid #414141;background:#111;color:#fff;padding:10px;font-size:11px;line-height:1.35;resize:vertical}.editor-field small{font-size:9px;line-height:1.4;color:#6f6f6f}.editor-image-preview{aspect-ratio:1.3/1;background:#151515;border:1px solid #333;overflow:hidden}.editor-image-preview img{width:100%;height:100%;object-fit:cover}.editor-upload{border:1px dashed #484848;padding:10px;color:#ddd!important;cursor:pointer}.editor-upload input{border:0!important;background:transparent!important;padding:4px 0!important;font-size:9px!important}.editor-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important}.editor-check input{width:auto!important}.editor-danger{border:1px solid #6a2f2f;background:#1c0c0c;color:#ff9f9f;padding:11px;font-size:9px;font-weight:900;cursor:pointer}
.editor-block-list{display:grid;gap:5px}.editor-block-item{display:grid;grid-template-columns:22px 1fr auto auto;align-items:center;gap:6px;border:1px solid #333;background:#141414;padding:10px;cursor:grab}.editor-block-item.is-dragging{opacity:.35}.editor-block-item b{font-size:9px;line-height:1.2}.editor-block-item small{font-size:7px;color:#666}.editor-block-item button{border:1px solid #3a3a3a;background:#1d1d1d;color:#fff;font-size:7px;padding:6px;cursor:pointer}.editor-drag{color:#777}.editor-work-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.editor-work-head button{border:1px solid #444;background:#fff;color:#000;padding:8px;font-size:8px;font-weight:900;cursor:pointer}.editor-work-list{display:grid;gap:10px;margin-top:10px}.editor-work-card{border:1px solid #383838;background:#121212;padding:11px;display:grid;gap:8px}.editor-work-card.is-dragging{opacity:.35}.editor-work-card__head{display:flex;justify-content:space-between;align-items:center}.editor-work-card__head span{font-size:8px;font-weight:900;letter-spacing:.1em}.editor-work-card__head button{border:0;background:none;color:#ff9696;font-size:8px;font-weight:900;cursor:pointer}.editor-two{display:grid;grid-template-columns:1fr 1fr;gap:7px}.editor-kind{display:flex;gap:8px;flex-wrap:wrap}.editor-kind label{display:flex;align-items:center;gap:3px}.editor-kind input{width:auto}.editor-work-card .editor-upload{padding:7px}
@media(max-width:1050px){.editor-layout{grid-template-columns:150px minmax(0,1fr) 280px}.editor-topbar{grid-template-columns:120px 1fr auto}}
@media(max-width:780px){.site-editor-body{overflow:auto}.site-editor{height:auto;min-height:100vh}.editor-layout{grid-template-columns:1fr}.editor-pages,.editor-inspector{border:0}.editor-canvas{height:70vh}.editor-topbar{grid-template-columns:1fr auto}.editor-brand{display:none}.editor-topbar__meta span{display:none}}

/* =====================================================================
   v8 — Y2K x MODERN x FRUTIGER-AERO OVERLAP
   Public-site polish only. Star page transitions from v7 stay unchanged.
   ===================================================================== */
:root{
  --aero-cyan:#63e7ff;
  --aero-blue:#79a7ff;
  --aero-lime:#c8ff72;
  --aero-violet:#d9c5ff;
  --aero-silver:#dce7ed;
  --aero-deep:#06111b;
  --aero-glass:rgba(255,255,255,.62);
}

/* softer, glossy environmental light over the rough black/white base */
body:not(.site-editor-body){
  background:
    radial-gradient(circle at 13% -12%,rgba(99,231,255,.24),transparent 28rem),
    radial-gradient(circle at 92% 12%,rgba(200,255,114,.16),transparent 25rem),
    #eef4f4;
}
body:not(.site-editor-body)::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 26%,rgba(255,255,255,.88) 0 2px,transparent 3px),
    radial-gradient(circle at 75% 46%,rgba(255,255,255,.72) 0 1px,transparent 2px);
  background-size:97px 97px,151px 151px;
  opacity:.34;
}
.noise{opacity:.045}

/* glassy reference-like header, still compact */
.site-header{
  background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(241,249,250,.82));
  border-bottom:1px solid rgba(84,189,218,.46);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 8px 26px rgba(26,78,96,.06);
  backdrop-filter:blur(18px) saturate(1.28);
  -webkit-backdrop-filter:blur(18px) saturate(1.28);
}
.site-header::after{
  content:"★ 00·26";
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  font:900 7px/1 Arial,sans-serif;
  letter-spacing:.18em;
  color:rgba(22,57,69,.34);
  pointer-events:none;
}
.site-nav{gap:5px}
.site-nav a{
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:999px;
  transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;
}
.site-nav a::after{display:none}
.site-nav a:hover,.site-nav a[aria-current="page"]{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(196,239,248,.78));
  border-color:rgba(68,165,194,.45);
  box-shadow:0 1px 0 #fff inset,0 4px 12px rgba(62,147,175,.12);
  transform:translateY(-1px);
}

/* HOME — turn the slideshow into a glossy Y2K media wall */
.home-hero{
  background:
    radial-gradient(circle at 15% 8%,rgba(99,231,255,.19),transparent 30%),
    radial-gradient(circle at 84% 17%,rgba(217,197,255,.16),transparent 28%),
    #03070a;
}
.hero-gallery-wrap{
  margin:10px 10px 0;
  border:1px solid rgba(190,231,241,.55);
  border-radius:18px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.85) inset,
    0 0 0 1px rgba(255,255,255,.07),
    0 24px 65px rgba(0,34,54,.34);
  background:linear-gradient(180deg,#dff7ff 0,#8bc6df 2px,#071018 3px,#071018 100%);
  padding-top:20px;
}
.hero-gallery-wrap::before{
  content:"KSVRII MEDIA PLAYER  ★  VISUAL LOOP  ★  2026";
  position:absolute;left:15px;top:7px;z-index:8;
  color:rgba(229,250,255,.74);
  font:900 7px/1 Arial,sans-serif;
  letter-spacing:.18em;
  pointer-events:none;
}
.hero-gallery-wrap::after{
  content:"●  ●  ●";
  position:absolute;right:14px;top:6px;z-index:8;
  color:rgba(208,247,255,.72);
  font:700 8px/1 Arial,sans-serif;
  letter-spacing:.2em;
  pointer-events:none;
}
.hero-gallery{background:#071018;border-radius:0 0 16px 16px;overflow:hidden}
.gallery-tile{background:#081019;border:1px solid rgba(255,255,255,.035)}
.gallery-tile img{
  filter:grayscale(.08) contrast(1.08) brightness(.96);
  transform:scale(1.04);
}
.gallery-tile:nth-child(2n) img{object-position:47% 44%;transform:scale(1.22)}
.gallery-tile:nth-child(3n) img{object-position:54% 50%;transform:scale(1.12)}
.gallery-tile:nth-child(4n) img{filter:grayscale(1) contrast(1.35) brightness(1.08);transform:scale(1.28)}
.gallery-tile:nth-child(5n) img{filter:sepia(.12) hue-rotate(150deg) saturate(1.3) contrast(1.12);transform:scale(1.17)}
.gallery-tile::after{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:linear-gradient(145deg,rgba(99,231,255,.11),transparent 35%,rgba(200,255,114,.06));
  mix-blend-mode:screen;
}
.gallery-tile:nth-child(3n)::after{background:linear-gradient(145deg,rgba(217,197,255,.13),transparent 42%)}
.gallery-controls{bottom:14px}
.gallery-status{
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background:rgba(2,12,18,.48);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.gallery-arrows button{
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.27),rgba(3,16,23,.42));
  box-shadow:0 1px 0 rgba(255,255,255,.38) inset;
}
.gallery-progress{left:14px;right:14px;bottom:7px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.13)}
.gallery-progress span{background:linear-gradient(90deg,var(--aero-cyan),#fff,var(--aero-lime))}

.home-title-area{
  margin-top:10px;
  background:
    radial-gradient(circle at 84% 30%,rgba(99,231,255,.18),transparent 18rem),
    radial-gradient(circle at 76% 60%,rgba(200,255,114,.11),transparent 22rem),
    linear-gradient(180deg,#08131d,#020507 72%);
}
.home-title-area::before{
  content:"";
  position:absolute;
  width:clamp(150px,19vw,300px);aspect-ratio:1;
  right:8%;top:16%;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 26%,rgba(255,255,255,.92) 0 3%,rgba(255,255,255,.18) 4% 12%,transparent 13%),
    radial-gradient(circle at 38% 35%,rgba(99,231,255,.46),rgba(121,167,255,.16) 45%,rgba(200,255,114,.1) 72%,transparent 73%);
  border:1px solid rgba(190,236,247,.42);
  box-shadow:0 0 42px rgba(99,231,255,.14),inset -18px -24px 38px rgba(0,20,28,.34),inset 14px 14px 34px rgba(255,255,255,.13);
  opacity:.82;
  pointer-events:none;
}
.home-title-area::after{
  content:"★   ✦   ★";
  right:var(--pad);top:26px;
  color:#dff9ff;
  opacity:.8;
  letter-spacing:.65em;
  font-size:15px;
}
.home-title{position:relative;z-index:2;text-shadow:0 0 28px rgba(99,231,255,.06)}
.home-meta{z-index:3;color:#e8f7fb}.home-meta b{color:#86dff1}
.home-scratches i{background:linear-gradient(90deg,var(--aero-cyan),rgba(255,255,255,.12))}

/* glossy ticker */
.marquee{
  background:linear-gradient(180deg,#f6ffff 0,#d9f8ff 45%,#a8e0ef 46%,#e9fbff 100%);
  border-color:rgba(53,126,148,.45);
  box-shadow:0 1px 0 #fff inset,0 -1px 0 rgba(255,255,255,.6) inset;
}
.marquee span{color:#10212a;text-shadow:0 1px 0 rgba(255,255,255,.72)}

/* light sections lean further into Aero: sky glass + white space */
.home-intro,.section--paper,.contact-hero,.zero-copy,.page-shell{
  background:
    radial-gradient(circle at 84% 14%,rgba(99,231,255,.14),transparent 26rem),
    radial-gradient(circle at 12% 84%,rgba(200,255,114,.12),transparent 24rem),
    linear-gradient(180deg,#f9ffff,#edf6f5 58%,#f6f4ee);
}
.home-intro::before,.section--paper::before,.contact-hero::before,.zero-copy::before{
  content:"";
  position:absolute;
  width:150px;height:150px;
  border-radius:50%;
  right:5%;top:10%;
  border:1px solid rgba(70,164,191,.16);
  background:radial-gradient(circle at 32% 27%,rgba(255,255,255,.9),rgba(99,231,255,.08) 40%,rgba(121,167,255,.05) 65%,transparent 68%);
  box-shadow:inset 6px 8px 20px rgba(255,255,255,.56),0 12px 36px rgba(61,143,169,.07);
  pointer-events:none;
}
.home-intro{position:relative;isolation:isolate}
.home-intro h2,.home-intro p{position:relative;z-index:2}
.home-intro h2::after{
  content:"  ★";
  font-size:.2em;
  vertical-align:top;
  color:#3a8ca6;
}

/* card system = clean modern layout, shiny 2000s shell */
.teaser-grid{
  padding:12px;
  gap:12px;
  background:linear-gradient(135deg,#bceeff,#e9fbff 42%,#dfffc1 100%);
  border:0;
}
.teaser{
  border-radius:20px;
  border:1px solid rgba(29,101,125,.28);
  min-height:500px;
  box-shadow:0 1px 0 rgba(255,255,255,.88) inset,0 12px 32px rgba(27,95,118,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(221,240,243,.86));
}
.teaser--dark{
  background:
    radial-gradient(circle at 82% 12%,rgba(99,231,255,.18),transparent 30%),
    linear-gradient(180deg,#0d1820,#030608);
}
.teaser::before{
  content:"★";
  position:absolute;right:16px;top:15px;z-index:3;
  font:900 12px/1 Arial,sans-serif;
  color:currentColor;opacity:.7;
}
.teaser:has(img)::before{color:#fff}
.teaser h3{letter-spacing:-.06em}
.teaser__num{
  width:max-content;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid currentColor;
  background:rgba(255,255,255,.13);
  backdrop-filter:blur(8px);
}

/* generic page hero: black rockstar slab + liquid-Aero glints */
.page-hero--dark,.despair-hero{
  background:
    radial-gradient(circle at 84% 22%,rgba(99,231,255,.2),transparent 22rem),
    radial-gradient(circle at 72% 76%,rgba(217,197,255,.11),transparent 20rem),
    linear-gradient(180deg,#07131b,#020406 72%);
}
.page-hero--dark::before,.despair-hero::before{
  content:"";
  position:absolute;
  right:6%;bottom:10%;
  width:clamp(110px,15vw,220px);aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(157,225,242,.3);
  background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.88) 0 2%,rgba(99,231,255,.18) 10%,rgba(121,167,255,.08) 48%,transparent 70%);
  box-shadow:inset -16px -18px 30px rgba(0,0,0,.25),0 0 34px rgba(99,231,255,.1);
  opacity:.74;
  pointer-events:none;
}
.page-title,.despair-hero h1{position:relative;z-index:2}
.page-deck,.page-index,.page-kicker{z-index:3}
.page-index,.page-kicker{color:rgba(218,248,255,.72)}

/* UI controls */
.filter,.member-profile__button,.contact-card,.social-row{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
.filter{
  border-radius:999px;
  border-color:rgba(30,105,130,.34);
  background:linear-gradient(180deg,#fff,#e4f4f7);
  box-shadow:0 1px 0 #fff inset;
}
.filter.is-active,.filter:hover{
  background:linear-gradient(180deg,#17303c,#071219);
  border-color:#61dff7;
  box-shadow:0 0 0 2px rgba(99,231,255,.09),0 5px 14px rgba(13,74,94,.14);
}
.work-toolbar{
  background:rgba(240,250,250,.82);
  border-color:rgba(42,121,145,.22);
  backdrop-filter:blur(18px) saturate(1.25);
}
.contact-board{gap:12px;padding:12px;background:linear-gradient(135deg,#7ac7df,#dff9ff 52%,#cbf899)}
.contact-card{
  border-radius:18px;
  border:1px solid rgba(32,114,141,.22);
  box-shadow:0 1px 0 rgba(255,255,255,.86) inset,0 12px 30px rgba(47,120,143,.09);
}
.contact-card:not(.contact-card--social){background:linear-gradient(180deg,#fff,#e9f7f8)}
.contact-card:hover{transform:translateY(-3px)}
.social-list{padding:10px;background:linear-gradient(180deg,#e8fbff,#f6f8f3);border:0}
.social-row{
  margin-bottom:8px;
  min-height:128px;
  border:1px solid rgba(39,115,139,.2);
  border-radius:18px;
  background:rgba(255,255,255,.68);
  overflow:hidden;
  box-shadow:0 1px 0 #fff inset;
}
.social-row::before{background:linear-gradient(90deg,#07131b,#0a2632 70%,#16404a)}
.social-row:hover{transform:translateX(3px);box-shadow:0 10px 24px rgba(37,107,128,.12)}

/* Work empty state: visual only, no internal/backend explanation */
.work-empty.work-empty--visual{
  min-height:60vh;
  display:grid;
  place-items:center;
  grid-template-columns:1fr;
  padding:clamp(55px,8vw,110px) var(--pad);
  background:
    radial-gradient(circle at 50% 52%,rgba(99,231,255,.13),transparent 28rem),
    linear-gradient(180deg,#07131b,#020506);
  overflow:hidden;
}
.work-empty.work-empty--visual::before{
  content:"★     ✦     ★";
  position:absolute;
  left:50%;top:8%;
  transform:translateX(-50%);
  color:rgba(211,247,255,.56);
  font:900 clamp(14px,2vw,26px)/1 Arial,sans-serif;
  letter-spacing:.8em;
  white-space:nowrap;
}
.work-empty.work-empty--visual::after{
  content:"";
  position:absolute;
  width:min(68vw,760px);aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(157,226,243,.16);
  box-shadow:0 0 0 32px rgba(99,231,255,.018),0 0 0 68px rgba(99,231,255,.012);
  pointer-events:none;
}
.work-empty--visual .work-empty__portrait{
  grid-row:auto;
  width:min(430px,72vw);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(192,238,249,.46);
  box-shadow:
    0 1px 0 rgba(255,255,255,.52) inset,
    0 0 0 8px rgba(255,255,255,.025),
    0 0 60px rgba(99,231,255,.13);
  position:relative;z-index:3;
}
.work-empty--visual .work-empty__portrait img{filter:contrast(1.08);transform:scale(1.01)}
.work-empty__orbit{
  position:absolute;
  width:min(550px,86vw);aspect-ratio:1;
  border:1px solid rgba(189,234,245,.21);
  border-radius:50%;
  z-index:2;
  animation:aeroOrbit 18s linear infinite;
}
.work-empty__orbit span{position:absolute;color:#e5faff;text-shadow:0 0 16px rgba(99,231,255,.5)}
.work-empty__orbit span:nth-child(1){left:7%;top:25%;font-size:24px}
.work-empty__orbit span:nth-child(2){right:9%;top:14%;font-size:17px}
.work-empty__orbit span:nth-child(3){right:3%;bottom:26%;font-size:30px}
@keyframes aeroOrbit{to{transform:rotate(360deg)}}

/* footer = glossy dark 2000s chrome strip */
.site-footer{
  background:
    linear-gradient(180deg,rgba(99,231,255,.09),transparent 35%),
    #030709;
  color:#edfaff;
  border-top:1px solid rgba(111,221,244,.42);
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset;
}
.site-footer__right a{
  border-bottom:1px solid rgba(99,231,255,.35);
}

/* tiny glossy markers across the public site */
.page-shell::after,.home-intro::after,.teaser-grid::after,.contact-board::after,.social-list::after{
  content:"★  ✦  ★";
  position:absolute;
  right:clamp(18px,3vw,44px);
  bottom:clamp(18px,3vw,36px);
  font:900 8px/1 Arial,sans-serif;
  letter-spacing:.45em;
  color:rgba(34,103,125,.32);
  pointer-events:none;
}
.page-shell,.home-intro,.teaser-grid,.contact-board,.social-list{position:relative}

@media(max-width:900px){
  .site-header::after{display:none}
  .hero-gallery-wrap{margin:7px 7px 0;border-radius:14px}
  .hero-gallery{border-radius:0 0 12px 12px}
  .teaser-grid{padding:8px;gap:8px}
  .contact-board{padding:8px;gap:8px}
  .home-title-area::before{right:-8%;top:25%;opacity:.62}
}
@media(max-width:560px){
  .site-nav a{border-radius:10px}
  .gallery-status span:last-child{display:none}
  .hero-gallery-wrap::before{letter-spacing:.09em}
  .work-empty.work-empty--visual{min-height:52vh}
  .work-empty--visual .work-empty__portrait{width:min(300px,74vw)}
  .work-empty__orbit{width:min(370px,92vw)}
  .home-intro::before,.section--paper::before,.contact-hero::before,.zero-copy::before{width:90px;height:90px}
}

@media(prefers-reduced-motion:reduce){
  .work-empty__orbit{animation:none}
}

/* loading screen joins the same Aero/Y2K world without changing Julia's animation */
.gate{
  background:
    radial-gradient(circle at 17% 18%,rgba(99,231,255,.28),transparent 22rem),
    radial-gradient(circle at 82% 76%,rgba(200,255,114,.22),transparent 24rem),
    linear-gradient(180deg,#fbffff,#eaf7f8 62%,#f4f3ec);
  overflow:hidden;
}
.gate::before,.gate::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}
.gate::before{
  width:280px;height:280px;left:-70px;bottom:8%;
  border:1px solid rgba(59,151,180,.14);
  background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.92),rgba(99,231,255,.08) 38%,rgba(121,167,255,.04) 66%,transparent 68%);
  box-shadow:inset 12px 14px 30px rgba(255,255,255,.52),0 18px 45px rgba(34,112,138,.07);
}
.gate::after{
  width:150px;height:150px;right:9%;top:13%;
  border:1px solid rgba(70,156,185,.13);
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.94),rgba(200,255,114,.09) 38%,rgba(99,231,255,.05) 66%,transparent 69%);
}
.julia-morph__ring-track{stroke:rgba(36,126,153,.18)!important}
.julia-morph__ring-progress{stroke:#153440!important;filter:drop-shadow(0 0 4px rgba(99,231,255,.25))!important}
.julia-morph__window{
  border-color:rgba(42,135,164,.2)!important;
  box-shadow:
    0 0 0 5px rgba(255,255,255,.72),
    0 0 0 6px rgba(55,148,178,.12),
    0 16px 34px rgba(54,133,157,.1)!important;
}
.gate__stage,.gate__readout{
  color:#285264;
}
.gate__readout{
  padding:7px 10px;
  border:1px solid rgba(55,143,170,.18);
  border-radius:999px;
  background:rgba(255,255,255,.46);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.gate__message{text-shadow:0 1px 0 rgba(255,255,255,.72)}
.gate__footer{color:rgba(25,71,87,.65)}

/* =====================================================================
   v9 — FLAT FRUTIGER AERO / MODERN Y2K REBALANCE
   Mostly monochrome with only a whisper of cool tint. No decorative orbs.
   ===================================================================== */
:root{
  --aero-whisper:#edf4f6;
  --aero-whisper-2:#f6fafb;
  --aero-line:rgba(49,77,86,.17);
  --glass-white:rgba(255,255,255,.76);
  --glass-dark:rgba(8,8,8,.72);
}

/* Kill the colorful environmental wash / floating circles from v8. */
body:not(.site-editor-body){background:#f3f3ef}
body:not(.site-editor-body)::before{display:none!important}
body:not(.site-editor-body)::after{opacity:.018}
.noise{opacity:.036}

/* Keep every public-facing text treatment upright. */
body:not(.site-editor-body) em,
body:not(.site-editor-body) i:not(.home-scratches i):not(.page-wipe__starfield i){font-style:normal}

/* Flat liquid-glass header: white first, barely cool second. */
.site-header{
  background:rgba(255,255,255,.9)!important;
  border-bottom:1px solid rgba(0,0,0,.11)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.98) inset,0 8px 28px rgba(0,0,0,.035)!important;
  backdrop-filter:blur(18px) saturate(1.03)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.03)!important;
}
.site-header::after{color:rgba(8,8,8,.25)!important}
.site-nav a:hover,.site-nav a[aria-current="page"]{
  background:rgba(245,249,250,.86)!important;
  border-color:rgba(0,0,0,.16)!important;
  box-shadow:0 1px 0 #fff inset,0 4px 14px rgba(0,0,0,.045)!important;
  color:#080808!important;
}

/* Home media frame: flat Y2K hardware, no aqua/lime gradients. */
.home-hero{background:#050505!important}
.hero-gallery-wrap{
  background:rgba(244,248,249,.9)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 16px 48px rgba(0,0,0,.24)!important;
}
.hero-gallery-wrap::before,.hero-gallery-wrap::after{color:rgba(255,255,255,.66)!important}
.hero-gallery{background:#080808!important}
.gallery-tile{background:#0b0b0b!important;border-color:rgba(255,255,255,.04)!important}
.gallery-tile::after{background:linear-gradient(145deg,rgba(255,255,255,.055),transparent 36%)!important}
.gallery-tile:nth-child(3n)::after{background:linear-gradient(145deg,rgba(255,255,255,.04),transparent 42%)!important}
.gallery-tile:nth-child(5n) img{filter:grayscale(.08) contrast(1.1) brightness(.96)!important}
.gallery-status,.gallery-arrows button{
  background:rgba(10,10,10,.42)!important;
  border-color:rgba(255,255,255,.3)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.15) inset!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.gallery-progress{background:rgba(255,255,255,.12)!important}
.gallery-progress span{background:#fff!important}

.home-title-area{background:#050505!important}
.home-title-area::before{display:none!important}
.home-title-area::after{color:rgba(255,255,255,.72)!important}
.home-title{text-shadow:none!important}
.home-meta{color:#f5f5f1!important}.home-meta b{color:#b7b7b2!important}
.home-scratches i{background:rgba(255,255,255,.72)!important}

/* Ticker and light surfaces: white / smoke / tiny cool tint only. */
.marquee{
  background:rgba(255,255,255,.9)!important;
  border-color:rgba(0,0,0,.16)!important;
  box-shadow:0 1px 0 #fff inset,0 -1px 0 rgba(0,0,0,.04) inset!important;
  backdrop-filter:blur(12px)!important;
}
.marquee span{color:#111!important;text-shadow:none!important}

.home-intro,.section--paper,.contact-hero,.zero-copy,.page-shell{
  background:linear-gradient(180deg,#fbfbf8 0%,var(--aero-whisper-2) 100%)!important;
}
.home-intro::before,.section--paper::before,.contact-hero::before,.zero-copy::before,
.page-hero--dark::before,.despair-hero::before{display:none!important}
.home-intro h2::after{color:rgba(40,73,83,.42)!important}

/* Cards keep Y2K framing but stay flat and nearly colorless. */
.teaser-grid{
  background:#e9ecec!important;
  border-top:1px solid rgba(0,0,0,.08)!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}
.teaser{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(0,0,0,.14)!important;
  border-radius:16px!important;
  box-shadow:0 1px 0 #fff inset,0 10px 28px rgba(0,0,0,.06)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.teaser--dark{background:#090909!important;color:#fff!important}
.teaser__num{background:rgba(255,255,255,.12)!important}

/* Dark page heroes return to black; stars do the Y2K work, not colored blobs. */
.page-hero--dark,.despair-hero{background:#070707!important}
.page-index,.page-kicker{color:rgba(255,255,255,.68)!important}

/* Simple glass controls. */
.filter{
  background:rgba(255,255,255,.82)!important;
  border-color:rgba(0,0,0,.18)!important;
  box-shadow:0 1px 0 #fff inset!important;
}
.filter.is-active,.filter:hover{
  background:#0b0b0b!important;color:#fff!important;border-color:#0b0b0b!important;
  box-shadow:none!important;
}
.work-toolbar{
  background:rgba(255,255,255,.8)!important;
  border-color:rgba(0,0,0,.14)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
.contact-board{background:#e5e8e8!important}
.contact-card{
  border-color:rgba(0,0,0,.14)!important;
  box-shadow:0 1px 0 #fff inset,0 10px 26px rgba(0,0,0,.055)!important;
}
.contact-card:not(.contact-card--social){background:rgba(255,255,255,.84)!important}
.social-list{background:#eef0ef!important}
.social-row{
  background:rgba(255,255,255,.8)!important;
  border-color:rgba(0,0,0,.14)!important;
  box-shadow:0 1px 0 #fff inset!important;
}
.social-row::before{background:#0a0a0a!important}
.social-row:hover{box-shadow:0 10px 24px rgba(0,0,0,.08)!important}

/* Work placeholder: keep the portrait + stars, remove rings/orbits/glow. */
.work-empty.work-empty--visual{background:#070707!important}
.work-empty.work-empty--visual::before{color:rgba(255,255,255,.55)!important}
.work-empty.work-empty--visual::after{display:none!important}
.work-empty--visual .work-empty__portrait{
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 18px 46px rgba(0,0,0,.26)!important;
}
.work-empty__orbit{
  border:0!important;border-radius:0!important;animation:none!important;
  width:min(620px,90vw)!important;height:min(520px,72vw)!important;aspect-ratio:auto!important;
}
.work-empty__orbit span{color:#fff!important;text-shadow:none!important}
.work-empty__orbit span:nth-child(1){left:2%!important;top:12%!important}
.work-empty__orbit span:nth-child(2){right:4%!important;top:4%!important}
.work-empty__orbit span:nth-child(3){right:0!important;bottom:10%!important}

/* Footer back to visible white, as requested. */
.site-footer{
  background:#fff!important;
  color:#080808!important;
  border-top:1px solid rgba(0,0,0,.13)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.98) inset!important;
}
.site-footer__logo img{filter:none!important;opacity:1!important}
.site-footer__right a{border-bottom-color:rgba(0,0,0,.22)!important}

/* Keep star accents neutral. */
.page-shell::after,.home-intro::after,.teaser-grid::after,.contact-board::after,.social-list::after{
  color:rgba(0,0,0,.28)!important;
}
.section--dark::after,.page-hero--dark::after,.despair-hero::after{color:rgba(255,255,255,.42)!important}

/* Loading screen: flat off-white + clear liquid-glass center, no decorative bubbles. */
.gate{
  background:linear-gradient(180deg,#fbfbf8 0%,#f2f5f5 100%)!important;
}
.gate::before,.gate::after{display:none!important}
.julia-morph__ring-track{stroke:rgba(12,12,12,.12)!important}
.julia-morph__ring-progress{stroke:#111!important;filter:none!important}
.julia-morph__window{
  border-color:rgba(0,0,0,.15)!important;
  background:rgba(255,255,255,.62)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.98) inset,0 12px 32px rgba(0,0,0,.07)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.gate__stage,.gate__readout{color:#3f4b4e!important}
.gate__readout{
  border-color:rgba(0,0,0,.13)!important;
  background:rgba(255,255,255,.62)!important;
  box-shadow:0 1px 0 #fff inset!important;
}
.gate__message{text-shadow:none!important}
.gate__footer{color:rgba(0,0,0,.55)!important}

/* ---------------------------------------------------------------------
   TYPOGRAPHY MOTION — no generic fade-only entrances.
   JS assigns one of these to text elements as they enter the viewport.
   --------------------------------------------------------------------- */
.text-motion{will-change:transform,opacity,clip-path,letter-spacing}
.text-motion--slide-left{opacity:0;transform:translateX(-42px);clip-path:inset(0 100% 0 0)}
.text-motion--slide-left.is-visible{opacity:1;transform:translateX(0);clip-path:inset(0 0 0 0);transition:opacity .45s ease,transform .82s var(--ease),clip-path .9s var(--ease)}
.text-motion--slide-right{opacity:0;transform:translateX(42px);clip-path:inset(0 0 0 100%)}
.text-motion--slide-right.is-visible{opacity:1;transform:translateX(0);clip-path:inset(0 0 0 0);transition:opacity .45s ease,transform .82s var(--ease),clip-path .9s var(--ease)}
.text-motion--wipe{opacity:1;clip-path:inset(0 100% 0 0);transform:translateY(0)}
.text-motion--wipe.is-visible{clip-path:inset(0 0 0 0);transition:clip-path .92s var(--ease)}
.text-motion--tracking{opacity:0;letter-spacing:.08em;transform:translateY(16px)}
.text-motion--tracking.is-visible{opacity:1;letter-spacing:inherit;transform:translateY(0);transition:opacity .5s ease,letter-spacing .9s var(--ease),transform .8s var(--ease)}
.text-motion--rise{opacity:0;transform:translateY(34px);clip-path:inset(100% 0 0 0)}
.text-motion--rise.is-visible{opacity:1;transform:translateY(0);clip-path:inset(0);transition:opacity .45s ease,transform .84s var(--ease),clip-path .84s var(--ease)}

/* Split headings get a cleaner editorial cascade with alternating direction. */
[data-split] .word{
  transform:translateY(1em) translateX(-8px);
  opacity:0;
  clip-path:inset(100% 0 0 0);
  transition:transform .82s var(--ease),opacity .42s ease,clip-path .82s var(--ease);
  transition-delay:calc(var(--n,0)*42ms);
}
[data-split] .word:nth-child(even){transform:translateY(1em) translateX(8px)}
[data-split].is-visible .word{transform:none;opacity:1;clip-path:inset(0)}

/* Generic reveal stays for non-text blocks, but it becomes a soft lift rather than a fade-only cue. */
.reveal:not(.text-motion){opacity:0;transform:translateY(20px);clip-path:inset(8% 0 0 0)}
.reveal:not(.text-motion).is-visible{opacity:1;transform:none;clip-path:inset(0);transition:opacity .6s ease,transform .8s var(--ease),clip-path .8s var(--ease)}

@media(max-width:900px){
  .teaser-grid,.contact-board,.social-list{padding:8px!important;gap:8px!important}
}
@media(max-width:560px){
  .text-motion--slide-left,.text-motion--slide-right{transform:translateX(0);clip-path:inset(0 0 100% 0)}
  .text-motion--slide-left.is-visible,.text-motion--slide-right.is-visible{clip-path:inset(0)}
}
@media(prefers-reduced-motion:reduce){
  .text-motion,[data-split] .word{opacity:1!important;transform:none!important;clip-path:none!important;letter-spacing:inherit!important}
}

/* =====================================================================
   V10 — animation reliability + stronger restrained star language
   ===================================================================== */

/* Text animations: make the initial state reliable across browsers and
   let visibility be controlled by JS for .text-motion as well as .reveal. */
.text-motion,
[data-split]{visibility:visible}
.text-motion.is-visible{will-change:auto}

/* Social rows get a subtle row-level entrance while the title does its own
   typography motion. This keeps the page alive without hiding the links. */
.social-row{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .5s ease,transform .72s var(--ease),box-shadow .25s ease;
}
.social-row.is-visible{opacity:1;transform:none}
.social-row:nth-child(2){transition-delay:55ms}
.social-row:nth-child(3){transition-delay:110ms}
.social-row:nth-child(4){transition-delay:165ms}
.social-row:nth-child(5){transition-delay:220ms}

/* About manifesto lines: slightly different directions, still smooth. */
.about-manifesto__lines .reveal:nth-child(1){transform:translateX(-34px) translateY(8px);clip-path:inset(0 100% 0 0)}
.about-manifesto__lines .reveal:nth-child(2){transform:translateX(34px) translateY(8px);clip-path:inset(0 0 0 100%)}
.about-manifesto__lines .reveal:nth-child(3){transform:translateY(32px);clip-path:inset(100% 0 0 0)}
.about-manifesto__lines .reveal.is-visible{transform:none;clip-path:inset(0);opacity:1;transition:opacity .45s ease,transform .88s var(--ease),clip-path .9s var(--ease)}

/* More stars, but clustered intentionally instead of confetti everywhere. */
.page-hero,.section-head,.about-manifesto,.fact,.contact-card,.social-list,.teaser-grid{position:relative}
.page-hero .page-title::after{
  content:"★";
  display:inline-block;
  margin-left:.16em;
  font-size:.17em;
  vertical-align:top;
  transform:translateY(.15em) rotate(12deg);
  opacity:.52;
  letter-spacing:0;
}
.section-head::after{
  content:"☆  ★";
  position:absolute;
  right:0;
  top:-28px;
  font:900 11px/1 Arial,sans-serif;
  letter-spacing:.5em;
  opacity:.34;
  pointer-events:none;
}
.section--dark .section-head::after{color:#fff;opacity:.42}
.about-manifesto::after{
  content:"★\A☆";
  white-space:pre;
  position:absolute;
  right:1%;
  top:4%;
  font:900 clamp(18px,2vw,28px)/1.7 Arial,sans-serif;
  opacity:.12;
  transform:rotate(9deg);
  pointer-events:none;
}
.fact::after{
  content:"☆";
  position:absolute;
  right:12px;
  top:10px;
  font:400 13px/1 Arial,sans-serif;
  opacity:.24;
}
.fact:nth-child(even)::after{content:"★";font-size:9px;top:13px}
.contact-card::after{
  content:"☆";
  position:absolute;
  right:15px;
  top:13px;
  font:400 18px/1 Arial,sans-serif;
  opacity:.22;
  pointer-events:none;
}
.social-list::before{
  content:"★  ☆  ★";
  position:absolute;
  left:var(--pad);
  top:-25px;
  font:900 9px/1 Arial,sans-serif;
  letter-spacing:.55em;
  opacity:.32;
  pointer-events:none;
}
.teaser-grid::before{
  content:"★ / ☆ / ★";
  position:absolute;
  right:18px;
  top:-22px;
  z-index:4;
  color:#111;
  font:900 8px/1 Arial,sans-serif;
  letter-spacing:.18em;
  opacity:.5;
  pointer-events:none;
}

/* Bottom navigation cards: restore the larger readable round option labels. */
.teaser__num{
  font-size:clamp(12px,1.05vw,15px)!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  padding:10px 15px!important;
  border-radius:999px!important;
  border-width:1.5px!important;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.teaser:has(img) .teaser__num{background:rgba(0,0,0,.16)!important;border-color:rgba(255,255,255,.78)!important}
.teaser--dark .teaser__num{background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.7)!important}

@media(max-width:760px){
  .teaser__num{font-size:12px!important;padding:9px 13px!important;min-height:35px}
  .section-head::after{top:-20px}
  .page-hero .page-title::after{font-size:.15em;margin-left:.11em}
}

@media(prefers-reduced-motion:reduce){
  .social-row,.about-manifesto__lines .reveal{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
}

/* =====================================================================
   V11 — split splash loader + smoother cards + expanded star motion
   Star page-transition code above is intentionally untouched.
   ===================================================================== */

/* ---------- Initial loading / security splash ---------- */
.gate.gate--split{
  inset:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.03fr) minmax(390px,.97fr)!important;
  grid-template-rows:1fr!important;
  background:#ededeb!important;
  color:#fff!important;
  overflow:hidden!important;
  opacity:1;
  transform:none!important;
  transition:opacity .56s ease!important;
}
.gate.gate--split::before,.gate.gate--split::after{display:none!important}
.gate.gate--split .gate__left{
  min-width:0;
  position:relative;
  display:grid;
  grid-template-rows:auto 1fr auto;
  padding:clamp(22px,3vw,42px);
  background:#050505;
  color:#fff;
  overflow:hidden;
  transition:transform .58s var(--ease),opacity .46s ease;
}
.gate.gate--split .gate__left::after{
  content:"☆";
  position:absolute;
  right:clamp(22px,3vw,42px);
  bottom:clamp(58px,8vh,94px);
  font:400 clamp(22px,2.4vw,36px)/1 Arial,sans-serif;
  color:rgba(255,255,255,.26);
  animation:gateStarFloat 5.4s ease-in-out infinite;
}
.gate.gate--split .gate__brand{width:clamp(118px,10vw,164px)!important;position:relative;z-index:2}
.gate.gate--split .gate__brand img{width:100%;height:auto;filter:invert(1) brightness(1.35) contrast(1.2);mix-blend-mode:screen}
.gate.gate--split .gate__copyblock{
  align-self:center;
  width:min(680px,88%);
  margin-top:-2vh;
}
.gate.gate--split .gate__stage{
  margin:0 0 20px!important;
  color:rgba(255,255,255,.62)!important;
  font:700 10px/1 Helvetica,Arial,sans-serif!important;
  letter-spacing:.15em!important;
  text-align:left;
}
.gate.gate--split .gate__stage i{font-style:normal;margin-left:8px;color:rgba(255,255,255,.36)}
.gate.gate--split .gate__copy{min-height:116px;text-align:left}
.gate.gate--split .gate__message{
  max-width:720px;
  margin:0!important;
  color:#fff!important;
  font:700 clamp(38px,5.2vw,82px)/.92 Helvetica,Arial,sans-serif!important;
  letter-spacing:-.06em!important;
  text-wrap:balance;
}
.gate.gate--split .gate__detail{
  max-width:540px;
  margin:16px 0 0!important;
  color:rgba(255,255,255,.55)!important;
  font:600 clamp(10px,.85vw,13px)/1.48 Helvetica,Arial,sans-serif!important;
  letter-spacing:.015em!important;
}
.gate.gate--split .gate__copy.is-changing .gate__message{animation:gateTextSlide .52s var(--ease) both}
.gate.gate--split .gate__copy.is-changing .gate__detail{animation:gateTextSlide .58s .045s var(--ease) both}
@keyframes gateTextSlide{
  0%{opacity:0;transform:translateY(22px);clip-path:inset(100% 0 0 0)}
  100%{opacity:1;transform:none;clip-path:inset(0)}
}
.gate.gate--split .gate__meter{
  width:min(560px,100%)!important;
  height:3px!important;
  margin:28px 0 0!important;
  background:rgba(255,255,255,.16)!important;
  overflow:hidden!important;
  border-radius:0!important;
}
.gate.gate--split .gate__meter-fill{
  display:block!important;
  width:100%!important;
  height:100%!important;
  background:#fff!important;
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}
.gate.gate--split .gate__readout{
  width:min(560px,100%)!important;
  margin:9px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:rgba(255,255,255,.5)!important;
  display:flex!important;
  justify-content:space-between!important;
  font:700 9px/1 Helvetica,Arial,sans-serif!important;
  letter-spacing:.13em!important;
}
.gate.gate--split .gate__readout::before{display:none!important}
.gate.gate--split .gate__retry{
  margin-top:24px!important;
  width:max-content;
  border:1px solid rgba(255,255,255,.6)!important;
  color:#fff!important;
  background:transparent!important;
  transition:background .22s ease,color .22s ease,transform .22s var(--ease)!important;
}
.gate.gate--split .gate__retry:hover{background:#fff!important;color:#000!important;transform:translateY(-1px)}
.gate.gate--split .gate__footer{
  color:rgba(255,255,255,.42)!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:20px!important;
  font:700 8px/1.3 Helvetica,Arial,sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  position:relative;z-index:2;
}
.gate.gate--split .gate__visual{
  min-width:0;
  position:relative;
  background:linear-gradient(180deg,#f8f8f6 0%,#e8e8e5 100%);
  overflow:hidden;
  border-left:1px solid rgba(0,0,0,.1);
  transition:transform .58s var(--ease),opacity .46s ease;
}
.gate.gate--split .gate__visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.34),transparent 34%),linear-gradient(180deg,transparent 75%,rgba(0,0,0,.035));
  pointer-events:none;
}
.gate.gate--split .gate__visual-stars span{
  position:absolute;
  z-index:3;
  color:rgba(0,0,0,.34);
  font-family:Arial,sans-serif;
  line-height:1;
  animation:gateStarFloat 5.8s ease-in-out infinite;
}
.gate.gate--split .gate__visual-stars span:nth-child(1){right:7%;top:8%;font-size:34px;animation-delay:-1.4s}
.gate.gate--split .gate__visual-stars span:nth-child(2){left:8%;bottom:11%;font-size:12px;animation-delay:-3.1s}
.gate.gate--split .gate__visual-stars span:nth-child(3){right:16%;bottom:18%;font-size:18px;animation-delay:-4.4s}
@keyframes gateStarFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(8deg)}}
.gate.gate--split .julia-morph--splash{
  position:absolute!important;
  z-index:2;
  right:clamp(-40px,1vw,22px);
  bottom:clamp(-50px,-2vw,-10px);
  width:min(92%,720px)!important;
  height:min(92%,720px)!important;
  margin:0!important;
  display:block!important;
}
.gate.gate--split .julia-morph__window{
  position:absolute!important;
  inset:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.gate.gate--split .julia-morph__art{
  left:0!important;top:0!important;width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center bottom!important;
  clip-path:none!important;
  filter:none!important;
}
.gate.gate--split .julia-morph__shine{display:none!important}
.gate.gate--split .julia-morph__mark{
  z-index:12!important;
  width:clamp(100px,13vw,180px)!important;
  height:clamp(100px,13vw,180px)!important;
  left:50%;top:50%;transform:translate(-50%,-50%);
  stroke:#090909!important;
  stroke-width:8!important;
}
.gate.gate--split .julia-morph.is-revealing .julia-morph__hair-left,
.gate.gate--split .julia-morph.is-resetting .julia-morph__hair-left{animation:juliaSplashHairLeft 1.02s cubic-bezier(.2,.72,.18,1) both!important}
.gate.gate--split .julia-morph.is-revealing .julia-morph__hair-right,
.gate.gate--split .julia-morph.is-resetting .julia-morph__hair-right{animation:juliaSplashHairRight 1.02s cubic-bezier(.2,.72,.18,1) both!important}
.gate.gate--split .julia-morph.is-revealing .julia-morph__face-art,
.gate.gate--split .julia-morph.is-resetting .julia-morph__face-art{animation:juliaSplashFace .68s .16s cubic-bezier(.2,.72,.18,1) both!important}
.gate.gate--split .julia-morph.is-revealing .julia-morph__final-art,
.gate.gate--split .julia-morph.is-resetting .julia-morph__final-art{animation:juliaSplashFinal .26s .78s ease-out both!important}
@keyframes juliaSplashHairLeft{
  0%{opacity:0;transform:translate(18px,12px) rotate(2.4deg)}
  16%{opacity:1}
  50%{opacity:1;transform:translate(-9px,2px) rotate(-2deg)}
  76%{transform:translate(2px,0) rotate(.55deg)}
  92%{opacity:1;transform:none}
  100%{opacity:0;transform:none}
}
@keyframes juliaSplashHairRight{
  0%{opacity:0;transform:translate(-18px,12px) rotate(-2.4deg)}
  16%{opacity:1}
  50%{opacity:1;transform:translate(9px,2px) rotate(2deg)}
  76%{transform:translate(-2px,0) rotate(-.55deg)}
  92%{opacity:1;transform:none}
  100%{opacity:0;transform:none}
}
@keyframes juliaSplashFace{
  0%{opacity:0;transform:translateY(10px);clip-path:inset(0 0 88% 0)}
  48%{opacity:.84;clip-path:inset(0 0 28% 0)}
  86%{opacity:1;transform:none;clip-path:inset(0)}
  100%{opacity:0;transform:none;clip-path:inset(0)}
}
@keyframes juliaSplashFinal{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.gate.gate--split .julia-morph.is-success .julia-morph__window{animation:juliaSplashResolve .28s ease forwards!important}
.gate.gate--split .julia-morph.is-failed .julia-morph__window{animation:juliaSplashFail .38s ease forwards!important}
@keyframes juliaSplashResolve{to{opacity:0;transform:translateY(4px)}}
@keyframes juliaSplashFail{0%,100%{transform:translateX(0)}30%{transform:translateX(-4px)}60%{transform:translateX(4px)}100%{opacity:0}}
.gate.gate--split .gate__visual-caption{
  position:absolute;left:22px;right:22px;bottom:18px;z-index:5;
  display:flex;justify-content:space-between;gap:14px;
  color:rgba(0,0,0,.46);font:700 8px/1 Arial,sans-serif;letter-spacing:.12em;
}
.gate.gate--split.is-exiting{opacity:0!important;transform:none!important}
.gate.gate--split.is-exiting .gate__left{transform:translateX(-24px);opacity:.7}
.gate.gate--split.is-exiting .gate__visual{transform:translateX(24px);opacity:.7}
.gate.gate--split.is-failed{opacity:1!important}

/* ---------- Smoother bottom navigation cards ---------- */
body:not(.site-editor-body) .teaser-grid{
  padding:14px!important;
  gap:14px!important;
  background:#eef0ef!important;
  border-top:1px solid rgba(0,0,0,.08)!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}
body:not(.site-editor-body) .teaser{
  border-radius:18px!important;
  overflow:hidden!important;
  transition:transform .28s var(--ease),box-shadow .28s ease,border-color .28s ease!important;
  will-change:transform;
}
body:not(.site-editor-body) .teaser:hover{
  transform:translateY(-2px)!important;
  border-radius:18px!important;
  box-shadow:0 1px 0 #fff inset,0 16px 34px rgba(0,0,0,.09)!important;
}
body:not(.site-editor-body) .teaser:active{transform:translateY(-1px) scale(.996)!important;border-radius:18px!important}
body:not(.site-editor-body) .teaser__num{
  width:max-content!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  font-size:clamp(12px,1vw,15px)!important;
  font-weight:800!important;
  letter-spacing:.085em!important;
  text-shadow:none!important;
}
body:not(.site-editor-body) .teaser:has(img) .teaser__num,
body:not(.site-editor-body) .teaser--dark .teaser__num{background:transparent!important;border:0!important}
body:not(.site-editor-body) .teaser:has(img) .teaser__num{text-shadow:0 1px 8px rgba(0,0,0,.35)!important}
body:not(.site-editor-body) .teaser .teaser__arrow{
  position:absolute!important;
  left:30px!important;
  right:auto!important;
  bottom:28px!important;
  width:auto;height:auto;
  font-size:34px!important;
  line-height:1!important;
  z-index:4!important;
  transition:transform .28s var(--ease),opacity .2s ease!important;
}
body:not(.site-editor-body) .teaser:hover .teaser__arrow{transform:translate(4px,-4px)!important}
body:not(.site-editor-body) .teaser::before{
  content:"☆"!important;
  right:22px!important;top:20px!important;
  font-size:21px!important;
  opacity:.48!important;
  animation:starBreath 5.6s ease-in-out infinite;
}
body:not(.site-editor-body) .teaser:nth-child(2)::before{animation-delay:-2.2s}
body:not(.site-editor-body) .teaser:nth-child(3)::before{animation-delay:-3.7s}
@keyframes starBreath{0%,100%{transform:rotate(0) scale(1);opacity:.34}50%{transform:rotate(10deg) scale(1.08);opacity:.7}}

/* ---------- Correct inverted hover logic on contact cards ---------- */
body:not(.site-editor-body) .contact-card{
  transition:background .24s ease,color .24s ease,transform .28s var(--ease),box-shadow .28s ease!important;
}
body:not(.site-editor-body) .contact-card:not(.contact-card--social):hover{
  background:#090909!important;color:#fff!important;transform:translateY(-2px)
}
body:not(.site-editor-body) .contact-card:not(.contact-card--social):hover .contact-note{color:rgba(255,255,255,.66)!important}
body:not(.site-editor-body) .contact-card--social{background:#090909!important;color:#fff!important}
body:not(.site-editor-body) .contact-card--social:hover{
  background:#fff!important;color:#080808!important;transform:translateY(-2px)
}
body:not(.site-editor-body) .contact-card--social:hover .contact-note{color:rgba(0,0,0,.58)!important}
body:not(.site-editor-body) .contact-card::before{
  content:"";position:absolute;left:22px;right:22px;bottom:17px;height:1px;
  background:currentColor;opacity:.22;transform:scaleX(.15);transform-origin:left;
  transition:transform .45s var(--ease),opacity .25s ease;
}
body:not(.site-editor-body) .contact-card:hover::before{transform:scaleX(1);opacity:.5}
body:not(.site-editor-body) .contact-card:hover::after{transform:rotate(144deg) scale(1.08)}

/* ---------- More star motion + movement on existing elements ---------- */
body:not(.site-editor-body) .home-title-area::after{
  content:"☆";position:absolute;right:6%;bottom:20%;z-index:2;
  color:rgba(255,255,255,.46);font:400 clamp(30px,4vw,64px)/1 Arial,sans-serif;
  animation:starDrift 7s ease-in-out infinite;
}
body:not(.site-editor-body) .home-title-area::before{
  content:"★";position:absolute;right:16%;top:18%;z-index:2;
  color:rgba(255,255,255,.18);font:900 clamp(9px,1.2vw,16px)/1 Arial,sans-serif;
  animation:starDrift 5.4s -2.3s ease-in-out infinite reverse;
}
@keyframes starDrift{0%,100%{transform:translate(0,0) rotate(-5deg)}50%{transform:translate(5px,-9px) rotate(8deg)}}
body:not(.site-editor-body):not(.is-loading) .home-scratches i{transform-origin:left;animation:lineDraw .7s var(--ease) both}
body:not(.site-editor-body):not(.is-loading) .home-scratches i:nth-child(2){animation-delay:.09s}
body:not(.site-editor-body):not(.is-loading) .home-scratches i:nth-child(3){animation-delay:.18s}
@keyframes lineDraw{from{transform:scaleX(0);opacity:.1}to{transform:scaleX(1);opacity:1}}
body:not(.site-editor-body) .section-head::after{animation:tinyStarWander 6.2s ease-in-out infinite}
@keyframes tinyStarWander{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-8px,5px) rotate(9deg)}}
body:not(.site-editor-body) .fact-grid.is-visible .fact{animation:factLift .58s var(--ease) both}
body:not(.site-editor-body) .fact-grid.is-visible .fact:nth-child(2){animation-delay:.06s}
body:not(.site-editor-body) .fact-grid.is-visible .fact:nth-child(3){animation-delay:.12s}
body:not(.site-editor-body) .fact-grid.is-visible .fact:nth-child(4){animation-delay:.18s}
@keyframes factLift{from{transform:translateY(12px);filter:brightness(.95)}to{transform:none;filter:none}}
body:not(.site-editor-body) .fact::after{transition:transform .32s var(--ease),opacity .25s ease}
body:not(.site-editor-body) .fact:hover::after{transform:rotate(120deg) scale(1.15);opacity:.55}
body:not(.site-editor-body) .social-row::after{
  content:"☆";position:absolute;right:18px;top:50%;transform:translateY(-50%);
  font:400 13px/1 Arial,sans-serif;opacity:.18;transition:transform .32s var(--ease),opacity .22s ease;
}
body:not(.site-editor-body) .social-row:hover::after{transform:translateY(-50%) rotate(110deg) scale(1.15);opacity:.56}
body:not(.site-editor-body) .contact-loop::before,
body:not(.site-editor-body) .contact-loop::after{
  position:absolute;top:50%;z-index:3;transform:translateY(-50%);color:#fff;background:#0a0a0a;padding:0 12px;font:400 13px/1 Arial,sans-serif
}
body:not(.site-editor-body) .contact-loop{position:relative}
body:not(.site-editor-body) .contact-loop::before{content:"☆";left:0}
body:not(.site-editor-body) .contact-loop::after{content:"★";right:0;font-size:8px}
body:not(.site-editor-body) .site-footer{position:relative;overflow:hidden}
body:not(.site-editor-body) .site-footer::before{
  content:"☆  ★";position:absolute;left:50%;top:10px;transform:translateX(-50%);
  font:700 9px/1 Arial,sans-serif;letter-spacing:.5em;opacity:.18;pointer-events:none
}

/* ---------- Make the no-code editor read more like a visual builder ---------- */
.site-editor-body .editor-layout{grid-template-columns:220px minmax(0,1fr) 360px}
.site-editor-body .editor-pages{padding:14px}
.site-editor-body .editor-panel-title{margin-top:16px}
.site-editor-body .editor-builder-note{
  margin:8px 2px 14px;padding:10px 11px;border:1px solid #303030;background:#111;color:#888;
  font-size:9px;line-height:1.45
}
.site-editor-body .editor-builder-note b{color:#fff}
.site-editor-body .editor-canvas{grid-template-rows:42px 1fr}
.site-editor-body .editor-canvas__bar{padding:0 12px;gap:12px}
.site-editor-body .editor-canvas__tools{display:flex;gap:5px;align-items:center;margin-left:auto}
.site-editor-body .editor-canvas__tools button{
  border:1px solid #3d3d3d;background:#151515;color:#eee;padding:7px 9px;font:800 8px/1 Arial,sans-serif;cursor:pointer
}
.site-editor-body .editor-canvas__tools button:hover{background:#fff;color:#000}
.site-editor-body .editor-upload{transition:border-color .2s,background .2s,color .2s}
.site-editor-body .editor-upload.is-dragover{border-color:#fff;background:#222;color:#fff!important}
.site-editor-body .editor-frame-wrap{padding:12px;background:#171717}
.site-editor-body .editor-frame-wrap iframe{border-radius:6px}
.site-editor-body .editor-block-item{border-radius:5px;transition:background .18s,border-color .18s,transform .18s}
.site-editor-body .editor-block-item:hover{background:#1a1a1a;border-color:#505050}
.site-editor-body .editor-block-item.is-dragging{transform:scale(.985);opacity:.45}
.site-editor-body .editor-add-grid{grid-template-columns:repeat(3,1fr)}
.site-editor-body .editor-add-grid button{text-align:center;padding:11px 5px}
.site-editor-body .editor-empty-selection span{animation:starBreath 5s ease-in-out infinite}

@media(max-width:920px){
  .gate.gate--split{grid-template-columns:1fr!important;grid-template-rows:minmax(52vh,1fr) minmax(300px,44vh)!important}
  .gate.gate--split .gate__left{padding:20px 22px}
  .gate.gate--split .gate__copyblock{width:100%;margin-top:0}
  .gate.gate--split .gate__message{font-size:clamp(32px,8vw,58px)!important}
  .gate.gate--split .gate__visual{border-left:0;border-top:1px solid rgba(0,0,0,.1)}
  .gate.gate--split .julia-morph--splash{right:50%;transform:translateX(50%);bottom:-24%;width:min(76vw,430px)!important;height:min(76vw,430px)!important}
  .gate.gate--split .gate__visual-caption{bottom:10px}
  .gate.gate--split .gate__footer span:first-child{display:none}
  .site-editor-body .editor-layout{grid-template-columns:170px minmax(0,1fr) 300px}
}
@media(max-width:760px){
  body:not(.site-editor-body) .teaser .teaser__arrow{left:24px!important;bottom:24px!important;font-size:31px!important}
  body:not(.site-editor-body) .teaser__num{font-size:12px!important}
  .gate.gate--split .gate__footer{font-size:7px!important}
  .site-editor-body .editor-canvas__tools{display:none}
}
@media(prefers-reduced-motion:reduce){
  .gate.gate--split .gate__visual-stars span,
  body:not(.site-editor-body) .teaser::before,
  body:not(.site-editor-body) .home-title-area::after,
  body:not(.site-editor-body) .home-title-area::before,
  body:not(.site-editor-body) .section-head::after{animation:none!important}
}
.site-editor-body .editor-viewport-tools{display:flex;gap:3px;padding-right:5px;margin-right:3px;border-right:1px solid #333}
.site-editor-body .editor-viewport-tools button.is-active{background:#fff;color:#000;border-color:#fff}
.site-editor-body .editor-frame-wrap{display:flex;justify-content:center;align-items:stretch;overflow:auto}
.site-editor-body .editor-frame-wrap iframe{transition:width .32s var(--ease),max-width .32s var(--ease);flex:0 0 auto}
.site-editor-body .editor-frame-wrap.is-desktop iframe{width:100%;max-width:none}
.site-editor-body .editor-frame-wrap.is-tablet iframe{width:820px;max-width:100%}
.site-editor-body .editor-frame-wrap.is-mobile iframe{width:390px;max-width:100%}

/* v13 — keep teaser arrows above the title instead of overlapping it */
body:not(.site-editor-body) .teaser{
  justify-content:flex-start!important;
}
body:not(.site-editor-body) .teaser__num{
  order:1;
}
body:not(.site-editor-body) .teaser .teaser__arrow{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  order:2;
  align-self:flex-start;
  margin-top:auto!important;
  margin-bottom:18px!important;
  width:auto!important;
  height:auto!important;
  font-size:34px!important;
  line-height:1!important;
  z-index:4!important;
}
body:not(.site-editor-body) .teaser > div{
  order:3;
  width:100%;
}
body:not(.site-editor-body) .teaser:hover .teaser__arrow{
  transform:translate(4px,-4px)!important;
}
@media(max-width:760px){
  body:not(.site-editor-body) .teaser .teaser__arrow{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    margin-bottom:14px!important;
    font-size:31px!important;
  }
}

/* v14 — Windows XP / Frutiger Aero media-window treatment for the homepage slideshow */
body:not(.site-editor-body) .hero-gallery-wrap.xp-window{
  margin:14px 14px 0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #1647a2!important;
  border-radius:12px 12px 8px 8px!important;
  background:#ece9d8!important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.92) inset,
    0 0 0 2px rgba(59,124,220,.18),
    0 14px 34px rgba(0,0,0,.22)!important;
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window::before,
body:not(.site-editor-body) .hero-gallery-wrap.xp-window::after{display:none!important}

body:not(.site-editor-body) .xp-titlebar{
  position:relative;
  z-index:12;
  height:31px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 5px 0 7px;
  color:#fff;
  background:
    linear-gradient(180deg,#6ca7ff 0%,#2e7ce6 7%,#0a59cf 48%,#0647b2 51%,#1765d5 91%,#4a90ef 100%);
  border-bottom:1px solid #003b96;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.74),
    inset 0 -1px 0 rgba(0,31,112,.55);
  text-shadow:1px 1px 1px rgba(0,37,108,.78);
  font-family:Tahoma,Arial,sans-serif;
}
body:not(.site-editor-body) .xp-titlebar::after{
  content:"";
  position:absolute;left:4px;right:4px;top:2px;height:9px;
  border-radius:8px 8px 45% 45%;
  background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,.03));
  pointer-events:none;
}
body:not(.site-editor-body) .xp-titlebar__title{
  display:flex;align-items:center;gap:6px;position:relative;z-index:2;
  font-size:12px;font-weight:700;letter-spacing:0;white-space:nowrap
}
body:not(.site-editor-body) .xp-app-icon{
  width:17px;height:17px;display:grid;place-items:center;
  border-radius:4px;
  background:linear-gradient(180deg,#baff73,#43a61f);
  border:1px solid rgba(0,78,0,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 1px 1px rgba(0,0,0,.2);
  color:#fff;font:700 12px/1 Arial,sans-serif;text-shadow:0 1px rgba(0,75,0,.6)
}
body:not(.site-editor-body) .xp-window-controls{display:flex;gap:2px;position:relative;z-index:2}
body:not(.site-editor-body) .xp-window-btn{
  width:23px;height:21px;display:grid;place-items:center;
  border-radius:4px;
  border:1px solid rgba(255,255,255,.86);
  background:linear-gradient(180deg,#5ca0f5,#1e69d8 52%,#0c4eb8 53%,#3b83e5);
  box-shadow:inset 0 0 0 1px rgba(0,50,145,.5),inset 0 1px 0 rgba(255,255,255,.42);
  color:#fff;font:700 13px/1 Tahoma,Arial,sans-serif;
  text-shadow:0 1px 1px #003681
}
body:not(.site-editor-body) .xp-window-btn--min{font-size:12px;align-items:end;padding-bottom:3px}
body:not(.site-editor-body) .xp-window-btn--max{font-size:12px}
body:not(.site-editor-body) .xp-window-btn--close{
  background:linear-gradient(180deg,#ff9a80,#e94e32 48%,#c92815 52%,#e65e44);
  box-shadow:inset 0 0 0 1px rgba(128,23,8,.58),inset 0 1px 0 rgba(255,255,255,.55);
  font-size:17px
}

body:not(.site-editor-body) .xp-menubar{
  height:25px;display:flex;align-items:center;gap:20px;padding:0 9px;
  background:linear-gradient(180deg,#fffdf4,#ece9d8);
  border-bottom:1px solid #aca899;
  color:#1b1b1b;
  font:400 11px/1 Tahoma,Arial,sans-serif;
  box-shadow:inset 0 1px 0 #fff;
  position:relative;z-index:11
}
body:not(.site-editor-body) .xp-menubar span::first-letter{text-decoration:underline;text-underline-offset:2px}
body:not(.site-editor-body) .xp-menubar b{
  margin-left:auto;color:#2b66c7;font:400 15px/1 Arial,sans-serif;transform:translateY(-1px)
}

body:not(.site-editor-body) .hero-gallery-wrap.xp-window .hero-gallery{
  height:min(54vw,590px)!important;
  min-height:420px!important;
  border-radius:0!important;
  border:3px solid #fff!important;
  border-top-width:2px!important;
  box-shadow:inset 0 0 0 1px #7f9db9!important;
  background:#fff!important;
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-tile{
  border-color:#222!important;
  background:#fff!important
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-tile::after{
  background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 34%,rgba(10,74,160,.025))!important
}

/* XP-style status strip: controls belong to the window, not floating over the image. */
body:not(.site-editor-body) .hero-gallery-wrap.xp-window{padding-bottom:34px!important}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-controls{
  left:7px!important;right:7px!important;bottom:5px!important;height:24px!important;
  color:#1a1a1a!important;mix-blend-mode:normal!important;z-index:15!important;
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-status{
  height:22px;display:flex;align-items:center;gap:8px!important;padding:0 9px!important;
  border:1px solid #aca899!important;border-radius:2px!important;
  background:#f6f4e9!important;color:#1a1a1a!important;
  box-shadow:inset 1px 1px 0 #fff!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  font:700 9px/1 Tahoma,Arial,sans-serif!important;letter-spacing:.05em!important
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-arrows{gap:3px!important}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-arrows button{
  width:29px!important;height:22px!important;padding:0!important;
  border:1px solid #7f9db9!important;border-radius:3px!important;
  background:linear-gradient(180deg,#fff,#e8f0fb 48%,#d4e3f7 52%,#f7fbff)!important;
  color:#174ea6!important;
  box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 rgba(82,116,159,.2)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  font:700 13px/1 Tahoma,Arial,sans-serif!important
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-arrows button:hover{
  border-color:#2b67bb!important;background:linear-gradient(180deg,#fff,#dbeaff 50%,#bfd7f6 51%,#f5faff)!important;color:#0b3b86!important
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-arrows button:active{
  background:linear-gradient(180deg,#c8dbf4,#edf5ff)!important;transform:translateY(1px)
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-progress{
  left:84px!important;right:80px!important;bottom:13px!important;height:6px!important;
  border:1px solid #8aa3c1!important;border-radius:1px!important;
  background:#fff!important;overflow:hidden!important;z-index:14!important;
  box-shadow:inset 1px 1px 1px rgba(0,0,0,.14)!important
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-progress span{
  background:repeating-linear-gradient(90deg,#2d78da 0 8px,#5ca3f3 8px 10px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55)!important
}

@media(max-width:760px){
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window{margin:8px 8px 0!important;border-radius:9px 9px 6px 6px!important}
  body:not(.site-editor-body) .xp-titlebar{height:29px;padding-left:5px}
  body:not(.site-editor-body) .xp-titlebar__title{font-size:11px}
  body:not(.site-editor-body) .xp-window-btn{width:21px;height:19px}
  body:not(.site-editor-body) .xp-menubar{height:23px;gap:14px;padding-left:7px;font-size:10px}
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .hero-gallery{min-height:360px!important;height:68vw!important}
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-progress{left:75px!important;right:72px!important}
}


/* v15 — Zero member work galleries */
.member-card__avatar{display:block;color:inherit}
.member-card__actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.member-card__open,.member-card__work{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #111;padding:9px 10px;font-size:9px;font-weight:900;letter-spacing:.08em;text-align:center;transition:background .22s ease,color .22s ease,transform .22s ease}
.member-card__open::before,.member-card__work::before{content:"☆";font-size:10px;margin-right:5px}
.member-card__open:hover,.member-card__work:hover{background:#111;color:#fff;transform:translateY(-2px)}
.member-card__work{background:#111;color:#fff}
.member-card__work:hover{background:#fff;color:#111}

.member-work-page{background:#080808}
.member-work-hero{min-height:78vh;display:grid;grid-template-columns:minmax(300px,.85fr) 1.15fr;position:relative;border-bottom:1px solid #222;background:#080808;color:#fff;overflow:hidden}
.member-work-hero__back{position:absolute;z-index:5;top:22px;left:var(--pad);font-size:9px;font-weight:900;letter-spacing:.12em;color:#fff}
.member-work-hero__portrait{min-height:78vh;overflow:hidden;background:#e8e8e3;border-right:1px solid #222;position:relative}
.member-work-hero__portrait::after{content:"☆";position:absolute;right:24px;top:24px;font-size:48px;color:#fff;mix-blend-mode:difference;animation:memberWorkStar 8s linear infinite}
.member-work-hero__portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:transform 1.1s var(--ease)}
.member-work-hero:hover .member-work-hero__portrait img{transform:scale(1.018)}
.member-work-hero__copy{padding:clamp(100px,10vw,160px) var(--pad) 54px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;position:relative}
.member-work-hero__copy::before{content:"★";position:absolute;right:8%;top:15%;font-size:clamp(32px,5vw,76px);color:#fff;opacity:.9;animation:memberWorkStar 11s linear infinite reverse}
.member-work-hero__eyebrow{font-size:9px!important;font-weight:900;letter-spacing:.16em;color:#aaa;margin:0 0 22px!important}
.member-work-hero__copy h1{font-size:clamp(62px,9vw,150px);line-height:.78;letter-spacing:-.07em;margin:0;text-transform:uppercase;max-width:9ch}
.member-work-hero__copy h1 span{color:#8f8f8b}
.member-work-hero__copy>p:not(.member-work-hero__eyebrow){margin:24px 0 16px;font-size:12px;font-weight:900;letter-spacing:.08em;color:#b7b7b2}
.member-work-hero__copy>a{border:1px solid #fff;border-radius:999px;padding:10px 14px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#fff;transition:.22s ease}
.member-work-hero__copy>a:hover{background:#fff;color:#000}
.member-work-toolbar{background:#f4f4ef;color:#111}
.member-work-empty{min-height:58vh;background:#f4f4ef;display:grid;place-items:center;position:relative;overflow:hidden}
.member-work-empty[hidden]{display:none}
.member-work-empty img{width:min(34vw,360px);aspect-ratio:1;object-fit:cover;border-radius:50%;filter:grayscale(1) contrast(1.08);opacity:.14}
.member-work-empty span{position:absolute;font-size:clamp(36px,7vw,90px);color:#111}
.member-work-empty span:nth-of-type(1){left:14%;top:22%;animation:memberWorkStar 10s linear infinite}
.member-work-empty span:nth-of-type(2){right:16%;bottom:20%;animation:memberWorkStar 13s linear infinite reverse}
.member-work-grid{background:#f4f4ef}
@keyframes memberWorkStar{to{transform:rotate(360deg)}}

.editor-work-owner-label{display:grid;gap:6px;margin-top:10px;font-size:8px;font-weight:900;letter-spacing:.1em;color:#aaa}
.editor-work-owner-label select{border:1px solid #424242;background:#111;color:#fff;padding:9px 10px;font:900 10px/1 Arial,sans-serif;min-width:170px}
.editor-work-member-preview{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 2px;padding:8px;border:1px solid #2f2f2f;background:#101010}
.editor-work-member-preview button{border:1px solid #4b4b4b;background:#171717;color:#fff;padding:8px 9px;font:900 8px/1 Arial,sans-serif;letter-spacing:.06em;cursor:pointer}
.editor-work-member-preview button:hover{background:#fff;color:#000}
.editor-work-member-preview span{font-size:8px;font-weight:900;color:#777;letter-spacing:.08em}

@media (max-width:760px){
 .member-card__actions{grid-template-columns:1fr 1fr}
 .member-work-hero{grid-template-columns:1fr;min-height:auto}
 .member-work-hero__portrait{min-height:58vh;border-right:0;border-bottom:1px solid #222}
 .member-work-hero__copy{min-height:42vh;padding-top:72px}
 .member-work-hero__copy h1{font-size:clamp(58px,18vw,96px)}
}

/* =========================================================
   v18 — Studio reliability + diagnostics
   ========================================================= */
.site-editor-body [hidden]{display:none!important}
.site-editor-body .editor-health{display:grid;gap:5px;margin:6px 0 8px}
.site-editor-body .editor-health>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #2f2f2f;background:#111;padding:8px 9px}
.site-editor-body .editor-health span{font:900 7px/1 Arial,sans-serif;letter-spacing:.11em;color:#777}
.site-editor-body .editor-health b{font:900 7px/1 Arial,sans-serif;letter-spacing:.08em;color:#aaa}
.site-editor-body .editor-health>div[data-state="ok"] b{color:#a8ff9a}
.site-editor-body .editor-health>div[data-state="warn"] b{color:#ffe08a}
.site-editor-body .editor-health>div[data-state="error"] b{color:#ff9292}
.site-editor-body .editor-health-check{width:100%;border:1px solid #383838;background:#161616;color:#fff;padding:9px;font:900 8px/1 Arial,sans-serif;letter-spacing:.08em;cursor:pointer}
.site-editor-body .editor-health-check:hover{background:#fff;color:#000}
.site-editor-body [data-editor-frame-status][data-kind="ok"]{color:#a8ff9a}
.site-editor-body [data-editor-frame-status][data-kind="error"]{color:#ff9292}
.site-editor-body .editor-topbar__actions button:disabled,.site-editor-body .editor-health-check:disabled{opacity:.45;cursor:wait}

/* =========================================================
   V19 — mobile + tablet viewing pass
   Responsive sizing, touch ergonomics, safe-area spacing,
   lighter mobile rendering, and a usable small-screen Studio.
   ========================================================= */

/* Keep notches / rounded mobile screens from eating edge content. */
@supports (padding:max(0px)){
  body:not(.site-editor-body) .site-header,
  body:not(.site-editor-body) .site-footer{
    padding-left:max(var(--pad),env(safe-area-inset-left));
    padding-right:max(var(--pad),env(safe-area-inset-right));
  }
}

/* Tablets and touch-first devices: larger tap targets, less expensive paint. */
@media (max-width:1024px){
  :root{--pad:clamp(20px,3.4vw,32px)}
  body:not(.site-editor-body) .noise{display:none}
  body:not(.site-editor-body) .site-header{
    min-height:60px;
    height:60px;
    backdrop-filter:blur(9px) saturate(1.02)!important;
    -webkit-backdrop-filter:blur(9px) saturate(1.02)!important;
  }
  body:not(.site-editor-body) .site-lockup{width:100px}
  body:not(.site-editor-body) .menu-button{
    min-width:52px;min-height:44px;padding:0 2px;
    display:flex;align-items:center;justify-content:flex-end;
    font-size:12px;letter-spacing:.04em;cursor:pointer;
  }
  body:not(.site-editor-body) .site-nav{
    top:60px!important;
    padding:clamp(28px,6vw,54px) max(var(--pad),env(safe-area-inset-right)) max(34px,env(safe-area-inset-bottom)) max(var(--pad),env(safe-area-inset-left))!important;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  body:not(.site-editor-body) .site-nav a{
    min-height:54px;display:flex;align-items:center;
    font-size:clamp(46px,10vw,82px)!important;
    line-height:.88!important;
  }

  /* Generic pages keep the editorial scale without forcing overflow. */
  body:not(.site-editor-body) .page-hero{
    min-height:52svh!important;
    padding-top:clamp(72px,10vw,104px)!important;
    padding-bottom:28px!important;
  }
  body:not(.site-editor-body) .page-title{
    font-size:clamp(72px,16vw,150px)!important;
    line-height:.76!important;
    letter-spacing:-.075em!important;
    max-width:100%;
    overflow-wrap:anywhere;
  }
  body:not(.site-editor-body) .page-title--long{font-size:clamp(62px,14vw,128px)!important}
  body:not(.site-editor-body) .page-deck{font-size:14px;line-height:1.45;max-width:34rem}
  body:not(.site-editor-body) .section{padding-top:clamp(62px,8vw,92px);padding-bottom:clamp(62px,8vw,92px)}
  body:not(.site-editor-body) .section-head{margin-bottom:42px}
  body:not(.site-editor-body) .section-head h2{font-size:clamp(50px,11vw,92px);line-height:.86}
  body:not(.site-editor-body) .section-head p{font-size:15px}

  /* XP slideshow: fewer, larger tiles on tablet and comfortable controls. */
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window{margin:10px 10px 0!important}
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .hero-gallery{
    height:clamp(430px,58svh,620px)!important;
    min-height:0!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
  }
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-tile:nth-child(n+7){display:none!important}
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-tile:nth-child(1),
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-tile:nth-child(10){grid-row:auto!important}
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-arrows button{
    min-width:44px!important;height:36px!important;font-size:16px!important;
  }
  body:not(.site-editor-body) .home-title-area{min-height:30svh!important;padding-top:58px!important}
  body:not(.site-editor-body) .home-title{font-size:clamp(92px,20vw,205px)!important;line-height:.76!important}
  body:not(.site-editor-body) .home-intro{gap:34px!important;padding-top:clamp(70px,9vw,104px);padding-bottom:clamp(70px,9vw,104px)}
  body:not(.site-editor-body) .home-intro h2{font-size:clamp(62px,12vw,108px)!important}
  body:not(.site-editor-body) .home-intro p{font-size:clamp(17px,2.2vw,22px);line-height:1.35;max-width:36rem}

  /* Bottom cards balance better on tablet: hero card wide, two supporting cards below. */
  body:not(.site-editor-body) .teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:10px!important;gap:10px!important}
  body:not(.site-editor-body) .teaser:first-child{grid-column:1/-1;min-height:52svh!important}
  body:not(.site-editor-body) .teaser:not(:first-child){min-height:390px!important}
  body:not(.site-editor-body) .teaser{padding:22px!important}
  body:not(.site-editor-body) .teaser h3{font-size:clamp(50px,9vw,88px)!important;line-height:.84!important}
  body:not(.site-editor-body) .teaser .teaser__arrow{font-size:32px!important;margin-bottom:16px!important}

  /* About / facts. */
  body:not(.site-editor-body) .about-manifesto{gap:32px!important}
  body:not(.site-editor-body) .about-manifesto__lines p{
    font-size:clamp(46px,10.5vw,88px)!important;
    line-height:.9!important;
  }
  body:not(.site-editor-body) .fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not(.site-editor-body) .fact{min-height:160px;padding:18px}
  body:not(.site-editor-body) .fact b{font-size:clamp(22px,4vw,34px)}
  body:not(.site-editor-body) .tool-cloud span{min-height:44px;display:inline-flex;align-items:center;padding:10px 14px;font-size:12px}

  /* Work archive and member galleries. */
  body:not(.site-editor-body) .work-toolbar{
    top:60px!important;gap:14px;padding:13px var(--pad)!important;
    backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important;
  }
  body:not(.site-editor-body) .filters{flex:1;flex-wrap:nowrap;overflow-x:auto;padding:2px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body:not(.site-editor-body) .filters::-webkit-scrollbar{display:none}
  body:not(.site-editor-body) .filter{min-height:42px;flex:0 0 auto;padding:10px 14px;font-size:11px}
  body:not(.site-editor-body) .work-card,
  body:not(.site-editor-body) .work-card--wide,
  body:not(.site-editor-body) .work-card--half{grid-column:span 6!important;min-height:430px!important}
  body:not(.site-editor-body) .project-modal{height:100dvh!important}
  body:not(.site-editor-body) .project-modal__close{min-width:44px;min-height:44px;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}

  /* Contact / socials. */
  body:not(.site-editor-body) .contact-hero{min-height:58svh!important;padding-top:clamp(76px,10vw,108px)!important;gap:28px!important}
  body:not(.site-editor-body) .contact-hero h1{font-size:clamp(76px,18vw,165px)!important;line-height:.74!important}
  body:not(.site-editor-body) .contact-card{min-height:310px!important;padding:22px!important}
  body:not(.site-editor-body) .contact-card__value{font-size:clamp(36px,8vw,70px)!important;line-height:.94!important}
  body:not(.site-editor-body) .social-row{min-height:118px!important;grid-template-columns:44px minmax(0,1fr) auto!important;gap:14px!important;padding-top:16px!important;padding-bottom:16px!important}
  body:not(.site-editor-body) .social-row h2{font-size:clamp(52px,11vw,92px)!important;line-height:.82!important;min-width:0}
  body:not(.site-editor-body) .social-row__handle{display:block!important;grid-column:2;font-size:10px;overflow-wrap:anywhere}
  body:not(.site-editor-body) .social-row__arrow{grid-column:3;grid-row:1/3;align-self:center;margin-left:0;font-size:28px}

  /* Zero / member cards. */
  body:not(.site-editor-body) .zero-photo{min-height:54svh!important}
  body:not(.site-editor-body) .zero-copy{min-height:50svh!important;padding-top:58px!important;padding-bottom:30px!important}
  body:not(.site-editor-body) .zero-copy h1{font-size:clamp(92px,20vw,185px)!important;line-height:.72!important}
  body:not(.site-editor-body) .zero-copy__deck{font-size:clamp(18px,3vw,24px)!important;line-height:1.22!important}
  body:not(.site-editor-body) .member-card{min-height:0!important}
  body:not(.site-editor-body) .member-card__avatar{height:clamp(330px,46vw,470px)!important}
  body:not(.site-editor-body) .member-card__copy{padding:18px!important}
  body:not(.site-editor-body) .member-card__copy h3{font-size:clamp(28px,5vw,42px)!important}
  body:not(.site-editor-body) .member-card__actions a{min-height:44px!important;font-size:10px!important;padding:10px!important}
  body:not(.site-editor-body) .zero-statement{min-height:52svh!important}
  body:not(.site-editor-body) .zero-statement p{font-size:clamp(54px,12vw,105px)!important;line-height:.8!important}

  /* Despair / member profiles. */
  body:not(.site-editor-body) .despair-hero{padding-top:78px!important;padding-bottom:36px!important;gap:34px!important}
  body:not(.site-editor-body) .despair-hero h1{font-size:clamp(78px,17vw,150px)!important;line-height:.74!important}
  body:not(.site-editor-body) .despair-copy{font-size:clamp(19px,3vw,27px)!important;line-height:1.18!important}
  body:not(.site-editor-body) .terminal{min-height:440px!important}
  body:not(.site-editor-body) .terminal__commands{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  body:not(.site-editor-body) .terminal__commands button{min-height:42px;flex:0 0 auto}
  body:not(.site-editor-body) .member-profile__visual{min-height:58svh!important}
  body:not(.site-editor-body) .member-profile__info{min-height:38svh!important;padding:68px var(--pad) 38px!important}
  body:not(.site-editor-body) .member-profile__button{min-height:46px;min-width:170px;align-items:center}
  body:not(.site-editor-body) .member-work-hero__portrait{min-height:56svh!important}
  body:not(.site-editor-body) .member-work-hero__copy{min-height:38svh!important;padding:70px var(--pad) 38px!important}
  body:not(.site-editor-body) .member-work-hero__copy h1{font-size:clamp(66px,14vw,118px)!important}

  body:not(.site-editor-body) .legal-wrap{padding-top:70px;padding-bottom:90px}
  body:not(.site-editor-body) .legal-wrap h1{font-size:clamp(64px,14vw,112px)!important;margin-bottom:40px}

  body:not(.site-editor-body) .site-footer{gap:16px;padding-top:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
  body:not(.site-editor-body) .site-footer__logo{width:100px}
  body:not(.site-editor-body) .site-footer__center,
  body:not(.site-editor-body) .site-footer__right{font-size:10px;line-height:1.45}
  body:not(.site-editor-body) .site-footer__right a{min-height:36px;display:inline-flex;align-items:center}
}

/* Phones: one-column rhythm, readable type, larger controls, no accidental horizontal crop. */
@media (max-width:600px){
  :root{--pad:clamp(16px,4.5vw,22px)}
  body:not(.site-editor-body) .site-header{height:56px;min-height:56px}
  body:not(.site-editor-body) .site-lockup{width:92px}
  body:not(.site-editor-body) .site-nav{top:56px!important}
  body:not(.site-editor-body) .site-nav a{font-size:clamp(42px,13vw,68px)!important;min-height:50px}

  /* Splash uses svh so browser chrome does not make it jump. */
  body:not(.site-editor-body) .gate.gate--split{
    height:100svh!important;min-height:100svh!important;
    grid-template-rows:56svh 44svh!important;
    overflow:hidden!important;
  }
  body:not(.site-editor-body) .gate.gate--split .gate__left{padding:16px max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important}
  body:not(.site-editor-body) .gate.gate--split .gate__brand{width:112px!important}
  body:not(.site-editor-body) .gate.gate--split .gate__stage{font-size:8px!important;margin-bottom:14px!important}
  body:not(.site-editor-body) .gate.gate--split .gate__message{font-size:clamp(28px,9vw,42px)!important;line-height:1!important}
  body:not(.site-editor-body) .gate.gate--split .gate__meter{margin-top:22px!important;width:100%!important}
  body:not(.site-editor-body) .gate.gate--split .gate__readout{width:100%!important;font-size:8px!important}
  body:not(.site-editor-body) .gate.gate--split .julia-morph--splash{width:min(80vw,330px)!important;height:min(80vw,330px)!important;bottom:-18%!important}
  body:not(.site-editor-body) .gate.gate--split .gate__footer{font-size:7px!important;max-width:90%;line-height:1.35}

  body:not(.site-editor-body) .hero-gallery-wrap.xp-window{margin:7px 7px 0!important}
  body:not(.site-editor-body) .xp-titlebar{height:31px!important}
  body:not(.site-editor-body) .xp-titlebar__title{font-size:11px!important;max-width:calc(100% - 78px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  body:not(.site-editor-body) .xp-window-btn{width:24px!important;height:21px!important}
  body:not(.site-editor-body) .xp-menubar{height:25px!important;gap:16px!important;font-size:10px!important;overflow:hidden}
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .hero-gallery{
    height:clamp(320px,52svh,460px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
  }
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-tile:nth-child(n+5){display:none!important}
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-controls{left:8px!important;right:8px!important;bottom:5px!important}
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-status{font-size:9px!important;gap:7px!important}
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-arrows button{min-width:40px!important;width:40px!important;height:34px!important}
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-progress{left:62px!important;right:92px!important;bottom:14px!important;height:5px!important}
  body:not(.site-editor-body) .home-title-area{min-height:24svh!important;padding:48px var(--pad) 18px!important}
  body:not(.site-editor-body) .home-title{font-size:clamp(76px,24vw,122px)!important;white-space:normal!important;max-width:100%}
  body:not(.site-editor-body) .home-meta{top:14px!important;font-size:8px!important;line-height:1.35}
  body:not(.site-editor-body) .home-scratches{top:20px!important;width:92px!important}
  body:not(.site-editor-body) .marquee span{font-size:10px}
  body:not(.site-editor-body) .home-intro{padding-top:62px!important;padding-bottom:62px!important;gap:28px!important}
  body:not(.site-editor-body) .home-intro h2{font-size:clamp(58px,17vw,86px)!important;line-height:.88!important}
  body:not(.site-editor-body) .home-intro p{font-size:17px!important;line-height:1.42!important}

  body:not(.site-editor-body) .teaser-grid{grid-template-columns:1fr!important;padding:7px!important;gap:7px!important}
  body:not(.site-editor-body) .teaser:first-child,
  body:not(.site-editor-body) .teaser:not(:first-child){grid-column:auto!important;min-height:clamp(360px,68svh,520px)!important}
  body:not(.site-editor-body) .teaser{padding:20px!important;border-radius:15px!important}
  body:not(.site-editor-body) .teaser h3{font-size:clamp(54px,15vw,82px)!important;line-height:.84!important}
  body:not(.site-editor-body) .teaser__num{font-size:12px!important}
  body:not(.site-editor-body) .teaser .teaser__arrow{font-size:30px!important;margin-bottom:13px!important}

  body:not(.site-editor-body) .page-hero{min-height:46svh!important;padding-top:66px!important;padding-bottom:22px!important}
  body:not(.site-editor-body) .page-index{top:24px!important;font-size:9px!important}
  body:not(.site-editor-body) .page-title{font-size:clamp(64px,20vw,100px)!important;line-height:.78!important;letter-spacing:-.065em!important}
  body:not(.site-editor-body) .page-title--long{font-size:clamp(56px,17.5vw,86px)!important}
  body:not(.site-editor-body) .page-kicker{font-size:9px!important;margin-bottom:13px!important}
  body:not(.site-editor-body) .page-deck{font-size:14px!important;line-height:1.45!important;margin-top:22px!important}
  body:not(.site-editor-body) .section{padding-top:56px!important;padding-bottom:56px!important}
  body:not(.site-editor-body) .section-head{gap:18px!important;margin-bottom:32px!important}
  body:not(.site-editor-body) .section-head h2{font-size:clamp(52px,15vw,78px)!important;line-height:.86!important}
  body:not(.site-editor-body) .about-manifesto{gap:24px!important}
  body:not(.site-editor-body) .about-manifesto__lines p{
    margin-left:0!important;
    font-size:clamp(42px,13vw,66px)!important;
    line-height:.92!important;
    overflow-wrap:anywhere;
  }
  body:not(.site-editor-body) .fact-grid{grid-template-columns:1fr!important}
  body:not(.site-editor-body) .fact{min-height:135px!important;padding:16px!important}
  body:not(.site-editor-body) .fact b{font-size:clamp(23px,7vw,32px)!important}
  body:not(.site-editor-body) .tool-cloud{gap:6px!important}
  body:not(.site-editor-body) .tool-cloud span{font-size:11px!important;padding:9px 12px!important;min-height:42px}

  body:not(.site-editor-body) .work-toolbar{align-items:flex-start!important;padding:10px var(--pad)!important;gap:8px!important}
  body:not(.site-editor-body) .filter{min-height:40px!important;padding:9px 12px!important}
  body:not(.site-editor-body) .work-count{padding-top:12px;flex:0 0 auto;font-size:9px}
  body:not(.site-editor-body) .work-card,
  body:not(.site-editor-body) .work-card--wide,
  body:not(.site-editor-body) .work-card--half{grid-column:1/-1!important;min-height:clamp(390px,62svh,520px)!important}
  body:not(.site-editor-body) .work-card__info b{font-size:22px}
  body:not(.site-editor-body) .project-modal__layout{display:flex!important;flex-direction:column!important;height:100%!important;overflow-y:auto!important}
  body:not(.site-editor-body) .project-modal__media{height:42svh!important;min-height:260px;flex:0 0 auto}
  body:not(.site-editor-body) .project-modal__copy{padding:34px var(--pad) max(28px,env(safe-area-inset-bottom))!important;min-height:50svh;justify-content:flex-start!important}
  body:not(.site-editor-body) .project-modal__copy h2{font-size:clamp(52px,16vw,80px)!important}

  body:not(.site-editor-body) .contact-hero{min-height:50svh!important;padding-top:68px!important;padding-bottom:26px!important}
  body:not(.site-editor-body) .contact-hero h1{font-size:clamp(68px,22vw,105px)!important;line-height:.76!important;letter-spacing:-.075em!important;overflow-wrap:anywhere}
  body:not(.site-editor-body) .contact-hero__side{font-size:13px!important;line-height:1.5!important;padding-bottom:0!important}
  body:not(.site-editor-body) .contact-loop span{font-size:clamp(26px,9vw,42px)!important}
  body:not(.site-editor-body) .contact-board{padding:7px!important;gap:7px!important}
  body:not(.site-editor-body) .contact-card{min-height:245px!important;padding:18px!important}
  body:not(.site-editor-body) .contact-card__value{font-size:clamp(34px,11vw,54px)!important;line-height:.95!important}
  body:not(.site-editor-body) .contact-card__arrow{font-size:25px!important;right:16px!important;top:14px!important}

  body:not(.site-editor-body) .social-list{padding:7px!important}
  body:not(.site-editor-body) .social-row{min-height:96px!important;grid-template-columns:34px minmax(0,1fr) 26px!important;gap:9px!important;padding:14px 10px!important}
  body:not(.site-editor-body) .social-row h2{font-size:clamp(42px,13vw,66px)!important;line-height:.85!important;overflow-wrap:anywhere}
  body:not(.site-editor-body) .social-row__num{font-size:9px!important}
  body:not(.site-editor-body) .social-row__handle{font-size:9px!important;letter-spacing:.04em!important}
  body:not(.site-editor-body) .social-row__arrow{font-size:22px!important}

  body:not(.site-editor-body) .zero-photo{min-height:45svh!important}
  body:not(.site-editor-body) .zero-copy{min-height:48svh!important;padding-top:48px!important;padding-bottom:26px!important}
  body:not(.site-editor-body) .zero-copy h1{font-size:clamp(84px,25vw,122px)!important;margin:28px 0 18px!important}
  body:not(.site-editor-body) .zero-copy__deck{font-size:17px!important;line-height:1.32!important}
  body:not(.site-editor-body) .zero-copy__ig{font-size:11px!important;min-height:42px;display:flex;align-items:center}
  body:not(.site-editor-body) .zero-statement{min-height:44svh!important;padding-top:58px!important;padding-bottom:58px!important}
  body:not(.site-editor-body) .zero-statement p{font-size:clamp(48px,14vw,70px)!important;line-height:.84!important}
  body:not(.site-editor-body) .member-grid{grid-template-columns:1fr!important}
  body:not(.site-editor-body) .member-card__avatar{height:clamp(310px,88vw,430px)!important}
  body:not(.site-editor-body) .member-card__copy{padding:16px!important}
  body:not(.site-editor-body) .member-card__copy h3{font-size:clamp(30px,9vw,43px)!important}
  body:not(.site-editor-body) .member-card__copy p{font-size:11px!important;line-height:1.35}
  body:not(.site-editor-body) .member-card__actions{gap:6px!important}
  body:not(.site-editor-body) .member-card__actions a{font-size:9px!important;letter-spacing:.055em!important;min-height:46px!important}

  body:not(.site-editor-body) .despair-hero{padding-top:68px!important;gap:26px!important}
  body:not(.site-editor-body) .despair-hero h1{font-size:clamp(68px,21vw,100px)!important;line-height:.76!important;overflow-wrap:anywhere}
  body:not(.site-editor-body) .despair-copy{font-size:18px!important;line-height:1.28!important}
  body:not(.site-editor-body) .pill-link{min-height:44px;font-size:10px;padding:10px 13px}
  body:not(.site-editor-body) .terminal{min-height:380px!important}
  body:not(.site-editor-body) .terminal__body{padding:16px!important;font-size:11px!important;line-height:1.65!important}

  body:not(.site-editor-body) .member-profile__visual{min-height:50svh!important}
  body:not(.site-editor-body) .member-profile__back{top:14px!important;font-size:8px!important;padding:8px 9px!important}
  body:not(.site-editor-body) .member-profile__info{min-height:44svh!important;padding:62px var(--pad) 30px!important}
  body:not(.site-editor-body) .member-profile__info::before{top:20px;right:var(--pad)}
  body:not(.site-editor-body) .member-profile__info h1{font-size:clamp(52px,16vw,78px)!important;line-height:.84!important}
  body:not(.site-editor-body) .member-profile__links{display:grid!important;grid-template-columns:1fr!important;width:100%}
  body:not(.site-editor-body) .member-profile__button{width:100%!important;min-width:0!important;min-height:48px!important;font-size:10px!important}

  body:not(.site-editor-body) .member-work-hero__portrait{min-height:48svh!important}
  body:not(.site-editor-body) .member-work-hero__copy{min-height:42svh!important;padding:60px var(--pad) 30px!important}
  body:not(.site-editor-body) .member-work-hero__copy h1{font-size:clamp(56px,17vw,82px)!important;line-height:.82!important;overflow-wrap:anywhere}
  body:not(.site-editor-body) .member-work-hero__copy>a{min-height:44px;display:inline-flex;align-items:center}
  body:not(.site-editor-body) .member-work-empty{min-height:48svh!important}
  body:not(.site-editor-body) .member-work-empty img{width:min(64vw,290px)!important}

  body:not(.site-editor-body) .legal-wrap{padding-top:56px!important;padding-bottom:72px!important}
  body:not(.site-editor-body) .legal-wrap h1{font-size:clamp(58px,18vw,82px)!important;line-height:.82!important;margin-bottom:34px!important}
  body:not(.site-editor-body) .legal-wrap h2{font-size:22px!important;margin-top:36px!important}
  body:not(.site-editor-body) .legal-wrap p,
  body:not(.site-editor-body) .legal-wrap li{font-size:15px!important;line-height:1.65!important}

  body:not(.site-editor-body) .site-footer{padding-top:22px!important;padding-bottom:max(24px,env(safe-area-inset-bottom))!important;gap:12px!important}
  body:not(.site-editor-body) .site-footer__center{font-size:9px!important;max-width:32ch}
  body:not(.site-editor-body) .site-footer__right{gap:6px 12px!important;font-size:9px!important;line-height:1.45!important}
}

/* Short phones / landscape phones should not let giant hero art trap the viewport. */
@media (max-width:900px) and (max-height:560px){
  body:not(.site-editor-body) .hero-gallery-wrap.xp-window .hero-gallery{height:72svh!important;min-height:280px!important}
  body:not(.site-editor-body) .page-hero{min-height:76svh!important}
  body:not(.site-editor-body) .zero-photo,
  body:not(.site-editor-body) .member-profile__visual,
  body:not(.site-editor-body) .member-work-hero__portrait{min-height:76svh!important}
  body:not(.site-editor-body) .gate.gate--split{grid-template-columns:1fr 1fr!important;grid-template-rows:1fr!important;height:100svh!important}
  body:not(.site-editor-body) .gate.gate--split .gate__visual{border-top:0!important;border-left:1px solid rgba(0,0,0,.1)!important}
  body:not(.site-editor-body) .gate.gate--split .julia-morph--splash{width:min(40vw,300px)!important;height:min(40vw,300px)!important}
}

/* Touch devices: avoid sticky hover states while retaining immediate tap feedback. */
@media (hover:none), (pointer:coarse){
  body:not(.site-editor-body) .teaser:hover,
  body:not(.site-editor-body) .contact-card:hover,
  body:not(.site-editor-body) .social-row:hover,
  body:not(.site-editor-body) .member-card:hover .member-card__avatar img,
  body:not(.site-editor-body) .work-card:hover .work-card__media img,
  body:not(.site-editor-body) .zero-photo:hover img{transform:none!important}
  body:not(.site-editor-body) .teaser:active{transform:scale(.992)!important}
  body:not(.site-editor-body) .filter:active,
  body:not(.site-editor-body) .member-profile__button:active,
  body:not(.site-editor-body) .member-card__actions a:active,
  body:not(.site-editor-body) .pill-link:active{transform:scale(.985)!important}
}

/* Studio: usable from tablets and phones without turning it into a desktop-only wall. */
@media (max-width:980px){
  .site-editor-body{overflow:auto!important;background:#0b0b0b}
  .site-editor-body .site-editor{height:auto!important;min-height:100dvh!important}
  .site-editor-body .editor-topbar{
    position:sticky;top:0;z-index:20;
    grid-template-columns:1fr!important;
    gap:8px;padding:9px 10px!important;height:auto!important;min-height:58px;
  }
  .site-editor-body .editor-brand{display:none!important}
  .site-editor-body .editor-topbar__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
  .site-editor-body .editor-topbar__meta span{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .site-editor-body .editor-topbar__actions{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .site-editor-body .editor-topbar__actions::-webkit-scrollbar{display:none}
  .site-editor-body .editor-topbar__actions button{min-height:42px;flex:0 0 auto;padding:9px 12px!important}
  .site-editor-body .editor-layout{display:grid!important;grid-template-columns:1fr!important;height:auto!important;min-height:0!important}
  .site-editor-body .editor-pages{order:1;border:0!important;border-bottom:1px solid #303030!important;padding-bottom:12px}
  .site-editor-body .editor-pages nav{display:flex!important;gap:5px!important;overflow-x:auto!important;padding:0 10px 8px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .site-editor-body .editor-pages nav::-webkit-scrollbar{display:none}
  .site-editor-body .editor-pages nav button{min-width:max-content!important;min-height:42px!important;padding:10px 12px!important}
  .site-editor-body .editor-panel-title{padding-left:10px!important;padding-right:10px!important}
  .site-editor-body .editor-builder-note,
  .site-editor-body .editor-health,
  .site-editor-body .editor-health-check,
  .site-editor-body .editor-add-grid,
  .site-editor-body .editor-work-tool{margin-left:10px!important;margin-right:10px!important;width:calc(100% - 20px)!important}
  .site-editor-body .editor-canvas{order:2;height:68svh!important;min-height:500px!important;border-bottom:1px solid #303030}
  .site-editor-body .editor-frame-wrap{padding:10px!important}
  .site-editor-body .editor-inspector{order:3;border:0!important;min-height:420px}
  .site-editor-body .editor-tabs button{min-height:44px;font-size:9px!important}
  .site-editor-body .editor-tab-panel{padding:16px!important}
  .site-editor-body .editor-field input,
  .site-editor-body .editor-field textarea,
  .site-editor-body .editor-field select,
  .site-editor-body .editor-work-card input,
  .site-editor-body .editor-work-card textarea,
  .site-editor-body .editor-work-card select,
  .site-editor-body .editor-work-owner-label select{font-size:16px!important}
  .site-editor-body .editor-work-head button,
  .site-editor-body .editor-work-member-preview button,
  .site-editor-body .editor-health-check,
  .site-editor-body .editor-add-grid button,
  .site-editor-body .editor-work-tool{min-height:44px}
}

@media (max-width:600px){
  .site-editor-body .editor-login{padding:16px!important;align-items:flex-start!important;padding-top:max(24px,env(safe-area-inset-top))!important;overflow-y:auto}
  .site-editor-body .editor-login__card{width:100%!important;max-width:none!important;padding:24px 20px!important}
  .site-editor-body .editor-login__card h1{font-size:clamp(54px,17vw,82px)!important}
  .site-editor-body .editor-login__card p{font-size:13px!important;line-height:1.5!important}
  .site-editor-body .editor-login__card input{font-size:16px!important;min-height:48px!important}
  .site-editor-body .editor-login__card button{min-height:48px!important;font-size:10px!important}
  .site-editor-body .editor-topbar{padding-top:max(9px,env(safe-area-inset-top))!important}
  .site-editor-body .editor-topbar__meta b{font-size:9px!important}
  .site-editor-body .editor-topbar__meta span{font-size:7px!important;max-width:46vw}
  .site-editor-body .editor-canvas{height:62svh!important;min-height:420px!important}
  .site-editor-body .editor-canvas__bar{height:auto!important;min-height:48px!important;flex-wrap:wrap!important;gap:6px!important;padding:6px 8px!important}
  .site-editor-body .editor-canvas__bar>[data-editor-frame-status]{font-size:7px}
  .site-editor-body .editor-canvas__tools{display:flex!important;width:100%;justify-content:flex-end}
  .site-editor-body .editor-canvas__tools>button{display:none!important}
  .site-editor-body .editor-viewport-tools{display:flex!important;border-right:0!important;margin:0!important;padding:0!important;overflow-x:auto}
  .site-editor-body .editor-viewport-tools button{min-height:34px;padding:7px 9px!important;font-size:7px!important}
  .site-editor-body .editor-frame-wrap{padding:7px!important}
  .site-editor-body .editor-frame-wrap.is-tablet iframe{width:768px!important;max-width:none!important}
  .site-editor-body .editor-frame-wrap.is-mobile iframe{width:390px!important;max-width:100%!important}
  .site-editor-body .editor-two{grid-template-columns:1fr!important}
  .site-editor-body .editor-work-head{flex-direction:column!important}
  .site-editor-body .editor-work-head button{width:100%}
  .site-editor-body .editor-work-member-preview{align-items:stretch!important;flex-direction:column!important}
  .site-editor-body .editor-work-member-preview button{width:100%}
  .site-editor-body .editor-block-item{grid-template-columns:24px minmax(0,1fr) auto!important}
  .site-editor-body .editor-block-item button:last-child{grid-column:2/-1;justify-self:stretch}
}

/* V19 touch polish: real tap feedback without sticky desktop hover states. */
@media (pointer:coarse){
  body:not(.site-editor-body) a,
  body:not(.site-editor-body) button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.08)}
}
@media (hover:none){
  body:not(.site-editor-body) .contact-card:not(.contact-card--social):hover{background:rgba(255,255,255,.84)!important;color:#080808!important;box-shadow:none!important}
  body:not(.site-editor-body) .contact-card--social:hover{background:#0b0b0b!important;color:#fff!important;box-shadow:none!important}
  body:not(.site-editor-body) .contact-card:not(.contact-card--social):active{background:#090909!important;color:#fff!important}
  body:not(.site-editor-body) .contact-card--social:active{background:#fff!important;color:#000!important}
  body:not(.site-editor-body) .social-row:hover{color:#080808!important;box-shadow:none!important}
  body:not(.site-editor-body) .social-row:hover::before{transform:translateY(101%)!important}
  body:not(.site-editor-body) .social-row:active{color:#fff!important}
  body:not(.site-editor-body) .social-row:active::before{transform:none!important}
  body:not(.site-editor-body) .member-card:hover .member-card__avatar img{filter:grayscale(1) contrast(1.03)!important}
  body:not(.site-editor-body) .work-card:hover .work-card__media img{filter:none!important}
}


/* =========================================================
   V20 — FULL-SCREEN MOBILE/TABLET NAV + UNICODE ARROWS
   ========================================================= */

/* Keep all UI arrows on standard Unicode code points with broad symbol fallback. */
.teaser__arrow,
.contact-card__arrow,
.social-row__arrow,
.gallery-arrows button,
.pill-link span,
.member-profile__button,
.member-card__open,
.member-card__work,
[data-modal-url],
[data-editor-preview],
[data-work-open-member],
.legal-wrap a {
  font-family:Arial,"Helvetica Neue","Segoe UI Symbol","Noto Sans Symbols 2","Noto Sans Symbols",sans-serif;
  font-variant-emoji:text;
}

/* Phone + tablet menu becomes a real full-viewport takeover that drops in from the top. */
@media (max-width:1024px){
  body:not(.site-editor-body) .site-header{
    z-index:12000!important;
    isolation:isolate;
  }
  body:not(.site-editor-body) .site-lockup,
  body:not(.site-editor-body) .menu-button{
    position:relative;
    z-index:3;
  }
  body:not(.site-editor-body) .menu-button{
    display:flex!important;
  }
  body:not(.site-editor-body) .site-nav{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    top:0!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100svh!important;
    z-index:2!important;
    margin:0!important;
    padding:
      calc(82px + env(safe-area-inset-top))
      max(var(--pad),env(safe-area-inset-right))
      max(30px,env(safe-area-inset-bottom))
      max(var(--pad),env(safe-area-inset-left))!important;
    background:#fff!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:clamp(8px,2.2vh,24px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
    transform:translate3d(0,-102%,0);
    visibility:hidden;
    pointer-events:none;
    opacity:.995;
    transition:
      transform .62s cubic-bezier(.22,.78,.18,1),
      visibility 0s linear .62s;
    will-change:transform;
  }
  body:not(.site-editor-body) .site-nav.is-open{
    transform:translate3d(0,0,0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:
      transform .62s cubic-bezier(.22,.78,.18,1),
      visibility 0s linear 0s;
  }
  body:not(.site-editor-body) .site-nav a{
    width:100%!important;
    min-height:0!important;
    padding:.06em 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#080808!important;
    font-size:clamp(54px,10.5vw,108px)!important;
    line-height:.84!important;
    letter-spacing:-.075em!important;
    text-transform:uppercase!important;
    opacity:0;
    transform:translate3d(0,-28px,0);
    transition:
      transform .46s var(--ease),
      opacity .36s ease,
      color .18s ease!important;
  }
  body:not(.site-editor-body) .site-nav.is-open a{
    opacity:1;
    transform:translate3d(0,0,0);
  }
  body:not(.site-editor-body) .site-nav.is-open a:nth-child(1){transition-delay:.14s!important}
  body:not(.site-editor-body) .site-nav.is-open a:nth-child(2){transition-delay:.19s!important}
  body:not(.site-editor-body) .site-nav.is-open a:nth-child(3){transition-delay:.24s!important}
  body:not(.site-editor-body) .site-nav.is-open a:nth-child(4){transition-delay:.29s!important}
  body:not(.site-editor-body) .site-nav.is-open a:nth-child(5){transition-delay:.34s!important}
  body:not(.site-editor-body) .site-nav a::before,
  body:not(.site-editor-body) .site-nav a::after{display:none!important}
  body:not(.site-editor-body) .site-nav a[aria-current="page"]{
    color:#767676!important;
  }
  body:not(.site-editor-body) .site-nav a:active{
    transform:translate3d(8px,0,0)!important;
  }
  body.menu-open:not(.site-editor-body) .site-header{
    background:#fff!important;
    border-bottom-color:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}

@media (max-width:600px){
  body:not(.site-editor-body) .site-nav{
    top:0!important;
    padding:
      calc(72px + env(safe-area-inset-top))
      max(var(--pad),env(safe-area-inset-right))
      max(24px,env(safe-area-inset-bottom))
      max(var(--pad),env(safe-area-inset-left))!important;
    justify-content:center!important;
    gap:clamp(10px,2.4vh,20px)!important;
  }
  body:not(.site-editor-body) .site-nav a{
    font-size:clamp(48px,15vw,76px)!important;
    line-height:.86!important;
  }
}

@media (prefers-reduced-motion:reduce) and (max-width:1024px){
  body:not(.site-editor-body) .site-nav,
  body:not(.site-editor-body) .site-nav a{transition-duration:.001ms!important;transition-delay:0ms!important}
}

/* v21 — editable homepage XP media mode + Studio media controls */
body:not(.site-editor-body) .hero-gallery-wrap.xp-window.is-single-gallery .hero-gallery{
  display:block!important;
  position:relative!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window.is-single-gallery .gallery-tile{
  display:none!important;
  border:0!important;
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window.is-single-gallery .gallery-tile:first-child{
  display:block!important;
  width:100%!important;
  height:100%!important;
  position:absolute!important;
  inset:0!important;
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window.is-single-gallery .gallery-tile:first-child img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  transform:none!important;
  translate:0 0!important;
  filter:none!important;
}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window.is-single-gallery .gallery-tile:first-child::after{display:none!important}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window.is-single-gallery .gallery-arrows,
body:not(.site-editor-body) .hero-gallery-wrap.xp-window.is-single-gallery .gallery-progress{display:none!important}
body:not(.site-editor-body) .hero-gallery-wrap.xp-window .gallery-arrows button:disabled{
  opacity:.42!important;
  cursor:default!important;
  transform:none!important;
}

.site-editor-body .editor-tabs{grid-template-columns:repeat(4,1fr)}
.site-editor-body .editor-home-media{display:grid;gap:14px}
.site-editor-body .editor-home-media__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid #343434}
.site-editor-body .editor-home-media__head span{display:block;color:#777;font-size:8px;font-weight:900;letter-spacing:.12em}
.site-editor-body .editor-home-media__head h2{margin:5px 0 0;font-size:16px;line-height:1}
.site-editor-body .editor-home-media__head button,
.site-editor-body .editor-home-section-head button,
.site-editor-body .editor-home-add-row button{
  border:1px solid #444;background:#f1f1ec;color:#000;min-height:36px;padding:8px 10px;font:900 8px/1 Arial,sans-serif;letter-spacing:.06em;cursor:pointer
}
.site-editor-body .editor-home-media__head button:hover,
.site-editor-body .editor-home-section-head button:hover,
.site-editor-body .editor-home-add-row button:hover{background:#111;color:#fff;border-color:#777}
.site-editor-body .editor-home-mode,
.site-editor-body .editor-home-mode-panel label,
.site-editor-body .editor-home-add-row{display:grid;gap:6px;font-size:8px;font-weight:900;letter-spacing:.1em;color:#8b8b8b}
.site-editor-body .editor-home-mode select,
.site-editor-body .editor-home-mode-panel input,
.site-editor-body .editor-home-add-row input{
  width:100%;border:1px solid #414141;background:#111;color:#fff;padding:10px;font-size:11px;line-height:1.35
}
.site-editor-body .editor-home-mode-panel{display:grid;gap:11px;border:1px solid #333;background:#101010;padding:11px}
.site-editor-body .editor-home-mode-panel[hidden]{display:none!important}
.site-editor-body .editor-home-section-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.site-editor-body .editor-home-section-head b{display:block;font-size:10px;color:#fff}
.site-editor-body .editor-home-section-head span{display:block;margin-top:3px;font-size:8px;line-height:1.35;color:#6f6f6f}
.site-editor-body .editor-home-image-preview{height:190px;background:#050505;border:1px solid #333;overflow:hidden}
.site-editor-body .editor-home-image-preview img{width:100%;height:100%;object-fit:cover}
.site-editor-body .editor-home-add-row{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.site-editor-body .editor-upload--bulk{margin-top:1px}
.site-editor-body .editor-home-image-list{display:grid;gap:8px}
.site-editor-body .editor-home-image-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:8px;align-items:stretch;border:1px solid #333;background:#141414;padding:8px}
.site-editor-body .editor-home-image-thumb{width:72px;min-height:72px;background:#050505;overflow:hidden;border:1px solid #2d2d2d}
.site-editor-body .editor-home-image-thumb img{width:100%;height:100%;object-fit:cover}
.site-editor-body .editor-home-image-fields{display:grid;gap:7px;min-width:0}
.site-editor-body .editor-home-image-fields input{font-size:10px!important;padding:8px!important}
.site-editor-body .editor-home-image-fields .editor-upload{padding:6px!important}
.site-editor-body .editor-home-image-remove{align-self:stretch;border:1px solid #5a3030;background:#1a0d0d;color:#ff9f9f;padding:7px;font:900 7px/1 Arial,sans-serif;cursor:pointer}
.site-editor-body .editor-home-image-remove:hover{background:#ff9f9f;color:#120606}
.site-editor-body .editor-home-empty{margin:0;padding:12px;border:1px dashed #383838;color:#6f6f6f;font-size:9px;line-height:1.45}

@media(max-width:780px){
  .site-editor-body .editor-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .site-editor-body .editor-tabs button{font-size:8px!important;letter-spacing:.04em!important;padding-inline:2px!important}
  .site-editor-body .editor-home-mode select,
  .site-editor-body .editor-home-mode-panel input,
  .site-editor-body .editor-home-add-row input{font-size:16px!important}
  .site-editor-body .editor-home-media__head{flex-direction:column}
  .site-editor-body .editor-home-media__head button{width:100%;min-height:44px}
  .site-editor-body .editor-home-add-row{grid-template-columns:1fr}
  .site-editor-body .editor-home-add-row button{min-height:44px}
  .site-editor-body .editor-home-image-row{grid-template-columns:64px minmax(0,1fr)}
  .site-editor-body .editor-home-image-thumb{width:64px;min-height:64px}
  .site-editor-body .editor-home-image-remove{grid-column:1/-1;min-height:40px}
}


/* v22 — playable Work video media */
.work-card__video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0a0a0a;color:#fff;text-align:center}
.work-card__video-placeholder b{font-size:clamp(28px,4vw,64px);letter-spacing:-.05em}
.work-card__video-placeholder small{font-size:9px;font-weight:700;letter-spacing:.16em}
.work-card__video-badge{position:absolute;right:14px;top:14px;z-index:3;background:#fff;color:#000;border:1px solid #111;padding:6px 8px;font-size:9px;font-weight:700;letter-spacing:.12em}
.project-modal__media video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.project-modal__media video[hidden]{display:none}
.editor-work-media-note{display:block;margin:-2px 0 12px;font-size:10px;line-height:1.45;opacity:.68}
@media (hover:hover) and (pointer:fine){.work-card:hover .work-card__video-placeholder b{transform:translateY(-3px)}.work-card__video-placeholder b{transition:transform .3s var(--ease)}}

/* v23 — Work titles/descriptions + Julia star-transition mark */
.page-wipe__julia{
  display:block;
  width:clamp(104px,13vw,190px);
  height:auto;
  margin:0 auto;
  object-fit:contain;
  filter:none;
  user-select:none;
  -webkit-user-drag:none;
}
.page-wipe__stamp span{margin-top:10px}

body:not(.site-editor-body) .work-card__media{inset:0 0 142px}
body:not(.site-editor-body) .work-card__info{
  left:17px;
  right:17px;
  bottom:15px;
  min-height:108px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:14px;
}
body:not(.site-editor-body) .work-card__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:7px;
}
body:not(.site-editor-body) .work-card__copy b{
  display:block;
  font-size:20px;
  line-height:1;
  letter-spacing:-.04em;
}
body:not(.site-editor-body) .work-card__desc{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  max-width:46ch;
  font-size:11px;
  line-height:1.35;
  letter-spacing:-.01em;
  color:#4f4f4c;
}
body:not(.site-editor-body) .work-card__info em{
  align-self:end;
  white-space:nowrap;
}

@media (max-width:1024px){
  .page-wipe__julia{width:clamp(116px,18vw,176px)}
  body:not(.site-editor-body) .work-card__media{inset:0 0 148px}
}
@media (max-width:700px){
  .page-wipe__julia{width:clamp(110px,31vw,158px)}
  .page-wipe__stamp span{font-size:7px}
  body:not(.site-editor-body) .work-card__media{inset:0 0 158px}
  body:not(.site-editor-body) .work-card__info{
    min-height:122px;
    grid-template-columns:1fr;
    align-content:end;
    gap:9px;
  }
  body:not(.site-editor-body) .work-card__copy b{font-size:22px}
  body:not(.site-editor-body) .work-card__desc{font-size:12px;line-height:1.35;max-width:100%}
  body:not(.site-editor-body) .work-card__info em{justify-self:start}
}


/* v24 — Work publishing/sync clarity */
.editor-work-member-preview{align-items:flex-start;gap:12px;flex-wrap:wrap}
.editor-work-member-actions{display:flex;gap:8px;flex-wrap:wrap}
.editor-work-member-state{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:11px;letter-spacing:.08em}
.editor-work-member-state b{font-size:10px;font-weight:800;color:#555}
.editor-work-member-state b[data-kind="ok"]{color:#147a39}
.editor-work-member-state b[data-kind="warn"]{color:#8b5b00}
.editor-work-member-state b[data-kind="error"]{color:#a40000}
.editor-check--live{border:1px solid rgba(0,0,0,.16);border-radius:999px;padding:10px 12px;background:#fff;font-weight:800}
.editor-check--live:has(input:checked){background:#000;color:#fff;border-color:#000}
.editor-work-live-note{display:block;margin-top:-4px;color:#666;line-height:1.4}
[data-work-publish-all]{border:1px solid #111;background:#fff;color:#111;border-radius:999px;padding:9px 12px;font:inherit;font-weight:800;cursor:pointer}
[data-work-publish-all]:hover{background:#111;color:#fff}
@media (max-width:700px){.editor-work-member-state{width:100%;margin-left:0;align-items:flex-start}.editor-work-member-actions{width:100%}.editor-work-member-actions button{flex:1 1 170px}}

/* v25 — explicit Work video player + visible system cursor */
/* Keep the operating-system cursor visible everywhere. The old custom cursor
   remains in markup for backwards compatibility, but is intentionally hidden. */
body{cursor:default}
a,button,[role="button"],summary,label,input[type="button"],input[type="submit"],input[type="checkbox"],input[type="radio"],select{cursor:pointer}
input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]),textarea{cursor:text}
@media(hover:hover) and (pointer:fine){
  body{cursor:default!important}
  .cursor,.cursor-label{display:none!important}
  a,button,.work-card,.member-card,[role="button"]{cursor:pointer!important}
}

.project-player{
  position:relative;
  width:100%;
  height:100%;
  min-height:320px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#000;
  isolation:isolate;
}
.project-player[hidden]{display:none!important}
.project-player video{
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:contain;
  background:#000;
  z-index:1;
}
.project-player__play{
  position:absolute;
  left:50%;
  top:50%;
  translate:-50% -50%;
  z-index:3;
  min-width:148px;
  min-height:48px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:999px;
  background:rgba(0,0,0,.72);
  color:#fff;
  padding:14px 20px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.project-player__play:hover{background:#fff;color:#000}
.project-player__play[hidden]{display:none!important}
.project-player__status{
  position:absolute;
  left:14px;
  top:14px;
  z-index:4;
  max-width:min(420px,calc(100% - 28px));
  border:1px solid rgba(255,255,255,.45);
  background:rgba(0,0,0,.68);
  color:#fff;
  padding:8px 10px;
  font-size:9px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.09em;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  pointer-events:none;
}
.project-player__status[hidden]{display:none!important}
.project-player__status[data-kind="error"]{background:#fff;color:#000;border-color:#fff}
.project-modal__media{background:#000;display:grid;min-width:0;min-height:0}
.project-modal__media>img{width:100%;height:100%;object-fit:cover}

@media(max-width:900px){
  .project-player,.project-player video{min-height:45vh;height:55vh}
}
@media(max-width:600px){
  .project-player,.project-player video{min-height:40svh;height:48svh}
  .project-player__play{min-width:136px;min-height:46px;padding:13px 18px}
  .project-player__status{left:10px;top:10px;max-width:calc(100% - 20px);font-size:8px}
}

/* v26 — resilient large video uploads */
.site-editor-body .editor-upload.is-uploading{opacity:.72;cursor:wait;border-style:solid;background:#1b1b1b}
.site-editor-body .editor-upload.is-uploading::after{content:"  ·  UPLOADING…";color:#fff;letter-spacing:.09em}
.site-editor-body .editor-upload.is-uploading input{pointer-events:none;opacity:.55}

/* ===== v27 / U+2731 COLLECTIVE ===== */
:root{--u-a:#ff5e67;--u-b:#6d237d;--u-c:#f7f7f7;--u-d:#24132d}
.u2731-page{--u-border:rgba(255,255,255,.22)}
.u2731-shell{padding-top:0}
.u2731-hero{position:relative;min-height:92svh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#090909;color:#fff;border-bottom:1px solid rgba(0,0,0,.2);isolation:isolate;padding:clamp(92px,10vw,138px) clamp(18px,4vw,64px) clamp(28px,4vw,56px)}
.u2731-hero::before{content:"";position:absolute;inset:0;z-index:-4;background-image:var(--u-bg-image,none);background-size:cover;background-position:center;opacity:.22;filter:saturate(.9) contrast(1.05)}
.u2731-hero::after{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 18% 22%,color-mix(in srgb,var(--u-a) 40%,transparent),transparent 34%),radial-gradient(circle at 78% 70%,color-mix(in srgb,var(--u-b) 52%,transparent),transparent 38%),linear-gradient(135deg,#050505 10%,#111 48%,#050505 100%)}
.u2731-hero__wash{position:absolute;inset:-20%;z-index:-2;opacity:.5;background:conic-gradient(from 160deg at 50% 50%,transparent 0 16%,var(--u-a) 17% 22%,transparent 23% 49%,var(--u-b) 50% 58%,transparent 59% 100%);filter:blur(90px);animation:u2731Wash 12s ease-in-out infinite alternate}
@keyframes u2731Wash{to{transform:translate3d(4%,-3%,0) rotate(13deg) scale(1.08)}}
.u2731-hero__top,.u2731-hero__foot{display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;z-index:2;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.u2731-hero__top>a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px}
.u2731-logo{display:inline-flex;align-items:center;gap:10px;color:#fff;min-height:40px}
.u2731-logo span{display:inline-grid;place-items:center;width:36px;height:36px;font-size:29px;line-height:1;animation:u2731Mark 5.5s linear infinite}
.u2731-logo b{font-size:14px;letter-spacing:.16em}
.u2731-logo.has-image img{display:block;max-width:150px;max-height:54px;object-fit:contain}
@keyframes u2731Mark{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(.86)}}
.u2731-kinetic-wrap{position:relative;z-index:2;margin:auto 0;width:min(100%,1500px)}
.u2731-hero__eyebrow{margin:0 0 16px;font-size:clamp(11px,1vw,14px);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.u2731-kinetic{display:flex;align-items:baseline;min-height:1.15em;white-space:nowrap;font-weight:900;letter-spacing:-.072em;line-height:.85;font-size:clamp(58px,12vw,194px);text-transform:none}
.u2731-kinetic__prefix{flex:none;background:linear-gradient(100deg,var(--u-c),var(--u-a));background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 50px color-mix(in srgb,var(--u-a) 28%,transparent);animation:u2731Prefix 1.5s steps(2,end) infinite}
@keyframes u2731Prefix{50%{filter:hue-rotate(18deg);transform:translateX(.012em)}}
.u2731-kinetic__word{display:inline-flex;align-items:baseline;min-width:0;margin-left:.035em;background:linear-gradient(90deg,var(--u-a) 0%,var(--u-c) 42%,var(--u-b) 92%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:u2731Gradient 5s ease infinite}
@keyframes u2731Gradient{50%{background-position:100% 0}}
.u2731-letter{display:inline-block;will-change:transform,opacity,filter,clip-path}
.u2731-heart{display:inline-block;margin-left:.12em;font-size:.48em;line-height:1;color:var(--u-a);filter:drop-shadow(0 0 22px color-mix(in srgb,var(--u-a) 55%,transparent))}
.u2731-kinetic.is-final .u2731-kinetic__word{letter-spacing:-.045em}
.u2731-hero__rule{display:grid;grid-template-columns:1fr .18fr .55fr;gap:10px;width:min(760px,68vw);margin-top:clamp(24px,4vw,56px)}
.u2731-hero__rule span{height:2px;background:currentColor;transform-origin:left;animation:u2731Rule 1s cubic-bezier(.2,.8,.2,1) both}
.u2731-hero__rule span:nth-child(1){color:var(--u-a)}.u2731-hero__rule span:nth-child(2){color:var(--u-c);animation-delay:.18s}.u2731-hero__rule span:nth-child(3){color:var(--u-b);animation-delay:.3s}
@keyframes u2731Rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.u2731-hero__foot{color:rgba(255,255,255,.62);justify-content:flex-start;flex-wrap:wrap}.u2731-hero__foot span:last-child{margin-left:auto;color:#fff}
.u2731-hero__asterisks{position:absolute;inset:0;z-index:-1;pointer-events:none}.u2731-hero__asterisks span{position:absolute;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.26);font-size:clamp(38px,7vw,110px);animation:u2731Float 9s ease-in-out infinite}.u2731-hero__asterisks span:nth-child(1){left:5%;top:18%}.u2731-hero__asterisks span:nth-child(2){right:9%;top:14%;animation-delay:-2s}.u2731-hero__asterisks span:nth-child(3){left:28%;bottom:12%;animation-delay:-4s}.u2731-hero__asterisks span:nth-child(4){right:28%;bottom:21%;font-size:42px;animation-delay:-1s}.u2731-hero__asterisks span:nth-child(5){right:3%;bottom:5%;font-size:30px;animation-delay:-5s}
@keyframes u2731Float{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-22px,0) rotate(22deg)}}
.u2731-intro .section-head{align-items:end}.u2731-intro__copy{max-width:540px;font-size:clamp(18px,2vw,30px);line-height:1.18;letter-spacing:-.03em}
.u2731-member-grid .member-card{border-color:rgba(0,0,0,.18)}
.u2731-member-card::after{content:"✱";position:absolute;right:18px;top:16px;font-size:24px;color:transparent;-webkit-text-stroke:1px currentColor;opacity:.45;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s}.u2731-member-card:hover::after{transform:rotate(100deg) scale(1.12);opacity:.8}
.u2731-related{margin:clamp(40px,8vw,110px) clamp(16px,3vw,48px);border:1px solid #111;border-radius:26px;overflow:hidden}.u2731-related a{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:18px;padding:clamp(22px,4vw,52px);color:#111;text-decoration:none;background:#f7f7f4;transition:background .25s,color .25s}.u2731-related a:hover{background:#111;color:#fff}.u2731-related span{font-size:11px;font-weight:800;letter-spacing:.14em}.u2731-related b{font-size:clamp(46px,9vw,132px);line-height:.75;letter-spacing:-.075em}.u2731-related i{font-style:normal;font-size:44px}
.u2731-member-profile .member-profile__eyebrow,.u2731-work-hero .member-work-hero__eyebrow{color:var(--u-b)}
.u2731-member-profile .member-profile__star--a{color:var(--u-a)}.u2731-member-profile .member-profile__star--b{color:var(--u-b)}
.u2731-work-hero{position:relative}.u2731-work-hero::after{content:"✱";position:absolute;right:4vw;top:16%;font-size:clamp(50px,8vw,120px);color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.2);animation:u2731Mark 8s linear infinite}

/* U+ Studio member manager */
.editor-u2731{display:flex;flex-direction:column;gap:14px}.editor-u2731__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.editor-u2731__head h2{margin:.25rem 0 0;font-size:28px;letter-spacing:-.04em}.editor-u2731__head span{font-size:10px;font-weight:800;letter-spacing:.12em}.editor-u2731__settings{display:grid;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:14px}.editor-u2731__settings label,.editor-u2731-card label{display:grid;gap:6px;font-size:10px;font-weight:800;letter-spacing:.09em}.editor-u2731__settings input,.editor-u2731-card input,.editor-u2731-card select{width:100%;border:1px solid rgba(255,255,255,.16);background:#0b0b0b;color:#fff;border-radius:9px;padding:10px 11px;font:inherit}.editor-u2731-add{display:grid;grid-template-columns:1fr auto;gap:8px}.editor-u2731-add button,.editor-u2731__head button,.editor-u2731-card button{border:1px solid rgba(255,255,255,.18);background:#fff;color:#000;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:800;letter-spacing:.06em}.editor-u2731-list{display:grid;gap:10px}.editor-u2731-card{border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:12px;background:#080808;display:grid;gap:10px}.editor-u2731-card.is-dragging{opacity:.45}.editor-u2731-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.editor-u2731-card__head>div{display:flex;align-items:center;gap:8px;min-width:0}.editor-u2731-card__avatar{width:42px;height:42px;border-radius:11px;overflow:hidden;background:#181818;flex:none}.editor-u2731-card__avatar img{width:100%;height:100%;object-fit:cover}.editor-u2731-card__head b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-u2731-card__drag{font-size:18px;color:#777;cursor:grab}.editor-u2731-card__two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.editor-u2731-card__actions{display:flex;gap:6px;flex-wrap:wrap}.editor-u2731-card__actions button{background:#111;color:#fff}.editor-u2731-card__actions button[data-u-member-remove]{margin-left:auto;border-color:#5f2a2a}.editor-u2731-work-toggle{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.editor-u2731-work-toggle input{width:auto}.editor-u2731-note{font-size:10px;line-height:1.45;color:#999}

@media(max-width:900px){.u2731-hero{min-height:82svh}.u2731-kinetic{font-size:clamp(54px,14vw,122px)}.u2731-hero__foot span:nth-child(2),.u2731-hero__foot span:nth-child(3){display:none}.u2731-intro .section-head{align-items:start}.u2731-intro__copy{max-width:100%;margin-top:24px}.editor-u2731-card__two{grid-template-columns:1fr}}
@media(max-width:600px){.u2731-hero{min-height:78svh;padding-left:18px;padding-right:18px}.u2731-hero__top{align-items:flex-start}.u2731-logo b{font-size:12px}.u2731-hero__top>a{font-size:10px}.u2731-kinetic{white-space:normal;font-size:clamp(50px,16.5vw,92px);line-height:.88;align-items:flex-start;flex-wrap:wrap}.u2731-kinetic__prefix{flex:none}.u2731-kinetic__word{max-width:100%;flex-wrap:wrap}.u2731-heart{margin-left:.08em}.u2731-hero__rule{width:88vw}.u2731-hero__foot{font-size:9px}.u2731-related a{grid-template-columns:1fr auto}.u2731-related span{grid-column:1/-1}.u2731-related b{font-size:54px}.u2731-related i{font-size:34px}}
@media(prefers-reduced-motion:reduce){.u2731-hero__wash,.u2731-logo span,.u2731-hero__asterisks span,.u2731-kinetic__prefix{animation:none!important}}
.u2731-member-card{animation:u2731CardIn .72s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--member-i,0) * 55ms)}
@keyframes u2731CardIn{from{opacity:0;transform:translateY(28px);clip-path:inset(18% 0 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}

/* v27 — five Studio modes after U+2731 manager addition */
.site-editor-body .editor-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:780px){
  .site-editor-body .editor-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
  .site-editor-body .editor-tabs button{font-size:7px!important;letter-spacing:.025em!important;padding-inline:1px!important}
}

/* v28 — U+2731 hero sequence reliability + full kinetic rework */
.u2731-kinetic{
  perspective:1000px;
  transform-style:preserve-3d;
  overflow:visible;
}
.u2731-kinetic:not(.is-sequence-ready) .u2731-kinetic__prefix,
.u2731-kinetic:not(.is-sequence-ready) .u2731-kinetic__word{opacity:0}
.u2731-kinetic.is-sequence-ready .u2731-kinetic__prefix,
.u2731-kinetic.is-sequence-ready .u2731-kinetic__word{opacity:1}
.u2731-kinetic__word{position:relative;isolation:isolate;overflow:visible}
.u2731-letter{
  display:inline-block;
  position:relative;
  transform-origin:50% 70%;
  backface-visibility:hidden;
  will-change:transform,opacity,filter,clip-path;
}
.u2731-kinetic.is-playing[data-phase="creative"] .u2731-letter{
  animation:u28CreativeIn 760ms cubic-bezier(.16,.88,.25,1.02) both;
  animation-delay:var(--d42)
}
@keyframes u28CreativeIn{
  0%{opacity:0;transform:translate3d(var(--shift12),1.08em,-120px) rotateX(-78deg) rotateZ(var(--rot9));filter:blur(11px);clip-path:inset(100% 0 0)}
  55%{opacity:1;transform:translate3d(var(--shiftN025),-.08em,18px) rotateX(8deg) rotateZ(var(--rotN15));filter:blur(0);clip-path:inset(0)}
  100%{opacity:1;transform:translate3d(0,0,0) rotateX(0) rotateZ(0);filter:blur(0);clip-path:inset(0)}
}
.u2731-kinetic.is-playing[data-phase="work"] .u2731-letter{
  animation:u28WorkIn 700ms cubic-bezier(.18,.82,.22,1) both;
  animation-delay:var(--d55)
}
@keyframes u28WorkIn{
  0%{opacity:0;transform:translate3d(var(--shift70),0,0) skewX(var(--skewN18)) scaleX(.28);clip-path:inset(0 52% 0 52%);filter:contrast(2) blur(3px)}
  48%{opacity:1;transform:translate3d(var(--shiftN05),0,0) skewX(var(--skew3)) scaleX(1.08);clip-path:inset(0);filter:contrast(1.25) blur(0)}
  100%{opacity:1;transform:none;clip-path:inset(0);filter:none}
}
.u2731-kinetic.is-playing[data-phase="you"] .u2731-letter{
  animation:u28YouIn 660ms cubic-bezier(.12,.9,.24,1.2) both;
  animation-delay:var(--d78)
}
@keyframes u28YouIn{
  0%{opacity:0;transform:translate3d(0,-.38em,180px) scale(2.25) rotate(var(--rot13));filter:blur(17px);clip-path:circle(10% at 50% 50%)}
  64%{opacity:1;transform:translate3d(0,.035em,0) scale(.94) rotate(var(--rotN1));filter:blur(0);clip-path:circle(80% at 50% 50%)}
  100%{opacity:1;transform:none;filter:none;clip-path:circle(100% at 50% 50%)}
}
.u2731-kinetic.is-transforming .u2731-letter{
  animation:u28YouTransformOut 420ms cubic-bezier(.55,0,.4,1) both!important;
  animation-delay:var(--d26)!important
}
@keyframes u28YouTransformOut{
  0%{opacity:1;transform:none;clip-path:inset(0)}
  45%{opacity:1;transform:translateX(var(--shift11)) scaleY(.18);clip-path:inset(40% 0)}
  100%{opacity:0;transform:translateX(var(--shift42)) scaleY(.02);clip-path:inset(49% 0);filter:blur(4px)}
}
.u2731-kinetic.is-playing[data-phase="final"] .u2731-letter{
  animation:u28FinalIn 920ms cubic-bezier(.14,.82,.2,1) both;
  animation-delay:var(--d36)
}
@keyframes u28FinalIn{
  0%{opacity:0;transform:translate3d(var(--shift18),.72em,0) skewX(var(--skewN12));clip-path:inset(52% 0 48% 0);filter:blur(7px)}
  42%{opacity:1;transform:translate3d(var(--shiftN025),-.035em,0) skewX(var(--skew1));clip-path:inset(0);filter:blur(0)}
  100%{opacity:1;transform:none;clip-path:inset(0);filter:none}
}
.u2731-kinetic.is-exiting .u2731-letter{
  animation:u28WordExit 300ms cubic-bezier(.55,0,.85,.35) both;
  animation-delay:var(--d12)
}
@keyframes u28WordExit{
  to{opacity:0;transform:translate3d(var(--shift20),-.32em,0) rotate(var(--rot5));filter:blur(6px);clip-path:inset(0 0 100% 0)}
}

/* Fixed U+ also changes character with every stage instead of sitting static. */
.u2731-kinetic__prefix{transform-origin:50% 65%;will-change:transform,filter,opacity}
.u2731-kinetic.is-playing[data-phase="creative"] .u2731-kinetic__prefix{animation:u28PrefixCreative 760ms cubic-bezier(.2,.8,.2,1) both}
.u2731-kinetic.is-playing[data-phase="work"] .u2731-kinetic__prefix{animation:u28PrefixWork 700ms cubic-bezier(.2,.8,.2,1) both}
.u2731-kinetic.is-playing[data-phase="you"] .u2731-kinetic__prefix{animation:u28PrefixYou 660ms cubic-bezier(.15,.9,.25,1.15) both}
.u2731-kinetic.is-playing[data-phase="final"] .u2731-kinetic__prefix{animation:u28PrefixFinal 900ms cubic-bezier(.18,.82,.2,1) both}
@keyframes u28PrefixCreative{0%{opacity:0;transform:translateX(-.5em) rotate(-8deg);filter:blur(7px)}70%{opacity:1;transform:translateX(.03em) rotate(1deg);filter:none}100%{opacity:1;transform:none;filter:none}}
@keyframes u28PrefixWork{0%{transform:translateX(-.1em) scaleX(.45);filter:blur(3px)}32%{transform:translateX(.06em) scaleX(1.14)}48%{transform:translateX(-.025em) scaleX(.92)}100%{transform:none;filter:none}}
@keyframes u28PrefixYou{0%{transform:scale(.45) rotate(-12deg);filter:blur(8px)}58%{transform:scale(1.13) rotate(3deg);filter:none}100%{transform:none;filter:none}}
@keyframes u28PrefixFinal{0%{transform:translateY(.28em);opacity:.3;filter:blur(5px)}100%{transform:none;opacity:1;filter:none}}

/* User-supplied heart silhouette. White on the dark hero, with its own pop,
   squash, pulse and exit instead of a font glyph. */
.u2731-heart{
  position:relative;
  display:inline-flex;
  flex:0 0 auto;
  align-self:center;
  width:0;
  height:.56em;
  margin-left:0;
  opacity:0;
  transform-origin:50% 72%;
  pointer-events:none;
  overflow:visible;
}
.u2731-heart img{
  display:block;
  width:.62em;
  height:.56em;
  object-fit:contain;
  filter:brightness(0) invert(1) drop-shadow(0 0 18px color-mix(in srgb,var(--u-a) 44%,transparent));
  transform-origin:50% 72%
}
.u2731-heart::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:.52em;height:.52em;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.2);
  opacity:0
}
.u2731-heart.is-active{
  width:.66em;
  margin-left:.11em;
  animation:u28HeartEnter 780ms cubic-bezier(.14,.95,.24,1.24) both
}
.u2731-heart.is-active img{animation:u28HeartBeat 820ms 720ms cubic-bezier(.2,.8,.2,1) 2 both}
.u2731-heart.is-active::after{animation:u28HeartRing 820ms 560ms ease-out 2}
@keyframes u28HeartEnter{
  0%{opacity:0;transform:translate3d(.18em,.34em,0) rotate(-22deg) scale(.05)}
  48%{opacity:1;transform:translate3d(-.02em,-.035em,0) rotate(6deg) scale(1.16,.9)}
  68%{transform:translate3d(0,.025em,0) rotate(-2deg) scale(.94,1.08)}
  100%{opacity:1;transform:none}
}
@keyframes u28HeartBeat{0%,100%{transform:scale(1)}35%{transform:scale(1.15,.94)}55%{transform:scale(.96,1.08)}}
@keyframes u28HeartRing{0%{opacity:.62;transform:translate(-50%,-50%) scale(.22)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.75)}}
.u2731-heart.is-leaving{
  width:.66em;
  margin-left:.11em;
  animation:u28HeartLeave 420ms cubic-bezier(.55,0,.8,.35) both
}
@keyframes u28HeartLeave{0%{opacity:1;transform:none}100%{opacity:0;transform:translate3d(.25em,-.38em,0) rotate(24deg) scale(.18)}}

/* The existing rules now re-fire with the word phases so the surrounding
   geometry feels tied to the typography rather than decorative-only. */
.u2731-kinetic-wrap[data-phase] .u2731-hero__rule span{animation:none}
.u2731-kinetic-wrap[data-phase="creative"] .u2731-hero__rule span,
.u2731-kinetic-wrap[data-phase="work"] .u2731-hero__rule span,
.u2731-kinetic-wrap[data-phase="you"] .u2731-hero__rule span,
.u2731-kinetic-wrap[data-phase="final"] .u2731-hero__rule span{
  animation:u28RulePhase 680ms cubic-bezier(.16,.84,.22,1) both;
  animation-delay:calc(var(--rule-i,0) * 110ms)
}
.u2731-hero__rule span:nth-child(1){--rule-i:0}.u2731-hero__rule span:nth-child(2){--rule-i:1}.u2731-hero__rule span:nth-child(3){--rule-i:2}
@keyframes u28RulePhase{0%{transform:scaleX(0);opacity:.2}65%{transform:scaleX(1.04);opacity:1}100%{transform:scaleX(1);opacity:1}}
.u2731-kinetic-wrap[data-phase="creative"] .u2731-hero__eyebrow{color:color-mix(in srgb,var(--u-a) 52%,white)}
.u2731-kinetic-wrap[data-phase="work"] .u2731-hero__eyebrow{color:color-mix(in srgb,var(--u-b) 45%,white)}
.u2731-kinetic-wrap[data-phase="you"] .u2731-hero__eyebrow{color:#fff}
.u2731-kinetic-wrap[data-phase="final"] .u2731-hero__eyebrow{color:rgba(255,255,255,.78)}

@media(max-width:600px){
  .u2731-heart{height:.52em}.u2731-heart img{width:.58em;height:.52em}
  .u2731-heart.is-active,.u2731-heart.is-leaving{width:.6em;margin-left:.08em}
  .u2731-kinetic.is-final .u2731-kinetic__word{letter-spacing:-.055em}
}
@media(prefers-reduced-motion:reduce){
  .u2731-kinetic__prefix,.u2731-kinetic__word,.u2731-letter,.u2731-heart,.u2731-heart img,.u2731-heart::after{animation:none!important;transition:none!important}
  .u2731-kinetic:not(.is-sequence-ready) .u2731-kinetic__prefix,.u2731-kinetic:not(.is-sequence-ready) .u2731-kinetic__word{opacity:1}
}

/* v28 visibility correction found during manual render review: once the word
   is split into spans, the gradient must live on the letters themselves. */
.u2731-letter{
  color:transparent!important;
  -webkit-text-fill-color:transparent;
  background:linear-gradient(100deg,var(--u-a) 0%,var(--u-c) 48%,var(--u-b) 100%);
  background-size:220% 100%;
  background-position:50% 0;
  background-clip:text;
  -webkit-background-clip:text;
}
.u2731-kinetic[data-phase="creative"] .u2731-letter{background-image:linear-gradient(100deg,var(--u-c) 0%,var(--u-a) 76%)}
.u2731-kinetic[data-phase="work"] .u2731-letter{background-image:linear-gradient(100deg,var(--u-b) 0%,var(--u-c) 62%,var(--u-a) 100%)}
.u2731-kinetic[data-phase="you"] .u2731-letter{background-image:linear-gradient(100deg,#fff 0%,var(--u-a) 88%)}
.u2731-kinetic[data-phase="final"] .u2731-letter{background-image:linear-gradient(92deg,var(--u-a) 0%,#fff 46%,var(--u-b) 100%)}
.u2731-word-group{display:inline-flex;white-space:nowrap;flex:none}
.u2731-word-group[data-after-space="1"]{margin-left:.22em}
@media(max-width:600px){
  .u2731-kinetic.is-final{font-size:clamp(44px,13.5vw,62px)!important}
  .u2731-kinetic.is-final .u2731-kinetic__word{gap:0;align-items:flex-start}
  .u2731-kinetic.is-final .u2731-word-group[data-after-space="1"]{margin-left:0;flex-basis:100%;margin-top:.02em}
}
@media (min-width:601px) and (max-width:900px){
  .u2731-kinetic.is-final{font-size:clamp(54px,7.8vw,70px)!important;white-space:nowrap!important;flex-wrap:nowrap!important}
  .u2731-kinetic.is-final .u2731-kinetic__word{flex-wrap:nowrap!important;max-width:none!important}
  .u2731-kinetic.is-final .u2731-word-group[data-after-space="1"]{margin-left:.2em!important;flex-basis:auto!important;margin-top:0!important}
}

/* =====================================================================
   V29 — TEXT-SAFE MOTION / NO-CLIP TYPOGRAPHY
   Removes glyph clipping from the shared animation system and moves the
   U+ hero to stable, compositor-friendly text motion. The typography never
   uses clip-path/masks on the actual glyph box anymore.
   ===================================================================== */

/* Shared text entrances: transforms + opacity only. Keeping glyph overflow
   visible prevents tight Arial line boxes, antialiasing, and transformed
   edges from being sliced during or after motion. */
.text-motion{
  clip-path:none!important;
  overflow:visible!important;
  will-change:transform,opacity,letter-spacing;
}
.text-motion--slide-left{opacity:0;transform:translate3d(-34px,0,0);clip-path:none!important}
.text-motion--slide-left.is-visible{opacity:1;transform:translate3d(0,0,0);clip-path:none!important;transition:opacity .42s ease,transform .78s var(--ease)}
.text-motion--slide-right{opacity:0;transform:translate3d(34px,0,0);clip-path:none!important}
.text-motion--slide-right.is-visible{opacity:1;transform:translate3d(0,0,0);clip-path:none!important;transition:opacity .42s ease,transform .78s var(--ease)}
.text-motion--wipe{opacity:0;transform:translate3d(-18px,0,0);filter:blur(3px);clip-path:none!important}
.text-motion--wipe.is-visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0);clip-path:none!important;transition:opacity .46s ease,transform .8s var(--ease),filter .64s ease}
.text-motion--rise{opacity:0;transform:translate3d(0,26px,0);filter:blur(2px);clip-path:none!important}
.text-motion--rise.is-visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0);clip-path:none!important;transition:opacity .44s ease,transform .8s var(--ease),filter .6s ease}

/* Word cascades keep the editorial stagger without masking individual glyphs. */
[data-split]{clip-path:none!important;overflow:visible!important}
[data-split] .word{
  clip-path:none!important;
  overflow:visible!important;
  transform:translate3d(-7px,.72em,0) rotate(.7deg);
  opacity:0;
  filter:blur(3px);
  transition:transform .78s var(--ease),opacity .4s ease,filter .58s ease;
  transition-delay:calc(var(--n,0)*40ms);
}
[data-split] .word:nth-child(even){transform:translate3d(7px,.72em,0) rotate(-.7deg)}
[data-split].is-visible .word{transform:translate3d(0,0,0) rotate(0);opacity:1;filter:blur(0);clip-path:none!important}
.reveal:not(.text-motion){clip-path:none!important}
.reveal:not(.text-motion).is-visible{clip-path:none!important}

/* Text-heavy containers explicitly permit ascender/descender/transform bleed. */
.page-title,.page-kicker,.page-deck,.section-head h2,.about-manifesto__lines p,
.social-row h2,.contact-card__value,.member-profile h1,.member-work-hero h1,
.u2731-kinetic-wrap,.u2731-kinetic,.u2731-kinetic__word,.u2731-word-group{
  overflow:visible!important;
}

/* U+ v29: CSS no longer runs competing keyframes on the glyphs. JS uses the
   Web Animations API, so each phase owns one deterministic animation timeline. */
.u2731-kinetic{
  perspective:none!important;
  transform-style:flat!important;
  line-height:.92!important;
  min-height:1.34em!important;
  padding-block:.14em .18em;
  margin-block:-.14em -.18em;
}
.u2731-kinetic__prefix{
  animation:none!important;
  overflow:visible!important;
  color:var(--u-c)!important;
  -webkit-text-fill-color:currentColor!important;
  background:none!important;
  text-shadow:0 0 .32em color-mix(in srgb,var(--u-a) 24%,transparent);
  will-change:auto!important;
}
.u2731-kinetic__word{
  animation:none!important;
  background:none!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  overflow:visible!important;
  align-items:baseline!important;
  padding-block:.08em .12em;
  margin-block:-.08em -.12em;
}
.u2731-word-group{
  display:inline-flex;
  align-items:baseline;
  white-space:nowrap;
  flex:none;
  overflow:visible!important;
  padding-inline:.035em;
  margin-inline:-.035em;
}
.u2731-word-group[data-after-space="1"]{margin-left:.22em}
.u2731-letter{
  display:inline-block;
  position:relative;
  overflow:visible!important;
  clip-path:none!important;
  animation:none!important;
  background:none!important;
  background-clip:border-box!important;
  -webkit-background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;
  color:var(--u-c)!important;
  filter:none;
  backface-visibility:visible!important;
  transform-origin:50% 72%;
  will-change:auto!important;
  padding-inline:.018em;
  margin-inline:-.018em;
  text-shadow:0 0 .22em color-mix(in srgb,var(--u-a) 10%,transparent);
}
.u2731-kinetic[data-phase="creative"] .u2731-letter:nth-child(3n+1){color:var(--u-c)!important}
.u2731-kinetic[data-phase="creative"] .u2731-letter:nth-child(3n+2){color:var(--u-a)!important}
.u2731-kinetic[data-phase="creative"] .u2731-letter:nth-child(3n){color:color-mix(in srgb,var(--u-a) 58%,white)!important}
.u2731-kinetic[data-phase="work"] .u2731-letter:nth-child(3n+1){color:var(--u-b)!important}
.u2731-kinetic[data-phase="work"] .u2731-letter:nth-child(3n+2){color:var(--u-c)!important}
.u2731-kinetic[data-phase="work"] .u2731-letter:nth-child(3n){color:var(--u-a)!important}
.u2731-kinetic[data-phase="you"] .u2731-letter:nth-child(odd){color:#fff!important}
.u2731-kinetic[data-phase="you"] .u2731-letter:nth-child(even){color:color-mix(in srgb,var(--u-a) 68%,white)!important}
.u2731-kinetic[data-phase="final"] .u2731-word-group:first-child .u2731-letter:nth-child(odd){color:var(--u-a)!important}
.u2731-kinetic[data-phase="final"] .u2731-word-group:first-child .u2731-letter:nth-child(even){color:#fff!important}
.u2731-kinetic[data-phase="final"] .u2731-word-group:last-child .u2731-letter:nth-child(odd){color:#fff!important}
.u2731-kinetic[data-phase="final"] .u2731-word-group:last-child .u2731-letter:nth-child(even){color:var(--u-b)!important}

/* Disable the old class-driven entrance/exit animations so they cannot flash
   for one frame when JS changes phases. */
.u2731-kinetic.is-playing .u2731-letter,
.u2731-kinetic.is-exiting .u2731-letter,
.u2731-kinetic.is-transforming .u2731-letter,
.u2731-kinetic.is-playing .u2731-kinetic__prefix{animation:none!important}

/* Heart is a supplied raster silhouette, kept white and animated by JS. */
.u2731-heart,.u2731-heart.is-active,.u2731-heart.is-leaving{
  animation:none!important;
  overflow:visible!important;
  will-change:auto!important;
}
.u2731-heart img{animation:none!important;filter:brightness(0) invert(1) drop-shadow(0 0 18px color-mix(in srgb,var(--u-a) 42%,transparent))}
.u2731-heart::after{display:none!important}
.u2731-heart__ring{
  position:absolute;
  left:50%;top:50%;
  width:.52em;height:.52em;
  border:1px solid rgba(255,255,255,.58);
  border-radius:50%;
  opacity:0;
  transform:translate(-50%,-50%) scale(.24);
  pointer-events:none;
}

@media(max-width:600px){
  .u2731-kinetic{line-height:.94!important;min-height:1.42em!important;padding-block:.12em .2em;margin-block:-.12em -.2em}
  .u2731-kinetic.is-final{line-height:.94!important}
  .u2731-kinetic__word{padding-bottom:.16em;margin-bottom:-.16em}
}

@media(prefers-reduced-motion:reduce){
  .text-motion,[data-split] .word{filter:none!important;clip-path:none!important}
}


/* =====================================================================
   V30 — STATIONARY U+ / FIXED U+2731 BRAND RED
   The U and plus are the anchor of the hero. They do not re-enter, pulse,
   recolor, distort, or restart between words. Only the changing phrase moves.
   ===================================================================== */
:root{--u-a:#ff5e67!important;--u-b:#d74450!important;--u-c:#ffffff!important;--u-d:#241214!important}

/* Keep U+ visible from the first paint while only the changing word waits
   for the kinetic sequence. This removes the repeated U+ flash/re-entry. */
.u2731-kinetic:not(.is-sequence-ready) .u2731-kinetic__prefix{opacity:1!important}
.u2731-kinetic:not(.is-sequence-ready) .u2731-kinetic__word{opacity:0}
.u2731-kinetic.is-sequence-ready .u2731-kinetic__word{opacity:1}
.u2731-kinetic__prefix,
.u2731-kinetic.is-playing .u2731-kinetic__prefix,
.u2731-kinetic[data-phase="creative"] .u2731-kinetic__prefix,
.u2731-kinetic[data-phase="work"] .u2731-kinetic__prefix,
.u2731-kinetic[data-phase="you"] .u2731-kinetic__prefix,
.u2731-kinetic[data-phase="final"] .u2731-kinetic__prefix{
  animation:none!important;
  transition:none!important;
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  color:var(--u-a)!important;
  -webkit-text-fill-color:var(--u-a)!important;
  background:none!important;
  text-shadow:0 0 .30em color-mix(in srgb,var(--u-a) 28%,transparent)!important;
  will-change:auto!important;
}

/* Keep every phrase inside the same light-red U+ family. White is retained
   only as a highlight; the old purple phase changes are removed. */
.u2731-letter{color:var(--u-a)!important;text-shadow:0 0 .22em color-mix(in srgb,var(--u-a) 14%,transparent)!important}
.u2731-kinetic[data-phase="creative"] .u2731-letter:nth-child(3n+1),
.u2731-kinetic[data-phase="work"] .u2731-letter:nth-child(3n+1),
.u2731-kinetic[data-phase="final"] .u2731-letter:nth-child(odd){color:var(--u-a)!important}
.u2731-kinetic[data-phase="creative"] .u2731-letter:nth-child(3n+2),
.u2731-kinetic[data-phase="work"] .u2731-letter:nth-child(3n+2),
.u2731-kinetic[data-phase="you"] .u2731-letter:nth-child(odd),
.u2731-kinetic[data-phase="final"] .u2731-letter:nth-child(even){color:#fff!important}
.u2731-kinetic[data-phase="creative"] .u2731-letter:nth-child(3n),
.u2731-kinetic[data-phase="work"] .u2731-letter:nth-child(3n),
.u2731-kinetic[data-phase="you"] .u2731-letter:nth-child(even){color:color-mix(in srgb,var(--u-a) 72%,white)!important}

/* Supporting hero geometry follows the same brand family. */
.u2731-hero__rule span:nth-child(1){color:var(--u-a)!important}
.u2731-hero__rule span:nth-child(2){color:#fff!important}
.u2731-hero__rule span:nth-child(3){color:color-mix(in srgb,var(--u-a) 64%,#9c2631)!important}
.u2731-kinetic-wrap[data-phase] .u2731-hero__eyebrow{color:color-mix(in srgb,var(--u-a) 62%,white)!important}

/* =====================================================================
   V31 — U+ KINETIC STABILITY PASS
   Persistent word layers replace live DOM swapping. No blur filters, no
   overlapping fill-mode animations, no CSS/JS animation competition.
   ===================================================================== */
.u2731-kinetic{
  width:100%;
  align-items:baseline!important;
  overflow:visible!important;
  isolation:isolate;
}
.u2731-kinetic__prefix{
  flex:0 0 auto!important;
  position:relative;
  z-index:4;
  animation:none!important;
  transition:none!important;
  transform:none!important;
  filter:none!important;
  color:var(--u-a)!important;
  -webkit-text-fill-color:var(--u-a)!important;
}
.u2731-kinetic__word{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
  align-items:baseline!important;
  margin-left:.035em;
  padding-block:.10em .16em!important;
  margin-block:-.10em -.16em!important;
  overflow:visible!important;
  animation:none!important;
  transition:none!important;
  background:none!important;
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}
.u2731-phase-layer{
  grid-area:1 / 1;
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:baseline;
  justify-self:start;
  align-self:baseline;
  width:max-content;
  max-width:100%;
  white-space:nowrap;
  visibility:hidden;
  opacity:0;
  overflow:visible!important;
  pointer-events:none;
  transform:none;
  animation:none!important;
  transition:none!important;
  contain:none;
}
.u2731-phase-layer--final{
  font-size:.64em;
  letter-spacing:-.035em;
  line-height:.98;
}
.u2731-phase-layer .u2731-word-group{
  overflow:visible!important;
  padding:.06em .025em .10em!important;
  margin:-.06em -.025em -.10em!important;
}
.u2731-phase-layer .u2731-word-group[data-after-space="1"]{margin-left:.20em!important}
.u2731-phase-layer .u2731-letter{
  display:inline-block;
  opacity:0;
  transform:none;
  filter:none!important;
  clip-path:none!important;
  overflow:visible!important;
  animation:none!important;
  transition:none!important;
  will-change:transform,opacity!important;
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
  padding:.025em .014em .08em!important;
  margin:-.025em -.014em -.08em!important;
  color:var(--u-a)!important;
  -webkit-text-fill-color:currentColor!important;
  background:none!important;
  text-shadow:0 0 .22em color-mix(in srgb,var(--u-a) 13%,transparent)!important;
}
/* Phase color stays in the established U+ light-red family. */
.u2731-kinetic[data-phase="creative"] .u2731-phase-layer--creative .u2731-letter:nth-child(3n+2),
.u2731-kinetic[data-phase="work"] .u2731-phase-layer--work .u2731-letter:nth-child(even),
.u2731-kinetic[data-phase="you"] .u2731-phase-layer--you .u2731-letter:nth-child(odd),
.u2731-kinetic[data-phase="final"] .u2731-phase-layer--final .u2731-letter:nth-child(3n+2){color:#fff!important}
.u2731-kinetic[data-phase="creative"] .u2731-phase-layer--creative .u2731-letter:nth-child(3n),
.u2731-kinetic[data-phase="you"] .u2731-phase-layer--you .u2731-letter:nth-child(even){color:color-mix(in srgb,var(--u-a) 74%,white)!important}
.u2731-kinetic[data-phase="work"] .u2731-phase-layer--work .u2731-letter:nth-child(3n){color:color-mix(in srgb,var(--u-a) 66%,#9e2731)!important}

/* Remove other phase-triggered flashes around the text. The supporting line
   stays visible rather than restarting every time the word changes. */
.u2731-kinetic-wrap[data-phase] .u2731-hero__rule span{
  animation:none!important;
  opacity:1!important;
  transform:scaleX(1)!important;
}
.u2731-kinetic-wrap[data-phase] .u2731-hero__eyebrow{
  color:color-mix(in srgb,var(--u-a) 62%,white)!important;
  transition:none!important;
}

/* Heart is animated exclusively through the same deterministic JS timeline. */
.u2731-heart,
.u2731-heart.is-active,
.u2731-heart.is-leaving,
.u2731-heart img,
.u2731-heart::after,
.u2731-heart__ring{
  animation:none!important;
  transition:none!important;
}
.u2731-heart{visibility:hidden;filter:none!important;will-change:transform,opacity!important}
.u2731-heart img{filter:brightness(0) invert(1) drop-shadow(0 0 14px color-mix(in srgb,var(--u-a) 36%,transparent))!important}

@media (max-width:900px){
  .u2731-phase-layer--final{font-size:.68em}
}
@media (max-width:600px){
  .u2731-kinetic{align-items:flex-start!important;flex-wrap:nowrap!important}
  .u2731-kinetic__word{padding-bottom:.20em!important;margin-bottom:-.20em!important}
  .u2731-phase-layer{max-width:100%;}
  .u2731-phase-layer--final{
    width:100%;
    max-width:100%;
    font-size:.68em;
    flex-wrap:wrap;
    line-height:.94;
    white-space:normal;
  }
  .u2731-phase-layer--final .u2731-word-group[data-after-space="1"]{
    flex-basis:100%;
    margin-left:0!important;
    margin-top:.02em!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .u2731-phase-layer--final{visibility:visible!important;opacity:1!important}
  .u2731-phase-layer--final .u2731-letter{opacity:1!important;transform:none!important}
}

/* v31.1 — keep the U+ anchor physically identical in the final phase too. */
.u2731-kinetic.is-final{font-size:clamp(58px,12vw,194px)!important;line-height:.92!important}
.u2731-kinetic.is-final .u2731-kinetic__word{letter-spacing:inherit!important}

/* Color belongs to the persistent phase layer, not the changing root phase.
   That prevents outgoing letters from recoloring for one frame during a crossfade. */
.u2731-phase-layer--creative .u2731-letter:nth-child(3n+2),
.u2731-phase-layer--work .u2731-letter:nth-child(even),
.u2731-phase-layer--you .u2731-letter:nth-child(odd),
.u2731-phase-layer--final .u2731-letter:nth-child(3n+2){color:#fff!important}
.u2731-phase-layer--creative .u2731-letter:nth-child(3n),
.u2731-phase-layer--you .u2731-letter:nth-child(even){color:color-mix(in srgb,var(--u-a) 74%,white)!important}
.u2731-phase-layer--work .u2731-letter:nth-child(3n){color:color-mix(in srgb,var(--u-a) 66%,#9e2731)!important}

@media (max-width:900px){
  .u2731-kinetic.is-final{font-size:clamp(54px,14vw,122px)!important}
}
@media (max-width:600px){
  .u2731-kinetic.is-final{font-size:clamp(50px,16.5vw,92px)!important;line-height:.94!important}
}


/* =====================================================================
   V32 — U+ HERO COMPOSITION FIX
   Keep the U+ anchor fixed, attach the heart directly to You, and let the
   final 2731 Collective phrase sit as a separate composition instead of
   sharing the exact U+ baseline/alignment.
   ===================================================================== */
.u2731-phase-layer--you{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:none!important;
}
.u2731-phase-layer--you .u2731-heart{
  position:relative!important;
  flex:0 0 auto!important;
  align-self:center!important;
  margin-left:.18em;
  transform-origin:center;
}
.u2731-phase-layer--final{
  align-self:center!important;
  transform:translate(.16em,.10em)!important;
  margin-left:.14em!important;
}
.u2731-kinetic[data-phase="final"] .u2731-phase-layer--final{
  justify-self:start!important;
}

@media (max-width:900px){
  .u2731-phase-layer--final{
    transform:translate(.12em,.11em)!important;
    margin-left:.10em!important;
  }
  .u2731-phase-layer--you .u2731-heart{margin-left:.14em!important}
}
@media (max-width:600px){
  .u2731-phase-layer--final{
    transform:translate(.06em,.14em)!important;
    margin-left:.04em!important;
  }
  .u2731-phase-layer--you .u2731-heart{margin-left:.12em!important}
}


/* =====================================================================
   V33 — NAV + SOCIALS REGRESSION FIX
   U+ has a permanent public route. Social rows use explicit grid items and
   keep their own clipping so hover fills/stars cannot spill across the page.
   ===================================================================== */
body:not(.site-editor-body) .social-list{
  display:grid!important;
  gap:8px!important;
  padding:10px!important;
  overflow:visible!important;
}
body:not(.site-editor-body) .social-row{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) minmax(120px,max-content) 34px!important;
  grid-template-areas:"num title handle arrow"!important;
  align-items:center!important;
  gap:16px!important;
  min-height:124px!important;
  padding:16px 22px!important;
  margin:0!important;
  overflow:hidden!important;
  isolation:isolate;
  border-radius:16px!important;
}
body:not(.site-editor-body) .social-row__num{grid-area:num!important;align-self:center}
body:not(.site-editor-body) .social-row h2{
  grid-area:title!important;
  min-width:0!important;
  margin:0!important;
  overflow:visible!important;
  line-height:.88!important;
}
body:not(.site-editor-body) .social-row__handle{
  grid-area:handle!important;
  display:block!important;
  min-width:0!important;
  max-width:260px;
  overflow-wrap:anywhere;
  text-align:right;
}
body:not(.site-editor-body) .social-row__arrow{
  grid-area:arrow!important;
  margin:0!important;
  justify-self:end!important;
  align-self:center!important;
  line-height:1!important;
}
body:not(.site-editor-body) .social-row::before{border-radius:inherit}

@media (max-width:1024px){
  body:not(.site-editor-body) .social-list{padding:8px!important}
  body:not(.site-editor-body) .social-row{
    grid-template-columns:44px minmax(0,1fr) 30px!important;
    grid-template-areas:"num title arrow" "num handle arrow"!important;
    gap:5px 14px!important;
    min-height:112px!important;
    padding:15px 16px!important;
  }
  body:not(.site-editor-body) .social-row__handle{
    max-width:none!important;
    text-align:left!important;
    font-size:10px!important;
  }
  body:not(.site-editor-body) .social-row__arrow{grid-row:auto!important}
}
@media (max-width:600px){
  body:not(.site-editor-body) .social-list{padding:7px!important;gap:7px!important}
  body:not(.site-editor-body) .social-row{
    grid-template-columns:32px minmax(0,1fr) 24px!important;
    grid-template-areas:"num title arrow" "num handle arrow"!important;
    gap:4px 9px!important;
    min-height:94px!important;
    padding:13px 11px!important;
    border-radius:14px!important;
  }
  body:not(.site-editor-body) .social-row h2{
    font-size:clamp(38px,12vw,58px)!important;
    line-height:.9!important;
    letter-spacing:-.055em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  body:not(.site-editor-body) .social-row__num{font-size:9px!important}
  body:not(.site-editor-body) .social-row__handle{font-size:9px!important;letter-spacing:.04em!important}
  body:not(.site-editor-body) .social-row__arrow{font-size:21px!important}
}


/* =====================================================================
   V35 — U+ FINAL LOCKUP: NORMAL TYPE, NO HORIZONTAL SQUASHING

   v34 used transform: scaleX(...) on "2731 Collective". That was the source
   of the visibly compressed/distorted lettering. The final lockup now keeps
   every glyph at its natural width. U+ stays in the exact same flex layout
   for every phase; only the phrase's normal font size adapts when the viewport
   is too narrow.
   ===================================================================== */
.u2731-hero__foot{display:none!important}

/* The old 1500px wrapper cap was unnecessarily starving the completed lockup
   of horizontal room on large displays. Widen only the wrapper, not the type. */
.u2731-kinetic-wrap[data-phase="final"]{
  width:100%!important;
  max-width:none!important;
}

/* Do NOT change the kinetic row's layout mode in the final phase. Keeping it
   flex means the stationary U+ cannot jump when 2731 Collective arrives. */
.u2731-kinetic[data-phase="final"],
.u2731-kinetic.is-final{
  width:100%!important;
  max-width:100%!important;
  display:flex!important;
  align-items:baseline!important;
}
.u2731-kinetic[data-phase="final"] .u2731-kinetic__prefix,
.u2731-kinetic.is-final .u2731-kinetic__prefix{
  flex:none!important;
  margin:0!important;
  transform:none!important;
  font-stretch:normal!important;
}
.u2731-kinetic[data-phase="final"] .u2731-kinetic__word,
.u2731-kinetic.is-final .u2731-kinetic__word{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:.035em!important;
  overflow:visible!important;
}

.u2731-kinetic[data-phase="final"] .u2731-phase-layer--final,
.u2731-kinetic.is-final .u2731-phase-layer--final{
  font-size:1em!important;
  line-height:.85!important;
  letter-spacing:-.072em!important;
  align-self:baseline!important;
  justify-self:start!important;
  width:max-content!important;
  max-width:none!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  margin:0!important;
  transform:none!important;
  transform-origin:initial!important;
  font-stretch:normal!important;
}
.u2731-kinetic[data-phase="final"] .u2731-phase-layer--final .u2731-word-group,
.u2731-kinetic.is-final .u2731-phase-layer--final .u2731-word-group{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  transform:none!important;
}
.u2731-kinetic[data-phase="final"] .u2731-phase-layer--final .u2731-word-group[data-after-space="1"],
.u2731-kinetic.is-final .u2731-phase-layer--final .u2731-word-group[data-after-space="1"]{
  flex-basis:auto!important;
  margin-left:.18em!important;
  margin-top:0!important;
}
.u2731-kinetic[data-phase="final"] .u2731-phase-layer--final .u2731-letter,
.u2731-kinetic.is-final .u2731-phase-layer--final .u2731-letter{
  font-stretch:normal!important;
}

/* Fit by changing point size only. No scaleX, skew, stretch, or glyph warp. */
@media (min-width:1500px) and (max-width:1799px){
  .u2731-kinetic[data-phase="final"] .u2731-phase-layer--final,
  .u2731-kinetic.is-final .u2731-phase-layer--final{font-size:.92em!important}
}
@media (min-width:1200px) and (max-width:1499px){
  .u2731-kinetic[data-phase="final"] .u2731-phase-layer--final,
  .u2731-kinetic.is-final .u2731-phase-layer--final{font-size:.82em!important}
}
@media (min-width:901px) and (max-width:1199px){
  .u2731-kinetic[data-phase="final"] .u2731-phase-layer--final,
  .u2731-kinetic.is-final .u2731-phase-layer--final{font-size:.78em!important}
}
@media (max-width:900px){
  .u2731-kinetic[data-phase="final"] .u2731-phase-layer--final,
  .u2731-kinetic.is-final .u2731-phase-layer--final{
    font-size:min(.82em,10vw)!important;
    letter-spacing:-.078em!important;
  }
}
@media (max-width:600px){
  .u2731-kinetic[data-phase="final"] .u2731-phase-layer--final,
  .u2731-kinetic.is-final .u2731-phase-layer--final{
    font-size:min(.66em,9.65vw)!important;
    letter-spacing:-.085em!important;
  }
}

/* v36 — universal Site Studio element editing */
.cms-preview-mode [data-cms-element-key]{cursor:crosshair}
.cms-preview-mode [data-cms-element-key]:hover{outline:2px dashed rgba(74,103,255,.92)!important;outline-offset:2px}
.cms-preview-mode .cms-editor-selected{outline:3px solid #4a67ff!important;outline-offset:3px;box-shadow:0 0 0 1px rgba(255,255,255,.72)!important}

.site-editor-body .editor-tabs{display:flex!important;grid-template-columns:none!important;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;position:sticky;top:0;background:#0b0b0b;z-index:4}
.site-editor-body .editor-tabs button{flex:0 0 auto;min-width:72px;padding:13px 9px!important;white-space:nowrap}
.editor-elements-head{display:grid;gap:3px;padding-bottom:12px;border-bottom:1px solid #303030;margin-bottom:10px}
.editor-elements-head span{font:900 8px/1 Arial,sans-serif;letter-spacing:.12em;color:#737373}
.editor-elements-head b{font:900 13px/1.15 Arial,sans-serif;color:#fff}
.editor-element-search{width:100%;border:1px solid #3a3a3a;background:#111;color:#fff;padding:11px 12px;font:700 11px/1.2 Arial,sans-serif;margin:8px 0 12px}
.editor-element-list{display:grid;gap:5px;max-height:calc(100vh - 250px);overflow:auto;padding-right:2px}
.editor-element-list button{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;text-align:left;gap:8px;border:1px solid #2b2b2b;background:#101010;color:#ddd;padding:8px 9px;cursor:pointer;min-width:0}
.editor-element-list button:hover{background:#181818;border-color:#555}
.editor-element-list button span{font:900 7px/1 Arial,sans-serif;letter-spacing:.08em;color:#777}
.editor-element-list button b{font:800 9px/1.25 Arial,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.editor-element-group{border:1px solid #303030;background:#0e0e0e}
.editor-element-group summary{cursor:pointer;padding:10px 11px;font:900 8px/1 Arial,sans-serif;letter-spacing:.1em;color:#bbb;user-select:none}
.editor-element-group[open] summary{border-bottom:1px solid #282828;color:#fff}
.editor-element-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px}
.editor-element-grid label{min-width:0}
.editor-page-settings,.editor-u2731-kinetic{display:grid;gap:11px}
.editor-page-settings>label,.editor-u2731-kinetic label{display:grid;gap:5px;font:900 8px/1 Arial,sans-serif;letter-spacing:.1em;color:#8b8b8b}
.editor-page-settings input,.editor-page-settings textarea,.editor-u2731-kinetic input{width:100%;border:1px solid #414141;background:#111;color:#fff;padding:10px;font-size:11px;line-height:1.35;resize:vertical}
.editor-page-settings small,.editor-u2731-kinetic>span{font:700 9px/1.45 Arial,sans-serif;color:#6f6f6f}
.editor-u2731-kinetic{border:1px solid #333;padding:11px;background:#0e0e0e;margin:2px 0 4px}
.editor-u2731-kinetic>b{font:900 9px/1 Arial,sans-serif;letter-spacing:.1em;color:#fff}
.editor-field__head small{display:block;margin-top:5px;font:700 7px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;color:#606060;overflow-wrap:anywhere}

@media(max-width:760px){
  .editor-element-grid{grid-template-columns:1fr}
  .site-editor-body .editor-tabs button{min-width:68px!important;font-size:7px!important}
  .editor-element-list{max-height:55vh}
}
