/* Cheff Catering Studio 3.1 — Responsive editorial typography.
   Loaded AFTER site.css, brand-type.css and v3.css. Scoped to .ch-root;
   no Astra typography settings or unrelated pages are changed. */
.ch-root{
  --ch-copy-size:17px;
  --ch-note-size:13px;
  --ch-heading-size:clamp(41px,4.05vw,63px);
  font-size:var(--ch-copy-size);
  line-height:1.72;
}
.ch-root p{line-height:1.74}
.ch-root h1,.ch-root h2,.ch-root h3{overflow-wrap:normal;hyphens:none}
.ch-root h2{font-size:var(--ch-heading-size);line-height:1.17;letter-spacing:-.038em!important}
.ch-root .ch-kicker{font-size:12px;letter-spacing:.145em;line-height:1.55}
.ch-root .ch-btn{font-size:14px!important;min-height:55px;padding-inline:25px;line-height:1.35!important}
.ch-root .ch-underlink{font-size:14px!important;line-height:1.5}
.ch-root .ch-topbar{font-size:12px}
.ch-root .ch-nav>a{font-size:12.5px;line-height:1.35}
.ch-root .ch-nav>a.ch-nav-button{font-size:13px;padding:16px 22px}

/* The hero remains an editorial display, with truly legible supporting copy. */
.ch-root .ch3-hero h1{font-size:clamp(53px,4.45vw,76px);line-height:1.14;letter-spacing:-.047em!important}
.ch-root .ch3-hero-content>p{font-size:17.5px;line-height:1.72;max-width:540px}
.ch-root .ch3-hero-location{font-size:13.5px;line-height:1.5}
.ch-root .ch3-hero-picture-caption>span{font-size:11px}
.ch-root .ch3-hero-photo-index{font-size:10.5px}

/* Trust strip and introductory story. */
.ch-root .ch3-trust-item strong{font-size:16px;line-height:1.4}
.ch-root .ch3-trust-item span{font-size:12px;line-height:1.5}
.ch-root .ch3-welcome-copy>p,
.ch-root .ch3-promise-content>p,
.ch-root .ch3-offer-intro>p{font-size:17px;line-height:1.75}
.ch-root .ch3-welcome-sticker span{font-size:11px}
.ch-root .ch3-section-heading>p{font-size:16px;line-height:1.7}

/* Four offer cards: read comfortably without dominating images. */
.ch-root .ch3-services .ch-service-audience{font-size:11px;line-height:1.5;letter-spacing:.075em;min-height:0}
.ch-root .ch3-services .ch-service-info h3{font-size:clamp(23px,1.75vw,28px);line-height:1.27;letter-spacing:-.031em;min-height:0;margin:12px 0!important}
.ch-root .ch3-services .ch-service-info p{font-size:14.5px;line-height:1.65}
.ch-root .ch3-services .ch-service-more{font-size:13.5px;line-height:1.4;padding-top:21px}
.ch-root .ch3-services .ch-service-info{min-height:265px}
.ch-root .ch3-services .ch-service-number{font-size:12px}

/* Benefits / three-step explanation / image captions. */
.ch-root .ch3-promise-row>div strong{font-size:15px;line-height:1.45}
.ch-root .ch3-promise-row>div span{font-size:13.5px;line-height:1.55}
.ch-root .ch3-promise-side{font-size:10px}
.ch-root .ch3-how-card h3{font-size:26px;line-height:1.35}
.ch-root .ch3-how-card p{font-size:15px;line-height:1.65}
.ch-root .ch3-gallery-grid>div>span{font-size:11.5px}
.ch-root .ch3-area-copy>p{font-size:17px;line-height:1.7}
.ch-root .ch3-area-tags span{font-size:12.5px;line-height:1.4}
.ch-root .ch3-area-copy>small{font-size:12.5px;line-height:1.6}
.ch-root .ch3-area-badge span{font-size:11.5px}
.ch-root .ch3-offer .ch-form-heading h3{font-size:34px;line-height:1.27}

/* Inner pages — common content, service details and FAQ. */
.ch-root .ch-subhero p,.ch-root .ch-simplehero p,
.ch-root .ch-intro-layout p,.ch-root .ch-section-head p,
.ch-root .ch-story-content>p,.ch-root .ch-area-copy p,
.ch-root .ch-invite-layout>div:first-child>p,
.ch-root .ch-form-band>div:first-child>p,
.ch-root .ch-offer-layout>div:first-child>p,
.ch-root .ch-faq-layout>div:first-child>p{font-size:17px;line-height:1.72}
.ch-root .ch-need-card p,.ch-root .ch-detail-layout p,
.ch-root .ch-image-feature-layout p,.ch-root .ch-steps p,
.ch-root .ch-offer-benefits>div{font-size:16px;line-height:1.7}
.ch-root .ch-points strong{font-size:16px}
.ch-root .ch-points span{font-size:15px}
.ch-root .ch-accordion summary{font-size:16px;line-height:1.5}
.ch-root .ch-accordion details p{font-size:15px;line-height:1.75}
.ch-root .ch-sector-grid strong{font-size:25px}
.ch-root .ch-sector-grid p{font-size:15px}
.ch-root .ch-contact-item strong{font-size:14px}
.ch-root .ch-contact-item p,.ch-root .ch-contact-item a{font-size:17px}
.ch-root .ch-area-right p{font-size:14px}

/* Conversion UI: important because these fields are used from mobile ads. */
.ch-root .ch-form-heading h3{font-size:clamp(29px,2.5vw,35px);line-height:1.3}
.ch-root .ch-form-heading>p{font-size:15px;line-height:1.65}
.ch-root .ch-fields>label{font-size:13px;line-height:1.45}
.ch-root .ch-fields input,.ch-root .ch-fields select,.ch-root .ch-fields textarea{
  font-size:16px;line-height:1.4;min-height:49px;padding:12px 13px!important;
}
.ch-root .ch-fields textarea{min-height:105px}
.ch-root .ch-consent{font-size:13px;line-height:1.6}
.ch-root .ch-form-small{font-size:12.5px;line-height:1.6}
.ch-root .ch-submit{font-size:15px!important;min-height:55px}
.ch-root .ch-form-error,.ch-root .ch-form-success{font-size:14px}

/* Footer needs to remain scannable on dense mobile layouts. */
.ch-root .ch-footer-cta p{font-size:16px;line-height:1.7}
.ch-root .ch-footer h3{font-size:14px;line-height:1.5}
.ch-root .ch-footer-main>div:not(:first-child)>a,
.ch-root .ch-footer-contact p,.ch-root .ch-footer-about>p{font-size:14px;line-height:1.7}
.ch-root .ch-footer-bottom{font-size:12px;line-height:1.55}
.ch-root .ch-footer-pill{font-size:12.5px}

/* Laptop/tablet: switch navigation before it is forced to microscopic text. */
@media (max-width:1260px){
  .ch-root .ch-nav>a{font-size:12px}
  .ch-root .ch-nav{gap:11px}
  .ch-root .ch3-trust-item strong{font-size:14px}
  .ch-root .ch3-trust-item span{font-size:11.5px}
  .ch-root .ch3-services .ch-service-info h3{font-size:24px}
}
@media (max-width:1040px){
  .ch-root .ch-nav>a{font-size:15px;line-height:1.5}
  .ch-root .ch-nav>a.ch-nav-button{font-size:15px}
  .ch-root .ch3-hero h1{font-size:clamp(48px,5vw,62px)}
  .ch-root .ch3-trust-item strong{font-size:15px}
  .ch-root .ch3-trust-item span{font-size:12px}
  .ch-root .ch3-services .ch-service-info h3{font-size:27px}
  .ch-root .ch3-services .ch-service-info{min-height:224px}
}
@media (max-width:800px){
  .ch-root{--ch-copy-size:16px;--ch-heading-size:clamp(37px,5.3vw,49px)}
  .ch-root .ch-kicker{font-size:11.5px}
  .ch-root .ch3-hero h1{font-size:clamp(44px,6.5vw,58px);line-height:1.16}
  .ch-root .ch3-hero-content>p{font-size:16px;line-height:1.7}
  .ch-root .ch3-hero-location{font-size:12.5px}
  .ch-root .ch3-services .ch-service-info{min-height:0}
  .ch-root .ch3-area-copy>p{font-size:16px}
  .ch-root .ch-mobile-cta>a{font-size:15px;min-height:50px}
  .ch-root .ch-subhero p,.ch-root .ch-simplehero p,
  .ch-root .ch-intro-layout p,.ch-root .ch-section-head p,
  .ch-root .ch-story-content>p,.ch-root .ch-area-copy p,
  .ch-root .ch-invite-layout>div:first-child>p,
  .ch-root .ch-form-band>div:first-child>p,
  .ch-root .ch-offer-layout>div:first-child>p,
  .ch-root .ch-faq-layout>div:first-child>p{font-size:16px}
  .ch-root .ch-accordion summary{font-size:16px}
}
@media (max-width:520px){
  .ch-root{--ch-copy-size:16px;--ch-heading-size:clamp(35px,9.4vw,43px)}
  .ch-root .ch-topbar-location{font-size:10px}
  .ch-root .ch-topbar-right a{font-size:11px}
  .ch-root .ch-header .ch-brand .ch-brand-name{font-size:18px}
  .ch-root .ch-header .ch-brand .ch-brand-name em{font-size:16px}
  .ch-root .ch-header .ch-brand .ch-brand-name small{font-size:7px}
  .ch-root .ch3-hero h1{font-size:clamp(40px,10.7vw,51px);line-height:1.14;letter-spacing:-.045em!important}
  .ch-root .ch3-hero-content>p{font-size:16px;line-height:1.63}
  .ch-root .ch3-hero-actions .ch-btn{font-size:14px!important;min-height:52px;padding:0 12px}
  .ch-root .ch3-hero-location{font-size:12px}
  .ch-root .ch3-trust-item strong{font-size:13.5px;line-height:1.4}
  .ch-root .ch3-trust-item span{font-size:11.5px;line-height:1.4}
  .ch-root .ch3-welcome-copy>p,.ch-root .ch3-promise-content>p,
  .ch-root .ch3-offer-intro>p{font-size:16px;line-height:1.7}
  .ch-root .ch3-section-heading>p{font-size:15.5px}
  .ch-root .ch3-services .ch-service-audience{font-size:11px}
  .ch-root .ch3-services .ch-service-info h3{font-size:27px;line-height:1.28}
  .ch-root .ch3-services .ch-service-info p{font-size:15px;line-height:1.6}
  .ch-root .ch3-services .ch-service-more{font-size:14px}
  .ch-root .ch3-promise-row>div strong{font-size:15px}
  .ch-root .ch3-promise-row>div span{font-size:13.5px}
  .ch-root .ch3-how-card h3{font-size:25px}
  .ch-root .ch3-how-card p{font-size:15px}
  .ch-root .ch3-area-copy>p{font-size:16px}
  .ch-root .ch3-area-tags span{font-size:12px}
  .ch-root .ch3-area-copy>small{font-size:12.5px}
  .ch-root .ch3-offer .ch-form-heading h3{font-size:30px}
  .ch-root .ch-form-panel{padding:29px 21px}
  .ch-root .ch-accordion summary{font-size:15.5px}
  .ch-root .ch-footer-main>div:not(:first-child)>a,
  .ch-root .ch-footer-contact p,.ch-root .ch-footer-about>p{font-size:14px}
  .ch-root .ch-footer-bottom{font-size:12px}
}
@media (max-width:359px){
  /* 320px devices retain readable text without forcing horizontal scroll. */
  .ch-root .ch-topbar-location{font-size:9px}
  .ch-root .ch-topbar-right a{font-size:10px}
  .ch-root .ch-header .ch-brand .ch-brand-name{font-size:16px}
  .ch-root .ch-header .ch-brand .ch-brand-name em{font-size:14px}
  .ch-root .ch-header .ch-brand .ch-brand-name small{font-size:6.5px}
  .ch-root .ch-header .ch-brand .ch-brand-seal{width:43px;height:43px}
  .ch-root .ch3-hero h1{font-size:38px}
  .ch-root .ch3-hero-actions .ch-btn{font-size:13px!important;padding-inline:9px}
  .ch-root .ch3-trust-item>.ch-icon{width:20px;height:20px}
  .ch-root .ch3-trust-item strong{font-size:12.5px}
  .ch-root .ch3-trust-item span{font-size:11px}
}
