/* CoastLife parent-page templates: styles the four lifecycle parents need
   beyond site.css / components.css. One prefix per template:
   rmd- Pool Remodeling · psv- Pool Service · ins- Pool Inspections ·
   svh- Services Hub. Breakpoints at 900px / 540px. */

/* =====================================================================
   rmd- : Pool Remodeling (page-templates/pool-remodeling.php)
   ===================================================================== */
.rmd-signs { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: start; }
.rmd-signs-img { width: 100%; height: 520px; object-fit: cover; border-radius: 16px; }
.rmd-cap { font-family: ui-monospace, Menlo, monospace; font-size: 12px; color: var(--ink-soft); margin-top: 10px; }
.rmd-sign { display: grid; grid-template-columns: 64px 1fr; gap: 20px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--rule); }
.rmd-sign.last { border-bottom: none; }
.rmd-sign .n { font-family: var(--f-head); font-weight: 800; font-size: 30px; color: var(--water); }
.rmd-sign .t { font-family: var(--f-head); font-weight: 700; font-size: 18px; }
.rmd-sign .d { font-size: 15px; color: var(--ink-mid); margin-top: 2px; }
.rmd-note { background: #E4F3F9; border-left: 4px solid var(--water); border-radius: 0 12px 12px 0; padding: 18px 24px; font-size: 16px; line-height: 1.6; margin-top: 32px; }

.rmd-finishes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-bottom: 18px; }
.rmd-finish img { width: 100%; height: 300px; object-fit: cover; border-radius: 16px; }
.rmd-finish + .rmd-finish { border-left: 1px solid var(--rule); padding-left: 32px; margin-left: -32px; }
.rmd-finish .num { font-family: var(--f-head); font-weight: 800; font-size: 22px; color: var(--water); margin-top: 20px; }
.rmd-finish .name { font-family: var(--f-head); font-weight: 800; font-size: 24px; letter-spacing: -0.01em; margin-top: 4px; }
.rmd-finish .d { font-size: 15.5px; color: var(--ink-mid); line-height: 1.65; margin-top: 8px; }
.rmd-finish .life { font-family: ui-monospace, Menlo, monospace; font-size: 12.5px; color: var(--ink-soft); margin-top: 10px; }
.rmd-fnote { font-size: 13.5px; color: var(--ink-soft); text-align: center; margin-bottom: 40px; }
.rmd-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 820px; }
.rmd-pair img { width: 100%; height: 240px; object-fit: cover; border-radius: 14px; }

.rmd-gal3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.rmd-gal3 img { width: 100%; height: 220px; object-fit: cover; border-radius: 14px; }

.rmd-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 1000px; }
.rmd-chip { background: var(--ground); border: 1px solid var(--rule); border-radius: 12px; padding: 18px 22px; font-size: 15px; font-weight: 500; }
.rmd-chip a { font-weight: 600; }
.rmd-chip span { color: var(--ink-mid); }

/* Oct 2026: upgrade link cards, "ongoing care" band extras, and the process row.
   Layout shells (.bif, .stay) live in site.css. */
.rmd-upg { grid-template-columns: 1.7fr 1fr; }
.rmd-ucards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.rmd-ucard { display: flex; align-items: center; gap: 14px; background: var(--card); border: 1px solid var(--rule); border-radius: 14px; padding: 18px 16px; color: var(--ink); transition: box-shadow .25s, transform .25s, border-color .25s; }
.rmd-ucard:hover { color: var(--ink); border-color: var(--water); box-shadow: 0 10px 26px rgba(11,18,24,.09); transform: translateY(-2px); }
.rmd-ucard .ico { flex: none; width: 46px; height: 46px; border-radius: 12px; background: #E3F4FB; color: var(--water-deep); display: grid; place-items: center; }
.rmd-ucard .ico svg, .rmd-run .ico svg, .rmd-stay-list .ico svg { width: 24px; height: 24px; }
.rmd-ucard .tx { flex: 1; min-width: 0; }
.rmd-ucard strong { display: block; font-family: var(--f-head); font-weight: 700; font-size: 15px; line-height: 1.3; }
.rmd-ucard em { display: block; font-style: normal; font-size: 12.5px; line-height: 1.4; color: var(--ink-mid); margin-top: 3px; }
.rmd-ucard .go { flex: none; color: var(--water-deep); font-weight: 700; }
.rmd-stay .stay-in { padding-top: 76px; padding-bottom: 72px; }
.rmd-stay h2 { max-width: 620px; }
.rmd-stay p { margin-bottom: 26px; max-width: 620px; }
.rmd-stay-list { list-style: none; margin: 34px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 16px 0; }
.rmd-stay-list li { display: flex; align-items: center; gap: 14px; padding: 0 30px; border-left: 1px solid rgba(255,255,255,.18); font-size: 15px; line-height: 1.35; color: rgba(255,255,255,.9); max-width: 250px; }
.rmd-stay-list li:first-child { padding-left: 0; border-left: 0; }
.rmd-stay-list .ico { flex: none; width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; display: grid; place-items: center; }
.rmd-run { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; }
.rmd-run li { position: relative; text-align: center; padding: 0 12px; }
.rmd-run li::before { content: ""; position: absolute; top: 14px; left: 0; right: 0; height: 2px; background: #D6EEF8; }
.rmd-run li:first-child::before { left: 50%; }
.rmd-run li:last-child::before { right: 50%; }
.rmd-run .n { position: relative; z-index: 1; display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #D6EEF8; color: var(--water-deep); font-family: var(--f-head); font-weight: 800; font-size: 14px; box-shadow: 0 0 0 5px var(--ground); }
.rmd-run .ico { display: grid; place-items: center; width: 50px; height: 50px; margin: 12px auto 14px; border-radius: 12px; background: var(--card); border: 1px solid var(--rule); color: var(--water-deep); }
.rmd-run h3 { font-family: var(--f-head); font-weight: 700; font-size: 16px; line-height: 1.3; margin: 0 0 6px; }
.rmd-run .dur { font-size: 13px; color: var(--ink-mid); margin: -2px 0 6px; }
.rmd-run p { font-size: 14px; line-height: 1.55; color: var(--ink-mid); margin: 0; }
@media (max-width: 1100px) { .rmd-ucards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) {
	.rmd-run { grid-template-columns: repeat(2, 1fr); gap: 30px 0; }
	.rmd-run li::before { display: none; }
	.rmd-stay-list li { padding: 0 18px 0 0; border-left: 0; max-width: none; width: 100%; }
}
@media (max-width: 560px) { .rmd-ucards { grid-template-columns: 1fr; } }
.rmd-timeline { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 0; background: linear-gradient(var(--rule),var(--rule)) 0 5px/100% 2px no-repeat local; overflow-x: auto; padding-bottom: 6px; }
.rmd-phase { padding: 0 12px 0 0; min-width: 120px; }
.rmd-phase .dot { width: 12px; height: 12px; border-radius: 50%; background: var(--water); border: 2px solid var(--ground); }
.rmd-phase .t { font-family: var(--f-head); font-weight: 700; font-size: 14px; margin-top: 12px; line-height: 1.35; }
.rmd-phase .dur { font-family: ui-monospace, Menlo, monospace; font-size: 11.5px; color: var(--ink-soft); margin-top: 4px; }

.rmd-ba { background: var(--card); border: 1px solid var(--rule); border-radius: 14px; overflow: hidden; }
.rmd-ba .imgs { display: grid; grid-template-columns: 1fr 1fr; }
.rmd-ba .cell { position: relative; }
.rmd-ba .cell img { width: 100%; height: 190px; object-fit: cover; }
.rmd-ba .tag { position: absolute; top: 10px; left: 10px; font-family: var(--f-head); font-weight: 600; font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; background: rgba(16, 34, 46, 0.85); color: #fff; border-radius: 6px; padding: 5px 9px; }
.rmd-ba .tag.after { left: auto; right: 10px; background: var(--water); }
.rmd-ba .pad { padding: 18px 20px; }
.rmd-ba .t { font-family: var(--f-head); font-weight: 700; font-size: 17px; }
.rmd-ba .d { font-size: 14px; color: var(--ink-mid); margin-top: 4px; }

@media (max-width: 900px) {
	.rmd-signs { grid-template-columns: 1fr; gap: 32px; }
	.rmd-signs-img { height: 340px; }
	.rmd-finishes { grid-template-columns: 1fr; gap: 36px; }
	.rmd-finish + .rmd-finish { border-left: none; padding-left: 0; margin-left: 0; }
	.rmd-gal3 { grid-template-columns: repeat(2, 1fr); }
	.rmd-chips { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.rmd-signs-img { height: 260px; }
	.rmd-pair { grid-template-columns: 1fr; }
	.rmd-gal3 { grid-template-columns: 1fr; }
	.rmd-chips { grid-template-columns: 1fr; }
}

/* =====================================================================
   psv- : Pool Service (page-templates/pool-service.php)
   ===================================================================== */
.psv-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.psv-path { background: var(--card); border: 1px solid var(--rule); border-radius: 16px; padding: 34px 32px; }
.psv-path .k { font-family: var(--f-head); font-weight: 600; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--water-deep); margin-bottom: 10px; }
.psv-path .t { font-family: var(--f-head); font-weight: 800; font-size: 26px; letter-spacing: -0.01em; }
.psv-path .d { font-size: 15.5px; line-height: 1.6; color: var(--ink-mid); margin-top: 10px; }
.psv-path .links { display: flex; gap: 24px; margin-top: 18px; flex-wrap: wrap; }
.psv-path .links a { font-family: var(--f-head); font-weight: 600; font-size: 14.5px; }
.psv-path.fill { display: block; background: var(--water); border-color: var(--water); color: #fff; transition: box-shadow 0.25s; }
.psv-path.fill:hover { color: #fff; box-shadow: 0 16px 44px rgba(12, 158, 208, 0.35); }
.psv-path.fill .k { color: #CFF0FB; }
.psv-path.fill .d { color: #E4F6FD; }
.psv-path.fill .go { font-family: var(--f-head); font-weight: 600; font-size: 14.5px; margin-top: 18px; }

/* The featured All-In card sits FIRST on this page, so the wide grid track
   moves to column one (site.css .tiers widens the middle track). */
.psv-tiers { grid-template-columns: 1.08fr 1fr 1fr; }
@media (max-width: 900px) { .psv-tiers { grid-template-columns: 1fr; } } /* mobile reset: the override above outranks site.css's own media query */
.psv-plan { display: flex; flex-direction: column; }
.psv-autopay { font-size: 13.5px; font-weight: 600; color: var(--water-deep); }
.psv-checks { display: grid; gap: 8px; font-size: 14.5px; color: var(--ink); margin-top: 14px; flex: 1; }
.psv-cta { display: block; text-align: center; margin-top: 20px; padding: 12px 22px; font-size: 14.5px; }
.psv-note { font-size: 15px; color: var(--ink-mid); margin: 26px 0 0; }

.psv-visit { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; }
.psv-visit img { width: 100%; object-fit: cover; border-radius: 14px; }
.psv-vchecks { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 32px; font-size: 15.5px; }
.psv-vchecks > div { display: flex; gap: 12px; align-items: baseline; }
.psv-vchecks span { color: var(--water); font-weight: 700; }
.psv-cap { font-family: ui-monospace, Menlo, monospace; font-size: 12px; color: var(--ink-soft); margin-top: 10px; }

.psv-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 1050px; }
.psv-chip { background: var(--ground); border: 1px solid var(--rule); border-radius: 12px; padding: 18px 22px; font-size: 15px; font-weight: 500; }
.psv-chip a { font-weight: 600; }

.psv-store { display: grid; grid-template-columns: 1fr 1.15fr; gap: 56px; align-items: center; }
.psv-store img { width: 100%; object-fit: cover; border-radius: 14px; }

@media (max-width: 900px) {
	.psv-paths { grid-template-columns: 1fr; }
	.psv-visit, .psv-store { grid-template-columns: 1fr; gap: 32px; }
	.psv-chips { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.psv-vchecks { grid-template-columns: 1fr; }
	.psv-chips { grid-template-columns: 1fr; }
}

/* =====================================================================
   ins- : Pool Inspections (page-templates/pool-inspections.php)
   ===================================================================== */
.ins-chip { display: inline-block; font-family: var(--f-head); font-weight: 700; font-size: 14px; background: var(--sun-chip-bg); color: var(--sun-chip); border-radius: 999px; padding: 8px 18px; margin-bottom: 16px; animation: fadeUp 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both; }

.ins-inc { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; max-width: 1050px; }
.ins-inc-card { background: var(--card); border: 1px solid var(--rule); border-radius: 14px; padding: 26px 28px; }
.ins-inc-card .k { font-family: var(--f-head); font-weight: 700; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--water-deep); margin-bottom: 14px; }
.ins-inc-card .b { font-size: 15.5px; line-height: 1.8; }

.ins-who { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ins-who-card { background: var(--ground); border: 1px solid var(--rule); border-radius: 14px; padding: 24px; }
.ins-who-card .t { font-family: var(--f-head); font-weight: 700; font-size: 17px; }
.ins-who-card .d { font-size: 14.5px; color: var(--ink-mid); line-height: 1.65; margin-top: 8px; }

.ins-how { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ins-how-card { background: var(--card); border: 1px solid var(--rule); border-radius: 14px; padding: 26px; }
.ins-how-card .n { width: 32px; height: 32px; border-radius: 50%; background: var(--water); color: #fff; font-family: var(--f-head); font-weight: 700; font-size: 15px; display: flex; align-items: center; justify-content: center; }
.ins-how-card .t { font-family: var(--f-head); font-weight: 700; font-size: 16.5px; margin-top: 14px; }
.ins-how-card .d { font-size: 14.5px; color: var(--ink-mid); line-height: 1.6; margin-top: 5px; }

.ins-price { max-width: 520px; margin: 0 auto; background: var(--ground); border: 2px solid var(--water); border-radius: 18px; padding: 40px; box-shadow: 0 16px 44px rgba(12, 158, 208, 0.15); }
.ins-price .name { font-family: var(--f-head); font-weight: 700; font-size: 19px; }
.ins-price .amt { font-family: var(--f-head); font-weight: 800; font-size: 44px; color: var(--water-deep); margin: 12px 0 20px; }
.ins-price .checks { display: grid; gap: 10px; font-size: 15px; text-align: left; max-width: 360px; margin: 0 auto; }

.ins-revs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ins-rev { background: var(--card); border: 1px solid var(--rule); border-radius: 14px; padding: 26px; }
.ins-rev .stars { font-size: 13px; margin-bottom: 12px; }
.ins-rev .q { font-size: 15px; line-height: 1.65; font-style: italic; }
.ins-rev .who { font-size: 13px; color: var(--ink-soft); margin-top: 12px; }

@media (max-width: 900px) {
	.ins-who, .ins-how { grid-template-columns: repeat(2, 1fr); }
	.ins-revs { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
	.ins-inc { grid-template-columns: 1fr; }
	.ins-who, .ins-how { grid-template-columns: 1fr; }
	.ins-price { padding: 30px 22px; }
}

/* =====================================================================
   svh- : Services Hub (page-templates/services-hub.php)
   ===================================================================== */
.svh-kick { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--night-soft); margin-bottom: 18px; animation: fadeUp 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.svh-lift { max-width: 1280px; margin: -52px auto 0; position: relative; z-index: 2; padding: 0 var(--pad); }

.svh-split { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; }
.svh-split.rev { grid-template-columns: 1fr 1.1fr; }
.svh-split.insp { grid-template-columns: 1.2fr 1fr; }
.svh-split img { width: 100%; object-fit: cover; border-radius: 14px; }
.svh-eyebrow { font-family: var(--f-head); font-weight: 700; font-size: 14px; color: var(--water); }
.svh-p { font-size: 16.5px; line-height: 1.7; color: var(--ink-mid); margin: 0 0 20px; }
.svh-links { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px; margin-bottom: 22px; }
.svh-links a, .svh-link { font-weight: 600; font-size: 14.5px; padding: 5px 0; }
.svh-linkrow { display: flex; gap: 24px; flex-wrap: wrap; margin: 26px 0 22px; }
.svh-linkrow a { font-weight: 600; font-size: 14.5px; }
.svh-quote { border-left: 3px solid var(--water); padding: 4px 0 4px 18px; margin-bottom: 26px; }
.svh-quote .q { font-size: 15px; font-style: italic; line-height: 1.6; }
.svh-quote .who { font-size: 13px; color: var(--ink-soft); margin-top: 6px; }
.svh-cap { font-family: ui-monospace, Menlo, monospace; font-size: 12px; color: var(--ink-soft); margin-top: 10px; }
.svh-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.svh-pair img { height: 300px; }

.svh-plans { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 32px 0 10px; }
.svh-plan { background: var(--card); border: 1px solid var(--rule); border-radius: 14px; padding: 22px; }
.svh-plan .t { font-family: var(--f-head); font-weight: 700; font-size: 17px; }
.svh-plan .d { font-size: 14px; color: var(--ink-mid); margin-top: 4px; }

.svh-covers { background: var(--ground); border: 1px solid var(--rule); border-radius: 14px; padding: 28px; }
.svh-covers .t { font-family: var(--f-head); font-weight: 700; font-size: 15px; margin-bottom: 14px; }
.svh-covers .list { display: grid; gap: 10px; font-size: 14.5px; color: var(--ink-mid); }

.svh-cross { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

.svh-close { text-align: center; padding: 0 var(--pad) 88px; }
.svh-close .t { font-family: var(--f-head); font-weight: 800; font-size: 34px; letter-spacing: -0.02em; max-width: 640px; margin: 0 auto; }

@media (max-width: 900px) {
	.svh-split, .svh-split.rev, .svh-split.insp { grid-template-columns: 1fr; gap: 32px; }
	.svh-plans { grid-template-columns: repeat(2, 1fr); }
	.svh-cross { grid-template-columns: repeat(2, 1fr); }
	.svh-lift { margin-top: -36px; }
}
@media (max-width: 540px) {
	.svh-links { grid-template-columns: 1fr; }
	.svh-pair { grid-template-columns: 1fr; }
	.svh-plans { grid-template-columns: 1fr; }
	.svh-cross { grid-template-columns: 1fr; }
	.svh-close .t { font-size: 27px; }
}

/* ins- Oct 2026: included cards beside a photo, who cards with photos, 4-step row */
.ins-icards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ins-icard { display: flex; gap: 16px; background: var(--card); border: 1px solid var(--rule); border-radius: 14px; padding: 20px; }
.ins-icard .ico, .ins-wcard .ico { flex: none; width: 48px; height: 48px; border-radius: 12px; background: #E3F4FB; color: var(--water-deep); display: grid; place-items: center; }
.ins-icard .ico svg, .ins-wcard .ico svg, .ins-report .ico svg { width: 24px; height: 24px; }
.ins-icard h3, .ins-wcard h3 { font-family: var(--f-head); font-weight: 700; font-size: 16px; line-height: 1.3; margin: 2px 0 6px; }
.ins-icard p { font-size: 14px; line-height: 1.55; color: var(--ink-mid); margin: 0; }
.ins-report { display: flex; align-items: center; gap: 16px; margin-top: 14px; background: #E9F4FA; border-radius: 14px; padding: 16px 20px; }
.ins-report .ico { flex: none; color: var(--water-deep); display: grid; }
.ins-report p { font-size: 14.5px; line-height: 1.55; color: var(--ink-mid); margin: 0; }
.ins-wcards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ins-wcard { display: flex; flex-direction: column; background: var(--ground); border: 1px solid var(--rule); border-radius: 16px; padding: 16px; }
.ins-wcard .top { display: flex; align-items: center; gap: 12px; }
.ins-wcard h3 { flex: 1; margin: 0; }
.ins-wcard .go { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--water); color: var(--water-deep); display: grid; place-items: center; font-weight: 700; }
.ins-wcard .go:hover { background: var(--water); color: #fff; }
.ins-wcard p { font-size: 14px; line-height: 1.55; color: var(--ink-mid); margin: 12px 0 16px; }
.ins-wcard p a { font-weight: 600; }
.ins-wcard img { width: 100%; height: 150px; object-fit: cover; border-radius: 10px; display: block; margin-top: auto; }
.ins-run { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .ins-wcards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 900px) { .ins-run { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ins-icards, .ins-wcards { grid-template-columns: 1fr; } }
.ins-incl { align-items: start; }
.ins-incl .bif-photo { height: 470px; min-height: 0; }

/* psv- Oct 2026: visit checklist with icons beside a badged photo; repairs reuse .rmd-ucard */
.psv-inc { grid-template-columns: 1.1fr 1fr; align-items: center; }
.psv-vlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 24px 26px; }
.psv-vlist li { display: flex; gap: 14px; align-items: flex-start; }
.psv-vlist .ico { flex: none; width: 46px; height: 46px; border-radius: 50%; background: #E3F4FB; color: var(--water-deep); display: grid; place-items: center; }
.psv-vlist .ico svg { width: 22px; height: 22px; }
.psv-vlist strong { display: block; font-family: var(--f-head); font-weight: 700; font-size: 15.5px; line-height: 1.3; }
.psv-vlist em { display: block; font-style: normal; font-size: 14px; line-height: 1.5; color: var(--ink-mid); margin-top: 3px; }
.psv-shot { position: relative; align-self: stretch; }
.psv-shot .bif-photo { height: 100%; min-height: 400px; }
.psv-badge { position: absolute; right: 18px; bottom: 18px; background: rgba(255,255,255,.95); color: var(--ink); font-family: var(--f-head); font-weight: 600; font-size: 13px; padding: 10px 16px; border-radius: 12px; box-shadow: 0 4px 14px rgba(11,18,24,.16); }
.psv-fixcta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 26px; }
.psv-fixcta p { font-size: 14px; color: var(--ink-mid); margin: 0; max-width: 300px; }
.psv-fixcta p a { font-weight: 600; }
@media (max-width: 1000px) { .psv-shot .bif-photo { min-height: 0; height: 320px; } }
@media (max-width: 560px) { .psv-vlist { grid-template-columns: 1fr; } }

/* psv- repairs: two even columns, seven repairs plus the booking card as the eighth cell */
.rmd-ucard { min-width: 0; }
.psv-fix { grid-template-columns: 1.2fr 1fr; }
.psv-fix .rmd-ucards { grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr; gap: 12px; }
.psv-fix .rmd-ucard { padding: 14px 18px; min-height: 76px; }
.psv-fix .rmd-ucard strong { font-size: 15.5px; }
.psv-fixbook, .psv-fixbook:hover { background: var(--sun, #F58220); border-color: var(--sun, #F58220); color: #fff; }
.psv-fixbook strong { letter-spacing: .04em; }
.psv-fixbook .go { color: #fff; }
.psv-fixnote { font-size: 14px; color: var(--ink-mid); margin: 18px 0 0; }
.psv-fixnote a { font-weight: 600; }
.psv-fix .bif-photo { min-height: 0; }
@media (max-width: 560px) { .psv-fix .rmd-ucards { grid-template-columns: 1fr; } }
.psv-fix { align-items: start; }
.psv-fix .bif-photo { height: 410px; }

/* svh- Oct 2026 restyle: icon link lists, review cards, badged photos, linked plan cards */
.svh-eyebrow { font-weight: 600; font-size: 12.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--water-deep); }
.svh-ilinks { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; margin: 6px 0 26px; }
.svh-ilinks a { display: flex; align-items: center; gap: 14px; color: var(--ink); }
.svh-ilinks .ico, .svh-plan .ico { flex: none; width: 46px; height: 46px; border-radius: 50%; background: #E3F4FB; color: var(--water-deep); display: grid; place-items: center; }
.svh-ilinks .ico svg, .svh-plan .ico svg { width: 22px; height: 22px; }
.svh-ilinks strong { display: block; font-family: var(--f-head); font-weight: 700; font-size: 14.5px; line-height: 1.3; }
.svh-ilinks em { display: block; font-style: normal; font-size: 13.5px; color: var(--ink-mid); margin-top: 2px; }
.svh-ilinks a:hover strong { color: var(--water-deep); }
.svh-quote { border-left: 0; background: #EDF6FB; border-radius: 14px; padding: 18px 22px; }
.svh-quote .stars { color: #F5A623; font-size: 15px; letter-spacing: 2px; margin-bottom: 6px; }
.svh-shot { position: relative; align-self: stretch; }
.svh-shot img { height: 100%; min-height: 440px; display: block; border-radius: 16px; }
.svh-badge { position: absolute; left: 18px; bottom: 18px; right: auto; max-width: calc(100% - 36px); background: rgba(255,255,255,.95); color: var(--ink); font-size: 13px; font-weight: 500; padding: 10px 16px; border-radius: 999px; box-shadow: 0 4px 14px rgba(11,18,24,.16); }
.svh-maint { grid-template-columns: 1.5fr 1fr; }
.svh-maint .svh-plans { margin: 4px 0 0; gap: 12px; }
.svh-plan { position: relative; display: block; color: var(--ink); padding: 18px; transition: box-shadow .25s, transform .25s, border-color .25s; }
.svh-plan:hover { color: var(--ink); border-color: var(--water); box-shadow: 0 10px 26px rgba(11,18,24,.09); transform: translateY(-2px); }
.svh-plan .ico { margin-bottom: 14px; }
.svh-plan .go { position: absolute; top: 20px; right: 18px; font-size: 22px; line-height: 1; color: var(--water); }
.svh-covers { background: var(--card); border-radius: 16px; padding: 30px 32px; box-shadow: 0 8px 24px rgba(11,18,24,.05); }
.svh-covers .t { font-size: 19px; font-weight: 800; margin-bottom: 18px; }
.svh-covers .list { gap: 14px; font-size: 15.5px; color: var(--ink); }
.svh-covers .list > div { display: flex; align-items: center; gap: 14px; }
.svh-covers .ck { flex: none; width: 30px; height: 30px; border-radius: 50%; background: #E3F4FB; color: var(--water-deep); display: grid; place-items: center; font-size: 14px; font-weight: 700; }
@media (max-width: 900px) { .svh-shot img { min-height: 0; height: 320px; } .svh-maint { grid-template-columns: 1fr; } }
@media (max-width: 540px) { .svh-ilinks { grid-template-columns: 1fr; } }
.svh-maint .svh-shot img { object-position: 22% 50%; }

/* svh- maintain tidy: 2x2 horizontal plan cards, single link row, tighter heading */
.svh-split .sec-title { line-height: 1.15; }
.svh-maint .svh-plans { grid-template-columns: 1fr 1fr; gap: 12px; }
.svh-maint .svh-plan:first-child { grid-column: 1 / -1; } /* three plans: All-In spans the top row */
.svh-plan { display: flex; align-items: center; gap: 14px; padding: 16px 18px; }
.svh-plan .ico { margin-bottom: 0; }
.svh-plan .tx { flex: 1; min-width: 0; }
.svh-plan .t, .svh-plan .d { display: block; }
.svh-plan .d { margin-top: 2px; }
.svh-plan .go { position: static; }
.svh-maint .svh-linkrow { gap: 10px 24px; margin: 22px 0; }
@media (max-width: 540px) { .svh-maint .svh-plans { grid-template-columns: 1fr; } }

.svh-plan { align-items: flex-start; }
.svh-plan .go { align-self: center; }
.svh-plan .x { display: block; font-size: 13.5px; line-height: 1.5; color: var(--ink-mid); margin-top: 8px; }
.svh-plan .d { font-size: 14.5px; }
