/** Service Pages use the current theme foundation; no fixed content heights or motion. */
.chutuoc-service-page { color: var(--chutuoc-color-text); overflow-wrap: anywhere; }
.chutuoc-service-page *, .chutuoc-service-page *::before, .chutuoc-service-page *::after { box-sizing: border-box; }
.chutuoc-service-page [hidden] { display: none !important; }
.chutuoc-service-page[id] { scroll-margin-top: 7rem; }
.chutuoc-service-page__hero { background: var(--chutuoc-color-background-alt); padding-block: var(--chutuoc-space-5) var(--chutuoc-section-space); }
.chutuoc-service-page__breadcrumb { margin-block-end: var(--chutuoc-space-6); font-size: var(--chutuoc-font-size-small); }
.chutuoc-service-page__breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: var(--chutuoc-space-2) var(--chutuoc-space-4); margin: 0; padding: 0; list-style: none; }
.chutuoc-service-page__breadcrumb li { min-width: 0; }
.chutuoc-service-page__breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: var(--chutuoc-color-primary-text); text-underline-offset: .2em; }
.chutuoc-service-page__hero-grid { display: grid; gap: var(--chutuoc-space-6); align-items: center; }
.chutuoc-service-page__hero-grid > div { min-width: 0; }
.chutuoc-service-page__hero h1 { max-width: 22ch; margin: 0 0 var(--chutuoc-space-5); }
.chutuoc-service-page__hero p { max-width: 65ch; }
.chutuoc-service-page__eyebrow { margin: 0 0 var(--chutuoc-space-4); color: var(--chutuoc-color-primary-text); font-weight: 500; }
.chutuoc-service-page__lead { font-size: 1.125rem; line-height: 1.6; }
.chutuoc-service-page__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--chutuoc-space-4) var(--chutuoc-space-5); margin-block-start: var(--chutuoc-space-6); }
.chutuoc-service-page__hero-media img, .chutuoc-service-page__case img { display: block; width: 100%; height: auto; border-radius: var(--chutuoc-radius-lg); }
.chutuoc-service-page__section { padding-block: var(--chutuoc-section-space); background: var(--chutuoc-color-background); }
.chutuoc-service-page__section--alt { background: var(--chutuoc-color-background-alt); }
.chutuoc-service-page__section h2 { max-width: 30ch; margin: 0 0 var(--chutuoc-space-6); }
.chutuoc-service-page__section h3 { margin: 0 0 var(--chutuoc-space-3); }
.chutuoc-service-page__section p { margin: 0 0 var(--chutuoc-space-4); }
.chutuoc-service-page__grid, .chutuoc-service-page__offering-grid, .chutuoc-service-page__process { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--chutuoc-space-6); padding: 0; margin: 0; list-style: none; }
.chutuoc-service-page__grid > *, .chutuoc-service-page__offering-grid > *, .chutuoc-service-page__process > * { min-width: 0; }
.chutuoc-service-page__grid--benefits > li, .chutuoc-service-page__plan { padding: var(--chutuoc-space-5); border-radius: var(--chutuoc-radius-md); background: var(--chutuoc-color-background); }
.chutuoc-service-page__offering-cluster { padding: var(--chutuoc-space-5); background: var(--chutuoc-color-background-alt); border-radius: var(--chutuoc-radius-md); }
.chutuoc-service-page__offering-cluster ul { padding-inline-start: var(--chutuoc-space-5); margin: 0; }
.chutuoc-service-page__offering-cluster li { margin-block: var(--chutuoc-space-3); }
.chutuoc-service-page__offering-cluster li p { margin-block: var(--chutuoc-space-2) 0; color: var(--chutuoc-color-muted); }
.chutuoc-service-page__scope-note:empty { display: none; }
.chutuoc-service-page__scope-note { max-width: 75ch; margin-block-start: var(--chutuoc-space-6); }
.chutuoc-service-page__reading, .chutuoc-service-page__pricing-intro { max-width: 75ch; }
.chutuoc-service-page__tags { display: flex; flex-wrap: wrap; gap: var(--chutuoc-space-3); padding: 0; margin: var(--chutuoc-space-5) 0 0; list-style: none; }
.chutuoc-service-page__tags li { padding: var(--chutuoc-space-2) var(--chutuoc-space-4); border-radius: var(--chutuoc-radius-sm); background: var(--chutuoc-color-background); }
.chutuoc-service-page__step { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; margin-block-end: var(--chutuoc-space-4); border-radius: var(--chutuoc-radius-sm); background: var(--chutuoc-color-primary-soft); color: var(--chutuoc-color-primary-text); font-weight: 500; }
.chutuoc-service-page__process dl, .chutuoc-service-page__plan dl { margin: var(--chutuoc-space-4) 0 0; font-size: var(--chutuoc-font-size-small); }
.chutuoc-service-page__process dt, .chutuoc-service-page__plan dt { margin-block-start: var(--chutuoc-space-3); font-weight: 500; }
.chutuoc-service-page__process dd, .chutuoc-service-page__plan dd { margin: var(--chutuoc-space-1) 0 0; color: var(--chutuoc-color-muted); }
.chutuoc-service-page__price { font-size: var(--chutuoc-font-size-h3); font-weight: 500; }
.chutuoc-service-page__plan { margin-block-end: var(--chutuoc-space-6); }
.chutuoc-service-page__case a { display: inline-flex; align-items: center; min-height: 44px; color: var(--chutuoc-color-primary-text); text-underline-offset: .2em; }
.chutuoc-service-page__case img { margin-block-end: var(--chutuoc-space-5); }
.chutuoc-service-page__faq { max-width: 85ch; margin: 0; }
.chutuoc-service-page__faq > div + div { margin-block-start: var(--chutuoc-space-6); }
.chutuoc-service-page__faq dd { margin: 0; }
.chutuoc-service-page__quote-grid { display: grid; gap: var(--chutuoc-space-6); }
.chutuoc-service-page__quote-intro, .chutuoc-quote-form { min-width: 0; }
.chutuoc-quote-form { padding: var(--chutuoc-space-5); border-radius: var(--chutuoc-radius-lg); background: var(--chutuoc-color-background); box-shadow: var(--chutuoc-shadow-soft); }
.chutuoc-quote-form__fields { display: grid; gap: 0 var(--chutuoc-space-5); }
.chutuoc-quote-form__field { min-width: 0; margin-block-end: var(--chutuoc-space-5); }
.chutuoc-quote-form label { display: block; margin-block-end: var(--chutuoc-space-2); font-weight: 500; }
.chutuoc-quote-form :is(input:not([type=hidden]):not([type=checkbox]), select, textarea) { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 56px; padding: var(--chutuoc-space-3) var(--chutuoc-space-4); border: 1px solid var(--chutuoc-color-control-border); border-radius: var(--chutuoc-radius-md); color: var(--chutuoc-color-text); background: var(--chutuoc-color-background); font: inherit; }
.chutuoc-quote-form textarea { resize: vertical; }
.chutuoc-quote-form select { padding-inline-end: var(--chutuoc-space-6); }
.chutuoc-quote-form__hint { color: var(--chutuoc-color-muted); }
.chutuoc-quote-form .chutuoc-quote-form__consent { display: flex; align-items: flex-start; gap: var(--chutuoc-space-3); min-height: 44px; padding-block: var(--chutuoc-space-2); font-weight: 400; cursor: pointer; }
.chutuoc-quote-form__consent input { flex: 0 0 1.25rem; width: 1.25rem; height: 1.25rem; margin: .2rem 0 0; accent-color: var(--chutuoc-color-primary-text); }
.chutuoc-quote-form__error { color: var(--chutuoc-color-error); font-size: var(--chutuoc-font-size-small); margin-block-start: var(--chutuoc-space-2) !important; }
.chutuoc-quote-form [aria-invalid=true] { border-color: var(--chutuoc-color-error); }
.chutuoc-quote-form__honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.chutuoc-quote-form__status { padding: var(--chutuoc-space-4); border: 1px solid var(--chutuoc-color-error); border-radius: var(--chutuoc-radius-sm); }
.chutuoc-quote-form__status--success { border-color: #126439; color: #126439; background: #eff8f1; }
.chutuoc-quote-form > button { margin-block-end: var(--chutuoc-space-3); }
.chutuoc-service-page :is(a, input, select, textarea, button):focus-visible { outline: 3px solid var(--chutuoc-color-primary-text); outline-offset: 3px; }
@media (min-width: 48rem) {
	.chutuoc-service-page__grid, .chutuoc-service-page__offering-grid, .chutuoc-service-page__process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.chutuoc-quote-form__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.chutuoc-quote-form { padding: var(--chutuoc-space-6); }
}
@media (min-width: 62rem) {
	.chutuoc-service-page__hero-grid--media { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
	.chutuoc-service-page__grid--problems, .chutuoc-service-page__process { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.chutuoc-service-page__quote-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: var(--chutuoc-space-7); }
}
