:root{--red:#ed101c;--red-dark:#c70915;--black:#0a0c0f;--ink:#16191f;--muted:#67707a;--line:#e3e5e9;--display:'Barlow Condensed','Liberation Sans Narrow',Impact,'Arial Narrow',sans-serif;--body:'DM Sans',Arial,sans-serif;scroll-behavior:smooth}
*{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0;background:#f5f5f6;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff696e;outline-offset:3px}img{max-width:100%;display:block}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{height:22px;width:22px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.container-wide{width:min(100% - 106px,1510px);margin-inline:auto}.skip-link{position:fixed;top:-120px;left:8px;background:white;padding:10px;z-index:1000}.skip-link:focus{top:8px}.eyebrow{font-size:12px;line-height:1.3;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin:0 0 7px}.period{color:var(--red)}.site-header{position:relative;z-index:20;color:white;background:#070809}.header-inner{height:114px;display:flex;align-items:center;gap:25px}.brand{flex:0 0 clamp(225px,23vw,320px);display:flex;align-items:center;min-width:0}.brand img{width:100%;height:auto;max-height:105px;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:clamp(14px,2.5vw,39px);margin-left:auto}.nav-link{font-size:13px;font-weight:700;position:relative;white-space:nowrap;color:#f8f8f8;line-height:2.3;transition:color .2s}.nav-link:hover{color:white}.nav-link:after{content:'';height:3px;width:0;position:absolute;bottom:-10px;left:0;background:var(--red);transition:width .2s}.nav-link:hover:after,.nav-link.active:after{width:100%}.header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}.header-phone{display:flex;align-items:center;gap:10px;padding-right:20px;border-right:1px solid #555}.header-phone>.icon{color:var(--red);width:26px;height:26px;fill:var(--red);stroke-width:1.5}.header-phone span{display:flex;flex-direction:column}.header-phone small{font-size:10px;font-weight:600;color:#e4e4e4;line-height:1.2}.header-phone strong{font-family:var(--display);font-size:24px;letter-spacing:.01em;line-height:1.15;color:var(--red);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;padding:15px 19px;border:1px solid transparent;border-radius:5px;font-size:14px;font-weight:800;line-height:1.2;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-1px)}.btn .icon{height:19px;width:19px}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark);box-shadow:0 9px 26px #ed101c25}.btn-outline{color:#fff;border-color:#e2e5e9;background:#080b0d7a}.btn-outline:hover{background:#ffffff17}.btn-header{padding:13px 15px;min-height:45px}.menu-toggle{display:none;border:1px solid #555;background:transparent;color:white;width:45px;height:45px;align-items:center;justify-content:center;border-radius:4px}
/* HERO: photo is intentionally an illustrative placeholder supplied with the design, not the real premises. */
.hero{position:relative;min-height:405px;display:flex;align-items:center;isolation:isolate;color:white;background-color:#07090c;background-image:linear-gradient(90deg,#08090d 0%,rgba(8,9,13,.98) 20%,rgba(8,9,13,.68) 45%,rgba(8,9,13,.08) 72%),url('assets/bentley-at-garage.webp');background-size:cover;background-position:center right}.hero:after{content:'';pointer-events:none;position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0506094f,transparent 40%)}.hero-content{padding-block:49px 35px}.hero-eyebrow{font-size:14px;letter-spacing:.27em;margin-bottom:8px}.hero h1{font-family:var(--display);font-size:clamp(53px,5.15vw,83px);line-height:.91;letter-spacing:.007em;font-weight:900;text-transform:uppercase;max-width:810px;margin:0 0 16px;text-shadow:0 2px 12px #0007}.hero-description{font-size:15px;line-height:1.63;color:#e5e8eb;max-width:670px;margin:0 0 22px;text-shadow:0 1px 3px #0008}.hero-ctas{display:flex;gap:13px;flex-wrap:wrap}.hero-ctas .btn{min-height:47px}.hero-reassurance{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:34px}.hero-reassurance li{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:#f0f1f2}.hero-reassurance .icon{width:21px;height:21px;stroke-width:2.2}
/* SERVICES */
.services-section{padding:28px 0 29px;background:#f8f9fa}.section-topline{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-topline h2,.reviews-intro h2,.about-copy h2,.contact-panel h2{font-family:var(--display);font-size:clamp(30px,3vw,40px);font-weight:900;line-height:.98;margin:0;text-transform:uppercase;letter-spacing:.015em}.section-aside{display:flex;align-items:center;gap:14px;color:#5e626c;font-size:10px;letter-spacing:.2em;font-weight:800;text-transform:uppercase;white-space:nowrap;padding-bottom:5px}.section-aside span{display:inline-block;width:50px;height:2px;background:var(--red)}.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.service-card{position:relative;display:flex;flex-direction:column;overflow:hidden;height:175px;border:none;padding:0;background:#121418;color:white;text-align:left;border-radius:4px;box-shadow:0 0 0 1px #00000012;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px #0002}.service-card>img{width:100%;height:99px;object-fit:cover;filter:brightness(.83);transition:transform .25s}.service-card:hover>img{transform:scale(1.05)}.service-details{position:relative;z-index:2;display:flex;align-items:center;gap:10px;flex:1;background:#0d0f12;padding:10px 9px}.service-details>span:nth-child(2){min-width:0;flex:1}.service-details strong{display:block;font-size:14px;line-height:1.1;font-family:var(--display);letter-spacing:.012em;font-weight:700}.service-details small{display:block;font-size:10px;line-height:1.25;color:#c9cbd0;margin-top:5px}.service-icon{color:var(--red);height:31px;width:31px;stroke-width:2}.chevron{width:17px;height:17px;stroke-width:1.6;color:#fff}.mot-symbol{display:flex;align-items:center;justify-content:center;color:var(--red);font-family:var(--display);border:2px solid var(--red);border-radius:2px;font-size:12px;font-weight:800;width:32px;height:29px;flex-shrink:0}
/* REVIEWS */
.reviews-section{padding:25px 0 19px;background:#eff0f2}.reviews-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:25px}.reviews-intro{display:grid;grid-template-columns:1fr 125px;gap:0 14px;align-items:start}.reviews-intro>.eyebrow{grid-column:1/-1}.reviews-intro h2{font-size:31px}.reviews-overview{align-self:center}.stars{font-size:20px;letter-spacing:-.075em;white-space:nowrap;color:#f6a400;line-height:1}.reviews-overview .stars{font-size:22px}.reviews-overview p{margin:6px 0 0}.reviews-overview strong{display:block;font-size:15px;line-height:1.2}.reviews-overview small{font-size:10px;color:#64707b;display:block;margin-top:4px}.review-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.review-card{padding:16px 17px 13px;border-radius:6px;background:#fff;box-shadow:0 1px 5px #00000008;min-height:142px;display:flex;flex-direction:column}.review-card .stars{font-size:17px}.review-card h3{font-size:12px;font-weight:800;line-height:1.25;margin:7px 0 4px}.review-card p{font-size:11px;line-height:1.45;margin:0 0 9px;color:#3e444b}.review-credit{margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;column-gap:7px;row-gap:2px}.review-credit strong{font-size:10px}.review-credit span{font-size:9px;color:#75808c}.review-source{text-align:right;padding-top:8px}.review-source a{font-size:11px;color:#434b55;display:inline-flex;align-items:center;gap:1px;font-weight:700}.review-source a:hover{color:var(--red)}.review-source .icon{width:13px;height:13px}
/* ABOUT & CONTACT */
.about-contact{display:grid;grid-template-columns:minmax(280px,37%) minmax(330px,36%) minmax(265px,27%);min-height:300px;background:#0a0b0e;color:white}.about-photo{min-height:300px;background:url('assets/audi-dusk-exterior.webp') center 52%/cover no-repeat}.about-copy{padding:34px clamp(22px,2.5vw,44px)}.about-copy h2{font-size:36px;margin-bottom:16px}.about-copy>p:not(.eyebrow){max-width:550px;font-size:14px;line-height:1.7;color:#d5d7dc;margin:0 0 12px}.contact-panel{border-left:1px solid #42454b;margin:25px 28px 25px 0;padding-left:27px;display:flex;flex-direction:column;gap:9px;justify-content:center;min-width:0}.contact-panel .eyebrow{font-size:10px;margin-bottom:-4px}.contact-panel h2{font-size:25px;margin-bottom:6px}.contact-detail{display:flex;align-items:center;gap:11px;font-size:12px;line-height:1.3;transition:color .2s;overflow-wrap:anywhere}.contact-detail:hover{color:var(--red)}.contact-detail .icon{color:var(--red);width:18px;height:18px}.direction-btn{margin-top:6px;min-height:40px;padding:9px 14px;align-self:stretch;font-size:12px}.direction-btn .icon{width:17px;height:17px}.site-footer{background:#050608;color:#d8d9dd}.footer-inner{min-height:77px;display:flex;align-items:center;gap:28px;justify-content:space-between}.footer-brand{width:187px;flex:none}.footer-brand img{width:100%;height:auto}.footer-nav{display:flex;flex-wrap:wrap;gap:18px}.footer-nav a,.footer-last{font-size:11px;color:#c5c7cb}.footer-nav a:hover,.footer-last a:hover{color:#fff}.footer-last{display:flex;align-items:end;flex-direction:column;gap:9px}.footer-last small{white-space:nowrap;font-size:10px;color:#a6a9af}
/* MODAL FORM */
.booking-dialog{width:min(96vw,715px);max-height:min(92vh,900px);overflow:auto;border:1px solid #dfe1e5;border-radius:10px;padding:0;color:var(--ink);box-shadow:0 35px 100px #0006}.booking-dialog::backdrop{background:#090b11c9;backdrop-filter:blur(5px)}.dialog-top{background:#0d0f13;color:#fff;padding:26px 32px;display:flex;justify-content:space-between;gap:25px}.dialog-top h2{font-family:var(--display);text-transform:uppercase;font-size:38px;line-height:1;margin:0 0 7px}.dialog-top p:last-child{color:#bfc2ca;margin:0;font-size:12px;line-height:1.5}.dialog-close{border:1px solid #52545a;background:transparent;color:#fff;width:36px;height:36px;border-radius:5px;display:grid;place-items:center;flex-shrink:0}.dialog-close:hover{background:#25282b}#garage-enquiry-form{padding:24px 32px 30px}.honeypot{position:absolute;left:-9999px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#393e47}.form-grid input,.form-grid select,.form-grid textarea{min-height:42px;border:1px solid #ccd0d7;border-radius:5px;padding:10px 11px;background:#fff;color:#1b1c1f;width:100%;font-size:13px}.form-grid textarea{resize:vertical;min-height:88px}.form-grid .full-span{grid-column:1/-1}.form-note{color:#69717c;font-size:11px;line-height:1.5;margin:16px 0}.dialog-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.dialog-actions .btn{min-height:43px}.call-instead{color:#242a34;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.form-status{margin:9px 0 0;color:#59616d;font-size:12px;min-height:14px}
@media(max-width:1340px){.container-wide{width:min(100% - 62px,1510px)}.header-inner{gap:17px;height:104px}.brand{flex-basis:245px}.primary-nav{gap:19px}.header-phone{padding-right:12px}.header-phone strong{font-size:20px}.btn-header{padding-inline:11px}.reviews-layout{grid-template-columns:280px minmax(0,1fr)}.reviews-intro{grid-template-columns:1fr 105px}.reviews-intro h2{font-size:29px}}
@media(max-width:1100px){.header-phone span{display:none}.header-phone{border:0;padding-right:3px}.primary-nav{gap:13px}.brand{flex-basis:218px}.header-actions{gap:10px}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.service-card{height:193px}.service-card>img{height:118px}.service-details{padding-inline:14px}.service-details strong{font-size:17px}.reviews-layout{grid-template-columns:1fr;gap:15px}.reviews-intro{display:flex;align-items:center;justify-content:space-between}.review-card{min-height:135px}.about-contact{grid-template-columns:32% 36% 32%}.about-copy{padding:20px}.contact-panel{padding-left:15px;margin-right:15px}.about-copy h2{font-size:30px}}
@media(max-width:780px){html{scroll-padding-top:75px}.container-wide{width:min(100% - 36px,1510px)}.header-inner{height:76px}.brand{flex-basis:235px}.brand img{max-height:73px}.menu-toggle{display:flex;margin-left:auto}.header-actions{margin-left:auto}.header-phone .icon{width:24px;height:24px}.btn-header{display:none}.primary-nav{position:absolute;left:0;right:0;top:76px;background:#0b0c0e;box-shadow:0 12px 18px #0004;padding:9px 20px 18px;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0}.primary-nav.is-open{display:flex}.nav-link{border-bottom:1px solid #25272c;padding:9px;font-size:15px}.nav-link:after{bottom:0;height:2px}.hero{min-height:530px;background-position:59% center;background-image:linear-gradient(90deg,#07090de8 0%,#07090dcf 52%,#07090d52 100%),url('assets/bentley-at-garage.webp')}.hero-content{padding-block:56px}.hero h1{font-size:clamp(55px,10vw,77px)}.hero-description{font-size:14px}.hero-reassurance{gap:20px}.section-topline{align-items:start;flex-direction:column}.section-aside{margin:0}.reviews-intro{align-items:center}.about-contact{grid-template-columns:1fr 1fr}.about-photo{min-height:265px}.about-copy{padding:28px}.contact-panel{grid-column:1/-1;border-left:0;border-top:1px solid #35383f;padding:25px 18px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:13px 22px}.contact-panel .eyebrow,.contact-panel h2{grid-column:1/-1}.direction-btn{grid-column:1/-1;max-width:250px}.footer-inner{padding-block:15px;flex-wrap:wrap;gap:15px}.footer-last{margin-left:auto}}
@media(max-width:540px){.container-wide{width:min(100% - 30px,1510px)}.brand{flex-basis:190px}.header-actions{display:none}.menu-toggle{margin-left:auto}.hero{min-height:490px}.hero-content{padding-block:47px 37px}.hero-eyebrow{font-size:11px}.hero h1{font-size:clamp(46px,13.2vw,66px);line-height:.94}.hero-description{font-size:13px;max-width:330px}.desktop-break{display:none}.hero-ctas{flex-direction:column;align-items:stretch;max-width:315px}.hero-ctas .btn{min-height:48px}.hero-reassurance{gap:13px 18px;margin-top:21px}.hero-reassurance li{font-size:11px}.hero-reassurance .icon{width:17px;height:17px}.services-section{padding-top:27px}.section-topline h2{font-size:34px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-card{height:171px}.service-card>img{height:91px}.service-details{gap:6px;padding:9px 7px}.service-icon,.mot-symbol{width:23px;height:25px}.service-details strong{font-size:14px}.service-details small{font-size:9px}.service-details .chevron{width:12px}.reviews-intro{display:block}.reviews-intro h2{font-size:34px}.reviews-overview{display:flex;gap:14px;align-items:center;margin-top:12px}.review-cards{grid-template-columns:1fr;gap:10px}.review-card{min-height:0}.review-card h3{font-size:14px}.review-card p{font-size:12px}.review-source{text-align:left;padding-top:15px}.about-contact{grid-template-columns:1fr}.about-photo{height:205px;min-height:205px}.about-copy{padding:25px 20px 20px}.about-copy h2{font-size:36px}.about-copy>p:not(.eyebrow){font-size:12px}.contact-panel{grid-template-columns:1fr;padding:24px 20px}.contact-panel .eyebrow,.contact-panel h2,.direction-btn{grid-column:auto}.contact-detail{font-size:13px}.direction-btn{max-width:none}.footer-inner{display:flex;flex-direction:column;justify-content:center;align-items:center}.footer-brand{width:200px}.footer-nav{justify-content:center;gap:12px 17px}.footer-last{margin:0;align-items:center}.dialog-top{padding:18px}.dialog-top h2{font-size:30px}#garage-enquiry-form{padding:20px 17px}.form-grid{grid-template-columns:1fr}.form-grid .full-span{grid-column:auto}.dialog-actions{display:flex;flex-direction:column;align-items:stretch}.dialog-actions .btn{white-space:normal}.call-instead{text-align:center}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Keep the intended two-line headline and reviews hierarchy on desktops,
   including machines without Google Fonts installed. */
@media(min-width:781px){.hero h1{max-width:1040px;font-size:clamp(55px,4.75vw,76px)}.reviews-layout{grid-template-columns:405px minmax(0,1fr)}}
@media(min-width:781px) and (max-width:1100px){.reviews-layout{grid-template-columns:1fr}}



/* Garage photography, refined gallery, and subtle interaction details. */
.site-header { position:sticky; top:0; z-index:30; transition:box-shadow .25s ease; }
.site-header.is-scrolled { box-shadow:0 12px 24px rgba(0,0,0,.24); }
.header-inner { transition:height .3s ease; }
.brand img { max-height:105px; object-fit:contain; transition:max-height .3s ease; }
@media(min-width:781px) {
  .site-header.is-scrolled .header-inner { height:88px; }
  .site-header.is-scrolled .brand img { max-height:78px; }
}
.hero { background:#090a0c; overflow:hidden; isolation:isolate; min-height:455px; }
.hero:after { z-index:-1; inset:0; background:linear-gradient(90deg,#08090cfb 0%,#08090cf2 30%,#08090cdc 43%,#08090c72 57%,#08090c0a 78%),linear-gradient(0deg,#0506095e,transparent 50%); }
.hero-photos { position:absolute; z-index:-2; inset:0 0 0 auto; width:64%; display:grid; grid-template-columns:1.25fr .8fr; grid-template-rows:1fr 1fr; gap:7px; overflow:hidden; background:#0c0c0d; }
.hero-photo { width:100%; height:100%; min-height:0; object-fit:cover; object-position:50% 47%; filter:brightness(.88); }
.hero-photo-main { grid-row:span 2; object-position:center 52%; }
.hero-photos img:nth-child(2) { object-position:center 65%; }
.hero-photos img:nth-child(3) { object-position:center 55%; }
.hero-content { position:relative; z-index:1; padding-block:75px 54px; }
.services-section { padding-block:48px 51px; background:#f7f7f7; }
.services-grid { gap:12px; }
.service-card { min-height:186px; height:auto; background:#111318; border-radius:4px; border-top:3px solid #bf984d; }
.service-details { flex-direction:column; align-items:flex-start; justify-content:center; gap:19px; padding:22px 16px 25px; background:none; flex:1; }
.service-details>span:nth-child(2) { flex:0; min-width:0; }
.service-icon { width:35px; height:35px; color:#d1ab61; }
.service-details strong { font-size:20px; font-weight:800; line-height:1.1; letter-spacing:.005em; }
.service-details small { font-size:11px; line-height:1.4; color:#b9bec7; max-width:170px; }
.mot-symbol { height:35px; width:45px; font-size:16px; color:#d1ab61; border-color:#d1ab61; }
.service-details .chevron { position:absolute; right:13px; bottom:16px; color:#d1ab61; }

/* Consistent, two-row photo grid. Captions sit over the photographs. */
.gallery-section { background:#111215; color:#fff; padding:68px 0 74px; border-top:1px solid #25272a; }
.gallery-heading-row { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:30px; }
.gallery-heading-row h2 { font-family:var(--display); font-size:clamp(40px,4vw,58px); line-height:1; font-weight:900; text-transform:uppercase; letter-spacing:.005em; margin:0; }
.gallery-description { margin:12px 0 0; color:#bdc0c6; font-size:14px; line-height:1.6; }
.gallery-facebook { display:inline-flex; gap:8px; align-items:center; font-size:13px; color:#e2be78; font-weight:700; white-space:nowrap; border-bottom:1px solid #a98d57; padding-bottom:7px; transition:color .2s,border-color .2s; }
.gallery-facebook:hover { color:white; border-color:white; }
.gallery-facebook .icon { width:16px; height:16px; transform:rotate(-45deg); }
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.gallery-photo { position:relative; min-width:0; margin:0; background:#17191c; overflow:hidden; border:1px solid #2a2c30; border-radius:9px; }
.gallery-photo-frame { display:block; position:relative; height:100%; min-height:260px; aspect-ratio:1.45; overflow:hidden; color:#fff; }
.gallery-photo-frame::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.35) 46%,transparent 100%); pointer-events:none; }
.gallery-photo img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.gallery-photo:nth-child(1) img { object-position:center 60%; }
.gallery-photo:nth-child(2) img { object-position:center 52%; }
.gallery-photo:nth-child(3) img { object-position:center 58%; }
.gallery-photo:nth-child(4) img { object-position:center 51%; }
.gallery-photo:nth-child(5) img { object-position:center 57%; }
.gallery-photo:nth-child(6) img { object-position:center 50%; }
.gallery-photo figcaption { pointer-events:none; position:absolute; z-index:1; bottom:0; left:0; right:0; padding:20px 20px 18px; color:#fff; display:flex; align-items:end; justify-content:space-between; gap:12px; font-weight:700; font-size:15px; line-height:1.2; letter-spacing:0; }

.about-photo { background:url('assets/audi-dusk-exterior.webp') center 52%/cover no-repeat; }
.about-contact { min-height:300px; }
.about-copy { padding:34px clamp(22px,2.5vw,44px); }
.about-copy h2 { font-size:36px; margin-bottom:16px; }
.about-copy>p:not(.eyebrow) { font-size:14px; line-height:1.7; margin-bottom:12px; }

/* Applied only when JavaScript and IntersectionObserver are available. */
@media(prefers-reduced-motion:no-preference) {
  .motion-ready .reveal-item { opacity:0; transform:translate3d(0,24px,0); transition:opacity .7s ease,transform .7s cubic-bezier(.17,.7,.25,1); transition-delay:var(--reveal-delay,0ms); }
  .motion-ready .reveal-item.is-visible { opacity:1; transform:translate3d(0,0,0); }
}
@media(max-width:1150px) {
  .services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .service-card { min-height:155px; }
  .service-details { gap:12px; padding:18px; }
  .hero-photos { width:70%; }
}
@media(max-width:900px) {
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .gallery-photo-frame { min-height:240px; }
}
@media(max-width:780px) {
  .hero { min-height:530px; }
  .hero-photos { width:100%; grid-template-columns:1.2fr .8fr; opacity:.65; }
  .hero:after { background:linear-gradient(90deg,#08090cfc 0%,#08090cda 52%,#08090c86 100%),linear-gradient(0deg,#050609bd,transparent); }
  .hero-content { padding-block:62px 42px; }
  .gallery-section { padding-block:50px 55px; }
  .gallery-heading-row { align-items:start; flex-direction:column; gap:15px; }
  .gallery-photo-frame { min-height:220px; }
  .gallery-photo figcaption { font-size:13px; padding:20px 14px 14px; }
  .about-contact { grid-template-columns:1fr; }
  .about-photo { min-height:250px; }
  .about-copy { padding:30px 24px; }
}
@media(max-width:540px) {
  .hero { min-height:500px; }
  .hero-photos { opacity:.43; grid-template-columns:1fr 1fr; }
  .hero:after { background:linear-gradient(90deg,#08090cf5,#08090cd7),linear-gradient(0deg,#08090ce6,transparent); }
  .hero-content { padding-block:47px 37px; }
  .service-card { min-height:145px; height:auto; }
  .service-details { padding:15px 13px 25px; gap:12px; }
  .service-details strong { font-size:19px; }
  .service-details small { font-size:10px; }
  .gallery-section { padding-block:42px 48px; }
  .gallery-heading-row h2 { font-size:40px; }
  .gallery-grid { grid-template-columns:1fr; gap:13px; }
  .gallery-photo-frame { min-height:245px; aspect-ratio:1.45; }
  .gallery-photo figcaption { font-size:15px; padding:25px 18px 17px; }
  .about-photo { height:225px; min-height:225px; }
  .about-copy { padding:26px 20px; }
}
@media(prefers-reduced-motion:reduce) {
  .gallery-photo img, .site-header, .header-inner, .brand img { transition:none; }
}

/* Mobile-only layout refinement — desktop rules remain untouched. */
@media (max-width:780px) {
  .header-inner { position:relative; justify-content:center; gap:0; }
  .brand { flex:0 1 auto; width:min(58vw,220px); margin:0 auto; }
  .brand img { width:100%; height:auto; max-height:68px; object-fit:contain; }
  .menu-toggle { position:absolute; right:0; top:50%; transform:translateY(-50%); margin:0; width:43px; height:43px; }
  .header-actions { display:none; }
  .hero { min-height:unset; }
  .hero-content { text-align:center; padding-block:53px 47px; display:flex; flex-direction:column; align-items:center; }
  .hero h1 { margin:0 auto 19px; max-width:670px; font-size:clamp(43px,8.1vw,63px); line-height:.98; letter-spacing:0; text-wrap:balance; }
  .hero-description { margin:0 auto 24px; max-width:580px; font-size:14px; line-height:1.6; }
  .hero-eyebrow { margin-bottom:15px; font-size:11px; letter-spacing:.21em; }
  .hero-ctas { justify-content:center; width:min(100%,460px); gap:12px; }
  .hero-ctas .btn { min-height:49px; flex:1 1 165px; font-size:13px; padding:14px 12px; }
  .hero-reassurance { justify-content:center; margin-top:25px; gap:12px 22px; }
  .hero-reassurance li { font-size:11px; }
  .hero-photos { opacity:.35; }
  .hero:after { background:linear-gradient(90deg,rgba(8,9,12,.9),rgba(8,9,12,.79)),linear-gradient(0deg,rgba(8,9,12,.65),transparent); }
  .section-topline { text-align:center; align-items:center; }
  .section-aside { justify-content:center; }
  .gallery-heading-row { text-align:center; align-items:center; }
  .gallery-facebook { align-self:center; }
}
@media (max-width:540px) {
  .header-inner { height:73px; }
  .brand { width:min(55vw,205px); }
  .brand img { max-height:63px; }
  .primary-nav { top:73px; }
  .hero-content { padding-block:47px 44px; }
  .hero h1 { font-size:clamp(39px,10.7vw,53px); line-height:.99; max-width:380px; margin-bottom:17px; }
  .hero-description { font-size:13px; line-height:1.62; max-width:360px; margin-bottom:21px; }
  .hero-ctas { width:min(100%,350px); flex-direction:column; gap:11px; }
  .hero-ctas .btn { width:100%; flex:none; min-height:49px; }
  .hero-reassurance { max-width:365px; margin-top:23px; gap:12px 17px; }
  .hero-reassurance li { font-size:10.5px; gap:7px; }
  .hero-reassurance .icon { width:17px; height:17px; }
  .services-section { padding-block:37px 40px; }
  .section-topline h2 { font-size:clamp(30px,9vw,38px); }
  .section-aside { font-size:9px; }
  .gallery-heading-row h2 { font-size:clamp(33px,9vw,40px); }
}

/* Only the restored homepage uses these slideshow styles. Other pages retain their existing design. */
.workshop-slideshow{width:100%;margin-top:24px}
.workshop-slider-viewport{width:100%;overflow:hidden;border-radius:5px;touch-action:pan-y}
.workshop-slider-track{display:flex;gap:15px;transition:transform 600ms cubic-bezier(.25,.8,.25,1);will-change:transform}
.workshop-slide{position:relative;flex:0 0 calc((100% - 30px)/3);height:305px;margin:0;overflow:hidden;border:1px solid #33363b;background:#09090a;border-radius:4px;user-select:none;pointer-events:none}
.workshop-slide img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block;pointer-events:none;-webkit-user-drag:none}
.workshop-slide:nth-child(3) img{object-position:center 48%}
.workshop-slide:nth-child(4) img{object-position:center 38%}

.workshop-slider-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;color:#c7c8ca}
.workshop-slider-pagination{display:flex;align-items:center;gap:7px;font-size:14px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.workshop-slider-pagination [data-slider-current]{color:#e8bc6a;font-weight:800}
.workshop-slider-label{font-size:12px;color:#aeb0b5;letter-spacing:.01em}
.workshop-slider-buttons{display:flex;gap:9px}
.workshop-slider-arrow{display:grid;place-items:center;width:45px;height:45px;border:1px solid #606065;border-radius:3px;background:#191b1e;color:#f5f5f5;font-size:23px;line-height:1;transition:background .2s,border-color .2s;cursor:pointer}
.workshop-slider-arrow:hover{background:#33363a;border-color:#d1ab61}
.workshop-slider-arrow:focus-visible{outline:2px solid #f4b956;outline-offset:3px}
@media(max-width:900px){.workshop-slide{flex-basis:calc((100% - 15px)/2);height:265px}}
@media(max-width:540px){.workshop-slideshow{margin-top:20px}.workshop-slider-track{gap:0}.workshop-slide{flex-basis:100%;height:300px}.workshop-slider-controls{margin-top:13px}.workshop-slider-arrow{width:43px;height:43px}.gallery-section{padding-block:38px}.gallery-heading-row{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.workshop-slider-track{transition:none}}
