:root{--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--color-bg: #ffffff;--color-text: #111111;--color-muted: #888888;--color-dim: rgba(0, 0, 0, .75);--nav-h: 56px;--max-w: 1200px;--ease: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;min-height:100svh}a{color:inherit;text-decoration:none}ul{list-style:none}img,video{display:block;max-width:100%}.nav{position:fixed;top:0;inset-inline:0;z-index:200;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding-inline:32px;background:var(--color-bg)}.nav__logo{cursor:pointer;overflow:hidden;position:relative;display:flex;align-items:center}.nav__logo-short,.nav__logo-full{font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:.12em;white-space:nowrap;transition:opacity var(--ease),max-width .35s ease,letter-spacing .35s ease}.nav__logo-full{position:absolute;left:0;opacity:0;max-width:0;letter-spacing:0;overflow:hidden;pointer-events:none}.nav.name-hidden .nav__logo-short{opacity:0;max-width:0;overflow:hidden}.nav.name-hidden .nav__logo-full{opacity:1;position:static;max-width:260px;letter-spacing:.04em;pointer-events:auto}.nav__links{display:flex;gap:36px}.nav__links a{font-size:13px;font-weight:400;color:var(--color-muted);letter-spacing:.04em;transition:color var(--ease)}.nav__links a:hover,.nav__links a.is-active{color:var(--color-text)}.landing,.portfolio,.overview,.contact{padding-top:var(--nav-h);min-height:100svh;padding-inline:32px}.landing__name-block{padding-top:80px;padding-bottom:64px}.landing__name{font-family:var(--font-serif);font-size:clamp(3rem,8vw,7rem);font-weight:300;line-height:1.05;letter-spacing:-.02em;margin-bottom:16px}.landing__sub{font-size:13px;color:var(--color-muted);letter-spacing:.06em}.landing__featured{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding-bottom:48px}.landing__cta-strip{display:flex;align-items:center;gap:32px;padding-bottom:96px}.landing__cta-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:400;letter-spacing:.08em;color:var(--color-muted);transition:color var(--ease),gap .2s ease}.landing__cta-link:hover{color:var(--color-text);gap:12px}.landing__cta-divider{width:1px;height:16px;background:#d8d8d8}.landing__cta-btn{font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text);border-bottom:1px solid var(--color-text);padding-bottom:2px;transition:opacity var(--ease)}.landing__cta-btn:hover{opacity:.45}.portfolio{padding-bottom:64px}.portfolio__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding-top:40px}.video-card{cursor:pointer}.video-card__media{aspect-ratio:16 / 9;overflow:hidden;background:#f0f0f0;margin-bottom:12px;position:relative}.video-card__media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.video-card:hover .video-card__media video{transform:scale(1.02)}.video-card__info{display:flex;flex-direction:column;gap:3px}.video-card__title{font-family:var(--font-serif);font-size:15px;font-weight:400;line-height:1.3}.video-card__sub{font-size:12px;color:var(--color-muted);letter-spacing:.04em}.card-mute{position:absolute;bottom:10px;right:10px;z-index:10;background:#00000073;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--ease);pointer-events:none;padding:0}.card-mute svg{display:block;flex-shrink:0}.video-card:hover .card-mute,.video-card.is-playing .card-mute{opacity:1;pointer-events:auto}.overview{padding-bottom:64px;padding-top:calc(var(--nav-h) + 80px)}.overview__inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:var(--max-w)}.overview__photo-placeholder{aspect-ratio:3 / 4;background:#f0f0f0;display:flex;align-items:center;justify-content:center}.overview__photo-placeholder span{font-size:12px;color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase}.overview__photo img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3 / 4}.overview__text{padding-top:8px}.overview__name{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;letter-spacing:-.01em;margin-bottom:28px}.overview__bio{font-size:15px;line-height:1.8;color:var(--color-muted);max-width:44ch;margin-bottom:40px}.overview__location{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.contact{padding-top:var(--nav-h);padding-bottom:64px;min-height:100svh;display:flex;align-items:center}.contact__inner{max-width:600px}.contact__heading{font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,5.5rem);font-weight:300;line-height:1.1;letter-spacing:-.02em;margin-bottom:48px}.contact__details{display:flex;flex-direction:column;gap:12px;margin-bottom:48px}.contact__link{font-size:15px;color:var(--color-muted);width:fit-content;border-bottom:1px solid transparent;padding-bottom:1px;transition:color var(--ease),border-color var(--ease)}.contact__link:hover{color:var(--color-text);border-bottom-color:var(--color-text)}.contact__location{font-size:12px;color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin-top:4px}.contact__cta{display:inline-block;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--color-text);padding:12px 28px;transition:background var(--ease),color var(--ease)}.contact__cta:hover{background:var(--color-text);color:var(--color-bg)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000;display:flex;flex-direction:column}.overlay[hidden]{display:none}body.overlay-open{overflow:hidden}.overlay__close{position:fixed;top:20px;right:24px;z-index:310;background:none;border:none;color:#fff9;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:color var(--ease)}.overlay__close:hover{color:#fff}.overlay__body{flex:1;display:grid;grid-template-columns:1fr 320px;min-height:0}.overlay__video-wrap{position:relative;display:flex;align-items:center;justify-content:center;padding:60px 48px 40px}.overlay__video-wrap video{max-width:100%;max-height:calc(100vh - 100px);width:auto;height:auto;aspect-ratio:16 / 9;object-fit:contain;display:block;cursor:pointer;transition:aspect-ratio .3s ease}.overlay__video-wrap.is-natural video{aspect-ratio:9 / 16;max-height:calc(100vh - 100px)}.overlay__mute{position:absolute;bottom:48px;right:56px;background:#ffffff1a;border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--ease),background var(--ease);padding:0}.overlay__mute svg{display:block;flex-shrink:0}.overlay__mute:hover{background:#fff3}.overlay__video-wrap:hover .overlay__mute{opacity:1}.overlay__caption{border-left:1px solid rgba(255,255,255,.08);padding:80px 36px 40px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.overlay__caption-sub{font-size:11px;font-family:var(--font-sans);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:#fff6}.overlay__caption-title{font-family:var(--font-serif);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:300;color:#fff;line-height:1.2;letter-spacing:-.01em;margin-bottom:4px}.overlay__caption-desc{font-size:13px;font-family:var(--font-sans);color:#ffffff73;line-height:1.7;max-width:36ch}.landing-footer{padding:0 32px 32px}.landing-footer p{font-size:11px;color:var(--color-muted);letter-spacing:.04em;line-height:1.6;max-width:60ch}@media (max-width: 768px){.nav,.landing,.portfolio,.overview,.contact{padding-inline:20px}.landing__featured,.portfolio__grid{grid-template-columns:1fr}.overview__inner{grid-template-columns:1fr;gap:32px}.nav__links{gap:20px}.overlay__body{grid-template-columns:1fr;grid-template-rows:1fr auto;overflow-y:auto}.overlay__video-wrap{padding:60px 20px 24px}.overlay__video-wrap video{max-height:55vh}.overlay__mute{bottom:32px;right:28px}.overlay__caption{border-left:none;border-top:1px solid rgba(255,255,255,.08);padding:24px 20px 32px;justify-content:flex-start}}
