:root{--bg:#f2efe8;--ink:#16191d;--mute:#555b62;--card:#fff;--line:#d9d4c7;--gold:#ff7a00;--navy:#16191d;--navy2:#0d0f11;box-sizing:border-box}
@media(prefers-color-scheme:dark){:root{--bg:#111417;--ink:#f2efe8;--mute:#a9afb6;--card:#1b2025;--line:#2c3238}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 'Archivo',system-ui,Arial,sans-serif;padding-top:env(safe-area-inset-top,0)}
a{color:inherit}.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.top{background:var(--navy2);color:#f2efe8;position:sticky;top:0;z-index:5}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.logo{font-weight:900;font-size:1.15rem;text-decoration:none;letter-spacing:-.01em;margin-right:auto}
.logo span{color:var(--gold)}
nav{display:flex;gap:6px}nav a{padding:8px 12px;text-decoration:none;font-weight:600;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-color:var(--gold)}
.tel{text-decoration:none;font-weight:700}
.btn{display:inline-block;background:var(--gold);color:#16191d;font:800 1rem 'Archivo',sans-serif;padding:13px 24px;border:0;border-radius:4px;text-decoration:none;cursor:pointer}
.btn:hover{filter:brightness(1.07)}.btn.alt{background:transparent;color:inherit;border:2px solid currentColor}
#mt{display:none;background:none;border:2px solid #f2efe8;color:#f2efe8;padding:6px 12px;border-radius:4px;font:700 .9rem Archivo}
@media(max-width:860px){#mt{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy2);flex-direction:column;padding:10px 20px 18px}nav.open{display:flex}.tel,.top .btn{display:none}}
.hero{background:var(--navy);color:#f2efe8;padding:64px 0 72px;border-bottom:10px solid var(--gold)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
h1{font-weight:900;font-size:clamp(2.3rem,6.2vw,4.4rem);line-height:1;margin:0 0 18px;letter-spacing:-.025em}
.hero p{font-size:1.12rem;max-width:46ch;color:#d6d9dd;margin:0 0 26px}.hero .row{display:flex;gap:12px;flex-wrap:wrap}
.ticket{background:#f2efe8;color:#16191d;border-radius:6px;padding:22px 24px;position:relative;box-shadow:8px 8px 0 var(--gold)}
.ticket h2{margin:0 0 4px;font-size:1.15rem}.ticket small{color:#555b62}
.ticket ul{list-style:none;margin:16px 0 0;padding:0}.ticket li{display:flex;gap:12px;padding:9px 0;border-top:1px dashed #b9b3a3;font-weight:600}
.ticket li::before{content:"";width:18px;height:18px;border:2px solid #16191d;border-radius:3px;flex:none;margin-top:3px;background:linear-gradient(135deg,transparent 45%,#16191d 45% 58%,transparent 58%)}
.ticket .tot{margin-top:6px;padding-top:10px;border-top:2px solid #16191d;font-weight:800;display:flex;justify-content:space-between}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr}}
.stats{background:var(--gold);color:#16191d}.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:22px;padding-bottom:22px}
.stats b{display:block;font-size:2rem;font-weight:900;line-height:1.1}.stats span{font-weight:600}
@media(max-width:640px){.stats .wrap{grid-template-columns:1fr 1fr}}
section{padding:60px 0}h2.t{font-weight:900;font-size:clamp(1.7rem,4vw,2.5rem);margin:0 0 8px;letter-spacing:-.02em}
.sub{color:var(--mute);margin:0 0 28px;max-width:60ch}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--gold);padding:20px 22px;border-radius:4px}
.card h3{margin:0 0 6px;font-size:1.15rem}.card p{margin:0;color:var(--mute)}
.card ul{margin:12px 0 0;padding-left:18px;color:var(--mute)}
.why{background:var(--navy);color:#f2efe8}.why .sub{color:#c4c9cf}
.why .card{background:#1f252b;border-color:#343b43;color:#f2efe8}.why .card p{color:#c4c9cf}
.rev blockquote{margin:0 0 14px;font-size:1.05rem}.rev cite{font-style:normal;font-weight:800}.rev small{display:block;color:var(--mute)}
.cta{background:var(--gold);color:#16191d;text-align:center}.cta .btn{background:#16191d;color:#f2efe8}
.cta p{max-width:50ch;margin:0 auto 22px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:36px}@media(max-width:860px){.split{grid-template-columns:1fr}}
.page{background:var(--navy);color:#f2efe8;padding:52px 0;border-bottom:10px solid var(--gold)}.page h1{margin:0;font-size:clamp(2rem,5vw,3.4rem)}.page p{margin:10px 0 0;color:#d6d9dd}
form{display:grid;gap:14px}label{font-weight:700;font-size:.92rem;display:block;margin-bottom:4px}
input,select,textarea{width:100%;font:inherit;padding:11px 12px;border:1.5px solid var(--line);border-radius:4px;background:var(--card);color:var(--ink)}
textarea{min-height:110px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:560px){.two{grid-template-columns:1fr}}
.hrs td{padding:3px 20px 3px 0}
footer{background:var(--navy2);color:#c4c9cf;padding:48px 0 22px;font-size:.95rem}
footer .g{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:28px}@media(max-width:860px){footer .g{grid-template-columns:1fr 1fr}}@media(max-width:520px){footer .g{grid-template-columns:1fr}}
footer h4{color:#f2efe8;margin:0 0 10px;font-size:1rem}footer ul{list-style:none;margin:0;padding:0}footer li{margin:5px 0}footer a{text-decoration:none}footer a:hover{color:var(--gold)}
footer .c{border-top:1px solid #252b31;margin-top:30px;padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

.logo{display:flex;align-items:center;gap:12px}.logo img{width:54px;height:54px;display:block}
.hero{background:linear-gradient(90deg,rgba(13,15,17,.94) 25%,rgba(13,15,17,.62)),url(images/workshop-front.jpg) center/cover no-repeat}
.page{background:linear-gradient(rgba(13,15,17,.84),rgba(13,15,17,.84)),url(images/workshop-front.jpg) center 35%/cover no-repeat}
.page.bay{background:linear-gradient(rgba(13,15,17,.8),rgba(13,15,17,.8)),url(images/workshop-bay.jpg) center 45%/cover no-repeat}
.why{background:linear-gradient(rgba(13,15,17,.9),rgba(13,15,17,.9)),url(images/workshop-bay.jpg) center 40%/cover no-repeat}
.hero-logo{width:clamp(110px,16vw,160px);height:auto;display:block;margin:0 0 22px}
.photo{width:100%;height:auto;display:block;border-radius:4px;border:1px solid var(--line)}

.svcgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.svc{background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:90px}
.svc img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;display:block}
.svc .body{padding:18px 20px 22px}.svc h3{margin:0 0 6px;font-size:1.18rem;letter-spacing:-.01em}.svc p{margin:0;color:var(--mute)}
.svc ul{margin:12px 0 0;padding-left:18px;color:var(--mute)}
.brandsec{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.brands{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.brands li{background:#fff;border:1px solid #e3dfd3;border-radius:6px;padding:12px 8px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.brands img{width:80px;height:54px;object-fit:contain}
.brands span{font-size:.82rem;font-weight:700;color:#16191d;line-height:1.2}

.marquee{overflow:hidden;padding:6px 0 14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee .track{display:flex;gap:20px;width:max-content;padding-right:20px;animation:scroll-rev 55s linear infinite}
.marquee:hover .track,.marquee:focus-within .track{animation-play-state:paused}
.marquee .card{flex:0 0 340px;width:340px;display:flex;flex-direction:column}
.marquee blockquote{flex:1}
@keyframes scroll-rev{to{transform:translateX(-50%)}}
@media(max-width:600px){.marquee .card{flex-basis:280px;width:280px}.marquee .track{animation-duration:45s}}
@media(prefers-reduced-motion:reduce){.marquee{-webkit-mask-image:none;mask-image:none;overflow-x:auto}.marquee .track{animation:none}.marquee .dupe{display:none!important}}

/* all-services tiles (home) */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.tile{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-bottom:4px solid var(--gold);border-radius:6px;overflow:hidden;text-decoration:none;transition:transform .15s,box-shadow .15s}
.tile:hover,.tile:focus-visible{transform:translateY(-3px);box-shadow:0 8px 0 -2px var(--gold)}
.tile img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;display:block}
.tile span{padding:14px 16px 18px}.tile b{display:block;font-size:1.05rem;letter-spacing:-.01em}
.tile small{display:block;margin-top:4px;color:var(--mute);font-size:.88rem;line-height:1.45}
@media(prefers-reduced-motion:reduce){.tile{transition:none}}
/* services page jump bar */
.jump{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:68px;z-index:4;display:block}
.jump .wrap{display:flex;gap:8px;overflow-x:auto;align-items:center;padding-top:12px;padding-bottom:12px;scrollbar-width:thin}
.jump span{font-weight:800;flex:none}
.jump a{flex:none;padding:6px 14px;border:1.5px solid var(--line);border-radius:999px;text-decoration:none;font-weight:600;font-size:.88rem;white-space:nowrap}
.jump a:hover{background:var(--gold);border-color:var(--gold);color:#16191d}
.svc{scroll-margin-top:150px}
.svc .more{display:inline-block;margin-top:14px;font-weight:800;text-decoration:none;color:var(--ink);border-bottom:3px solid var(--gold)}
.svc .body{flex:1}
footer .g>div:nth-child(3) ul{columns:1}
@media(min-width:861px){footer .g{grid-template-columns:1.2fr .8fr 1.5fr 1.2fr}}

/* workshop video */
.vidsec{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vid{width:100%;height:auto;aspect-ratio:16/9;display:block;background:#000;border-radius:6px;border:1px solid var(--line);box-shadow:8px 8px 0 var(--gold)}
