/* Service overview: one visual language for navigation, cards and comparisons. */
.service-overview .section 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; }
.service-overview .section h2 > span:not(.text-phrase),.service-overview .section h2 .text-accent { color:var(--rose-600); }
.service-overview h3 { text-wrap:balance; }
.service-overview :where(p,li,small) { overflow-wrap:anywhere; }

.svc-hero__copy h1 .text-accent { color:var(--rose-600); }

.svc-hero__sub strong { color:var(--navy-800); }

.svc-price-pill { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 18px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.svc-price-pill span { font-size:12px; letter-spacing:.12em; font-weight:700; color:var(--navy-700); }
.svc-price-pill strong { font-family:var(--serif); font-size:22px; color:var(--rose-600); }
.svc-price-pill small { flex-basis:100%; font-size:13px; line-height:1.8; color:var(--muted,#586975); }

/* Static architecture diagram. Labels stay readable without motion or floating overlaps. */
.svc-hero__visual { min-width:0; }
.svc-orbit { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:480px; margin-inline:auto; padding:24px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:var(--shadow-sm); }
.svc-orbit__core { grid-column:1/-1; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:180px; padding:28px; margin-bottom:12px; border-radius:18px; background:var(--navy-900); color:#fff; }
.svc-orbit__core span { font-size:12px; letter-spacing:.2em; color:#d5e0e6; }
.svc-orbit__core strong { margin-top:8px; font-family:var(--serif); font-size:32px; letter-spacing:.06em; }
.svc-orbit__core small { margin-top:8px; font-family:var(--serif); font-style:italic; font-size:15px; color:#ead8dc; }
.svc-orbit__item { display:flex; align-items:center; gap:10px; min-width:0; min-height:64px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fbfcfc; font-size:12px; color:var(--navy-700); }
.svc-orbit__item span { display:grid; place-items:center; width:32px; height:32px; flex-shrink:0; color:var(--rose-600); }
.svc-orbit__item .icon { width:24px; height:24px; }
.svc-orbit__item b { overflow-wrap:anywhere; }
.svc-orbit__note { grid-column:1/-1; margin:12px 0 0; font-family:var(--serif); font-style:italic; color:var(--muted,#586975); font-size:16px; line-height:1.6; text-align:center; }
.svc-orbit__note em { color:var(--rose-600); }
.svc-orbit__note br { display:none; }
.svc-orbit__note em::before { content:" "; }

/* Direction, service cards and their links. */
.svc-direction__grid,.svc-organic__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,4vw,60px); align-items:center; }
.svc-direction__copy p,.svc-organic__copy p { margin:0 0 18px; color:var(--muted,#586975); line-height:1.95; }
.svc-direction__steps { display:grid; gap:0; border-top:1px solid var(--line); }
.svc-direction__steps article { display:grid; grid-template-columns:44px minmax(0,1fr); gap:20px; padding:24px 0; border-bottom:1px solid var(--line); }
.svc-direction__steps article>span { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:#fff; font-family:var(--serif); font-size:16px; color:var(--rose-600); }
.svc-direction__steps strong { display:block; margin:0 0 8px; font-family:var(--serif); font-size:21px; color:var(--navy-900); }
.svc-direction__steps p { margin:0; color:var(--muted,#586975); font-size:15px; line-height:1.85; }
.svc-list { background:#fff; }
.svc-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.svc-card { display:flex; flex-direction:column; min-width:0; padding:32px; border:1px solid var(--line); border-radius:24px; background:#fff; }
.svc-card--wide { grid-column:1/-1; background:#f8fafb; }
.svc-card__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.svc-card__number { font-family:var(--serif); font-size:16px; color:var(--rose-600); }
.svc-card__icon { display:grid; place-items:center; width:60px; height:60px; border-radius:18px; background:#eef3f5; color:var(--navy-700); }
.svc-card__icon .icon { width:30px; height:30px; }
.svc-card__eyebrow { margin:0 0 8px; font-size:12px; letter-spacing:.12em; font-weight:700; color:var(--navy-700); }
.svc-card h3 { margin:0 0 16px; font-family:var(--serif); font-size:clamp(22px,2vw,26px); line-height:1.6; color:var(--navy-900); }
.svc-card>p:not(.svc-card__eyebrow) { max-width:50em; margin:0; color:var(--muted,#586975); font-size:15px; line-height:1.95; }
.svc-card ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:24px 0; padding:0; }
.svc-card li { padding:7px 10px; border-radius:6px; background:#eef3f5; color:var(--navy-700); font-size:13px; line-height:1.7; }
.svc-card:nth-child(3n) li,.svc-card:nth-child(5n) li { background:#f7eeee; color:var(--rose-600); }
.svc-socials { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.svc-socials span { padding:8px 12px; border:1px solid var(--line); border-radius:6px; font-size:14px; font-weight:700; color:var(--navy-800); }
.svc-card__links { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:auto; padding-top:4px; }
.svc-card__link { display:inline-flex; align-items:center; gap:10px; align-self:flex-start; min-height:48px; margin-top:auto; color:var(--rose-600); font-size:15px; font-weight:700; line-height:1.7; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.svc-card__links .svc-card__link { margin:0; }
.svc-card__link .icon { flex-shrink:0; }
.svc-card__link:hover { color:var(--navy-900); }

/* Compare paths and choosing a starting point. */
.svc-organic__point { margin-top:24px; padding:20px; border-left:3px solid var(--rose-600); background:#fff; color:var(--muted,#586975); font-size:15px; line-height:1.9; }
.svc-organic__point strong { color:var(--navy-900); }
.svc-organic__compare { padding:24px; border:1px solid var(--line); border-radius:24px; background:#fff; }
.svc-organic__box { padding:24px; border-radius:16px; text-align:center; }
.svc-organic__box>span { font-size:12px; letter-spacing:.12em; font-weight:700; color:var(--muted,#586975); }
.svc-organic__box h3 { margin:8px 0 20px; font-family:var(--serif); font-size:24px; color:var(--navy-900); }
.svc-organic__box--ad { background:#f3f5f5; }
.svc-organic__box--asset { background:#f8eeee; }
.svc-mini-flow { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; }
.svc-mini-flow b { padding:8px 10px; border-radius:6px; background:#fff; color:var(--muted,#586975); font-size:13px; }
.svc-mini-flow i { font-style:normal; color:var(--navy-700); }
.svc-organic__arrow { text-align:center; padding:12px; color:var(--rose-600); font-size:22px; }
.svc-asset-tags { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }
.svc-asset-tags em { font-style:normal; padding:7px 10px; border-radius:6px; background:#fff; color:var(--rose-600); font-size:13px; font-weight:700; }
.svc-organic__box--asset p { margin:20px 0 0; color:var(--muted,#586975); font-size:14px; line-height:1.9; }
.svc-fit__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.svc-fit__card { display:flex; flex-direction:column; padding:32px; border:1px solid var(--line); border-radius:24px; background:#f5f8f9; }
.svc-fit__card--rose { background:#faf2f2; }
.svc-fit__card>span { display:block; margin-bottom:16px; color:var(--navy-700); font-size:13px; font-weight:700; }
.svc-fit__card--rose>span { color:var(--rose-600); }
.svc-fit__card h3 { margin:0 0 16px; font-family:var(--serif); font-size:26px; line-height:1.6; color:var(--navy-900); }
.svc-fit__card p { margin:0 0 24px; color:var(--muted,#586975); font-size:15px; line-height:1.9; }
.svc-fit__route { margin-top:auto; padding-top:20px; border-top:1px solid var(--line); font-size:14px; font-weight:600; line-height:1.9; color:var(--navy-700); overflow-wrap:anywhere; }

/* Process and price. */
.svc-flow__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.svc-flow__grid article { padding:24px 20px; border-top:2px solid var(--rose-600); background:#fff; border-radius:0 0 16px 16px; }
.svc-flow__grid span { display:block; margin-bottom:20px; font-family:var(--serif); font-size:16px; color:var(--rose-600); }
.svc-flow__grid b { display:block; font-family:var(--serif); font-size:19px; line-height:1.6; color:var(--navy-900); }
.svc-flow__grid p { margin:12px 0 0; color:var(--muted,#586975); font-size:15px; line-height:1.85; }
.svc-price { background:#fff; }
.svc-price__panel { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:48px; align-items:center; padding:clamp(28px,4vw,52px); border:1px solid var(--line); border-radius:28px; background:#f8f6f3; }
.svc-price__copy p { max-width:45em; margin:0; color:var(--muted,#586975); line-height:1.95; }
.svc-price__amount { min-width:0; padding:32px 24px; border-radius:20px; background:#fff; text-align:center; }
.svc-price__amount>small { display:block; font-size:14px; font-weight:700; color:var(--muted,#586975); }
.svc-price__amount>strong { display:block; margin:12px 0; font-family:var(--serif); color:var(--navy-900); font-size:20px; white-space:nowrap; }
.svc-price__amount>strong span { font-size:clamp(36px,4vw,48px); color:var(--rose-600); letter-spacing:-.03em; }
.svc-price__amount>p { margin:0 0 24px; color:var(--muted,#586975); font-size:13px; line-height:1.8; }
.svc-price__amount .button { width:100%; min-width:0; }

/* Tablet uses real intermediate layouts; long copy receives a full-width track. */
@media (max-width:1100px) {

 .svc-orbit { padding:20px; gap:10px; }
 .svc-direction__grid,.svc-organic__grid { grid-template-columns:1fr; gap:32px; }
 .svc-direction__steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
 .svc-flow__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .svc-flow__grid article:last-child { grid-column:1/-1; }
 .svc-price__panel { grid-template-columns:1fr; gap:28px; }
 .svc-price__amount { max-width:640px; width:100%; margin-inline:auto; }
 .svc-card,.svc-fit__card { padding:28px; }
}
@media (max-width:760px) {

 .svc-hero__visual { width:100%; max-width:580px; margin-inline:auto; }
 .svc-orbit { max-width:none; }
 .svc-card-grid,.svc-fit__grid { grid-template-columns:1fr; }
 .svc-card--wide { grid-column:auto; }
 .svc-organic__compare { max-width:640px; width:100%; margin-inline:auto; }
}
@media (max-width:580px) {
 
 .svc-orbit { padding:20px; }
 .svc-orbit__core { min-height:150px; }
 .svc-orbit__item { padding:10px 8px; gap:6px; }
 .svc-orbit__item span { width:26px; }
 .svc-orbit__item .icon { width:22px; height:22px; }
 .svc-direction__steps { grid-template-columns:1fr; }
 .svc-direction__steps article { gap:16px; }
 .svc-card,.svc-fit__card { padding:24px; }
 .svc-flow__grid { grid-template-columns:1fr; gap:16px; }
 .svc-flow__grid article { display:grid; grid-template-columns:32px minmax(0,1fr); gap:8px 16px; padding:24px; }
 .svc-flow__grid span { grid-row:1/3; margin:0; }
 .svc-flow__grid p { margin:0; }
 .svc-price__panel { padding:24px; gap:24px; border-radius:24px; }
 .svc-price__amount { padding:26px 18px; }
 .svc-organic__compare { padding:16px; }
 .svc-organic__box { padding:20px 14px; }
 .svc-mini-flow { gap:6px; }
 .svc-mini-flow b { padding:7px; font-size:12px; }
}
