/* Readability scale adapted from the franchise reference page. */
:root{--copy-size:24px;--detail-size:22px;--label-size:20px}
body{font-size:var(--copy-size);line-height:1.8}
h1,h2,h3{overflow-wrap:anywhere}
h2{font-size:clamp(38px,3.6vw,52px);line-height:1.4;font-weight:800}
.hero h1{font-size:clamp(44px,4.2vw,62px);line-height:1.35;font-weight:800}
.hero h1>span{white-space:normal}
.hero .eyebrow,.eyebrow,.guide .eyebrow{font-size:var(--label-size);line-height:1.65}
.hero-description,.section-heading>p:last-child:not(.eyebrow),.split-heading>p,
.results-explanation>p,.feature-copy>p:not(.feature-label),.problem-grid p,
.case-text>p,.followup-layout>div>p:not(.eyebrow):not(.note),.survey-layout>div>p:not(.eyebrow),
.journey .section-heading>p:last-child,.faq-items details p,.contact-copy>p:not(.eyebrow),.guide p:last-child{
 font-size:var(--copy-size);line-height:1.8
}
.desktop-nav{font-size:20px;gap:28px}
.mobile-nav a{font-size:23px}
.button,.hero .button,.guide .button,.survey-demo form>.button,.dialog-inner .button{font-size:22px;line-height:1.5;font-weight:700}
.button-small,.nav-cta{font-size:18px}
.button span[aria-hidden]{font-size:24px}
.hero-checks,.hero-bottom,.visual-topline{font-size:var(--label-size);line-height:1.8}
.hero-checks li:before{font-size:18px}
.hero-bottom{gap:24px;flex-wrap:wrap}
.hero-inner{padding-bottom:24px}
.hero-bottom{justify-content:center;border:0;padding:4px 0 32px}
.hero-bottom .hero-scroll-link{display:inline-flex;align-items:center;gap:14px;margin:0;padding:8px 0;font-size:20px;line-height:1.6;font-weight:600;color:var(--secondary);transition:color 180ms}
.hero-scroll-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ded6f6;border-radius:50%;background:#f5f2ff;color:var(--deep);font-size:22px;line-height:1;transition:background-color 180ms,border-color 180ms,color 180ms,transform 180ms}
.hero-scroll-link:focus-visible{border-radius:8px}
@media(hover:hover) and (pointer:fine){
 .hero-bottom .hero-scroll-link:hover{color:var(--deep)}
 .hero-scroll-link:hover .hero-scroll-icon{background:var(--purple);border-color:var(--purple);color:#fff;transform:translateY(2px)}
}
@media(max-width:650px){
 .hero-inner{padding-bottom:18px}
 .hero-bottom{padding:0 0 26px}
 .hero-bottom .hero-scroll-link{font-size:18px;gap:12px}
 .hero-scroll-icon{width:36px;height:36px;font-size:20px}
}
@media(prefers-reduced-motion:reduce){.hero-scroll-link:hover .hero-scroll-icon{transform:none}}
.visual-topline{letter-spacing:0}
.text-link{font-size:var(--detail-size);line-height:1.65}
.feature-copy h3,.feature-wide h3,.case-text>h3{font-size:44px;line-height:1.45}
.feature-label,.case-text>.feature-label{font-size:var(--label-size);line-height:1.6}
.problem-grid h3{font-size:30px;line-height:1.5}
.problem-num{font-size:18px}
.tags span{font-size:20px;line-height:1.6}
.plain-checks li,.connected-list li,.message-flow span{font-size:var(--detail-size);line-height:1.8}
.message-flow{gap:26px;flex-wrap:wrap}
.message-flow b{font-size:22px}
.connected-list span{font-size:18px}
.journey-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}
.journey-steps strong{font-size:26px;line-height:1.5;white-space:normal}
.journey-steps small{font-size:22px;line-height:1.8}
.journey-steps .step-order{font-size:18px}
.journey-steps li:nth-child(4):after{display:none}
.dashboard-toolbar h3{font-size:32px}
.dashboard-period,.kpi-grid dt,.growth-kpis dt{font-size:20px;line-height:1.6}
.kpi-grid dd{font-size:50px}
.kpi-grid dd>span,.kpi-grid small{font-size:18px}
.chart-heading h4,.growth-chart h3{font-size:24px;line-height:1.5}
.plot-y,.plot-x,.growth-labels,.chart-legend>span{font-size:18px;line-height:1.6}
.plot-y{min-width:49px}
.plot-x{gap:8px;flex-wrap:wrap}
.growth-labels{gap:12px;flex-wrap:wrap}
.source-chart li,.source-chart li>b{font-size:20px;line-height:1.6}
.source-chart-body{gap:24px;flex-wrap:wrap}
.source-chart ul{min-width:220px}
.donut>span,.donut b{font-size:18px}
.case-tabs button{font-size:22px;line-height:1.5}
.framed-visual .figure-bar{font-size:22px}
.survey-demo>h3,.consultation-form h3{font-size:32px;line-height:1.5}
.survey-demo>p,.survey-demo legend{font-size:22px;line-height:1.8}
.survey-demo label>span{font-size:20px;line-height:1.6;padding:12px 8px}
.survey-options,.survey-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
.survey-demo legend>span{font-size:18px;width:30px;height:30px}
#survey-output{font-size:20px}
.guide h2{font-size:36px;line-height:1.4}
.faq-items summary{font-size:26px;line-height:1.65}
.faq-items summary:after{font-size:27px}
.contact h2{font-size:clamp(38px,3.6vw,52px);line-height:1.4}
.contact-direct{font-size:22px}
.form-intro,.field label{font-size:20px;line-height:1.6}
.field input,.field select,.field textarea,.field input[type=date],.event-dropdown-trigger,.event-dropdown-option{font-size:22px;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{font-size:20px}
.field-hint,.consent,.form-notice,.official-form-link,.form-error{font-size:18px;line-height:1.8}
.consent input{margin-top:7px}
.footer nav{font-size:21px;line-height:1.8;flex-wrap:wrap}
.footer-info{font-size:19px;line-height:1.8}
.dialog-inner h2{font-size:32px}
.dialog-inner>p:not(.eyebrow),.dialog-inner textarea{font-size:20px;line-height:1.8}
@media(max-width:1200px){
 .desktop-nav{font-size:18px;gap:18px}
 .nav-wrap{gap:20px}
 .feature-copy h3,.feature-wide h3,.case-text>h3{font-size:39px}
 .problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dashboard-charts{grid-template-columns:1fr}
 .source-chart-body{justify-content:center}
 .hero-description .wide-only{display:none}
}
@media(max-width:1050px){
 .hero h1{font-size:58px}
 .desktop-nav{font-size:16px;gap:16px}
 .hero .button{font-size:22px}
 .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .feature-copy h3,.feature-wide h3,.case-text>h3{font-size:39px}
}
@media(max-width:850px){
 .feature-copy h3,.feature-wide h3{font-size:41px}
 .contact-direct a{overflow-wrap:anywhere}
 .footer-top{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
 .journey-steps{grid-template-columns:1fr;gap:0}
 .journey-steps li{padding-bottom:28px}
 .journey-steps li:nth-child(4):after{display:block}
 .journey-steps strong{font-size:26px}
 .journey-steps small{font-size:22px}
 .case-tabs{gap:4px}
 .case-tabs button{font-size:20px;padding:12px 8px}
 .contact h2{font-size:38px}
 .form-submit,.mobile-contact{font-size:22px}
 .consultation-form{padding:28px 22px}
}
@media(max-width:650px){
 :root{--copy-size:22px;--detail-size:22px;--label-size:18px}
 h2{font-size:38px;line-height:1.45}
 .hero h1{font-size:46px;line-height:1.4}
 .hero .eyebrow{font-size:18px}
 .hero .button{font-size:22px}
 .header .nav-wrap{gap:10px}
 .header .brand img{width:112px}
 .header .nav-cta{flex-shrink:0;white-space:nowrap;font-size:18px;gap:6px;padding:10px 12px;min-height:46px}
 .header .nav-cta span[aria-hidden]{font-size:20px}
 .hero-actions{flex-wrap:wrap}
 .hero-actions .button{width:100%}
 .hero-checks{font-size:18px}
 .hero-bottom{font-size:18px}
 .visual-topline{font-size:18px}
 .feature-copy h3,.feature-wide h3,.case-text>h3{font-size:35px;line-height:1.5}
 .problem-grid{grid-template-columns:1fr}
 .problem-grid h3{font-size:28px}
 .tags span{font-size:18px}
 .case-tabs button{font-size:18px}
 .survey-demo>h3,.consultation-form h3{font-size:30px}
 .survey-benefits{grid-template-columns:1fr}
 .survey-demo legend,.survey-demo>p{font-size:22px}
 .survey-demo form>.button{font-size:22px}
 .faq-items summary{font-size:25px}
 .contact h2{font-size:36px}
 .guide h2{font-size:32px}
 .guide .button{font-size:22px}
 .kpi-grid dt,.growth-kpis dt{font-size:18px}
 .kpi-grid dd{font-size:38px}
 .kpi-grid small,.kpi-grid dd>span{font-size:16px}
 .chart-heading h4,.growth-chart h3{font-size:22px}
 .plot-y,.plot-x,.growth-labels,.chart-legend>span{font-size:16px}
 .plot-y{min-width:43px}
 .source-chart ul{min-width:0;width:100%}
 .source-chart li,.source-chart li>b{font-size:18px}
 .footer nav{font-size:21px}
 .footer-info{font-size:19px}
}
@media(max-width:359px){
 .header .nav-cta{display:none}
 .header .menu-toggle{margin-left:auto}
 .hero h1{font-size:40px}
 .feature-copy{padding:25px 18px}
 .consultation-form{padding:25px 16px}
 .event-dropdown-trigger{gap:8px;padding:10px}
 .event-dropdown-selection{gap:7px}
 .case-tabs{flex-wrap:wrap}
 .case-tabs button{flex:1 1 100%}
 .growth-kpis{grid-template-columns:1fr}
 .mobile-contact{font-size:20px;gap:12px}
}
