:root{color-scheme:dark;--bg:#10110f;--ink:#eeeae0;--muted:#b1b0a7;--gold:#e6c56d;--line:#35362f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 5%;border-bottom:1px solid var(--line)}.brand{font-size:19px;font-weight:700;letter-spacing:.03em;line-height:1.4}.brand span{display:block;font-size:12px;letter-spacing:.17em;color:var(--muted);font-weight:400}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a:hover,.text-link:hover{color:var(--gold)}.nav-reel{border:1px solid #666454;padding:10px 18px;border-radius:2px}.nav-reel span{margin-left:16px}.intro,.work,.about-strip,.detail,.bio,.contact{margin:0 auto;max-width:1800px;padding-left:5%;padding-right:5%}.intro{padding-top:38px}.intro-line,.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:500}.intro-line{display:flex;justify-content:space-between;color:var(--muted)}h1{font-size:clamp(60px,8.8vw,142px);font-weight:500;line-height:.97;letter-spacing:-.065em;margin:32px 0 36px}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--gold);letter-spacing:-.06em}.hero-frame{position:relative;aspect-ratio:2.5;overflow:hidden;background:#32281c}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 46%;display:block}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 65%)}.hero-caption{position:absolute;left:36px;right:36px;bottom:28px;display:flex;align-items:end;justify-content:space-between;gap:24px}.hero-caption h2{font-size:36px;line-height:1.1;letter-spacing:-.035em;font-weight:400;margin:12px 0 0}.play-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--gold);border:0;color:#17170f;padding:17px 25px;font-weight:600;white-space:nowrap;border-radius:2px;transition:background .2s,transform .2s}.play-button:hover{background:#f6dc91;transform:translateY(-2px)}.play-icon{font-size:14px}.frame-note{position:absolute;top:24px;left:36px;font-size:12px;letter-spacing:.16em;text-shadow:0 1px 6px #000}.under-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:14px;border-bottom:1px solid var(--line);padding:16px 0}.under-hero p{margin:0}.under-hero a{color:var(--ink)}.work{padding-top:90px;padding-bottom:90px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px;gap:20px}.section-heading h2{font-size:38px;font-weight:400;letter-spacing:-.04em;margin:0}.section-heading h2 span{font-size:12px;color:var(--gold);letter-spacing:.05em;vertical-align:top;margin-left:15px;display:inline-block;margin-top:10px}.section-heading p{color:var(--muted);font-size:14px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:48px 30px}.project-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#191b19}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .6s;display:block}.project:hover img{transform:scale(1.035);filter:brightness(1.08)}.project-open{position:absolute;bottom:15px;right:15px;background:var(--bg);border:1px solid #ffffff44;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:22px}.project-info{display:flex;gap:16px;padding-top:17px;align-items:baseline}.index{font-size:12px;color:var(--gold)}.project-info h3{font-size:25px;font-weight:400;letter-spacing:-.035em;margin:0 0 3px}.project-info p{font-size:13px;color:var(--muted);margin:0}.role{margin-left:auto;font-size:12px;color:var(--muted);text-align:right;max-width:125px}.about-strip{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:60px;padding-bottom:90px;border-top:1px solid var(--line);align-items:center}.about-strip h2{font-size:clamp(32px,3.6vw,58px);font-weight:400;letter-spacing:-.05em;line-height:1.1}.about-strip p{color:var(--muted);max-width:440px;line-height:1.8}.about-strip img{width:100%;height:auto}.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding:12px 0}.eyebrow{color:var(--gold)}footer{display:flex;gap:24px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:35px 5%;font-size:14px}footer span{color:var(--muted)}dialog{width:min(1100px,94vw);padding:20px;background:#151613;color:var(--ink);border:1px solid #48493e}dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.dialog-bar h2{font-size:20px;font-weight:400;margin:0}.close{color:var(--ink);border:1px solid var(--line);padding:7px 14px;background:none}.player{aspect-ratio:16/9;background:#000}.player iframe{width:100%;height:100%;border:0}.external-video{display:inline-block;margin-top:15px;font-size:14px;color:var(--gold)}body:has(dialog[open]){overflow:hidden}.skip{position:absolute;top:-100px;padding:12px;background:var(--gold);color:#000;z-index:10}.skip:focus{top:10px}.detail,.bio,.contact{padding-top:50px;padding-bottom:90px}.back{font-size:14px;color:var(--muted)}.detail h1,.bio h1,.contact h1{font-size:clamp(50px,7vw,105px);margin-bottom:25px}.detail-meta{display:flex;justify-content:space-between;gap:20px;color:var(--muted);margin-bottom:32px;font-size:14px}.detail .hero-frame{aspect-ratio:16/8.5}.detail .hero-image{object-fit:contain}.detail-copy{font-size:20px;max-width:780px;line-height:1.7;margin:40px 0}.next-project{display:flex;justify-content:space-between;padding:24px 0;border-top:1px solid var(--line);font-size:24px}.bio-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start}.bio-grid img{width:100%;height:auto}.bio-copy{font-size:18px;line-height:1.8}.bio-copy p:first-child{margin-top:0}.contact p{font-size:21px;color:var(--muted)}.email{font-size:clamp(22px,4vw,58px);color:var(--gold);overflow-wrap:anywhere;display:inline-block;border-bottom:1px solid var(--gold);margin:24px 0}.contact{min-height:70vh}.contact-links{display:flex;gap:30px;margin:30px 0}.secondary-videos{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:32px}.secondary-videos .play-button{background:transparent;border:1px solid var(--line);color:var(--ink)}
@media(min-width:1600px){.intro h1{max-width:1300px}.hero-frame{aspect-ratio:2.8}}@media(max-width:800px){header{padding:18px 5%;gap:16px;flex-wrap:wrap}.brand{font-size:17px}nav{gap:18px}.nav-reel{padding:8px 12px}.nav-reel span{display:none}.intro{padding-top:25px}h1{margin:28px 0;font-size:clamp(54px,10vw,80px)}.hero-frame{aspect-ratio:1.65}.hero-caption{left:20px;right:20px;bottom:22px}.hero-caption h2{font-size:28px}.frame-note{left:20px;top:18px}.play-button{padding:14px 18px}.work{padding-top:60px;padding-bottom:60px}.section-heading h2{font-size:30px}.projects{gap:35px 20px}.role{display:none}.project-info{gap:10px}.project-info h3{font-size:22px}.about-strip{gap:6%;padding-top:45px;padding-bottom:55px}.bio-grid{grid-template-columns:1fr}.bio-grid img{margin-bottom:30px;max-height:500px;object-fit:cover}footer{flex-wrap:wrap}footer span{display:none}}
@media(max-width:520px){header{display:block}.brand span{display:none}nav{margin-top:18px;justify-content:space-between;gap:12px}.intro-line{font-size:10px;letter-spacing:.12em}.intro-line span:last-child{display:none}h1{font-size:58px}.hero-frame{aspect-ratio:1.2}.hero-caption{align-items:start;flex-direction:column;gap:20px}.hero-caption .eyebrow{font-size:10px}.hero-caption h2{font-size:30px}.frame-note{font-size:10px}.under-hero{align-items:start;font-size:12px}.under-hero p{max-width:170px}.section-heading{display:block;margin-bottom:25px}.section-heading p{margin:8px 0}.projects{grid-template-columns:1fr;gap:34px}.project-info h3{font-size:25px}.role{display:block}.about-strip{grid-template-columns:1fr;gap:30px}.about-strip h2{font-size:42px}.about-strip img{order:-1}.detail-meta{flex-direction:column;gap:7px}.detail .hero-frame{aspect-ratio:1.1}.detail .hero-caption{left:16px;bottom:16px}.detail-copy{font-size:18px}.next-project{font-size:18px}.contact p{font-size:18px}footer{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.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}.intro>.hero-frame{margin-top:28px}

/* A brief opening reveal; the page remains usable throughout. */
@media (prefers-reduced-motion: no-preference) and (min-width: 801px) {
  .intro > .hero-frame { animation: frame-reveal 650ms cubic-bezier(.22,1,.36,1) both; }
  .intro .hero-image { animation: image-settle 1100ms cubic-bezier(.22,1,.36,1) both; }
  .intro .hero-caption { animation: caption-arrive 700ms 100ms cubic-bezier(.22,1,.36,1) both; }
  @keyframes frame-reveal {
    from { clip-path: inset(6% 3%); }
    to { clip-path: inset(0); }
  }
  @keyframes image-settle {
    from { transform: scale(1.055); }
    to { transform: scale(1); }
  }
  @keyframes caption-arrive {
    from { opacity: .65; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
@media (hover: hover) and (pointer: fine) {
  .project-open { opacity: 0; transform: translateY(8px); transition: opacity 220ms ease, transform 300ms ease, background 220ms ease; }
  .project:hover .project-open, .project:focus-visible .project-open { opacity: 1; transform: translateY(0); background: var(--gold); color: var(--bg); }
  .project:focus-visible img { transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
  .project:hover img, .project:focus-visible img, .play-button:hover { transform: none; }
  .project-open { transform: none; }
}

.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity 600ms ease}
.hero-video.is-ready{opacity:1}
.motion-toggle{position:absolute;right:24px;top:18px;z-index:2;background:#10110fcc;color:#eeeae0;border:1px solid #ffffff66;padding:10px 14px;border-radius:2px;font-size:14px;min-height:44px}
.motion-toggle:hover{background:#10110f}
.motion-toggle[hidden]{display:none}
@media(max-width:800px),(prefers-reduced-motion:reduce){.hero-video,.motion-toggle{display:none}}
