/* Service page v2 (sv-*): hero with form, sub-nav, sections. Loaded after services.css. */
.sv-hero-split { padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.sv-hero-split.has-photo { background: linear-gradient(100deg, rgba(14, 17, 22, .94) 0%, rgba(14, 17, 22, .84) 48%, rgba(14, 17, 22, .5) 100%), var(--hero-img) var(--hero-pos, center) / cover no-repeat, var(--ink-mid); }
.sv-hero-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: start; }
@media (min-width: 980px) { .sv-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); gap: 3.2rem; align-items: center; } }
.sv-hero-eyebrow { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: .9rem; padding: .35rem .8rem; border-radius: 999px; background: rgba(47, 91, 255, .22); border: 1px solid rgba(92, 124, 255, .45); color: #c9d4ff; font: 700 .78rem var(--f-body); letter-spacing: .08em; text-transform: uppercase; }
.sv-hero-split h1 { max-width: 16ch; }
.sv-hero-call-lg { font-size: 1.05rem; }
.sv-hero-hint { color: rgba(255, 255, 255, .6); font-size: .9rem; }
.sv-quote-card { position: relative; padding: 1.6rem 1.4rem 1.4rem; border-radius: 22px; background: #fff; color: var(--ink); box-shadow: 0 30px 60px rgba(0, 0, 0, .35); scroll-margin-top: 90px; }
.sv-quote-card::before { content: ""; position: absolute; left: 1.4rem; right: 1.4rem; top: -1px; height: 4px; border-radius: 0 0 6px 6px; background: linear-gradient(90deg, var(--accent), var(--accent-l)); }
.sv-quote-card h2 { font: 800 1.3rem/1.25 var(--f-head); margin-bottom: .3rem; color: var(--ink); }
.sv-quote-card > p { color: var(--muted); font-size: .9rem; margin-bottom: 1rem; }
.sv-quote-card .fg-g { gap: .7rem; }
.sv-quote-card .fg label { font-size: .78rem; }

.sv-subnav { position: sticky; top: 64px; z-index: 30; background: rgba(255, 255, 255, .96); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); }
.sv-subnav ul { list-style: none; display: flex; gap: .3rem; padding: .5rem 0; margin: 0; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.sv-subnav ul::-webkit-scrollbar { display: none; }
.sv-subnav a { display: inline-flex; align-items: center; min-height: 40px; padding: .35rem .95rem; border-radius: 999px; white-space: nowrap; color: var(--slate); font: 600 .9rem var(--f-body); text-decoration: none; transition: background .2s, color .2s; }
.sv-subnav a:hover { background: var(--smoke); }
.sv-subnav a.is-on { background: var(--accent-pale); color: var(--accent-d); }
.sv-subnav .sv-subnav-cta { margin-left: auto; }
.sv-subnav a.is-quote { background: var(--accent); color: #fff; }
@media (max-width: 767px) { .sv-subnav .sv-subnav-cta { display: none; } .sv-subnav { top: 56px; } }
.sv-detail section[id], .sv-detail [data-nav] { scroll-margin-top: 130px; }

.sv-head-light .sec-h2 { color: #fff; }
.sv-head-light .sv-lead { color: rgba(255, 255, 255, .75); }
.sv-alt { background: var(--smoke); }

.sv-cards { list-style: none; display: grid; grid-template-columns: 1fr; gap: 1.1rem; padding: 0; }
@media (min-width: 640px) { .sv-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .sv-cols-3 { grid-template-columns: repeat(3, 1fr); } .sv-cols-4 { grid-template-columns: repeat(4, 1fr); } .sv-cols-2 { grid-template-columns: repeat(2, 1fr); } }
.sv-info-card { position: relative; background: #fff; border: 1px solid var(--border); border-radius: var(--sv-r); padding: 1.5rem 1.4rem; transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.sv-alt .sv-info-card { border-color: transparent; box-shadow: var(--sv-shadow); }
.sv-info-card:hover { transform: translateY(-4px); border-color: var(--accent-l); box-shadow: var(--sv-shadow-hi); }
.sv-info-card .sv-ico-soft { margin-bottom: 1rem; }
.sv-info-card h3 { font: 800 1.1rem/1.3 var(--f-head); color: var(--ink); margin-bottom: .5rem; }
.sv-info-card p { color: var(--slate); font-size: .94rem; line-height: 1.65; }
.sv-info-link { display: block; color: inherit; text-decoration: none; }
.sv-more { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1rem; color: var(--accent); font-weight: 700; font-size: .9rem; }

.sv-facts { list-style: none; display: grid; grid-template-columns: 1fr; gap: 1.1rem; padding: 0; }
@media (min-width: 700px) { .sv-facts.sv-cols-2 { grid-template-columns: repeat(2, 1fr); } .sv-facts.sv-cols-3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .sv-facts.sv-cols-3 { grid-template-columns: repeat(3, 1fr); } }
.sv-fact-card { background: #fff; border-radius: var(--sv-r); padding: 1.5rem 1.4rem; box-shadow: var(--sv-shadow); border: 1px solid transparent; transition: transform .3s var(--ease), border-color .3s; }
.sv-fact-card:hover { transform: translateY(-4px); border-color: var(--accent-l); }
.sv-fact-top { display: flex; align-items: center; gap: .9rem; margin-bottom: 1rem; }
.sv-fact-top h3 { font: 800 1.15rem/1.25 var(--f-head); color: var(--ink); }
.sv-specs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }
.sv-specs div { padding: .4rem .8rem; border-radius: 10px; background: var(--accent-pale); }
.sv-specs dt { font: 700 .66rem var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--accent-d); }
.sv-specs dd { margin: 0; font: 700 .95rem var(--f-body); color: var(--ink); }
.sv-fact-card p { color: var(--slate); font-size: .94rem; line-height: 1.65; }

.sv-split { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
@media (min-width: 900px) { .sv-split { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 3.4rem; } .sv-split.is-reverse .sv-split-copy { order: 2; } }
.sv-split-copy .sec-h2 { margin: .4rem 0 .9rem; text-wrap: balance; }
.sv-split-body { color: var(--slate); line-height: 1.75; margin-bottom: 1.1rem; }
.sv-bullets-lg { margin: 0 0 1.1rem; gap: .65rem; }
.sv-bullets-lg li { font-size: 1rem; }
.sv-split-note { padding: .9rem 1.1rem; margin-bottom: 1.2rem; border-left: 4px solid var(--accent); background: var(--accent-pale); border-radius: 0 12px 12px 0; color: var(--slate); font-size: .94rem; line-height: 1.6; }
.sv-split-art { position: relative; display: grid; gap: 1.2rem; justify-items: center; padding: 2.4rem 1.6rem; border-radius: 26px; background: radial-gradient(circle at 30% 20%, #2a3a8c, #141a3a 70%); color: #fff; overflow: hidden; }
.sv-split-art::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 22px 22px; pointer-events: none; }
.sv-art-ring { position: relative; z-index: 1; display: grid; place-items: center; width: 132px; height: 132px; border-radius: 50%; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22); box-shadow: 0 0 0 14px rgba(255, 255, 255, .04); }
.sv-split-art ul { position: relative; z-index: 1; list-style: none; display: grid; gap: .5rem; width: 100%; padding: 0; }
.sv-split-art li { padding: .6rem .9rem; border-radius: 12px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); font-size: .92rem; font-weight: 600; text-align: center; }

.sv-callout { padding: clamp(2.2rem, 5vw, 3.4rem) 0; background: linear-gradient(120deg, var(--accent-d), var(--accent)); color: #fff; }
.sv-callout-in { display: grid; grid-template-columns: 1fr; gap: 1.4rem; align-items: center; }
@media (min-width: 900px) { .sv-callout-in { grid-template-columns: 1fr auto; gap: 3rem; } }
.sv-callout h2 { font: 800 clamp(1.4rem, 3vw, 2rem)/1.2 var(--f-head); margin-bottom: .6rem; }
.sv-callout p { max-width: 62ch; color: rgba(255, 255, 255, .88); line-height: 1.7; }
.sv-callout-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.4rem; }
.sv-callout .btn-primary { background: #fff; color: var(--accent-d); border-color: #fff; }
.sv-callout .btn-primary:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

.sv-reviews { background: #fff; }
.sv-rev-grid { list-style: none; display: grid; grid-template-columns: 1fr; gap: 1.1rem; padding: 0; }
@media (min-width: 820px) { .sv-rev-grid { grid-template-columns: repeat(3, 1fr); } }
.sv-rev-card { display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem 1.4rem; border-radius: var(--sv-r); background: var(--smoke); }
.sv-stars { display: flex; gap: .15rem; color: #f5a623; }
.sv-stars svg { fill: currentColor; }
.sv-rev-card p { color: var(--slate); line-height: 1.7; font-size: .96rem; }
.sv-rev-by { display: flex; align-items: center; gap: .75rem; margin-top: auto; }
.sv-rev-av { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--accent); color: #fff; font: 800 .85rem var(--f-head); }
.sv-rev-by b { display: block; font-size: .92rem; color: var(--ink); }
.sv-rev-by small { color: var(--muted); font-size: .8rem; }

.sv-prep-side .sv-ico { position: static; margin-bottom: .3rem; }
.sv-split-art ul { margin: 0; }

/* hero without the inline form: single column */
.sv-hero-grid { grid-template-columns: 1fr !important; }
.sv-hero-split h1 { max-width: 18ch; }
.sv-hero-copy { max-width: 760px; }
.sv-subnav button.is-quote { display: inline-flex; align-items: center; min-height: 40px; padding: .35rem 1.1rem; border: 0; border-radius: 999px; background: var(--accent); color: #fff; font: 700 .9rem var(--f-body); cursor: pointer; }

/* photos from real moves */
.sv-photos-section { background: #fff; }
.sv-photos { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; padding: 0; }
@media (min-width: 900px) { .sv-photos-3 { grid-template-columns: repeat(3, 1fr); } .sv-photos-4 { grid-template-columns: repeat(4, 1fr); } .sv-photos-2 { grid-template-columns: repeat(2, 1fr); max-width: 760px; margin-inline: auto; } .sv-photos { gap: 1.1rem; } }
.sv-photos-1 { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; }
.sv-photos figure { position: relative; margin: 0; overflow: hidden; border-radius: 18px; background: var(--ink-mid); aspect-ratio: 3 / 4; box-shadow: var(--sv-shadow); }
.sv-photos img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
.sv-photos figure:hover img { transform: scale(1.05); }
.sv-photos figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.2rem .9rem .8rem; background: linear-gradient(180deg, transparent, rgba(14, 17, 22, .82)); color: #fff; font-size: .82rem; font-weight: 600; line-height: 1.35; }
@media (max-width: 599px) { .sv-photos-3 li:last-child:nth-child(odd) { grid-column: 1 / -1; } .sv-photos-3 li:last-child:nth-child(odd) figure { aspect-ratio: 4 / 3; } }
.sv-split-photo { margin: 0; border-radius: 26px; overflow: hidden; aspect-ratio: 4 / 5; max-height: 560px; background: var(--ink-mid); box-shadow: var(--sv-shadow-hi); }
.sv-split-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sv-intro-media { aspect-ratio: 4 / 4.4; }
@media (min-width: 900px) { .sv-intro-media { aspect-ratio: 4 / 4.6; } }
