*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#101113;color:#f2f1ee;font-family:Inter,Arial,sans-serif;font-weight:300}
a{color:inherit;text-decoration:none}
button{font:inherit}
.section-shell{max-width:1320px;margin:0 auto}

.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff}
.wordmark{display:inline-flex;align-items:flex-start;font-family:"Cormorant Garamond",Georgia,serif;color:#f1eee7}
.logo-monogram{position:relative;height:40px;width:52px;letter-spacing:0;line-height:1;text-shadow:0 1px 10px rgba(0,0,0,.22)}
.logo-monogram .logo-d,.logo-monogram .logo-n{position:absolute;display:block;font-weight:500;line-height:1}
.logo-monogram .logo-d{font-size:36px;left:0;top:0;z-index:2}
.logo-monogram .logo-n{font-size:34px;left:17px;top:5px;z-index:1;transform:scaleX(.92);opacity:.96}
.logo-monogram:after{content:"";position:absolute;left:23px;top:7px;width:1px;height:24px;background:rgba(242,241,238,.22);transform:rotate(10deg);transform-origin:center;pointer-events:none}
.desktop-nav{display:flex;gap:30px;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.desktop-nav a{opacity:.78;transition:opacity .2s}.desktop-nav a:hover{opacity:1}
.menu-toggle{display:none;border:0;background:none;color:inherit;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.mobile-nav{display:none}

.hero{height:100svh;min-height:650px;position:relative;overflow:hidden;background:#25262a}
.hero-image-wrap{position:absolute;inset:-7% 0;overflow:hidden}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transform:scale(1.07);will-change:transform}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.18),transparent 45%,rgba(0,0,0,.42))}
.hero-name{position:absolute;z-index:3;left:50%;bottom:6.5vh;transform:translateX(-50%);width:max-content;display:flex;justify-content:center;align-items:baseline;color:#eeece6;font-family:"Cormorant Garamond",Georgia,serif;font-variant-caps:small-caps;font-size:clamp(58px,8.4vw,136px);font-weight:400;line-height:.78;letter-spacing:.015em;white-space:nowrap;text-shadow:0 2px 20px rgba(0,0,0,.18)}
.hero-name .hero-initial{font-size:1.08em;font-variant-caps:normal;letter-spacing:-.015em}
.hero-name .hero-small{font-size:.76em;letter-spacing:.035em;margin-left:.015em}
.hero-name .hero-initial.second{margin-left:.34em}
.scroll-cue{position:absolute;z-index:4;right:4vw;bottom:6vh;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.2em;opacity:.8}
.scroll-cue i{display:block;width:35px;height:1px;background:currentColor}

.gallery-section{padding:10.5vh 4vw 11.5vh;background:#101113}
.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:4vw;margin-bottom:42px;align-items:end}
.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin:0;opacity:.7}
.section-note{font-size:14px;line-height:1.6;max-width:440px;margin:0;color:#b7b6b2}
.gallery-grid{display:grid;grid-template-columns:1.35fr .85fr .85fr;grid-auto-rows:25vw;gap:12px}
.tile{position:relative;overflow:hidden;border:0;padding:0;background:#1b1c1f;color:#fff;text-align:left;cursor:pointer;min-height:0}
.tile img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.tile:hover img{transform:scale(1.035)}
.tile-large{grid-row:span 2}.tile-wide{grid-column:span 2}
.tile-label{position:absolute;left:18px;bottom:16px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 10px #000}
.tile .slot-number,.tile small{display:none}
.tile.placeholder{display:flex;flex-direction:column;justify-content:space-between;padding:18px;color:#777;cursor:default}
.tile.placeholder .slot-number,.tile.placeholder small{display:block}
.tile.placeholder .slot-number{font-family:"Cormorant Garamond",serif;font-size:44px;font-weight:300;color:#4e5055}
.tile.placeholder small{font-size:9px;letter-spacing:.16em}

.content-section{border-top:1px solid #303136;padding:9.5vh 4vw 10.5vh}
.content-shell{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:minmax(105px,145px) minmax(0,720px);gap:5vw;justify-content:center;align-items:start}
.section-body{width:100%}
.about-lead{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(42px,5.5vw,78px);font-weight:400;line-height:.94;margin:0 0 28px;letter-spacing:-.02em}
.body-copy{font-size:16px;line-height:1.72;color:#bdbdb9;max-width:650px;margin:0}
.contact-lead{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(26px,3.4vw,44px);font-weight:400;line-height:1.08;margin:0 0 24px;max-width:680px}
.email-link{display:inline-block;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(20px,2.4vw,34px);border-bottom:1px solid #5b5c60;padding-bottom:5px}
.social-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#aaa}
.social-links a{border-bottom:1px solid transparent;padding-bottom:4px}.social-links a:hover{border-color:#777;color:#fff}
.site-footer{padding:25px 4vw 30px;border-top:1px solid #303136;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#898a8d}

.lightbox{position:fixed;z-index:50;inset:0;background:rgba(8,9,10,.96);display:flex;align-items:center;justify-content:center;padding:5vw;opacity:0;pointer-events:none;transition:opacity .25s}
.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;right:4vw;top:3vh;border:0;background:none;color:#fff;text-transform:uppercase;font-size:10px;letter-spacing:.15em;cursor:pointer}

@media(max-width:800px){
.site-header{height:68px;padding:0 5vw}.desktop-nav{display:none}.menu-toggle{display:block}.mobile-nav{position:fixed;z-index:19;top:68px;left:0;right:0;background:#101113;padding:0 5vw;display:flex;flex-direction:column;max-height:0;overflow:hidden;transition:max-height .3s}.mobile-nav.open{max-height:220px;padding-bottom:20px}.mobile-nav a{padding:15px 0;border-bottom:1px solid #303136;text-transform:uppercase;letter-spacing:.1em;font-size:11px}
.logo-monogram{height:34px;width:46px}.logo-monogram .logo-d{font-size:31px;left:0;top:0}.logo-monogram .logo-n{font-size:29px;left:15px;top:5px}.logo-monogram:after{left:20px;top:7px;height:21px}
.hero{min-height:620px}.hero-image-wrap{inset:-4% 0}.hero-name{bottom:8.5vh;font-size:clamp(55px,14vw,92px);line-height:.82;white-space:nowrap}.scroll-cue{right:5vw;bottom:4vh}
.section-intro{grid-template-columns:1fr;gap:16px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:48vw;gap:8px}.tile-large{grid-row:span 2}.tile-wide{grid-column:span 2}
.content-section{padding:10vh 5vw 11vh}.content-shell{grid-template-columns:1fr;gap:24px;max-width:760px;justify-content:start}.section-label{margin-bottom:2px}.about-lead{margin-bottom:24px}.body-copy{font-size:16px}.contact-lead{font-size:clamp(24px,7vw,38px);margin-bottom:22px}.email-link{font-size:clamp(20px,6vw,30px)}.social-links{gap:16px;margin-top:28px}.site-footer{padding:22px 5vw;gap:15px;line-height:1.5}
}
@media(max-width:520px){.hero-name{font-size:clamp(45px,13.5vw,74px)}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:115vw}.tile-large,.tile-wide{grid-row:auto;grid-column:auto}.tile:first-child{min-height:125vw}.site-footer{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{transform:none!important}.tile img{transition:none}}
