:root { --ink:#f5f4ef; --black:#0a0a0a; --charcoal:#151515; --line:rgba(255,255,255,.16); }
* { box-sizing:border-box; }
[hidden], .lightbox.lightbox-closed { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--ink); font-family:Arial, Helvetica, sans-serif; transition:opacity .36s ease,filter .36s ease; }
html.page-exit body { opacity:0; filter:blur(3px); }
a { color:inherit; text-decoration:none; }
.photo-site, .art-site { min-height:100vh; animation:appear .72s cubic-bezier(.2,.75,.2,1) both; }
.photo-site { background:var(--black); }
.nav { display:flex; justify-content:space-between; align-items:center; padding:28px 4.5vw; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.wordmark { font-size:14px; font-weight:700; letter-spacing:.21em; }
.nav-links { display:flex; gap:28px; color:#969696; }.nav-links span { color:var(--ink); }.nav-links a:hover { color:var(--ink); }
.hero { min-height:calc(100vh - 76px); display:flex; flex-direction:column; justify-content:center; padding:5vw 10vw 10vw; position:relative; overflow:hidden; }
.hero:after { content:""; position:absolute; width:min(52vw,720px); aspect-ratio:1; border:1px solid #282828; border-radius:50%; right:-8vw; top:12%; box-shadow:0 0 0 7vw #111,0 0 0 7.1vw #242424; opacity:.85; }
.eyebrow { margin:0 0 22px; color:#8d8d8d; text-transform:uppercase; letter-spacing:.15em; font-size:11px; }.hero h1,.section-intro h2,.contact h2 { margin:0; font-size:clamp(68px,11.4vw,175px); font-weight:500; letter-spacing:-.075em; line-height:.8; position:relative; z-index:1; }.hero h1{font-size:clamp(56px,8.7vw,138px)}.hero em,.section-intro em,.contact em { font-family:Georgia,serif; font-weight:400; letter-spacing:-.1em; }.hero-copy { color:#b9b9b9; max-width:330px; font-size:15px; line-height:1.5; margin:42px 0; position:relative; z-index:1; }.scroll-cue { position:relative; z-index:1; display:flex; gap:16px; width:max-content; font-size:12px; letter-spacing:.08em; }.scroll-cue span { font-size:18px; line-height:.6; }
.album-section { background:var(--charcoal); padding:11vw 4.5vw; }.section-intro { max-width:780px; margin:0 auto 10vw; }.section-intro h2 { font-size:clamp(50px,8.5vw,125px); }.section-intro>p:last-child { color:#aaa; max-width:365px; margin:28px 0 0 40%; line-height:1.55; font-size:14px; }.album-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7vw 2.2vw; }.album { display:block; appearance:none; border:0; padding:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }.album-image { aspect-ratio:1/1.05; background:#242424; overflow:hidden; position:relative; }.album img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.18); transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .45s; }.album:hover img { transform:scale(1.055); filter:grayscale(1) contrast(1.4); }.album-number { position:absolute; right:13px; top:12px; mix-blend-mode:difference; color:#fff; font-size:11px; letter-spacing:.1em; }.album-meta { padding-top:16px; }.album h3 { font-size:clamp(17px,1.6vw,24px); line-height:1.05; letter-spacing:-.04em; font-weight:500; margin:0 0 9px; }.album p { color:#969696; font-size:12px; line-height:1.45; margin:0; max-width:290px; }.album-meta span { display:block; margin-top:14px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#ddd; opacity:0; transform:translateY(5px); transition:.25s; }.album:hover .album-meta span { opacity:1; transform:none; }
.contact { min-height:82vh; display:flex; flex-direction:column; justify-content:center; padding:10vw; background:#d6d4cc; color:#101010; }.contact .eyebrow { color:#5c5b56; }.contact h2 { font-size:clamp(55px,9.8vw,150px); }.contact>a { margin-top:55px; border-bottom:1px solid #222; width:max-content; padding-bottom:10px; font-size:clamp(17px,2.3vw,30px); letter-spacing:-.03em; }.contact>a span { margin-left:28px; } footer { padding:25px 4.5vw; display:flex; gap:25px; justify-content:flex-end; color:#888; font-size:10px; letter-spacing:.1em; text-transform:uppercase; } footer span { margin-right:auto; } footer a:hover { color:#fff; }
.art-site { background:#faf9f5; color:#101010; }.art-site .nav { border-bottom:1px solid #d9d7d0; }.art-site .nav-links { color:#686762; }.art-site .nav-links span { color:#101010; }.art-site .nav-links a:hover { color:#000; }.art-hero { padding:12vw 10vw 8vw; }.art-hero .eyebrow,.art-hero p{text-align:left}.art-hero h1 { max-width:900px; margin:0; font-size:clamp(76px,13vw,190px); font-weight:500; letter-spacing:-.09em; line-height:.76; }.art-hero h1 em { font-family:Georgia,serif; font-weight:400; }.art-hero p { max-width:350px; line-height:1.5; margin:42px 0 0; color:#4d4c48; }.art-collection-section{padding:0 4.5vw 10vw}.art-album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7vw 2.2vw}.art-album{display:block;appearance:none;border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.art-album-image{aspect-ratio:1/1.05;background:#e2dfd5;overflow:hidden;position:relative}.art-album-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.2,1)}.art-album:hover img{transform:scale(1.055)}.art-album-image span{position:absolute;right:13px;top:12px;color:#fff;font-size:11px;letter-spacing:.1em;mix-blend-mode:difference}.art-album-meta{padding-top:16px}.art-album-meta h2{font-size:clamp(18px,1.7vw,26px);line-height:1.05;letter-spacing:-.04em;font-weight:500;margin:0 0 9px}.art-album-meta p{color:#686762;font-size:12px;line-height:1.45;margin:0;max-width:290px}.art-album-meta span{display:block;margin-top:14px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#222;opacity:0;transform:translateY(5px);transition:.25s}.art-album:hover .art-album-meta span{opacity:1;transform:none}.art-gallery-inline{background:#efede6;padding:4vw;margin-top:4vw;scroll-margin-top:3vw}.art-gallery-head{position:relative;max-width:800px;margin:0 0 4vw}.art-gallery-close{position:absolute;right:0;top:0;border:0;background:none;color:#333;cursor:pointer;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.art-gallery-head h2{font-size:clamp(32px,4vw,58px);line-height:.9;letter-spacing:-.06em;font-weight:500;margin:0 0 18px}.art-gallery-head>p:last-child{max-width:390px;color:#555;line-height:1.5}.art-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3vw}.art-gallery-photo{position:relative;border:0;padding:0;background:#dedbd2;cursor:zoom-in;aspect-ratio:1/1;overflow:hidden}.art-gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.art-gallery-photo:hover img{transform:scale(1.045)}.art-gallery-photo span{position:absolute;bottom:13px;left:14px;color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;z-index:1;mix-blend-mode:difference}.art-note { border-top:1px solid #aaa8a0; margin:0 4.5vw; padding:22px 0 42px; display:flex; justify-content:space-between; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#55534d; }
 .gallery-inline{grid-column:1/-1;background:#101010;padding:4vw;margin-top:-3vw;scroll-margin-top:3vw;animation:overlay-in .38s cubic-bezier(.2,.75,.2,1) both}.gallery-head{position:relative;max-width:800px;margin:0 0 4vw}.gallery-close{position:absolute;right:0;top:0;border:0;background:none;color:#ddd;cursor:pointer;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.gallery-close:hover{color:#fff}.gallery-head h2{font-size:clamp(32px,4vw,58px);line-height:.9;letter-spacing:-.06em;font-weight:500;margin:0 0 18px}.gallery-head>p:last-child{max-width:390px;color:#aaa;line-height:1.5}.flickr-link{display:inline-block;margin-top:20px;padding-bottom:7px;border-bottom:1px solid #aaa;color:#f5f4ef;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.flickr-link:hover{color:#fff;border-color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3vw}.gallery-photo{position:relative;border:0;padding:0;background:#181818;cursor:zoom-in;aspect-ratio:1/1;overflow:hidden}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);transition:transform .45s ease,filter .35s}.gallery-photo:hover img{transform:scale(1.045);filter:grayscale(1) contrast(1.25)}.gallery-photo span{position:absolute;bottom:13px;left:14px;color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;z-index:1}.lightbox{position:fixed;inset:0;z-index:2147483647;isolation:isolate;display:grid;place-items:center;background:rgba(0,0,0,.94);padding:5vw}.lightbox-close{position:absolute;right:4vw;top:3vw;z-index:1;border:0;background:none;color:#fff;font-size:43px;font-weight:200;cursor:pointer}.lightbox figure{margin:0;max-width:100%;max-height:100%;text-align:center}.lightbox img{display:block;max-width:90vw;max-height:82vh;object-fit:contain}.lightbox figcaption{margin-top:16px;color:#aaa;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.art-lightbox{background:rgba(240,239,233,.98)}.art-lightbox .lightbox-close{color:#111}.art-lightbox figcaption{color:#555}@keyframes overlay-in{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:none}}
.art-hero { min-height:calc(100vh - 76px); display:flex; flex-direction:column; justify-content:center; padding:5vw 10vw 10vw; position:relative; overflow:hidden; }
.art-hero:after { content:""; position:absolute; width:min(52vw,720px); aspect-ratio:1; border:1px solid #d8d6ce; border-radius:50%; right:-8vw; top:12%; box-shadow:0 0 0 7vw #f3f2ed,0 0 0 7.1vw #dedcd4; opacity:.9; }
.art-hero .eyebrow { position:relative; z-index:1; color:#5c5b56; }
.art-hero h1 { max-width:none; font-size:clamp(56px,8.7vw,138px); line-height:.8; position:relative; z-index:1; }
.art-hero-copy { max-width:330px !important; font-size:15px; line-height:1.5; margin:42px 0 !important; position:relative; z-index:1; }
.art-scroll-cue { position:relative; z-index:1; display:flex; gap:16px; width:max-content; font-size:12px; letter-spacing:.08em; }
.art-scroll-cue span { font-size:18px; line-height:.6; }
.art-collection-section { background:#f1f0ea; padding:11vw 4.5vw; }
.art-section-intro { max-width:780px; margin:0 auto 10vw; }
.art-section-intro .eyebrow { color:#5c5b56; }
.art-section-intro h2,.art-contact h2 { margin:0; font-size:clamp(50px,8.5vw,125px); font-weight:500; letter-spacing:-.075em; line-height:.8; }
.art-section-intro em,.art-contact em { font-family:Georgia,serif; font-weight:400; letter-spacing:-.1em; }
.art-section-intro > p:last-child { color:#5a5954; max-width:365px; margin:28px 0 0 40%; line-height:1.55; font-size:14px; }
.art-album-meta h3 { font-size:clamp(17px,1.6vw,24px); line-height:1.05; letter-spacing:-.04em; font-weight:500; margin:0 0 9px; }
.art-gallery-inline { grid-column:1/-1; margin-top:-3vw; animation:overlay-in .38s cubic-bezier(.2,.75,.2,1) both; }
.art-contact { min-height:82vh; display:flex; flex-direction:column; justify-content:center; padding:10vw; background:#e5e3db; color:#101010; }
.art-contact .eyebrow { color:#5c5b56; }
.art-contact h2 { font-size:clamp(55px,9.8vw,150px); }
.art-contact > a { margin-top:55px; border-bottom:1px solid #222; width:max-content; padding-bottom:10px; font-size:clamp(17px,2.3vw,30px); letter-spacing:-.03em; }
.art-contact > a span { margin-left:28px; }
.art-site footer { color:#6c6b65; }.art-site footer a:hover { color:#101010; }
.contact-socials { display:flex; gap:20px; margin-top:55px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.contact-socials a { border-bottom:1px solid currentColor; padding-bottom:5px; }
.gallery-close,.art-gallery-close { padding:8px 0 8px 12px; }
@keyframes appear { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media(max-width:720px){ .nav{padding:21px 6vw}.nav-links{gap:16px}.hero{padding:20vw 8vw 16vw}.hero:after{width:70vw;right:-30vw;top:9%}.album-section{padding:20vw 6vw}.section-intro>p:last-child{margin-left:0}.album-grid{grid-template-columns:1fr;gap:15vw}.contact{padding:20vw 8vw;min-height:70vh}footer{padding:22px 6vw;gap:14px;flex-wrap:wrap}.art-hero{padding:24vw 8vw 18vw}.art-hero p{margin-left:0}.art-collection-section{padding:0 6vw 20vw}.art-album-grid{grid-template-columns:1fr;gap:15vw}.art-gallery-inline{padding:9vw 5vw;margin-top:10vw}.art-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3vw}.gallery-inline{padding:9vw 5vw;margin-top:-10vw}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3vw}.lightbox-close{right:5vw;top:4vw} }
@media(max-width:720px){ .art-hero{padding:20vw 8vw 16vw}.art-hero:after{width:70vw;right:-30vw;top:9%}.art-collection-section{padding:20vw 6vw}.art-section-intro>p:last-child{margin-left:0}.art-contact{padding:20vw 8vw;min-height:70vh}.art-gallery-inline{margin-top:-10vw} }
