@font-face{font-family:Lab;src:local("Helvetica Neue");font-display:swap}
@font-face{font-family:"Qalisha Signature Serif";src:url("assets/fonts/qalisha-signature-serif.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#fff;--ink:#242720;--accent:#e9552d;--edge:30px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:0}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Lab,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
::selection{background:var(--accent);color:white}
h1,h2,h3,p{margin:0}
em{font-style:normal;color:var(--accent)}
.wrap{width:calc(100% - 112px);max-width:1600px;margin-inline:auto}
/* Four persistent corners. Difference blending keeps white lettering legible
   over both the bright gallery and the moving full-screen reel. */
.corner-nav{position:fixed;inset:0;z-index:30;pointer-events:none;mix-blend-mode:difference;color:white}
.corner-link{position:absolute;display:block;pointer-events:auto;font-family:"Qalisha Signature Serif",Georgia,serif;font-size:clamp(30px,3vw,54px);font-weight:400;line-height:1.1;letter-spacing:-.025em;padding:8px;min-height:44px;transition:opacity .2s}
.corner-link:hover{opacity:.65}
.corner-link:focus-visible{outline-color:white}
.corner-reel{top:max(18px,env(safe-area-inset-top));left:22px}
.corner-work{top:max(18px,env(safe-area-inset-top));right:22px}
.corner-about{bottom:max(18px,env(safe-area-inset-bottom));left:22px}
.corner-contact{bottom:max(18px,env(safe-area-inset-bottom));right:22px}
.reel{width:100%;margin:0;background:#101010}
.reel-stage{position:relative;width:100%;height:100svh;min-height:360px;overflow:hidden;background:#101010}
.reel-stage>video{display:block;width:100%;height:100%;object-fit:cover}
.reel-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;align-items:center;width:86px;height:86px;border-radius:50%;background:#ffffff20;color:white;border:1px solid #ffffff80;backdrop-filter:blur(12px);transition:background .2s,transform .2s}
.reel-play:hover{background:#ffffff45;transform:translate(-50%,-50%) scale(1.07)}
.play-icon{font-size:25px;margin-left:5px}
.motion-toggle{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#00000040;color:white;border:1px solid #ffffff55;border-radius:50%;padding:0;font-size:16px;backdrop-filter:blur(12px)}
.work{width:100%;padding:var(--edge);scroll-margin-top:0}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--edge)}
.project{min-width:0}
.project-media{display:block;width:100%;padding:0;border:0;border-radius:5px;background:#171717;position:relative;aspect-ratio:4/5;overflow:hidden;text-align:left}
.project-media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s}
.project-media:hover video{transform:scale(1.025)}
.project-hover{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:44px 24px 24px;background:linear-gradient(transparent,#0009);color:white;font-size:18px;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.project-hover>span:last-child{font-size:26px}
.project-media:hover .project-hover,.project-media:focus-visible .project-hover{opacity:1;transform:none}
.project:last-child{grid-column:1/-1}
.project:last-child .project-media{aspect-ratio:21/9}
.about{background:#f4f2eb;padding:110px 0 65px;scroll-margin-top:0}
.about-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:40px}
.about-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}
.eyebrow{font-family:Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:1.8px;display:flex;align-items:center;gap:8px}
.asterisk{font-family:Arial,sans-serif;color:var(--accent);font-size:180px;line-height:.9;display:block;transform:rotate(-8deg)}
.about h2{font-size:clamp(48px,5.2vw,78px);line-height:1.03;font-weight:500;letter-spacing:-.055em}
.about-copy>p{font-size:20px;line-height:1.5;max-width:530px;margin-top:30px;letter-spacing:-.4px}
.disciplines{display:flex;flex-wrap:wrap;gap:12px 23px;margin-top:35px;font-size:11px}
.disciplines span:before{content:"↗";color:var(--accent);margin-right:7px}
.about-copy>.contact-line{margin-top:28px;font-size:clamp(14px,2.2vw,20px);overflow-wrap:anywhere}
.contact-line a{border-bottom:1px solid #9e9f93;padding-bottom:5px}
.contact-line a:hover{color:var(--accent);border-color:currentColor}
#contacts{scroll-margin-top:35svh}
.cursor-intro{height:128px;width:min(540px,calc(100% - 48px));display:flex;align-items:center;justify-content:center;margin:64px auto 0;pointer-events:none}
.cursor-loop{display:block;width:100%;height:100%;overflow:visible}
.footer{padding-top:60px;padding-bottom:105px}
.footer-brand{font-weight:500;font-size:clamp(70px,16vw,250px);letter-spacing:-.08em;line-height:1.1;display:flex;justify-content:space-between;align-items:center}
.footer-brand>span{font-weight:400;color:var(--accent);font-size:.65em}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;border-top:1px solid #cecec4;margin-top:30px;padding-top:24px}
.footer-bottom>a{font-size:9px;letter-spacing:.8px}
dialog{border:0;background:#141611;color:white;width:min(1200px,94vw);max-width:94vw;padding:24px;max-height:95dvh;overflow:auto}
dialog::backdrop{background:#10120ff0;backdrop-filter:blur(9px)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.dialog-top .eyebrow{font-size:8px;color:#aaa}
.dialog-top h2{font-size:28px;font-weight:500;margin-top:8px}
.dialog-close{background:transparent;color:white;border:1px solid #ffffff50;padding:8px 13px;display:flex;align-items:center;gap:18px;font-size:12px}
.dialog-close span{font-size:24px}
.dialog-bottom{display:flex;justify-content:space-between;font-size:10px;margin-top:15px;gap:15px;color:#bebeb8}
#film-player{display:block;width:100%;max-height:72dvh;background:black}
.film-error{padding:20px 0;font-size:14px}
.film-error a{text-decoration:underline}
.skip-link{position:fixed;left:15px;top:-80px;padding:15px;background:white;z-index:100}
.skip-link:focus{top:15px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1000px){
  :root{--edge:20px}
  .wrap{width:calc(100% - 56px)}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project:last-child{grid-column:auto}
  .project:last-child .project-media{aspect-ratio:4/5}
  .corner-reel,.corner-about{left:12px}
  .corner-work,.corner-contact{right:12px}
  .about-grid{grid-template-columns:.6fr 1fr}
  .about-copy>p{font-size:18px}
  .asterisk{font-size:130px}
  .about-label .eyebrow{font-size:8px;line-height:1.6;max-width:135px}
}
@media(max-width:600px){
  :root{--edge:12px}
  .wrap{width:calc(100% - 36px)}
  .corner-link{font-size:30px}
  .corner-reel,.corner-about{left:6px}
  .corner-work,.corner-contact{right:6px}
  .corner-reel,.corner-work{top:max(8px,env(safe-area-inset-top))}
  .corner-about,.corner-contact{bottom:max(10px,env(safe-area-inset-bottom))}
  .reel-play{width:68px;height:68px}
  .play-icon{font-size:21px}
  .motion-toggle{bottom:20px}
  .work-grid{grid-template-columns:1fr}
  .project-media,.project:last-child .project-media{aspect-ratio:1/1}
  .project-hover{padding:36px 18px 18px;font-size:16px}
  .about{padding:80px 0 40px}
  .about-grid{display:block}
  .about-label{flex-direction:row;align-items:center;margin-bottom:30px}
  .about-label .eyebrow{max-width:none}
  .asterisk{font-size:65px}
  .about h2{font-size:48px}
  .about-copy>p{font-size:18px;margin-top:24px}
  .disciplines{gap:12px 16px;font-size:10px;margin-top:25px}
  .cursor-intro{margin-top:40px;height:100px}
  .footer{padding-top:35px;padding-bottom:100px}
  .footer-brand{font-size:17vw}
  .footer-bottom{font-size:9px;flex-wrap:wrap;row-gap:18px;line-height:1.4;margin-top:22px;padding-top:20px}
  .footer-bottom>span:nth-child(2){order:3;width:100%;color:#65675e}
  dialog{padding:15px;width:96vw;max-width:96vw}
  .dialog-top h2{font-size:24px}
  .dialog-top .eyebrow{font-size:7px}
  .dialog-bottom{font-size:8px}
  .dialog-close{font-size:10px;gap:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
