:root{--paper:#f7f7f2;--ink:#252923;--muted:#64685e;--line:#d9dcd3;--accent:#62694c;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2{margin:0}em{font-weight:400}::selection{background:#d7dbc9}.skip-link{position:fixed;left:20px;top:-100px;background:var(--ink);color:white;padding:14px;z-index:20}.skip-link:focus{top:20px}.site-header{height:124px;display:flex;align-items:center;justify-content:space-between;padding:0 6.25%}.wordmark{position:relative;font-family:var(--serif);font-size:33px;line-height:.85;font-weight:500;letter-spacing:-1px}.wordmark>span:first-child{display:block;font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:4.5px;text-transform:uppercase;margin-bottom:10px;padding-left:2px}.wordmark-dot{color:var(--accent)}nav{display:flex;align-items:center;gap:38px;font-size:14px}nav a{padding:9px 0}nav a:not(.nav-contact):hover{text-decoration:underline;text-underline-offset:6px}.nav-contact{border-bottom:1px solid var(--ink);margin-left:26px}.nav-contact span{margin-left:26px}.hero{display:grid;grid-template-columns:46% 54%;min-height:740px;padding:12px 6.25% 0;gap:0}.hero-copy{padding-top:56px;padding-right:30px;display:flex;flex-direction:column}.eyebrow{font-size:12px;font-weight:450;letter-spacing:1.5px;text-transform:uppercase;line-height:1.7}h1{font-family:var(--serif);font-weight:400;font-size:clamp(70px,7.5vw,120px);line-height:.96;letter-spacing:-4.5px;margin-top:44px}h1 em{color:var(--accent)}.hero-bottom{margin-top:auto;padding:54px 0 45px;display:flex;flex-direction:column;gap:28px}.hero-bottom p{font-size:16px;line-height:1.65;color:var(--muted)}.text-link{font-size:14px;display:flex;align-items:center;gap:42px;width:max-content}.text-link span{font-size:20px;transition:transform .25s}.text-link:hover span{transform:translateY(5px)}.hero-image{position:relative;min-height:690px;padding-bottom:38px}.hero-image img{position:absolute;inset:0 0 38px;height:calc(100% - 38px);object-position:38% 50%}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0}.image-side-note{position:absolute;right:-28px;top:12px;writing-mode:vertical-rl;font-size:11px;letter-spacing:1.5px;text-transform:uppercase}figcaption{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.5;color:var(--muted)}.section-pad{padding-left:12.5%;padding-right:12.5%}.moments{padding-top:150px;padding-bottom:150px}.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:70px}.section-heading .eyebrow{padding-top:13px}h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,4.5vw,72px);line-height:1.08;letter-spacing:-1.9px}.moments-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.photo-button{position:relative;display:block;border:0;padding:0;background:transparent;width:100%;cursor:zoom-in;overflow:hidden}.moment-tall .photo-button{aspect-ratio:3/4}.moment-wide .photo-button{aspect-ratio:4/3}.photo-button img{transition:transform .7s ease}.photo-button:hover img{transform:scale(1.035)}.photo-open{position:absolute;right:15px;bottom:15px;background:var(--paper);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;opacity:0;transition:opacity .2s}.photo-button:hover .photo-open,.photo-button:focus-visible .photo-open{opacity:1}.moment figcaption{margin-top:16px}.moment-aside{padding-top:18px}.moment-intro{font-family:var(--serif);font-size:29px;line-height:1.4;margin-bottom:72px;max-width:340px}.approach{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:108px;padding-bottom:105px;display:grid;grid-template-columns:1fr 2fr;gap:0}.approach-label{display:flex;flex-direction:column;justify-content:space-between}.small-star{font-size:65px;font-weight:400;color:var(--accent);line-height:1}.approach h2{font-size:clamp(44px,4.3vw,68px)}.approach-copy{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:44px;line-height:1.85;color:var(--muted);font-size:16px}.signature{font-family:var(--serif);font-size:39px;font-style:italic;margin-top:30px}.signature span{font-family:var(--sans);font-size:12px;font-style:normal;letter-spacing:1px;text-transform:uppercase;margin-left:18px;color:var(--muted)}.contact{text-align:center;padding-top:118px;padding-bottom:120px}.contact-intro{font-size:16px;color:var(--muted);margin-top:40px}.contact h2{font-size:clamp(80px,9.5vw,145px);line-height:.92;margin:35px 0 42px;letter-spacing:-4px}.contact h2 em{color:var(--accent)}.contact-email{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid var(--ink);padding-bottom:12px;font-size:20px;transition:color .2s}.contact-email:hover{color:var(--accent)}.contact-note{font-size:14px;color:var(--muted);margin-top:22px;line-height:1.6}.site-footer{border-top:1px solid var(--line);margin:0 6.25%;padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;color:var(--muted)}.footer-brand{font-family:var(--serif);font-size:24px;color:var(--ink)}.preview-note{background:#e9ece3;text-align:center;padding:12px 20px;font-size:12px;line-height:1.5;color:#505647}.preview-note span{padding:0 8px}dialog{background:#171a16;border:0;padding:64px 30px 30px;max-width:95vw;max-height:95dvh;width:fit-content;color:white}dialog::backdrop{background:#171a16ed}dialog img{height:auto;width:auto;max-width:85vw;max-height:calc(90dvh - 95px);object-fit:contain}.dialog-close{position:absolute;right:24px;top:20px;border:0;background:none;color:white;cursor:pointer;font-size:14px;display:flex;gap:22px;align-items:center}.dialog-close span{font-size:25px}body.dialog-open{overflow:hidden}
@media(min-width:1700px){body{max-width:1900px;margin:auto}.hero{min-height:850px}}
@media(max-width:1000px){.site-header{height:108px;padding-left:5%;padding-right:5%}.hero{padding-left:5%;padding-right:5%;min-height:650px;grid-template-columns:48% 52%}.hero-image{min-height:600px}.hero-copy{padding-top:32px}h1{font-size:clamp(60px,8.5vw,80px);letter-spacing:-3px}.hero-copy .eyebrow{max-width:240px}.hero-image figcaption span:last-child{display:none}.section-pad{padding-left:8%;padding-right:8%}.moments{padding-top:100px;padding-bottom:100px}.section-heading{grid-template-columns:1fr 2fr}.moments-grid{gap:7%}.moment figcaption{flex-direction:column;gap:3px}.moment-intro{font-size:25px;margin-bottom:50px}.approach{grid-template-columns:1fr 2.3fr}.approach-copy{grid-template-columns:1fr;gap:20px}nav{gap:24px}.nav-contact{margin-left:0}}
@media(max-width:650px){html{scroll-padding-top:20px}.site-header{height:100px;padding:0 7%}.wordmark{font-size:29px}.wordmark>span:first-child{font-size:11px;margin-bottom:9px}nav a:not(.nav-contact){display:none}.nav-contact{font-size:13px}.nav-contact span{margin-left:14px}.hero{display:flex;flex-direction:column;min-height:0;padding:20px 7% 0}.hero-copy{padding:20px 0 0}.hero-copy .eyebrow{max-width:none;font-size:11px;letter-spacing:1px}h1{font-size:clamp(70px,15vw,100px);letter-spacing:-3px;margin-top:32px;line-height:.95}.hero-bottom{padding:28px 0 35px;flex-direction:row;align-items:end;justify-content:space-between;gap:15px}.hero-bottom p{font-size:14px}.text-link{font-size:12px;gap:14px;white-space:nowrap}.hero-image{min-height:0;height:auto;aspect-ratio:4/5;margin-top:0;padding-bottom:30px}.hero-image img{height:calc(100% - 30px);bottom:30px}.image-side-note{right:-20px;font-size:10px}.hero-image figcaption{font-size:11px}.section-pad{padding-left:7%;padding-right:7%}.moments{padding-top:83px;padding-bottom:80px}.section-heading{display:block;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:24px;padding:0}h2{font-size:46px;letter-spacing:-1.6px}.moments-grid{display:block}.moment-tall{width:86%}.moment-aside{padding:47px 0 0}.moment-intro{font-size:27px;margin:0 0 30px 14%}.moment-wide{margin-left:14%}.moment figcaption{font-size:11px}.approach{display:block;padding-top:65px;padding-bottom:65px}.approach-label{flex-direction:row;align-items:center;margin-bottom:30px}.small-star{font-size:37px}.approach h2{font-size:45px}.approach-copy{margin-top:28px;font-size:16px;line-height:1.8}.signature{margin-top:25px}.contact{padding-top:75px;padding-bottom:80px}.contact-intro{font-size:14px;line-height:1.7;max-width:240px;margin:27px auto 0}.contact h2{font-size:83px;letter-spacing:-3px;margin:27px 0 35px}.contact-email{font-size:16px;gap:15px}.contact-note{font-size:13px;max-width:280px;margin:20px auto 0}.site-footer{margin:0 7%;padding:27px 0;flex-wrap:wrap;gap:17px}.site-footer p{width:100%;order:3}.site-footer>a:last-child{font-size:11px}.preview-note{font-size:11px}.preview-note span{padding:0 3px}dialog{padding:60px 12px 15px;max-width:98vw}dialog img{max-width:90vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.preview-note a{text-decoration:underline;text-underline-offset:3px}

/* Impressions: a separate, photograph-led gallery. */
nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.impressions-page{padding:35px 12.5% 110px}
.impressions-heading{margin-bottom:65px}
.impressions-heading h1{font-size:clamp(64px,8vw,110px);margin:20px 0 22px;letter-spacing:-3px}
.impressions-heading h1 em{color:var(--accent)}
.impressions-heading .eyebrow{color:var(--muted)}
.impressions-gallery{column-count:2;column-gap:6%}
.impression{break-inside:avoid;display:flow-root;margin:0 0 48px}
.impression:last-child{margin-bottom:0}
.impressions-gallery .photo-button{aspect-ratio:auto}
.impressions-gallery .photo-button img{height:auto}
.impression figcaption{margin-top:15px}
@media(max-width:650px){
  nav a.nav-impressions{display:block;font-size:13px}
  nav{gap:16px}
  .impressions-page{padding:20px 7% 65px}
  .impressions-heading{margin-bottom:35px}
  .impressions-heading h1{font-size:clamp(52px,12vw,76px);letter-spacing:-2px}
  .impressions-gallery{column-count:1}
  .impression{margin-bottom:28px}
  .photo-open{opacity:1}
}
@media(max-width:360px){.site-header{padding-left:5%;padding-right:5%}.wordmark{font-size:25px}nav{gap:12px}.nav-contact span{margin-left:5px}}

/* The artistry follows the approach, sharing its responsive editorial layout. */
.artistry{border-top:0}

/* White photographic borders. */
:root{--photo-border:clamp(8px,1vw,14px)}
.hero-image img,.photo-button,dialog img{border:var(--photo-border) solid #fff;background:#fff}
