/* Shared typography for every page; the DF+ logo remains a brand mark. */
:root{--font-heading:'Manrope',Arial,Helvetica,sans-serif;--font-body:'DM Sans',Arial,Helvetica,sans-serif;--title-size:clamp(44px,5.1vw,70px);--section-title-size:clamp(30px,3.1vw,44px)}
body{font-family:var(--font-body);font-size:16px;line-height:1.65}
main :is(h1,h2,h3),main :is(h1,h2,h3) em{font-family:var(--font-heading)!important;font-style:normal!important}
main :is(h1,h2),main :is(h1,h2) em{font-weight:800!important;text-transform:uppercase;line-height:1.14!important;letter-spacing:-.045em!important}
main h1{font-size:var(--title-size)!important;margin-top:0;margin-bottom:26px}
main h2{font-size:var(--section-title-size)!important;margin-top:0}
main h3,main h3 em{font-size:24px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:-.035em!important;text-transform:none}
main :is(h1,h2,h3) em{color:var(--purple)}
.contact-panel :is(h1,h2,h3) em{color:white}
.contact-panel h2{font-size:clamp(38px,4vw,54px)!important}
.form-heading h3{font-size:28px!important}
.plan-card h3{font-size:28px!important}
.plan-price{font-family:var(--font-heading);font-weight:800;letter-spacing:-.05em}
.plan-price small{font-family:var(--font-body);font-weight:400;letter-spacing:0}
summary,.major-disclosure>summary{font-family:var(--font-heading);font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.4}
.major-disclosure>summary{font-size:22px}
.simple-service-list strong{font-family:var(--font-heading);font-size:23px;font-weight:700;letter-spacing:-.035em;line-height:1.3}
.form-field :is(input,select,textarea){font-family:var(--font-body)}
.hero-text .lead,.hero-visual>.photo-label{font-family:var(--font-body)}
.btn,.button{font-family:var(--font-body);font-weight:600;letter-spacing:0;border-radius:0}
.kicker,.eyebrow,.path-number{font-family:var(--font-heading);font-size:10px;font-weight:700;letter-spacing:1.6px}
@media(max-width:800px){:root{--title-size:46px;--section-title-size:36px}main h3,main h3 em{font-size:22px!important}.plan-card h3{font-size:26px!important}}
@media(max-width:600px){:root{--title-size:clamp(34px,10.8vw,50px);--section-title-size:clamp(28px,8.1vw,36px)}body{font-size:15px}main h1{margin-bottom:22px}.hero-text h1{font-size:clamp(34px,10.8vw,50px)!important}.contact-panel h2{font-size:clamp(32px,9vw,42px)!important}.form-heading h3{font-size:24px!important}.major-disclosure>summary{font-size:20px}.simple-service-list strong{font-size:21px}.kicker,.eyebrow,.path-number{font-size:9px;letter-spacing:1.2px}.hero-text .kicker{font-size:8px}}
main :is(h1,h2),main :is(h1,h2) em{text-transform:uppercase!important}

.contact-info>.contact-email{font:clamp(18px,2vw,28px)/1.4 var(--font-body);display:block;margin-bottom:30px;overflow-wrap:anywhere;color:white}.site-header .header-cta{white-space:nowrap}@media(max-width:600px){.contact-info>.contact-email{font-size:23px}}
.contact-info>a{font-family:var(--font-body)}
