.nav{height:112px}.logo{width:255px;height:100px}.mapbar{display:block;background:#0d1117;border-bottom:1px solid var(--line)}.mapbar .wrap{display:flex;align-items:center;gap:15px;padding:13px 0}.mapbar .map-pin{width:38px;height:38px}.mapbar strong{display:block}.mapbar span{display:block;color:var(--muted)}.mapbar b{margin-left:auto;color:var(--o);font-size:.92rem}.mapbar:hover{background:#121821}.mapbar iframe{display:none}@media(max-width:900px){.mapbar .wrap{display:flex}}@media(max-width:600px){.nav{height:92px}.logo{width:205px;height:84px}.mapbar .wrap{flex-wrap:wrap}.mapbar b{width:100%;margin-left:53px}.mapbar span{font-size:.88rem}}
.service-map{margin-top:22px;border:2px solid var(--o);border-radius:12px;overflow:hidden;background:#0d1117}.service-map iframe{display:block;width:100%;height:250px;border:0}.map-directions{display:block;margin-top:12px;color:var(--o);font-weight:900}.map-directions:hover{color:var(--o2);text-decoration:underline}@media(max-width:600px){.service-map iframe{height:220px}}
.google-reviews{padding:78px 0;background:#0c1015;border-top:1px solid var(--line)}.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.reviews-heading h2{font-size:clamp(2.4rem,5vw,4rem);line-height:1;margin:8px 0 10px;letter-spacing:-.052em}.reviews-heading p{margin:0;color:var(--muted)}.reviews-frame{overflow:hidden;border:2px solid var(--o);border-radius:18px;background:#fff;box-shadow:0 24px 65px rgba(0,0,0,.36)}.reviews-frame iframe{display:block;width:100%;height:660px;border:0;background:#fff}@media(max-width:700px){.google-reviews{padding:58px 0}.reviews-heading{display:block}.reviews-heading .btn{margin-top:20px;width:100%}.reviews-frame iframe{height:600px}}
.hero-rotator{position:relative;overflow:hidden;background:#07090c}.hero-rotator:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,10,.98),rgba(5,7,10,.84) 42%,rgba(5,7,10,.24) 82%);z-index:1;pointer-events:none}.hero-rotator .wrap{position:relative;z-index:2;width:min(1160px,calc(100% - 40px))}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{background-position:center;background-size:cover;opacity:0;transform:scale(1.04);transition:opacity 1.2s ease,transform 7s ease}.hero-slide.active{opacity:1;transform:scale(1)}@media(max-width:600px){.hero-rotator .wrap{width:min(100% - 28px,1160px)}.hero-slide{background-position:60% center}.hero-rotator:after{background:linear-gradient(90deg,rgba(5,7,10,.96),rgba(5,7,10,.76) 70%,rgba(5,7,10,.45))}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}.hero-slide:not(:first-child){display:none}}
.blog-intro{background:radial-gradient(circle at 82% 25%,rgba(255,90,0,.19),transparent 28%),linear-gradient(135deg,#07090c,#121923)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.blog-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel)}.blog-image{display:block;height:210px;overflow:hidden}.blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.blog-card:hover .blog-image img{transform:scale(1.06)}.blog-card-body{padding:24px}.blog-card-body>span{color:var(--o);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.blog-card h2{font-size:1.45rem;line-height:1.15;margin:10px 0}.blog-card p{color:var(--muted);margin:0}.guides{display:grid;gap:22px}.guide{scroll-margin-top:130px;padding:34px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.guide h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;margin:10px 0 18px}.guide p{color:#c7ced7;max-width:850px}.guide .btn{margin-top:8px}@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.blog-grid{grid-template-columns:1fr}.blog-image{height:225px}.guide{padding:24px}}
.ask-button{font:inherit;cursor:pointer}.ask-dialog{width:min(520px,calc(100% - 28px));padding:34px;border:2px solid var(--o);border-radius:18px;background:#11151b;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.7)}.ask-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.ask-dialog h2{font-size:2rem;margin:8px 0}.ask-dialog p{color:var(--muted)}.dialog-close{position:absolute;top:12px;right:15px;border:0;background:transparent;color:#fff;font-size:2rem;cursor:pointer}.ask-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.copy-phone{grid-column:1/-1;padding:13px 18px;border:1px solid #66717f;border-radius:9px;background:transparent;color:#fff;font:inherit;font-weight:900;cursor:pointer}.copy-phone:hover{border-color:var(--o);color:var(--o)}.copy-status{min-height:1.5em;margin-bottom:0}@media(max-width:500px){.ask-dialog{padding:28px 22px}.ask-options{grid-template-columns:1fr}.copy-phone{grid-column:auto}}
.links{gap:14px;font-size:.84rem}.student-hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:#07090c}.student-hero-image{position:relative;overflow:hidden}.student-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 58%,#07090c)}.student-hero-image img{width:100%;height:100%;object-fit:cover}.student-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px max(24px,calc((100vw - 1160px)/2)) 70px 55px}.student-badge{align-self:flex-start;padding:8px 13px;border:1px solid var(--o);border-radius:999px;color:var(--o);font-weight:950;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.student-hero h1{font-size:clamp(3.2rem,6vw,6rem);line-height:.9;letter-spacing:-.065em;margin:22px 0}.student-hero p{font-size:1.2rem;color:#d8dee6;max-width:650px}.student-hero strong{color:#fff}.student-offer{background:var(--o);color:#111}.student-offer .wrap{display:grid;grid-template-columns:.35fr 1fr .55fr;align-items:center;gap:36px;padding-top:44px;padding-bottom:44px}.offer-number{font-size:5.4rem;font-weight:1000;line-height:.8;letter-spacing:-.08em}.offer-number span{display:block;font-size:1.25rem;letter-spacing:.02em}.student-offer h2{font-size:2.6rem;line-height:1;margin:8px 0 12px}.student-offer p{margin:0}.student-offer .kicker{color:#111}.free-glass{background:#111;color:#fff;border-radius:16px;padding:24px;text-align:center}.free-glass strong{display:block;color:var(--o);font-size:2.5rem;line-height:1}.free-glass span{display:block;margin-top:8px;font-weight:850}.student-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:46px}.student-grid>div>h2{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.95;letter-spacing:-.055em;margin:12px 0 22px}.student-grid>div>p{color:var(--muted)}.student-services{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.student-services a{padding:20px;border:1px solid var(--line);border-radius:13px;background:var(--panel);transition:.2s}.student-services a:hover{border-color:var(--o);transform:translateY(-2px)}.student-services strong,.student-services span{display:block}.student-services span{color:var(--muted);margin-top:5px}.student-steps{padding:30px;border:2px solid var(--o);border-radius:18px;background:var(--panel);height:max-content}.student-steps ol{list-style:none;padding:0;counter-reset:steps}.student-steps li{display:grid;grid-template-columns:42px 1fr;gap:12px;margin:22px 0;counter-increment:steps}.student-steps li:before{content:counter(steps);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--o);color:#111;font-weight:950;grid-row:1/3}.student-steps b,.student-steps span{grid-column:2}.student-steps span{color:var(--muted)}.student-cta p{font-weight:850}@media(max-width:900px){.student-hero,.student-offer .wrap,.student-grid{grid-template-columns:1fr}.student-hero-image{height:390px}.student-hero-image:after{background:linear-gradient(180deg,transparent 50%,#07090c)}.student-hero-copy{padding:25px 24px 65px}.student-offer .wrap{gap:24px}.free-glass{text-align:left}.student-services{grid-template-columns:1fr 1fr}}@media(max-width:600px){.student-hero-image{height:300px}.student-hero h1{font-size:3.5rem}.student-services{grid-template-columns:1fr}.offer-number{font-size:4.5rem}.student-offer h2{font-size:2.2rem}}
/* Responsive navigation and touch layout */
@media(max-width:900px){.header{position:relative}.nav{height:auto;min-height:96px;flex-wrap:wrap;padding:8px 0 0;gap:8px 14px}.nav>.logo,.nav>a:first-child{flex:0 1 auto}.nav .logo{width:190px;height:78px}.mobile{display:inline-flex;min-height:48px;padding:11px 18px}.links{display:flex;order:3;width:100%;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:7px 0 13px;white-space:nowrap}.links a:not(.btn){flex:0 0 auto;display:flex;align-items:center;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#11151b;font-size:.86rem}.links a:not(.btn):hover{border-color:var(--o)}.links .btn{display:none}.service-hero h1{font-size:clamp(2.7rem,9vw,4.5rem)}.service-hero-copy>div{padding-top:48px;padding-bottom:48px}.content{gap:30px}.side{width:100%}.cta .wrap{padding-top:48px;padding-bottom:48px}.reviews-frame iframe{height:560px}.student-hero-copy{padding-left:max(24px,calc((100vw - 720px)/2));padding-right:max(24px,calc((100vw - 720px)/2))}.student-offer .wrap{padding-top:38px;padding-bottom:38px}.student-steps{width:100%}}
@media(max-width:600px){body{font-size:16px;overflow-x:hidden}.wrap{width:min(100% - 28px,1160px)}.nav{min-height:88px}.nav .logo{width:160px;height:68px}.mobile{font-size:.88rem;padding:10px 14px}.links{margin-inline:-14px;width:calc(100% + 28px);padding-inline:14px}.home-address{font-size:.9rem;line-height:1.35}.home-address span{display:block;margin:3px 0 0}.hero,.hero-rotator{min-height:590px}.hero-copy{padding:64px 0}.hero h1{font-size:clamp(2.75rem,14vw,3.5rem);line-height:.94}.hero p,.service-hero p{font-size:1.02rem}.service-hero img{min-height:280px;height:280px}.section{padding:58px 0}.heading h2,.content h2{font-size:clamp(2.1rem,11vw,2.65rem)}.actions{gap:10px}.actions .btn,.cta .btn,.side .btn,.student-steps .btn{width:100%;min-height:50px}.cta h2{font-size:clamp(2.35rem,12vw,3.3rem)}.cta .wrap{padding-top:42px;padding-bottom:42px}.answer,.guide,.side,.student-steps{padding:22px}.faq summary{min-height:48px;display:flex;align-items:center}.service-map iframe{height:230px}.reviews-heading h2{font-size:2.7rem}.reviews-frame{border-radius:13px}.reviews-frame iframe{height:500px}.gallery-grid{grid-template-columns:1fr}.gallery-item img{width:100%}.blog-card h2{font-size:1.35rem}.student-hero-image{height:260px}.student-hero-copy{padding:22px 20px 52px}.student-hero h1{font-size:clamp(2.65rem,14vw,3.35rem);line-height:.93}.student-hero p{font-size:1.03rem}.student-badge{font-size:.68rem}.student-offer .wrap{padding-top:32px;padding-bottom:32px}.offer-number{font-size:4rem}.student-offer h2{font-size:2rem}.free-glass{padding:20px}.student-grid>div>h2{font-size:clamp(2.35rem,12vw,3rem)}.student-steps li{grid-template-columns:38px 1fr}.student-steps li:before{width:34px;height:34px}.ask-dialog{max-height:calc(100dvh - 24px);overflow:auto}.ask-options .btn,.copy-phone{min-height:50px}.foot{gap:32px}}
@media(min-width:601px) and (max-width:900px){.wrap{width:min(100% - 48px,820px)}.grid,.answers,.blog-grid,.student-services{grid-template-columns:1fr 1fr}.student-hero h1{font-size:clamp(3.4rem,8vw,4.8rem)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.reviews-frame iframe{height:600px}}
.menu-toggle,.mobile-menu{display:none}@media(max-width:900px){.header{position:sticky;top:0}.nav{height:auto;min-height:88px;flex-wrap:nowrap;padding:7px 0;gap:9px}.nav .logo{width:155px;height:72px}.links{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:10px 14px;border:1px solid var(--o);border-radius:9px;background:var(--o);color:#111;font:inherit;font-weight:950;cursor:pointer}.menu-toggle span{font-size:1.2rem}.mobile{min-height:48px;white-space:nowrap}.mobile-menu{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:8px;padding-bottom:16px;border-top:1px solid var(--line)}.mobile-menu.open{display:grid}.mobile-menu a{display:flex;align-items:center;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#11151b;font-weight:850}.mobile-menu a:hover,.mobile-menu a:focus{border-color:var(--o);color:var(--o)}}@media(max-width:600px){.nav .logo{width:120px;height:62px}.menu-toggle{padding:9px 11px;font-size:.86rem}.mobile{padding:9px 11px;font-size:.84rem}.mobile-menu{grid-template-columns:1fr 1fr}.mobile-menu a{font-size:.9rem}.mobile-menu a:nth-child(6){grid-column:1/-1;background:var(--o);color:#111;border-color:var(--o)}}@media(max-width:370px){.nav .logo{width:104px}.menu-toggle,.mobile{padding:8px 9px;font-size:.8rem}}
.gallery-grid{columns:3 280px;column-gap:16px}.gallery-item{display:block;break-inside:avoid;margin:0 0 16px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--panel)}.gallery-item img{width:100%;height:auto;transition:transform .45s}.gallery-item:hover img{transform:scale(1.035)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.about-visual{border-radius:20px;overflow:hidden;border:1px solid var(--line)}.values{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.value{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px}.value strong{display:block;color:var(--o);font-size:1.1rem}.page-intro{padding:80px 0 55px;background:radial-gradient(circle at 80% 20%,rgba(40,168,255,.15),transparent 35%),#090d12}.page-intro h1{font-size:clamp(3rem,7vw,5.8rem);line-height:.92;letter-spacing:-.06em;margin:12px 0 20px}.page-intro p{max-width:680px;color:var(--muted);font-size:1.1rem}@media(max-width:800px){.about-grid{grid-template-columns:1fr}.values{grid-template-columns:1fr}}
.nav .logo,.foot .logo{width:270px;height:70px;object-fit:cover;object-position:center;border-radius:8px}@media(max-width:900px){.nav .logo{width:150px;height:52px}.foot .logo{width:260px;height:70px}}@media(max-width:600px){.nav .logo{width:128px;height:48px}.foot .logo{width:230px;height:64px}}
.appointment-wrap{max-width:820px}
.appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.appointment-form label{display:grid;gap:7px;font-weight:850}
.appointment-form label.full{grid-column:1/-1}
.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #46515f;border-radius:9px;background:#11151b;color:#fff;font:inherit}
.appointment-form textarea{min-height:120px;resize:vertical}
.appointment-actions{display:flex;gap:12px;flex-wrap:wrap;grid-column:1/-1}
.appointment-status{grid-column:1/-1;min-height:26px;color:#ff7a1a;font-weight:850}
.local-depth h3{margin-top:28px}
@media(max-width:600px){.appointment-form{grid-template-columns:1fr}.appointment-form label.full,.appointment-actions,.appointment-status{grid-column:1}.appointment-actions .btn{width:100%}}

/* Keep the descriptive Davie homepage heading readable across breakpoints. */
.hero-rotator .hero-copy h1{font-size:clamp(2rem,4.2vw,3.75rem);line-height:1.08;overflow-wrap:break-word}
@media(max-width:650px){.hero-rotator .hero-copy h1{font-size:clamp(1.9rem,7.5vw,2.6rem)}}
