/* Service destinations and authentic vehicle albums use the incumbent palette. */
.service-image { display:block; }
.service-card h2 a:hover,.service-card h3 a:hover { color:var(--purple-light); }
.service-content { display:flex;flex-direction:column;flex:1; }
.service-card { display:flex;flex-direction:column; }
.service-image { flex-shrink:0; }
.service-footer { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding-top:22px; }
.service-footer .service-more { margin:0;border:0;padding:0;min-height:44px;width:auto;gap:24px; }
.home-service-grid .service-footer { padding-top:10px;border-top:1px solid var(--line);gap:12px; }
.home-service-grid .service-more { font-size:13px;gap:8px; }
.home-service-grid .catalogue-price { font-size:18px; }
.catalogue-price { color:var(--white);font-size:20px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums; }
.page-breadcrumb { display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:13px;color:var(--muted); }
.page-breadcrumb a { min-height:44px;display:inline-flex;align-items:center; }
.page-breadcrumb a:hover { color:var(--purple-light); }
.page-breadcrumb [aria-current] { color:#d6c9e2; }
.service-page-intro { padding:32px 0 64px; }
.service-page-opening { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:72px;align-items:center;margin-top:38px; }
.service-page-lead h1 { font-size:clamp(38px,3.6vw,54px);line-height:1.15; }
.service-page-lead>p { font-size:17px;line-height:1.7;margin-top:24px;max-width:55ch; }
.service-page-price { display:inline-block;margin-top:26px;color:var(--purple-light);font-size:30px;font-weight:600;font-variant-numeric:tabular-nums; }
.service-page-lead p.service-cost-note { margin-top:6px;font-size:13px; }
.service-page-lead .button { margin-top:25px; }
.service-benefits { list-style:none;margin:0;padding:0;border-top:1px solid var(--line); }
.service-benefits li { display:flex;align-items:center;gap:18px;min-height:88px;padding:22px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.55; }
.service-benefits svg { width:22px;height:22px;color:var(--purple-light); }
.service-page-content { background:#121115;padding:64px 0;border-top:1px solid var(--line); }
.service-page-columns { display:grid;grid-template-columns:1.4fr 1fr;gap:110px;align-items:start; }
.service-reading h2 { font-size:30px;margin-top:42px; }
.service-reading h2:first-child { margin-top:0; }
.service-reading>p,.service-reading li { font-size:16px;line-height:1.8; }
.service-reading>p { margin-top:18px; }
.service-reading ul { margin:18px 0 0;padding-left:22px;color:#c9bfda; }
.service-reading li+li { margin-top:10px; }
.service-reading li::marker { color:var(--purple-light); }
.service-consultation { border-top:1px solid #5a456c;padding-top:28px; }
.service-consultation h2 { font-size:32px; }
.service-consultation p { font-size:15px;line-height:1.8;margin-top:18px; }
.service-consultation .button { margin-top:24px; }
.service-consultation .text-link { display:flex;margin-top:22px;font-size:13px;color:#d4bdf4; }
.related-services { padding:68px 0; }
.related-services h2 { font-size:34px; }
.related-services .section-heading { align-items:center; }
.related-list { border-top:1px solid var(--line); }
.related-service { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;min-height:78px;border-bottom:1px solid var(--line);font-size:17px; }
.related-service>span:last-child { display:flex;gap:22px;align-items:center;white-space:nowrap;font-size:15px;color:#d9c4f3;font-variant-numeric:tabular-nums; }
.related-service:hover>span:first-child { color:var(--purple-light); }
.work-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px; }
.works-section .section-heading p { font-size:14px; }
.project-card { display:block;min-width:0; }
.project-cover { overflow:hidden;border-radius:4px; }
.project-cover img { width:100%;height:auto; }
.project-card-title { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 14px; }
.project-card-title h3 { font-size:23px; }
.project-card-title>span { display:inline-flex;align-items:center;gap:16px;color:#cfb1f3;font-size:13px;white-space:nowrap; }
.project-card-title svg { width:20px;height:20px; }
.project-card:hover h3 { color:var(--purple-light); }
.project-previews { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.project-previews img { width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:var(--panel);border-radius:3px; }
.project-intro { padding:32px 0 34px; }
.project-intro-heading { display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:32px; }
.project-intro h1 { font-size:clamp(38px,4vw,58px); }
.project-intro-heading p { white-space:nowrap;color:#d3bcea;font-size:14px; }
.project-intro .container>p { margin-top:16px;font-size:15px; }
.project-album { padding:0 0 16px; }
.album-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start; }
.album-photo { margin:0;min-width:0; }
.album-photo:first-child { grid-column:1/-1;width:100%;max-width:960px;justify-self:center; }
.album-photo img { width:100%;height:auto;border-radius:4px; }
.album-photo figcaption { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:9px;color:var(--muted);font-size:13px; }
.album-photo .text-link { font-size:12px;gap:12px;color:#d4bdf4; }
.album-photo .text-link svg { height:17px;width:17px; }
.reviews-heading p { margin-top:16px; }
.reviews-heading .button { flex-shrink:0; }
.reviews-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px; }
.review-item { margin:0;padding-top:28px;border-top:1px solid var(--line);min-width:0; }
.review-item figcaption { display:flex;flex-direction:column;gap:6px; }
.review-item figcaption strong { font-size:18px;font-weight:600;line-height:1.4; }
.review-item figcaption>span { font-size:13px;color:var(--muted); }
.review-rating { display:flex;gap:4px;margin-top:18px;color:var(--purple-light); }
.review-rating svg { width:18px;height:18px;fill:currentColor;stroke:none; }
.review-item blockquote { margin:20px 0 0; }
.review-item blockquote p { color:var(--white);font-size:15px;line-height:1.8; }
.review-item blockquote p+p { margin-top:12px; }
@media(max-width:1180px) {
  .service-page-opening { gap:48px; }
  .service-page-columns { gap:58px; }
}
@media(max-width:980px) {
  .service-page-opening { grid-template-columns:1fr;gap:32px; }
  .service-benefits { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
  .service-benefits li { align-items:flex-start;gap:12px; }
  .service-benefits svg { margin-top:3px; }
  .service-page-lead h1 { max-width:24ch; }
  .service-page-columns { grid-template-columns:1fr;gap:44px; }
  .service-consultation { max-width:640px; }
  .project-card-title h3 { font-size:20px; }
  .project-card-title { align-items:start;gap:12px; }
}
@media(max-width:730px) {
  .service-page-intro { padding:22px 0 36px; }
  .page-breadcrumb { font-size:12px;gap:4px 9px; }
  .service-page-opening { margin-top:24px; }
  .service-benefits { display:block; }
  .service-benefits li { min-height:72px;padding:20px 0;font-size:16px;align-items:center; }
  .service-benefits svg { margin-top:0; }
  .service-page-lead h1 { font-size:clamp(30px,9vw,36px);max-width:100%; }
  .service-page-lead>p { font-size:16px;margin-top:20px; }
  .service-page-price { font-size:28px;margin-top:22px; }
  .service-page-lead p.service-cost-note { font-size:12px; }
  .service-page-content { padding:40px 0; }
  .service-page-columns { gap:36px; }
  .service-reading h2 { font-size:27px;margin-top:34px; }
  .service-reading>p,.service-reading li { font-size:15px; }
  .service-consultation h2 { font-size:29px; }
  .related-services { padding:44px 0; }
  .related-services h2 { font-size:30px; }
  .related-services .section-heading { display:flex;flex-wrap:wrap;gap:8px; }
  .related-services .section-heading .text-link { font-size:12px; }
  .related-service { flex-wrap:wrap;gap:12px;padding:20px 0;font-size:16px; }
  .related-service>span:last-child { font-size:14px;justify-content:space-between; }
  .related-service>span:first-child { flex-basis:100%; }
  .service-footer { gap:16px; }
  .catalogue-price { font-size:20px; }
  .work-grid { grid-template-columns:1fr;gap:32px; }
  .project-card-title h3 { font-size:21px; }
  .project-card-title>span { gap:10px;font-size:12px; }
  .works-section .section-heading p { font-size:13px; }
  .project-intro { padding:22px 0 28px; }
  .project-intro-heading { flex-direction:column;align-items:start;gap:14px;margin-top:24px; }
  .project-intro h1 { font-size:38px; }
  .project-intro .container>p { font-size:14px;margin-top:14px; }
  .album-grid { grid-template-columns:1fr;gap:20px; }
  .album-photo:first-child { grid-column:auto; }
  .album-photo figcaption { align-items:start;gap:12px;font-size:12px; }
  .album-photo .text-link { gap:7px;white-space:nowrap;font-size:12px; }
  .reviews-heading .button { margin-top:22px; }
  .reviews-list { grid-template-columns:1fr;gap:36px; }
  .review-item { padding-top:24px; }
}

/* Client-approved presentation: photographs in the catalogue, text inside each service. */
.hero-copy { max-width:660px; }
.hero-brand-line { display:block;color:var(--white);font-size:clamp(34px,3vw,46px);line-height:1.25;margin-bottom:12px; }
.hero-slogan { display:block;font-size:clamp(48px,4.5vw,66px);line-height:1.12; }
.catalogue-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:28px; }
.catalogue-card { border:0;border-radius:12px;background:var(--panel);overflow:hidden; }
.catalogue-card:hover { background:#19171e; }
.catalogue-card .service-image { aspect-ratio:4/3; }
.catalogue-card .service-content { padding:24px; }
.catalogue-card h2 { font-size:22px;line-height:1.25;max-width:100%;min-height:78px; }
.catalogue-card .service-content>p:not(.catalogue-category) { min-height:44px;margin-top:14px; }
.catalogue-card .service-more { margin:0;padding:0;gap:10px;font-size:13px; }
.catalogue-price { display:inline-block; }
.works-heading { align-items:end; }
.works-heading p { margin-top:16px; }
.project-navigation { display:flex;gap:8px;flex-shrink:0; }
.project-navigation .icon-button { border:1px solid var(--line); }
.project-navigation button:disabled { opacity:.35;cursor:default; }
.project-navigation button:disabled:hover { background:transparent; }
.project-slider { display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;min-width:0;padding:8px 8px 16px;margin:0 -8px;scroll-padding-inline:8px; }
.project-card { background:var(--panel);border-radius:12px;overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column; }
.project-card-copy { padding:24px 24px 20px; }
.project-card-copy h3 { font-size:22px;line-height:1.25;min-height:56px; }
.project-card-copy p { font-size:12px;margin-top:10px; }
.project-card-open { display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #625c6c;border-radius:4px;padding:10px 14px;min-height:44px;margin-top:20px;font-size:13px;color:var(--white); }
.project-card-open svg { width:20px;height:20px; }
.project-card:hover .project-card-open { border-color:var(--purple-light);color:var(--purple-light); }
.project-cover { aspect-ratio:4/3;background:var(--panel);margin-top:auto;border-radius:0; }
.project-cover img { width:100%;height:100%;object-fit:contain; }
.contacts-grid { grid-template-columns:1fr 1.1fr;gap:64px;align-items:center; }
.contact-address { font-size:18px;color:var(--white);margin-top:28px;max-width:28ch; }
.contact-phone { display:inline-flex;align-items:center;min-height:44px;margin-top:16px;font-size:clamp(26px,2.4vw,34px);font-weight:600;letter-spacing:-.025em;white-space:nowrap; }
.contact-phone:hover { color:var(--purple-light); }
.contact-caption { font-size:13px;margin-top:4px; }
.contact-socials { display:flex;flex-wrap:wrap;gap:10px;margin-top:24px; }
.contacts-copy .contact-socials .button { margin-top:0; }
.contact-socials .button { gap:12px; }
.contact-route { margin-top:20px;color:var(--purple-light); }
.studio-map { border-radius:4px;overflow:hidden;min-width:0;background:var(--panel); }
.studio-map iframe { display:block;width:100%;height:430px;border:0; }
.map-caption { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;font-size:12px;color:#d8c5ee;min-height:48px; }
.map-caption>span:last-child { display:inline-flex;align-items:center;gap:10px; }
.map-caption svg { width:18px;height:18px; }
.footer-business { display:flex;align-items:start;justify-content:space-between;gap:24px;margin-top:24px; }
.footer-business p { font-size:12px;line-height:1.7; }
.footer-business p:last-child { display:flex;gap:24px;flex-wrap:wrap; }
.footer-business span { white-space:nowrap; }
.booking-contact { display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 28px; }
.booking-contact .button { gap:12px;flex:1;white-space:nowrap; }
.contact-dock { display:none; }
@media(max-width:1180px) {
  .contacts-grid { gap:40px; }
}
@media(max-width:980px) {
  .catalogue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-slider { grid-auto-columns:calc((100% - 24px)/2); }
  .contacts-grid { grid-template-columns:1fr;gap:36px; }
  .contacts-copy { max-width:640px; }
  .footer-business { flex-direction:column;gap:8px; }
}
@media(max-width:730px) {
  .hero-brand-line { font-size:clamp(27px,6.8vw,36px);margin-bottom:14px; }
  .hero-slogan { font-size:clamp(36px,9vw,56px); }
  .catalogue-grid { grid-template-columns:1fr;gap:24px; }
  .catalogue-card h2 { min-height:0; }
  .catalogue-card .service-content>p:not(.catalogue-category) { min-height:0;margin-bottom:22px; }
  .works-heading { display:flex;align-items:start;gap:20px; }
  .works-heading p { font-size:13px; }
  .project-navigation { margin-top:3px; }
  .project-slider { grid-auto-columns:min(300px,calc(100% - 36px));gap:16px; }
  .project-card-copy h3 { font-size:21px; }
  .project-card-copy { padding:24px 20px 20px; }
  .contact-phone { font-size:28px; }
  .studio-map iframe { height:340px; }
  .footer-business p:last-child { flex-direction:column;gap:4px; }
  .footer-bottom { flex-wrap:wrap;gap:12px 24px; }
  .booking-contact { flex-direction:column; }
  .booking-contact .button { white-space:normal; }
  body { padding-bottom:calc(82px + env(safe-area-inset-bottom)); }
  html { scroll-padding-bottom:90px; }
  .contact-dock { position:fixed;left:0;right:0;bottom:0;z-index:15;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line); }
  .contact-dock .button { min-height:48px;padding:12px 14px;gap:10px;font-size:13px; }
  body:has(dialog[open]) .contact-dock { visibility:hidden; }
}
@media(prefers-reduced-motion:reduce) {
  .project-slider { scroll-behavior:auto; }
}
