/* =========================================================
   명륜클린 - 서비스 상세페이지 공통 스타일 (services/*.html)
   ---------------------------------------------------------
   - 메인 style/style.css 의 색상 · 글꼴 · 버튼 · 헤더 · 푸터를 그대로 사용
   - 이 파일은 상세페이지 전용 레이아웃만 담당 (클래스 접두어 sd-)
   - 사진 placeholder: .sd-photo[data-photo] 안에 <img>를 넣으면 안내 문구는 자동으로 숨겨짐

   흐름: HERO(white) → WHY(mist) → SCOPE(white) → PROCESS(dark)
        → WORKS(white) → CYCLE(mist) → MID CTA → FAQ(white) → FINAL CTA(navy)
   ========================================================= */


/* 공통 ==================================================== */
.sd-page section[id] { scroll-margin-top: calc(var(--header-height) + 16px); }

.sd-section { position: relative; padding: 128px 0; }
.sd-white   { background: #fff; }
.sd-paper   { background: var(--color-bg-mist); }
.sd-dark    { background: var(--grad-night); color: var(--color-night-text); }

/* 섹션 라벨: 번호 + 선 + 이름 */
.sd-label,
.sd-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--color-primary);
}

.sd-label span {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 0.04em;
    color: var(--color-navy);
}

.sd-label span::after {
    content: "";
    width: 28px;
    height: 1px;
    background: currentColor;
    opacity: 0.35;
}

.sd-label-light { color: var(--color-accent-light); }
.sd-label-light span { color: #fff; }

.sd-title {
    font-size: 44px;
    font-weight: 800;
    line-height: 1.24;
    letter-spacing: -0.035em;
    color: var(--color-navy);
}

.sd-dark .sd-title { color: #fff; }

/* 섹션 머리말: 제목(왼쪽) + 설명(오른쪽) */
.sd-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px 64px;
    margin-bottom: 64px;
}

.sd-head-desc {
    max-width: 380px;
    padding-bottom: 6px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--color-text-sub);
}

.sd-note {
    margin-top: 32px;
    font-size: 14px;
    color: var(--color-text-muted);
}

.sd-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 3px;
    border-bottom: 1.5px solid currentColor;
    font-size: 15px;
    font-weight: 700;
    color: var(--color-navy);
    transition: color var(--transition), gap var(--transition);
}

.sd-text-link::after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
}

.sd-text-link:hover { color: var(--color-primary); gap: 11px; }

/* 사진 placeholder ======================================== */
/* <img>를 넣으면 비율 그대로 꽉 채워지고, 안내 문구는 :has() 로 숨겨짐 */
.sd-photo {
    position: relative;
    aspect-ratio: var(--ratio, 4 / 3);
    overflow: hidden;
    border-radius: var(--radius-lg);
    background:
        repeating-linear-gradient(135deg, rgba(15, 42, 74, 0.035) 0 12px, transparent 12px 24px),
        #e6ebf2;
}

.sd-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sd-photo-label {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 16px;
    font-size: 14px;
    font-weight: 700;
    color: #6b7a8f;
    text-align: center;
}

.sd-photo-label small {
    font-size: 12px;
    font-weight: 500;
    color: #8a97a8;
}

.sd-photo:has(img) .sd-photo-label { display: none; }
.sd-photo:has(img) { background: var(--color-placeholder); }

/* 병원 사진 크롭 위치 (화면별 비율이 달라 PC/모바일 각각 지정) */
[data-photo="hospital-hero"] img     { object-position: 50% 50%; }
[data-photo="hospital-interior"] img { object-position: 50% 50%; }
[data-photo="hospital-floor"] img    { object-position: 50% 70%; }
[data-photo="hospital-waiting"] img  { object-position: 50% 45%; }
[data-photo="hospital-common"] img   { object-position: 50% 60%; }

@media (max-width: 900px) {
    /* 메인 사진이 4:3으로 바뀌면 바닥과 청소 도구가 보이도록 아래쪽 기준 */
    [data-photo="hospital-floor"] img { object-position: 50% 82%; }
}

/* 상가 사진 크롭 위치 */
[data-photo="store-hero"] img       { object-position: 50% 45%; }
[data-photo="store-interior"] img   { object-position: 50% 60%; }
[data-photo="store-floor"] img      { object-position: 50% 60%; }
[data-photo="store-space"] img      { object-position: 50% 60%; }
[data-photo="store-commercial"] img { object-position: 50% 55%; }

/* 학원 사진 크롭 위치 (세로 원본 → 좌석·통로·바닥이 보이도록 아래쪽 기준) */
[data-photo="academy-hero"] img      { object-position: 50% 45%; }
[data-photo="academy-interior"] img  { object-position: 50% 50%; }
[data-photo="academy-floor"] img     { object-position: 50% 80%; }
[data-photo="academy-classroom"] img { object-position: 50% 60%; }
[data-photo="academy-common"] img    { object-position: 50% 55%; }

@media (max-width: 900px) {
    /* 가로로 납작해지는 칸: 좌석 줄과 밀대가 남도록 더 아래쪽 기준 */
    [data-photo="academy-interior"] img { object-position: 50% 78%; }
    [data-photo="academy-floor"] img    { object-position: 50% 92%; }
}


/* HERO ==================================================== */
/* 경로 → 큰 제목 / 설명·CTA 2단 → 넓은 대표사진 → 핵심 정보 띠 */
.sd-hero {
    padding: 40px 0 0;
    background: #fff;
}

.sd-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 13px;
    color: var(--color-text-muted);
}

.sd-breadcrumb li + li::before {
    content: "/";
    margin-right: 6px;
    color: var(--color-border-strong);
}

.sd-breadcrumb a { transition: color var(--transition); }
.sd-breadcrumb a:hover { color: var(--color-primary); }
.sd-breadcrumb [aria-current="page"] { font-weight: 600; color: var(--color-navy); }

.sd-hero-head {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 48px 80px;
    align-items: end;
    padding: 72px 0 56px;
}

/* 서비스 지역 표시 (Hero 제목 위) */
.sd-hero-area {
    margin: -6px 0 14px;
    font-size: 15px;
    font-weight: 700;
    color: var(--color-navy);
}

.sd-hero-title {
    font-size: 64px;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.045em;
    color: var(--color-navy);
}

.sd-hero-side { padding-bottom: 10px; }

.sd-hero-lead {
    font-size: 17px;
    line-height: 1.8;
    color: var(--color-text-sub);
}

.sd-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 28px;
    margin-top: 32px;
}

.sd-hero-photo { border-radius: var(--radius-xl); }

/* 대표사진 아래 정보 띠: 카드 대신 선과 글자 */
.sd-hero-facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: 1px solid var(--color-border);
}

.sd-hero-facts > div {
    padding: 26px 24px 28px 0;
}

.sd-hero-facts > div + div {
    padding-left: 24px;
    border-left: 1px solid var(--color-border);
}

.sd-hero-facts dt {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--color-primary);
}

.sd-hero-facts dd {
    margin-top: 4px;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-navy);
}


/* WHY ===================================================== */
/* 왼쪽: 제목 + 세로 사진 (sticky) / 오른쪽: A~D 항목 */
.sd-why {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 96px;
    align-items: start;
}

.sd-why-aside {
    position: sticky;
    top: calc(var(--header-height) + 40px);
}

.sd-why-photo {
    max-width: 380px;
    margin-top: 48px;
}

.sd-why-list {
    border-top: 1px solid var(--color-navy);
}

.sd-why-list li {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 16px;
    padding: 40px 0 42px;
    border-bottom: 1px solid var(--color-border-strong);
}

.sd-why-no {
    font-size: 40px;
    font-weight: 300;
    line-height: 1;
    color: var(--color-primary);
}

.sd-why-list h3 {
    font-size: 26px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.03em;
    color: var(--color-navy);
}

.sd-why-list p {
    max-width: 480px;
    margin-top: 12px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--color-text-sub);
}


/* SCOPE =================================================== */
/* 4 × 2 editorial grid: 상자 없이 위쪽 선 + 번호 + 큰 공간명 */
.sd-scope {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 32px;
}

.sd-scope li {
    position: relative;
    padding: 28px 0 44px;
    border-top: 1px solid var(--color-border-strong);
}

.sd-scope li::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--color-primary);
    transition: width 0.45s var(--ease);
}

.sd-scope li:hover::before { width: 100%; }

.sd-scope-no {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--color-primary);
}

.sd-scope h3 {
    margin-top: 14px;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.035em;
    color: var(--color-navy);
}

.sd-scope p {
    margin-top: 8px;
    font-size: 14.5px;
    color: var(--color-text-sub);
}


/* PROCESS (dark) ========================================== */
/* 왼쪽 제목(sticky) + 오른쪽 큰 번호와 선으로 이어지는 단계 */
.sd-dark::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(148, 163, 184, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, 0.035) 1px, transparent 1px);
    background-size: 64px 64px;
    pointer-events: none;
}

.sd-process-wrap {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 96px;
    align-items: start;
}

.sd-process-head {
    position: sticky;
    top: calc(var(--header-height) + 40px);
}

.sd-process-desc {
    max-width: 360px;
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--color-night-sub);
}

.sd-process {
    border-top: 1px solid var(--color-night-line);
}

.sd-process li {
    display: grid;
    grid-template-columns: 128px 1fr;
    gap: 24px;
    align-items: baseline;
    padding: 36px 0;
    border-bottom: 1px solid var(--color-night-line);
}

.sd-process-no {
    font-size: 72px;
    font-weight: 200;
    line-height: 0.9;
    letter-spacing: -0.05em;
    color: rgba(156, 192, 245, 0.45);
    transition: color 0.35s var(--ease);
}

.sd-process li:hover .sd-process-no,
.sd-process li:last-child .sd-process-no {
    color: var(--color-accent-light);
}

.sd-process h3 {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.025em;
    color: #fff;
}

.sd-process p {
    margin-top: 8px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--color-night-sub);
}


/* WORKS =================================================== */
/* 큰 사진 1(왼쪽 2행) + 보조 사진 2(오른쪽 위아래) */
.sd-works {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    grid-template-rows: auto auto;
    gap: 40px 32px;
}

.sd-work-main { grid-row: span 2; }

.sd-work figcaption {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-top: 16px;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-navy);
}

.sd-work figcaption span {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--color-primary);
}

/* 큰 사진은 세로로 2행을 채우도록 */
.sd-work-main .sd-photo { height: calc(100% - 42px); aspect-ratio: auto; min-height: 420px; }

.sd-work .sd-photo img { transition: transform 0.8s var(--ease-out); }
.sd-work:hover .sd-photo img { transform: scale(1.03); }


/* CYCLE =================================================== */
.sd-cycle {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 96px;
    align-items: center;
}

.sd-cycle-desc {
    max-width: 460px;
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.8;
    color: var(--color-text-sub);
}

.sd-cycle-caption {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-navy);
}

/* 주 1회 ~ 매일: 선 위의 눈금 */
.sd-scale {
    position: relative;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-top: 28px;
    padding-top: 22px;
}

.sd-scale::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-navy));
}

.sd-scale li {
    position: relative;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-sub);
}

.sd-scale li::before {
    content: "";
    position: absolute;
    top: -22px;
    left: 0;
    width: 12px;
    height: 12px;
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    background: #fff;
}

.sd-scale li:first-child,
.sd-scale li:last-child { font-weight: 800; color: var(--color-navy); }

.sd-scale li:last-child { text-align: right; }
.sd-scale li:last-child::before { left: auto; right: 0; background: var(--color-navy); border-color: var(--color-navy); }

.sd-cycle-points {
    margin-top: 40px;
    border-top: 1px solid var(--color-border-strong);
}

.sd-cycle-points li {
    position: relative;
    padding: 14px 0 14px 26px;
    border-bottom: 1px solid var(--color-border-strong);
    font-size: 15px;
    color: var(--color-text);
}

.sd-cycle-points li::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 50%;
    width: 11px;
    height: 6px;
    margin-top: -5px;
    border-left: 2px solid var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
    transform: rotate(-45deg);
}


/* MID CTA ================================================= */
/* 광고 배너 대신, 섹션 사이의 선으로 구분된 한 줄 */
.sd-mid-cta {
    background: var(--color-bg-mist);
}

.sd-mid-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px 40px;
    padding-bottom: 96px;
}

/* 위쪽 구분선은 컨테이너 안쪽 폭 전체 */
.sd-mid-cta-inner::before {
    content: "";
    position: absolute;
    left: var(--gutter);
    right: var(--gutter);
    top: 0;
    height: 1px;
    background: var(--color-border-strong);
}

.sd-mid-cta-inner { position: relative; padding-top: 44px; }

.sd-mid-cta-text {
    flex: 1;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--color-navy);
}

.sd-mid-cta .btn { flex-shrink: 0; }


/* FAQ ===================================================== */
.sd-faq-wrap {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    gap: 96px;
    align-items: start;
}

.sd-faq {
    border-top: 1px solid var(--color-navy);
}

.sd-faq-item {
    border-bottom: 1px solid var(--color-border-strong);
}

.sd-faq-item summary {
    position: relative;
    display: block;
    padding: 28px 56px 28px 0;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--color-navy);
    cursor: pointer;
    list-style: none;
    transition: color var(--transition);
}

.sd-faq-item summary::-webkit-details-marker { display: none; }

.sd-faq-item summary:hover { color: var(--color-primary); }

/* + / − 표시 */
.sd-faq-item summary::before,
.sd-faq-item summary::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    width: 16px;
    height: 2px;
    background: currentColor;
    transition: transform 0.3s var(--ease);
}

.sd-faq-item summary::after { transform: rotate(90deg); }
.sd-faq-item[open] summary::after { transform: rotate(0deg); }

.sd-faq-item p {
    max-width: 640px;
    padding: 0 56px 30px 0;
    font-size: 16px;
    line-height: 1.8;
    color: var(--color-text-sub);
}


/* FINAL CTA =============================================== */
.sd-final {
    position: relative;
    padding: 136px 0 144px;
    overflow: hidden;
    background: linear-gradient(135deg, #061a33 0%, #0f2a4a 45%, #1a56b8 100%);
    color: #fff;
}

.sd-final-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px 80px;
    align-items: end;
}

.sd-final-title {
    font-size: 60px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.045em;
}

.sd-final-desc {
    max-width: 460px;
    font-size: 17px;
    line-height: 1.8;
    color: rgba(226, 236, 250, 0.82);
}

.sd-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.sd-final .btn:focus-visible { outline-color: #fff; }


/* 반응형 ================================================== */
@media (max-width: 1100px) {
    .sd-section { padding: 112px 0; }
    .sd-hero-title { font-size: 54px; }
    .sd-title { font-size: 38px; }
    .sd-why, .sd-process-wrap, .sd-cycle, .sd-faq-wrap { gap: 64px; }
    .sd-scope h3 { font-size: 26px; }
    .sd-process li { grid-template-columns: 104px 1fr; }
    .sd-process-no { font-size: 60px; }
    .sd-final-title { font-size: 50px; }
}

@media (max-width: 900px) {
    .sd-section { padding: 96px 0; }

    .sd-hero-head { grid-template-columns: 1fr; gap: 28px; padding: 48px 0 40px; }
    .sd-hero-title { font-size: 46px; }
    .sd-hero-side { padding-bottom: 0; }
    .sd-hero-facts { grid-template-columns: 1fr 1fr; }
    .sd-hero-facts > div:nth-child(3) { padding-left: 0; border-left: 0; }
    .sd-hero-facts > div:nth-child(n + 3) { border-top: 1px solid var(--color-border); }

    .sd-head { flex-direction: column; align-items: flex-start; margin-bottom: 48px; }
    .sd-head-desc { max-width: none; padding-bottom: 0; }

    .sd-why, .sd-process-wrap, .sd-cycle, .sd-faq-wrap { grid-template-columns: 1fr; gap: 48px; }
    .sd-why-aside, .sd-process-head { position: static; }
    .sd-why-photo { max-width: none; margin-top: 36px; --ratio: 16 / 10 !important; aspect-ratio: 16 / 10; }

    .sd-scope { grid-template-columns: repeat(2, 1fr); }

    .sd-works { grid-template-columns: 1fr 1fr; }
    .sd-work-main { grid-column: 1 / -1; grid-row: auto; }
    .sd-work-main .sd-photo { height: auto; min-height: 0; aspect-ratio: 4 / 3; }

    .sd-mid-cta-inner { flex-direction: column; align-items: flex-start; }

    .sd-final { padding: 104px 0 112px; }
    .sd-final-inner { grid-template-columns: 1fr; }
    .sd-final-title { font-size: 44px; }
}

@media (max-width: 640px) {
    .sd-section { padding: 72px 0; }

    .sd-label, .sd-kicker { margin-bottom: 16px; font-size: 11px; letter-spacing: 0.18em; }
    .sd-label span::after { width: 20px; }
    .sd-title { font-size: 28px; line-height: 1.3; }
    .sd-head { margin-bottom: 32px; gap: 14px; }
    .sd-head-desc { font-size: 15px; }

    /* Hero */
    .sd-hero { padding-top: 24px; }
    .sd-hero-head { gap: 20px; padding: 32px 0 28px; }
    .sd-hero-title { font-size: 34px; line-height: 1.2; }
    .sd-hero-area { margin: -4px 0 10px; font-size: 14px; }
    .sd-hero-lead { font-size: 15px; line-height: 1.75; }
    .sd-hero-actions { margin-top: 24px; gap: 16px 22px; }
    .sd-hero-actions .btn { width: 100%; }
    .sd-hero-photo { margin: 0 calc(var(--gutter) * -1); border-radius: 0; --ratio: 4 / 3 !important; aspect-ratio: 4 / 3; }
    .sd-hero-facts > div,
    .sd-hero-facts > div + div { padding: 18px 12px 20px 0; }
    .sd-hero-facts > div:nth-child(even) { padding-left: 14px; }
    .sd-hero-facts dt { font-size: 11px; }
    .sd-hero-facts dd { font-size: 14px; line-height: 1.4; }

    /* Why */
    .sd-why { gap: 36px; }
    .sd-why-list li { grid-template-columns: 40px 1fr; gap: 8px; padding: 26px 0 28px; }
    .sd-why-no { font-size: 26px; }
    .sd-why-list h3 { font-size: 19px; }
    .sd-why-list p { margin-top: 8px; font-size: 14.5px; }
    .sd-why-photo { margin-top: 28px; border-radius: 18px; }

    /* Scope: 2열 유지, 글자만 축소 */
    .sd-scope { gap: 0 20px; }
    .sd-scope li { padding: 20px 0 26px; }
    .sd-scope-no { font-size: 11px; }
    .sd-scope h3 { margin-top: 8px; font-size: 21px; }
    .sd-scope p { margin-top: 4px; font-size: 13px; line-height: 1.5; }
    .sd-note { margin-top: 20px; font-size: 13px; }

    /* Process */
    .sd-process-desc { margin-top: 14px; font-size: 15px; }
    .sd-process li { grid-template-columns: 64px 1fr; gap: 12px; padding: 24px 0; }
    .sd-process-no { font-size: 44px; font-weight: 300; }
    .sd-process h3 { font-size: 18px; }
    .sd-process p { margin-top: 6px; font-size: 14px; }

    /* Works: 큰 사진 전체 폭, 보조 사진 2열 */
    .sd-works { gap: 28px 12px; }
    .sd-work .sd-photo { border-radius: 16px; }
    .sd-work-sub .sd-photo { --ratio: 1 / 1 !important; aspect-ratio: 1 / 1; }
    .sd-work figcaption { margin-top: 10px; gap: 8px; font-size: 13.5px; }
    .sd-work figcaption span { font-size: 11px; }
    .sd-work-sub .sd-photo-label { font-size: 12px; }

    /* Cycle */
    .sd-cycle { gap: 40px; }
    .sd-cycle-desc { margin-top: 16px; font-size: 15px; }
    .sd-scale li { font-size: 11px; }
    .sd-scale li:not(:first-child):not(:last-child) span { display: none; }
    .sd-cycle-points { margin-top: 28px; }
    .sd-cycle-points li { font-size: 14px; }

    /* Mid CTA */
    .sd-mid-cta-inner { padding-top: 28px; padding-bottom: 72px; gap: 20px; }
    .sd-mid-cta-text { font-size: 20px; line-height: 1.45; }
    .sd-mid-cta .btn { width: 100%; }

    /* FAQ */
    .sd-faq-wrap { gap: 28px; }
    .sd-faq-item summary { padding: 22px 40px 22px 0; font-size: 16px; line-height: 1.45; }
    .sd-faq-item summary::before,
    .sd-faq-item summary::after { right: 4px; width: 14px; }
    .sd-faq-item p { padding: 0 0 22px; font-size: 14.5px; }

    /* Final */
    .sd-final { padding: 80px 0 88px; }
    .sd-final-inner { gap: 28px; }
    .sd-final-title { font-size: 34px; line-height: 1.22; }
    .sd-final-desc { font-size: 15px; }
    .sd-final-actions { margin-top: 26px; gap: 10px; }
    .sd-final-actions .btn { width: 100%; }
}
