.photographer-ads { background:#f5f1ec; color:#282129; padding:80px 0 54px; border-top:1px solid #ded5d9; scroll-margin-top:90px; }
.photographer-ads-heading { text-align:center; max-width:880px; margin:0 auto 38px; }
.photographer-ads-kicker { color:#79506a; font-size:10px; font-weight:750; letter-spacing:.19em; text-transform:uppercase; margin:0 0 20px; }
.photographer-ads h2 { font-family:Georgia,serif; color:#282129; font-size:clamp(30px,4.4vw,58px); line-height:1.12; letter-spacing:-.045em; margin:0; }
.photographer-ads h2 span,.photographer-ads h2 em { display:block; }
.photographer-ads h2 em { color:#8b586e; font-weight:400; }
.photographer-ads-intro { color:#716570; font-size:14px; line-height:1.65; margin:20px 0 0; }
.photographer-ad-example { margin:0; min-width:0; border-radius:6px; overflow:hidden; background:#251e24; box-shadow:0 22px 55px #38263518; }
.photographer-ad-content { display:grid; grid-template-columns:56% 44%; min-height:510px; }
.photographer-ad-photo { position:relative; overflow:hidden; min-width:0; }
.photographer-ad-photo>img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center 37%; }
.photographer-ad-photo::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,#171019b3); pointer-events:none; }
.photographer-ad-label { position:absolute; top:20px; left:20px; right:auto; max-width:calc(100% - 40px); z-index:1; color:#fff; background:#231921e8; border:1px solid #ffffff30; padding:8px 12px; font-size:9px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.photographer-ad-photo-label { position:absolute; bottom:26px; left:28px; right:28px; z-index:1; font-family:Georgia,serif; font-style:italic; color:white; font-size:clamp(22px,2.5vw,34px); line-height:1.2; }
.photographer-ad-text { padding:clamp(28px,4vw,56px); align-self:center; }
.photographer-ad-overline { color:#d7b3c4; font-size:9px; line-height:1.65; text-transform:uppercase; letter-spacing:.15em; margin:0 0 22px; }
.photographer-ad-text h3 { font-family:Georgia,serif; color:#fff9f3; font-size:clamp(36px,4vw,56px); font-weight:400; line-height:1.02; letter-spacing:-.04em; margin:0 0 18px; }
.photographer-ad-tagline { color:#e8d5df; font-family:Georgia,serif; font-style:italic; font-size:21px; line-height:1.35; margin:0 0 20px; }
.photographer-ad-description { color:#c8bcc4; font-size:13px; line-height:1.75; margin:0; max-width:40ch; }
.photographer-ad-specialties { color:#d5b5c7; border-top:1px solid #ffffff24; padding-top:20px; margin:24px 0; font-size:10px; line-height:1.6; letter-spacing:.045em; }
.photographer-ad-demo-button { display:inline-block; background:#f5e5ed; color:#352332; border-radius:3px; padding:13px 23px; font-size:12px; font-weight:700; }
.photographer-ad-demo-note { display:block; color:#b7a5b1; font-size:9px; margin-top:10px; line-height:1.5; }
.photographer-ad-example figcaption { padding:13px 22px; color:#c8bbc5; border-top:1px solid #ffffff1c; font-size:10px; line-height:1.6; }
.photographer-ads-inquiry { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 0 0; }
.photographer-ads-inquiry-title { color:#392d37; font-size:14px; font-weight:700; margin:0 0 6px; }
.photographer-ads-note { color:#776975; font-size:12px; line-height:1.65; margin:0; }
.photographer-ads-contact { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 0; color:#673c56; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:6px; flex-shrink:0; }
.photographer-ads-contact:hover { color:#2c1826; }
.photographer-ads-contact:focus-visible { outline:3px solid #ad527f; outline-offset:5px; }
@media(max-width:760px) { .photographer-ad-content { grid-template-columns:1fr; } .photographer-ad-photo { aspect-ratio:4/3; } .photographer-ad-text { padding:30px; } .photographer-ads { padding:50px 0 36px; } .photographer-ads-heading { margin-bottom:28px; } .photographer-ads-inquiry { align-items:flex-start; flex-direction:column; gap:10px; } }
@media(max-width:400px) { .photographer-ad-text { padding:26px; } .photographer-ad-label { top:14px; left:14px; font-size:8px; } .photographer-ad-photo-label { left:20px; bottom:20px; } }
