/* Public service and workshop landing pages. */
.service-page { max-width: 1180px; }
.service-page__hero { max-width: 840px; margin: 0 auto 44px; text-align: center; }
.service-page__hero .page-title { margin-bottom: 18px; }
.service-page__intro-note { margin: 22px auto 0; color: var(--ink-soft); font-weight: 700; }
.service-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 42px; }
.service-page--online .service-index { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 780px; margin-left: auto; margin-right: auto; }
.service-index__card { display: grid; gap: 10px; min-height: 145px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); color: var(--ink); box-shadow: var(--shadow-sm); transition: transform var(--speed) var(--ease), box-shadow var(--speed) var(--ease), border-color var(--speed) var(--ease); }
.service-index__card:hover, .service-index__card:focus-visible { transform: translateY(-4px); border-color: var(--turq); box-shadow: var(--shadow); color: var(--ink); }
.service-index__number, .service-detail__number, .offer-card__kicker { color: var(--coral); font-family: var(--display); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.service-index__card > span:last-child { margin-top: auto; color: var(--turq-dark, #247f7a); font-size: .9rem; font-weight: 800; }
.service-index__card .gaspar-action { margin-top: auto; }
.service-index__card .service-index__link { color: var(--turq-dark, #247f7a); font-size: .9rem; font-weight: 800; }
.service-page__sections { display: grid; gap: 24px; }
.service-detail { scroll-margin-top: 90px; padding: 38px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.service-detail__head { display: grid; grid-template-columns: 58px 1fr; gap: 18px; align-items: start; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.service-detail__number { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--yellow); color: var(--ink); }
.service-detail h2 { margin: 4px 0 12px; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.service-detail h3 { margin: 0 0 14px; font-size: 1.15rem; }
.service-detail__head p { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: 1.04rem; line-height: 1.7; }
.service-detail__headline { color: var(--coral) !important; font-family: var(--display); font-weight: 800; }
.service-detail__body { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 32px; padding-top: 28px; }
.service-detail__body ul { margin: 0; padding-left: 1.2rem; }
.service-detail__body li { margin: 8px 0; color: var(--ink-soft); }
.service-detail__aside { align-self: start; padding: 24px; border-radius: var(--radius); background: var(--cream); }
.service-detail__aside p { margin: 0 0 20px; color: var(--ink-soft); line-height: 1.65; }
.service-detail__aside .btn { width: 100%; text-align: center; }
.service-detail__instructors { padding-left: 1.1rem !important; margin-bottom: 22px !important; }
.service-detail__instructors li { font-size: .95rem; }
.service-disclaimer { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 28px; padding: 20px 24px; border: 1px solid rgba(47,159,154,.35); border-left: 5px solid var(--turq); border-radius: var(--radius); background: #effbf9; color: var(--ink); }
.service-disclaimer p { margin: 0; }
.service-disclaimer p:not(.gaspar-action) { color: var(--ink-soft); }
.service-disclaimer .gaspar-action { margin-left: auto; }
.service-disclaimer span { color: var(--ink-soft); }
.service-disclaimer a { margin-left: auto; color: var(--turq-dark, #247f7a); font-weight: 800; }
.service-disclaimer--notice { margin: 26px auto 0; justify-content: center; max-width: 820px; text-align: left; }
.service-disclaimer--notice strong { color: var(--coral); }
.online-disclaimer { margin: 22px auto 0; text-align: center; color: var(--ink-soft); font-size: .93rem; font-style: italic; }
.offer-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.offer-grid--online { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.offer-card__kicker { display: block; margin-bottom: 8px; }
.contact-form__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-form__consent { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.5; }
.contact-form__consent input { flex: 0 0 auto; margin-top: 4px; }
.contact-form__consent a { color: var(--coral); font-weight: 700; }
.course-product__preview { margin: 24px 0; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.course-product__preview h2 { margin: 5px 0 14px; font-size: 1.2rem; }
.course-product__preview-frame { overflow: hidden; aspect-ratio: 16 / 9; border-radius: 12px; background: #111; }
.course-product__preview-frame iframe, .course-product__preview-frame video { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 1050px) {
	.service-index, .offer-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.offer-grid--online { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.service-page__hero { margin-bottom: 30px; }
	.service-index, .service-page--online .service-index, .offer-grid--four, .offer-grid--online { grid-template-columns: 1fr; }
	.service-detail { padding: 24px 20px; }
	.service-detail__head, .service-detail__body { grid-template-columns: 1fr; gap: 16px; }
	.service-detail__number { width: 46px; height: 46px; }
	.service-detail__body { padding-top: 22px; }
	.service-disclaimer { align-items: flex-start; flex-direction: column; }
	.service-disclaimer a { margin-left: 0; }
}
