/* Five service detail pages share a single responsive component system. */
.service-detail { --sd-accent:var(--rose-600); --sd-soft:#f8eeee; }
.service-detail--blue { --sd-accent:#47677e; --sd-soft:#eef3f5; }
.service-detail h3 { text-wrap:balance; }
.service-detail :where(p,li,small) { overflow-wrap:anywhere; }

.sd-hero__copy h1 .text-accent { color:var(--sd-accent); }

.sd-hero__note { max-width:46em; margin:20px 0 0; padding:18px 20px; border-left:3px solid var(--sd-accent); background:#fff; color:var(--muted,#586975); font-size:14px; line-height:1.85; }

.sd-hero__trust { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:24px; color:var(--navy-700); font-size:13px; line-height:1.7; }
.sd-hero__trust span { display:flex; align-items:center; gap:8px; }
.sd-hero__trust .icon { flex-shrink:0; color:var(--sd-accent); }

/* Existing illustration simplified, with no floating text or fixed-height clipping. */
.sd-hero__visual { min-width:0; text-align:center; }
.sd-visual-card { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; max-width:440px; margin-inline:auto; padding:40px 24px; border:1px solid var(--line); border-radius:24px; background:var(--sd-soft); overflow:hidden; }
.sd-visual-card__halo { position:absolute; z-index:-1; width:330px; height:330px; max-width:90%; aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%); border:1px solid rgba(95,122,145,.13); border-radius:50%; }
.sd-visual-card__halo::before { content:""; position:absolute; inset:32px; border:1px solid rgba(95,122,145,.09); border-radius:50%; }
.sd-visual-card__icon { display:grid; place-items:center; width:88px; height:88px; border-radius:24px; background:#fff; color:var(--sd-accent); }
.sd-visual-card__icon .icon { width:44px; height:44px; }
.sd-visual-card>span { margin-top:28px; font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--navy-700); }
.sd-visual-card>strong { margin-top:12px; font-family:var(--serif); font-size:clamp(24px,2.3vw,30px); line-height:1.6; color:var(--navy-900); text-wrap:balance; }
.sd-visual-card>small { margin-top:8px; font-family:var(--serif); font-style:italic; font-size:15px; color:var(--muted,#586975); }
.sd-visual-card__graph { display:flex; align-items:flex-end; gap:12px; width:220px; max-width:100%; height:66px; margin-top:28px; border-bottom:1px solid rgba(40,59,77,.16); }
.sd-visual-card__graph i { flex:1; border-radius:4px 4px 0 0; background:var(--sd-accent); opacity:.45; }
.sd-visual-card__graph i:nth-child(1) { height:20%; }
.sd-visual-card__graph i:nth-child(2) { height:36%; }
.sd-visual-card__graph i:nth-child(3) { height:50%; }
.sd-visual-card__graph i:nth-child(4) { height:70%; }
.sd-visual-card__graph i:nth-child(5) { height:94%; }
.sd-visual-card__graph b { display:none; }
.sd-visual-card__chips { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:24px; }
.sd-visual-card__chips em { font-style:normal; padding:6px 8px; border-radius:6px; background:#fff; color:var(--navy-700); font-size:12px; font-weight:600; }
.sd-hero__script { margin:20px 0 0; font-family:var(--serif); font-size:16px; font-style:italic; line-height:1.6; color:var(--muted,#586975); }
.sd-hero__script br { display:none; }
.sd-hero__script br::after { content:" "; }

/* Navigation remains completely visible and tap-friendly at every width. */
.sd-local-nav { background:#fff; border-block:1px solid var(--line); }
.sd-local-nav__inner { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.sd-local-nav a { display:flex; align-items:center; justify-content:center; gap:10px; min-height:72px; min-width:0; padding:16px 12px; color:var(--navy-700); font-size:14px; font-weight:700; line-height:1.65; text-align:center; border-right:1px solid var(--line); }
.sd-local-nav a:last-child { border-right:0; }
.sd-local-nav a>span { display:flex; flex-shrink:0; }
.sd-local-nav a:hover,.sd-local-nav a.is-current { background:var(--sd-soft); color:var(--navy-900); }
.sd-local-nav a.is-current { box-shadow:inset 0 -3px var(--sd-accent); }
.sd-local-nav .icon { width:20px; height:20px; color:var(--sd-accent); }

/* Issues and the path to an appointment. */
.sd-issue-grid,.sd-trust-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.sd-issue-card { padding:26px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.sd-issue-card>span { display:block; font-family:var(--serif); font-size:16px; color:var(--sd-accent); }
.sd-issue-card h3 { margin:20px 0 12px; font-family:var(--serif); font-size:20px; line-height:1.65; color:var(--navy-900); }
.sd-issue-card p { margin:0; color:var(--muted,#586975); font-size:15px; line-height:1.9; }
.sd-principle__grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(28px,4vw,60px); align-items:center; }
.sd-principle__visual { padding:24px; border:1px solid var(--line); border-radius:24px; background:#f5f8f9; }
.sd-path { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.sd-path>div { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:24px 20px; border-radius:16px; background:#fff; }
.sd-path>i { display:none; }
.sd-path span { font-family:var(--serif); font-size:16px; color:var(--sd-accent); }
.sd-path strong { margin-top:12px; font-family:var(--serif); font-size:22px; color:var(--navy-900); }
.sd-path small { margin-top:8px; color:var(--muted,#586975); font-size:12px; line-height:1.7; }
.sd-principle__copy h2,.sd-asset h2,.sd-price h2 { margin:0 0 24px; font-family:var(--serif); font-size:clamp(26px,2.8vw,40px); line-height:1.55; color:var(--navy-900); text-wrap:balance; }
.sd-principle__copy h2 span,.sd-asset h2 span,.sd-price h2 span { color:var(--sd-accent); }
.sd-principle__copy>p { margin:0; color:var(--muted,#586975); line-height:1.95; }
.sd-principle__promise { margin-top:24px; padding:22px 24px; border-left:3px solid var(--sd-accent); background:#f8f6f3; }
.sd-principle__promise strong { font-family:var(--serif); font-size:19px; line-height:1.6; color:var(--navy-900); }
.sd-principle__promise p { margin:12px 0 0; color:var(--muted,#586975); font-size:15px; line-height:1.9; }

/* Support cards keep labels readable and at the bottom of each equal-height card. */
.sd-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.sd-support-card { display:flex; flex-direction:column; min-width:0; padding:28px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.sd-support-card__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.sd-support-card__number { font-family:var(--serif); font-size:16px; color:var(--sd-accent); }
.sd-support-card__icon { display:grid; place-items:center; width:60px; height:60px; border-radius:18px; background:var(--sd-soft); color:var(--sd-accent); }
.sd-support-card__icon .icon { width:30px; height:30px; }
.sd-support-card h3 { margin:0 0 14px; font-family:var(--serif); font-size:22px; line-height:1.6; color:var(--navy-900); }
.sd-support-card>p { margin:0 0 24px; color:var(--muted,#586975); font-size:15px; line-height:1.9; }
.sd-support-card ul { display:flex; flex-wrap:wrap; gap:8px; margin:auto 0 0; padding:0; list-style:none; }
.sd-support-card li { padding:7px 10px; border-radius:6px; background:var(--sd-soft); color:var(--sd-accent); font-size:13px; font-weight:600; line-height:1.7; }

/* Web assets and trust: normal-flow tags prevent collisions at small widths. */
.sd-asset__panel { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:48px; align-items:center; padding:clamp(28px,4vw,52px); border:1px solid var(--line); border-radius:28px; background:#f8f6f3; }
.sd-asset__copy>p:last-child { margin:0; max-width:45em; color:var(--muted,#586975); line-height:1.95; }
.sd-asset__stack { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; max-width:420px; margin-inline:auto; }
.sd-asset__stack span { padding:10px 16px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:14px; font-weight:600; line-height:1.7; color:var(--navy-700); }
.sd-asset__stack strong { order:-1; flex-basis:100%; display:grid; place-items:center; min-height:200px; margin-bottom:12px; padding:28px; border-radius:20px; background:var(--navy-900); color:#fff; font-family:var(--serif); font-size:28px; line-height:1.6; text-align:center; }
.sd-trust-grid article { padding:26px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.sd-trust-grid article>span { display:grid; place-items:center; width:52px; height:52px; border-radius:16px; background:var(--sd-soft); color:var(--sd-accent); }
.sd-trust-grid article>span .icon { width:26px; height:26px; }
.sd-trust-grid h3 { margin:20px 0 12px; font-family:var(--serif); font-size:20px; line-height:1.6; color:var(--navy-900); }
.sd-trust-grid p { margin:0; color:var(--muted,#586975); font-size:15px; line-height:1.9; }

/* Numbered process, fees, FAQ and related services. */
.sd-flow-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.sd-flow-grid article { padding:24px 20px; border-top:2px solid var(--sd-accent); border-radius:0 0 16px 16px; background:#f8fafb; }
.sd-flow-grid span { display:block; margin-bottom:20px; font-family:var(--serif); font-size:16px; color:var(--sd-accent); }
.sd-flow-grid h3 { margin:0 0 12px; font-family:var(--serif); font-size:19px; line-height:1.6; color:var(--navy-900); }
.sd-flow-grid p { margin:0; color:var(--muted,#586975); font-size:15px; line-height:1.85; }
.sd-price__panel { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:48px; align-items:center; padding:clamp(28px,4vw,52px); border:1px solid var(--line); border-radius:28px; background:#fff; }
.sd-price__panel>div:first-child>p:last-child { margin:0; color:var(--muted,#586975); line-height:1.95; }
.sd-price__panel>div:first-child strong { color:var(--navy-900); }
.sd-price__action { display:flex; flex-direction:column; align-items:center; min-width:0; padding:32px 24px; border-radius:20px; background:var(--sd-soft); }
.sd-price__action>small { font-size:12px; letter-spacing:.12em; font-weight:700; color:var(--navy-700); }
.sd-price__action>strong { margin:16px 0 24px; font-family:var(--serif); font-size:clamp(36px,4vw,48px); line-height:1.3; color:var(--sd-accent); white-space:nowrap; }
.sd-price__action>strong em { font-style:normal; font-size:20px; color:var(--navy-800); }
.sd-price__action .button { width:100%; min-width:0; }
.sd-price__action>span { margin-top:16px; color:var(--muted,#586975); font-size:13px; line-height:1.8; text-align:center; }
.sd-faq__grid { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(28px,4vw,60px); align-items:start; }
.sd-faq__list { margin:0; }
.sd-related { padding:clamp(60px,6vw,90px) 0; }
.sd-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.sd-related-grid>a { display:grid; grid-template-columns:48px minmax(0,1fr) 20px; align-items:center; gap:18px; min-height:112px; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.sd-related-grid>a:hover { border-color:var(--sd-accent); background:var(--sd-soft); }
.sd-related-grid>a>span { display:grid; place-items:center; width:48px; height:48px; border-radius:16px; background:#eef3f5; color:var(--sd-accent); }
.sd-related-grid small,.sd-related-grid strong { display:block; }
.sd-related-grid small { font-size:12px; letter-spacing:.07em; line-height:1.6; color:var(--muted,#586975); }
.sd-related-grid strong { margin-top:8px; font-family:var(--serif); font-size:20px; line-height:1.6; color:var(--navy-900); }
.sd-related-grid>a>.icon { color:var(--sd-accent); }

/* Tablet: two-column cards and nav; full width for detailed text and comparisons. */
@media (max-width:1100px) {

 .sd-local-nav a { flex-direction:column; gap:8px; padding:16px 10px; font-size:13px; }
 .sd-issue-grid,.sd-support-grid,.sd-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sd-principle__grid,.sd-asset__panel,.sd-price__panel,.sd-faq__grid { grid-template-columns:1fr; gap:32px; }
 .sd-principle__visual { order:2; }
 .sd-path { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .sd-path>div { padding:24px 16px; }
 .sd-price__action { max-width:640px; width:100%; margin-inline:auto; }
 .sd-asset__stack { width:100%; max-width:640px; }
 .sd-asset__stack strong { min-height:180px; }
 .sd-flow-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sd-flow-grid article:last-child { grid-column:1/-1; }
}
@media (max-width:760px) {

 .sd-hero__visual { width:100%; max-width:580px; margin-inline:auto; }
 .sd-visual-card { max-width:none; }
 .sd-local-nav__inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sd-local-nav a { flex-direction:row; justify-content:flex-start; min-height:64px; padding:16px; font-size:14px; border-bottom:1px solid var(--line); }
 .sd-local-nav a:nth-child(2n) { border-right:0; }
 .sd-local-nav a:last-child { grid-column:1/-1; border-bottom:0; }
 .sd-path { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sd-related-grid { grid-template-columns:1fr; }
}
@media (max-width:580px) {
 
 .sd-hero__trust { flex-direction:column; gap:10px; }
 .sd-visual-card { padding:32px 24px; }
 .sd-visual-card>strong { font-size:24px; }
 .sd-issue-grid,.sd-support-grid,.sd-trust-grid,.sd-flow-grid { grid-template-columns:1fr; gap:16px; }
 .sd-local-nav a { gap:8px; padding:14px 8px; font-size:13px; }
 .sd-local-nav .icon { width:18px; height:18px; }
 .sd-issue-card,.sd-support-card,.sd-trust-grid article { padding:24px; }
 .sd-principle__visual { padding:18px; }
 .sd-path { gap:12px; }
 .sd-path>div { padding:18px 12px; }
 .sd-path strong { font-size:19px; }
 .sd-asset__panel,.sd-price__panel { padding:24px; gap:24px; border-radius:24px; }
 .sd-asset__stack span { padding:8px 12px; font-size:13px; }
 .sd-asset__stack strong { min-height:160px; font-size:24px; }
 .sd-flow-grid article { display:grid; grid-template-columns:32px minmax(0,1fr); gap:8px 16px; padding:24px; }
 .sd-flow-grid span { grid-row:1/3; margin:0; }
 .sd-flow-grid h3 { margin:0; }
 .sd-price__action { padding:26px 18px; }
 .sd-related-grid>a { grid-template-columns:40px minmax(0,1fr) 18px; gap:14px; padding:20px; }
 .sd-related-grid>a>span { width:40px; height:40px; border-radius:12px; }
 .sd-related-grid strong { font-size:19px; }
}
