/* Shared reading scale and clearly visible actions on both pages. */
:root{--text-body:17px;--text-small:14px;--text-action:17px}
body{font-size:var(--text-body);line-height:1.75}
.header nav a{font-size:16px;line-height:1.45}
.identity small{font-size:14px;letter-spacing:.12em}
.eyebrow,.section .eyebrow,.cv-section .eyebrow,.cv-intro-copy .eyebrow{font-size:14px;line-height:1.5;letter-spacing:.12em}
.intro-copy>p:not(.eyebrow),.prose,.contact p,.contact>div>p:last-child,.contact-line>p,.atelier-note,.cv-intro-description{font-size:var(--text-body);line-height:1.85}
.intro-copy>p:not(.eyebrow){max-width:360px}
.practice span,.contact-label,.section-heading>span,.gallery-filters button,#visible-count,.artwork figcaption small,.art-number,footer,.cv-index a,.cv-index a span,.cv-note,.cv-places .cv-note{font-size:var(--text-small)}
.contact-label,.practice span{letter-spacing:.07em}
.gallery-filters button{padding:12px 0;min-height:46px}
.gallery-toolbar{align-items:center}
.artwork{grid-template-rows:auto 94px}.artwork figcaption{height:94px;font-size:22px;gap:6px}.artwork figcaption small{letter-spacing:.08em}
.intro-painting figcaption,.about-art figcaption,.cv-portrait figcaption{font-size:16px;line-height:1.6}
.intro-painting figcaption span,.cv-portrait figcaption span:last-child,blockquote cite{font-size:var(--text-small);letter-spacing:.08em}
.cv-entry li,.cv-venues li,.cv-activities li{font-size:16px;line-height:1.8}
.cv-entry h3{font-size:22px}.cv-event-type{font-size:14px;letter-spacing:.08em}
.cv-index{gap:16px 30px}.cv-index a{padding:6px 0;line-height:1.6}
.text-link{font-size:var(--text-action);line-height:1.5;padding-bottom:8px;gap:22px}
.contact-action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;padding:16px 24px;border:1px solid #59664b;border-radius:3px;background:#59664b;color:#fff;font:500 var(--text-action)/1.5 Arial,Helvetica,sans-serif;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s;max-width:100%}
.contact-action:hover{color:#fff;background:#424f36;border-color:#424f36;gap:24px;box-shadow:0 3px 10px #303b2420}
.contact-action span[aria-hidden]{font-size:23px;line-height:1;flex-shrink:0}
.contact-action:focus-visible,.contact-line>a:focus-visible{outline:3px solid #82916d;outline-offset:5px}
.contact address .email,.contact-line>a:not(.email){display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 20px;border:1px solid #aeb8a2;border-radius:3px;background:#f7f9f3;color:#38472c;font:normal clamp(18px,1.8vw,23px)/1.5 Arial,Helvetica,sans-serif;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;transition:background .2s,border-color .2s}
.contact address .email:hover,.contact-line>a:not(.email):hover{background:#edf2e5;border-color:#647452}
.contact-line{padding:24px 0}.contact-line>a span[aria-hidden]{text-decoration:none;flex-shrink:0}
.lightbox-top,.lightbox-caption p{font-size:14px}.lightbox-top button{font-size:16px}
@media(max-width:900px){.header{flex-wrap:wrap}.header nav{flex-wrap:wrap;gap:8px}.intro-painting figcaption{flex-wrap:wrap;gap:6px}}
@media(max-width:720px){.header nav a{font-size:15px}.gallery-filters button{font-size:14px}.cv-intro-copy .eyebrow{font-size:14px}.artwork figcaption{font-size:20px}.contact-action{width:100%;padding:16px 20px}.cv-portrait figcaption{font-size:16px}.cv-portrait figcaption span:last-child{font-size:14px}.cv-note{max-width:none}.cv-places-heading::after{top:255px}.cv-places-heading{min-height:650px}}
@media(max-width:480px){.gallery-toolbar{align-items:flex-start}.cv-entry{grid-template-columns:88px 1fr;gap:12px}.cv-entry h3{font-size:19px}.cv-index a{font-size:14px}.artwork{grid-template-rows:auto 94px}.contact address .email{font-size:17px;padding:15px 12px;gap:8px;overflow-wrap:anywhere}.cv-places-heading{min-height:590px}.cv-places-heading::after{top:265px}}
@media(prefers-reduced-motion:reduce){.contact-action,.contact-line>a{transition:none}}
