/* WEB CARNIVAL — FINAL TYPOGRAPHY & SPACING SYSTEM */
:root{--wc-body-size:16px;--wc-body-leading:1.68;--wc-section-x:clamp(24px,5vw,80px);--wc-section-y:clamp(56px,6vw,88px)}
html{font-size:16px}body{font-size:var(--wc-body-size);line-height:var(--wc-body-leading);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
main p{font-size:1rem;line-height:1.7;margin-top:0;margin-bottom:1rem}
main ul,main ol{line-height:1.65}
.page-main section,.section,.resources,.cta{scroll-margin-top:96px}
.page-main h2,.section h2{font-size:clamp(30px,3.2vw,48px)!important;line-height:1.1!important;letter-spacing:-.025em!important;margin:0 0 16px!important}
.page-main h3,.v3-card h3,.pe-card h3{font-size:clamp(20px,1.7vw,28px)!important;line-height:1.18!important;letter-spacing:-.015em!important;margin:0 0 10px!important}
.kicker,.eyebrow,.section-kicker{font-size:11px!important;line-height:1.2!important;letter-spacing:.14em!important;font-weight:800!important;margin:0 0 12px!important}
.hero h1,.inner-hero h1{font-size:clamp(44px,5vw,70px)!important;line-height:1.03!important;letter-spacing:-.035em!important}
.hero-content p,.inner-hero p{font-size:17px!important;line-height:1.65!important}
.btn,.nav-post,.nav-portal{font-size:12px!important;line-height:1.15!important;letter-spacing:.03em}
.site-header .brand-name{font-size:16px!important;line-height:1.1!important}
.desktop-nav .nav-link{font-size:13px!important;line-height:1!important}
.page-main .section-head,.section-head{margin-bottom:32px}
.page-main .section-head p,.section-head p{font-size:16px!important;line-height:1.7!important}
.cards-grid,.insight-grid,.pe-grid,.location-seo-grid{row-gap:28px!important}
.v3-card{padding-top:34px!important;padding-bottom:38px!important}
.v3-card p,.pe-card p,.location-seo-grid p,.editorial-card p,.process p{font-size:15px!important;line-height:1.68!important}
.metric-band strong,.metric strong{font-size:34px!important;line-height:1!important}
.metric-band small,.metric span{font-size:12px!important;line-height:1.45!important}
.location-cities span{font-size:12px!important;padding:8px 11px!important}
.prose p,.long-copy p{font-size:17px!important;line-height:1.75!important}
.prose h3{font-size:25px!important;line-height:1.2!important;margin-top:40px!important}
.form-grid{gap:18px!important}.form-grid label{font-size:12px!important}.form-grid input,.form-grid textarea,.form-grid select{font-size:15px!important;padding:14px 15px!important}
.faq summary{font-size:18px!important;line-height:1.45!important}.faq p{font-size:15px!important;line-height:1.65!important}
footer h4{font-size:14px!important}.footer-top a,footer .footer-top>div:not(:first-child) a{font-size:13px!important;line-height:1.5!important}
footer .footer-brand p{font-size:14px!important;line-height:1.6!important}
@media(max-width:900px){main p{font-size:15.5px}.page-main h2,.section h2{font-size:clamp(28px,5vw,40px)!important}.hero h1,.inner-hero h1{font-size:clamp(40px,7vw,58px)!important}.hero-content p,.inner-hero p{font-size:16px!important}}
@media(max-width:700px){body{font-size:15px}.page-main h2,.section h2{font-size:30px!important}.page-main h3,.v3-card h3,.pe-card h3{font-size:21px!important}.hero h1,.inner-hero h1{font-size:42px!important;letter-spacing:-.025em!important}.hero-content p,.inner-hero p{font-size:15px!important}.page-main section,.section{padding-top:54px!important;padding-bottom:54px!important}.section-head{margin-bottom:26px!important}.v3-card{padding:28px 0!important}}
