/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
:root{--color-purple:#6B5C7D;--color-purple-hover:#4B3F5A;--color-ink:#2E2438;--color-bg:#F8F6F8;--color-panel:#F2EEEF;--color-hairline:#E9E4E6;--color-border:#D8D2DA;--color-text-muted:#4A4152;--color-white:#FFFFFF;--color-gold:#9C7B1C;--font-heading:'Fraunces',Georgia,serif;--font-body:'DM Sans',system-ui,-apple-system,sans-serif;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--content-max:1440px;--content-narrow:900px;--gap-sm:12px;--gap-md:24px;--gap-lg:40px;--gap-xl:72px;}
*,*::before,*::after{box-sizing:border-box;}html,body{margin:0;padding:0;}body{background:var(--color-bg);color:var(--color-ink);}img,svg{display:block;max-width:100%;}a{color:var(--color-purple);text-decoration:none;}a:hover,a:focus-visible{color:var(--color-purple-hover);}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-purple);outline-offset:2px;}ul,ol{margin:0;padding:0;list-style:none;}button{font-family:inherit;cursor:pointer;}table{border-collapse:collapse;width:100%;}
body{font-family:var(--font-body);font-size:16px;line-height:1.5;}h1,h2,h3,.font-heading{font-family:var(--font-heading);font-weight:500;color:var(--color-ink);margin:0;}h1{font-size:44px;line-height:1.1;}h2{font-size:28px;}h3{font-size:18px;font-weight:600;font-family:var(--font-body);}.eyebrow{font-size:13px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--color-purple);}.section-heading{border-left:3px solid var(--color-purple);padding-left:28px;}@media (max-width:600px){h1{font-size:28px;}h2{font-size:22px;}}
.site-utility-bar{height:40px;background:var(--color-purple);display:flex;justify-content:flex-end;align-items:center;gap:32px;padding:0 56px;font-size:13px;}.site-utility-bar a{color:var(--color-white);}.site-utility-bar .cart{display:flex;align-items:center;gap:8px;}.site-header{height:100px;padding:0 56px;border-bottom:1px solid var(--color-hairline);display:flex;align-items:center;justify-content:space-between;background:var(--color-white);}.site-header .logo img{height:54px;width:auto;display:block;}.main-nav{display:flex;align-items:center;gap:44px;font-size:15px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;}.main-nav a.is-active{color:var(--color-purple);}.main-nav .btn-login{padding:12px 26px;background:var(--color-ink);color:var(--color-white);}.mobile-nav-toggle{display:none;}@media (max-width:900px){.site-utility-bar{padding:0 12px;gap:6px;}.site-header{height:76px;padding:0 8px 0 16px;}.site-header .logo img{height:42px;}.main-nav{display:none;}.mobile-nav-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:var(--color-ink);color:var(--color-white);flex-shrink:0;}}
.mobile-nav-panel{position:absolute;z-index:30;top:116px;left:0;right:0;background:var(--color-white);border-bottom:1px solid var(--color-hairline);box-shadow:0 16px 32px rgba(46,36,56,0.14);display:none;flex-direction:column;font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;}.mobile-nav-panel.is-open{display:flex;}.mobile-nav-panel a{display:flex;align-items:center;height:56px;padding:0 20px;border-bottom:1px solid var(--color-hairline);color:var(--color-ink);}.mobile-nav-panel a.is-active{color:var(--color-purple);}.mobile-nav-panel .btn-login{display:flex;align-items:center;justify-content:center;height:56px;margin:8px 16px 16px;background:var(--color-ink);color:var(--color-white);border-bottom:0;}
.footer-badges{display:flex;align-items:center;justify-content:space-between;padding:56px 180px 0;}.footer-badges img{height:96px;width:auto;}.site-footer{margin-top:56px;padding:32px 56px;border-top:1px solid var(--color-hairline);display:flex;align-items:center;gap:20px;font-size:14px;color:var(--color-purple);}.site-footer a{text-decoration:underline;}@media (max-width:900px){.footer-badges{padding:32px 24px 0;}.footer-badges img{height:60px;}.site-footer{margin-top:32px;padding:20px 24px 28px;flex-wrap:wrap;gap:6px 16px;}.site-footer .copyright{width:100%;}}
.cta-band{background:var(--color-ink);padding:72px 96px;display:flex;align-items:center;justify-content:space-between;gap:56px;}.cta-band p{margin:0;max-width:820px;font-family:var(--font-heading);font-size:30px;line-height:1.3;color:var(--color-white);}.cta-band .btn{flex-shrink:0;}@media (max-width:900px){.cta-band{padding:36px 24px;flex-direction:column;align-items:flex-start;gap:20px;}.cta-band p{font-size:21px;}}
.container{max-width:var(--content-max);margin:0 auto;padding:0 96px;}.container--narrow{max-width:var(--content-narrow);margin:0 auto;padding:0 96px;}.hr{height:1px;background:var(--color-hairline);margin:72px 96px 0;}.card-grid{display:grid;gap:28px;}.card-grid--2up{grid-template-columns:repeat(2,minmax(0,1fr));}.card-grid--3up{grid-template-columns:repeat(3,minmax(0,1fr));}.location-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}@media (max-width:900px){.container,.container--narrow{padding:0 24px;}.hr{margin:32px 24px 0;}.card-grid--2up,.card-grid--3up{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}.location-tiles{grid-template-columns:1fr;}}@media (max-width:480px){.card-grid--3up{grid-template-columns:1fr 1fr;}}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:18px 40px;font-size:16px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;border:0;}.btn--primary{background:var(--color-purple);color:var(--color-white);}.btn--dark{background:var(--color-ink);color:var(--color-white);}.btn--light{background:var(--color-white);color:var(--color-ink);}.btn--icon{display:inline-flex;align-items:center;gap:10px;}@media (max-width:900px){.btn{height:52px;padding:0 32px;font-size:14px;width:100%;}}
.service-card,.article-card{display:flex;flex-direction:column;gap:12px;}.card-photo{width:100%;aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-panel);overflow:hidden;}.card-photo img{width:100%;height:100%;object-fit:cover;}.card-photo--placeholder{border:2px dashed var(--color-border);box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:var(--color-purple);font-size:13px;text-align:center;padding:12px;}.card-title{font-family:var(--font-heading);font-size:20px;}.card-excerpt{margin:0;font-size:15px;line-height:1.5;color:var(--color-text-muted);}.card-tags{display:flex;gap:8px;flex-wrap:wrap;}.tag{font-size:12px;padding:5px 10px;background:var(--color-panel);color:var(--color-purple);}.location-tile{position:relative;display:block;height:520px;border-radius:var(--radius-lg);overflow:hidden;}.location-tile img{width:100%;height:100%;object-fit:cover;}.location-tile__caption{position:absolute;left:0;right:0;bottom:0;padding:28px 32px;background:linear-gradient(transparent,rgba(46,36,56,0.82));}.location-tile__caption h2{font-size:28px;color:var(--color-white);}.location-tile__caption span{font-size:15px;color:#EAE3ED;text-decoration:underline;}@media (max-width:900px){.location-tile{height:280px;}.location-tile__caption{padding:18px;}.location-tile__caption h2{font-size:22px;}}
.reviews-section{padding:56px 0 0;}.reviews-section__head{display:flex;align-items:baseline;justify-content:space-between;}.reviews-section__count{font-size:14px;color:var(--color-purple);}.review-card{padding:28px;border:1px solid var(--color-hairline);display:flex;flex-direction:column;gap:10px;}.review-card__author{font-family:var(--font-heading);font-size:18px;text-decoration:underline;}.review-card__stars{display:flex;gap:3px;}.review-card__stars svg{fill:var(--color-gold);}.review-card__quote{margin:0;font-size:15px;line-height:1.6;}@media (max-width:900px){.reviews-section{padding:32px 0 0;}.review-card{padding:20px;}}
#block-hilltop-theme-views-block-manual-google-reviews{padding:56px 96px;max-width:var(--content-max);margin:0 auto;box-sizing:border-box;}.carousel.slide{border:1px solid var(--color-hairline);padding:40px 48px;box-sizing:border-box;min-height:220px;position:relative;}.carousel-inner{position:relative;overflow:hidden;}.carousel-item{display:none;}.carousel-item.active{display:block;}.views-field-field-client-first-name a{font-family:var(--font-heading);font-size:18px;text-decoration:underline;color:var(--color-ink);}.star-rating{color:var(--color-gold);font-size:18px;letter-spacing:2px;margin:8px 0;}.views-field-field-testimonial{font-size:15px;line-height:1.6;color:var(--color-text-muted);max-width:900px;}@media (max-width:900px){#block-hilltop-theme-views-block-manual-google-reviews{padding:32px 24px;}.carousel.slide{padding:24px;}}
.field-flag{font-size:12px;padding:4px 10px;background:var(--color-panel);color:var(--color-purple);font-weight:600;letter-spacing:0.03em;text-transform:uppercase;}.offered-at{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:12px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--color-purple);}.offered-at svg{flex-shrink:0;}.dummy-note{font-size:12px;font-weight:600;color:var(--color-gold);}
.form-field{margin-bottom:20px;}.form-field label{font-size:13px;font-weight:600;color:var(--color-text-muted);margin-bottom:6px;display:block;}.form-field input,.form-field textarea{font-family:var(--font-body);font-size:15px;border:1px solid var(--color-border);padding:12px 14px;width:100%;box-sizing:border-box;color:var(--color-ink);}.form-panel{padding:40px;border:1px solid var(--color-hairline);}.form-panel h2{font-family:var(--font-heading);font-size:24px;color:var(--color-purple);margin-bottom:24px;}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}@media (max-width:900px){.form-panel{padding:24px;}.form-row{grid-template-columns:1fr;}.form-field input,.form-field textarea{font-size:16px;}}
.views-field-field-bottom-body{display:flex;justify-content:center;padding:64px 24px;}.views-field-field-bottom-body img{display:block;width:100%;max-width:360px;height:auto;}@media (max-width:900px){.views-field-field-bottom-body{padding:40px 24px;}.views-field-field-bottom-body img{max-width:240px;}}
