/* Shared design system: home, coating, polishing and ozone. */
:root {
  --black:#070908; --black-soft:#0d100e; --black-card:#111512;
  --white:#f5f6f1; --paper:#eeefe9; --grey:#b0b6b0; --grey-dark:#969e97;
  --green:#c1f238; --green-bright:#d4ff5a;
  --line:rgba(255,255,255,.14); --line-dark:rgba(7,9,8,.18);
  --max:1360px; --gutter:clamp(1.25rem,4vw,3.5rem); --header:5rem;
  --space:clamp(3.5rem,6.5vw,6rem);
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header) + 1.5rem); background:var(--black); }
body { margin:0; color:var(--white); background:var(--black); font-family:Inter,"Helvetica Neue",Arial,sans-serif; font-size:1rem; line-height:1.65; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img,video { display:block; max-width:100%; }
button { font:inherit; cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid var(--green); outline-offset:5px; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:850; letter-spacing:-.045em; line-height:1.1; text-wrap:balance; overflow-wrap:break-word; }
p { text-wrap:pretty; }
h2 { font-size:clamp(2rem,3.6vw,3.7rem); }
h3 { font-size:clamp(1.6rem,2.2vw,2.1rem); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:1rem; left:1rem; z-index:200; padding:.8rem 1rem; color:var(--black); background:var(--green); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.section { width:min(100%,var(--max)); margin-inline:auto; padding:var(--space) var(--gutter); }
.section-kicker,.eyebrow { margin-bottom:1rem; color:var(--green); font-size:.8125rem; line-height:1.6; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.section-heading { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); align-items:end; gap:3rem; margin-bottom:2.5rem; }
.section-heading>p { max-width:36rem; color:var(--grey); }
.button,.header-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:1.25rem; min-height:3.4rem; padding:.9rem 1.25rem; border:1px solid transparent; border-radius:3px; font-size:.9375rem; font-weight:750; line-height:1.4; transition:background .18s,border-color .18s,color .18s; }
.button>span,.header-cta>span { flex-shrink:0; }
.button-primary { color:var(--black); background:var(--green); }
.button-primary:hover { background:var(--green-bright); }
.button-ghost { border-color:#ffffff60; background:#07090880; color:var(--white); }
.button-ghost:hover { border-color:var(--white); background:var(--black); }
.button-dark { background:var(--black); color:var(--white); }
.button-dark:hover { background:#242b22; }
.appointment { margin-top:1rem; font-size:.875rem; color:var(--grey); }

/* The same navigation geometry on every route. */
.site-header { position:fixed; inset:0 0 auto; z-index:100; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1.5rem; min-height:calc(var(--header) + env(safe-area-inset-top)); padding:env(safe-area-inset-top) var(--gutter) 0; border-bottom:1px solid var(--line); background:rgba(7,9,8,.95); }
.brand { display:inline-flex; align-items:center; gap:.65rem; width:fit-content; }
.brand img { width:2.7rem; height:2.7rem; object-fit:contain; }
.brand-name { font-size:1rem; font-weight:950; letter-spacing:-.045em; white-space:nowrap; }
.brand-name em { color:var(--green); font-style:italic; }
.main-nav { display:flex; align-items:center; justify-content:center; gap:clamp(.9rem,1.5vw,1.6rem); }
.main-nav>a,.services-toggle { min-height:44px; display:flex; align-items:center; font-size:.875rem; font-weight:700; }
.main-nav>a:hover,.services-toggle:hover,.main-nav [aria-current="page"] { color:var(--green); }
.nav-group { position:relative; }
.services-toggle { border:0; padding:.5rem 0; gap:.5rem; color:inherit; background:none; }
.services-menu { position:absolute; top:calc(100% + .5rem); left:-1rem; width:18rem; padding:.5rem; border:1px solid var(--line); background:var(--black-card); box-shadow:0 1rem 2.5rem #0008; }
.services-menu a { display:flex; align-items:center; min-height:48px; padding:.7rem .8rem; font-size:.9375rem; }
.services-menu a:hover,.services-menu a:focus-visible { color:var(--green); background:#ffffff08; }
.header-cta { min-height:44px; padding:.65rem 1rem; font-size:.875rem; color:var(--green); border-color:#c1f23870; }
.header-cta:hover { background:var(--green); color:var(--black); }
.menu-toggle,.nav-mobile-meta,.nav-mobile-cta,.mobile-whatsapp { display:none; }

/* Home: restrained typography and a consistent content rail. */
.hero { position:relative; isolation:isolate; background:var(--black-soft); }
.hero-media,.hero-media img,.hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-media { z-index:-3; overflow:hidden; }
.hero-media img { object-fit:cover; object-position:58% 55%; filter:brightness(.78); }
.hero-shade { z-index:-2; background:linear-gradient(90deg,#070908ee 0%,#070908a8 48%,#07090818 100%),linear-gradient(0deg,#070908ed,transparent 65%); }
.hero-inner { width:min(100%,var(--max)); min-height: min(900px,100svh); margin-inline:auto; display:flex; flex-direction:column; justify-content:flex-end; padding:calc(var(--header) + 5rem) var(--gutter) 0; }
.hero-copy { max-width:53rem; padding-bottom:3.5rem; }
.eyebrow { display:flex; align-items:center; gap:.8rem; }
.eyebrow::before { content:""; width:2rem; height:1px; flex-shrink:0; background:currentColor; }
.hero h1 { max-width:16ch; font-size:clamp(3rem,5.8vw,5.8rem); line-height:1.04; }
.hero h1 em { color:var(--green); font-style:normal; }
.hero-text { max-width:38rem; margin-top:1.5rem; color:#e1e5dc; font-size:1.0625rem; }
.hero-claim { margin-top:.8rem; font-weight:700; font-size:1rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.75rem; }
.hero-actions .button { min-width:12rem; }
.hero-foot { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
.hero-foot p { display:flex; align-items:center; min-height:4.5rem; padding:1rem 1.5rem; border-right:1px solid var(--line); color:#d3d8cd; font-size:.8125rem; font-weight:650; }
.hero-foot p:first-child { padding-left:0; }
.hero-foot p:last-child { border-right:0; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.service-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:4px; background:var(--black-card); }
.service-media { display:block; position:relative; aspect-ratio:4/3; flex-shrink:0; overflow:hidden; background:var(--black-soft); }
.service-media img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .35s; }
.service-card:hover .service-media img { transform:scale(1.025); }
.service-content { flex:1; min-width:0; display:flex; flex-direction:column; padding:clamp(1.2rem,2vw,1.8rem); }
.service-title h3 { max-width:15ch; min-height:2.25em; font-size:clamp(1.6rem,2.15vw,2rem); }
.service-title strong { display:block; margin-top:1rem; color:var(--green); font-size:.875rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.service-content>p { margin:1.1rem 0 1.5rem; color:var(--grey); font-size:1rem; }
.service-facts { margin:0 0 1.5rem; padding:0; list-style:none; border-top:1px solid var(--line); }
.service-facts li { display:grid; gap:.35rem; padding:.9rem 0; border-bottom:1px solid var(--line); }
.service-facts strong { color:#d0d7c8; font-size:.8125rem; text-transform:uppercase; letter-spacing:.04em; }
.service-facts span { color:var(--grey); font-size:1rem; }
.service-actions { display:grid; gap:.6rem; margin-top:auto; }
.service-actions a { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:3.25rem; padding:.8rem 1rem; border:1px solid var(--line); border-radius:3px; font-size:.875rem; font-weight:750; line-height:1.4; }
.service-actions a:hover { border-color:var(--green); }
.service-budget { color:var(--black); background:var(--green); }
.service-budget:hover { background:var(--green-bright); }
.price-note { margin-top:1.25rem; color:var(--grey-dark); font-size:.875rem; }
.trust-band { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--green); color:var(--black); padding-inline:max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter))); }
.trust-band>div { display:flex; align-items:center; min-height:6.5rem; padding:1.5rem; border-right:1px solid var(--line-dark); }
.trust-band>div:first-child { padding-left:0; }
.trust-band>div:last-child { border:0; }
.trust-band span { font-size:.875rem; font-weight:750; line-height:1.5; }

/* Gallery uses equal frames so cars remain legible at every breakpoint. */
.work { width:100%; max-width:none; color:var(--black); background:var(--paper); }
.work>* { max-width:calc(var(--max) - 2*var(--gutter)); margin-inline:auto; }
.work .section-kicker { color:#526710; }
.work-heading>p { color:#52594f; }
.work-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.work-card { position:relative; min-width:0; aspect-ratio:4/3; overflow:hidden; background:#171c17; border-radius:3px; }
.work-card img,.work-card video,.photo-button { width:100%; height:100%; }
.work-card img { object-fit:cover; object-position:center; transition:transform .35s; }
.work-card:hover img { transform:scale(1.025); }
.work-card::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(0deg,#000b,transparent); pointer-events:none; }
.work-card figcaption { position:absolute; z-index:2; left:1rem; right:1rem; bottom:1rem; color:var(--white); pointer-events:none; }
.work-card figcaption strong { display:block; font-size:1rem; line-height:1.3; }
.work-card figcaption span { display:block; margin-top:.3rem; font-size:.8125rem; color:#e0e5d9; }
.photo-button { display:block; padding:0; border:0; background:none; cursor:zoom-in; }
.gallery-hyundai img { object-position:50% 60%; }
.work-cta,.reviews-action { display:flex; justify-content:center; margin-top:2rem; }
.process { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); color:var(--black); background:var(--green); }
.process-media { position:relative; min-width:0; min-height:30rem; }
.process-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.process-media>p { position:absolute; left:var(--gutter); right:var(--gutter); bottom:1.5rem; display:flex; justify-content:space-between; color:var(--white); background:#070908ba; padding:.6rem .8rem; font-size:.8125rem; }
.process-content { align-self:center; max-width:680px; padding:var(--space) var(--gutter); }
.process-content .section-kicker { color:#455b0b; }
.process-lead,.about-copy { margin-top:1.25rem; color:#273514; font-size:1rem; }
.quote-panel { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); border:1px solid #c1f23850; background:var(--black-card); border-radius:4px; }
.quote-copy,.quote-checklist { padding:clamp(1.5rem,3.5vw,3rem); }
.quote-copy h2 { max-width:16ch; }
.quote-copy>p:not(.section-kicker):not(.appointment) { margin:1.4rem 0 1.75rem; color:var(--grey); }
.quote-checklist { display:flex; flex-direction:column; justify-content:center; border-left:1px solid var(--line); }
.quote-checklist ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.quote-checklist li { padding:1.1rem 0; border-bottom:1px solid var(--line); font-size:1rem; }
.quote-checklist a { padding:.5rem 0; overflow-wrap:anywhere; }
.contact-note { margin-top:1.5rem; color:var(--grey); }
.reviews { border-top:1px solid var(--line); }
.reviews-top { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2.5rem; }
.rating { display:flex; gap:1rem; align-items:center; }
.rating strong { font-size:3rem; font-weight:850; line-height:1; }
.rating span,.rating small { display:block; }
.rating span { color:var(--green); }
.rating small { color:var(--grey); font-size:.8125rem; }
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.review-grid blockquote { display:flex; flex-direction:column; margin:0; padding:1.5rem; border:1px solid var(--line); }
.quote-mark { font-size:3rem; line-height:1; color:var(--green); }
.review-grid blockquote>p { margin:1rem 0 auto; }
.review-grid footer { display:grid; margin-top:1.5rem; font-size:.875rem; }
.review-grid footer strong { color:var(--green); }
.review-grid footer span { color:var(--grey); }
.faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:4rem; border-top:1px solid var(--line); }
.faq-heading>p:last-child { margin-top:1.5rem; color:var(--grey); }
.faq-list { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.3rem 0; min-height:4.5rem; font-weight:700; list-style:none; cursor:pointer; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { color:var(--green); font-size:1.5rem; flex-shrink:0; }
.faq details[open] summary span { transform:rotate(45deg); }
.faq details p { margin-bottom:1.5rem; color:var(--grey); }
.final-cta { position:relative; isolation:isolate; display:flex; align-items:center; min-height:34rem; background:var(--black-soft); }
.final-cta>img { position:absolute; z-index:-3; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% 55%; }
.final-cta-shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,#070908f5,#070908be 45%,#07090818); }
.final-cta-copy { width:min(100%,var(--max)); margin-inline:auto; padding:var(--space) var(--gutter); }
.final-cta h2 { max-width:15ch; font-size:clamp(2.7rem,4.8vw,4.7rem); }
.final-cta-copy>p:not(.section-kicker) { max-width:35rem; margin:1.5rem 0 1.75rem; color:#dee3d8; }

/* Service pages: images keep their own height, independent of copy. */
.service-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(2rem,4vw,4rem); padding-top:calc(var(--header) + var(--space)); }
.service-hero>div,.service-price>div { min-width:0; }
.service-hero .section-kicker { font-size:.8125rem; letter-spacing:.045em; }
.service-hero h1 { font-size:clamp(2.6rem,4.3vw,4.3rem); line-height:1.1; }
.service-lead { margin:1.5rem 0 1.75rem; color:var(--grey); max-width:38rem; font-size:1.0625rem; }
.service-hero figure { min-width:0; width:100%; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:var(--black-card); }
.service-hero figure img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; object-position:center; }
.service-hero figcaption { padding:.85rem 1rem; font-size:.8125rem; color:var(--grey); border-top:1px solid var(--line); }
.ozono-hero figure img { aspect-ratio:3/2; }
.service-explainer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; padding-top:0; }
.service-explainer article { padding:clamp(1.5rem,2.5vw,2.25rem); border:1px solid var(--line); border-radius:4px; background:var(--black-card); }
.service-explainer .section-kicker { display:none; }
.service-explainer h2 { font-size:clamp(1.5rem,2.3vw,2rem); }
.service-explainer article>p:last-child { margin-top:1rem; color:var(--grey); }
.service-price { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(2rem,4vw,4rem); background:var(--black-card); border-block:1px solid var(--line); }
.service-price h2 { font-size:clamp(2.5rem,4.5vw,4rem); }
.service-price p:not(.section-kicker):not(.appointment) { margin:1.5rem 0; max-width:38rem; color:var(--grey); }
.service-price>img { width:100%; height:auto; min-height:0; aspect-ratio:4/3; object-fit:cover; object-position:center; border-radius:4px; }
.coating-film { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:3rem; padding-top:0; }
.coating-film p:not(.section-kicker) { margin-top:1.2rem; color:var(--grey); }
.film-frame { min-width:0; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:4px; background:var(--black-card); }
.film-frame>img,.film-frame video { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.film-frame video { object-fit:contain; }
.film-frame figcaption { padding:1rem; font-size:.875rem; color:var(--grey); }
.film-play { position:absolute; top:40%; left:50%; transform:translate(-50%,-50%); max-width:90%; padding:1rem; border:0; color:var(--black); background:var(--green); }
.related-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.related-services h2 { grid-column:1/-1; margin-bottom:.5rem; font-size:2rem; }
.related-services>a { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4.5rem; padding:1.25rem; border:1px solid var(--line); border-radius:3px; font-weight:650; }
.related-services>a:hover { border-color:var(--green); color:var(--green); }
.brands { padding-block:3rem; text-align:center; border-top:1px solid var(--line); }
.brands h2 { font-size:clamp(1.7rem,2.6vw,2.5rem); }
.brand-logos { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.brand-logos img { width:100%; height:6rem; padding:1rem 1.4rem; object-fit:contain; background:var(--paper); border-radius:3px; }
.site-footer { display:grid; grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr)); gap:2rem; width:min(100%,var(--max)); margin-inline:auto; padding:3.5rem var(--gutter) 7rem; border-top:1px solid var(--line); }
.footer-brand>p { max-width:26rem; margin-top:1rem; color:var(--grey); font-size:.9375rem; }
.footer-column { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:.15rem; }
.footer-title { margin-bottom:.6rem; font-size:.8125rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#d6dccf; }
.footer-column a,.footer-column>span { display:flex; align-items:center; min-height:44px; color:var(--grey); font-size:.9375rem; overflow-wrap:anywhere; }
.footer-column a:hover { color:var(--green); }
.social-icon { width:18px; height:18px; flex:0 0 18px; margin-right:.6rem; filter:invert(1); }
.copyright { grid-column:1/-1; margin-top:1rem; padding-top:1.5rem; border-top:1px solid var(--line); color:var(--grey-dark); font-size:.8125rem; }
.floating-whatsapp { position:fixed; z-index:90; right:max(1rem,env(safe-area-inset-right)); bottom:calc(1rem + env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:center; gap:.65rem; min-height:54px; max-width:calc(100% - 2rem); padding:.85rem 1.2rem; border:1px solid #ffffff25; border-radius:100px; box-shadow:0 6px 28px #0006; background:var(--green); color:var(--black); font-size:.9375rem; font-weight:750; line-height:1.3; }
.floating-whatsapp img { flex:0 0 24px; width:24px; height:24px; }
.floating-whatsapp:hover { background:var(--green-bright); }
.menu-open .floating-whatsapp { visibility:hidden; pointer-events:none; }
.photo-viewer { width:min(1100px,95vw); max-height:90dvh; padding:3.5rem 1rem 1rem; border:1px solid var(--line); background:var(--black); color:var(--white); }
.photo-viewer::backdrop { background:#000d; }
.photo-viewer img { max-height:70dvh; width:100%; object-fit:contain; }
.photo-viewer p { margin-top:1rem; text-align:center; }
.photo-close { position:absolute; right:.5rem; top:.25rem; width:44px; height:44px; padding:0; border:0; background:none; color:var(--white); font-size:2rem; }

/* Navigation switches before laptop links become crowded. */
@media(max-width:1150px) {
  .site-header { grid-template-columns:1fr auto; }
  .header-cta { display:none; }
  .menu-toggle { position:relative; z-index:3; display:grid; place-content:center; gap:7px; width:48px; height:48px; padding:0; border:1px solid var(--line); border-radius:3px; color:var(--white); background:var(--black); }
  .menu-line { width:20px; height:1px; background:currentColor; transition:transform .18s; }
  .menu-toggle[aria-expanded="true"] .menu-line:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-line:nth-child(2) { transform:translateY(-4px) rotate(-45deg); }
  .main-nav { position:absolute; top:100%; left:0; right:0; height:calc(100vh - var(--header) - env(safe-area-inset-top)); height:calc(100dvh - var(--header) - env(safe-area-inset-top)); display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; padding:1rem var(--gutter) calc(2rem + env(safe-area-inset-bottom)); overflow-y:auto; overscroll-behavior:contain; background:var(--black); visibility:hidden; opacity:0; pointer-events:none; transform:translateY(-8px); transition:opacity .18s,transform .18s,visibility .18s; }
  .main-nav.is-open { visibility:visible; opacity:1; pointer-events:auto; transform:none; }
  .main-nav>a,.services-toggle { width:100%; min-height:60px; padding:1rem 0; border-bottom:1px solid var(--line); font-size:1.25rem; line-height:1.4; }
  .services-toggle { justify-content:space-between; }
  .services-menu { position:static; width:100%; padding:.4rem 0 .4rem 1rem; border:0; border-left:1px solid var(--green); box-shadow:none; }
  .services-menu a { min-height:50px; font-size:1rem; }
  .nav-mobile-meta { display:block; margin-top:1.5rem; color:var(--grey); font-size:.875rem; }
  .site-footer { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .footer-brand { grid-column:1/-1; }
}
@media(max-width:950px) {
  .section-heading { grid-template-columns:1fr; gap:1.5rem; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
  .service-media { aspect-ratio:1/1; height:auto; align-self:center; }
  .service-title h3 { min-height:0; max-width:none; }
  .service-actions { grid-template-columns:1fr 1fr; }
  .service-hero,.service-price { gap:2rem; }
  .service-hero h1 { font-size:clamp(2.4rem,4.8vw,3.5rem); }
  .work-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .process-content { padding-block:3rem; }
  .quote-panel,.faq { grid-template-columns:1fr; gap:0; }
  .quote-checklist { border-top:1px solid var(--line); border-left:0; }
  .faq-list { margin-top:2rem; }
  .trust-band { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trust-band>div:nth-child(2) { border-right:0; }
  .trust-band>div:nth-child(3) { padding-left:0; }
  .trust-band>div:nth-child(-n+2) { border-bottom:1px solid var(--line-dark); }
  .brand-logos { gap:.7rem; }
  .brand-logos img { height:5rem; padding:.8rem; }
}
@media(max-width:700px) {
  :root { --header:4.5rem; --gutter:1.25rem; --space:3.5rem; }
  .brand-name { font-size:.9375rem; }
  .brand img { width:2.4rem; height:2.4rem; }
  .hero-inner { min-height:0; padding-top:calc(var(--header) + 4rem); }
  .hero-copy { padding-bottom:2.5rem; }
  .hero h1 { max-width:16ch; font-size:clamp(2.5rem,9.5vw,4rem); }
  .hero-media img { object-position:60% center; }
  .hero-shade { background:linear-gradient(0deg,#070908f5,#070908b5 65%,#07090850); }
  .hero-text { font-size:1rem; }
  .hero-actions { display:grid; grid-template-columns:1fr; }
  .hero-actions .button { width:100%; }
  .eyebrow { font-size:.75rem; letter-spacing:.055em; }
  .hero-foot p { padding:.8rem; min-height:4.5rem; font-size:.75rem; line-height:1.45; }
  .section-heading { margin-bottom:2rem; }
  .service-card { display:flex; }
  .service-media { height:auto; aspect-ratio:4/3; }
  .service-content { padding:1.5rem; }
  .service-title h3 { font-size:1.85rem; }
  .service-actions { grid-template-columns:1fr; }
  .service-actions a { min-height:52px; }
  .service-hero,.service-price,.coating-film,.process { grid-template-columns:1fr; }
  .service-hero { padding-top:calc(var(--header) + 2.5rem); gap:2rem; }
  .service-hero h1 { font-size:clamp(2.35rem,9vw,3.4rem); }
  .service-hero .button,.service-price .button,.quote-copy .button { width:100%; }
  .service-hero figure img { aspect-ratio:4/3; }
  .service-explainer { grid-template-columns:1fr; gap:1rem; }
  .service-explainer article { padding:1.5rem; }
  .service-price>img { aspect-ratio:4/3; }
  .coating-film { gap:1.5rem; }
  .related-services { grid-template-columns:1fr; }
  .process-media { min-height:0; aspect-ratio:4/3; }
  .process-content { padding:var(--space) var(--gutter); }
  .work-gallery { gap:.75rem; }
  .work-card { aspect-ratio:1/1; }
  .work-card figcaption { left:.75rem; right:.75rem; bottom:.75rem; }
  .work-card figcaption strong { font-size:.875rem; }
  .work-card figcaption span { display:none; }
  .work-cta .button { width:100%; }
  .reviews-top { flex-direction:column; align-items:flex-start; }
  .review-grid { grid-template-columns:1fr; }
  .final-cta { min-height:30rem; }
  .final-cta-shade { background:linear-gradient(90deg,#070908ed,#07090888); }
  .final-cta h2 { font-size:clamp(2.5rem,9.5vw,3.7rem); }
  .final-cta .button { width:100%; }
  .brand-logos { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brand-logos img { height:5.5rem; padding:1rem; }
  .brand-logos img:last-child { grid-column:1/-1; width:calc(50% - .35rem); justify-self:center; }
  .site-footer { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 1.25rem; padding-bottom:calc(7rem + env(safe-area-inset-bottom)); }
  .footer-column:nth-child(3) { grid-column:1/-1; grid-row:3; }
  .footer-column a { font-size:.875rem; }
}
@media(max-width:380px) {
  :root { --gutter:1rem; }
  .brand-name { font-size:.875rem; }
  .work-gallery { grid-template-columns:1fr; }
  .work-card { aspect-ratio:4/3; }
  .service-content { padding:1.25rem; }
  .hero-foot { grid-template-columns:1fr; }
  .hero-foot p,.hero-foot p:first-child { padding:.65rem 0; min-height:0; border-right:0; }
  .trust-band>div { padding:1rem; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
}

/* Mobile-only art direction: the full front of the car, then readable copy.
   Desktop hero rules above are deliberately unchanged. */
@media(max-width:700px) {
  .hero { padding-top:calc(var(--header) + env(safe-area-inset-top)); }
  .hero-media { position:relative; inset:auto; display:block; width:100%; height:auto; aspect-ratio:4/3; }
  .hero-media img { object-fit:cover; object-position:50% 60%; filter:none; }
  .hero-shade { display:none; }
  .hero-inner { min-height:0; padding-top:1.75rem; background:var(--black); }
  .hero-copy { padding-bottom:2rem; }
  .hero h1 { font-size:clamp(2.25rem,8.5vw,3.5rem); }
}

/* Content additions share the existing spacing, surfaces and type. */
.text-link { display:inline-flex; align-items:center; min-height:44px; color:var(--green); text-decoration:underline; text-underline-offset:4px; }
.service-price-text { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.scope-panel { padding:clamp(1.5rem,3vw,2.5rem); border:1px solid var(--line); border-radius:4px; }
.scope-panel h3 { font-size:1.5rem; }
.scope-panel ul { padding-left:1.2rem; margin:1.25rem 0 0; color:var(--grey); }
.scope-panel li { margin-top:.65rem; }
.service-steps { padding-top:0; }
.service-steps>p { max-width:46rem; margin:1.2rem 0 2rem; color:var(--grey); }
.steps-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; list-style:none; margin:0; padding:0; }
.steps-grid li { padding:1.5rem; border-top:2px solid var(--green); background:var(--black-card); }
.steps-grid h3 { font-size:1.35rem; }
.steps-grid p { margin-top:.8rem; color:var(--grey); }
.page-intro { padding-top:calc(var(--header) + var(--space)); padding-bottom:2.5rem; }
.page-intro h1 { font-size:clamp(2.5rem,5vw,4.5rem); max-width:18ch; }
.page-intro>p:last-child { max-width:43rem; margin-top:1.5rem; color:var(--grey); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; padding-top:0; }
.price-card { display:flex; flex-direction:column; gap:1.25rem; padding:2rem; border:1px solid var(--line); background:var(--black-card); border-radius:4px; }
.price-card h2 { font-size:1.75rem; }
.price-card .price { color:var(--green); font-size:2rem; font-weight:850; }
.price-card>p:not(.price) { color:var(--grey); }
.price-card .button { margin-top:auto; }
.price-factors { padding-top:0; }
.price-factors>p { max-width:48rem; margin:1.25rem 0; color:var(--grey); }
.factor-list { display:flex; flex-wrap:wrap; gap:.75rem; margin:1.5rem 0 2rem; padding:0; list-style:none; }
.factor-list li { padding:.7rem 1rem; border:1px solid var(--line); }
.contact-links { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-top:1rem; }
.contact-links a { min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.legal-links { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; }
.legal-links a { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; color:var(--grey); }
.legal-links a:hover { color:var(--green); }
.legal-copy { max-width:900px; padding-top:0; }
.legal-copy h2 { margin:2rem 0 1rem; font-size:1.6rem; }
.legal-copy p,.legal-copy li { color:var(--grey); }
.legal-copy p+p { margin-top:1rem; }
.legal-copy a { text-decoration:underline; text-underline-offset:3px; }
.review-grid .review-stars { color:var(--green); font-size:1rem; letter-spacing:.12em; }
.review-date { margin-top:1rem; font-size:.8125rem; color:var(--grey); }
.comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin-top:2rem; }
.comparison-card { margin:0; padding:1.25rem; border:1px solid var(--line); border-radius:4px; }
.comparison-pair { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.comparison-pair figure { min-width:0; }
.comparison-pair img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.comparison-pair figcaption { padding-top:.5rem; color:var(--grey); font-size:.875rem; }
.comparison-card h3 { font-size:1.5rem; margin-top:1.25rem; }
.comparison-card>p { margin-top:.7rem; color:var(--grey); }
@media(max-width:950px) {
  .steps-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pricing-grid { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  .service-price-text,.steps-grid,.comparison-grid { grid-template-columns:1fr; }
  .price-card { padding:1.5rem; }
  .page-intro { padding-top:calc(var(--header) + 2.5rem); }
}

/* Mobile refinement. Desktop declarations above remain unchanged. */
@media(min-width:701px) and (max-width:950px) {
  :root { --space:4.5rem; }
  .section { padding-block:var(--space); }
  .service-card { align-items:stretch; }
  .service-media { height:100%; }
  .service-media img { min-height:100%; }
  .service-hero figure img { aspect-ratio:4/3; }
  .site-footer { gap:2.5rem 2rem; }
}

@media(max-width:700px) {
  :root { --header:4.25rem; --gutter:1.125rem; --space:2.875rem; }
  html { scroll-padding-top:calc(var(--header) + .75rem); }
  body { overflow-x:clip; line-height:1.58; }
  .section { padding-block:var(--space); }
  h2 { font-size:clamp(2rem,8.7vw,2.6rem); line-height:1.06; }
  h3 { font-size:1.5rem; }
  .section-kicker,.eyebrow { margin-bottom:.65rem; }
  .section-heading { gap:.85rem; margin-bottom:1.5rem; }
  .section-heading>p { font-size:.9375rem; }

  .site-header { gap:.75rem; padding-inline:var(--gutter); }
  .brand { gap:.5rem; }
  .brand img { width:2.25rem; height:2.25rem; }
  .brand-name { font-size:.9rem; }
  .menu-toggle { width:46px; height:46px; touch-action:manipulation; }
  .main-nav { padding:.35rem var(--gutter) calc(1.25rem + env(safe-area-inset-bottom)); }
  .main-nav>a,.services-toggle { min-height:56px; padding:.8rem 0; font-size:1.1rem; }
  .services-menu { padding:.25rem 0 .35rem .9rem; }
  .services-menu a { min-height:48px; padding:.65rem .75rem; font-size:.95rem; }
  .nav-mobile-meta { margin-top:1rem; }

  .hero { padding-top:calc(var(--header) + env(safe-area-inset-top)); }
  .hero-media { aspect-ratio:6/5; }
  .hero-media img { object-fit:cover; object-position:52% 61%; filter:brightness(.9); }
  .hero-media::after { content:""; position:absolute; inset:auto 0 0; height:35%; background:linear-gradient(0deg,var(--black),transparent); pointer-events:none; }
  .hero-inner { padding-top:1.15rem; }
  .hero-copy { padding-bottom:1.35rem; }
  .hero h1 { max-width:15ch; font-size:clamp(2.25rem,10vw,2.9rem); line-height:1.02; }
  .hero-text { margin-top:1rem; font-size:.975rem; line-height:1.55; }
  .hero-claim { margin-top:.55rem; font-size:.9375rem; }
  .hero-actions { gap:.65rem; margin-top:1.25rem; }
  .hero-actions .button { min-height:52px; }
  .hero-foot { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hero-foot p,.hero-foot p:first-child { min-height:3.65rem; padding:.7rem .55rem; font-size:.6875rem; line-height:1.35; }

  .services.section { padding-top:2.75rem; }
  .service-grid { gap:1rem; }
  .service-card { display:flex; }
  .service-media { aspect-ratio:16/10; }
  .service-media img { object-position:center 58%; }
  .service-media-coating img { object-position:center 56%; }
  .service-media-ozono img { object-position:center 60%; }
  .service-content { padding:1.15rem; }
  .service-title { display:flex; align-items:flex-end; justify-content:space-between; gap:.75rem; }
  .service-title h3 { max-width:11ch; font-size:1.55rem; line-height:1.05; }
  .service-title strong { margin-top:0; flex-shrink:0; font-size:.75rem; text-align:right; }
  .service-content>p { margin:.8rem 0 1rem; font-size:.9375rem; }
  .service-facts { margin-bottom:1rem; }
  .service-facts li { grid-template-columns:5.25rem 1fr; align-items:start; gap:.65rem; padding:.7rem 0; }
  .service-facts strong { font-size:.72rem; }
  .service-facts span { font-size:.875rem; line-height:1.45; }
  .service-actions { grid-template-columns:1fr 1fr; gap:.5rem; }
  .service-actions a { min-height:50px; padding:.7rem .8rem; font-size:.8rem; }
  .price-note { margin-top:1rem; }

  .trust-band>div { min-height:4.75rem; padding:1rem; }
  .trust-band span { font-size:.78rem; line-height:1.4; }

  .work { padding-inline:0; }
  .work>.section-heading,.work>.work-cta { margin-inline:var(--gutter); }
  .work-gallery { display:flex; gap:.75rem; max-width:none; margin:0; padding:0 var(--gutter) .85rem; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gutter); overscroll-behavior-inline:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .work-gallery::-webkit-scrollbar { display:none; }
  .work-card { flex:0 0 min(84vw,22rem); aspect-ratio:4/3; scroll-snap-align:start; scroll-snap-stop:always; }
  .work-card figcaption { left:.85rem; right:.85rem; bottom:.8rem; }
  .work-card figcaption strong { font-size:.95rem; }
  .work-card figcaption span { display:block; margin-top:.15rem; font-size:.72rem; }
  .work-cta { margin-top:1.15rem; }
  .photo-viewer { width:calc(100% - 1rem); max-height:calc(100dvh - 1rem); padding:3.25rem .5rem .75rem; }
  .photo-viewer img { max-height:72dvh; }
  .photo-viewer p { margin-top:.65rem; padding-inline:.5rem; font-size:.875rem; }

  .process-media { aspect-ratio:16/10; }
  .process-media img { object-position:center 42%; }
  .process-content { padding:2.75rem var(--gutter); }
  .process-content h2 br,.quote-copy h2 br,.faq-heading h2 br,.final-cta h2 br { display:none; }
  .process-lead,.about-copy { margin-top:1rem; font-size:.9375rem; }

  .quote-copy,.quote-checklist { padding:1.35rem; }
  .quote-copy>p:not(.section-kicker):not(.appointment) { margin:1rem 0 1.25rem; }
  .quote-checklist li { padding:.8rem 0; font-size:.9375rem; }
  .contact-links { margin-top:.75rem; }

  .reviews-top { gap:1rem; margin-bottom:1.25rem; }
  .rating strong { font-size:2.4rem; }
  .review-grid { display:flex; gap:.75rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:.5rem; }
  .review-grid::-webkit-scrollbar { display:none; }
  .review-grid blockquote { flex:0 0 min(82vw,21rem); min-height:0; padding:1.15rem; scroll-snap-align:start; }
  .quote-mark { font-size:2.2rem; }
  .review-grid blockquote>p { margin:.65rem 0 0; font-size:.9375rem; }
  .review-grid footer { margin-top:1rem; }
  .reviews-action { justify-content:flex-start; margin-top:1.25rem; }

  .faq { gap:0; }
  .faq-heading>p:last-child { margin-top:1rem; font-size:.9375rem; }
  .faq-list { margin-top:1.25rem; }
  .faq summary { min-height:56px; padding:.85rem 0; gap:.75rem; font-size:.9375rem; line-height:1.4; }
  .faq summary span { font-size:1.35rem; }
  .faq details p { margin-bottom:1rem; padding-right:.25rem; font-size:.9375rem; }

  .final-cta { min-height:25rem; }
  .final-cta>img { object-position:58% 55%; }
  .final-cta h2 { font-size:2.35rem; }
  .final-cta-copy>p:not(.section-kicker) { margin:1rem 0 1.25rem; }

  .service-hero { padding-top:calc(var(--header) + 1.75rem); gap:1.35rem; }
  .service-hero h1 { font-size:clamp(2.25rem,9.7vw,2.9rem); }
  .service-lead { margin:1rem 0 1.25rem; font-size:.975rem; }
  .service-hero figure img,.ozono-hero figure img { aspect-ratio:4/3; object-position:center; }
  .service-hero figcaption { padding:.65rem .8rem; font-size:.72rem; }
  .service-explainer { gap:.75rem; }
  .service-explainer article { padding:1.15rem; }
  .service-explainer h2 { font-size:1.4rem; }
  .service-explainer article>p:last-child { margin-top:.65rem; font-size:.925rem; }
  .service-price { gap:1.35rem; }
  .service-price h2 { font-size:2.25rem; }
  .service-price p:not(.section-kicker):not(.appointment) { margin:1rem 0 1.25rem; font-size:.9375rem; }
  .scope-panel { padding:1.2rem; }
  .scope-panel h3 { font-size:1.35rem; }
  .scope-panel ul { margin-top:.9rem; }
  .scope-panel li { margin-top:.45rem; font-size:.9rem; }
  .service-steps>p { margin:.9rem 0 1.25rem; font-size:.9375rem; }
  .steps-grid { gap:.65rem; }
  .steps-grid li { padding:1.05rem; }
  .steps-grid h3 { font-size:1.2rem; }
  .steps-grid p { margin-top:.5rem; font-size:.9rem; }
  .related-services { gap:.65rem; }
  .related-services h2 { margin-bottom:.25rem; font-size:1.7rem; }
  .related-services>a { min-height:3.6rem; padding:.9rem 1rem; font-size:.9rem; }

  .page-intro { padding-top:calc(var(--header) + 1.75rem); padding-bottom:1.5rem; }
  .page-intro h1 { font-size:clamp(2.25rem,9.7vw,2.9rem); }
  .page-intro>p:last-child { margin-top:1rem; font-size:.95rem; }
  .pricing-grid { gap:.75rem; }
  .price-card { gap:.8rem; padding:1.2rem; }
  .price-card h2 { font-size:1.5rem; }
  .price-card .price { font-size:1.75rem; }
  .price-card>p:not(.price) { font-size:.925rem; }
  .price-card .button { min-height:50px; }
  .price-factors>p { margin:.9rem 0; font-size:.9375rem; }
  .factor-list { gap:.5rem; margin:1rem 0 1.25rem; }
  .factor-list li { padding:.55rem .7rem; font-size:.82rem; }

  .brands { padding-block:2.25rem; }
  .brand-logos { margin-top:1.25rem; gap:.6rem; }
  .brand-logos img { height:4.7rem; padding:.75rem; }
  .site-footer { grid-template-columns:1fr 1fr; gap:1.4rem 1rem; padding-top:2.25rem; padding-bottom:calc(6.5rem + env(safe-area-inset-bottom)); }
  .footer-brand { grid-column:1/-1; }
  .footer-brand>p { margin-top:.65rem; font-size:.875rem; }
  .footer-column { gap:0; }
  .footer-column:nth-child(3) { grid-column:auto; grid-row:auto; }
  .footer-column:nth-child(4) { grid-column:1/-1; flex-direction:row; flex-wrap:wrap; column-gap:1.1rem; }
  .footer-column:nth-child(4) .footer-title { width:100%; }
  .footer-title { margin-bottom:.35rem; }
  .footer-column a,.footer-column>span { min-height:39px; font-size:.82rem; }
  .legal-links { gap:0 1rem; }
  .legal-links a { min-height:38px; font-size:.78rem; }
  .copyright { margin-top:0; padding-top:1rem; }
  .floating-whatsapp { right:max(.75rem,env(safe-area-inset-right)); bottom:calc(.75rem + env(safe-area-inset-bottom)); min-height:50px; padding:.72rem 1rem; font-size:.875rem; }
}

@media(max-width:380px) {
  :root { --gutter:1rem; }
  .service-actions { grid-template-columns:1fr; }
  .hero-foot p,.hero-foot p:first-child { padding:.65rem .4rem; }
  .footer-column a,.footer-column>span { font-size:.78rem; }
}

/* Arrow-free controls; retain the original WhatsApp brand asset. */
.button,.header-cta,.service-actions a,.related-services>a { justify-content:center; gap:0; }

/* The official Zvizzer asset has white lettering on transparency. */
.brand-logos img[src="/assets/brand-zvizzer.png"] { background:var(--black-card); }

.coating-hero-video { max-width:23rem; justify-self:center; }
.coating-hero-video video { display:block; width:100%; height:auto; aspect-ratio:512/910; object-fit:contain; background:var(--black); }
