:root{--ink:#0b0b0a;--paper:#f1ede4;--paper2:#e8e1d4;--muted:#716c64;--serif:Didot,"Bodoni 72","Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}
.site-header{min-height:94px;padding:24px 4.5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;background:var(--paper);border-bottom:1px solid rgba(11,11,10,.15)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;width:max-content}.brand img{width:42px;height:42px;object-fit:contain}.brand span{font-size:9px;letter-spacing:.25em;font-weight:650}.brand small{display:block;font-size:6px;letter-spacing:.3em;font-weight:500;margin-top:5px}.site-header nav{display:flex;gap:34px}.site-header nav a,.instagram{font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}.instagram{justify-self:end}
.intro{min-height:calc(100svh - 94px);padding:8vh 8vw 10vh;display:grid;grid-template-columns:1fr minmax(280px,440px);align-items:center;gap:10vw;background:var(--paper)}.intro-copy{max-width:610px}.kicker{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0 0 30px}.intro h1,.section-heading h2,.gallery-head h2,.contact h2{font-family:var(--serif);font-weight:400;letter-spacing:-.065em;line-height:.82;margin:0}.intro h1{font-size:clamp(78px,11vw,168px)}em{font-style:italic;font-weight:400}.lead{max-width:420px;margin:42px 0 34px;font-size:16px;line-height:1.75;color:#5e5952}.text-link{display:inline-flex;gap:18px;align-items:center;text-decoration:none;font-size:11px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:11px}.text-link span{font-size:18px}.intro-photo{margin:0;aspect-ratio:4/5;max-height:680px;overflow:hidden}.intro-photo img{filter:saturate(.72)}
.gallery-index{padding:16vh 8vw 12vh;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.gallery-index .kicker,.gallery-dark .kicker{color:#9b968e}.section-heading h2{font-size:clamp(74px,10vw,156px)}.section-heading>p:last-child{font-family:var(--serif);font-size:22px;font-style:italic;color:#aaa;margin:42px 0 0}.category-links{display:grid;border-top:1px solid #3b3935}.category-links a{padding:22px 0;border-bottom:1px solid #3b3935;display:grid;grid-template-columns:55px 1fr;align-items:center;text-decoration:none;font-family:var(--serif);font-size:clamp(28px,3vw,48px);transition:padding .35s ease}.category-links a:hover{padding-left:14px}.category-links span{font-family:var(--sans);font-size:10px;letter-spacing:.2em;color:#8d8982}
.gallery{padding:14vh 5vw 16vh;background:var(--paper)}.gallery-paper{background:var(--paper2)}.gallery-dark{background:var(--ink);color:var(--paper)}.gallery-head{display:grid;grid-template-columns:.55fr 1.1fr .65fr;gap:5vw;align-items:end;margin:0 auto 9vh;max-width:1500px}.gallery-head .kicker{align-self:start;margin-top:12px}.gallery-head h2{font-size:clamp(68px,9vw,136px)}.gallery-head>p:last-child{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.4;margin:0 0 5px;color:#716c64;max-width:320px}.gallery-dark .gallery-head>p:last-child{color:#a7a29a}
.photo-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(24px,3.15vw,52px);gap:14px}.photo{border:0;padding:0;display:block;position:relative;overflow:hidden;background:#d2ccc1;cursor:zoom-in;grid-column:span 4;grid-row:span 11}.photo-wide{grid-column:span 7;grid-row:span 9}.photo-tall{grid-column:span 5;grid-row:span 15}.photo:nth-child(3){grid-column:span 4;grid-row:span 12}.photo:nth-child(4){grid-column:span 4;grid-row:span 12}.photo:nth-child(5){grid-column:span 7;grid-row:span 12}.photo:nth-child(6){grid-column:span 5;grid-row:span 12}.photo:nth-child(7){grid-column:span 5;grid-row:span 15}.photo:nth-child(8){grid-column:span 7;grid-row:span 10}.photo:nth-child(9){grid-column:span 4;grid-row:span 12}.photo img{transition:transform .8s ease,filter .5s;filter:saturate(.88)}.photo:hover img{transform:scale(1.035);filter:saturate(1)}.photo:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.contact{padding:17vh 8vw 42px;background:var(--ink);color:var(--paper)}.contact .kicker{color:#9b968e}.contact h2{font-size:clamp(78px,11vw,170px)}.contact-mail{display:inline-block;margin-top:55px;font-family:var(--serif);font-size:clamp(28px,4vw,58px);font-style:italic;text-decoration:none;border-bottom:1px solid #777;padding-bottom:10px}.contact>p:not(.kicker){color:#aaa;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-top:34px}.contact footer{margin-top:18vh;padding-top:22px;border-top:1px solid #32302d;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;color:#8f8a83;font-size:9px;letter-spacing:.19em;text-transform:uppercase}.contact footer a{justify-self:end;color:var(--paper);text-decoration:none}
.lightbox{width:min(92vw,1250px);height:min(90vh,900px);border:0;padding:24px;background:rgba(10,10,9,.98);color:#fff}.lightbox::backdrop{background:rgba(0,0,0,.83)}.lightbox figure{height:100%;margin:0;display:grid;grid-template-rows:1fr auto;gap:14px}.lightbox img{height:100%;object-fit:contain}.lightbox figcaption{font-family:var(--serif);font-style:italic;font-size:22px}.lightbox-close{position:absolute;right:16px;top:10px;border:0;background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer;z-index:2}
@media(max-width:800px){.site-header{padding:16px 22px;grid-template-columns:1fr auto;min-height:72px}.brand img{width:34px;height:34px}.site-header nav{display:none}.instagram{font-size:9px}.intro{min-height:auto;padding:11vh 22px 13vh;display:flex;flex-direction:column;align-items:stretch;gap:44px}.intro-copy{order:1}.intro-photo{order:2;width:82%;margin-left:auto}.intro h1{font-size:21vw}.lead{font-size:15px;margin:32px 0}.gallery-index{padding:12vh 22px 10vh;display:block}.section-heading h2{font-size:20vw}.section-heading>p:last-child{font-size:20px;margin-top:30px}.category-links{margin-top:70px}.category-links a{font-size:29px;grid-template-columns:42px 1fr;padding:18px 0}.gallery{padding:12vh 22px 14vh}.gallery-head{display:block;margin-bottom:48px}.gallery-head .kicker{margin-bottom:28px}.gallery-head h2{font-size:19vw}.gallery-head>p:last-child{font-size:19px;margin-top:30px}.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:8px}.photo,.photo-wide,.photo-tall,.photo:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:3/4}.photo:nth-child(odd){aspect-ratio:4/5}.photo:nth-child(1),.photo:nth-child(5),.photo:nth-child(8){grid-column:span 2;aspect-ratio:4/3}.contact{padding:13vh 22px 32px}.contact h2{font-size:20vw}.contact-mail{font-size:25px;margin-top:42px}.contact footer{margin-top:13vh;grid-template-columns:1fr 1fr;font-size:8px}.contact footer span:nth-child(2){display:none}.contact footer a{grid-column:2;grid-row:1}.lightbox{padding:12px;width:94vw;height:82vh}.lightbox figcaption{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img,.category-links a{transition:none}}

/* Quiet gallery headings keep the photographs in focus. */
.gallery-head{display:block;margin-bottom:36px}.gallery-head h2{font-size:clamp(32px,4vw,56px);letter-spacing:-.035em;line-height:1.1}
.gallery-index{padding:70px 8vw;align-items:center}.section-heading h2{font-size:clamp(36px,5vw,64px);line-height:1.1;letter-spacing:-.035em}
.category-links a{display:block;font-size:clamp(24px,2.5vw,36px);padding:16px 0}
.gallery{padding-top:70px;padding-bottom:80px}.contact{padding-top:80px}.contact h2{font-size:clamp(40px,6vw,72px);line-height:1.1;letter-spacing:-.035em}
@media(max-width:800px){.gallery-index{padding:54px 22px}.category-links{margin-top:32px}.gallery{padding:54px 22px 64px}.gallery-head{margin-bottom:26px}.gallery-head h2{font-size:34px}.contact{padding-top:60px}}

/* Beige light sections, with the original dark sections retained. */
.gallery-paper{background:var(--paper)}
/* Preserve every photograph's original proportions. */
.photo-grid{display:block;columns:3;column-gap:14px}
.photo,.photo-wide,.photo-tall,.photo:nth-child(n){display:block;width:100%;height:auto;aspect-ratio:auto;margin:0 0 14px;break-inside:avoid;background:transparent;overflow:visible}
.photo img{width:100%;height:auto;object-fit:contain;transform:none;filter:none}
.photo:hover img{transform:none;filter:none}
.intro-photo{aspect-ratio:auto;max-height:none;overflow:visible}.intro-photo img{height:auto;object-fit:contain;filter:none}
@media(max-width:800px){.photo-grid{columns:2;column-gap:8px}.photo,.photo:nth-child(n){aspect-ratio:auto;margin-bottom:8px}}

.comparison{width:min(100%,620px);margin:50px auto 0}.comparison-images{position:relative}.comparison-images>img{width:100%;height:auto;object-fit:contain}.comparison-images .comparison-bw{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison-line{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:var(--paper);pointer-events:none;transform:translateX(-50%)}.comparison-line>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:24px}.comparison-slider{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.comparison-images:focus-within{outline:2px solid var(--paper);outline-offset:5px}.comparison figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:14px;color:var(--paper)}.comparison figcaption span:nth-child(2){color:#aaa}

.gallery-comparison{width:100%;margin:0 0 14px;break-inside:avoid}.gallery-comparison figcaption{color:var(--ink);font-size:14px;margin-top:10px}.gallery-comparison .comparison-images:focus-within{outline-color:var(--ink)}
.interior-row{max-width:1500px;margin:30px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.interior-row .photo{margin:0}.interior-row img{width:100%;height:auto}
@media(max-width:800px){.gallery-comparison{margin-bottom:8px}.interior-row{gap:8px}.gallery-comparison figcaption{font-size:12px}}

.interior-row .photo:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:auto;min-width:0;width:100%;margin:0}

.wedding-feature-row{max-width:1500px;margin:30px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.wedding-feature-row .photo:nth-child(n),.wedding-feature-row .comparison{grid-column:auto;grid-row:auto;width:100%;margin:0;min-width:0;aspect-ratio:auto}
@media(max-width:800px){.wedding-feature-row{grid-template-columns:1fr;gap:18px}.wedding-feature-row .comparison{grid-row:2}}

.interior-extra{max-width:1500px;margin:14px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.interior-extra .photo:nth-child(n){grid-column:3;grid-row:auto;width:100%;margin:0;aspect-ratio:auto}
@media(max-width:800px){.interior-extra{grid-template-columns:1fr;margin-top:16px}.interior-extra .photo:nth-child(n){grid-column:1}}
