/* Loaded only on Home and dedicated product pages. */
#main {
 --marketing-section-title-size:clamp(28px,2.8vw,42px);
 --readable-copy:#34443b;
 --readable-heading:#172b22;
}
#main :is(.section-heading,.online-menu-heading,.service-comparison-heading,
 .portal-features-heading,.milestones-heading,.menu-languages-copy,.ops-copy,
 .service-benefits-heading,.home-enquiry-copy,.final-cta) h2 {
 font-size:var(--marketing-section-title-size);
 line-height:1.22;
 font-weight:700;
 letter-spacing:-.025em;
 text-wrap:balance;
}
#main :is(.section-heading,.online-menu-heading,.service-comparison-heading,
 .portal-features-heading,.milestones-heading,.menu-languages-copy,.ops-copy,
 .home-enquiry-copy) > p {
 font-size:17px;
 line-height:1.7;
 font-weight:400;
 color:var(--readable-copy);
}
#main .pos-page .pos-hero h1 {
 font-size:clamp(38px,4vw,60px);
 line-height:1.12;
 font-weight:750;
 letter-spacing:-.035em;
 color:var(--readable-heading);
}
#main .qrop-page .qrop-hero h1 {
 font-size:clamp(32px,2.8vw,40px);
}
#main .pos-page .pos-hero-copy > p {
 font-size:17px;
 line-height:1.65;
 color:var(--readable-copy);
}
#main .pos-page .pos-hero-copy > .pos-lead {
 font-size:clamp(20px,1.7vw,24px);
 line-height:1.45;
 color:#245c45;
 font-weight:650;
}
#main .pos-page .pos-hero-copy .button { font-size:15px; }
#main .pos-page .pos-hero-copy > .pos-footnote { font-size:13px; color:var(--readable-copy); }
#main :is(.pos-challenges,.pos-feature-pair,.pos-feature-grid,.pos-benefits,
 .pos-businesses,.pos-steps,.portal-feature-card,.online-menu-card,.setup-grid) h3 {
 font-size:21px;
 line-height:1.35;
 font-weight:700;
 letter-spacing:-.015em;
 color:var(--readable-heading);
}
#main :is(.pos-challenges,.pos-feature-grid,.pos-benefits,.pos-businesses,.pos-steps,
 .portal-feature-card,.online-menu-card,.setup-grid) p,
#main .pos-feature-pair > article > p {
 font-size:16px;
 line-height:1.7;
 color:var(--readable-copy);
}
#main :is(.range-card,.price-card) > p:not(.price),
#main :is(.range-card,.price-card,.ops-copy,.pos-enquiry-copy) li {
 font-size:16px;
 line-height:1.65;
 color:var(--readable-copy);
}
#main .faq-list summary { font-size:18px; line-height:1.5; color:var(--readable-heading); font-weight:650; }
#main .faq-list p { font-size:16px; line-height:1.75; color:var(--readable-copy); }
#main .contact-form :is(label,input,textarea,select) { font-size:16px; }
#main .contact-form :is(input,textarea,select) { color:var(--readable-heading); }
#main .contact-form ::placeholder { color:#526157; opacity:1; }
#main .dark-section .section-heading > p { color:#dae5dd; }
#main .dark-section .section-heading h2 { color:#f2f6eb; }
@media (min-width:981px) and (max-height:800px) {
 #main .pos-page .pos-hero h1 { font-size:clamp(36px,3.5vw,48px); margin-block:10px 14px; }
 #main .pos-page .pos-hero-copy > p { font-size:16px; line-height:1.55; margin-block:10px; }
 #main .pos-page .pos-hero-copy > .pos-lead { font-size:20px; }
}
@media (max-width:600px) {
 #main .pos-page .pos-hero h1 { font-size:clamp(34px,9vw,42px); }
 #main .qrop-page .qrop-hero h1 { font-size:clamp(30px,7vw,36px); }
 #main :is(.section-heading,.online-menu-heading,.service-comparison-heading,
  .portal-features-heading,.milestones-heading,.menu-languages-copy,.ops-copy,
  .home-enquiry-copy) > p,
 #main .pos-page .pos-hero-copy > p { font-size:16px; line-height:1.65; }
 #main :is(.pos-challenges,.pos-feature-pair,.pos-feature-grid,.pos-benefits,
  .pos-businesses,.pos-steps,.portal-feature-card,.online-menu-card,.setup-grid) h3 { font-size:20px; }
 #main .faq-list summary { font-size:17px; }
}

#main .milestones-heading { min-width:0; }
#main .milestones-heading h2 { overflow-wrap:anywhere; }
#main :is(.service-frictions,.service-solutions) p,
#main .owner-story blockquote,
#main .owner-story blockquote p { font-size:16px; line-height:1.7; color:var(--readable-copy); }
#main :is(.range-card,.price-card) h3 { font-size:21px; line-height:1.35; color:var(--readable-heading); }
#main .service-style-copy small { font-size:15px; line-height:1.6; color:var(--readable-copy); }
@media(max-width:1100px) { #main .milestones-inner { grid-template-columns:minmax(0,1fr); } }#main .pos-page :is(.dm-hero-highlight,.pos-hero-highlight) p { font-size:17px; line-height:1.65; color:var(--readable-copy); }
@media(max-height:800px),(max-width:600px) {
 #main .pos-page :is(.dm-hero-highlight,.pos-hero-highlight) p { font-size:16px; line-height:1.6; }
}