/* Shared visual system. Existing content and document URLs are preserved. */
:root { --bg:#101418; --surface:#181e24; --border:#303941; --text:#f3f5f7; --muted:#b1bbc5; --accent-red:#dc2638; --accent-cyan:#91cadc; --max:1160px; }
body { font-family:"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.65; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--accent-cyan); outline-offset:5px; }
.container { width:min(100% - 64px,var(--max)); }
.site-header { background:rgba(16,20,24,.97); }
.header-inner { min-height:86px; padding:16px 0; gap:24px; }
.logo { flex-shrink:0; }
.logo img { height:42px; }
.nav-list { gap:22px; }
.nav-list a { font-size:12px; letter-spacing:.045em; padding:8px 0; display:block; position:relative; color:#bac3ca; }
.nav-list a[aria-current="page"] { color:var(--text); }
.nav-list a[aria-current="page"]::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--accent-red); }
.header-phone { white-space:nowrap; color:var(--text); font-size:14px; font-weight:600; }
.hero { padding:42px 0 38px; background:linear-gradient(120deg,#1b232c,#11171d); }
.hero h1 { font-size:clamp(28px,3.8vw,44px); max-width:900px; line-height:1.16; letter-spacing:-.035em; margin-bottom:18px; }
.hero .lede { max-width:650px; font-size:17px; margin:0; line-height:1.6; }
.page-home .hero { padding:72px 0; }
.page-home .hero > .container { display:grid; grid-template-columns:1.4fr 1fr; align-items:center; gap:36px; }
.page-home .hero h1 { font-size:clamp(32px,4vw,54px); max-width:700px; }
.page-home .hero .lede { max-width:500px; margin-bottom:30px; }
.hero-copy { position:relative; z-index:2; }
.hero-art { position:relative; height:280px; display:grid; place-items:center; }
.art-orbit { width:270px; height:270px; border:1px solid #42505c; border-radius:50%; position:absolute; }
.art-orbit::before { content:""; position:absolute; inset:28px; border:1px dashed #3e4a54; border-radius:50%; }
.art-orbit::after { content:""; position:absolute; inset:-32px; border:1px solid #27313a; border-radius:50%; }
.art-card { width:275px; height:172px; position:relative; transform:rotate(-12deg); background:linear-gradient(135deg,#e2e8ec,#929fa9); border-radius:14px; box-shadow:16px 28px 50px #0007; border:1px solid #fff8; }
.art-chip { position:absolute; left:28px; top:46px; width:40px; height:33px; border:1px solid #aa925d; border-radius:6px; background:repeating-linear-gradient(90deg,transparent 0 12px,#b5a174 12px 13px),repeating-linear-gradient(0deg,#dacba7 0 10px,#b5a174 10px 11px); }
.art-lines { position:absolute; left:28px; right:75px; bottom:26px; height:30px; background:repeating-linear-gradient(0deg,#52616b 0 2px,transparent 2px 10px); opacity:.6; }
.art-mark { position:absolute; right:25px; top:23px; width:37px; height:9px; background:var(--accent-red); transform:skew(-20deg); }
.button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:11px 20px; border-radius:5px; font-size:14px; line-height:1.4; transition:background .15s ease,transform .15s ease; }
.button:hover { background:#f0394b; filter:none; transform:translateY(-1px); }
.section { padding:48px 0; }
.card-grid { gap:22px; }
.card { padding:28px; border-radius:8px; background:linear-gradient(130deg,#1b2229,#171d23); }
.card h2,.card h3 { font-size:21px; line-height:1.35; letter-spacing:-.02em; margin:0 0 16px; }
.card p { margin:0 0 16px; }
.card p:last-child { margin-bottom:0; }
.page-home .card { position:relative; color:var(--text); transition:border-color .2s,transform .2s; }
.page-home .card:hover { text-decoration:none; border-color:#72818b; transform:translateY(-4px); }
.page-home .card h2 { font-size:18px; letter-spacing:.015em; margin:0 0 12px; }
.page-home .card::after { content:"↗"; position:absolute; right:24px; top:24px; font-size:22px; color:var(--accent-cyan); }
.card-icon { width:64px; height:64px; display:grid; place-items:center; border:1px solid #38454f; border-radius:10px; color:var(--accent-cyan); margin-bottom:25px; background:#121920; }
.card-icon svg { width:38px; height:38px; }
.page-products .card-grid,.page-warranty .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.page-products .card { padding:32px; border-top:3px solid #7fabbc; }
.page-products .card p:nth-of-type(2) { color:var(--text); font-weight:600; margin-top:10px; padding-top:20px; border-top:1px solid var(--border); }
.page-products .card p:nth-of-type(3) { font-size:14px; }
.page-products .card .button { margin-top:auto; }
.partners { gap:16px; }
.partners > * { border-radius:6px; background:#e1e5e8; box-shadow:none; min-height:94px; }
.partners > img { width:100%; height:94px; max-height:none; padding:20px; object-fit:contain; }
.accordion { gap:14px; }
.accordion-item { border-radius:8px; overflow:hidden; }
.accordion-item > summary { padding:21px 24px; font-size:17px; min-height:66px; }
.accordion-item[open] > summary { background:#202a32; }
.accordion-panel { padding:24px; }
.accordion-lead { margin:0 0 24px; max-width:850px; }
.doc-list { gap:18px; }
.doc-item { padding:24px; border-radius:6px; gap:12px; }
.doc-item h3 { font-size:17px; line-height:1.45; }
.doc-item .button { margin-top:auto; }
.doc-item p { font-size:15px; }
.support-block { padding:24px; border-left:3px solid var(--accent-cyan); border-radius:4px; }
.page-content .card p { max-width:85ch; }
.page-content .card .button { margin-top:8px; }
.page-warranty .card ol { list-style:none; padding-left:0; margin:8px 0 0; max-width:90ch; }
.page-warranty .card li { padding:14px 0; border-bottom:1px solid var(--border); color:var(--muted); }
.page-warranty .card li:last-child { border:0; }
.page-warranty .card ol ol { margin-left:20px; padding-left:20px; border-left:2px solid var(--border); }
.site-footer { padding:42px 0; background:#0c1014; }
.footer-grid { grid-template-columns:1fr 1fr; gap:24px 48px; }
.site-footer h2 { font-size:17px; margin:0 0 16px; }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer li { margin-bottom:10px; }
.site-footer a { color:var(--muted); }
.site-footer a[href^="tel:"] { font-size:23px; font-weight:600; color:var(--text); }
.site-footer nav ul { display:flex; flex-wrap:wrap; gap:8px 24px; }
.footer-grid > p { grid-column:1/-1; margin:8px 0 0; padding-top:24px; border-top:1px solid var(--border); color:#89959f; font-size:13px; }
.cookie-banner { max-width:760px; margin-inline:auto; border-radius:8px; box-shadow:0 14px 50px #0008; padding:20px 24px; }
.cookie-banner p { margin:0; font-size:14px; }
.cookie-banner > div { display:flex; gap:10px; flex-shrink:0; }
.cookie-banner button { min-height:44px; padding:10px 16px; border:1px solid #53616d; background:transparent; color:var(--text); font:600 14px "Segoe UI",sans-serif; border-radius:5px; cursor:pointer; }
.cookie-banner button[data-cookie="accept"] { background:var(--accent-red); border-color:var(--accent-red); }
.nav-toggle { min-height:44px; border-radius:5px; font:600 14px "Segoe UI",sans-serif; padding:10px 16px; cursor:pointer; }
@media(max-width:1100px) { .header-inner { gap:18px; } .header-phone { display:none; } .page-home .hero h1 { font-size:42px; } }
@media(max-width:800px) {
 .container { width:calc(100% - 40px); }
 .header-inner { min-height:74px; padding:12px 0; }
 .logo img { height:36px; }
 .nav-list { top:73px; left:20px; right:20px; padding:12px; gap:0; border-radius:6px; box-shadow:0 16px 36px #0008; }
 .nav-list a { font-size:14px; padding:13px 16px; }
 .nav-list a[aria-current="page"] { background:#26313a; border-radius:4px; }
 .nav-list a[aria-current="page"]::after { display:none; }
 .hero { padding:28px 0; }
 .hero .lede { font-size:16px; }
 .page-home .hero { padding:40px 0; }
 .page-home .hero > .container { grid-template-columns:1fr; gap:12px; }
 .page-home .hero h1 { font-size:clamp(30px,6vw,42px); }
 .hero-art { height:200px; }
 .art-card { width:220px; height:138px; }
 .art-orbit { height:180px; width:180px; }
 .section { padding:32px 0; }
 .card-grid,.page-products .card-grid,.page-warranty .card-grid { grid-template-columns:1fr; gap:16px; }
 .card,.page-products .card { padding:24px; }
 .partners { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .accordion-item > summary { padding:18px; font-size:16px; }
 .accordion-panel { padding:18px; }
 .doc-item { padding:20px; }
 .footer-grid { grid-template-columns:1fr; }
 .cookie-banner { left:12px; right:12px; bottom:12px; padding:16px; gap:14px; }
 .cookie-banner > div { width:100%; } .cookie-banner button { flex:1; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

.page-products .card > .product-image { width:100%; height:auto; aspect-ratio:3 / 2; object-fit:contain; padding:0; border:0; background:none; margin:0 0 26px; }

/* Compact product cards */
.page-products .card { padding:24px; }
.page-products .card > .product-image { width:min(100%,300px); height:180px; aspect-ratio:auto; align-self:center; margin:0 0 18px; }
.page-products .card h2 { font-size:19px; margin-bottom:12px; }
.page-products .card p { margin-bottom:12px; font-size:15px; line-height:1.55; }
.page-products .card p:nth-of-type(2) { margin-top:4px; padding-top:14px; }
.page-products .card p:nth-of-type(3) { font-size:14px; }
@media(max-width:800px) { .page-products .card { padding:20px; } .page-products .card > .product-image { height:150px; width:min(100%,250px); } }
/* Four compact catalogue tiles */
.page-products .card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:20px; }
.page-products .card { padding:22px 18px; height:auto; border-top:1px solid var(--border); }
.page-products .card > .product-image { width:100%; height:150px; margin:10px 0 24px; }
.page-products .card h2 { font-size:16px; text-align:center; line-height:1.4; margin:0 0 22px; min-height:45px; display:grid; align-items:center; }
.product-details > summary { list-style:none; display:flex; justify-content:center; align-items:center; gap:16px; min-height:44px; border:1px solid #637683; border-radius:4px; color:var(--text); font-size:14px; cursor:pointer; }
.product-details > summary::-webkit-details-marker { display:none; }
.product-details > summary:hover { background:#293640; }
.product-details[open] > summary span { transform:rotate(45deg); }
.product-description { padding-top:20px; }
.page-products .product-description p { font-size:14px; }
.page-products .product-description .button { width:100%; padding:10px; font-size:13px; }
@media(max-width:1050px) { .page-products .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .page-products .card-grid { grid-template-columns:1fr; } .page-products .card > .product-image { width:220px; height:145px; } .page-products .card h2 { min-height:0; } }
/* Equal-height product tiles, with the driver description as the reference. */
.page-products .card-grid { align-items:stretch; }
.page-products .card { height:100%; }
@media(min-width:561px) {
 .page-products .product-description { min-height:190px; }
}

/* Keep closed tiles compact; expanded tiles share the same description space. */
.page-products .card-grid { align-items:start; }
.page-products .card { height:auto; }
.workshop-section { padding-top:0; }
.workshop-callout { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:28px 32px; border:1px solid var(--border); border-left:3px solid var(--accent-cyan); border-radius:8px; background:var(--surface); }
.workshop-callout h2 { font-size:23px; line-height:1.3; margin:0 0 12px; }
.workshop-callout p { max-width:720px; margin:0; color:var(--muted); font-size:15px; }
.workshop-callout .button { flex-shrink:0; gap:12px; }
@media(max-width:800px) { .workshop-callout { flex-direction:column; align-items:flex-start; padding:24px; gap:20px; } .workshop-callout h2 { font-size:21px; } }

.workshop-section { padding-top:24px; }

.workshop-section { padding-block:48px; }
@media(max-width:800px) { .workshop-section { padding-block:32px; } }

/* Tighter footer contact spacing */
.site-footer .footer-grid > div:first-child h2 { margin-bottom:8px; }
.site-footer .footer-grid > div:first-child ul { line-height:1.4; }
.site-footer .footer-grid > div:first-child li { margin-bottom:4px; }
.site-footer .footer-grid > div:first-child li:last-child { margin-bottom:0; }
/* Display the supplied original logo; preserve its exact artwork. */
.logo { display:block; width:280px; height:42px; overflow:hidden; }
.logo img { max-width:none; width:365px; height:auto; margin-left:-45px; margin-top:-56px; filter:invert(1) hue-rotate(180deg); mix-blend-mode:screen; }
@media(max-width:800px) { .logo { width:224px; height:34px; } .logo img { width:292px; height:auto; margin-left:-36px; margin-top:-45px; } }
/* Original outlined emblem with adjacent company name. */
.logo { display:flex; align-items:center; gap:12px; width:auto; height:44px; overflow:visible; }
.logo img { width:auto; height:40px; max-width:112px; margin:0; filter:none; mix-blend-mode:normal; }
.logo-wordmark { font-size:13px; line-height:1.45; font-weight:600; text-transform:uppercase; letter-spacing:.03em; color:#bac3ca; }
@media(max-width:800px) { .logo { height:36px; gap:8px; } .logo img { height:30px; width:auto; max-width:84px; margin:0; } .logo-wordmark { font-size:10px; } }
/* Full outlined logo, tightly framed for the header. */
.logo { display:block; width:290px; height:44px; overflow:hidden; }
.logo img { max-width:none; width:312px; height:auto; margin-left:-10px; margin-top:-44px; filter:none; mix-blend-mode:normal; }
@media(max-width:800px) { .logo { width:224px; height:34px; } .logo img { width:241px; height:auto; margin-left:-8px; margin-top:-34px; max-width:none; } }

.page-home .hero h1 { font-size:clamp(30px,3.4vw,46px); margin-bottom:28px; }

/* More compact home introduction */
.page-home .hero { padding:44px 0; }
.page-home .hero-art { height:240px; }
.page-home .art-orbit { width:230px; height:230px; }
.page-home .art-card { width:250px; height:156px; }
@media(max-width:800px) { .page-home .hero { padding:30px 0; } .page-home .hero-art { height:180px; } .page-home .art-orbit { width:160px; height:160px; } .page-home .art-card { width:210px; height:131px; } }
