
:root{--bg:#050505;--text:#f2f2ef;--muted:#8f8f8a;--line:#252525;--side:220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);padding:34px 24px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20;background:#050505}.logo{text-decoration:none;color:#fff;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.logo-mark{grid-row:1/3;width:34px;height:34px;border:1px solid #fff;display:grid;place-items:center;font-weight:800;font-size:19px;letter-spacing:-.08em}.logo-word{font-weight:800;letter-spacing:.12em;font-size:16px;line-height:1}.logo-sub{font-size:8px;letter-spacing:.25em;color:#aaa;margin-top:5px}.nav-main,.nav-secondary{display:flex;flex-direction:column}.nav-main{margin-top:74px;gap:10px}.nav-secondary{margin-top:38px;gap:10px}.nav-label{font-size:9px;text-transform:uppercase;letter-spacing:.22em;color:#555;margin-bottom:7px}.sidebar nav a{font-size:12px;line-height:1.25;color:#8e8e8a;text-decoration:none;transition:color .2s;display:flex;justify-content:space-between;gap:10px}.sidebar nav a small{font-size:9px;color:#454545}.sidebar nav a:hover,.sidebar nav a.active{color:#fff}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;color:#555;font-size:9px;line-height:1.4}.sidebar-foot a{color:#777;text-decoration:none;overflow-wrap:anywhere}.content{margin-left:var(--side)}.mobile-head{display:none}.intro-strip{min-height:36vh;padding:64px 3.2vw 42px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:7vw;align-items:end;border-bottom:1px solid var(--line)}.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:9px;color:#777;margin:0 0 20px}.intro-strip h1{font-size:clamp(52px,6.4vw,108px);letter-spacing:-.07em;line-height:.82;margin:0;font-weight:700}.intro-copy{font-size:clamp(14px,1.25vw,19px);line-height:1.5;color:#979792;margin:0 0 5px;max-width:520px}.quick-section{padding:18px 18px 74px;border-bottom:1px solid var(--line)}.wall{column-count:5;column-gap:8px}.wall-quick{column-count:6}.thumb{display:block;width:100%;padding:0;border:0;background:#0b0b0b;margin:0 0 8px;cursor:zoom-in;break-inside:avoid;overflow:hidden}.thumb img{display:block;width:100%;height:auto;transition:opacity .22s,transform .4s cubic-bezier(.2,.7,.2,1)}.thumb:hover img{opacity:.84;transform:scale(1.01)}.portfolio-section{padding:84px 18px 105px;border-top:1px solid var(--line)}.section-title{display:grid;grid-template-columns:42px minmax(300px,1fr) minmax(260px,.55fr);gap:24px;align-items:end;margin:0 18px 34px}.section-title>span{font-size:10px;color:#555;align-self:start;margin-top:5px}.section-title p{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#666;margin:0 0 10px}.section-title h2{font-size:clamp(40px,5.2vw,82px);line-height:.86;letter-spacing:-.055em;margin:0;font-weight:700}.section-note{font-size:14px!important;line-height:1.55!important;letter-spacing:0!important;text-transform:none!important;color:#8d8d88!important;margin:0!important}.weddings{background:#080808}.about{padding:130px 4vw;border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.about h2{font-size:clamp(52px,7vw,110px);line-height:.86;letter-spacing:-.065em;margin:0}.about-grid>div p{font-size:clamp(18px,1.8vw,26px);line-height:1.48;color:#aaa;margin:0 0 24px}.contact{padding:125px 4vw 140px;border-top:1px solid var(--line);background:#f1f0eb;color:#090909}.contact .kicker{color:#777}.contact h2{font-size:clamp(64px,9vw,150px);line-height:.78;letter-spacing:-.075em;margin:0 0 60px}.email{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #bbb;border-bottom:1px solid #bbb;padding:22px 0;color:#111;text-decoration:none;font-size:clamp(16px,2vw,28px)}.email span{font-size:1.4em}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.97);z-index:100;display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:91vw;max-height:91vh;object-fit:contain}.lb-close,.lb-prev,.lb-next{position:absolute;background:none;border:0;color:#e9e9e6;cursor:pointer;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.lb-close{right:26px;top:24px}.lb-prev,.lb-next{top:50%;font-size:22px;transform:translateY(-50%);padding:24px}.lb-prev{left:0}.lb-next{right:0}.lb-count{position:absolute;left:25px;bottom:22px;color:#777;font-size:9px;letter-spacing:.2em}
@media(max-width:1450px){.wall{column-count:4}.wall-quick{column-count:5}}
@media(max-width:1100px){.wall,.wall-quick{column-count:3}}
@media(max-width:900px){:root{--side:0px}.sidebar{display:none}.mobile-head{position:sticky;top:0;height:62px;background:rgba(5,5,5,.96);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:0 18px;z-index:50;border-bottom:1px solid var(--line)}.mobile-logo{display:flex;flex-direction:column;color:#fff;text-decoration:none;line-height:.85}.mobile-logo strong{font-size:15px;letter-spacing:.12em}.mobile-logo span{font-size:7px;letter-spacing:.24em;margin-top:5px;color:#aaa}.menu-toggle{background:none;border:0;color:#aaa;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.mobile-nav{position:absolute;top:62px;left:0;right:0;background:#080808;display:none;flex-direction:column;padding:20px;border-bottom:1px solid #222}.mobile-nav.open{display:flex}.mobile-nav a{padding:11px 0;color:#ddd;text-decoration:none;border-bottom:1px solid #171717;font-size:13px}.content{margin-left:0}.intro-strip{min-height:auto;padding:58px 20px 42px;grid-template-columns:1fr;gap:28px}.intro-strip h1{font-size:clamp(50px,15vw,86px)}.quick-section{padding:8px 8px 54px}.wall,.wall-quick{column-count:2;column-gap:5px}.thumb{margin-bottom:5px}.portfolio-section{padding:64px 8px 82px}.section-title{grid-template-columns:26px 1fr;gap:10px 4px;margin:0 10px 28px}.section-title .section-note{grid-column:2;margin-top:14px!important}.section-title h2{font-size:clamp(40px,12vw,68px)}.about{padding:90px 20px}.about-grid{grid-template-columns:1fr;gap:48px}.contact{padding:90px 20px 105px}.contact h2{font-size:clamp(58px,18vw,104px);margin-bottom:48px}.lightbox img{max-width:96vw;max-height:86vh}.lb-prev,.lb-next{top:auto;bottom:10px}.lb-count{display:none}}
@media(max-width:480px){.wall,.wall-quick{column-count:2}}

.motion{background:#060606}.motion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 18px}.motion-card{margin:0}.motion-poster{aspect-ratio:16/9;background:#0c0c0c;border:1px solid #1c1c1c;display:grid;place-items:center;position:relative;overflow:hidden}.motion-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .3s ease}.motion-card[data-video]{cursor:pointer}.motion-card[data-video]:hover .motion-poster img{transform:scale(1.015)}.motion-shade{position:absolute;inset:0;background:rgba(0,0,0,.18);transition:background .25s}.motion-card[data-video]:hover .motion-shade{background:rgba(0,0,0,.08)}.play-mark{width:54px;height:54px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;padding-left:3px;font-size:15px;transition:transform .25s,border-color .25s}.motion-poster:hover .play-mark{transform:scale(1.06);border-color:#fff}.motion-add{position:absolute;left:16px;bottom:14px;color:#666;font-size:9px;text-transform:uppercase;letter-spacing:.2em}.motion-meta{display:flex;justify-content:space-between;gap:20px;padding:12px 2px 0;font-size:11px}.motion-meta strong{font-weight:500}.motion-meta span{color:#666}.motion-help{margin:28px 20px 0;color:#60605d;font-size:10px;letter-spacing:.08em}.video-modal{position:fixed;inset:0;background:rgba(0,0,0,.97);z-index:110;display:none;align-items:center;justify-content:center;padding:5vw}.video-modal.open{display:flex}.video-frame{width:min(1200px,92vw);aspect-ratio:16/9}.video-frame iframe,.video-frame video{width:100%;height:100%;border:0;display:block;background:#000}.video-close{position:absolute;right:26px;top:24px;background:none;border:0;color:#e9e9e6;cursor:pointer;font-size:11px;letter-spacing:.16em;text-transform:uppercase}@media(max-width:900px){.motion-grid{grid-template-columns:1fr;padding:0 8px}.motion-meta{padding:10px 2px 18px}}


/* v6 portrait-first refinements */
.about-grid-with-portrait{grid-template-columns:.8fr .9fr .65fr;align-items:start;gap:4vw}
.about-portrait{margin:0;position:relative}
.about-portrait img{display:block;width:100%;height:auto;max-height:720px;object-fit:cover;object-position:center top}
.about-portrait figcaption{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#666;margin-top:10px}
.motion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.motion-poster img{object-position:center center}
.watch-youtube{margin-left:auto;color:#777;text-decoration:none;font-size:10px;white-space:nowrap}.watch-youtube:hover{color:#fff}.motion-meta{align-items:center;flex-wrap:wrap}@media(max-width:900px){.watch-youtube{width:100%;margin-left:0;margin-top:2px}.about-grid-with-portrait{grid-template-columns:1fr}.about-portrait{grid-column:auto}.motion-grid{grid-template-columns:1fr}}
