/* Ivory, black and muted gold from the user-pinned Julio reference. */
@font-face { font-family:'Libre Baskerville'; src:url('assets/libre-baskerville.ttf') format('truetype'); font-style:normal; font-weight:400 700; font-display:swap; }
:root { --edge:clamp(24px,7.4vw,144px); --focus:var(--accent); }
body { background:var(--ink); color:var(--paper); }
h1,h2,h3 { font-family:var(--font-display); font-weight:400; letter-spacing:-.025em; }
h2 { font-size:clamp(36px,4.2vw,64px); text-transform:none; line-height:1.08; }
.brand>span { font-family:var(--font-display); font-weight:700; letter-spacing:-.04em; }
.brand small { font-family:var(--font-body); font-size:11px; text-transform:uppercase; letter-spacing:.22em; }
.button { border-radius:0; text-transform:uppercase; font-size:13px; font-weight:500; letter-spacing:.045em; }
.button .icon { width:32px; height:32px; padding:6px; border:1px solid rgb(16 18 16 / .4); }
.button-dark,.button-light { background:var(--accent); color:var(--ink); }
.button-dark:hover,.button-light:hover { background:var(--accent-hover); }
.text-link,.quiet-link { color:inherit; }
.text-link:hover,.quiet-link:hover { color:var(--accent); }
.location { background:var(--brown); }
.location-copy h2,.review-top h2,.services>h2,.about-copy h2 { font-family:var(--font-display); font-weight:400; font-size:clamp(36px,4.2vw,64px); line-height:1.08; }
.work,.care { background:var(--ink); }
.care { border-top:0; }
.work-card h3,.info-item h3,.service-list h3,.footer-info h3 { font-family:var(--font-display); font-weight:400; line-height:1.15; }
.work-card h3,.service-list h3 { font-size:clamp(23px,2.3vw,32px); }
.work-card figcaption>span,.review-source>span,.services .service-note { color:var(--muted); }
.review-card { border-radius:2px; --focus:var(--ink); }
.review-top strong { font-family:var(--font-display); font-weight:400; }
.review-progress { background:rgb(16 18 16 / .2); }
.review-toggle:hover,.review-bottom .icon-button:hover { background:var(--paper); }
.about { background:var(--brown); }
.about-photo { background:var(--ink); }
.about-photo--professional>img { object-fit:cover; object-position:50% 30%; }
#lightbox-image.is-portrait { width:auto; max-width:100%; aspect-ratio:auto; margin-inline:auto; }
.about-photo figcaption { background:var(--ink); color:var(--paper); }
.about-photo figcaption>span:first-child { font-family:var(--font-display); font-weight:400; }
.site-footer { background:var(--ink); color:var(--paper); border-top:0; }
.footer-info>div>a,.footer-bottom { color:var(--muted); }
.footer-info>div>a:hover { color:var(--accent); }
.footer-business { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 24px; padding-block:24px; border-top:1px solid var(--line); color:var(--muted); font:400 13px/1.7 var(--font-body); }
.footer-business p { margin:0; }
.footer-business a,.business-email { max-width:100%; overflow-wrap:anywhere; }
.footer-wordmark { font:400 clamp(44px,9.3vw,160px)/1 var(--font-display); letter-spacing:-.04em; color:var(--paper); }
.footer-invite h2 { font-size:clamp(36px,4.5vw,72px); }
dialog { background:var(--brown); color:var(--paper); }
.close-dialog { background:var(--ink); }
#lightbox-image { background:var(--ink); }
.legal-header { background:var(--ink); }
.legal-content h1,.legal-content h2 { font-weight:400; }
.legal-content h1 { font-size:clamp(40px,8vw,80px); }
.legal-content .legal-date { color:var(--muted); }
.legal-footer { border-color:var(--line); }
@media(max-width:700px) {
  :root { --edge:24px; }
  .section { padding-block:64px; }
  .section-top h2,.services>h2,.about-copy h2,.location-copy h2 { font-size:40px; }
  .review-top h2 { font-size:34px; }
  .footer-wordmark { font-size:9.3vw; }
  .footer-invite h2 { font-size:clamp(30px,8.7vw,40px); }
}
@media(max-width:370px) { :root { --edge:20px; } #review-quote { min-height:7.25em; } .review-top { gap:12px; } .review-top h2 { font-size:30px; } }
@media(max-width:320px) { .review-top { flex-wrap:wrap; } }
