*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--surface: #111111;--text: #f0ede8;--text-dim: rgba(240, 237, 232, .5);--accent: #d4a853;--gap: 4px;--nav-h: 64px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}#nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:100;transition:background .4s ease,backdrop-filter .4s ease}#nav.scrolled{background:#0a0a0aeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1400px;margin:0 auto;padding:0 40px}.nav-logo{font-size:.75rem;font-weight:400;letter-spacing:.35em;color:var(--text);transition:color .3s}.nav-logo:hover{color:var(--accent)}.nav-link{font-size:.75rem;font-weight:300;letter-spacing:.2em;color:var(--text-dim);transition:color .3s}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-links{display:flex;align-items:center;gap:32px}.hero{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;animation:heroZoom 22s ease-out forwards}@keyframes heroZoom{0%{transform:scale(1)}to{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.hero-bg img{animation:none}}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to bottom,#0a0a0a40,#0a0a0a73,#0a0a0abf)}.hero-content{position:relative;z-index:2;text-align:center;padding:0 24px;margin-top:-10vh;margin-left:-25vw}.hero-content h1{font-size:clamp(3.5rem,10vw,8rem);font-weight:200;letter-spacing:.35em;line-height:1.05;color:var(--text);text-indent:.35em}.hero-sub{margin-top:1.5rem;font-size:clamp(.65rem,1.4vw,.85rem);font-weight:300;letter-spacing:.55em;color:var(--text-dim);text-indent:.55em}.gallery-section{padding:80px 0 40px}.gallery-section.session-page{padding-top:calc(var(--nav-h) + 48px)}.section-header{display:flex;align-items:center;gap:24px;padding:0 40px 40px;max-width:1400px;margin:0 auto}.section-header h2{font-size:.75rem;font-weight:300;letter-spacing:.4em;color:var(--text-dim);white-space:nowrap;text-transform:uppercase}.section-line{display:block;flex:1;height:1px;background:#f0ede81a}.gallery-grid{columns:3;column-gap:var(--gap);padding:0 var(--gap)}.gallery-item{break-inside:avoid;margin-bottom:var(--gap);overflow:hidden;cursor:pointer;position:relative;background:#111}.gallery-item img{width:100%;height:auto;display:block;transition:transform .6s cubic-bezier(.25,.46,.45,.94),opacity .3s ease}.gallery-item:hover img{transform:scale(1.04)}.gallery-item.gallery-wide{column-span:all;margin-bottom:var(--gap)}.gallery-item.gallery-wide img{width:100%;height:60vh;object-fit:cover;object-position:center 35%}.services-section{padding:100px 40px;max-width:1400px;margin:0 auto}.services-inner{display:grid;grid-template-columns:1fr 1fr;gap:0}.service{padding:48px 48px 48px 0;border-top:1px solid rgba(240,237,232,.1)}.service-right{padding:48px 0 48px 48px;border-left:1px solid rgba(240,237,232,.08)}.service h3{font-size:.7rem;font-weight:300;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.service p{font-size:.95rem;font-weight:300;line-height:1.8;color:var(--text-dim);max-width:38ch}.contact-section{padding:100px 40px 120px;border-top:1px solid rgba(240,237,232,.06)}.contact-inner{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:40px}.contact-inner h2{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:200;letter-spacing:.1em;color:var(--text)}.contact-links{display:flex;flex-direction:column;gap:12px;align-items:center}.contact-item{font-size:.85rem;font-weight:300;letter-spacing:.15em;color:var(--text-dim);transition:color .3s;position:relative;padding-bottom:2px}.contact-item:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width .4s ease}.contact-item:hover{color:var(--text)}.contact-item:hover:after{width:100%}.footer{padding:24px 40px;border-top:1px solid rgba(240,237,232,.06);text-align:center}.footer p{font-size:.7rem;letter-spacing:.2em;color:#f0ede833}.lightbox{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;align-items:center;justify-content:center}.lightbox.active{display:flex}.lb-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#050505f7;cursor:pointer}.lb-img-wrap{position:relative;z-index:201;max-width:90vw;max-height:90dvh;display:flex;align-items:center;justify-content:center}#lbImg{max-width:90vw;max-height:90dvh;object-fit:contain;display:block;transition:opacity .25s ease}#lbImg.fading{opacity:0}.lb-close{position:fixed;top:24px;right:28px;z-index:202;background:none;border:none;color:#f0ede880;font-size:1.2rem;cursor:pointer;padding:8px;transition:color .2s;line-height:1}.lb-close:hover{color:var(--text)}.lb-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:202;background:none;border:none;color:#f0ede866;font-size:1.5rem;cursor:pointer;padding:16px 20px;transition:color .2s;line-height:1}.lb-arrow:hover{color:var(--text)}.lb-prev{left:16px}.lb-next{right:16px}.lb-counter{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:202;font-size:.65rem;letter-spacing:.3em;color:#f0ede84d}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1024px){.gallery-grid{columns:2}.nav-inner{padding:0 24px}.section-header{padding:0 24px 32px}.services-section{padding:80px 24px}.contact-section{padding:80px 24px 100px}}@media(max-width:768px){.gallery-grid{columns:2}.gallery-item.gallery-wide img{height:40vh}.services-inner{grid-template-columns:1fr}.service{padding:32px 0}.service-right{padding:32px 0;border-left:none;border-top:1px solid rgba(240,237,232,.08)}.service p{max-width:none}.hero-content h1{letter-spacing:.2em;text-indent:.2em}.hero-sub{letter-spacing:.35em;text-indent:.35em}}@media(max-width:480px){.gallery-grid{columns:1}.gallery-item.gallery-wide img{height:50vw}.nav-inner{padding:0 20px}.section-header{padding:0 20px 24px}.services-section,.contact-section{padding-left:20px;padding-right:20px}.lb-arrow{display:none}}
