/* Enriched service pages only. The home, Ajax, legal and account views keep their own styles. */
body.service-detail-page {
    --service-dark: #202422;
    --service-muted: #565e56;
    --service-line: #dedfd6;
    font-size: 17px;
}
.service-detail-page .inner-page {
    width: calc(100% - 112px);
    max-width: 1300px;
    padding-block: 26px 0;
}
.service-presentation { font-size: 17px; line-height: 1.8; }
.service-presentation :is(div, section, article, figure, nav, ul, li, a) { min-width: 0; }
.service-presentation :is(p, h1, h2, h3, li, a, summary) { overflow-wrap: anywhere; }
.service-presentation p { margin: 0 0 20px; }
.service-detail-page .service-presentation h2 {
    margin: 0 0 22px;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 600;
    line-height: 1.16;
    letter-spacing: -.045em;
}
.service-detail-page .service-presentation h3 {
    margin: 0 0 12px;
    font-size: 24px;
    line-height: 1.3;
    letter-spacing: -.035em;
    font-weight: 700;
}
.service-detail-page .service-presentation a { text-underline-offset: 5px; }
.service-detail-page .service-presentation .button {
    min-height: 60px;
    padding: 15px 20px;
    font-size: 16px;
    line-height: 1.4;
    gap: 16px;
    white-space: normal;
    text-decoration: none;
    border-radius: 8px;
}
.service-presentation .button-outline { border-color: #9da398; }
.service-presentation .service-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    color: var(--service-muted);
    font-size: 13px;
    line-height: 1.7;
    font-weight: 750;
    letter-spacing: .065em;
    text-transform: uppercase;
}
.service-presentation .service-kicker > span { width: 23px; height: 2px; flex: 0 0 23px; background: var(--red); }
.service-presentation .service-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: var(--service-muted);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 26px;
}
.service-presentation .service-breadcrumb > a { padding-block: 4px; }
.service-presentation .service-breadcrumb > span { padding-block: 4px; }
.service-presentation .service-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(30px, 4.5vw, 68px);
    padding-block: 16px 50px;
}
.service-detail-page .service-presentation h1 {
    margin: 0 0 26px;
    max-width: 17ch;
    font-size: clamp(43px, 4.5vw, 68px);
    font-weight: 600;
    line-height: 1.06;
    letter-spacing: -.055em;
    text-wrap: balance;
}
.service-presentation .service-title-dot { color: var(--red); }
.service-presentation .service-hero-lead {
    max-width: 53ch;
    margin: 0 0 28px;
    color: var(--service-muted);
    font-size: 17px;
    line-height: 1.8;
}
.service-presentation .service-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.service-presentation .service-hero-actions > .button { flex: 1 1 185px; }
.service-presentation .service-hero-actions .service-call { justify-content: space-between; text-align: left; }
.service-presentation .service-call > span { display: grid; gap: 3px; font-size: 14px; font-weight: 500; }
.service-presentation .service-call strong { font-size: 20px; font-weight: 750; letter-spacing: -.025em; }
.service-presentation .service-opening-hours { margin: 14px 0 0; font-size: 14px; line-height: 1.8; color: var(--service-muted); }
.service-presentation .service-hero-visual {
    display: grid;
    grid-template-rows: auto 1fr auto;
    margin: 0;
    padding: 30px 30px 24px;
    background: radial-gradient(ellipse at 50% 38%, #fff 0%, #eeeee7 75%);
    border: 1px solid #e5e5db;
    border-radius: 76px 18px 18px 18px;
}
.service-presentation .service-visual-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-left: 16px; font-size: 16px; line-height: 1.6; font-weight: 750; }
.service-presentation .service-visual-marker { display: block; width: 7px; height: 7px; background: var(--red); border-radius: 50%; flex: 0 0 7px; }
.service-presentation .service-hero-image { height: clamp(310px, 29vw, 420px); margin-block: 10px 16px; }
.service-presentation .service-hero-image img { width: 100%; height: 100%; object-fit: contain; }
.service-presentation .service-hero-visual--cover .service-hero-image { margin-top: 22px; border-radius: 12px; overflow: hidden; }
.service-presentation .service-hero-visual--cover .service-hero-image img { object-fit: cover; }
.service-presentation .service-hero-visual--right .service-hero-image img { object-position: right center; }
.service-presentation figcaption { color: var(--service-muted); font-size: 14px; line-height: 1.7; }
.service-presentation .service-hero-visual figcaption { padding-top: 16px; border-top: 1px solid #d3d6cb; }
.service-presentation .service-hero-visual--dark { background: #101311; color: var(--paper); border-color: #101311; }
.service-presentation .service-hero-visual--dark figcaption { color: #d9dfd3; border-color: #ffffff35; }
.service-presentation .service-brand-fallback { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 360px; padding-block: 25px; text-align: center; }
.service-presentation .service-brand-fallback > img { width: 152px; height: 120px; object-fit: contain; margin-bottom: 22px; }
.service-presentation .service-brand-fallback p { font-size: 27px; line-height: 1.3; font-weight: 650; letter-spacing: -.035em; margin-bottom: 12px; }
.service-presentation .service-brand-fallback > span { color: var(--service-muted); font-size: 16px; }
.service-presentation .service-assurances {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 25px 0;
    border-block: 1px solid var(--service-line);
    gap: 24px;
}
.service-detail-page .service-assurances li { display: flex; align-items: flex-start; gap: 16px; margin: 0; padding-left: 26px; border-left: 1px solid var(--service-line); }
.service-detail-page .service-assurances li:first-child { padding-left: 0; border-left: 0; }
.service-presentation .service-assurances li > span { font-size: 13px; color: var(--red); line-height: 2; }
.service-presentation .service-assurances strong { display: block; font-size: 16px; line-height: 1.6; font-weight: 750; margin-bottom: 3px; }
.service-presentation .service-assurances div > span { display: block; font-size: 14px; line-height: 1.7; color: var(--service-muted); }
.service-presentation .service-products { padding-block: 80px 58px; }
.service-presentation .service-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); align-items: end; gap: 60px; margin-bottom: 30px; }
.service-presentation .service-section-heading h2 { max-width: 21ch; }
.service-presentation .service-section-heading > p { color: var(--service-muted); margin-bottom: 22px; }
.service-presentation .service-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.service-presentation .service-product { border: 1px solid var(--service-line); background: #fff; border-radius: 18px; overflow: hidden; }
.service-presentation .service-product figure { margin: 0; background: #eeeee8; }
.service-presentation .service-product-image { height: 305px; padding: 22px 30px 12px; background: #fff; }
.service-presentation .service-product-image img { width: 100%; height: 100%; object-fit: contain; }
.service-presentation .service-product-image--cover { padding: 0; }
.service-presentation .service-product-image--cover img { object-fit: cover; }
.service-presentation .service-product-image--dark { padding: 0; background: #101311; }
.service-presentation .service-product figcaption { min-height: 48px; padding: 8px 26px 16px; }
.service-presentation .service-product-copy { padding: 26px 30px 30px; }
.service-presentation .service-product-copy > p:last-child { color: var(--service-muted); margin-bottom: 0; }
.service-presentation .service-product-brand { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; font-weight: 750; color: var(--red-dark); margin-bottom: 10px; }
.service-presentation .service-product-fallback { min-height: 353px; padding: 30px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px; text-align: center; background: radial-gradient(ellipse at center, #fff, #eeeee8); }
.service-presentation .service-product-fallback > span:first-child { color: var(--red); font-size: 15px; border: 1px solid #d4d7ca; border-radius: 50%; width: 48px; height: 48px; display: grid; place-items: center; }
.service-presentation .service-product-fallback strong { font-size: clamp(30px, 3vw, 44px); letter-spacing: -.05em; font-weight: 650; line-height: 1.3; }
.service-presentation .service-product-fallback > span:last-child { color: var(--service-muted); font-size: 15px; }
.service-presentation .service-outline { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); border-block: 1px solid var(--service-line); padding-block: 20px; gap: 24px; }
.service-detail-page .service-outline > a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: start; text-decoration: none; font-size: 15px; line-height: 1.6; padding: 8px 0; font-weight: 650; }
.service-presentation .service-outline > a > span:first-child { color: var(--red); font-weight: 500; }
.service-presentation .service-outline > a:hover > span:nth-child(2) { text-decoration: underline; text-underline-offset: 4px; }
.service-presentation .service-chapters { padding-block: 22px 54px; }
.service-presentation .service-chapter { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 70px; padding: 56px 38px; scroll-margin-top: 126px; }
.service-presentation .service-chapter + .service-chapter { margin-top: 10px; }
.service-presentation .service-chapter-number { display: inline-block; color: var(--red); font-size: 56px; font-weight: 500; letter-spacing: -.055em; line-height: 1; margin-bottom: 26px; }
.service-presentation .service-chapter-heading h2 { max-width: 20ch; }
.service-presentation .service-chapter-copy { padding-top: 4px; }
.service-presentation .service-chapter-copy > p { max-width: 62ch; color: var(--service-muted); }
.service-presentation .service-chapter-copy > p:last-child { margin-bottom: 0; }
.service-presentation .service-chapter--dark { border-radius: 18px; background: var(--service-dark); color: var(--paper); }
.service-presentation .service-chapter--dark .service-chapter-number { color: #f08e99; }
.service-presentation .service-chapter--dark .service-chapter-copy > p { color: #e0e3da; }
.service-presentation .service-points { list-style: none; padding: 0; margin: 24px 0 0; border-top: 1px solid #ffffff32; }
.service-detail-page .service-points > li { display: flex; align-items: baseline; gap: 14px; margin: 0; padding-block: 16px; border-bottom: 1px solid #ffffff32; }
.service-presentation .service-points > li > span { color: #f08e99; flex: 0 0 auto; }
.service-detail-page .service-inline-link { display: inline-flex; align-items: center; gap: 20px; min-height: 48px; padding-block: 6px; font-size: 16px; line-height: 1.6; font-weight: 750; color: var(--red-dark); }
.service-presentation .service-managed { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; padding: 38px; border: 1px solid var(--service-line); border-radius: 18px; background: #fff; }
.service-presentation .service-managed > div > p:not(.service-kicker) { color: var(--service-muted); }
.service-presentation .service-managed > div > p:last-child { margin-bottom: 0; }
.service-presentation .service-feature-list { list-style: none; padding: 0; margin: 0 0 22px; }
.service-detail-page .service-feature-list > li { position: relative; margin: 0; padding: 12px 0 12px 28px; border-bottom: 1px solid var(--service-line); line-height: 1.7; }
.service-presentation .service-feature-list > li::before { content: '✓'; position: absolute; left: 0; color: var(--red); }
.service-presentation .service-scope-note { font-size: 15px; line-height: 1.8; color: var(--service-muted); }
.service-presentation .service-questions { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 70px; padding-block: 90px; }
.service-presentation .service-questions > div:first-child h2 { max-width: 15ch; }
.service-presentation .service-question-list { border-top: 1px solid var(--service-line); }
.service-presentation .service-question-list details { border-bottom: 1px solid var(--service-line); }
.service-presentation .service-question-list summary { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; padding-block: 23px; list-style: none; cursor: pointer; font-size: 17px; line-height: 1.65; font-weight: 700; }
.service-presentation .service-question-list summary::-webkit-details-marker { display: none; }
.service-presentation .service-question-list summary::after { content: '+'; flex: 0 0 auto; color: var(--red); font-size: 24px; line-height: 1; font-weight: 500; }
.service-presentation .service-question-list details[open] summary::after { content: '−'; }
.service-presentation .service-question-list details > p { color: var(--service-muted); margin: 0; padding: 0 32px 24px 0; }
.service-presentation .service-contact { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: 55px; padding: 48px; background: var(--service-dark); color: var(--paper); border-radius: 20px; scroll-margin-top: 124px; }
.service-presentation .service-contact-copy { padding-block: 18px; }
.service-presentation .service-contact-copy .service-kicker { color: #edb4ba; }
.service-presentation .service-contact-copy h2 { max-width: 14ch; }
.service-presentation .service-contact-copy > p:not(.service-kicker) { color: #e0e3da; }
.service-detail-page .service-contact-phone { display: inline-block; margin-top: 14px; font-size: clamp(28px, 3.2vw, 43px); line-height: 1.4; font-weight: 650; letter-spacing: -.045em; text-decoration: none; }
.service-presentation .service-contact-copy .service-opening-hours { margin-top: 10px; }
.service-presentation .service-contact-email { display: inline-block; margin-top: 22px; font-size: 17px; }
.service-presentation .service-contact-location { margin-top: 28px; font-size: 15px; line-height: 1.8; }
.service-presentation .service-form-panel { padding: 28px; background: var(--paper); color: var(--ink); border-radius: 12px; }
.service-detail-page .service-form-panel > h3 { font-size: 24px; margin-bottom: 26px; }
.service-presentation .service-form-panel .need-fieldset { min-width: 0; margin: 0 0 22px; padding: 0; border: 0; }
.service-presentation .service-form-panel .need-fieldset legend { padding: 0; margin-bottom: 12px; font-size: 16px; line-height: 1.6; font-weight: 700; }
.service-presentation .service-form-panel .need-options { display: flex; flex-wrap: wrap; gap: 8px; }
.service-presentation .service-form-panel .need-options label { min-width: 0; max-width: 100%; }
.service-presentation .service-form-panel .need-options span { display: block; min-height: 48px; padding: 10px 12px; border-radius: 6px; font-size: 15px; line-height: 1.65; white-space: normal; }
.service-presentation .service-form-panel .need-options input:focus-visible + span { outline: 3px solid var(--red); outline-offset: 3px; }
.service-presentation .service-form-panel .form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.service-presentation .service-form-panel .field { min-width: 0; margin-bottom: 18px; }
.service-presentation .service-form-panel .field label { display: block; font-size: 15px; line-height: 1.6; margin-bottom: 7px; color: var(--ink); }
body.service-detail-page .service-presentation .service-form-panel .field :is(input, textarea) { width: 100%; max-width: 100%; min-width: 0; min-height: 50px; padding: 11px 12px; font-size: 17px; line-height: 1.6; background: #fff; border: 1px solid #939c8c; border-radius: 6px; color: var(--ink); }
.service-presentation .service-form-panel .field textarea { resize: vertical; min-height: 112px; }
.service-presentation .service-form-panel .demo-form-notice { margin: 0 0 20px; padding: 14px 0; background: transparent; }
.service-presentation .service-form-panel .demo-form-notice :is(p, a) { font-size: 14px; line-height: 1.75; margin: 0; color: var(--service-muted); }
.service-presentation .service-form-panel .submit-button { width: 100%; min-height: 56px; justify-content: space-between; font-size: 17px; }
.service-presentation .service-form-panel .form-reassurance { margin: 14px 0 0; font-size: 14px; line-height: 1.8; color: var(--service-muted); }
.service-presentation .service-form-panel .isecurit-antispam { max-width: 100%; }
.service-presentation .service-form-panel .form-success { padding: 15px 0; }
.service-presentation .service-form-panel .form-success p { font-size: 17px; }
.service-detail-page .service-presentation .service-directory { border: 0; margin: 0; padding-block: 64px 70px; }
.service-detail-page .service-presentation .service-directory > p { margin: 0 0 22px; font-size: 23px; font-weight: 600; letter-spacing: -.03em; }
.service-detail-page .service-presentation .service-directory ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.service-detail-page .service-presentation .service-directory a { display: flex; align-items: center; justify-content: space-between; min-height: 64px; height: 100%; gap: 12px; padding: 15px 18px; background: #eeeee7; border: 1px solid var(--service-line); border-radius: 8px; font-size: 15px; line-height: 1.5; text-decoration: none; }
.service-presentation .service-directory a::after { content: '↗'; flex: 0 0 auto; color: var(--red); }
.service-detail-page .service-presentation .service-directory a:hover { border-color: var(--red); }
.service-detail-page .service-presentation .service-directory [aria-current="page"] { background: #fff; border-color: var(--red); }

@media (max-width: 1150px) {
    .service-detail-page .inner-page { width: calc(100% - 72px); }
    .service-presentation .service-hero { gap: 30px; }
    .service-presentation .service-hero-visual { padding: 25px 22px 20px; border-top-left-radius: 60px; }
    .service-presentation .service-hero-image { height: 330px; }
    .service-presentation .service-section-heading { gap: 38px; }
    .service-presentation .service-chapter { gap: 40px; padding-inline: 28px; }
    .service-presentation .service-contact { padding: 32px; gap: 30px; }
    .service-presentation .service-form-panel { padding: 24px; }
}
@media (max-width: 950px) {
    .service-presentation .service-hero { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-bottom: 35px; }
    .service-presentation .service-hero-copy { max-width: 680px; }
    .service-detail-page .service-presentation h1 { max-width: 19ch; font-size: 58px; }
    .service-presentation .service-hero-actions { max-width: 520px; }
    .service-presentation .service-hero-visual { max-width: 100%; }
    .service-presentation .service-hero-image { height: 360px; }
    .service-presentation .service-assurances { gap: 18px; }
    .service-detail-page .service-assurances li { gap: 12px; padding-left: 18px; }
    .service-presentation .service-section-heading { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .service-presentation .service-section-heading h2 { max-width: 24ch; }
    .service-presentation .service-section-heading > p { max-width: 65ch; }
    .service-presentation .service-product-image { height: 260px; padding: 20px 18px 12px; }
    .service-presentation .service-product-copy { padding: 24px; }
    .service-presentation .service-product figcaption { padding-inline: 20px; }
    .service-presentation .service-product-fallback { min-height: 308px; }
    .service-presentation .service-outline { gap: 20px; }
    .service-presentation .service-chapter { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 28px; padding: 38px 24px; }
    .service-presentation .service-chapter-number { font-size: 46px; }
    .service-presentation .service-managed { gap: 30px; padding: 30px; }
    .service-presentation .service-questions { grid-template-columns: minmax(0, 1fr); gap: 25px; padding-block: 64px; }
    .service-presentation .service-questions > div:first-child h2 { max-width: 24ch; }
    .service-presentation .service-contact { grid-template-columns: minmax(0, 1fr); gap: 25px; }
    .service-presentation .service-contact-copy { padding-block: 0; }
    .service-presentation .service-contact-copy > p { max-width: 55ch; }
    .service-presentation .service-contact-copy h2 { max-width: 20ch; }
    .service-presentation .service-contact-phone { font-size: 38px; }
    .service-detail-page .service-presentation .service-directory ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .service-detail-page .inner-page { width: calc(100% - 36px); padding-top: 18px; }
    .service-presentation .service-breadcrumb { gap: 6px 10px; font-size: 13px; margin-bottom: 20px; }
    .service-presentation .service-hero { padding-top: 4px; gap: 25px; }
    .service-presentation .service-kicker { font-size: 12px; gap: 8px; letter-spacing: .035em; margin-bottom: 16px; }
    .service-presentation .service-kicker > span { width: 16px; flex-basis: 16px; }
    .service-detail-page .service-presentation h1 { font-size: clamp(39px, 11.5vw, 50px); margin-bottom: 22px; line-height: 1.08; }
    .service-presentation .service-hero-lead { font-size: 17px; line-height: 1.75; margin-bottom: 24px; }
    .service-presentation .service-hero-actions { flex-direction: column; gap: 10px; }
    .service-presentation .service-hero-actions > .button { flex: 0 1 auto; width: 100%; min-height: 56px; }
    .service-presentation .service-hero-actions .service-call { justify-content: center; gap: 25px; }
    .service-presentation .service-hero-actions .service-call > span { font-size: 14px; }
    .service-presentation .service-hero-actions .service-call strong { font-size: 20px; }
    .service-presentation .service-opening-hours { font-size: 14px; }
    .service-presentation .service-hero-visual { padding: 24px 18px 18px; border-radius: 50px 14px 14px 14px; }
    .service-presentation .service-visual-heading { padding-left: 10px; font-size: 15px; }
    .service-presentation .service-hero-image { height: 265px; margin-block: 12px; }
    .service-presentation figcaption { font-size: 14px; }
    .service-presentation .service-brand-fallback { min-height: 275px; padding-block: 22px; }
    .service-presentation .service-brand-fallback > img { width: 122px; height: 96px; }
    .service-presentation .service-brand-fallback p { font-size: 24px; }
    .service-presentation .service-assurances { grid-template-columns: minmax(0, 1fr); padding-block: 22px; gap: 18px; }
    .service-detail-page .service-assurances li { border: 0; padding: 0; gap: 14px; }
    .service-presentation .service-assurances li > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
    .service-presentation .service-assurances strong { margin: 0; font-size: 15px; }
    .service-presentation .service-assurances div > span { font-size: 14px; }
    .service-presentation .service-products { padding-block: 50px 35px; }
    .service-presentation .service-section-heading { margin-bottom: 24px; }
    .service-detail-page .service-presentation h2 { font-size: 32px; margin-bottom: 20px; }
    .service-presentation .service-section-heading > p { margin-bottom: 0; }
    .service-presentation .service-product-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .service-presentation .service-product-image { height: 270px; padding: 18px 20px 10px; }
    .service-presentation .service-product-image--cover { padding: 0; }
    .service-presentation .service-product-copy { padding: 23px 22px 26px; }
    .service-detail-page .service-presentation h3 { font-size: 23px; }
    .service-presentation .service-product-fallback { min-height: 270px; }
    .service-presentation .service-outline { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-block: 16px; }
    .service-detail-page .service-outline > a { font-size: 15px; gap: 14px; min-height: 48px; align-items: center; }
    .service-presentation .service-chapters { padding-block: 12px 30px; }
    .service-presentation .service-chapter { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 34px 8px; scroll-margin-top: 116px; }
    .service-presentation .service-chapter--dark { padding: 30px 22px; }
    .service-presentation .service-chapter-number { font-size: 42px; margin-bottom: 20px; }
    .service-presentation .service-chapter-heading h2 { max-width: 22ch; }
    .service-presentation .service-chapter-copy { padding-top: 0; }
    .service-presentation .service-managed { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 25px 22px; }
    .service-presentation .service-feature-list { margin-bottom: 20px; }
    .service-presentation .service-questions { gap: 22px; padding-block: 50px; }
    .service-presentation .service-question-list summary { padding-block: 20px; gap: 18px; font-size: 17px; }
    .service-presentation .service-question-list details > p { padding-right: 0; }
    .service-presentation .service-contact { padding: 28px 16px 16px; gap: 27px; border-radius: 16px; scroll-margin-top: 110px; }
    .service-presentation .service-contact-copy { padding-inline: 6px; }
    .service-detail-page .service-contact-phone { font-size: 35px; margin-top: 6px; }
    .service-presentation .service-contact-location { margin-top: 22px; margin-bottom: 0; }
    .service-presentation .service-form-panel { padding: 22px 16px; }
    .service-detail-page .service-form-panel > h3 { font-size: 23px; }
    .service-presentation .service-form-panel .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .service-presentation .service-form-panel .need-options { gap: 8px; }
    .service-presentation .service-form-panel .need-options span { font-size: 14px; padding-inline: 10px; }
    .service-presentation .service-form-panel .demo-form-notice { display: block; }
    .service-presentation .service-form-panel .demo-form-notice > .icon { display: none; }
    .service-presentation .service-form-panel .demo-form-notice a { display: inline-block; margin-top: 6px; }
    .service-detail-page .service-presentation .service-directory { padding-block: 42px 50px; }
    .service-detail-page .service-presentation .service-directory ul { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .service-detail-page .service-presentation .service-directory a { font-size: 16px; min-height: 56px; }
    .service-detail-page .service-contact-bar a { font-size: 15px; }
}
