/* The shared content roles complement service-typography.css.
   Page markup declares roles; one source controls every matching component. */
body:is(.g-page,.cd-page,.cy-page) {
 --service-ink:#222;
 --service-copy:#444;
 --service-muted:#666;
 --service-surface:#f7f8f8;
 --service-section-space:120px;
 --service-card-padding:clamp(36px,3.7vw,60px);
 --service-body-size:18px;
 --service-small-copy-size:15px;
 --service-hero-copy-size:18px;
 --service-hero-copy-width:560px;
 --service-hero-copy-gap:17px;
}
body:is(.g-page,.cd-page,.cy-page) main [data-tone="inverse"] { --service-ink:#fff; --service-copy:#fff; --service-muted:#fff; }
body:is(.g-page,.cd-page,.cy-page) main [data-tone="accent"] { --service-ink:#1f6e6a; --service-copy:#1f6e6a; --service-muted:#1f6e6a; }
body:is(.g-page,.cd-page,.cy-page) main [data-title-role] { color:var(--service-ink); }
body:is(.g-page,.cd-page,.cy-page) main [data-text-role] {
 font-family:var(--service-sans) !important;
 font-style:normal;
 font-weight:400 !important;
 letter-spacing:normal;
 -webkit-font-smoothing:antialiased;
 text-wrap:pretty;
}
body:is(.g-page,.cd-page,.cy-page) main [data-text-role="hero"] {
 font-size:var(--service-hero-copy-size) !important;
 line-height:1.5 !important;
 max-width:var(--service-hero-copy-width);
 margin-top:var(--service-hero-copy-gap);
 margin-bottom:0;
 color:var(--service-copy);
}
body:is(.g-page,.cd-page,.cy-page) main [data-text-role="card"] {
 font-size:var(--service-body-size) !important;
 line-height:1.55 !important;
 color:var(--service-copy);
}
body:is(.g-page,.cd-page,.cy-page) main [data-text-role="small"] {
 font-size:var(--service-small-copy-size) !important;
 line-height:1.6 !important;
 color:var(--service-muted);
}
body:is(.g-page,.cd-page,.cy-page) main [data-text-role="section-intro"] {
 font-size:var(--service-body-size) !important;
 line-height:1.6 !important;
 color:var(--service-copy);
 max-width:650px;
}
body:is(.g-page,.cd-page,.cy-page) main [data-text-role="contact"] {
 font-size:var(--service-body-size) !important;
 line-height:1.55 !important;
 color:var(--service-copy);
 max-width:560px;
 margin:24px 0 32px;
}
body:is(.g-page,.cd-page,.cy-page) main [data-text-role="answer"] {
 font-size:16px !important;
 line-height:1.65 !important;
 color:var(--service-muted);
}
body:is(.g-page,.cd-page,.cy-page) main [data-surface-role="large-card-body"] {
 padding:var(--service-card-padding);
 background:var(--service-surface);
 border-radius:16px;
 gap:80px;
}
body:is(.g-page,.cd-page,.cy-page) main [data-surface-role="small-card-body"] { padding:36px 40px 40px; }
body:is(.g-page,.cd-page,.cy-page) main [data-surface-role="small-card-body"] [data-title-role="small"] { margin-bottom:15px; }
body:is(.g-page,.cd-page,.cy-page) main [data-surface-role="small-card-body"] [data-text-role="small"] { margin:0; }
body:is(.g-page,.cd-page,.cy-page) main [data-layout-role="stories"] { gap:24px; }
@media(max-width:1100px) {
 body:is(.g-page,.cd-page,.cy-page) { --service-card-padding:36px; --service-body-size:16px; }
 body:is(.g-page,.cd-page,.cy-page) main [data-surface-role="small-card-body"] { padding:30px; }
}
@media(max-width:767px) {
 body:is(.g-page,.cd-page,.cy-page) {
  --service-section-space:64px;
  --service-card-padding:30px;
  --service-body-size:15px;
  --service-small-copy-size:14px;
  --service-hero-copy-size:16px;
  --service-hero-copy-width:380px;
  --service-hero-copy-gap:14px;
 }
 body:is(.g-page,.cd-page,.cy-page) main [data-text-role="section-intro"],
 body:is(.g-page,.cd-page,.cy-page) main [data-text-role="contact"] { font-size:16px !important; }
 body:is(.g-page,.cd-page,.cy-page) main [data-text-role="answer"] { font-size:14px !important; }
 body:is(.g-page,.cd-page,.cy-page) main [data-surface-role="large-card-body"] { gap:45px; }
 body:is(.g-page,.cd-page,.cy-page) main [data-surface-role="small-card-body"] { padding:28px; }
 body:is(.g-page,.cd-page,.cy-page) main [data-surface-role="small-card-body"] [data-title-role="small"] { margin-bottom:12px; }
}
@media(max-width:374px) { body:is(.g-page,.cd-page,.cy-page) { --service-card-padding:25px; } }
body:is(.g-page,.cd-page,.cy-page) main [data-text-role="note"] { font:400 12px/1.65 var(--service-sans) !important; color:#777; letter-spacing:normal; }

@media(max-width:767px) { body:is(.g-page,.cd-page,.cy-page) main [data-text-role="note"] { font-size:11px !important; } }
