/* Sanad Services — editorial luxury, using the shared site header and footer. */
.services-page {
  --sv-paper: #f4f1e9;
  --sv-ivory: #fbf9f4;
  --sv-ink: #112832;
  --sv-navy: #071923;
  --sv-gold: #c4a36a;
  --sv-muted: #69777b;
  --font: "Manrope", Arial, sans-serif;
  --display: "Playfair Display", Georgia, serif;
  background: var(--sv-paper);
  color: var(--sv-ink);
  font-family: var(--font);
}
.services-main { overflow: clip; }
.services-page .hdr .wrap { width: min(100% - var(--side)*2, var(--content)); max-width: var(--content); margin-inline: auto; padding-inline: 0; }
.services-page .hdr .nav a.active { color: var(--gold); }
.services-page .hdr .nav a.active::after { transform: scaleX(1); }
.services-page .footer-invitation { display: none; }

.sv-hero { position: relative; isolation: isolate; background: var(--sv-paper); }
.sv-hero-grid { display: grid; grid-template-columns: minmax(0,.91fr) minmax(0,1.09fr); align-items: center; gap: clamp(40px,6.3vw,88px); padding-block: clamp(43px,5.2vw,72px) clamp(67px,7.4vw,102px); }
.sv-hero-copy { max-width: 585px; }
.sv-eyebrow { display: flex; align-items: center; gap: 11px; color: #93764a; font: 600 10px/1.5 var(--font); letter-spacing: .2em; text-transform: uppercase; }
.sv-eyebrow>span { width: 28px; height: 1px; background: linear-gradient(90deg,var(--sv-gold),transparent); }
.sv-hero h1 { max-width: 590px; margin: 24px 0 20px; color: var(--sv-ink); font: 500 clamp(48px,5.25vw,70px)/1.025 var(--display); letter-spacing: -.048em; text-wrap: balance; }
.sv-hero h1 em,.sv-section-heading h2 em,.sv-promise h2 em,.sv-faq h2 em,.sv-contact h2 em { color: #ac8950; font-weight: 500; }
.sv-hero-lede { max-width: 475px; color: var(--sv-muted); font-size: 15px; line-height: 1.86; }
.sv-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 28px; }
.sv-button { min-height: 49px; padding-inline: 23px; border-radius: 999px; font: 700 13px/1.2 var(--font); background: linear-gradient(165deg,#f1dbad,#d9bd85 62%,#c5a36a); box-shadow: inset 0 1px 0 #fff9, 0 9px 20px #95734820; transition: transform .55s cubic-bezier(.22,1,.36,1), box-shadow .45s, filter .35s; }
.sv-button:hover { transform: translateY(-3px); filter: saturate(1.05); box-shadow: inset 0 1px 0 #fff9, 0 15px 27px #95734835; }
.sv-button:active { transform: translateY(-1px) scale(.99); }
.sv-button .icon { width: 17px; height: 17px; transition: transform .45s cubic-bezier(.22,1,.36,1); }
.sv-button:hover .icon { transform: translateX(4px); }
.sv-quiet-link,.sv-light-link { display: inline-flex; align-items: center; gap: 10px; color: #856a40; font: italic 500 15px/1.45 var(--display); transition: gap .45s cubic-bezier(.22,1,.36,1),color .3s; }
.sv-quiet-link:hover,.sv-light-link:hover { gap: 15px; color: #594321; }
.sv-quiet-link .icon,.sv-light-link .icon { width: 17px; height: 17px; }
.sv-hero-signature { display: flex; align-items: center; gap: 13px; margin-top: clamp(31px,4.2vw,53px); padding-top: 16px; border-top: 1px solid #bba57555; color: #88795f; font: 600 9px/1.5 var(--font); letter-spacing: .17em; }
.sv-hero-signature i { width: 23px; height: 1px; background: var(--sv-gold); }
.sv-hero-visual { position: relative; isolation: isolate; min-width: 0; height: clamp(380px,39vw,510px); margin: 0; padding: 10px; border: 1px solid #b99a6065; background: #fbfaf6; box-shadow: 0 25px 60px #18252b16; }
.sv-hero-visual::before { position: absolute; z-index: -1; inset: 15px -13px -13px 15px; border: 1px solid #b99a6047; content: ""; }
.sv-hero-media { position: absolute; inset: 10px; overflow: hidden; background: #091923; }
.sv-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 100% 55%; }
.sv-photo-caption { position: absolute; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 12px; max-width: calc(100% - 48px); padding: 12px 14px; background: #06131de0; color: #f3ead9; font: 600 9px/1.4 var(--font); letter-spacing: .15em; }
.sv-photo-caption>span:first-child { color: #e0c28a; font: italic 14px/1 var(--display); }
.sv-photo-caption>i { width: 25px; height: 1px; background: #d9bd8b9c; }
.sv-photo-caption>span:last-child { white-space: nowrap; }
.sv-photo-note { position: absolute; left: 24px; bottom: 24px; display: flex; align-items: center; gap: 10px; padding: 9px 14px 9px 9px; border: 1px solid #ead9b34a; background: #071722e8; color: #f8f3e7; backdrop-filter: blur(12px); }
.sv-note-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #dfc1867a; border-radius: 50%; color: #ebd59e; font: italic 19px/1 var(--display); }
.sv-photo-note strong,.sv-photo-note small { display: block; }
.sv-photo-note strong { font: 600 11px/1.4 var(--font); }
.sv-photo-note small { margin-top: 2px; color: #c0cbd0; font: 400 10px/1.4 var(--font); }

.sv-services { padding: clamp(74px,8.1vw,112px) 0 clamp(80px,8.4vw,116px); background: var(--sv-ivory); border-top: 1px solid #e9e2d6; scroll-margin-top: 120px; }
.sv-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 44px; margin-bottom: 34px; }
.sv-section-heading h2,.sv-promise h2,.sv-faq h2 { margin-top: 17px; color: var(--sv-ink); font: 500 clamp(40px,4.5vw,60px)/1.08 var(--display); letter-spacing: -.038em; }
.sv-section-heading>p { max-width: 385px; padding-bottom: 5px; color: var(--sv-muted); font-size: 13px; line-height: 1.85; }
.sv-category-nav { display: flex; flex-wrap: wrap; gap: 8px; padding: 16px 0 25px; margin-bottom: 2px; border-top: 1px solid #d8cbb1; }
.sv-category-nav a { display: inline-flex; align-items: center; min-height: 34px; padding: 7px 13px; border: 1px solid #ddcfb4; border-radius: 99px; color: #66563a; font: 600 10px/1.3 var(--font); letter-spacing: .015em; transition: color .3s,border-color .3s,background .35s,transform .4s cubic-bezier(.22,1,.36,1); }
.sv-category-nav a:hover { transform: translateY(-2px); border-color: #b49661; background: #f5efdf; color: #3e3525; }
.sv-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.sv-service-card { position: relative; display: flex; min-width: 0; min-height: 358px; flex-direction: column; padding: clamp(22px,2.6vw,34px); border: 1px solid #e2d9ca; background: linear-gradient(145deg,#fffefa,#f8f5ed); box-shadow: 0 14px 36px #26363a09; transition: transform .6s cubic-bezier(.22,1,.36,1),border-color .4s,box-shadow .55s; scroll-margin-top: 120px; }
.sv-service-card:hover { transform: translateY(-5px); border-color: #c5aa77; box-shadow: 0 24px 42px #26363a12; }
.sv-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 24px; }
.sv-card-number { padding-top: 7px; color: #987d50; font: 600 9px/1.4 var(--font); letter-spacing: .18em; }
.sv-icon-disc { display: grid; flex: none; place-items: center; width: 54px; height: 54px; border: 1px solid #d8c18b62; border-radius: 50%; background: radial-gradient(circle at 28% 22%,#24404e,#0a1b25 78%); box-shadow: inset 0 1px 0 #ffffff19,0 7px 15px #07192316; transition: transform .55s cubic-bezier(.22,1,.36,1),box-shadow .5s; }
.sv-service-card:hover .sv-icon-disc { transform: rotate(-5deg) scale(1.045); box-shadow: inset 0 1px 0 #ffffff26,0 9px 20px #07192324; }
.sv-icon-disc svg { width: 30px; height: 30px; fill: none; stroke: #e7cf9a; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.sv-service-card h3 { margin-bottom: 10px; color: #1c3039; font: 500 21px/1.25 var(--display); letter-spacing: -.015em; }
.sv-service-card>p { color: #69767a; font-size: 12px; line-height: 1.78; }
.sv-service-card ul { display: grid; gap: 8px; padding: 16px 0 19px; margin: auto 0 0; list-style: none; }
.sv-service-card li { position: relative; padding-left: 15px; color: #485a60; font-size: 10px; line-height: 1.55; }
.sv-service-card li::before { position: absolute; left: 0; top: .65em; width: 5px; height: 5px; border: 1px solid #b0925c; border-radius: 50%; content: ""; }
.sv-card-link { display: inline-flex; align-self: flex-start; align-items: center; gap: 9px; margin-top: 3px; padding-top: 12px; border-top: 1px solid #e1d7c5; color: #725a32; font: 600 10px/1.4 var(--font); transition: gap .45s cubic-bezier(.22,1,.36,1),color .3s; }
.sv-card-link:hover { gap: 14px; color: #3a2b12; }
.sv-card-link .icon { width: 15px; height: 15px; transition: transform .4s cubic-bezier(.22,1,.36,1); }
.sv-card-link:hover .icon { transform: translateX(3px); }
.sv-card-note { margin-top: 17px; color: #8b918e; font-size: 10px; line-height: 1.65; }

.sv-promise { position: relative; isolation: isolate; overflow: hidden; padding: clamp(76px,8.3vw,114px) 0; background: radial-gradient(ellipse at 84% 12%,#1b3542 0,transparent 39%),linear-gradient(118deg,#081a24,#06131c 76%); color: #f5f0e5; }
.sv-promise-grid { position: relative; display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); align-items: center; gap: clamp(56px,9vw,124px); }
.sv-promise-copy { position: relative; z-index: 1; }
.sv-promise .sv-eyebrow,.sv-contact .sv-eyebrow { color: #d3b77d; }
.sv-promise h2 { color: #f5f0e5; }
.sv-promise h2 em { color: #e2c487; }
.sv-promise-copy>p:not(.sv-eyebrow) { max-width: 420px; margin-top: 18px; color: #bec8cb; font-size: 13px; line-height: 1.9; }
.sv-light-link { margin-top: 24px; color: #e4cc98; font-size: 14px; }
.sv-light-link:hover { color: #fff1cd; }
.sv-promise-list { position: relative; z-index: 1; border-top: 1px solid #e6cf9b42; }
.sv-promise-list article { display: grid; grid-template-columns: 37px minmax(0,1fr) 46px; align-items: center; gap: 18px; min-height: 104px; padding: 17px 3px; border-bottom: 1px solid #e6cf9b42; }
.sv-promise-list article>span { align-self: start; padding-top: 4px; color: #d8bc80; font: italic 13px/1.4 var(--display); }
.sv-promise-list h3 { margin-bottom: 5px; color: #f4efdf; font: 500 18px/1.3 var(--display); }
.sv-promise-list p { color: #b8c3c7; font-size: 11px; line-height: 1.7; }
.sv-promise-list article>svg { width: 42px; height: 42px; fill: none; stroke: #d7bd86; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; opacity: .85; }
.sv-orbit { position: absolute; z-index: -1; right: -265px; bottom: -360px; width: 650px; height: 650px; border: 1px solid #d7bb7c20; border-radius: 50%; box-shadow: 0 0 0 34px #d7bb7c08,0 0 0 78px #d7bb7c05,0 0 0 122px #d7bb7c03; }

.sv-process { padding: clamp(78px,8.2vw,112px) 0 clamp(72px,7.6vw,102px); background: var(--sv-paper); }
.sv-process-heading { margin-bottom: 45px; }
.sv-process-heading>p { max-width: 315px; }
.sv-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 0; border-top: 1px solid #cbb98e; list-style: none; }
.sv-steps li { display: grid; grid-template-columns: 37px 1fr; align-content: start; column-gap: 15px; padding: 24px clamp(22px,3.3vw,44px) 8px 0; }
.sv-steps li+li { padding-left: clamp(22px,3.3vw,44px); border-left: 1px solid #dfd7c9; }
.sv-step-num { grid-column: 1/-1; margin-bottom: 19px; color: #a68750; font: italic 29px/1 var(--display); }
.sv-step-rule { grid-column: 1; grid-row: 2/4; align-self: start; width: 28px; height: 28px; border: 1px solid #d5c39a; border-radius: 50%; background: radial-gradient(circle,#d7c08b 0 2px,transparent 3px); }
.sv-steps h3 { align-self: end; margin-bottom: 7px; color: #1a303b; font: 500 18px/1.35 var(--display); }
.sv-steps p { grid-column: 2; color: #68767c; font-size: 11px; line-height: 1.75; }
.sv-process-note { margin-top: 26px; color: #899194; font-size: 10px; line-height: 1.6; }

.sv-faq { padding: clamp(74px,7.8vw,106px) 0; background: #fbf9f4; border-top: 1px solid #e7e0d4; }
.sv-faq-grid { display: grid; grid-template-columns: minmax(0,.74fr) minmax(0,1.26fr); gap: clamp(55px,10vw,140px); align-items: start; }
.sv-faq-intro>p:not(.sv-eyebrow) { max-width: 340px; margin-top: 17px; color: var(--sv-muted); font-size: 13px; line-height: 1.85; }
.sv-faq-intro .sv-quiet-link { margin-top: 21px; }
.sv-faq-list { border-top: 1px solid #d5c7a9; }
.sv-faq-list details { border-bottom: 1px solid #ded7ca; }
.sv-faq-list summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 70px; padding: 18px 2px; color: #20343c; font: 500 16px/1.4 var(--display); cursor: pointer; list-style: none; }
.sv-faq-list summary::-webkit-details-marker { display: none; }
.sv-faq-list summary>span { position: relative; flex: none; width: 25px; height: 25px; border: 1px solid #d1bd91; border-radius: 50%; transition: background .35s,border-color .35s,transform .4s cubic-bezier(.22,1,.36,1); }
.sv-faq-list summary>span::before,.sv-faq-list summary>span::after { position: absolute; top: 11px; left: 7px; width: 9px; height: 1px; background: #846c42; content: ""; transition: transform .35s; }
.sv-faq-list summary>span::after { transform: rotate(90deg); }
.sv-faq-list details[open] summary>span { transform: rotate(180deg); border-color: #bfa36b; background: #f2ebdc; }
.sv-faq-list details[open] summary>span::after { transform: rotate(0); }
.sv-faq-list details>p { max-width: 620px; padding: 0 45px 20px 2px; color: #6c777a; font-size: 12px; line-height: 1.8; animation: sv-faq-in .35s ease both; }
@keyframes sv-faq-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }

.sv-contact { padding: 0 0 clamp(62px,7vw,90px); background: #fbf9f4; }
.sv-contact-panel { position: relative; isolation: isolate; display: grid; grid-template-columns: 110px minmax(0,1fr) auto; align-items: center; gap: clamp(26px,4vw,56px); min-height: 270px; padding: clamp(34px,5.2vw,66px); overflow: hidden; border: 1px solid #c2a66b60; border-radius: 14px; background: radial-gradient(ellipse at 88% 0,#d8b26e1b,transparent 43%),linear-gradient(120deg,#102934,#071722 74%); box-shadow: 0 20px 54px #18242a12; }
.sv-contact-seal { position: relative; display: grid; place-items: center; align-content: center; width: 100px; height: 100px; border: 1px solid #d7bc823f; border-radius: 50%; color: #e0c38b; }
.sv-contact-seal::before,.sv-contact-seal::after { position: absolute; inset: 7px; border: 1px solid #d7bc8226; border-radius: 50%; content: ""; }
.sv-contact-seal::after { inset: -8px; border-style: dashed; opacity: .65; }
.sv-contact-seal>span { font: italic 34px/.9 var(--display); }
.sv-contact-seal>i { width: 20px; height: 1px; margin: 7px 0 5px; background: #d7bc82a3; }
.sv-contact-seal>small { text-align: center; font: 600 6px/1.5 var(--font); letter-spacing: .17em; }
.sv-contact-copy { position: relative; z-index: 1; }
.sv-contact h2 { margin: 14px 0 10px; color: #fff8eb; font: 500 clamp(34px,3.8vw,50px)/1.08 var(--display); letter-spacing: -.04em; }
.sv-contact h2 em { color: #e2c487; }
.sv-contact-copy>p:last-child { max-width: 380px; color: #bdc8cc; font-size: 12px; line-height: 1.75; }
.sv-contact-actions { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.sv-contact-actions .sv-button { white-space: nowrap; }
.sv-contact-mail { color: #d4bd8c; font-size: 10px; transition: color .3s; }
.sv-contact-mail:hover { color: #fff1c9; }
.sv-contact-outline { position: absolute; z-index: -1; right: 17%; top: -172px; width: 350px; height: 350px; border: 1px solid #e0c48620; border-radius: 50%; box-shadow: 0 0 0 34px #e0c48609,0 0 0 72px #e0c48606,0 0 0 110px #e0c48604; }

.services-motion-ready [data-service-reveal] { opacity: 0; transform: translateY(18px); filter: blur(2px); transition: opacity .72s cubic-bezier(.22,1,.36,1),transform .78s cubic-bezier(.22,1,.36,1),filter .72s ease; }
.services-motion-ready [data-service-reveal].is-visible { opacity: 1; transform: translateY(0); filter: blur(0); }
.services-motion-ready .sv-card-grid .sv-service-card:nth-child(3n + 2) { transition-delay: .07s; }
.services-motion-ready .sv-card-grid .sv-service-card:nth-child(3n) { transition-delay: .13s; }
.sv-hero-copy>* { animation: sv-rise .75s cubic-bezier(.22,1,.36,1) both; }
.sv-hero-copy>.sv-eyebrow { animation-delay: .06s; }
.sv-hero-copy>h1 { animation-delay: .14s; }
.sv-hero-copy>.sv-hero-lede { animation-delay: .24s; }
.sv-hero-copy>.sv-hero-actions { animation-delay: .34s; }
.sv-hero-copy>.sv-hero-signature { animation-delay: .43s; }
.sv-hero-visual { animation: sv-image-in .95s .14s cubic-bezier(.22,1,.36,1) both; }
@keyframes sv-rise { from { opacity: 0; transform: translateY(14px); filter: blur(3px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@keyframes sv-image-in { from { opacity: 0; transform: translateY(12px) scale(.986); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 1050px) {
  .sv-hero-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 34px; }
  .sv-hero h1 { font-size: clamp(46px,5vw,58px); }
  .sv-hero-visual { height: clamp(370px,43vw,460px); }
  .sv-service-card { min-height: 376px; padding: 24px 21px; }
  .sv-service-card h3 { font-size: 19px; }
  .sv-promise-grid { gap: 56px; }
  .sv-contact-panel { grid-template-columns: 82px minmax(0,1fr) auto; gap: 28px; padding-inline: 36px; }
  .sv-contact-seal { width: 78px; height: 78px; }
}
@media (max-width: 820px) {
  .services-page .hdr .wrap { width: min(100% - var(--side)*2,var(--content)); }
  .sv-hero-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 28px; }
  .sv-hero h1 { font-size: clamp(43px,5.5vw,52px); }
  .sv-hero-lede { font-size: 13px; }
  .sv-hero-actions { gap: 16px; }
  .sv-hero-visual { height: 380px; }
  .sv-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sv-service-card { min-height: 345px; padding: 27px; }
  .sv-service-card h3 { font-size: 21px; }
  .sv-promise-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 36px; }
  .sv-promise h2 { font-size: 44px; }
  .sv-contact-panel { grid-template-columns: minmax(0,1fr) auto; gap: 22px; padding: 35px; }
  .sv-contact-seal { display: none; }
}
@media (max-width: 700px) {
  .services-page .hdr .wrap { width: 100%; max-width: none; margin: 0; padding-inline: var(--side); }
  .services-page .hdr .wrap .logo { margin-left: 0; }
  .services-page .hdr .burger { margin-right: 0; }
  .sv-hero-grid { grid-template-columns: minmax(0,1fr); gap: 25px; padding-block: 33px 66px; }
  .sv-hero-copy { order: 0; }
  .sv-hero-visual { order: 1; width: 100%; height: auto; aspect-ratio: 1.05; padding: 8px; }
  .sv-hero-visual::before { inset: 12px -8px -9px 12px; }
  .sv-hero-media { inset: 8px; }
  .sv-hero-media img { object-position: 50% 63%; }
  .sv-hero h1 { max-width: 540px; margin: 18px 0 13px; font-size: clamp(43px,11vw,56px); line-height: 1.025; }
  .sv-hero-lede { max-width: 540px; font-size: 13px; line-height: 1.8; }
  .sv-hero-actions { margin-top: 22px; gap: 18px; }
  .sv-button { min-height: 47px; padding-inline: 19px; font-size: 12px; }
  .sv-quiet-link { font-size: 14px; }
  .sv-hero-signature { margin-top: 27px; font-size: 8px; }
  .sv-photo-caption { right: 14px; bottom: 14px; gap: 8px; padding: 10px; font-size: 7px; }
  .sv-photo-caption>i { width: 17px; }
  .sv-photo-note { left: 14px; bottom: 14px; gap: 8px; padding: 7px 10px 7px 7px; }
  .sv-note-mark { width: 29px; height: 29px; font-size: 16px; }
  .sv-photo-note strong { font-size: 10px; }
  .sv-photo-note small { font-size: 9px; }
  .sv-services { padding-block: 67px 73px; }
  .sv-section-heading { display: block; margin-bottom: 26px; }
  .sv-section-heading h2,.sv-promise h2,.sv-faq h2 { margin-top: 14px; font-size: clamp(39px,9.4vw,50px); }
  .sv-section-heading>p { max-width: 530px; margin-top: 14px; font-size: 12px; }
  .sv-category-nav { flex-wrap: nowrap; gap: 7px; margin-inline: calc(var(--side)*-1); padding: 13px var(--side) 19px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .sv-category-nav::-webkit-scrollbar { display: none; }
  .sv-category-nav a { flex: none; min-height: 33px; padding-inline: 12px; font-size: 9px; }
  .sv-card-grid { grid-template-columns: minmax(0,1fr); gap: 11px; }
  .sv-service-card { min-height: 0; padding: 23px 22px 21px; }
  .sv-card-top { margin-bottom: 18px; }
  .sv-icon-disc { width: 49px; height: 49px; }
  .sv-icon-disc svg { width: 28px; height: 28px; }
  .sv-service-card h3 { margin-bottom: 8px; font-size: 21px; }
  .sv-service-card>p { font-size: 12px; }
  .sv-service-card ul { gap: 7px; padding: 14px 0 15px; }
  .sv-service-card li { font-size: 10px; }
  .sv-card-link { padding-top: 11px; font-size: 10px; }
  .sv-card-note { font-size: 9px; }
  .sv-promise { padding-block: 69px; }
  .sv-promise-grid { grid-template-columns: minmax(0,1fr); gap: 35px; }
  .sv-promise-copy>p:not(.sv-eyebrow) { margin-top: 15px; font-size: 12px; }
  .sv-light-link { margin-top: 19px; font-size: 13px; }
  .sv-promise-list article { grid-template-columns: 28px minmax(0,1fr) 38px; gap: 13px; min-height: 91px; padding-block: 14px; }
  .sv-promise-list h3 { font-size: 17px; }
  .sv-promise-list p { font-size: 10px; }
  .sv-promise-list article>svg { width: 36px; height: 36px; }
  .sv-process { padding-block: 68px 65px; }
  .sv-process-heading { margin-bottom: 29px; }
  .sv-process-heading>p { margin-top: 12px; }
  .sv-steps { grid-template-columns: minmax(0,1fr); }
  .sv-steps li,.sv-steps li+li { grid-template-columns: 34px minmax(0,1fr); column-gap: 13px; min-height: 133px; padding: 20px 0 17px; border-left: 0; border-bottom: 1px solid #dfd7c9; }
  .sv-steps li:last-child { border-bottom: 0; }
  .sv-step-num { grid-column: 1; grid-row: 1/3; margin-bottom: 0; font-size: 23px; }
  .sv-step-rule { display: none; }
  .sv-steps h3 { grid-column: 2; align-self: end; font-size: 18px; }
  .sv-steps p { grid-column: 2; max-width: 440px; font-size: 11px; }
  .sv-process-note { margin-top: 13px; font-size: 9px; }
  .sv-faq { padding-block: 68px; }
  .sv-faq-grid { grid-template-columns: minmax(0,1fr); gap: 29px; }
  .sv-faq-intro>p:not(.sv-eyebrow) { margin-top: 13px; font-size: 12px; }
  .sv-faq-intro .sv-quiet-link { margin-top: 16px; }
  .sv-faq-list summary { min-height: 62px; gap: 12px; padding-block: 15px; font-size: 14px; }
  .sv-faq-list details>p { padding-right: 34px; padding-bottom: 17px; font-size: 11px; }
  .sv-contact { padding-bottom: 66px; }
  .sv-contact-panel { grid-template-columns: minmax(0,1fr); gap: 18px; min-height: 0; padding: 27px 23px; border-radius: 12px; }
  .sv-contact h2 { margin-block: 12px 9px; font-size: clamp(34px,8vw,43px); }
  .sv-contact-copy>p:last-child { font-size: 11px; }
  .sv-contact-actions { gap: 11px; }
  .sv-contact-actions .sv-button { width: 100%; }
  .sv-contact-mail { font-size: 10px; }
  .sv-contact-outline { right: -10%; top: -205px; }
  .services-motion-ready [data-service-reveal] { transform: translateY(12px); }
}
@media (max-width: 390px) {
  .sv-hero-grid { padding-top: 29px; }
  .sv-hero h1 { font-size: clamp(40px,10.5vw,46px); }
  .sv-hero-actions { gap: 13px; }
  .sv-hero-actions .sv-button { padding-inline: 15px; font-size: 11px; }
  .sv-quiet-link { gap: 7px; font-size: 13px; }
  .sv-hero-visual { aspect-ratio: .98; }
  .sv-photo-caption { right: 9px; bottom: 9px; gap: 6px; padding: 8px; font-size: 6px; letter-spacing: .12em; }
  .sv-photo-caption>i { width: 12px; }
  .sv-photo-note { left: 9px; bottom: 9px; }
}
@media (max-width: 340px) {
  .sv-hero h1 { font-size: 38px; }
  .sv-hero-actions { align-items: flex-start; flex-direction: column; }
  .sv-hero-actions .sv-button { width: 100%; }
  .sv-hero-signature { gap: 8px; font-size: 7px; letter-spacing: .12em; }
  .sv-service-card { padding-inline: 18px; }
  .sv-contact-panel { padding-inline: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .services-motion-ready [data-service-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
  .sv-hero-copy>*,.sv-hero-visual { animation: none !important; }
  .sv-faq-list details>p { animation: none; }
  .sv-category-nav a,.sv-button,.sv-service-card,.sv-icon-disc,.sv-card-link,.sv-quiet-link,.sv-light-link { transition: none !important; }
}

/* =========================================================
   Premium layer (v2) — sections after the hero
   ========================================================= */
.services-page {
  --sp-navy: #06141f; --sp-gold: #d8b26e; --sp-gold-soft: #f3d79c; --sp-gold-text: #a37c43;
  --sp-ivory: #fbf9f4; --sp-cream: #f4efe5; --sp-ink: #0c1e2c; --sp-muted: #64717a; --sp-line: #e6dccb;
  --sp-ease: cubic-bezier(.22, 1, .36, 1);
  --sp-badge-bg: radial-gradient(circle at 30% 25%, #1c3647 0%, #0a1a26 78%);
}
html { scroll-padding-top: 100px; }

/* Hero polish: larger, more legible copy; smoother entrance (no blur) */
.sv-hero-lede { font-size: 16.5px; line-height: 1.75; max-width: 500px; }
.sv-eyebrow { font-size: 11px; }
.sv-button { min-height: 52px; padding-inline: 26px; font-size: 14.5px; }
.sv-quiet-link { font-size: 16px; }
.sv-hero-signature { font-size: 10px; }
.sv-photo-caption { font-size: 10px; }
.sv-photo-note strong { font-size: 12.5px; } .sv-photo-note small { font-size: 11px; }
@keyframes sv-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.services-motion-ready [data-service-reveal] {
  opacity: 0; transform: translate3d(0, 26px, 0); filter: none;
  transition: opacity .9s var(--sp-ease) var(--d, 0s), transform 1s var(--sp-ease) var(--d, 0s), box-shadow .5s var(--sp-ease), border-color .4s, background-color .4s;
}
.services-motion-ready [data-service-reveal].is-visible { opacity: 1; transform: none; filter: none; }

/* Shared */
.sp-eyebrow { display: flex; align-items: center; gap: 14px; margin: 0; font: 500 12px/1.4 var(--display); letter-spacing: .26em; text-transform: uppercase; color: var(--sp-gold-text); }
.sp-eyebrow > span { flex: none; width: 40px; height: 1.5px; background: linear-gradient(90deg, var(--sp-gold), rgba(216, 178, 110, .2)); }
.sp-eyebrow-light { color: var(--sp-gold-soft); }
.services-page .sp-heading h2, .sp-promise h2, .sp-faq h2, .sp-cta h2 { font-family: var(--display); font-weight: 600; letter-spacing: -.015em; }
.sp-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: clamp(30px, 4vw, 48px); }
.sp-heading h2 { margin-top: 14px; font-size: clamp(34px, 4vw, 54px); line-height: 1.06; color: var(--sp-ink); }
.sp-heading h2 em, .sp-faq h2 em { display: block; font-style: italic; font-weight: 500; color: var(--sp-gold-text); }
.sp-heading > p { max-width: 430px; font-size: 16.5px; line-height: 1.7; color: var(--sp-muted); }
.sp-heading-center { flex-direction: column; align-items: center; text-align: center; }
.sp-heading-center .sp-eyebrow { justify-content: center; }
.sp-heading-center .sp-eyebrow > span:last-child { background: linear-gradient(270deg, var(--sp-gold), rgba(216, 178, 110, .2)); }
.sp-heading-center > p { margin-top: -18px; max-width: 560px; }

.sp-badge {
  flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%;
  background: var(--sp-badge-bg); border: 1px solid rgba(232, 207, 155, .38);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 10px 22px -10px rgba(2, 12, 20, .6); color: var(--sp-gold-soft);
}
.sp-badge svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sp-card .sp-badge svg { width: 26px; height: 26px; stroke-width: 3; }
.sp-badge-lg { width: 70px; height: 70px; }
.sp-badge-lg svg { width: 28px; height: 28px; }
.sp-num { font: italic 500 40px/1 var(--display); color: transparent; -webkit-text-stroke: 1px rgba(163, 124, 67, .55); }

.sp-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 6px; font: 700 15px/1.3 var(--font); color: var(--sp-ink); border-bottom: 1.5px solid var(--sp-gold); transition: gap .45s var(--sp-ease); }
.sp-link .icon { width: 18px; height: 18px; stroke-width: 2; color: var(--sp-gold); }
.sp-link:hover { gap: 16px; }
.sp-link-light { color: #fff; }
.sp-note {
  display: flex; align-items: center; justify-content: center; gap: 10px; width: fit-content; max-width: 100%; margin: 30px auto 0;
  padding: 12px 20px; border-radius: 999px; background: #fff; border: 1px solid var(--sp-line);
  font: 600 13.5px/1.45 var(--font); color: var(--sp-muted);
}
.sp-note svg { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--sp-gold-text); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

.sp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 26px; border-radius: 999px; font: 700 15px/1 var(--font); white-space: nowrap; transition: transform .45s var(--sp-ease), box-shadow .45s var(--sp-ease), background-color .3s, border-color .3s; }
.sp-btn .icon { width: 18px; height: 18px; stroke-width: 2.1; transition: transform .45s var(--sp-ease); }
.sp-btn:hover { transform: translateY(-2px); }
.sp-btn:hover .icon { transform: translateX(4px); }
.sp-btn-gold { color: #10181f; background: linear-gradient(180deg, #fbe0a5 0%, #ecc57f 100%); box-shadow: 0 14px 30px -14px rgba(236, 197, 127, .8), inset 0 1px 0 rgba(255, 255, 255, .55); }
.sp-btn-glass { color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .38); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.sp-btn-glass:hover { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .7); }

.sp-contact-chip { display: inline-flex; align-items: center; gap: 14px; margin-top: 28px; padding: 10px 22px 10px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--sp-line); font: 600 15px/1.3 var(--font); color: var(--sp-ink); transition: border-color .3s, box-shadow .4s var(--sp-ease); }
.sp-contact-chip:hover { border-color: rgba(216, 178, 110, .7); box-shadow: 0 14px 30px -18px rgba(163, 124, 67, .6); }
.sp-contact-chip small { display: block; margin-bottom: 2px; font: 700 10.5px/1.2 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--sp-gold-text); }
.sp-contact-chip .sp-badge { width: 44px; height: 44px; }
.sp-contact-chip .sp-badge svg { width: 19px; height: 19px; }
.sp-contact-chip-dark { margin-top: 0; background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); color: #fff; }
.sp-contact-chip-dark small { color: var(--sp-gold-soft); }
.sp-contact-chip-dark:hover { border-color: rgba(243, 215, 156, .5); box-shadow: none; background: rgba(255, 255, 255, .1); }

/* 1. Services */
.sp-services { padding: clamp(84px, 9vw, 128px) 0 clamp(72px, 8vw, 110px); background: var(--sp-ivory); border-top: 1px solid #ece4d6; scroll-margin-top: 100px; }
.sp-tabs { position: sticky; top: calc(var(--hdr, 84px) + 10px); z-index: 20; margin: 0 0 30px; display: flex; justify-content: center; pointer-events: none; }
.sp-tabs-track {
  pointer-events: auto; display: flex; gap: 4px; padding: 5px; border-radius: 999px; max-width: 100%; overflow-x: auto; scrollbar-width: none;
  background: rgba(255, 253, 248, .86); border: 1px solid rgba(216, 178, 110, .35);
  backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 16px 34px -22px rgba(6, 20, 31, .5);
}
.sp-tabs-track::-webkit-scrollbar { display: none; }
.sp-tabs a { flex: none; padding: 11px 18px; border-radius: 999px; font: 700 13.5px/1 var(--font); color: #5c5545; white-space: nowrap; transition: background-color .35s var(--sp-ease), color .3s; }
.sp-tabs a:hover { background: #f4ead6; color: var(--sp-ink); }
.sp-tabs a.is-active { background: linear-gradient(180deg, #12324a, var(--sp-navy)); color: #fff; box-shadow: 0 6px 14px -6px rgba(4, 19, 29, .6); }

.sp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.sp-card {
  position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 30px 28px 26px; border-radius: 24px;
  background: #fff; border: 1px solid var(--sp-line); box-shadow: 0 2px 6px rgba(12, 30, 44, .04); scroll-margin-top: 170px;
}
.sp-card::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--sp-gold), #f3d79c, var(--sp-gold)); transform: scaleX(0); transform-origin: left; transition: transform .7s var(--sp-ease); }
.sp-card.is-visible:hover, .sp-card:target { transform: translateY(-8px); box-shadow: 0 34px 60px -34px rgba(6, 20, 31, .45); border-color: rgba(216, 178, 110, .55); transition-delay: 0s; }
.sp-card:hover::before, .sp-card:target::before { transform: scaleX(1); }
.sp-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.sp-card-label { margin: 0; font: 700 11px/1.3 var(--font); letter-spacing: .18em; text-transform: uppercase; color: var(--sp-gold-text); }
.sp-card h3 { margin: 8px 0 0; font: 600 24px/1.2 var(--display); color: var(--sp-ink); }
.sp-card-text { margin-top: 12px; font-size: 15px; line-height: 1.7; color: var(--sp-muted); }
.sp-ticks { display: grid; gap: 10px; margin: 20px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid #efe7d8; }
.sp-ticks li { position: relative; padding-left: 28px; font: 500 14.5px/1.5 var(--font); color: #3b4a53; }
.sp-ticks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 19px; height: 19px; border-radius: 50%; background: rgba(216, 178, 110, .18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a37c43' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 11px no-repeat; }
.sp-card-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 24px; font: 700 15px/1.3 var(--font); color: var(--sp-ink); }
.sp-card-link .icon { flex: none; box-sizing: border-box; width: 42px; height: 42px; padding: 11px; border-radius: 50%; border: 1px solid var(--sp-line); stroke-width: 2; transition: transform .5s var(--sp-ease), background-color .3s, border-color .3s, color .3s; }
.sp-card:hover .sp-card-link .icon { transform: rotate(-35deg); background: var(--sp-gold-soft); border-color: var(--sp-gold-soft); }
/* Featured card */
.sp-card-featured { background: linear-gradient(160deg, #0f2c42 0%, var(--sp-navy) 70%); border-color: transparent; color: #fff; box-shadow: 0 30px 60px -36px rgba(6, 20, 31, .8); }
.sp-card-featured h3, .sp-card-featured .sp-card-link { color: #fff; }
.sp-card-featured .sp-card-text, .sp-card-featured .sp-ticks li { color: rgba(255, 255, 255, .74); }
.sp-card-featured .sp-card-label { color: var(--sp-gold-soft); }
.sp-card-featured .sp-ticks { border-color: rgba(255, 255, 255, .12); }
.sp-card-featured .sp-num { -webkit-text-stroke-color: rgba(243, 215, 156, .55); }
.sp-card-featured .sp-badge { background: rgba(255, 255, 255, .06); }
.sp-card-featured .sp-card-link .icon { border-color: rgba(255, 255, 255, .25); }
.sp-card-featured:hover .sp-card-link .icon { color: var(--sp-ink); }

/* 2. Fleet strip */
.sp-fleet { padding: clamp(80px, 8vw, 112px) 0; background: var(--sp-cream); }
.sp-fleet-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.sp-car { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 4.6; border-radius: 22px; color: #fff; isolation: isolate; box-shadow: 0 24px 50px -32px rgba(6, 20, 31, .7); }
.sp-car img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.3s var(--sp-ease); }
.sp-car::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(4, 13, 21, 0) 40%, rgba(4, 13, 21, .88) 100%); }
.sp-car:hover img { transform: scale(1.07); }
.sp-car-copy { position: absolute; left: 22px; right: 70px; bottom: 22px; }
.sp-car-copy small { display: block; font: 700 11px/1.3 var(--font); letter-spacing: .16em; text-transform: uppercase; color: var(--sp-gold-soft); }
.sp-car-copy strong { display: block; margin-top: 6px; font: 600 22px/1.2 var(--display); }
.sp-car-go { position: absolute; right: 20px; bottom: 22px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .08); backdrop-filter: blur(6px); transition: transform .5s var(--sp-ease), background-color .3s, border-color .3s; }
.sp-car-go svg { width: 17px; height: 17px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sp-car:hover .sp-car-go { transform: rotate(-35deg); background: var(--sp-gold-soft); border-color: var(--sp-gold-soft); }
.sp-car:hover .sp-car-go svg { stroke: var(--sp-ink); }

/* 3. Promise */
.sp-promise { position: relative; isolation: isolate; overflow: hidden; padding: clamp(84px, 9vw, 128px) 0; color: #fff; background: radial-gradient(90% 120% at 0% 0%, #12304a 0%, var(--sp-navy) 55%); }
.sp-promise-art { position: absolute; inset: 0 0 0 50%; z-index: -1; opacity: .3; background: url('assets/sydney-evening.png') center 40% / cover no-repeat; -webkit-mask-image: linear-gradient(90deg, transparent, #000 50%); mask-image: linear-gradient(90deg, transparent, #000 50%); }
.sp-promise-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 90px); align-items: center; }
.sp-promise h2 { margin-top: 18px; font-size: clamp(34px, 4vw, 54px); line-height: 1.06; color: #fff; }
.sp-promise h2 em { display: block; font-style: italic; font-weight: 500; color: var(--sp-gold-soft); }
.sp-promise-copy > p { margin: 22px 0 30px; max-width: 460px; font-size: 16.5px; line-height: 1.75; color: rgba(255, 255, 255, .74); }
.sp-promise-list { display: grid; gap: 14px; }
.sp-promise-list article {
  display: flex; align-items: center; gap: 18px; padding: 22px 24px; border-radius: 20px;
  background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .02)); border: 1px solid rgba(243, 215, 156, .16);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.sp-promise-list article.is-visible:hover { transform: translateX(6px); border-color: rgba(243, 215, 156, .5); transition-delay: 0s; }
.sp-promise-list div { flex: 1; }
.sp-promise-list h3 { font: 600 20px/1.25 var(--display); color: #fff; }
.sp-promise-list p { margin-top: 5px; font-size: 14.5px; line-height: 1.6; color: rgba(255, 255, 255, .68); }
.sp-promise-list .sp-num { font-size: 32px; -webkit-text-stroke-color: rgba(243, 215, 156, .5); }

/* 4. Process */
.sp-process { padding: clamp(84px, 9vw, 128px) 0 clamp(70px, 7vw, 100px); background: var(--sp-ivory); }
.sp-steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 0; padding: 0; list-style: none; }
.sp-steps::before { content: ""; position: absolute; left: 16.6%; right: 16.6%; top: 22px; height: 1.5px; background: repeating-linear-gradient(90deg, var(--sp-gold) 0 8px, transparent 8px 16px); opacity: .7; }
.sp-steps li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 18px 10px; }
.sp-node { position: relative; z-index: 1; display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 26px; border-radius: 50%; background: var(--sp-ivory); border: 1.5px solid var(--sp-gold); color: var(--sp-gold-text); font: italic 600 16px/1 var(--display); box-shadow: 0 0 0 7px var(--sp-ivory); }
.sp-steps .sp-badge { margin-bottom: 20px; }
.sp-steps h3 { font: 600 23px/1.25 var(--display); color: var(--sp-ink); }
.sp-steps p { max-width: 300px; margin-top: 10px; font-size: 15.5px; line-height: 1.7; color: var(--sp-muted); }

/* 5. FAQ */
.sp-faq { padding: clamp(80px, 8vw, 112px) 0; background: var(--sp-cream); }
.sp-faq-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px, 6vw, 90px); align-items: start; }
.sp-faq-intro { position: sticky; top: calc(var(--hdr, 84px) + 40px); }
.sp-faq h2 { margin-top: 14px; font-size: clamp(34px, 4vw, 54px); line-height: 1.06; color: var(--sp-ink); }
.sp-faq-intro > p { margin-top: 20px; font-size: 16.5px; line-height: 1.7; color: var(--sp-muted); }
.sp-faq-list { display: grid; gap: 12px; }
.sp-faq-list details { border-radius: 18px; background: #fff; border: 1px solid var(--sp-line); transition: border-color .35s, box-shadow .45s var(--sp-ease); }
.sp-faq-list details[open] { border-color: rgba(216, 178, 110, .65); box-shadow: 0 20px 40px -28px rgba(6, 20, 31, .4); }
.sp-faq-list summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; font: 600 18px/1.35 var(--display); color: var(--sp-ink); }
.sp-faq-list summary::-webkit-details-marker { display: none; }
.sp-plus { position: relative; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--sp-cream); transition: background-color .35s; }
.sp-plus::before, .sp-plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 13px; height: 1.8px; margin: -.9px 0 0 -6.5px; border-radius: 2px; background: var(--sp-ink); transition: transform .45s var(--sp-ease); }
.sp-plus::after { transform: rotate(90deg); }
details[open] .sp-plus { background: var(--sp-gold-soft); }
details[open] .sp-plus::after { transform: rotate(0); }
.sp-faq-body { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .5s var(--sp-ease); }
.sp-faq-body p { overflow: hidden; padding: 0 24px 22px; font-size: 15.5px; line-height: 1.7; color: var(--sp-muted); }

/* 6. CTA */
.sp-cta { padding: clamp(80px, 8vw, 110px) 0; background: var(--sp-ivory); }
.sp-cta-panel { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; padding: clamp(40px, 5.5vw, 72px); border-radius: 32px; color: #fff; background: var(--sp-navy) url('assets/journey-banner.png') center / cover no-repeat; box-shadow: 0 50px 100px -50px rgba(6, 20, 31, .8); }
.sp-cta-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(4, 13, 21, .95) 0%, rgba(4, 13, 21, .82) 50%, rgba(4, 13, 21, .45) 100%); }
.sp-cta-panel::after { content: ""; position: absolute; left: 50px; right: 50px; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(243, 215, 156, .9), transparent); }
.sp-cta h2 { margin-top: 16px; font-size: clamp(32px, 3.6vw, 50px); line-height: 1.08; color: #fff; }
.sp-cta h2 em { display: block; font-style: italic; font-weight: 500; color: var(--sp-gold-soft); }
.sp-cta-copy > p { margin-top: 18px; max-width: 470px; font-size: 16.5px; line-height: 1.7; color: rgba(255, 255, 255, .76); }
.sp-cta-side { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; justify-self: end; }
.sp-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Tablet */
@media (max-width: 1100px) {
  .sp-grid { grid-template-columns: repeat(2, 1fr); }
  .sp-fleet-grid { grid-template-columns: repeat(2, 1fr); }
  .sp-car { aspect-ratio: 4 / 3.3; }
  .sp-promise-grid, .sp-faq-grid { grid-template-columns: 1fr; }
  .sp-faq-intro { position: static; }
  .sp-promise-art { inset: 45% 0 0 0; -webkit-mask-image: linear-gradient(180deg, transparent, #000 50%); mask-image: linear-gradient(180deg, transparent, #000 50%); }
  .sp-cta-panel { grid-template-columns: 1fr; }
  .sp-cta-side { justify-self: start; }
}
@media (max-width: 900px) {
  .sp-heading { flex-direction: column; align-items: flex-start; gap: 16px; }
  .sp-heading-center { align-items: center; }
  .sp-heading-center > p { margin-top: 0; }
  .sp-tabs { justify-content: flex-start; }
}

/* Phone */
@media (max-width: 700px) {
  .sv-hero-lede { font-size: 15.5px; }
  .sv-eyebrow { font-size: 10px; }
  .sv-button, .sv-hero-actions .sv-button { min-height: 50px; padding-inline: 20px; font-size: 14px; }
  .sv-hero-signature { font-size: 9px; }
  .sv-photo-caption { font-size: 8px; }
  .sp-eyebrow { font-size: 10.5px; letter-spacing: .2em; gap: 10px; }
  .sp-eyebrow > span { width: 28px; }
  .sp-heading > p, .sp-promise-copy > p, .sp-faq-intro > p, .sp-cta-copy > p { font-size: 15.5px; }
  .sp-services, .sp-fleet, .sp-promise, .sp-faq { padding: 72px 0; }
  .sp-tabs { top: calc(var(--hdr, 66px) + 8px); margin-inline: calc(var(--side) * -1); padding-inline: var(--side); }
  .sp-tabs a { padding: 10px 14px; font-size: 13px; }
  .sp-grid { grid-template-columns: 1fr; gap: 14px; }
  .sp-card { padding: 24px 22px 20px; border-radius: 20px; }
  .sp-card h3 { font-size: 22px; }
  .sp-card-text { font-size: 14.5px; }
  .sp-ticks li { font-size: 14px; }
  .sp-fleet-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .sp-car { aspect-ratio: 3 / 3.6; border-radius: 18px; }
  .sp-car-copy { left: 14px; right: 14px; bottom: 16px; }
  .sp-car-copy small { font-size: 9.5px; }
  .sp-car-copy strong { font-size: 17px; }
  .sp-car-go { right: 12px; top: 12px; bottom: auto; width: 34px; height: 34px; }
  .sp-promise-list article { padding: 18px; gap: 14px; }
  .sp-promise-list .sp-num { display: none; }
  .sp-promise-list h3 { font-size: 18px; }
  .sp-promise-list .sp-badge { width: 46px; height: 46px; }
  .sp-process { padding: 72px 0 56px; }
  .sp-steps { grid-template-columns: 1fr; gap: 0; }
  .sp-steps::before { left: 22px; right: auto; top: 22px; bottom: 30px; width: 1.5px; height: auto; background: repeating-linear-gradient(180deg, var(--sp-gold) 0 8px, transparent 8px 16px); }
  .sp-steps li { display: grid; grid-template-columns: 46px 56px 1fr; column-gap: 14px; align-items: start; text-align: left; padding: 0 0 28px; }
  .sp-node { margin: 0; grid-row: span 2; }
  .sp-steps .sp-badge { width: 56px; height: 56px; margin: 0; grid-row: span 2; }
  .sp-steps .sp-badge svg { width: 22px; height: 22px; }
  .sp-steps h3 { font-size: 20px; padding-top: 4px; }
  .sp-steps p { margin-top: 6px; font-size: 14.5px; }
  .sp-note { border-radius: 16px; align-items: flex-start; }
  .sp-faq-list summary { padding: 18px; font-size: 16.5px; }
  .sp-faq-body p { padding: 0 18px 18px; font-size: 14.5px; }
  .sp-contact-chip { width: 100%; font-size: 14px; }
  .sp-cta { padding: 64px 0; }
  .sp-cta-panel { padding: 34px 22px; border-radius: 24px; gap: 26px; }
  .sp-cta-panel::after { left: 24px; right: 24px; }
  .sp-cta-side, .sp-cta-actions { width: 100%; }
  .sp-cta-actions .sp-btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .services-motion-ready [data-service-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Mobile: hero photo labels never overlap — note bottom-left, caption top-right */
@media (max-width: 700px) {
  .sv-hero-visual .sv-photo-caption { top: 14px; bottom: auto; right: 14px; left: auto; max-width: calc(100% - 28px); padding: 8px 12px; gap: 8px; font-size: 8.5px; letter-spacing: .14em; border-radius: 999px; }
  .sv-hero-visual .sv-photo-caption > i { width: 14px; }
  .sv-hero-visual .sv-photo-note { left: 14px; right: auto; bottom: 14px; max-width: calc(100% - 28px); padding: 7px 14px 7px 7px; border-radius: 999px; }
  .sv-hero-visual .sv-photo-note strong { font-size: 12px; }
  .sv-hero-visual .sv-photo-note small { font-size: 10.5px; }
  .sv-hero-visual .sv-note-mark { width: 30px; height: 30px; font-size: 16px; }
}
@media (max-width: 360px) {
  .sv-hero-visual .sv-photo-caption > span:last-child { white-space: normal; }
}
