@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-v29-latin-regular.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-v29-latin-500.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-v29-latin-600.woff2)format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-v29-latin-700.woff2)format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/roboto-v47-latin-300.woff2)format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-v47-latin-regular.woff2)format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/roboto-v47-latin-500.woff2)format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/roboto-v47-latin-600.woff2)format("woff2")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/roboto-v47-latin-700.woff2)format("woff2")}:root{--primary-color:#2c3e50;--secondary-color:#a5b730;--accent-color:#333;--light-color:#ecf0f1;--dark-color:#2c3e50;--text-color:#333;--light-text:#fff;--font-main:"Roboto", sans-serif;--font-heading:"Montserrat", sans-serif;--shadow:0 4px 6px #0000001a;--transition:all .3s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height,72px) + 1rem)}body{font-family:var(--font-main);-webkit-font-smoothing:antialiased;color:var(--text-color);background-color:var(--light-color);line-height:1.6}a{color:var(--secondary-color);transition:var(--transition);text-decoration:none}a:hover{color:var(--accent-color)}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.btn{background-color:var(--secondary-color);color:var(--light-text);cursor:pointer;transition:var(--transition);text-align:center;border:none;border-radius:6px;padding:12px 24px;font-weight:600;display:inline-block}.btn:hover{background-color:var(--primary-color);color:var(--light-text)}.btn-outline{border:2px solid var(--secondary-color);color:var(--secondary-color);background-color:#0000}.btn-outline:hover{background-color:var(--secondary-color);color:var(--light-text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);hyphens:auto;overflow-wrap:break-word;color:var(--primary-color);margin-bottom:1rem;font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}p{margin-bottom:1.5rem}.text-center{text-align:center}.section-title{margin-bottom:3rem;padding-bottom:1rem;position:relative}.section-title:after{content:"";background-color:var(--secondary-color);width:100px;height:3px;position:absolute;bottom:0;left:0}.section-title.text-center:after{left:50%;transform:translate(-50%)}.about-text ul,.service-text ul,.glasses-text ul,.team-member-bio ul,.contact-text ul,.cta-text ul,.opening-hours-info ul,.hours-notes ul{margin:.7em 0 .7em .5em;padding-left:0;list-style:none}.about-text ul li,.service-text ul li,.glasses-text ul li,.team-member-bio ul li,.contact-text ul li,.cta-text ul li,.opening-hours-info ul li,.hours-notes ul li{margin-bottom:.3em;padding-left:1.1em;font-size:1em;line-height:1.5;position:relative}.about-text ul li:before,.service-text ul li:before,.glasses-text ul li:before,.team-member-bio ul li:before,.contact-text ul li:before,.cta-text ul li:before,.opening-hours-info ul li:before,.hours-notes ul li:before{content:"";background:var(--secondary-color);border-radius:50%;width:.5em;height:.5em;display:inline-block;position:absolute;top:.47em;left:0}.about-text ol,.service-text ol,.glasses-text ol,.team-member-bio ol,.contact-text ol,.cta-text ol,.opening-hours-info ol,.hours-notes ol{counter-reset:item;margin:.7em 0 .7em .5em;padding-left:0;list-style-type:none}.about-text ol li,.service-text ol li,.glasses-text ol li,.team-member-bio ol li,.contact-text ol li,.cta-text ol li,.opening-hours-info ol li,.hours-notes ol li{counter-increment:item;margin-bottom:.5em;padding-left:1.8em;font-size:1em;line-height:1.5;position:relative}.about-text ol li:before,.service-text ol li:before,.glasses-text ol li:before,.team-member-bio ol li:before,.contact-text ol li:before,.cta-text ol li:before,.opening-hours-info ol li:before,.hours-notes ol li:before{content:counter(item) ".";color:var(--primary-color);font-weight:600;position:absolute;top:0;left:0}@media (width<=992px){.about-content{flex-direction:column}.about-image{order:-1;margin-bottom:2rem}h1{font-size:2.2rem}h2{font-size:1.8rem}.hero h1{font-size:2.8rem}}@media (width<=768px){.hero h1{font-size:2.5rem}.hero p{font-size:1rem}}@media (width<=576px){.hero h1{font-size:2rem}.section-title{font-size:1.8rem}.contact-container{grid-template-columns:1fr}}:root{--header-height:72px}.skip-link{z-index:2000;background:var(--primary-color);color:var(--light-text);border-radius:4px;padding:.5rem 1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.header{z-index:1000;background:#fff;border-bottom:1px solid #2c3e501a;width:100%;position:fixed;top:0;left:0}.nav-container{height:var(--header-height);justify-content:space-between;align-items:center;gap:2rem;display:flex}.logo{font-family:var(--font-heading);color:var(--primary-color);letter-spacing:-.01em;white-space:nowrap;font-size:1.7rem;font-weight:700}.logo span{color:var(--secondary-color)}.logo:hover{color:var(--primary-color)}.hamburger{cursor:pointer;background:0 0;border:0;border-radius:6px;width:44px;height:44px;padding:10px;display:none}.hamburger .bar{background:var(--primary-color);width:24px;height:2px;margin:5px 0;transition:transform .25s,opacity .25s;display:block}.hamburger.active .bar:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-menu,.dropdown{margin:0;padding:0;list-style:none}.nav-link{color:var(--primary-color);font-weight:500;text-decoration:none;display:inline-block}.nav-link:hover,.nav-link[aria-current=page]{color:var(--primary-color)}.nav-toggle{color:var(--primary-color);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.nav-toggle svg{transition:transform .2s}.nav-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.dropdown a{color:var(--primary-color);border-radius:6px;text-decoration:none;display:block}.dropdown a .dropdown-title{font-weight:600;display:block}.dropdown a .dropdown-teaser{color:#5b6b7a;font-size:.85rem;line-height:1.35;display:block}.dropdown a:hover,.dropdown a:focus-visible,.dropdown a[aria-current=page]{color:var(--primary-color);background:#a5b73024}.nav-contact.btn{border-radius:6px;padding:.55rem 1.15rem;font-weight:600}.nav-contact.btn:hover{box-shadow:none;transform:none}.nav-phone{color:var(--primary-color);white-space:nowrap;align-items:center;gap:.45rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-phone:hover{color:var(--secondary-color)}@media (width>=951px){.nav{flex:1;justify-content:flex-end;align-items:center;gap:.25rem;height:100%;display:flex}.nav-menu,.nav-meta{display:contents}.nav-item{align-items:center;height:100%;display:flex;position:relative}.nav-link{padding:.5rem .7rem;position:relative}.nav-link:after{content:"";background:var(--secondary-color);transform-origin:0;height:2px;transition:transform .2s;position:absolute;bottom:.15rem;left:.7rem;right:.7rem;transform:scaleX(0)}.nav-link:hover:after,.is-section>.nav-link:after,.nav-link[aria-current=page]:after{transform:scaleX(1)}.has-dropdown>.nav-link{padding-right:.25rem}.has-dropdown>.nav-link:after{right:.25rem}.nav-toggle{width:28px;height:28px;margin-right:.35rem}.dropdown{z-index:1100;background:#fff;border:1px solid #2c3e501f;border-radius:10px;min-width:320px;padding:.5rem;display:none;position:absolute;top:calc(100% - 8px);left:0;box-shadow:0 16px 40px #2c3e5024}.dropdown a{padding:.6rem .75rem}.has-dropdown.open>.dropdown,.has-dropdown:focus-within>.dropdown{display:block}}@media (width>=951px) and (hover:hover){.has-dropdown:hover>.dropdown{display:block}.has-dropdown:hover>.nav-toggle svg{transform:rotate(180deg)}}@media (width>=951px){.nav-item:nth-last-child(2)>.dropdown{left:auto;right:0}.nav-phone{order:1;margin-left:1rem;padding:.5rem .25rem}.nav-phone svg{color:var(--secondary-color)}.nav-item--contact{order:2;margin-left:.75rem}.nav-address,.nav-meta .today-hours{display:none}}@media (width<=950px){.hamburger{display:block}.nav{top:var(--header-height);-webkit-overflow-scrolling:touch;background:#fff;padding:.5rem 20px 2.5rem;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.nav.open{display:block}body.menu-open{overflow:hidden}.nav-item{border-bottom:1px solid #2c3e501a;padding:.5rem 0}.nav-link{font-family:var(--font-heading);padding:.7rem 0;font-size:1.15rem;font-weight:600;display:block}.nav-toggle{display:none}.dropdown{padding:0 0 .5rem;display:block}.dropdown a{padding:.4rem .6rem}.dropdown .dropdown-title{font-weight:500}.nav-item--contact{border:0;padding:1.25rem 0 .5rem}.nav-item--contact .nav-contact{text-align:center;padding:.85rem 1rem;font-size:1.05rem;display:block}.nav-meta{color:var(--text-color);padding-top:1rem}.nav-meta .nav-phone{font-size:1.25rem}.nav-meta .nav-phone svg{width:22px;height:22px;color:var(--secondary-color)}.nav-meta .nav-address{color:#5b6b7a;margin:.5rem 0 0}.nav-meta .today-hours{margin-top:.75rem}}.promo{background:var(--secondary-color);color:var(--light-text);border-top:1px solid #ffffff40}.promo-inner{align-items:center;gap:1rem;padding-block:.6rem;display:flex}.promo-image{object-fit:cover;border-radius:4px;flex:none;width:72px;height:48px}.promo-text{flex:1;min-width:0;line-height:1.35}.promo-text strong{display:block}.promo-text span{opacity:.95;font-size:.92rem}.promo-text a{color:inherit;text-decoration:underline}.promo-link.btn{background:var(--light-color);color:var(--primary-color);flex:none;padding:.5rem 1rem;font-size:.9rem}.promo-link.btn:hover{background:var(--primary-color);color:var(--light-text)}@media (width<=767px){.promo-inner{gap:.6rem;padding-block:.5rem}.promo-image,.promo-text span{display:none}.promo-text strong{font-size:.9rem}.promo-link.btn{padding:.4rem .7rem;font-size:.8rem}}.breadcrumbs{border-bottom:1px solid #2c3e501a;padding:.6rem 0;font-size:.85rem}.breadcrumbs ol{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";color:#999;margin-right:.35rem}.breadcrumbs a{color:var(--secondary-color);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs [aria-current]{color:#666}.hero.hero--sub{min-height:clamp(18rem,45svh,28rem)}.hero.hero--sub h1{font-size:clamp(1.9rem,4vw,2.8rem)}.hero.hero--sub .hero-text{font-size:1.05rem}.hero{min-height:clamp(26rem,72svh,44rem);padding-top:var(--header-total,var(--header-height));box-sizing:border-box;background-position:50%;background-repeat:no-repeat;background-size:cover;background-color:var(--accent-color);color:var(--light-text);align-items:center;display:flex;position:relative}.hero:before{content:"";background:linear-gradient(#00000080,#000000b3);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:1;text-align:right;max-width:800px;margin-left:auto;position:relative}.hero h1{color:var(--light-text);margin-bottom:1.5rem;font-size:3.5rem}.hero-text{margin-bottom:2rem;font-size:1.2rem}.hero-text p{margin-bottom:1rem}.hero-text p:last-child{margin-bottom:0}.hero-buttons{justify-content:flex-end;gap:1.5rem;display:flex}@media (width<=768px){.hero-content{text-align:left;margin-left:0}.hero-buttons{flex-wrap:wrap;justify-content:flex-start;gap:.75rem}}.quick-info{padding:2.5rem 0}.quick-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=768px){.quick-grid{grid-template-columns:1fr 1.4fr}}.quick-card{background:#fff;border:1px solid #2c3e5014;border-radius:10px;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.quick-card h2{border-bottom:2px solid var(--secondary-color);align-self:flex-start;margin:0;padding-bottom:.5rem;font-size:1.15rem}.quick-card p{margin:0}.quick-card .btn{align-self:flex-start}.quick-contact{gap:0;padding:0}.quick-contact>div{flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.quick-contact .quick-route{border-top:1px solid #2c3e501a}@media (width>=700px){.quick-contact{flex-direction:row}.quick-contact>div{flex:1}.quick-contact .quick-route{border-top:0;border-left:1px solid #2c3e501a}}.special-band{border:1px solid #2c3e5014;border-left:4px solid var(--secondary-color);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:.5rem 2rem;margin-top:1.25rem;padding:1rem 1.5rem;display:flex}.special-band .special-band-title{color:var(--primary-color);font-weight:700;font-family:var(--font-heading);margin:0}.special-band ul{flex-wrap:wrap;gap:.35rem 2rem;margin:0;padding:0;list-style:none;display:flex}.special-band li{flex-wrap:wrap;gap:0 .5rem;display:flex}.special-band .label{color:var(--primary-color);font-weight:600}.special-band .label:after{content:":"}.quick-hours .today-hours{margin:0;font-size:1.1rem}.quick-hours .today-hours .today-label{text-transform:uppercase;letter-spacing:.04em;color:#5b6b7a;font-size:.85rem;font-weight:600;display:block}.quick-hours .today-hours .today-range,.quick-hours .today-hours .today-closed{color:var(--primary-color);font-weight:600;display:block}.quick-hours .hours-list{margin:.25rem 0 0;font-size:.95rem}.quick-phone.btn{align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:1.15rem;display:inline-flex}.quick-list{margin:0;padding:0;list-style:none}.quick-list li{margin-bottom:.35rem}.quick-list a{color:var(--primary-color);-webkit-text-decoration:underline #2c3e504d;text-decoration:underline #2c3e504d}.quick-list a:hover{color:var(--secondary-color)}.quick-address{color:var(--primary-color);font-weight:600;line-height:1.4}.quick-nearby{color:var(--text-color)}.quick-note{color:#5b6b7a;padding-top:.5rem;font-size:.9rem;margin-top:auto!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=767px){.quick-contact{order:-1}}.hours-list{margin-bottom:1rem}.hours-item{border-bottom:1px dashed #e0e0e0;justify-content:space-between;gap:1rem;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.hours-item:last-child{border-bottom:none}.hours-item .day{color:var(--primary-color);font-weight:600}.hours-item .times{text-align:right;flex-direction:column;display:flex}.hours-item .time{color:var(--text-color)}.hours-special{border-left:3px solid var(--secondary-color);background:#00000008;margin-top:1rem;padding:.75rem 1rem;font-style:normal}.hours-special .hours-special-title{color:var(--primary-color);margin:0 0 .5rem;font-weight:600}.hours-special ul{margin:0;padding:0;list-style:none}.hours-special li{border-top:1px dashed #e0e0e0;flex-direction:column;gap:.1rem;padding:.4rem 0;display:flex}.hours-special li:first-child{border-top:none;padding-top:0}.hours-special .label{font-weight:600}.hours-special .when{color:var(--text-color)}.about{padding:4rem 0}.about+.about{padding-top:0}.about h2{color:var(--primary-color);margin-bottom:2rem;padding-bottom:1rem;position:relative}.about h2:after{content:"";background-color:var(--secondary-color);width:80px;height:3px;position:absolute;bottom:0;left:0}.about-container{align-items:flex-start;gap:4rem;display:flex}.about-text{flex:1;line-height:1.8}.about-text h3{color:var(--primary-color);margin:2rem 0 1rem;font-size:1.5rem}.about-text h3:first-child{margin-top:0}.about-text p{margin-bottom:1.5rem}.about-text p:last-child{margin-bottom:0}.about-link{margin-top:1.5rem}.about-text ul{margin-bottom:1.5rem;padding-left:1.5rem}.about-text li{margin-bottom:.75rem;position:relative}.about-text li:last-child{margin-bottom:0}.about-text strong{color:var(--primary-color);font-weight:600}.about-image{border-radius:10px;flex:1;max-width:500px;overflow:hidden}.about-image img{object-fit:cover;width:100%;height:auto;display:block}@media (width<=768px){.about-container{flex-direction:column}.about-image{max-width:100%;margin-top:2rem}}.services{padding:4rem 0}.services h2{margin-bottom:2rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid}.service-item{background:#fff;border:1px solid #2c3e5014;border-radius:10px;flex-direction:column;height:100%;display:flex;overflow:hidden}.service-card{background-color:var(--light-text);box-shadow:var(--shadow);transition:var(--transition);border-radius:8px;overflow:hidden}.service-card:hover{transform:translateY(-10px);box-shadow:0 10px 20px #0000001a}.service-item--link{color:inherit;text-decoration:none}.service-item--link:hover,.service-item--link:focus-visible{color:inherit;border-color:var(--primary-color)}.service-item--link:hover .service-image img,.service-item--link:focus-visible .service-image img{transform:scale(1.04)}.service-item--link:hover .service-more,.service-item--link:focus-visible .service-more{background:var(--primary-color);color:#fff}.service-image{height:200px;display:block;overflow:hidden}.service-more{border:1.5px solid var(--primary-color);width:40px;height:40px;color:var(--primary-color);transition:var(--transition);border-radius:50%;justify-content:center;align-self:flex-end;align-items:center;margin-top:auto;display:inline-flex}.service-image img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}.service-card:hover .service-image img{transform:scale(1.1)}.service-content{flex-direction:column;flex:1;padding:1.5rem;display:flex}.service-content h3{margin-bottom:.75rem;font-size:1.3rem}.service-text{margin-bottom:1.5rem}.service-text p{margin-bottom:1rem}.service-text p:last-child{margin-bottom:0}.service-text strong{color:var(--primary-color);font-weight:600}.service-content .btn{align-self:flex-start;margin-top:auto}.team{padding:4rem 0}.team-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid}.team-member{background-color:var(--light-text);text-align:center;border:1px solid #2c3e5014;border-radius:10px;overflow:hidden}.team-member-image{aspect-ratio:4/5;background:var(--light-color);overflow:hidden}.team-member-image img{object-fit:cover;object-position:center top;width:100%;height:100%}.team-member-content{padding:1.5rem}.team-member-content h3{margin-bottom:.5rem}.team-member-role{color:var(--secondary-color);margin-bottom:1rem;font-weight:500}.team-member-bio{color:var(--text-color);line-height:1.6}.team-member-bio p{margin-bottom:1rem}.team-member-bio p:last-child{margin-bottom:0}.team-member-bio strong{color:var(--primary-color);font-weight:600}.contact-block{padding:6rem 0}.contact-block h2{color:var(--primary-color);margin-bottom:2rem;padding-bottom:1rem;position:relative}.contact-block h2:after{content:"";background-color:var(--secondary-color);width:80px;height:3px;position:absolute;bottom:0;left:0}.contact-block-container{align-items:flex-start;gap:4rem;display:flex}.contact-block-content{flex:1}.contact-block-text{margin-bottom:2rem;line-height:1.8}.contact-block-text p{margin-bottom:1.5rem}.contact-block-text p:last-child{margin-bottom:0}.contact-block-info{flex:1;max-width:500px}.contact-form-component{border:1px solid #2c3e5014;border-left:4px solid var(--secondary-color);background-color:#fff;border-radius:8px;padding:2rem}.contact-form-component form{flex-direction:column;display:flex}.contact-form-component .form-group{margin-bottom:1.5rem}.contact-form-component label{color:var(--primary-color);margin-bottom:.5rem;font-weight:500;display:block}.contact-form-component input,.contact-form-component textarea{border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem}.contact-form-component input:focus,.contact-form-component textarea:focus{border-color:var(--secondary-color);outline:none;box-shadow:0 0 0 2px #a5b73033}.contact-form-component textarea{resize:vertical;min-height:120px}.contact-form-component .btn{background-color:var(--secondary-color);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;display:inline-block}.contact-form-component .btn:hover{background-color:var(--primary-color);transform:translateY(-2px)}.contact-form-component .btn:active{transform:translateY(0)}.contact-form-component .form-message{border-radius:4px;margin-top:1.5rem;padding:1rem;display:none}.contact-form-component .success-message{color:#2e7d32;background-color:#4caf501a;border:1px solid #4caf50}.contact-form-component .error-message{color:#d32f2f;background-color:#f443361a;border:1px solid #f44336}.contact-form-component .form-message p{margin:0;font-weight:500}.contact-info-component{border:1px solid #2c3e5014;border-left:4px solid var(--secondary-color);background-color:#fff;border-radius:8px;padding:2rem}.contact-info-component .info-content h3{color:var(--primary-color);margin-top:0;margin-bottom:1.5rem;font-size:1.5rem}.contact-info-component .info-content h3:not(:first-child){margin-top:2rem}.contact-info-component .info-content p{margin-bottom:1rem;line-height:1.6}.contact-info-component .info-content strong{color:var(--primary-color);font-weight:600}.contact-info-component .info-content table{border-collapse:collapse;width:100%;margin:1.5rem 0}.contact-info-component .info-content table th,.contact-info-component .info-content table td{text-align:left;border-bottom:1px solid #ddd;padding:.75rem}.contact-info-component .info-content table th{color:var(--primary-color);font-weight:600}@media (width<=992px){.contact-block-container{flex-direction:column}.contact-block-info{max-width:100%}}@media (width<=768px){.contact-block{padding:4rem 0}.contact-block h2{font-size:1.75rem}.contact-form-component,.contact-info-component{padding:1.5rem}}.form-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.directions{padding:4rem 0}.directions h2{margin-bottom:2rem}.directions h3{margin-bottom:.75rem;font-size:1.1rem}.directions .directions-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=768px){.directions .directions-grid{grid-template-columns:1fr 1fr;gap:3rem}}.directions .directions-address{font-size:1.1rem;line-height:1.6}.directions .directions-buttons{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.directions .directions-osm{margin-top:.75rem;font-size:.9rem}.directions .directions-nearby ul{margin:0;padding:0;list-style:none}.directions .directions-nearby li{border-bottom:1px dashed #e0e0e0;justify-content:space-between;gap:1rem;padding:.45rem 0;display:flex}.directions .directions-nearby li:last-child{border-bottom:none}.directions .directions-nearby li .place{font-weight:600}.directions .directions-nearby li .time{color:var(--text-color);white-space:nowrap}.directions .directions-note{color:#666;margin-top:1rem;font-size:.9rem}.directions-parking{border-top:1px solid #2c3e501f;margin-top:1rem;padding-top:1rem}.cta{padding:4rem 0}.cta-container{text-align:center;background-color:#fff;border:1px solid #2c3e5014;border-radius:10px;max-width:800px;margin:0 auto;padding:3rem}.cta h2{color:var(--primary-color);margin-bottom:1.5rem;padding-bottom:1rem;position:relative}.cta h2:after{content:"";background-color:var(--secondary-color);width:80px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.cta-text{color:var(--text-color);margin-bottom:2rem;line-height:1.6}.cta-text p{margin-bottom:1rem}.cta-text p:last-child{margin-bottom:0}.cta-text strong{color:var(--primary-color);font-weight:600}.cta .btn-primary{background-color:var(--secondary-color);color:var(--light-text);border:none;border-radius:6px;padding:.8rem 2rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.cta .btn-primary:hover{background-color:var(--primary-color)}.slider{margin:3rem 0}.slider .slider-container{border-radius:8px;position:relative;overflow:hidden}.slider .slider-wrapper{transition:transform .5s;display:flex}.slider .slide{flex:0 0 100%;position:relative}.slider .slide img{object-fit:cover;aspect-ratio:16/9;width:100%;height:auto;display:block}.slider .slide .slide-caption{color:#fff;background:#0009;padding:1rem;font-size:1rem;position:absolute;bottom:0;left:0;right:0}.slider .slider-button{cursor:pointer;z-index:10;background:#fffc;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 6px #0003}.slider .slider-button:hover{background:#fff}.slider .slider-button.prev{left:10px}.slider .slider-button.next{right:10px}.slider .slider-button svg{stroke:#333;width:24px;height:24px}.slider .slider-dots{z-index:10;background:#00000059;border-radius:999px;gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.slider .has-captions .slider-dots{bottom:3.6rem}.slider .slider-dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:10px;height:10px;padding:0;transition:background .3s}.slider .slider-dot.active{background:#fff}.slider .slider-dot:hover{background:#fffc}@media (width<=768px){.slider .slider-button{width:32px;height:32px}.slider .slider-button svg{width:20px;height:20px}.slider .slide-caption{padding:.75rem;font-size:.875rem}}.slider-container .slide{cursor:zoom-in}.lightbox{color:#fff;background:0 0;border:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:auto;padding:0}.lightbox::backdrop{background:#000000e0}.lightbox figure{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;height:100%;margin:0;padding:1rem;display:flex}.lightbox img{object-fit:contain;border-radius:6px;max-width:100%;max-height:85vh;box-shadow:0 10px 40px #00000080}.lightbox figcaption{color:#ffffffd9;text-align:center;font-size:.95rem}.lightbox button{z-index:2;color:#fff;cursor:pointer;background:#ffffff26;border:0;border-radius:999px;width:44px;height:44px;font-size:2rem;line-height:1;position:fixed}.lightbox button:hover{background:#ffffff4d}.lightbox button:focus-visible{outline:2px solid #fff}.lightbox .lightbox-close{font-size:1.6rem;top:1rem;right:1rem}.lightbox .lightbox-prev{top:50%;left:.75rem;transform:translateY(-50%)}.lightbox .lightbox-next{top:50%;right:.75rem;transform:translateY(-50%)}.brands{border-top:1px solid #2c3e501a;padding:3.5rem 0}.brands h2{margin-bottom:1.25rem}.brands-text{max-width:62ch}.brands-text p{margin-bottom:1rem}.brands-text p:last-child{margin-bottom:0}.brands-marks{margin-top:2rem}.brands-marks h3{margin-bottom:1rem;font-size:1.1rem}.brand-logos{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:1rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.brand-logos li{background:#fff;border:1px solid #2c3e501a;border-radius:4px;justify-content:center;align-items:center;min-height:84px;padding:.85rem 1rem;display:flex}.brand-logos img{object-fit:contain;width:100%;height:auto;max-height:62px}.brand-list{flex-wrap:wrap;gap:.6rem .75rem;margin:0;padding:0;list-style:none;display:flex}.brand-list li{color:var(--primary-color);border:1px solid #2c3e5026;border-radius:999px;padding:.4rem .9rem;font-size:.95rem}.about-text ul,.brands-text ul{margin:.7em 0 .7em .5em;padding-left:0;list-style:none}.about-text ul li,.brands-text ul li{margin-bottom:.3em;padding-left:1.1em;line-height:1.5;position:relative}.about-text ul li:before,.brands-text ul li:before{content:"";background:var(--secondary-color);border-radius:50%;width:.5em;height:.5em;position:absolute;top:.47em;left:0}.footer{background-color:var(--primary-color);color:#ffffffd9;padding:3.5rem 0 1.5rem}.footer-container{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=700px){.footer-container{grid-template-columns:1.4fr 1fr 1fr;gap:3rem}}.footer-logo{font-family:var(--font-heading);color:var(--light-text);margin-bottom:.75rem;font-size:1.6rem;font-weight:700}.footer-logo span{color:var(--secondary-color)}.footer-about p{margin-bottom:1rem}.footer-about address{margin-bottom:.75rem;font-style:normal;line-height:1.7}.footer-about a{color:var(--light-text);text-decoration:none}.footer-about a:hover{color:var(--secondary-color)}.footer-links h3{color:var(--light-text);margin-bottom:1rem;font-size:1rem}.footer-links ul{list-style:none}.footer-links li{margin-bottom:.45rem}.footer-links a{color:#ffffffd9;text-decoration:none}.footer-links a:hover{color:var(--secondary-color)}.footer-bottom{color:#ffffffb3;border-top:1px solid #ffffff1f;margin-top:2.5rem;padding-top:1.25rem;font-size:.9rem}.footer-bottom p{margin:0}.today-hours{flex-direction:column;gap:.1rem;margin:0;display:flex}.today-hours .today-label{font-weight:600}.today-hours .today-closed{opacity:.85}.not-found{text-align:center;padding:5rem 0}.not-found .not-found-code{font-family:var(--font-heading);color:var(--secondary-color);margin:0 0 .5rem;font-size:5rem;font-weight:700;line-height:1}.not-found p{max-width:36rem;margin-left:auto;margin-right:auto}.not-found .not-found-links{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:2rem 0;display:flex}.not-found .not-found-phone{color:#666}.call-button{display:none}@media (width<=767px){.call-button{z-index:1500;background:var(--secondary-color);color:var(--light-text);border-radius:999px;align-items:center;gap:.5rem;padding:.8rem 1.1rem;font-weight:600;text-decoration:none;display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 6px 20px #00000040}.call-button svg{width:20px;height:20px}.call-button:hover,.call-button:focus-visible{background:var(--primary-color);color:var(--light-text)}.footer-bottom{padding-bottom:4.5rem}}.needs{outline-offset:-2px;outline:2px dashed #c8102e66;position:relative}.needs.needs-done,html.needs-off .needs{outline:none}html.needs-off .needs-marker,html.needs-off .needs-toggle,html.needs-off .needs-drawer{display:none!important}html.needs-off .needs-flash{background:0 0;outline:none}.needs.needs-done>.needs-marker{display:none}.needs.needs-flash{background:#c8102e0d;outline:3px solid #c8102e;transition:background .6s}.needs>.needs-marker{z-index:40;cursor:help;position:absolute;top:.75rem;right:.75rem}.needs-badge{color:#fff;background:#c8102e;border-radius:999px;justify-content:center;align-items:center;min-width:1.6rem;height:1.6rem;padding:0 .4rem;font:700 .85rem/1 system-ui,sans-serif;display:inline-flex;box-shadow:0 1px 4px #0000004d}.needs-badge sup{margin-left:2px;font-size:.6rem}.needs-tip{z-index:60;color:#fff;text-align:left;background:#141414;border-radius:.5rem;width:min(20rem,80vw);padding:.6rem .75rem;font:400 .8rem/1.4 system-ui,sans-serif;display:none;position:absolute;top:2rem;right:0;box-shadow:0 6px 20px #0000004d}.needs-tip .needs-tip-item{display:block}.needs-tip .needs-tip-item+.needs-tip-item{border-top:1px solid #fff3;margin-top:.5rem;padding-top:.5rem}.needs-marker:hover .needs-tip,.needs-marker:focus .needs-tip{display:block}.needs-toggle{z-index:9000;color:#fff;cursor:pointer;background:#c8102e;border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1rem;font:600 .9rem system-ui,sans-serif;display:inline-flex;position:fixed;bottom:1rem;left:1rem;box-shadow:0 6px 20px #0000004d}.needs-toggle .needs-badge{color:#c8102e;background:#fff}.needs-drawer{z-index:9001;color:#222;background:#fff;width:min(26rem,100vw);font-family:system-ui,sans-serif;position:fixed;inset:0 0 0 auto;overflow-y:auto;box-shadow:-8px 0 30px #00000040}.needs-drawer .needs-drawer-head{border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.needs-drawer .needs-drawer-head h2{margin:0;font-size:1.1rem}.needs-drawer .needs-drawer-head button{cursor:pointer;background:0 0;border:0;padding:.25rem .5rem;font-size:1.6rem;line-height:1}.needs-drawer .needs-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#c8102e;margin:0;font-size:.7rem;font-weight:700}.needs-drawer .needs-drawer-hint,.needs-drawer .needs-drawer-foot{color:#666;margin:0;padding:.75rem 1.25rem 0;font-size:.8rem}.needs-drawer .needs-drawer-foot{padding-bottom:1.5rem}.needs-drawer .needs-list{margin:0;padding:.5rem 1.25rem;list-style:none}.needs-drawer .needs-list li{border-top:1px solid #eee}.needs-drawer .needs-list li:first-child{border-top:0}.needs-drawer .needs-list a{color:#222;gap:.75rem;padding:.7rem 0;font-size:.85rem;line-height:1.4;text-decoration:none;display:flex}.needs-drawer .needs-list a:hover{color:#c8102e}.needs-drawer .needs-list .needs-badge{flex:none;margin-top:.1rem}.needs-drawer .needs-who{color:#888;font-size:.72rem}
