/* @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;}}#block-hilltop-theme-page-title{max-width:var(--content-max);margin:0 auto;padding:56px 96px 0;box-sizing:border-box;}#block-hilltop-theme-page-title h1{border-left:3px solid var(--color-purple);padding-left:28px;margin:0;font-size:44px;}@media (max-width:900px){#block-hilltop-theme-page-title{padding:32px 24px 0;}#block-hilltop-theme-page-title h1{padding-left:16px;font-size:28px;}}.node--type-page .container--narrow > div > p,article .container--narrow > div > p{margin:0 0 18px;font-size:17px;line-height:1.7;max-width:900px;}.node--type-page .container--narrow > div > h2,article .container--narrow > div > h2{font-family:var(--font-heading);font-size:26px;font-weight:500;color:var(--color-purple);margin:36px 0 4px;}
.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-block--summary{display:flex;align-items:center;}.site-utility-bar .cart-block--link__expand{display:flex;align-items:center;gap:8px;color:var(--color-white);text-decoration:none;}.site-utility-bar .cart-block--summary__icon{display:flex;align-items:center;}.site-utility-bar .cart-block--summary__icon img{width:16px;height:16px;display:block;}.site-utility-bar .cart-block--summary__count{font-size:13px;color:var(--color-white);line-height:1;}.site-utility-bar nav > ul{display:flex;align-items:center;gap:32px;}.site-utility-bar nav > ul li{list-style:none;}.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:block;width:100%;padding:56px 180px 0;box-sizing:border-box;}#block-hilltop-theme-views-block-membership-footer-logos .views-view-grid.row{display:flex;align-items:center;justify-content:center;gap:80px;padding:56px 96px 0;max-width:var(--content-max);margin:0 auto;box-sizing:border-box;}#block-hilltop-theme-views-block-membership-footer-logos .col-4{display:flex;justify-content:center;flex:0 0 auto;}#block-hilltop-theme-views-block-membership-footer-logos .col-4 img{height:96px;width:auto;}.site-footer{display:block;width:100%;box-sizing:border-box;padding:32px 56px;border-top:1px solid var(--color-hairline);font-size:14px;color:var(--color-purple);}#block-hilltop-theme-footer{margin-top:96px;}#block-hilltop-theme-footer p{margin:0;}#block-hilltop-theme-footer a{text-decoration:underline;margin-left:4px;}@media (max-width:900px){#block-hilltop-theme-views-block-membership-footer-logos .views-view-grid.row{flex-direction:column;gap:24px;padding:32px 24px 0;}#block-hilltop-theme-views-block-membership-footer-logos .col-4 img{height:60px;}#block-hilltop-theme-footer{margin-top:48px;padding:0 24px 28px;}}
.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;}.cta-band #block-hilltop-theme-apprenticeshipapplication{width:100%;}#block-hilltop-theme-apprenticeshipapplication .row{align-items:center;}#block-hilltop-theme-apprenticeshipapplication p{margin:0;max-width:none;font-family:var(--font-heading);font-size:30px;line-height:1.3;color:var(--color-white);}#block-hilltop-theme-apprenticeshipapplication .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;}#block-hilltop-theme-apprenticeshipapplication 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;}.cta-band .btn,.cta-band .btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:18px 40px;background:var(--color-white);color:var(--color-ink);font-size:16px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;border:0;text-decoration:none;}.cta-band .btn:hover,.cta-band .btn-primary:hover{background:var(--color-panel);color:var(--color-ink);}@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{display:grid;grid-template-columns:5fr 7fr;column-gap:40px;align-items:center;padding:88px 96px 0;max-width:var(--content-max);margin:0 auto;box-sizing:border-box;}#block-hilltop-theme-views-block-manual-google-reviews::before{content:"";width:460px;height:460px;max-width:100%;justify-self:center;background:url(/themes/custom/hilltop_theme/logo.svg) no-repeat center / contain;mix-blend-mode:multiply;}#block-hilltop-theme-views-block-manual-google-reviews .views-element-container{min-width:0;}.carousel.slide{padding:40px 48px;box-sizing:border-box;min-height:220px;position:relative;}.carousel-inner{display:grid;overflow:hidden;}.carousel-item{grid-area:1 / 1;width:100%;opacity:0;pointer-events:none;backface-visibility:hidden;transition:transform 0.6s ease-in-out,opacity 0.6s ease-in-out;}.carousel-item.active{opacity:1;pointer-events:auto;}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%);opacity:0;}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%);opacity:0;}.carousel-item-next.carousel-item-start,.carousel-item-prev.carousel-item-end{transform:translateX(0);opacity:1;}.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{grid-template-columns:1fr;padding:32px 24px;}#block-hilltop-theme-views-block-manual-google-reviews::before{width:200px;height:200px;}.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;}}
.row{display:flex;flex-wrap:wrap;margin-left:-12px;margin-right:-12px;}[class*="col-"]{padding-left:12px;padding-right:12px;box-sizing:border-box;width:100%;}.col-1{flex:0 0 8.3333%;max-width:8.3333%;}.col-2{flex:0 0 16.6667%;max-width:16.6667%;}.col-3{flex:0 0 25%;max-width:25%;}.col-4{flex:0 0 33.3333%;max-width:33.3333%;}.col-5{flex:0 0 41.6667%;max-width:41.6667%;}.col-6{flex:0 0 50%;max-width:50%;}.col-7{flex:0 0 58.3333%;max-width:58.3333%;}.col-8{flex:0 0 66.6667%;max-width:66.6667%;}.col-9{flex:0 0 75%;max-width:75%;}.col-10{flex:0 0 83.3333%;max-width:83.3333%;}.col-11{flex:0 0 91.6667%;max-width:91.6667%;}.col-12{flex:0 0 100%;max-width:100%;}@media (min-width:576px){.col-sm-1{flex:0 0 8.3333%;max-width:8.3333%;}.col-sm-2{flex:0 0 16.6667%;max-width:16.6667%;}.col-sm-3{flex:0 0 25%;max-width:25%;}.col-sm-4{flex:0 0 33.3333%;max-width:33.3333%;}.col-sm-5{flex:0 0 41.6667%;max-width:41.6667%;}.col-sm-6{flex:0 0 50%;max-width:50%;}.col-sm-7{flex:0 0 58.3333%;max-width:58.3333%;}.col-sm-8{flex:0 0 66.6667%;max-width:66.6667%;}.col-sm-9{flex:0 0 75%;max-width:75%;}.col-sm-10{flex:0 0 83.3333%;max-width:83.3333%;}.col-sm-11{flex:0 0 91.6667%;max-width:91.6667%;}.col-sm-12{flex:0 0 100%;max-width:100%;}}@media (min-width:768px){.col-md-1{flex:0 0 8.3333%;max-width:8.3333%;}.col-md-2{flex:0 0 16.6667%;max-width:16.6667%;}.col-md-3{flex:0 0 25%;max-width:25%;}.col-md-4{flex:0 0 33.3333%;max-width:33.3333%;}.col-md-5{flex:0 0 41.6667%;max-width:41.6667%;}.col-md-6{flex:0 0 50%;max-width:50%;}.col-md-7{flex:0 0 58.3333%;max-width:58.3333%;}.col-md-8{flex:0 0 66.6667%;max-width:66.6667%;}.col-md-9{flex:0 0 75%;max-width:75%;}.col-md-10{flex:0 0 83.3333%;max-width:83.3333%;}.col-md-11{flex:0 0 91.6667%;max-width:91.6667%;}.col-md-12{flex:0 0 100%;max-width:100%;}}@media (min-width:992px){.col-lg-1{flex:0 0 8.3333%;max-width:8.3333%;}.col-lg-2{flex:0 0 16.6667%;max-width:16.6667%;}.col-lg-3{flex:0 0 25%;max-width:25%;}.col-lg-4{flex:0 0 33.3333%;max-width:33.3333%;}.col-lg-5{flex:0 0 41.6667%;max-width:41.6667%;}.col-lg-6{flex:0 0 50%;max-width:50%;}.col-lg-7{flex:0 0 58.3333%;max-width:58.3333%;}.col-lg-8{flex:0 0 66.6667%;max-width:66.6667%;}.col-lg-9{flex:0 0 75%;max-width:75%;}.col-lg-10{flex:0 0 83.3333%;max-width:83.3333%;}.col-lg-11{flex:0 0 91.6667%;max-width:91.6667%;}.col-lg-12{flex:0 0 100%;max-width:100%;}}@media (min-width:1200px){.col-xl-1{flex:0 0 8.3333%;max-width:8.3333%;}.col-xl-2{flex:0 0 16.6667%;max-width:16.6667%;}.col-xl-3{flex:0 0 25%;max-width:25%;}.col-xl-4{flex:0 0 33.3333%;max-width:33.3333%;}.col-xl-5{flex:0 0 41.6667%;max-width:41.6667%;}.col-xl-6{flex:0 0 50%;max-width:50%;}.col-xl-7{flex:0 0 58.3333%;max-width:58.3333%;}.col-xl-8{flex:0 0 66.6667%;max-width:66.6667%;}.col-xl-9{flex:0 0 75%;max-width:75%;}.col-xl-10{flex:0 0 83.3333%;max-width:83.3333%;}.col-xl-11{flex:0 0 91.6667%;max-width:91.6667%;}.col-xl-12{flex:0 0 100%;max-width:100%;}}
[role="contentinfo"]{max-width:var(--content-max);margin:24px auto 0;padding:16px 24px;box-sizing:border-box;font-size:14px;line-height:1.5;border-left:3px solid;}[role="contentinfo"][aria-label="Status message"]{background:#EEF6EF;border-left-color:#3F8B4C;color:#1E4527;}[role="contentinfo"][aria-label="Warning message"]{background:#FBF3E4;border-left-color:#B8860B;color:#5A4300;}[role="contentinfo"][aria-label="Error message"]{background:#FBEEEE;border-left-color:#B3403C;color:#5C201D;}[role="contentinfo"] h2{margin:0 0 4px;}#block-hilltop-theme-local-tasks{max-width:var(--content-max);margin:0 auto;padding:16px 96px 0;box-sizing:border-box;}#block-hilltop-theme-local-tasks > ul{display:flex;flex-wrap:wrap;gap:8px;}#block-hilltop-theme-local-tasks > ul li{list-style:none;}#block-hilltop-theme-local-tasks > ul a{display:inline-flex;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;color:var(--color-purple);background:var(--color-panel);border-radius:var(--radius-sm);text-decoration:none;}#block-hilltop-theme-local-tasks > ul a:hover{background:var(--color-hairline);}#block-hilltop-theme-local-tasks > ul a.is-active{background:var(--color-ink);color:var(--color-white);}@media (max-width:900px){[role="contentinfo"]{margin:16px 24px 0;padding:12px 16px;}#block-hilltop-theme-local-tasks{padding:12px 24px 0;}}
.home-hero{width:100%;aspect-ratio:2048 / 800;min-height:260px;overflow:hidden;border-radius:var(--radius-lg);}.home-hero *{height:100%;width:100%;}.home-hero img{object-fit:cover;display:block;}@media (max-width:900px){.home-hero{min-height:180px;border-radius:var(--radius-md);}}.home-intro-grid{display:grid;grid-template-columns:5fr 7fr;gap:40px;padding:56px 96px 0;max-width:var(--content-max);margin:0 auto;box-sizing:border-box;}.home-intro-grid__title h1{border-left:3px solid var(--color-purple);padding-left:28px;margin:0;font-size:40px;line-height:1.15;}.home-intro-grid__text{font-size:17px;line-height:1.7;padding-top:6px;}.home-intro-grid__text p{margin:0;}.home-mid-grid{display:grid;grid-template-columns:3fr 4fr 4fr;gap:40px;padding:88px 96px 0;max-width:var(--content-max);margin:0 auto;box-sizing:border-box;}.home-mid-grid__heading{font-family:var(--font-heading);font-size:32px;font-weight:500;color:var(--color-purple);line-height:1.2;}.home-mid-grid__heading p{margin:0;}.home-mid-grid__col{font-size:16px;line-height:1.7;}.home-mid-grid__col p{margin:0;}.home-bottom-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:72px;border-top:1px solid var(--color-hairline);max-width:var(--content-max);margin-left:auto;margin-right:auto;}.home-bottom-grid__item{display:flex;align-items:flex-start;gap:14px;padding:32px 96px;font-size:15px;line-height:1.6;}.home-bottom-grid__item:first-child{border-right:1px solid var(--color-hairline);}.home-bottom-grid__item svg{flex-shrink:0;margin-top:2px;color:var(--color-purple);}.home-bottom-grid__item p{margin:0;}@media (max-width:900px){.home-intro-grid,.home-mid-grid{grid-template-columns:1fr;gap:20px;padding:40px 24px 0;}.home-intro-grid__title h1{font-size:28px;padding-left:16px;}.home-mid-grid{padding-top:48px;}.home-bottom-grid{grid-template-columns:1fr;margin-top:40px;}.home-bottom-grid__item{padding:24px;}.home-bottom-grid__item:first-child{border-right:0;border-bottom:1px solid var(--color-hairline);}}
