@font-face{font-family:S7Bodoni;src:url('assets/bodoni-moda.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:S7Roboto;src:url('assets/roboto.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:S7Plex;src:url('assets/ibm-plex-mono.ttf') format('truetype');font-weight:400;font-display:swap}
.s7-hero,.s7-header,.s7-work-intro{box-sizing:border-box;color:#141414;font-family:Arial,Helvetica,sans-serif}
.s7-hero *,.s7-header *,.s7-work-intro *{box-sizing:border-box}
.s7-header{position:fixed;top:0;left:0;z-index:999;display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;max-width:none;padding:30px 5.6%;border:0;border-radius:0;background:#ffffffed;box-shadow:none;transition:background .3s}
.s7-header.is-scrolled{top:0;background:#fffffff7;box-shadow:none}
body.admin-bar .s7-header{top:32px}
.s7-header a{color:inherit;text-decoration:none!important}
.s7-brand{font-size:16px;font-weight:800;letter-spacing:-.6px;white-space:nowrap}
.s7-nav{display:flex;align-items:center;gap:34px}
.s7-nav a{font-size:12px;font-weight:600;letter-spacing:.04em;position:relative}
.s7-nav a:not(.s7-contact)::after{content:'';position:absolute;height:1px;left:0;right:100%;bottom:-5px;background:currentColor;transition:right .2s}
.s7-nav a:hover::after{right:0}
.s7-nav .s7-contact{padding:0;border-radius:0;background:transparent;color:inherit}
.s7-menu-toggle{display:none}
.s7-header :focus-visible,.s7-hero :focus-visible,.s7-work-intro :focus-visible{outline:2px solid #7428ff;outline-offset:5px}
.s7-hero{position:relative;isolation:isolate;overflow:hidden;overflow:clip;width:100%;max-width:1920px;margin:0 auto;background:#fff;min-height:760px;height:81vw;max-height:1555px}
.s7-copy{position:relative;z-index:4;width:44%;padding-top:clamp(180px,17.4vw,334px);margin-left:5.6%}
.s7-copy h1{font-family:S7Bodoni,'Bodoni MT',Didot,Georgia,serif;font-weight:400;font-size:clamp(78px,10.1vw,194px);font-optical-sizing:none;font-variation-settings:'opsz' 32,'wght' 400;font-variant-ligatures:none;line-height:1.08;letter-spacing:-.02em;margin:0 0 42px;color:#080808}
.s7-title-line{display:inline-block;animation:s7-title-reveal 1.25s cubic-bezier(.16,1,.3,1) .15s both}
.s7-title-line:last-child{animation-delay:.35s}
.s7-role{font-family:S7Roboto,Arial,sans-serif;font-size:clamp(10px,.94vw,18px);font-weight:400;line-height:1.7;letter-spacing:.01em;margin:0;white-space:nowrap;animation:s7-subhead-reveal 1s cubic-bezier(.16,1,.3,1) .75s both}
@keyframes s7-title-reveal{from{opacity:0;transform:translateY(.28em);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(-15% -10% -15% -10%)}}
@keyframes s7-subhead-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.s7-hero[data-paused=true] .s7-title-line,.s7-hero[data-paused=true] .s7-role{animation:none}
.s7-hero[data-offscreen=true] .s7-title-line,.s7-hero[data-offscreen=true] .s7-role{animation-play-state:paused}
.s7-bio{font:400 clamp(12px,1.05vw,20px)/1.6 S7Plex,monospace;max-width:92%;margin:clamp(35px,5.9vw,112px) 0 0}
.s7-art{position:absolute;width:63.54%;aspect-ratio:1220/1420;right:0;top:80px;pointer-events:none}
.s7-background-glow{position:absolute;left:17%;top:30%;width:75%;height:40%;background:radial-gradient(ellipse at 24% 46%,#00cbd936,transparent 54%),radial-gradient(ellipse at 76% 42%,#e545dc2c,transparent 58%),radial-gradient(ellipse at 55% 70%,#d0cbea20,transparent 65%);filter:blur(25px);animation:s7-glow 12s ease-in-out infinite alternate}
@keyframes s7-glow{from{opacity:.45;transform:translate(-10px,5px) scale(.96)}to{opacity:.9;transform:translate(12px,-9px) scale(1.05)}}
.s7-character .s7-object{position:relative}
.s7-character-film{position:absolute;left:-15.14%;top:-18.09%;width:130.28%;height:auto;display:none}
.s7-character.has-film .s7-character-film{display:block}
.s7-character.has-film .s7-object>img{visibility:hidden}
.s7-video-source{display:none!important}
.s7-combined>img{animation:none!important}
.s7-combined-film{position:absolute;inset:0;width:100%;height:100%;display:none;object-fit:contain;background:white}
.s7-combined.has-film .s7-combined-film{display:block}
.s7-combined.has-film>img{visibility:hidden}
.s7-combined::after{content:'';position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(to right,#fff 0%,transparent 10%,transparent 91%,#fff 100%),linear-gradient(to bottom,#fff 0%,transparent 9%,transparent 91%,#fff 100%)}
.s7-hero[data-paused=true] .s7-background-glow,.s7-hero[data-offscreen=true] .s7-background-glow{animation-play-state:paused}
.s7-layer.s7-buildings .s7-object{animation:s7-city-shift 16s ease-in-out infinite alternate}
@keyframes s7-city-shift{from{transform:translate(-3px,4px)}to{transform:translate(7px,-6px)}}
.s7-layer.s7-glitch .s7-object{animation:s7-color-shift 10s ease-in-out infinite alternate}
@keyframes s7-color-shift{from{transform:translate(-5px,2px);filter:drop-shadow(-2px 0 4px #00d7e329)}to{transform:translate(6px,-3px);filter:drop-shadow(2px 0 6px #e65beb35)}}
.s7-layer{position:absolute;transform:translate3d(calc(var(--mx,0px)*var(--depth,1)),calc(var(--my,0px)*var(--depth,1)),0);transition:transform .6s ease-out}
.s7-layer img{display:block;width:100%;height:auto;max-width:none!important;animation:s7-float var(--duration,8s) ease-in-out var(--delay,0s) infinite alternate;transform-origin:50% 50%}
.s7-object{animation:s7-arrive 1.1s cubic-bezier(.2,.7,.2,1) var(--arrival,0s) backwards}
.s7-layer.s7-satellite img{animation:s7-orbit 13s ease-in-out infinite}
.s7-layer.s7-floppy img{animation:s7-tumble 9s ease-in-out -2s infinite}
.s7-layer.s7-asteroid img{animation:s7-rock 17s linear infinite}
.s7-layer.s7-computer img{animation:s7-computer-drift 9s ease-in-out -2s infinite}
.s7-layer.s7-laptop img{animation:s7-laptop-drift 11s ease-in-out -4s infinite}
.s7-layer.s7-plant img{animation:s7-plant-sway 8s ease-in-out -1s infinite;transform-origin:55% 90%}
.s7-layer.s7-cursor img{animation:s7-cursor 8s cubic-bezier(.45,0,.2,1) infinite;transform-origin:22% 18%}
.s7-layer.s7-character img,.s7-layer.s7-buildings img,.s7-layer.s7-block img,.s7-layer.s7-shadow img{animation:none}
.s7-layer.s7-glitch img{animation:s7-glitch 11s steps(1,end) infinite}
.s7-hero.is-reacting .s7-glitch img{animation:s7-burst .7s steps(1,end) both}
@keyframes s7-arrive{from{opacity:0;transform:translate3d(0,38px,0) scale(.94)}to{opacity:1;transform:none}}
@keyframes s7-orbit{0%,100%{transform:translate(0,0) rotate(-6deg)}25%{transform:translate(22px,-12px) rotate(3deg)}50%{transform:translate(32px,10px) rotate(8deg)}75%{transform:translate(-8px,18px) rotate(0)}}
@keyframes s7-tumble{0%,100%{transform:perspective(650px) translateY(0) rotateY(-22deg) rotate(-8deg)}50%{transform:perspective(650px) translateY(-22px) rotateY(24deg) rotate(9deg)}}
@keyframes s7-rock{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-15px,17px) rotate(22deg)}}
@keyframes s7-computer-drift{0%,100%{transform:perspective(900px) translate(0,4px) rotateY(-5deg) rotate(-2deg)}50%{transform:perspective(900px) translate(-9px,-19px) rotateY(6deg) rotate(2deg)}}
@keyframes s7-laptop-drift{0%,100%{transform:perspective(900px) translate(3px,6px) rotateY(5deg) rotate(2deg)}50%{transform:perspective(900px) translate(-12px,-22px) rotateY(-7deg) rotate(-2deg)}}
@keyframes s7-plant-sway{0%,100%{transform:translate(0,5px) rotate(-2deg)}50%{transform:translate(10px,-15px) rotate(3deg)}}
@keyframes s7-cursor{
 0%,10%{transform:translate(110vw,-90px) rotate(24deg);opacity:0}
 11%{opacity:1}
 30%{transform:translate(-5%,-3%) rotate(-8deg);opacity:1}
 36%,41%{transform:translate(0,0) rotate(-3deg) scale(1);opacity:1}
 44%{transform:translate(0,0) rotate(-3deg) scale(.82);opacity:1}
 48%{transform:translate(0,0) rotate(-3deg) scale(1.07);opacity:1}
 52%,58%{transform:translate(0,0) rotate(-3deg) scale(1);opacity:1}
 72%{transform:translate(110vw,-160px) rotate(30deg);opacity:1}
 73%,100%{transform:translate(110vw,-160px) rotate(30deg);opacity:0}
}
@keyframes s7-click{0%,100%{transform:translate(0,0) rotate(-6deg)}35%{transform:translate(26%,-30%) rotate(12deg) scale(1.08)}60%{transform:translate(26%,-30%) rotate(12deg) scale(.85)}80%{transform:translate(20%,-24%) rotate(5deg) scale(1.06)}}
@keyframes s7-burst{0%,100%{transform:none}30%{transform:translate(13px,-3px)}65%{transform:translate(-8px,3px)}}
@keyframes s7-float{from{transform:translateY(0) rotate(calc(var(--rotate,1deg)*-1))}to{transform:translateY(var(--lift,-12px)) rotate(var(--rotate,1deg))}}
@keyframes s7-glitch{0%,80%,100%{transform:none}82%{transform:translate(9px,-2px)}85%{transform:translate(-7px,2px)}88%{transform:none}}
.s7-motion{position:absolute;bottom:35px;left:5.6%;display:flex;gap:8px;align-items:center;padding:8px 0;border:0!important;border-radius:0!important;color:#666!important;background:transparent!important;font:10px/1.4 'Courier New',monospace;letter-spacing:.04em;cursor:pointer}
.s7-motion::before{content:'';height:5px;width:5px;border-radius:50%;background:#797979}
.s7-motion[aria-pressed=true]::before{background:#9bbd7a}
.s7-hero[data-paused=true] .s7-art *,.s7-hero[data-offscreen=true] .s7-art *{animation-play-state:paused!important}
.s7-hero[data-paused=true] .s7-layer{transform:none;transition:none}
.s7-work-intro{text-align:center;padding:10px 24px 90px;background:white;scroll-margin-top:120px}
.s7-work-intro p{font-size:14px;margin:0}
.s7-work-intro h2{font:400 80px/.95 S7Bodoni,Georgia,serif;letter-spacing:-5px;margin:9px 0 14px}
.s7-work-intro a{display:inline-block;margin-top:28px;color:inherit;text-decoration:none;font-size:22px}
@media(min-width:1921px){.s7-copy{padding-top:334px}}
@media(max-width:1000px) and (min-width:701px){.s7-copy h1{font-size:10vw}.s7-copy{padding-top:205px}.s7-role{white-space:normal;max-width:260px}.s7-art{top:140px}.s7-copy h1{margin-bottom:26px}}
@media(max-width:700px){
 .s7-header{top:0;width:100%;padding:24px 7%;gap:16px}.s7-brand{font-size:14px}
 .s7-menu-toggle{display:block;background:none!important;border:0!important;padding:0!important;font:12px Arial!important;color:#171717!important;cursor:pointer}
 .s7-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px 7% 32px;border-radius:0;background:#fff;box-shadow:none;border:0;align-items:stretch;gap:24px}
 .s7-nav.is-open{display:flex;flex-direction:column}.s7-nav a{font-size:15px}.s7-nav .s7-contact{text-align:center;padding:14px}
 body.admin-bar .s7-header{top:46px}
 .s7-hero{height:auto;min-height:0;max-height:none;padding-bottom:55px}
 .s7-copy{margin-left:7%;width:86%;padding-top:145px}
 .s7-copy h1{font-size:clamp(56px,17vw,116px);line-height:1.08;letter-spacing:-.02em;margin-bottom:27px}
 .s7-role{font-size:10px;white-space:normal;max-width:310px;line-height:1.7;letter-spacing:.025em}
 .s7-bio{font-size:12px;max-width:345px;line-height:1.55;margin-top:28px}
 .s7-art{position:relative;top:auto;right:auto;width:110%;margin:34px 0 0 -10%;aspect-ratio:1220/1420}
 .s7-motion{left:7%;bottom:16px}.s7-work-intro{padding-top:20px;padding-bottom:65px}.s7-work-intro h2{font-size:66px}
}
@media(prefers-reduced-motion:reduce){.s7-art *,.s7-title-line,.s7-role{animation:none!important}.s7-layer{transform:none!important;transition:none!important}.s7-header,.s7-nav a::after{transition:none}}

/* Bronx integration: target only pages where the replacement header is active. */
body.s7-header-enabled .bronx-main section.header,
body.s7-header-enabled .bronx-main .popup-menu-wrap{display:none!important}
body.s7-hero-enabled .elementor-element-5d83a1d{padding:0!important;margin:0!important;gap:0!important;max-width:none!important;width:100%!important}
body.s7-hero-enabled .elementor-element-5d13d67{margin:0!important;width:100%!important;max-width:none!important}
body.s7-hero-enabled .elementor-element-5d13d67>.elementor-widget-container{padding:0!important;margin:0!important}
.s7-copy h1{text-transform:none!important}.s7-copy p{color:#141414}
.s7-header button{text-transform:none;letter-spacing:normal}
.s7-header a{font-family:Arial,Helvetica,sans-serif;line-height:1.4}
