@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/cormorant-garamond-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Epilogue';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/epilogue-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Epilogue';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/epilogue-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Epilogue';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/epilogue-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Epilogue';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/epilogue-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Epilogue';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/epilogue-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Epilogue';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/epilogue-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Epilogue';font-style:italic;font-weight:700;font-display:swap;src:url(../fonts/epilogue-latin-700-italic.woff2) format('woff2')}
/* Scroll nav, mobile call bar, cookie notice, form honeypot */
.navbar-fixed-top{transition:transform .3s ease}
.navbar-fixed-top.nav-hidden{transform:translateY(-110%)}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
#mobile-cta{display:none}
@media (max-width:767.98px){
  #mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1030;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -2px 10px rgba(0,0,0,.18)}
  #mobile-cta a{flex:1;text-align:center;padding:12px 8px;border-radius:4px;font-weight:700;text-decoration:none;font-size:16px;line-height:1.2;color:#fff;background:#941c00;border:2px solid #941c00}
  #mobile-cta a.cta-book{background:#941c00}
  body{padding-bottom:70px}
}

/* Services page boxes */
.svc-hub{padding:8px 0 56px}
.svc-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:600px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:992px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc-card{display:flex;flex-direction:column;border:1px solid #d9d9d9;border-radius:6px;padding:24px;background:#fff}
.svc-card h2{margin:0 0 .6rem}
.svc-card h2 a{color:#232323;text-decoration:none}
.svc-card h2 a:hover,.svc-card h2 a:focus-visible{text-decoration:underline}
.svc-card p{margin:0 0 1rem;color:#444}
.svc-card .svc-more{margin-top:auto;font-weight:700;color:#232323;text-decoration:none}
.svc-card .svc-more:hover,.svc-card .svc-more:focus-visible{text-decoration:underline}
/* Top nav appointment button */
.navbar .nav-appt{margin-left:.5rem;padding:.6rem 1.1rem;white-space:nowrap}
@media (max-width:991.98px){.navbar .nav-appt{margin:.4rem 0 .4rem 0}}
/* Scrolled (short) desktop nav: center the menu links on the appointment button instead of hugging the top edge */
@media (min-width:992px){.navbar.navbar-short .navbar-nav .nav-item:not(:has(.nav-appt)){position:relative;top:18px}}

/* Home page service sections: small image on the left, alternating white / gray bands */
section.home-svc{padding-top:3.5rem;padding-bottom:3.5rem}
section.home-svc.svc-a{background-color:#fff}
section.home-svc.svc-b{background-color:#e8e8e8}
section.home-svc .container-fluid{max-width:1100px;margin:0 auto}
section.home-svc .row{justify-content:flex-start;align-items:flex-start;flex-wrap:nowrap;gap:2rem}
section.home-svc .image-wrapper{flex:0 0 260px;max-width:260px;width:260px;padding:0}
section.home-svc .image-wrapper img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:4px}
section.home-svc .col-md{flex:1 1 0;min-width:0;padding:0}
section.home-svc .text-wrapper{text-align:left!important;padding:0}
section.home-svc .mbr-section-title{margin-top:0;text-align:left!important}
@media (max-width:767.98px){
  section.home-svc .row{flex-wrap:wrap;gap:1rem}
  section.home-svc .image-wrapper{flex:0 0 100%;max-width:220px;width:220px}
  section.home-svc .col-md{flex:0 0 100%}
}
section.home-svc .container-fluid{padding-left:16px;padding-right:16px}
section.home-svc .row{flex-direction:row!important;margin-left:0;margin-right:0}
@media (max-width:767.98px){section.home-svc .row{flex-direction:column!important;align-items:flex-start}section.home-svc .image-wrapper{flex:0 0 auto}}

/* Home page hero: photo background with quick appointment form */
.home-hero{position:relative;overflow:hidden;padding:9rem 0 4rem;background:#222;color:#fff}
.home-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.home-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.7) 60%,rgba(0,0,0,.52) 100%)}
.home-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2.5rem;align-items:center}
.home-hero-text{text-align:left}
.home-hero-text .mbr-section-title,.home-hero-text .mbr-text{color:#fff;text-align:left}
.home-hero-text .mbr-section-btn{margin-top:1.25rem}
.home-hero-text .btn-warning-outline{color:#fff;border-color:#fff}
.home-hero-text .btn-warning-outline:hover,.home-hero-text .btn-warning-outline:focus-visible{background:#fff;color:#000}
.hero-form{background:#fff;color:#222;border-radius:6px;padding:1.5rem;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.hero-form .hero-form-title{margin:0 0 .35rem;font-size:1.6rem;line-height:1.2;color:#232323;text-align:left}
.hero-form .hero-form-sub{margin:0 0 1rem;font-size:.95rem;line-height:1.4;color:#444}
.hero-form .form-control{display:block;width:100%;margin-bottom:.75rem;padding:.7rem .85rem;font-size:1rem;color:#222;background-color:#fff;border:1px solid #bbb;border-radius:4px}
.hero-form button{margin-top:.25rem}
.hero-form .hero-form-note{margin:.6rem 0 0;font-size:.8rem;line-height:1.4;color:#555}
.hero-form .hero-form-note a{color:#222;text-decoration:underline}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:991.98px){
  .home-hero{padding:6.5rem 0 2.5rem}
  .home-hero-inner{grid-template-columns:1fr;gap:1.75rem}
  .home-hero-shade{background:rgba(0,0,0,.74)}
}

/* Home page Benefits: tighter gap between the title and the items */
#trust .heading{margin-bottom:14px}
@media (min-width:1200px){#trust .tile-wrap{padding-top:0;height:230px}#trust .heading{margin-bottom:0}}

/* Home page: Why Choose Us cards (from client reviews) and the moved "at a glance" lists */
.why-choose{background:#fff;padding:3.5rem 0}
.why-choose .why-h2{text-align:center;margin:0 0 .5rem}
.why-choose .why-intro{text-align:center;margin:0 0 2rem;color:#444}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.why-card{display:flex;flex-direction:column;border:1px solid #d9d9d9;border-radius:6px;padding:1.5rem;background:#fff}
.why-card .why-title{margin:0 0 .6rem;font-size:1.4rem;line-height:1.25;color:#232323}
.why-card .why-text{margin:0 0 1rem;color:#333;line-height:1.55;font-size:1rem}
.why-card .why-quote{margin:auto 0 0;padding-top:.9rem;border-top:1px solid #e3e3e3;font-style:italic;color:#444;font-size:.95rem;line-height:1.5}
.why-card .why-by{font-style:normal;font-weight:600;white-space:nowrap}
.why-btn{text-align:center;margin-top:2rem}
@media (max-width:991.98px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.why-grid{grid-template-columns:1fr}}
#features.list1{background-color:#e8e8e8}
.why-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:991.98px){.why-grid-3{grid-template-columns:1fr}}
.why-about{background:#fff;padding-top:3.5rem}
.why-reviews{padding:2rem 0 1.5rem}
.why-reviews .why-h2{margin-bottom:1.5rem}
.why-mini .why-text{margin-bottom:0}
.leave-review{padding:2rem 0 2.5rem;text-align:center}
.leave-review .why-intro{margin:0 0 1.25rem;color:#444}
.review-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.review-links .btn{margin:0}
.review-links .btn{display:inline-block;padding:.6rem 1.2rem;background:#941c00;color:#fff;border:2px solid #941c00;border-radius:4px;font-weight:600;font-size:1rem;line-height:1.5;text-decoration:none;box-shadow:0 2px 2px rgba(0,0,0,.2)}
.review-links .btn:hover,.review-links .btn:focus-visible{background:#6f1500;border-color:#6f1500;color:#fff}
body:has(#leave-review) #features5-l{padding-bottom:1.5rem}
.leave-review{padding:0 0 2rem}
.review-links{gap:8px 28px}
.review-links .review-link{color:#941c00;font-weight:600;text-decoration:underline;font-size:1.05rem}
.review-links .review-link:hover,.review-links .review-link:focus-visible{color:#6f1500}
.leave-review .why-intro{margin-bottom:.75rem}

/* Category and service pages: same small-image-left sections as the home page */
section.home-svc>.container{max-width:1100px}
section.home-svc .row>.col-md-7:first-child{flex:0 0 260px;max-width:260px;width:260px;padding:0}
section.home-svc .row>.col-md-7:first-child img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:4px}
section.home-svc .row>.col-md-5{flex:1 1 0;min-width:0;padding:0}
section.home-svc .text-elements-wrap,section.home-svc .text-elements{text-align:left;padding:0;margin:0}
section.home-svc .text-elements .mbr-section-title,section.home-svc .text-elements .mbr-text{text-align:left}
@media (max-width:767.98px){
  section.home-svc .row>.col-md-7:first-child{flex:0 0 auto;max-width:220px;width:220px}
  section.home-svc .row>.col-md-5{flex:0 0 100%}
}
section.home-svc .row{align-items:flex-start!important}
/* CTA bands ~30% shorter (page-top heroes on Reviews and Pricing excluded) */
section.features5:not(#features5-l):not(#hero){padding-top:7rem!important;padding-bottom:7rem!important}
/* Shorter image heroes on inner pages (home page excluded) */
section.header1.mbr-fullscreen{min-height:560px!important}
section.header3#hero{padding-top:6rem!important;padding-bottom:6rem!important}
#email-form{scroll-margin-top:90px}

/* Cookie banner and sticky cookie button (starter template) */
.cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:1060;max-width:760px;margin:0 auto;background:#212121;color:#fff;border-radius:6px;padding:18px 20px;box-shadow:0 8px 30px rgba(0,0,0,.35);display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.cc[hidden]{display:none}
.cc p{margin:0;flex:1 1 320px;font-size:.95rem;line-height:1.5;color:#fff}
.cc a{color:#fff;text-decoration:underline}
.cc-btns{display:flex;gap:10px;flex:0 0 auto}
.cc-btns button{min-width:110px;padding:10px 16px;border-radius:4px;border:2px solid #fff;background:#941c00;color:#fff;font-weight:700;font-size:15px;cursor:pointer}
.cc-btns button:hover{background:#7a1700}
.cc-link{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.cc-fab{position:fixed;left:max(12px,env(safe-area-inset-left,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:1050;width:48px;height:48px;padding:0;border-radius:50%;background:#fff;border:1px solid #d9d9d9;box-shadow:0 2px 10px rgba(0,0,0,.18);display:grid;place-items:center;cursor:pointer}
body.cc-open .cc-fab{display:none}
@media (max-width:767.98px){.cc{bottom:80px}.cc-btns{width:100%}.cc-btns button{flex:1}.cc-fab{bottom:calc(78px + env(safe-area-inset-bottom,0px))}}
.cc .hidden,.cc-fab.hidden,.cc-link.hidden{visibility:visible!important;opacity:1!important;display:revert!important;animation:none!important}
.cc-btns.hidden{display:flex!important}
/* Held-back embeds (reviews, map) until cookies accepted */
.consent-hold{background:#f2f2f2;border:1px solid #ddd;border-radius:6px;padding:28px 20px;text-align:center;color:#222}
.consent-hold p{margin:0 0 14px}
.consent-hold .cc-accept-btn{padding:10px 16px;border-radius:4px;border:2px solid #941c00;background:#941c00;color:#fff;font-weight:700;font-size:15px;cursor:pointer;margin:0 10px 8px 0}
.consent-hold .cc-accept-btn:hover{background:#7a1700;border-color:#7a1700}
.google-map .consent-hold{min-height:380px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:0}
.google-map iframe{display:block;width:100%;height:100%;min-height:380px}
.consent-hold .hidden,.consent-hold.hidden{visibility:visible!important;opacity:1!important;animation:none!important}
.hero-form textarea.form-control{resize:vertical;min-height:84px;font-family:inherit}
