:root {
    color-scheme: light;
    font: 16px/1.55 system-ui, sans-serif;
    color: #14272c;
    background: #eef5f4;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
.service-wrap { width: min(100% - 28px, 800px); margin-inline: auto; }
.service-nav { background: #fff; border-bottom: 1px solid #dce9e7; }
.service-nav nav { display: flex; align-items: center; gap: 6px 18px; flex-wrap: wrap; padding-block: 8px; }
.service-nav a { color: #145d56; font-weight: 650; font-size: .875rem; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.service-nav .service-brand { border-radius: 8px; background: #113b39; color: #fff; font-weight: 850; padding-inline: 10px; }
.service-stack { display: grid; gap: 14px; padding-block: 14px 36px; }
.service-card { min-width: 0; padding: clamp(16px, 4vw, 32px); border: 1px solid #dce9e7; border-radius: 18px; background: #fff; }
.service-card h1, .service-card h2 { margin: 0 0 10px; line-height: 1.15; overflow-wrap: anywhere; }
.service-card h1 { font-size: clamp(1.6rem, 5vw, 2.75rem); }
.service-card h2 { font-size: 1.35rem; }
.service-card p { margin: 8px 0 0; }
.service-kicker { display: block; color: #146b60; font-weight: 700; margin-bottom: 8px; }
.service-card form, .service-fields { display: grid; gap: 10px; min-width: 0; }
.service-card label { min-width: 0; display: grid; gap: 3px; font-weight: 600; }
.service-card input, .service-card select, .service-card textarea, .service-card button {
    width: 100%; min-width: 0; min-height: 44px; font: inherit; border-radius: 10px;
}
.service-card input, .service-card select, .service-card textarea { border: 1px solid #a8c1be; background: #fbfdfd; padding: 8px 10px; color: inherit; }
.service-card textarea { resize: vertical; }
.service-card button { border: 0; padding: 9px 15px; background: #08675a; color: #fff; font-weight: 700; cursor: pointer; }
.service-card button:disabled { opacity: .65; cursor: wait; }
.service-card :focus-visible, .service-nav a:focus-visible { outline: 2px solid #08796a; outline-offset: 2px; }
#service-feedback[data-error] { color: #a62420; }
.service-media {
    display: grid; place-items: center; width: 100%; aspect-ratio: 16/9; margin-top: 12px;
    border-radius: 12px; background: #edf4f3; color: #476660; object-fit: contain; text-align: center;
}
.service-price { font-size: 1.8rem; font-weight: 750; color: #08675a; }
.service-steps { margin: 0; padding-left: 22px; }
.service-steps li + li { margin-top: 8px; }
@media (min-width: 600px) {
    .service-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-card button { width: fit-content; }
}
@media (max-width: 420px) {
    .service-nav nav { gap: 4px 10px; }
    .service-nav a { font-size: .8125rem; }
}
