@charset "UTF-8";
:root{color-scheme:dark;--bg:#101110;--panel:#1b1d1b;--ink:#f1f0e9;--muted:#a4a79f;--line:#343731;--accent:#ff642f;--gutter:clamp(1.25rem,4vw,5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.55 Arial,Helvetica,sans-serif}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img,video{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,video:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:#101110}.skip-link{position:fixed;left:1rem;top:-5rem;padding:.7rem 1rem;background:var(--accent);color:#101110;z-index:20}.skip-link:focus{top:1rem}
.site-header{min-height:6rem;padding:1.3rem var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:2rem}.brand{font-size:1.55rem;font-weight:800;letter-spacing:-.09em;line-height:1}.brand span{color:var(--accent)}.site-nav{display:flex;gap:clamp(1rem,2.6vw,3rem);align-items:center}.site-nav a{font-size:.875rem;color:var(--muted);padding:.55rem 0;position:relative}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--ink)}.site-nav a[aria-current=page]:after{content:"";position:absolute;height:2px;background:var(--accent);bottom:0;left:0;right:0}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:.5rem .9rem}
main{min-height:65vh}.wrap{padding-inline:var(--gutter);max-width:1800px;margin:auto}.eyebrow,.meta,.breadcrumb,.tag{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.eyebrow{color:var(--muted)}.eyebrow b{color:var(--accent);font-weight:400;margin-right:.7rem}.home-intro{padding-block:2.5rem 1.7rem}.intro-line{display:flex;justify-content:space-between;gap:1.5rem}.home-title{font-size:clamp(3rem,10.5vw,11.9rem);line-height:1.04;letter-spacing:-.072em;margin:1.15rem 0 0;font-weight:800;white-space:nowrap}.home-title span{color:var(--accent)}.home-title>.second-name{color:var(--ink)}.home-feature{margin:0;position:relative}.feature-link{display:block;position:relative;background:#000;overflow:hidden}.feature-link>img{width:100%;aspect-ratio:16/8.5;object-fit:contain;transition:filter .35s}.feature-link:hover>img{filter:brightness(.8)}.play-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6.8rem;height:6.8rem;display:grid;place-content:center;text-align:center;gap:.3rem;border-radius:50%;background:var(--accent);color:#131411;transition:scale .25s}.play-badge span{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.play-badge b{font-size:1.3rem;font-weight:400}.feature-link:hover .play-badge{scale:1.07}.feature-caption{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.25rem 0;border-bottom:1px solid var(--line)}.feature-caption strong{font-size:1.1rem;font-weight:500}.feature-caption .meta{color:var(--muted)}.section{padding-block:5.2rem}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.section-heading h2{font-size:clamp(2rem,4vw,4rem);font-weight:500;letter-spacing:-.05em;margin:0;line-height:1.12}.text-link{font-size:.875rem;border-bottom:1px solid var(--muted);padding-bottom:.3rem;white-space:nowrap}.text-link:hover{color:var(--accent);border-color:var(--accent)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 1.5rem}.project-card{min-width:0}.card-image{position:relative;background:var(--panel);overflow:hidden;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card-image.contain img{object-fit:contain;padding:1rem}.project-card:hover .card-image img{transform:scale(1.025)}.card-image .tag{position:absolute;top:1rem;left:1rem;padding:.4rem .6rem;background:#111c;border:1px solid #ffffff30;color:#fff;backdrop-filter:blur(8px)}.card-copy{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:1rem}.card-copy h3{font-size:1.25rem;letter-spacing:-.025em;margin:0;font-weight:500}.card-copy p{margin:0;color:var(--muted);font-size:.8125rem}.discipline-list{border-top:1px solid var(--line)}.discipline-row{padding:1.8rem 0;display:grid;grid-template-columns:3rem 1fr;align-items:center;gap:1rem;border-bottom:1px solid var(--line)}.discipline-row:hover .discipline-title{color:var(--accent)}.discipline-title{font-size:clamp(2rem,5vw,5rem);line-height:1.05;letter-spacing:-.055em;transition:color .2s}.discipline-detail{color:var(--muted);font-size:.875rem;margin-top:.6rem}.section-note{max-width:38rem;color:var(--muted);font-size:1.1rem;line-height:1.7}.site-footer{margin-top:2rem;border-top:1px solid var(--line);padding:2rem var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.site-footer p{font-size:.75rem;color:var(--muted);margin:0}.footer-name{font-size:1rem;letter-spacing:-.025em}
.breadcrumb{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;color:var(--muted);padding-top:2rem}.breadcrumb a:hover{color:var(--accent)}.breadcrumb span[aria-hidden]{opacity:.5}.page-intro{padding:3.4rem 0 3rem}.page-intro h1{font-size:clamp(3rem,8vw,8rem);font-weight:500;line-height:1.05;letter-spacing:-.065em;margin:.7rem 0 1.4rem;max-width:16ch;overflow-wrap:anywhere}.page-intro p{max-width:38rem;color:var(--muted);font-size:1.05rem;margin:0}.subnav{display:flex;gap:.6rem;flex-wrap:wrap;padding:0 0 3rem}.subnav a{font-size:.875rem;border:1px solid var(--line);border-radius:2rem;padding:.65rem 1.05rem}.subnav a:hover,.subnav a[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.category-section{padding-bottom:4.5rem}.group-title{font-size:1.5rem;font-weight:500;letter-spacing:-.03em;margin:0}.count{color:var(--muted);font:400 .75rem ui-monospace,monospace;vertical-align:super;margin-left:.5rem}.detail-intro{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end}.detail-meta{border-top:1px solid var(--line);padding-top:1rem;min-width:13rem;margin-bottom:.2rem}.detail-meta dt{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.detail-meta dd{margin:.5rem 0 1rem;font-size:.875rem}.media-stack{display:grid;gap:3rem}.media-item{margin:0;min-width:0}.media-stage{background:#080908;display:grid;place-items:center;border:1px solid var(--line)}.media-stage video{width:100%;max-height:82vh;object-fit:contain}.media-item figcaption{padding-top:.8rem;color:var(--muted);font-size:.8125rem;display:flex;justify-content:space-between;gap:1rem}.media-fallback{font-size:.875rem;margin:.65rem 0 0;color:var(--muted)}.media-fallback a{text-decoration:underline}.project-bottom{margin-top:4rem;padding:2rem 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}.gallery{columns:3;column-gap:1.5rem}.gallery-item{break-inside:avoid;margin:0 0 1.5rem;display:inline-block;width:100%;vertical-align:top}.gallery-trigger{display:block;width:100%;border:0;padding:0;background:var(--panel);cursor:zoom-in;overflow:hidden}.gallery-trigger img{width:100%;height:auto;transition:transform .4s}.gallery-trigger:hover img{transform:scale(1.015)}.gallery-item figcaption{font-size:.75rem;color:var(--muted);padding:.7rem 0 .1rem}.document-card{padding:2rem;background:var(--panel);min-height:19rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line)}.document-card strong{font-size:clamp(2rem,4vw,4rem);font-weight:500;letter-spacing:-.05em;line-height:1.1}.document-card .meta{color:var(--accent)}.pdf-frame{width:100%;height:80vh;border:1px solid var(--line);background:var(--panel)}.about-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:5rem;align-items:start;padding-bottom:3rem}.about-layout img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center bottom}.about-text h2{font-size:clamp(2rem,4vw,4rem);line-height:1.12;font-weight:500;letter-spacing:-.05em;margin:0 0 2rem}.about-text p{color:var(--muted);line-height:1.8}.about-disciplines{margin-top:2rem;border-top:1px solid var(--line)}.about-disciplines a{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--line)}.about-disciplines a:hover{color:var(--accent)}
.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;background:#101110f5;color:var(--ink);border:0;padding:1.5rem;margin:0}.lightbox::backdrop{background:#000c}.lightbox-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:1rem}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lightbox button{background:none;border:1px solid var(--line);min-width:2.8rem;min-height:2.8rem;padding:.5rem 1rem}.lightbox button:disabled{opacity:.3;cursor:default}.lightbox img{height:100%;width:100%;object-fit:contain;min-height:0}.lightbox p{margin:0;font-size:.875rem}.lightbox-controls{display:flex;gap:.6rem}.error-page{padding-block:7rem}.error-page h1{font-size:clamp(4rem,14vw,12rem);line-height:1;margin:1rem 0;letter-spacing:-.06em}.error-page p{color:var(--muted)}
@media(min-width:1500px){.feature-link>img{max-height:760px}}
@media(max-width:900px){.gallery{columns:2}.about-layout{gap:2.5rem}.card-copy{display:block}.card-copy p{margin-top:.3rem}.detail-intro{grid-template-columns:1fr}.detail-meta{display:flex;gap:3rem;margin:0}.section{padding-block:3.5rem}.home-intro{padding-top:2rem}.feature-link>img{aspect-ratio:16/9}.site-header{min-height:5rem}}
@media(max-width:620px){.site-header{position:relative;flex-wrap:wrap;gap:.75rem}.menu-toggle{display:block}.site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0}.site-nav.is-open{display:flex}.site-nav a{padding:.8rem 0;font-size:1rem}.site-nav a[aria-current=page]:after{right:auto;width:2rem}.home-title{font-size:18vw;line-height:.98;white-space:normal;letter-spacing:-.065em;margin:1.5rem 0 .5rem}.home-title .second-name{display:block;color:var(--ink)}.intro-line .eyebrow:last-child{display:none}.eyebrow{font-size:.75rem}.play-badge{width:4.5rem;height:4.5rem}.play-badge span{font-size:.75rem}.feature-caption{align-items:start}.feature-caption .meta{font-size:.75rem;text-align:right;max-width:10rem}.project-grid{grid-template-columns:1fr;gap:2rem}.section-heading{align-items:center}.section-heading h2{font-size:2.3rem}.discipline-row{grid-template-columns:1.7rem 1fr;padding:1.4rem 0;gap:.5rem}.discipline-detail{font-size:.8125rem}.discipline-title{font-size:2.6rem}.site-footer{align-items:start;flex-wrap:wrap}.site-footer p{width:100%}.page-intro{padding-top:2.5rem}.page-intro h1{font-size:3.65rem;letter-spacing:-.06em}.page-intro p{font-size:1rem}.breadcrumb{font-size:.75rem}.gallery{columns:1}.about-layout{grid-template-columns:1fr}.about-layout img{height:auto;aspect-ratio:auto;object-fit:contain}.lightbox{padding:1rem}.subnav{padding-bottom:2rem}.detail-meta{gap:1.5rem;flex-wrap:wrap}.project-bottom{font-size:.875rem}.feature-link>img{min-height:12rem}.section-note{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.preview-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .25s;background:#080908}.feature-link .preview-video,.contain .preview-video{object-fit:contain}.is-previewing .preview-video{opacity:1}.is-previewing .play-badge{opacity:0;pointer-events:none}.play-badge{transition:scale .25s,opacity .25s}.is-previewing .tag{opacity:0}.card-image .tag{transition:opacity .25s}

.contact-section{display:grid;grid-template-columns:1.05fr 1fr;gap:5rem;border-top:1px solid var(--line)}
.contact-section h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1.05;letter-spacing:-.055em;font-weight:500;margin:1rem 0 2rem}
.contact-svg{display:block;width:1.45rem;height:1.45rem;flex-shrink:0}
.contact-icon{display:grid;place-items:center;flex-shrink:0;width:2.8rem;height:2.8rem;border:1px solid #ffffff14;border-radius:.75rem;background:#242723;color:var(--ink);transition:background .2s,color .2s,border-color .2s,transform .2s}
.resume-link{display:inline-flex;align-items:center;gap:.8rem;background:var(--accent);color:#101110;padding:1rem 1.35rem;font-size:1rem;min-height:3.5rem;transition:background .2s}
.resume-link:is(:hover,:focus-visible){background:var(--ink)}
.contact-row{display:flex;align-items:center;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}
.contact-row:first-child{padding-top:0}.contact-row-text{display:flex;flex:1;flex-direction:column;gap:.35rem;min-width:0}
.contact-value{font-size:clamp(1rem,1.7vw,1.5rem);letter-spacing:-.025em;overflow-wrap:anywhere}
.contact-row:is(:hover,:focus-visible) .contact-value{color:var(--accent)}
.contact-row:is(:hover,:focus-visible) .contact-icon{background:var(--accent);border-color:var(--accent);color:#101110}

.profile-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));gap:.75rem;margin-top:1.5rem}
.profile-links a{--brand:#333;--brand-ink:#fff;display:flex;align-items:center;gap:.8rem;min-width:0;padding:1rem;border:1px solid var(--line);border-radius:.9rem;transition:background .2s,border-color .2s}
.profile-label{flex:1;font-size:.9375rem}.profile-links a:is(:hover,:focus-visible){background:#ffffff04;border-color:#62665c}
.profile-links a:is(:hover,:focus-visible) .contact-icon{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);transform:translateY(-2px)}
.profile-links [data-network=linkedin]{--brand:#0a66c2}.profile-links [data-network=youtube]{--brand:#e62117}.profile-links [data-network=imdb]{--brand:#f5c518;--brand-ink:#101110}
.profile-links [data-network=instagram]:is(:hover,:focus-visible) .contact-icon{background:linear-gradient(135deg,#feda75,#fa7e1e 20%,#d62976 50%,#962fbf 75%,#4f5bd5);border-color:transparent;color:#fff}
@media(max-width:900px){.contact-section{gap:2.5rem}}
@media(max-width:620px){.contact-section{grid-template-columns:1fr;gap:2.5rem}.contact-row{gap:.8rem}.contact-value{font-size:1rem}.profile-links{grid-template-columns:1fr}}


.brand,.footer-name{display:block;flex-shrink:0;width:180px;height:72px;overflow:hidden}.brand img,.footer-name img{width:180px;height:72px;object-fit:cover;display:block}
