.hero{padding:var(--space-section-y) var(--space-section-x) var(--space-xl);justify-content:center;display:flex}.hero__figure{max-width:var(--content-hero);width:100%;position:relative}.hero__image{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-sm);width:100%}.hero__overlay{padding:var(--hero-overlay-padding);background:var(--hero-overlay-gradient);border-radius:var(--radius-sm);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.hero__title{font-family:var(--font-heading);font-size:var(--hero-title-size);letter-spacing:var(--hero-letter-spacing-name);color:var(--color-text);font-weight:400}.hero__tagline{color:var(--color-text-muted);letter-spacing:var(--hero-letter-spacing-tagline);text-transform:uppercase;margin-top:var(--space-xs);font-size:1rem}.lightbox{z-index:var(--z-lightbox);animation:lightbox-fade-in var(--duration-short) var(--ease-default);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.lightbox{animation:none}}.lightbox__backdrop{background:var(--color-overlay);position:absolute;inset:0}.lightbox__content{z-index:1;max-width:var(--lightbox-content-max-width);max-height:var(--lightbox-content-max-height);touch-action:manipulation;flex-direction:column;align-items:center;display:flex;position:relative}.lightbox__image{max-height:var(--lightbox-media-max-height);max-width:var(--lightbox-media-max-width);object-fit:contain;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none}.lightbox__video{max-height:var(--lightbox-media-max-height);max-width:min(var(--lightbox-media-max-width), 100%);object-fit:contain;border-radius:var(--radius-sm);background:var(--color-surface);width:100%;display:block}.lightbox__close{top:var(--lightbox-close-inset);right:var(--lightbox-close-inset-right);z-index:2;min-width:var(--lightbox-hit-target);min-height:var(--lightbox-hit-target);padding:var(--space-xs);color:var(--color-text);font-size:var(--lightbox-close-font-size);opacity:.85;transition:opacity var(--duration-short), color var(--duration-short);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex;position:fixed}.lightbox__close:hover{opacity:1;color:var(--color-accent)}.lightbox__nav{min-width:var(--lightbox-hit-target);min-height:var(--lightbox-hit-target);padding:var(--space-sm);color:var(--color-text);font-size:var(--lightbox-nav-font-size);opacity:.55;transition:opacity var(--duration-short), color var(--duration-short);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__nav:hover{opacity:1;color:var(--color-accent)}.lightbox__nav--prev{left:var(--lightbox-nav-inset-desktop)}.lightbox__nav--next{right:var(--lightbox-nav-inset-desktop)}.lightbox__caption{margin-top:var(--lightbox-caption-margin-top);text-align:center;max-width:var(--lightbox-caption-max-width);color:var(--color-text);font-size:var(--font-size-caption);letter-spacing:.01em;font-weight:500}@media (width<=640px){.lightbox__nav{font-size:var(--lightbox-nav-font-size-sm);min-width:var(--lightbox-hit-target-lg);min-height:var(--lightbox-hit-target-lg)}.lightbox__nav--prev{left:var(--lightbox-nav-inset-mobile)}.lightbox__nav--next{right:var(--lightbox-nav-inset-mobile)}}.gallery{padding:var(--space-section-y) var(--space-section-x);max-width:var(--content-gallery);margin:0 auto}.gallery__heading{font-family:var(--font-heading);font-weight:400;font-size:var(--font-size-section-title);text-align:center;margin-bottom:var(--space-xl);color:var(--color-text-muted);letter-spacing:var(--letter-spacing-section-title)}.gallery__grid{grid-template-columns:repeat(auto-fill, minmax(var(--gallery-card-min), 1fr));gap:var(--gallery-grid-gap);display:grid}.gallery__thumb{border-radius:var(--radius-sm);transition:transform var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth);background:0 0;border:none;padding:0;overflow:hidden}.gallery__thumb:hover{transform:scale(var(--gallery-thumb-scale-hover));box-shadow:var(--shadow-gallery-thumb)}@media (prefers-reduced-motion:reduce){.gallery__thumb{transition:none}.gallery__thumb:hover{transform:none}}.gallery__thumb:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-offset-sm)}.gallery__thumb img{aspect-ratio:3/4;object-fit:cover;width:100%}.reel{padding:var(--space-section-y) var(--space-section-x);max-width:var(--content-reel);margin:0 auto}.reel__heading{font-family:var(--font-heading);font-weight:400;font-size:var(--font-size-section-title);text-align:center;margin-bottom:var(--space-xl);color:var(--color-text-muted);letter-spacing:var(--letter-spacing-section-title)}.reel__trigger{cursor:pointer;width:100%;color:var(--color-text);font:inherit;background:0 0;border:none;margin:0;padding:0;display:block}.reel__trigger:hover .reel__poster,.reel__trigger:focus-visible .reel__poster{opacity:var(--reel-poster-opacity-hover)}.reel__trigger:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-offset-lg);border-radius:var(--radius-md)}.reel__frame{border-radius:var(--radius-sm);background:var(--color-surface);width:100%;display:block;position:relative;overflow:hidden}.reel__poster{width:100%;height:auto;display:block}.reel__play{background:var(--reel-poster-overlay);transition:background var(--duration-short);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.reel__trigger:hover .reel__play,.reel__trigger:focus-visible .reel__play{background:var(--reel-poster-overlay-hover)}.reel__play-icon{width:var(--reel-play-size);height:var(--reel-play-size);border-radius:var(--radius-full);background:var(--reel-play-icon-fill);box-shadow:var(--shadow-reel-play);position:relative}.reel__play-icon:after{content:"";transform:translate(calc(-50% + var(--reel-play-triangle-shift)), -50%);border-style:solid;border-width:var(--reel-play-triangle-border-y) 0 var(--reel-play-triangle-border-y) var(--reel-play-triangle-border-x);border-color:transparent transparent transparent var(--color-surface);position:absolute;top:50%;left:50%}@media (width<=640px){.reel__play-icon{width:var(--reel-play-size-sm);height:var(--reel-play-size-sm)}.reel__play-icon:after{border-width:var(--reel-play-triangle-border-y-sm) 0 var(--reel-play-triangle-border-y-sm) var(--reel-play-triangle-border-x-sm)}}.app{flex-direction:column;min-height:100vh;display:flex}.site-footer{padding:var(--space-xl) var(--space-section-x);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-footer);letter-spacing:var(--letter-spacing-section-title);margin-top:auto}.site-footer__contact{margin-top:var(--space-sm)}.site-footer__link{color:var(--color-accent);text-underline-offset:.15em;text-decoration:underline}.site-footer__link:hover{color:var(--color-text)}.site-footer__link:focus-visible{outline:var(--outline-focus);outline-offset:var(--outline-offset-md)}:root{--color-bg:#0d0d0d;--color-surface:#1a1a1a;--color-text:#f0ece6;--color-text-muted:#a09a90;--color-accent:#b5838d;--color-overlay:#000000e6;--color-hero-gradient-end:#000000b3;--color-gallery-thumb-glow:#b5838d4d;--font-heading:"DM Serif Display", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--font-size-section-title:1.5rem;--letter-spacing-section-title:.05em;--font-size-caption:.95rem;--font-size-footer:.85rem;--space-section-y:3rem;--space-section-x:1.5rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:2rem;--content-hero:480px;--content-gallery:1100px;--content-reel:960px;--radius-sm:4px;--radius-md:6px;--radius-full:50%;--duration-short:.2s;--duration-medium:.25s;--ease-default:ease;--ease-smooth:ease;--shadow-gallery-thumb:0 0 20px var(--color-gallery-thumb-glow);--shadow-reel-play:0 2px 12px #00000059;--outline-focus:2px solid var(--color-accent);--outline-offset-sm:2px;--outline-offset-md:3px;--outline-offset-lg:4px;--hero-title-size:clamp(2rem, 6vw, 3rem);--hero-letter-spacing-name:.02em;--hero-letter-spacing-tagline:.1em;--hero-overlay-padding:var(--space-xl);--hero-overlay-gradient:linear-gradient(to top, var(--color-hero-gradient-end) 0%, transparent 50%);--gallery-card-min:220px;--gallery-grid-gap:var(--space-lg);--gallery-thumb-scale-hover:1.03;--z-lightbox:1000;--z-skip-link:2000;--lightbox-media-max-height:75vh;--lightbox-media-max-width:85vw;--lightbox-content-max-width:min(90vw, calc(100% - 2rem));--lightbox-content-max-height:90vh;--lightbox-caption-max-width:400px;--lightbox-nav-inset-desktop:-3.5rem;--lightbox-nav-inset-mobile:.25rem;--lightbox-hit-target:2.75rem;--lightbox-hit-target-lg:3rem;--lightbox-nav-font-size:3rem;--lightbox-nav-font-size-sm:2rem;--lightbox-close-font-size:2rem;--lightbox-close-inset:max(.75rem, env(safe-area-inset-top,0px));--lightbox-close-inset-right:max(.75rem, env(safe-area-inset-right,0px));--lightbox-caption-margin-top:var(--space-lg);--reel-play-size:4rem;--reel-play-size-sm:3.25rem;--reel-poster-overlay:#00000059;--reel-poster-overlay-hover:#00000073;--reel-play-icon-fill:#fffffff2;--reel-play-triangle-shift:.15rem;--reel-play-triangle-border-y:.65rem;--reel-play-triangle-border-x:1.1rem;--reel-play-triangle-border-y-sm:.5rem;--reel-play-triangle-border-x-sm:.85rem;--reel-poster-opacity-hover:.92;--breakpoint-sm:640px;--body-line-height:1.6;--swipe-min-distance:56px}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:var(--body-line-height);-webkit-font-smoothing:antialiased}.skip-link{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{top:max(var(--space-sm), env(safe-area-inset-top,0px));left:max(var(--space-sm), env(safe-area-inset-left,0px));z-index:var(--z-skip-link);width:auto;height:auto;padding:var(--space-sm) var(--space-lg);clip:auto;white-space:normal;background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);outline:var(--outline-focus);font:inherit;margin:0;text-decoration:none;position:fixed;overflow:visible}img{max-width:100%;display:block}button{font:inherit;cursor:pointer}
