/* Shared text rules: used unchanged by every page. */
:root{--font-heading:Georgia,'Times New Roman',serif;--font-body:Arial,Helvetica,sans-serif;--text-title:var(--wine);--text-body:var(--ink);--text-inverse:var(--cream);--type-h1:clamp(42px,5vw,72px);--type-h2:clamp(32px,3.6vw,48px);--type-h3:26px;--type-caption:24px;--type-body:15px;--type-label:13px;--type-eyebrow:11px}
body{font-family:var(--font-body);color:var(--text-body);font-size:var(--type-body);line-height:1.75}
h1,.hero h1,.home-intro h1,.subhero h1,.contact-hero h1,.privacy h1,.subscription-intro h1{font-family:var(--font-heading);font-size:var(--type-h1);font-style:normal;font-weight:400;line-height:1.1;letter-spacing:-.035em;color:var(--text-title)}
h1 em,.hero h1 em,.home-intro h1 em,.contact-hero h1 em{font:inherit;color:inherit}
h2,.story-copy h2,.gallery-section h2,.form-panel h2,.privacy h2,.subscription-specs h2{font-family:var(--font-heading);font-size:var(--type-h2);font-style:normal;font-weight:400;line-height:1.15;letter-spacing:-.025em;color:var(--text-title)}
h3,.service h3,.home-services .service h3,.features h3,.process h3,.contact-aside h3,.prepared h3,.subscription-audiences h3,.subscription-facts strong{font-family:var(--font-heading);font-size:var(--type-h3);font-style:normal;font-weight:400;line-height:1.25;letter-spacing:-.015em;color:var(--text-title)}
.service .caption-box h3,.home-services .service .caption-box h3,.gallery .photo-legend,.portfolio-grid .photo-legend,.subscription-photos .photo-legend{font-family:var(--font-heading);font-size:var(--type-caption);font-style:normal;font-weight:400;line-height:1.25;letter-spacing:-.015em;color:var(--text-title)}
p,.home-intro>p,.hero-copy p,.subhero .lead,.section-head p,.service p,.home-services .service p,.story-copy p,.process p,.intro-grid p,.features p,.faq p,.contact-aside p,.form-panel p,.privacy p,.service .photo-description,.home-services .service .photo-description,.gallery .photo-description,.portfolio-grid .photo-description,.portfolio-grid .photo-description span,.subscription-intro p,.subscription-next p,.subscription-audiences p,.subscription-audiences ul,.subscription-table th,.subscription-table td{font-family:var(--font-body);font-size:var(--type-body);font-style:normal;line-height:1.75;color:var(--text-body)}
.subscription-table th{font-weight:600;color:var(--text-title)}
.eyebrow,.home-intro .eyebrow,.footer h3,.service .caption-box small,.home-services .service .caption-box small{font-family:var(--font-body);font-size:var(--type-eyebrow);font-style:normal;font-weight:600;line-height:1.6;letter-spacing:.1em;color:var(--text-title)}
.gallery-count,.gallery-showcase .gallery-note,.gallery-note,.footer p,.footer a,.footer-bottom,.footer-bottom a,.form-panel .form-note,.form-note,.crumb,.ribbon,.included,.hero-caption,.subscription-facts span,.subscription-table caption,.dialogbar,.dialogbar span{font-family:var(--font-body);font-size:var(--type-label);font-style:normal;line-height:1.65;color:var(--text-body)}
.navlinks,.menubtn,.btn,.mobile-cta .btn,.copybutton,.filter-btn,.textlink,.service .bottom,.home-services .service .bottom{font-family:var(--font-body);font-size:var(--type-label);font-style:normal;font-weight:400;line-height:1.5;letter-spacing:.015em}
label,.faq summary,input,select,textarea,.contact-aside a:not(.textlink){font-family:var(--font-body);font-size:var(--type-body);font-style:normal;line-height:1.65;color:var(--text-body)}
.textlink,.contact-aside a:not(.textlink),.btn.light,.btn.cream,.num,.signature{color:var(--text-title)}
.num,.signature{font-family:var(--font-heading);font-style:normal;font-weight:400}
.cta h2,.cta p,.cta .eyebrow,.topline,.btn,.btn:hover,.filter-btn[aria-pressed=true],.dialogbar button{color:var(--text-inverse)}
.cta p{font-size:var(--type-body)}.btn.light,.btn.cream{color:var(--text-title)}
@media(max-width:700px){:root{--type-h1:42px;--type-h2:34px;--type-h3:24px;--type-caption:22px}}
@media(max-width:380px){:root{--type-h1:38px;--type-caption:21px}}
