:root{--paper:#f3f1eb;--ink:#242622;--muted:#777a73;--olive:#777d6e;--line:#d8d8d0;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header{height:91px;padding:0 6.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:11px;font-size:10px;font-weight:600;letter-spacing:.14em;line-height:1.55;white-space:nowrap}.wordmark img{display:block;width:37px;height:26px;object-fit:contain}.wordmark span{font-weight:600}.main-nav{display:flex;gap:43px;align-items:center;font-size:12px;letter-spacing:.06em}.main-nav a{transition:opacity .2s}.main-nav a:hover,.text-link:hover{opacity:.6}.nav-contact{border-bottom:1px solid var(--ink);padding:9px 0}.nav-contact span{padding-left:15px}.menu-toggle{display:none}.hero{min-height:650px;padding:76px 6.2% 63px;display:grid;grid-template-columns:.84fr 1.16fr;gap:7%;position:relative;align-items:center}.hero-copy{padding-left:6%;padding-bottom:30px}.eyebrow{font-size:9px;letter-spacing:.19em;color:var(--olive);font-weight:600;margin:0 0 25px}.eyebrow-line{width:28px;height:1px;background:var(--olive);display:inline-block;vertical-align:middle;margin-right:11px}.hero h1,.section-heading h2,.about h2,.contact h2{font:500 clamp(48px,5vw,73px)/1.08 var(--serif);letter-spacing:-.045em;margin:0}.hero h1 em,.section-heading h2 em,.about h2 em,.contact h2 em{font-weight:500}.hero-intro{font-size:14px;line-height:1.8;max-width:350px;color:#64635c;margin:26px 0 28px}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding:0 0 9px;font-size:11px;letter-spacing:.04em;transition:opacity .2s}.text-link span{margin-left:18px}.hero-image{margin:0;height:auto;position:relative}.hero-image>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 48%;display:block}.hero-image figcaption{font-size:8px;letter-spacing:.16em;color:#65645d;margin-top:13px}.hero-image figcaption span{margin-right:15px;color:var(--olive)}.image-stamp{position:absolute;bottom:29px;left:-26px;background:var(--paper);width:62px;height:62px;border-radius:50%;display:grid;place-content:center;text-align:center;font:12px/1.2 var(--serif);color:var(--olive)}.hero-side-note{position:absolute;right:2%;top:47%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:#86847b}.intro-strip{margin:0 6.2%;height:102px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:26px}.intro-strip p{font-size:10px;letter-spacing:.18em}.intro-strip p em{font:italic 25px var(--serif);letter-spacing:0}.intro-strip>span:not(.strip-note){color:var(--olive)}.strip-note{margin-left:auto;color:var(--muted);font:italic 13px var(--serif)}.section-wrap{padding:120px 10%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:52px}.section-heading .eyebrow{margin-bottom:18px}.section-heading h2{font-size:48px}.section-heading>.text-link{margin-bottom:7px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:72px 5.5%;align-items:start}.gallery-card{display:block;position:relative}.card-tall{margin-top:46px}.gallery-card img{width:100%;display:block;object-fit:cover;filter:saturate(.82);transition:filter .35s,transform .6s}.gallery-card:hover img{filter:saturate(1);transform:scale(1.012)}.card-tall img,.card-short img{height:auto}.card-label{position:relative;padding:17px 0 0 36px}.card-label>span{position:absolute;left:0;top:23px;color:var(--olive);font-size:9px}.card-label h3{font:500 25px var(--serif);margin:0}.card-label h3 i{font:normal 13px var(--sans);padding-left:9px}.card-label p{font-size:8px;letter-spacing:.17em;color:var(--muted);margin:7px 0}.about{background:#e9e5db;padding:110px 13%;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.about-image{position:relative}.about-image img{width:100%;height:550px;object-fit:cover;display:block;filter:saturate(.7)}.about-image span{position:absolute;bottom:0;left:0;background:var(--paper);font-size:8px;letter-spacing:.15em;padding:14px 18px}.about-copy .eyebrow{margin-bottom:25px}.about h2{font-size:50px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#62615a;max-width:400px;margin:24px 0}.button-link{display:inline-flex;gap:25px;align-items:center;margin-top:14px;padding:15px 19px;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.04em}.quote-band{text-align:center;padding:95px 20px 90px;background:var(--olive);color:var(--paper)}.quote-mark{display:block;font:64px/.6 var(--serif);opacity:.8}.quote-band blockquote{font:italic 33px/1.35 var(--serif);margin:16px auto 22px}.quote-band p{font-size:8px;letter-spacing:.19em;opacity:.75}.contact{display:flex;justify-content:space-between;align-items:center;padding-top:108px;padding-bottom:112px}.contact h2{font-size:58px}.contact-copy{max-width:350px}.contact-copy>p:first-child{font:18px/1.6 var(--serif);margin:0 0 25px}.contact-email{font:21px var(--serif);border-bottom:1px solid var(--olive);padding-bottom:9px}.contact-email span{font:13px var(--sans);margin-left:20px}.small-note{font-size:9px;color:var(--muted);letter-spacing:.05em;margin-top:19px}footer{padding:29px 6.2%;background:#282b27;color:var(--paper);display:flex;align-items:center;justify-content:space-between}footer .footer-wordmark img{display:block;width:220px;height:auto;max-height:34px;object-fit:contain}footer>p,footer small,.back-top{font-size:8px;letter-spacing:.15em;color:#b9bcb3}footer small{font-size:7px}.back-top:hover{color:var(--paper)}
@media(max-width:850px){.hero{padding-left:6%;padding-right:6%;grid-template-columns:.9fr 1.1fr;gap:4%;min-height:590px}.hero-copy{padding-left:0}.hero-image{height:auto}.hero-side-note{display:none}.section-wrap{padding:90px 7%}.about{padding:90px 8%;gap:8%}.about-image img{height:450px}.about h2{font-size:42px}.card-tall img,.card-short img{height:auto}}
@media(max-width:620px){.site-header{height:72px;padding:0 6%}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:10px;z-index:3}.menu-toggle span{height:1px;width:23px;background:var(--ink)}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--paper);padding:25px 7%;z-index:2;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:22px}.main-nav.open{display:flex}.hero{display:flex;flex-direction:column;align-items:stretch;padding:58px 6% 42px;gap:42px}.hero-copy{padding:0}.hero h1{font-size:53px}.hero-intro{max-width:330px}.hero-image{height:auto;width:90%;align-self:flex-end}.image-stamp{left:-20px;width:54px;height:54px}.intro-strip{margin:0 6%;height:85px;gap:12px}.intro-strip p{font-size:7px;letter-spacing:.13em}.intro-strip p em{font-size:19px}.strip-note{display:none}.section-wrap{padding:77px 6%}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:41px}.section-heading>.text-link{margin-top:20px}.gallery{gap:45px 14px}.card-tall{margin-top:22px}.card-tall img,.card-short img{height:auto}.card-label{padding:13px 0 0 22px}.card-label>span{top:19px;font-size:8px}.card-label h3{font-size:20px}.card-label p{font-size:6px;letter-spacing:.12em}.about{padding:75px 7%;grid-template-columns:1fr;gap:39px}.about-image img{height:390px}.about h2{font-size:46px}.about-copy>p:not(.eyebrow){font-size:12px}.quote-band{padding:75px 18px}.quote-band blockquote{font-size:27px}.contact{display:block;padding-top:78px;padding-bottom:80px}.contact h2{font-size:51px}.contact-copy{margin-top:38px}.contact-copy>p:first-child{font-size:17px}.contact-email{font-size:19px}footer{padding:25px 6%;flex-wrap:wrap;gap:18px}footer>p{order:3;width:100%;margin:0}footer small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Small-screen safety rails */
html,body{overflow-x:hidden}
img,svg{max-width:100%}
.site-header{min-width:0}
.wordmark{min-width:0;flex:0 1 auto}
.main-nav a,.nav-contact{white-space:nowrap}
.gallery-card,.comment-card,.access-card,.manager-card,.gallery-picker-card{min-width:0}
@media(max-width:480px){
  .site-header{padding-left:4.5%;padding-right:4.5%}
  .wordmark{font-size:8px;letter-spacing:.1em;gap:7px}
  .wordmark img{width:30px;height:22px}
  .hero{padding-top:46px;gap:34px}
  .hero h1{font-size:clamp(42px,13vw,52px)}
  .hero-image{width:94%;align-self:center}
  .hero-image figcaption{font-size:7px;line-height:1.5}
  .intro-strip{height:auto;min-height:82px;padding:16px 0;justify-content:flex-start;gap:8px}
  .intro-strip p{font-size:6px;letter-spacing:.1em}
  .intro-strip p em{font-size:15px}
  .section-heading h2{font-size:clamp(32px,10vw,40px)}
  .section-heading>.text-link{font-size:10px}
  .work .portrait-card,.work .engagement-card,.work .promotion-card,.work .sports-card{flex-basis:52vw}
  .work .wedding-card,.work .moment-card{flex-basis:92vw}
  .card-label h3{font-size:17px;line-height:1.15}
  .card-label p{font-size:6px;line-height:1.4}
  .contact-email,.contact-phone{display:block;max-width:100%;font-size:16px;overflow-wrap:anywhere}
  footer{align-items:flex-start}
  footer .footer-wordmark img{width:min(220px,72vw);height:auto}
}

/* Instagram portfolio embeds and client feedback */
.instagram-archive{padding-top:88px;padding-bottom:104px;background:#ebece7}
.instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.instagram-card{min-width:0}
.instagram-card blockquote.instagram-media{margin:0!important;width:100%!important;min-width:0!important;max-width:100%!important;background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:3px!important;box-shadow:none!important}
.instagram-card blockquote.instagram-media a{color:var(--ink)}
.instagram-caption{margin:13px 0 0;font-size:8px;letter-spacing:.15em;color:var(--muted)}
.instagram-footnote{margin:38px 0 0;font-size:10px;color:var(--muted);letter-spacing:.03em}
.instagram-footnote a{color:var(--ink);border-bottom:1px solid var(--olive)}
.reviews-band{background:#282b27;color:var(--paper);padding:92px 12%;display:flex;align-items:center;justify-content:space-between;gap:60px}
.reviews-inner{max-width:580px}
.reviews-band .eyebrow{color:#c3c8b8}
.reviews-band h2{font:500 clamp(40px,4.4vw,58px)/1.1 var(--serif);letter-spacing:-.04em;margin:0}
.reviews-band h2 em{font-weight:500}
.reviews-band .reviews-inner>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#c5c8c0;max-width:490px;margin:22px 0 24px}
.reviews-link{display:inline-flex;gap:25px;border-bottom:1px solid #c3c8b8;padding-bottom:10px;font-size:10px;letter-spacing:.05em}
.reviews-link span{color:#c3c8b8}
.reviews-mark{font:120px/1 var(--serif);color:#aab09b;opacity:.8}
@media(max-width:850px){.instagram-grid{gap:17px}.reviews-band{padding:80px 8%}}
@media(max-width:620px){.instagram-grid{grid-template-columns:1fr;gap:29px}.instagram-archive{padding-top:70px;padding-bottom:75px}.instagram-footnote{margin-top:28px;line-height:1.7}.reviews-band{padding:72px 7%;gap:20px}.reviews-mark{font-size:76px}.reviews-band .reviews-inner>p:not(.eyebrow){font-size:12px}}

.contact-phone{display:block;margin-top:13px;font:18px var(--serif);color:var(--ink)}.contact-phone span{font:12px var(--sans);margin-left:16px;color:var(--olive)}.contact-phone:hover{color:var(--olive)}
