/*
  Corporate Shine+ subscription pages — token overlay from the HTML kit.
  Loaded only on Home Office commercial-subscriptions / residential-subscriptions singles.
*/

:root {
  /* contact-form — Figma 325:2642 (desktop) / 325:3117 (mobile) */
  --contact-form-pad-y: 7.5rem; /* 120px */
  --contact-form-pad-y-mobile: 3.5rem; /* 56px */
  --contact-form-card-pad: 4.5rem; /* 72px */
  /* +20% vs kit 1256px — wider inquiry card (Figma 237:637 adjustment) */
  --contact-form-fields-w: 94.2rem; /* 1507px — two ~734px columns + 32px gap */
  --contact-form-progress-h: 0.625rem; /* 10px — GF default fill is 21px; theme overrides both track + fill */
  --contact-form-col-w: 45.9rem; /* 734px */
  --contact-form-select-w: 14.4375rem; /* 231px — service dropdown is shorter than a column */
  --contact-form-field-h: 3.5rem; /* 56px */
  --contact-form-btn-w-mobile: 17.8125rem; /* 285px */
  --fs-contact-form-title: 3.375rem; /* 54px — Prompt Black */
  --fs-contact-form-title-mobile: 1.5rem; /* 24px */
  --lh-contact-form-title: 3.375rem; /* 54px */
  --lh-contact-form-title-mobile: 1.8125rem; /* 29px */
  --contact-form-lead-max: 60.8125rem; /* 973px — intro under Shine+ form title */
  --contact-form-notes-h: 8.75rem; /* 140px — Additional Notes */

  /* Shared with contact-form / local-hero field kit (contact page tokens) */
  --fs-local-hero-label: 1rem; /* 16px — Inter Medium */
  --lh-local-hero-label: 1.5rem; /* 24px */
  --ls-local-hero-label: -0.011em;
  --color-local-hero-muted: #a1a1a1; /* borders + select placeholder */
  --radius-local-hero-field: 0.5rem; /* 8px */

  /* contact-steps — Figma 325:2880 (desktop) / 325:3170 (mobile) */
  --contact-steps-pad-y: 7.5rem; /* 120px */
  --contact-steps-pad-y-mobile: 3.5rem; /* 56px */
  --contact-steps-content-max: 92.5rem; /* 1480px */
  --contact-steps-copy-w: 42rem; /* 672px */
  --contact-steps-title-w: 41rem; /* 656px */
  --contact-steps-media-w: 46.75rem; /* 748px */
  --contact-steps-media-h: 34.1875rem; /* 547px */
  --contact-steps-media-w-mobile: 17.875rem; /* 286px */
  --contact-steps-steps-w-mobile: 15.25rem; /* 244px */
  --contact-steps-row-gap: 3.75rem; /* 60px — image / copy */
  --contact-steps-stack-gap: 2rem; /* 32px — title / steps / rating */
  --contact-steps-step-gap: 1rem; /* 16px desktop badge → text */
  --contact-steps-step-gap-mobile: 1.5rem; /* 24px */
  --contact-steps-list-gap-mobile: 2.25rem; /* 36px between stacked steps */
  --contact-steps-badge: 3.375rem; /* 54px */
  --fs-contact-steps-title: 3.375rem; /* 54px — Prompt Black */
  --fs-contact-steps-title-mobile: 1.5rem; /* 24px */
  --lh-contact-steps-title: 3.375rem; /* 54px */
  --lh-contact-steps-title-mobile: 1.8125rem; /* 29px */
  --fs-contact-steps-body: 1rem; /* 16px — Inter Regular */
  /* brand-intro-shine-template — Shine+ intro — Figma 229:1717 (desktop) / 229:2051 (mobile) */
  --fs-brand-intro-shine-title: 3.375rem; /* 54px — Prompt Black */
  --fs-brand-intro-shine-title-mobile: 1.5rem; /* 24px */
  --lh-brand-intro-shine-title: 3.375rem; /* 54px */
  --lh-brand-intro-shine-title-mobile: 1.8125rem; /* 29px */
  --fs-brand-intro-shine-body: 1.125rem; /* 18px — Inter Regular, both breakpoints */
  --lh-brand-intro-shine-body: 1.875rem; /* 30px */
  --ls-brand-intro-shine: -0.02em;
  --fs-brand-intro-shine-breadcrumb: 1.125rem; /* 18px */
  --fs-brand-intro-shine-breadcrumb-mobile: 0.75rem; /* 12px */
  --lh-brand-intro-shine-breadcrumb: 1.875rem; /* 30px */
  --brand-intro-shine-pad-y: 8.75rem; /* 140px desktop */
  --brand-intro-shine-pad-y-mobile: 3.5rem; /* 56px */
  --brand-intro-shine-content-max: 92.5rem; /* 1480px */
  --brand-intro-shine-copy-w: 42rem; /* 672px — desktop text column */
  --brand-intro-shine-title-w: 41rem; /* 656px */
  --brand-intro-shine-media-w: 46.75rem; /* 748px */
  --brand-intro-shine-media-h: 34.1875rem; /* 547px */
  --brand-intro-shine-media-w-mobile: 17.875rem; /* 286px */
  --brand-intro-shine-row-gap: 3.75rem; /* 60px — column gap / mobile stack */
  --brand-intro-shine-stack-gap: 2rem; /* 32px — breadcrumb → content */
  --brand-intro-shine-text-gap: 2rem; /* 32px desktop title → body → logo */
  --brand-intro-shine-text-gap-mobile: 1.5rem; /* 24px title → body */
  --brand-intro-shine-logo-w: 21.1875rem; /* 339px */
  --brand-intro-shine-logo-h: 11.875rem; /* 190px */
  --brand-intro-shine-logo-w-mobile: 10.875rem; /* 174px */
  --brand-intro-shine-logo-h-mobile: 6.0625rem; /* 97px */

  /* brand-intro-service-page — Figma 237:2054 (desktop; mobile follows sibling intros) */
  --fs-brand-intro-service-title: 3.375rem; /* 54px — Prompt Black */
  --fs-brand-intro-service-title-mobile: 1.5rem; /* 24px */
  --lh-brand-intro-service-title: 3.375rem; /* 54px */
  --lh-brand-intro-service-title-mobile: 1.8125rem; /* 29px */
  --fs-brand-intro-service-body: 1.125rem; /* 18px — Inter Regular */
  --fs-brand-intro-service-body-mobile: 1rem; /* 16px */
  --lh-brand-intro-service-body: 1.875rem; /* 30px */
  --ls-brand-intro-service: -0.02em;
  --fs-brand-intro-service-breadcrumb: 1.125rem; /* 18px */
  --fs-brand-intro-service-breadcrumb-mobile: 0.75rem; /* 12px */
  --lh-brand-intro-service-breadcrumb: 1.875rem; /* 30px */
  --brand-intro-service-pad-y: 7.5rem; /* 120px */
  --brand-intro-service-pad-y-mobile: 3.5rem; /* 56px */
  --brand-intro-service-content-max: 92.5rem; /* 1480px */
  --brand-intro-service-copy-w: 42rem; /* 672px */
  --brand-intro-service-title-w: 41rem; /* 656px */
  --brand-intro-service-media-w: 46.75rem; /* 748px */
  --brand-intro-service-media-h: 34.1875rem; /* 547px */
  --brand-intro-service-media-w-mobile: 17.875rem; /* 286px */
  --brand-intro-service-row-gap: 3.75rem; /* 60px — column gap / mobile text→image */
  --brand-intro-service-stack-gap: 2rem; /* 32px — row 1 → row 2 / mobile breadcrumb */
  --brand-intro-service-text-gap: 2rem; /* 32px desktop title → body */
  --brand-intro-service-text-gap-mobile: 1.5rem; /* 24px */

  /* local-intro — Figma 344:77 (desktop) / 344:461 (mobile) */
  --local-intro-pad-y: 7.5rem; /* 120px */
  --local-intro-pad-y-mobile: 3.5rem; /* 56px */
  --local-intro-content-max: 92.5rem; /* 1480px */
  --local-intro-copy-w: 42rem; /* 672px */
  --local-intro-title-w: 41rem; /* 656px */
  --local-intro-media-w: 46.75rem; /* 748px */
  --local-intro-media-h: 43.4375rem; /* 695px */
  --local-intro-media-w-mobile: 17.875rem; /* 286px */
  --local-intro-media-h-mobile: 11.0625rem; /* 177px */
  --local-intro-row-gap: 3.75rem; /* 60px — column gap / mobile media→copy */
  --local-intro-stack-gap: 2rem; /* 32px — mobile copy sections / desktop text stack */
  --local-intro-text-gap-mobile: 1.5rem; /* 24px — mobile title → lead */
  --local-intro-body-gap-mobile: 3.75rem; /* 60px — mobile body paragraphs */
  --fs-local-intro-title: 3.375rem; /* 54px — Prompt Black */
  --fs-local-intro-title-mobile: 1.5rem; /* 24px */
  --lh-local-intro-title: 3.375rem; /* 54px */
  --lh-local-intro-title-mobile: 1.8125rem; /* 29px */
  --fs-local-intro-body: 1.125rem; /* 18px */
  --fs-local-intro-lead-mobile: 1rem; /* 16px — mobile intro paragraph */
  --lh-local-intro-body: 1.875rem; /* 30px */
  --ls-local-intro: -0.02em;

  /* local-service-template-service-intro — Figma 371:74 (desktop) / 371:495 (mobile) */
  --local-service-intro-pad-y: 7.5rem; /* 120px */
  --local-service-intro-pad-y-mobile: 3.5rem; /* 56px */
  --local-service-intro-content-max: 92.5rem; /* 1480px */
  --local-service-intro-copy-w: 42rem; /* 672px */
  --local-service-intro-title-w: 41rem; /* 656px */
  --local-service-intro-media-w: 46.75rem; /* 748px */
  --local-service-intro-media-h: 37.0625rem; /* 593px */
  --local-service-intro-media-w-mobile: 17.875rem; /* 286px */
  --local-service-intro-row-gap: 3.75rem; /* 60px — desktop columns / mobile image → copy */
  --local-service-intro-stack-gap: 2rem; /* 32px — section bands */
  --local-service-intro-text-gap: 2rem; /* 32px desktop lead title → body */
  --local-service-intro-text-gap-mobile: 1.5rem; /* 24px */
  --local-service-intro-story-gap: 3.75rem; /* 60px desktop eyebrow → title → body */
  --fs-local-service-intro-title: 3.375rem; /* 54px — Prompt Black */
  --fs-local-service-intro-title-mobile: 1.5rem; /* 24px */
  --lh-local-service-intro-title: 3.375rem; /* 54px */
  --lh-local-service-intro-title-mobile: 1.8125rem; /* 29px */
  --fs-local-service-intro-body: 1.125rem; /* 18px — Inter Regular */
  --fs-local-service-intro-body-mobile: 1rem; /* 16px */
  --lh-local-service-intro-body: 1.875rem; /* 30px */
  --ls-local-service-intro: -0.02em;
  --fs-local-service-intro-breadcrumb: 1.125rem; /* 18px */
  --fs-local-service-intro-breadcrumb-mobile: 0.625rem; /* 10px */
  --lh-local-service-intro-breadcrumb: 1.875rem; /* 30px */
  --fs-local-service-intro-quote-title: 2.25rem; /* 36px */
  --fs-local-service-intro-quote-title-mobile: 1.125rem; /* 18px */
  --lh-local-service-intro-quote-title-mobile: 1.875rem; /* 30px */
  --fs-local-service-intro-quote-body-mobile: 0.8125rem; /* 13px */
  --lh-local-service-intro-quote-body-mobile: 1.25rem; /* 20px */
  --local-service-intro-quote-pad: 2.25rem; /* 36px */
  --local-service-intro-quote-pad-mobile: 1.5rem; /* 24px */
  --local-service-intro-quote-bar: 10px; /* desktop left accent */
  --local-service-intro-quote-bar-mobile: 5px; /* mobile top accent */
  --local-service-intro-quote-w-mobile: 17.75rem; /* 284px */
  --local-service-intro-quote-body-w-mobile: 12.875rem; /* 206px */
  --local-service-intro-quote-cta-w-mobile: 16.25rem; /* 260px */
  --color-local-service-intro-quote-bg: #fcfcfc;
  --shadow-local-service-intro-quote: 0 4px 10px 0 rgba(0, 0, 0, 0.05);
  --shadow-local-service-intro-quote-mobile: 0 4px 20px 0 rgba(0, 0, 0, 0.05);

  /* local-service-template-service-copy — Figma 371:912 (desktop) / 371:1306 (mobile) */
  --local-service-copy-pad-y: 3.5rem; /* 56px — both breakpoints */
  --local-service-copy-content-max: 92.5rem; /* 1480px */
  --local-service-copy-header-max: 93.6875rem; /* 1499px */
  --local-service-copy-copy-w: 42rem; /* 672px — process column */
  --local-service-copy-title-w: 41rem; /* 656px */
  --local-service-copy-media-w: 46.75rem; /* 748px */
  --local-service-copy-media-h: 34.1875rem; /* 547px */
  --local-service-copy-media-w-mobile: 17.875rem; /* 286px */
  --local-service-copy-row-gap: 3.75rem; /* 60px — desktop columns / mobile image → copy */
  --local-service-copy-stack-gap: 2rem; /* 32px */
  --local-service-copy-header-gap: 1.875rem; /* 30px eyebrow → title stack */
  --local-service-copy-text-gap: 2rem; /* 32px title → body / process title → steps */
  --local-service-copy-text-gap-mobile: 1.5rem; /* 24px */
  --local-service-copy-step-gap: 1rem; /* 16px desktop dot → copy */
  --local-service-copy-step-stack-mobile: 2.25rem; /* 36px body → steps / between steps */
  --local-service-copy-dot: 1.75rem; /* 28px desktop bullet */
  --local-service-copy-badge: 3.375rem; /* 54px mobile numbered circle */
  --fs-local-service-copy-step-num: 2.5rem; /* 40px — Inter Black */
  --lh-local-service-copy-step-num: 2.25rem; /* 36px */
  --fs-local-service-copy-step: 1rem; /* 16px */
  --local-service-copy-cta-w-mobile: 17.5rem; /* 280px */
  --color-local-service-copy-badge: var(--color-process-surface); /* #c52233 */

  /* local-service-hero — Figma 371:47 (desktop) / 371:472 (mobile) */
  --local-service-hero-title-max: 47.375rem; /* 758px — H1 overflows the 656px column */
  --local-service-hero-content-top: 14rem; /* 224px */
  --local-service-hero-min-h-mobile: 41.125rem; /* 658px */

  /* local-service-page-template-service-why — Figma 371:295 (desktop) / 371:743 (mobile) */
  --local-service-why-pad-y: 7.5rem; /* 120px */
  --local-service-why-pad-y-mobile: 3.5rem; /* 56px */
  --local-service-why-header-max: 93.6875rem; /* 1499px */
  --local-service-why-title-max-mobile: 20rem; /* 320px */
  --local-service-why-card-w: 21.5625rem; /* 345px */
  --local-service-why-card-w-mobile: 18.0625rem; /* 289px */
  --local-service-why-card-h: 32.5rem; /* 520px */
  --local-service-why-card-h-mobile: 21.75rem; /* 348px */
  --local-service-why-card-pad-mobile: 1.25rem; /* 20px */
  --local-service-why-card-gap-mobile: 1.5625rem; /* 25px */
  --local-service-why-card-title-max: 21.125rem; /* 338px */
  --local-service-why-card-text-max: 18.75rem; /* 300px */
  --local-service-why-icon: 6.5625rem; /* 105px */
  --local-service-why-icon-mobile: 3.1875rem; /* 51px */
  --local-service-why-cta-w-mobile: 18.8125rem; /* 301px */
  --shadow-local-service-why-card: var(--shadow-local-shine-plus-card);
  --shadow-local-service-why-card-mobile: var(--shadow-local-shine-plus-card-mobile);

  /* local-shine-plus — Figma 344:307 (desktop) / 346:4840 (mobile) */
  --local-shine-plus-pad-y: 7.5rem; /* 120px */
  --local-shine-plus-pad-y-mobile: 3.5rem; /* 56px */
  --local-shine-plus-header-max: 93.6875rem; /* 1499px */
  --local-shine-plus-title-max-mobile: 20rem; /* 320px */
  --local-shine-plus-subtitle-max: 60.8125rem; /* 973px — Prompt Black restatement */
  --local-shine-plus-lead-max: 47.8125rem; /* 765px */
  --local-shine-plus-body-max: 56.0625rem; /* 897px */
  --local-shine-plus-card-w: 21.5625rem; /* 345px */
  --local-shine-plus-card-w-mobile: 18.0625rem; /* 289px */
  --local-shine-plus-card-h: 32.5rem; /* 520px */
  --local-shine-plus-card-h-mobile: 21.75rem; /* 348px */
  --local-shine-plus-card-pad-mobile: 1.25rem; /* 20px */
  --local-shine-plus-card-gap-mobile: 1.5625rem; /* 25px icon → title → body */
  --local-shine-plus-card-title-max: 21.125rem; /* 338px — fits “Consistent Seasonal Care” on one line */
  --local-shine-plus-card-text-max: 18.75rem; /* 300px */
  --local-shine-plus-icon: 6.5625rem; /* 105px */
  --local-shine-plus-icon-mobile: 3.1875rem; /* 51px */
  --local-shine-plus-cta-w-mobile: 18.8125rem; /* 301px */
  --local-shine-plus-cta-pad-y: 1.25rem; /* 20px */
  --local-shine-plus-cta-pad-x: 2.5rem; /* 40px */
  --shadow-local-shine-plus-card: 0 4px 10px 0 rgba(58, 58, 58, 0.05);
  --shadow-local-shine-plus-card-mobile: 0 4px 25px 0 rgba(0, 0, 0, 0.08);

  /* local-team — Figma 346:301 (desktop) / 344:626 (mobile team + spotlight) */
  --local-team-pad-y: 8.75rem; /* 140px */
  --local-team-pad-y-mobile: 3.5rem; /* 56px */
  --local-team-content-max: 92.5rem; /* 1480px */
  --local-team-copy-w: 42rem; /* 672px */
  --local-team-title-w: 41rem; /* 656px */
  --local-team-card-w: 46.75rem; /* 748px */
  --local-team-card-w-mobile: 18.375rem; /* 294px */
  --local-team-card-min-h: 49.0625rem; /* 785px */
  --local-team-card-pad-x: 2.75rem; /* 44px */
  --local-team-card-pad-y: 2.5rem; /* 40px */
  --local-team-card-gap: 1.5625rem; /* 25px */
  --local-team-photo: 20.3125rem; /* 325px */
  --local-team-photo-mobile: 14.5625rem; /* 233px */
  --local-team-bio-max: 25rem; /* 400px desktop */
  --local-team-linkedin-icon: 1.5625rem; /* 25px */
  --local-team-cta-w-mobile: 14.25rem; /* 228px */
  --local-team-eyebrow-fs-mobile: 0.625rem; /* 10px */
  --shadow-local-team-card: 0 4px 10px 0 rgba(0, 0, 0, 0.05);

  /* service-detail-v1-service-detail — Figma 267:852 (desktop) / 289:221 (mobile) */
  --fs-service-detail-v1-title: 3.375rem; /* 54px — Prompt Black */
  --fs-service-detail-v1-title-mobile: 1.5rem; /* 24px */
  --lh-service-detail-v1-title: 3.375rem; /* 54px */
  --lh-service-detail-v1-title-mobile: 1.8125rem; /* 29px */
  --fs-service-detail-v1-body: 1.125rem; /* 18px — Inter Regular, both breakpoints */
  --lh-service-detail-v1-body: 1.875rem; /* 30px */
  --ls-service-detail-v1: -0.02em;
  --fs-service-detail-v1-breadcrumb: 1.125rem; /* 18px */
  --fs-service-detail-v1-breadcrumb-mobile: 0.75rem; /* 12px */
  --lh-service-detail-v1-breadcrumb: 1.875rem; /* 30px */
  --service-detail-v1-pad-y: 7.5rem; /* 120px */
  --service-detail-v1-pad-y-mobile: 3.5rem; /* 56px */
  --service-detail-v1-copy-w: 44rem; /* 704px — desktop headline column */
  --service-detail-v1-body-w: 37.875rem; /* 606px — desktop body */
  --service-detail-v1-media-w: 61.375rem; /* 982px */
  --service-detail-v1-media-h: 61.3125rem; /* 981px */
  --service-detail-v1-col-gap: 0.875rem; /* 14px — copy → media */
  --service-detail-v1-stack-gap: 2rem; /* 32px — mobile breadcrumb → content */
  --service-detail-v1-stack-gap-desktop: 1.5rem; /* 24px — breadcrumb → copy */
  --service-detail-v1-content-gap-mobile: 1.25rem; /* 20px — image → headline */
  --service-detail-v1-text-gap: 1.5rem; /* 24px title → body */

  /* service-detail-v2-service-detail — Figma 267:868 (desktop) / 497:15 (mobile) */
  --fs-service-detail-v2-title: 3.375rem; /* 54px — Prompt Black */
  --fs-service-detail-v2-title-mobile: 1.5rem; /* 24px */
  --lh-service-detail-v2-title: 3.375rem; /* 54px */
  --lh-service-detail-v2-title-mobile: 1.8125rem; /* 29px */
  --fs-service-detail-v2-intro: 1.125rem; /* 18px — Inter Regular */
  --lh-service-detail-v2-intro: 1.875rem; /* 30px */
  --ls-service-detail-v2: -0.02em;
  --fs-service-detail-v2-card-title: 1.5rem; /* 24px — Inter SemiBold desktop */
  --lh-service-detail-v2-card-title: 2.25rem; /* 36px */
  --fs-service-detail-v2-card-title-mobile: 1.125rem; /* 18px — Prompt Bold */
  --lh-service-detail-v2-card-title-mobile: 1.875rem; /* 30px */
  --fs-service-detail-v2-card-body: 1rem; /* 16px — Inter Regular */
  --lh-service-detail-v2-card-body: 1.25rem; /* 20px */
  --fs-service-detail-v2-note: 0.75rem; /* 12px */
  --color-service-detail-v2-note: #a6a6a6;
  --service-detail-v2-pad-y: 7.5rem; /* 120px */
  --service-detail-v2-pad-y-mobile: 3.5rem; /* 56px */
  --service-detail-v2-stack-gap: 2rem; /* 32px */
  --service-detail-v2-intro-gap: 2rem; /* 32px desktop title → intro */
  --service-detail-v2-intro-gap-mobile: 1.5rem; /* 24px */
  --service-detail-v2-card-h: 48.75rem; /* 780px desktop photo panels */
  --service-detail-v2-card-copy-w: 23.9375rem; /* 383px desktop overlay */
  --service-detail-v2-card-copy-gap: 0.9375rem; /* 15px desktop title → body */
  --service-detail-v2-card-pad-x: 2.5rem; /* 40px */
  --service-detail-v2-card-pad-y: 3.75rem; /* 60px */
  --service-detail-v2-card-media-h-mobile: 14.25rem; /* 228px */
  --service-detail-v2-card-body-h-mobile: 13.625rem; /* 218px */
  --service-detail-v2-card-pad-mobile: 1.5rem; /* 24px */
  --service-detail-v2-card-copy-gap-mobile: 0.5rem; /* 8px */
  --service-detail-v2-card-copy-w-mobile: 12.875rem; /* 206px body */
  --service-detail-v2-note-w: 51.5625rem; /* 825px */
  --service-detail-v2-title-w-mobile: 16.375rem; /* 262px */
  --shadow-service-detail-v2-card: 0 4px 20px 0 rgba(0, 0, 0, 0.05);

  /* service-detail-v3-service-page-detail — Figma 278:919 (desktop) / 289:254 (mobile) */
  /* Same 4-card + carousel scale as service-hub-v3. Intro is 18px on mobile too. */
  --color-service-detail-v3-icon: var(--color-service-hub-v3-icon); /* #c52233 badge fill */
  --fs-service-detail-v3-title: var(--fs-service-hub-v3-title); /* 54px — Prompt Black */
  --fs-service-detail-v3-title-mobile: var(--fs-service-hub-v3-title-mobile); /* 24px */
  --lh-service-detail-v3-title: var(--lh-service-hub-v3-title); /* 54px */
  --lh-service-detail-v3-title-mobile: var(--lh-service-hub-v3-title-mobile); /* 29px */
  --fs-service-detail-v3-intro: var(--fs-service-hub-v3-intro); /* 18px — Inter Regular */
  --lh-service-detail-v3-intro: var(--lh-service-hub-v3-intro); /* 30px */
  --ls-service-detail-v3: var(--ls-service-hub-v3); /* -0.02em */
  --fs-service-detail-v3-card-title: var(--fs-service-hub-v3-card-title); /* 24px */
  --lh-service-detail-v3-card-title: var(--lh-service-hub-v3-card-title); /* 29px */
  --fs-service-detail-v3-card-body: var(--fs-service-hub-v3-card-body); /* 16px */
  --lh-service-detail-v3-card-body: var(--lh-service-hub-v3-card-body); /* 20px */
  --service-detail-v3-pad-y: var(--service-hub-v3-pad-y); /* 120px */
  --service-detail-v3-pad-y-mobile: var(--service-hub-v3-pad-y-mobile); /* 56px */
  --service-detail-v3-header-max: var(--service-hub-v3-header-max); /* 1499px */
  --service-detail-v3-intro-max: var(--service-hub-v3-intro-max); /* 973px */
  --service-detail-v3-cards-gap: var(--service-hub-v3-cards-gap); /* 34px */
  --service-detail-v3-card-w: var(--service-hub-v3-card-w); /* 345px */
  --service-detail-v3-card-w-mobile: var(--service-hub-v3-card-w-mobile); /* 289px */
  --service-detail-v3-card-h: var(--service-hub-v3-card-h); /* 520px */
  --service-detail-v3-card-h-mobile: var(--service-hub-v3-card-h-mobile); /* 344px */
  --service-detail-v3-card-pad: var(--service-hub-v3-card-pad); /* 24px */
  --service-detail-v3-card-pad-mobile: var(--service-hub-v3-card-pad-mobile); /* 20px */
  --service-detail-v3-card-gap: var(--service-hub-v3-card-gap); /* 32px */
  --service-detail-v3-card-gap-mobile: var(--service-hub-v3-card-gap-mobile); /* 25px */
  --service-detail-v3-card-text-max: var(--service-hub-v3-card-text-max); /* 300px */
  --service-detail-v3-icon: var(--service-hub-v3-icon); /* 105px */
  --service-detail-v3-icon-mobile: var(--service-hub-v3-icon-mobile); /* 51px */
  --service-detail-v3-cta-pad-y: var(--service-hub-v3-cta-pad-y); /* 20px */
  --service-detail-v3-cta-pad-x: var(--service-hub-v3-cta-pad-x); /* 40px */
  --radius-service-detail-v3-card-mobile: 0.625rem; /* 10px — Figma mobile cards */
  --shadow-service-detail-v3-card: var(--shadow-service-hub-v3-card);
  --shadow-service-detail-v3-card-mobile: var(--shadow-service-hub-v3-card-mobile);

  /* service-gallery-service-page-detail — Figma 278:989 (desktop) / 292:359 (mobile) */
  --fs-service-gallery-title: 3.375rem; /* 54px — Prompt Black */
  --fs-service-gallery-title-mobile: 1.5rem; /* 24px */
  --lh-service-gallery-title: 3.375rem; /* 54px */
  --lh-service-gallery-title-mobile: 1.8125rem; /* 29px */
  --fs-service-gallery-intro: 1.125rem; /* 18px — Inter Regular */
  --lh-service-gallery-intro: 1.875rem; /* 30px */
  --ls-service-gallery: -0.02em;
  --service-gallery-pad-y: 7.5rem; /* 120px */
  --service-gallery-pad-y-mobile: 3.5rem; /* 56px */
  --service-gallery-header-max: 93.6875rem; /* 1499px */
  --service-gallery-intro-max: 60.8125rem; /* 973px */
  --service-gallery-gap-x: 1.5rem; /* 24px desktop column gap */
  --service-gallery-gap-y: 1.5625rem; /* 25px desktop row gap */
  --service-gallery-gap-mobile: 0.5rem; /* 8px */
  --shadow-service-gallery-item-mobile: 0 4px 50px 0 rgba(0, 0, 0, 0.08);

  /* process-service-page — Figma 237:2898 (desktop) / 246:3247 (mobile) */
  --fs-process-service-title: 3.375rem; /* 54px — Prompt Black */
  --fs-process-service-title-mobile: 1.5rem; /* 24px */
  --lh-process-service-title: 3.375rem; /* 54px */
  --lh-process-service-title-mobile: 1.625rem; /* 26px — mobile Figma */
  --fs-process-service-subtitle: 2.25rem; /* 36px */
  --fs-process-service-subtitle-mobile: 1.25rem; /* 20px */
  --lh-process-service-subtitle: 2.75rem; /* 44px — Figma 84px is a leftover style */
  --lh-process-service-subtitle-mobile: 1.5rem; /* 24px */
  --fs-process-service-intro: 1.125rem; /* 18px — Inter */
  --lh-process-service-intro: 1.875rem; /* 30px */
  --fs-process-service-point-title: 1.5rem; /* 24px */
  --lh-process-service-point-title: 1.8125rem; /* 29px */
  --ls-process-service: -0.02em;
  --process-service-pad-y: 7.5rem; /* 120px */
  --process-service-pad-y-mobile: 3.5rem; /* 56px */
  --process-service-header-max: 93.6875rem; /* 1499px */
  --process-service-header-max-mobile: 20rem; /* 320px */
  --process-service-intro-max: 61.8125rem; /* 989px */
  --process-service-col-w: 44.3125rem; /* 709px */
  --process-service-col-gap: 2.5rem; /* 40px between copy and pricing */
  --process-service-board-w-mobile: 18rem; /* 288px */
  --process-service-board-pad: 2rem; /* 32px desktop pricing card */
  --process-service-board-pad-mobile: 1.25rem; /* 20px white board */
  --process-service-pricing-pad-mobile: 1.5rem; /* 24px */
  --process-service-pricing-gap-mobile: 1.875rem; /* 30px title → body */
  --process-service-cta-pad-y: 1.25rem; /* 20px */
  --process-service-cta-pad-x: 2.5rem; /* 40px */
  --radius-process-service-board: 0.625rem; /* 10px — mobile white board */
  --shadow-process-service-card: 0 4px 10px 0 rgba(0, 0, 0, 0.05);

  /* seasonal-services-shine-template — Figma 229:2459 (desktop) / 389:101 (mobile) */
  --fs-seasonal-services-title: 3.375rem; /* 54px — Prompt Black */
  --fs-seasonal-services-title-mobile: 1.5rem; /* 24px */
  --lh-seasonal-services-title: 3.375rem; /* 54px */
  --lh-seasonal-services-title-mobile: 1.8125rem; /* 29px */
  --fs-seasonal-services-intro: 1.125rem; /* 18px */
  --fs-seasonal-services-intro-mobile: 0.875rem; /* 14px */
  --lh-seasonal-services-intro: 1.875rem; /* 30px */
  --ls-seasonal-services: -0.02em;
  --fs-seasonal-services-trigger: 1.5rem; /* 24px — Prompt Black */
  --fs-seasonal-services-trigger-mobile: 1.25rem; /* 20px */
  --fs-seasonal-services-card-title: 1.5rem; /* 24px */
  --fs-seasonal-services-card-title-mobile: 1.5rem; /* 24px */
  --lh-seasonal-services-card-title: 2.25rem; /* 36px */
  --fs-seasonal-services-meta: 1.125rem; /* 18px */
  --lh-seasonal-services-meta: 1.4375rem; /* 23px */
  --fs-seasonal-services-point-title: 1rem; /* 16px */
  --fs-seasonal-services-point-title-mobile: 0.875rem; /* 14px */
  --fs-seasonal-services-point-text: 1rem; /* 16px */
  --fs-seasonal-services-point-text-mobile: 0.75rem; /* 12px */
  --lh-seasonal-services-point: 1.25rem; /* 20px */
  --seasonal-services-pad-y: 7.5rem; /* 120px */
  --seasonal-services-pad-y-mobile: 3.5rem; /* 56px */
  --seasonal-services-content-max: 92.5rem; /* 1480px */
  --seasonal-services-header-max: 93.6875rem; /* 1499px */
  --seasonal-services-stack-gap: 2rem; /* 32px */
  --seasonal-services-intro-gap: 2rem; /* 32px */
  --seasonal-services-intro-gap-mobile: 1.5rem; /* 24px */
  --seasonal-services-card-gap: 2rem; /* 32px */
  --seasonal-services-card-gap-mobile: 1.25rem; /* 20px */
  --seasonal-services-card-w: 29.5rem; /* 472px */
  --seasonal-services-card-w-mobile: 18rem; /* 288px */
  --seasonal-services-icon: 2.0625rem; /* 33px */
  --seasonal-services-trigger-pad-y: 1.25rem; /* 20px */
  --seasonal-services-trigger-pad-x: 2.5rem; /* 40px */
  --seasonal-services-panel-pad-mobile: 1.25rem; /* 20px */
  --seasonal-services-panel-pad-bottom: 3.5rem; /* 56px desktop */
  --seasonal-services-body-gap: 2rem; /* 32px */
  --seasonal-services-body-gap-mobile: 1.5625rem; /* 25px */
  --seasonal-services-point-gap: 1.5rem; /* 24px */
  --seasonal-services-point-gap-mobile: 1.75rem; /* 28px */
  --seasonal-services-foot-h: 4rem; /* 64px */
  --shadow-seasonal-services-card: 0 4px 10px 0 rgba(0, 0, 0, 0.05);
  --shadow-seasonal-services-card-mobile: 0 4px 25px 0 rgba(0, 0, 0, 0.08);

  /* pricing-shine-template — Figma 234:354 (desktop) / 237:726 (mobile) */
  --fs-pricing-shine-title: 3.375rem; /* 54px — Prompt Black */
  --fs-pricing-shine-title-mobile: 1.5rem; /* 24px */
  --lh-pricing-shine-title: 3.375rem; /* 54px */
  --lh-pricing-shine-title-mobile: 1.8125rem; /* 29px */
  --fs-pricing-shine-intro: 1.125rem; /* 18px */
  --fs-pricing-shine-intro-mobile: 0.9375rem; /* 15px */
  --lh-pricing-shine-intro: 1.875rem; /* 30px */
  --ls-pricing-shine: -0.02em;
  --fs-pricing-shine-eyebrow: 1rem; /* 16px — Poppins SemiBold */
  --lh-pricing-shine-eyebrow: 2.25rem; /* 36px */
  --ls-pricing-shine-eyebrow: 0.3em; /* 4.8px at 16px */
  --fs-pricing-shine-card-title: 1.5rem; /* 24px */
  --lh-pricing-shine-card-title: 1.8125rem; /* 29px */
  --fs-pricing-shine-card-body: 1.125rem; /* 18px */
  --lh-pricing-shine-card-body: 1.4375rem; /* 23px */
  --fs-pricing-shine-point: 1rem; /* 16px */
  --lh-pricing-shine-point: 1.25rem; /* 20px */
  --pricing-shine-pad-y: 7.5rem; /* 120px */
  --pricing-shine-pad-y-mobile: 3.5rem; /* 56px */
  --pricing-shine-content-max: 92.5rem; /* 1480px */
  --pricing-shine-header-max: 93.6875rem; /* 1499px */
  --pricing-shine-intro-max: 61.8125rem; /* 989px */
  --pricing-shine-stack-gap: 2rem; /* 32px */
  --pricing-shine-intro-gap: 2rem; /* 32px */
  --pricing-shine-intro-gap-mobile: 1.5rem; /* 24px */
  --pricing-shine-card-gap: 2rem; /* 32px between desktop cards */
  --pricing-shine-card-gap-desktop: 3.75rem; /* 60px copy → bullets */
  --pricing-shine-card-gap-mobile: 1.5625rem; /* 25px inner stack */
  --pricing-shine-card-w-mobile: 18rem; /* 288px */
  --pricing-shine-card-h: 33.875rem; /* 542px desktop */
  --pricing-shine-card-pad-y: 3.75rem; /* 60px */
  --pricing-shine-card-pad-x: 2.5rem; /* 40px */
  --pricing-shine-card-pad-mobile: 1.25rem; /* 20px */
  --pricing-shine-point-gap: 1.75rem; /* 28px */
  --shadow-pricing-shine-card: 0 4px 10px 0 rgba(0, 0, 0, 0.05);
  --shadow-pricing-shine-card-mobile: 0 4px 25px 0 rgba(0, 0, 0, 0.08);

  /* cta-v2 — Figma 223:1212 / 229:1850 (Shine+ mid-page band; same as services hub) */
  --fs-cta-v2-title: 3.375rem; /* 54px — Prompt Black */
  --fs-cta-v2-title-mobile: 1.5rem; /* 24px — Inter Black */
  --lh-cta-v2-title: 3.375rem; /* 54px */
  --lh-cta-v2-title-mobile: normal;
  --ls-cta-v2-title-mobile: -0.02em; /* -0.48px at 24px */
  --cta-v2-pad-y: 7.5rem; /* 120px */
  --cta-v2-pad-y-mobile: 3.5rem; /* 56px */
  --cta-v2-title-max: 93.6875rem; /* 1499px */
  --cta-v2-title-max-mobile: 20rem; /* 320px */
  --cta-v2-body-max: 60.8125rem; /* 973px */
  --fs-cta-v2-body: 1.125rem; /* 18px */
  --fs-cta-v2-body-mobile: 1rem; /* 16px */
  --lh-cta-v2-body: 1.875rem; /* 30px */
  --cta-v2-btn-pad-y: 1.25rem; /* 20px — white pill */
  --cta-v2-btn-pad-x: 2.5rem; /* 40px */
}

/* Shine+ hero — same top inset as other composite service-page heroes; wider H1 column only */
.hero-image--corporate-shine-plus.hero-image--composite {
  --hero-content-w: calc(41rem * 1.15);
}

@media (max-width: 1599px) {
  .hero-image--corporate-shine-plus.hero-image--composite {
    --hero-content-w: min(calc(41rem * 1.15), calc(46vw * 1.15));
  }
}

@media (max-width: 1279px) {
  .hero-image--corporate-shine-plus.hero-image--composite {
    --hero-content-w: min(calc(34rem * 1.15), calc(50vw * 1.15));
  }
}
