/* Shared finishing details and a clear primary brand in the masthead. */
.home-entry{background:#f8fafb;padding-block:68px 66px;border-bottom:1px solid #e0e8ed}
.home-entry .section-head{margin-bottom:30px}
.home-entry .section-head .eyebrow{font-size:12px;letter-spacing:1.3px}
.home-entry-grid{gap:20px;align-items:stretch}
.home-entry-card{background:white;border:1px solid #d9e4eb;border-radius:7px;padding:29px 27px 26px;box-shadow:0 3px 12px #102f4304;transition:border-color .2s,box-shadow .2s,background .2s}
.home-entry-card>svg{width:31px;height:31px;color:#2c6a91;margin-bottom:22px;stroke-width:1.4}
.home-entry-card h3{font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1.2;font-weight:400;letter-spacing:-.5px;margin-bottom:13px;color:#102f43}
.home-entry-card p{font-size:16px;line-height:1.65;color:#536b7b;margin-bottom:24px}
.home-entry-card>span{font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;border-top:1px solid #e5ecf1;padding-top:16px;color:#0066ad}
.home-entry-card:hover{background:#fff;border-color:#85a8c0;box-shadow:0 9px 25px #102f430b}
.home-entry-card:hover>span{text-decoration:underline;text-underline-offset:4px}
.popular-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:28px}
.popular-services b{grid-column:1/-1;font-size:13px;line-height:1.5;color:#597282;font-weight:500;margin-bottom:2px}
.popular-services a{min-height:47px;display:flex;align-items:center;justify-content:center;padding:12px 14px;border:1px solid #d7e3eb;border-radius:4px;font-size:14px;line-height:1.4;text-decoration:none;color:#254b64;background:#fff;transition:background .2s,border-color .2s}
.popular-services a:hover{background:#edf4f8;border-color:#93b0c3}
.home-urgent-shortcut{display:flex;align-items:center;flex-wrap:wrap;gap:8px 11px;padding-top:23px;margin:0;font-size:14px;line-height:1.6;color:#516b7c}
.home-urgent-shortcut svg{width:19px;height:19px;color:#416c86}
.home-urgent-shortcut a{color:#164766;text-decoration:underline;text-underline-offset:4px;font-weight:600;padding-block:5px}
.service-directory-card{border-color:#d9e4eb;border-radius:6px;padding:28px;transition:border-color .2s,box-shadow .2s,background .2s}
.service-directory-card:hover{background:#f8fbfd;border-color:#96b5c9;box-shadow:0 6px 20px #102f4308}
.service-directory-card h3{font-size:22px;line-height:1.3;font-weight:500;letter-spacing:-.35px}
.service-directory-card span{padding-top:15px;border-top:1px solid #e5ecf1;text-decoration:none}
.service-directory-card:hover span{text-decoration:underline;text-underline-offset:4px}
.directory-jumps a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;border-color:#c1d4df}
.review-card{background:#f4f8fa;border:1px solid #dfe8ee;border-radius:6px;padding:30px}
.review-card blockquote{font-size:20px;line-height:1.65;color:#244456;margin-block:12px 26px}
.review-card figcaption{padding-top:17px;border-color:#d6e3eb}
.review-card figcaption b{font-size:14px;font-weight:600}
.review-card figcaption span{font-size:12px;margin-top:3px}
.process-list h3{font-weight:600;line-height:1.35}
.process-list p{font-size:16px;line-height:1.65}
.faq-list summary{line-height:1.5;min-height:58px;padding-block:19px}
.faq-list details[open]{border-top-color:#91afc3}
.faq-list details[open]>summary{color:#0066ad}
.faq-list details p{font-size:16px;line-height:1.7}
.contact-form{border-color:#d2e0e9;border-radius:7px;box-shadow:0 8px 30px #102f4307}
.contact-form h3{font-family:Georgia,'Times New Roman',serif;font-size:28px;line-height:1.25;font-weight:400;letter-spacing:-.4px}
.contact-form>p{font-size:14px;line-height:1.65}
.contact-form .field span{font-size:14px;font-weight:500;margin-bottom:8px}
.contact-form .field :is(input,select,textarea){min-height:48px;font-size:16px;line-height:1.5;padding:12px 13px;border-color:#bccfdc;border-radius:4px;background:#fbfcfd;transition:border-color .2s,box-shadow .2s}
.contact-form .field :is(input,select,textarea):focus{background:white;border-color:#4989b2;outline:2px solid #b0d4eb;outline-offset:2px}
.contact-form .field textarea{min-height:130px}
.contact-form .form-note{font-size:13px;line-height:1.6}
.site-header .nav-dropdown-panel{border-color:#d6e2ea;border-radius:0 0 7px 7px;box-shadow:0 14px 35px #102f4314}
.site-header .desktop-nav .nav-group a{padding:10px 8px;margin-inline:-8px;border-radius:3px}
.site-header .desktop-nav .nav-group a:hover{background:#f0f6fa;color:#005d9a}
.site-header .desktop-nav :is(a[aria-current=page],.is-current-section>summary){color:#0068ae;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.mobile-nav a[aria-current=page]{color:#005e9f;font-weight:700;background:#edf5fa}
.mobile-nav .mobile-primary-links a{border-color:#cfdee8;border-radius:5px}
.mobile-nav .mobile-emergency-link{border-top:1px solid #d9e5ec;margin-top:10px}
@media(min-width:1151px){.nav-about-panel a:hover{color:#0068ae}}
@media(max-width:900px){
 .home-entry-card{padding:24px 21px}
 .home-entry-card h3{font-size:23px}
 .popular-services{grid-template-columns:repeat(2,minmax(0,1fr))}
 .review-card{padding:25px}
 .review-card blockquote{font-size:19px}
}
@media(max-width:640px){
 .home-entry{padding-block:39px 37px}
 .home-entry .section-head{margin-bottom:23px}
 .home-entry-grid{gap:13px}
 .home-entry-card{display:grid;grid-template-columns:26px minmax(0,1fr);gap:0 15px;padding:24px 20px 21px}
 .home-entry-card>svg{grid-column:1;grid-row:1/4;width:26px;height:26px;margin:2px 0 0}
 .home-entry-card h3{grid-column:2;font-size:23px;line-height:1.22;margin-bottom:10px}
 .home-entry-card p{grid-column:2;font-size:16px;line-height:1.6;margin-bottom:16px}
 .home-entry-card>span{grid-column:2;font-size:14px;padding-top:12px;line-height:1.5}
 .popular-services{padding-top:24px;gap:9px}
 .popular-services a{justify-content:flex-start;font-size:14px;padding:12px;min-height:48px}
 .home-urgent-shortcut{display:grid;grid-template-columns:19px minmax(0,1fr);gap:1px 10px;padding-top:20px}
 .home-urgent-shortcut svg{grid-row:1/3;align-self:start;margin-top:3px}
 .home-urgent-shortcut a{grid-column:2;justify-self:start;padding-block:3px;font-size:14px}
 .service-directory-card{padding:24px 22px}
 .service-directory-card h3{font-size:21px}
 .review-card{padding:25px 23px}
 .review-card blockquote{font-size:19px;line-height:1.65}
 .process-list p{font-size:15px}
 .contact-form{padding:25px 21px}
 .contact-form h3{font-size:26px}
 .contact-form>p{font-size:14px}
 .mobile-nav .mobile-primary-links a{font-size:15px;line-height:1.4;min-height:64px;padding:17px 14px}
 .mobile-nav .nav-group h3{font-size:13px;letter-spacing:.25px;color:#5a7180}
 .mobile-nav .nav-group a,.mobile-nav .mobile-about-list a{font-size:16px;min-height:46px;line-height:1.5;padding:12px 8px;margin-inline:-8px;border-radius:3px}
}
@media(max-width:360px){.home-entry-card{padding:22px 17px;gap:0 12px}.home-entry-card h3{font-size:22px}.popular-services a{padding:11px 9px}.contact-form{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.home-entry-card,.popular-services a,.service-directory-card,.contact-form .field :is(input,select,textarea){transition:none}}

/* Align the VB mark with the main VRM letters, excluding the subtitle and underline. */
.site-header{--header-logo-height:48px}
.site-header .masthead-inner{display:flex;align-items:center;justify-content:space-between}
.site-header .brand-masthead .identity-brand{width:calc(var(--header-logo-height) * 2.84176);height:var(--header-logo-height);flex-shrink:0;transform:translateY(calc(var(--header-logo-height) * .246))}
.site-header .masthead-end{display:flex;align-items:center;margin-left:auto;flex-shrink:0}
.site-header .masthead-partner{display:flex;align-items:center;justify-content:center;border:0;padding:0;margin:0;min-height:44px;flex-shrink:0}
.site-header .masthead-partner img{display:block;width:auto;height:calc(var(--header-logo-height) * .50);max-width:none}
.site-header .masthead-partner span{display:none}
@media(max-width:1150px){
 .site-header .brand-context{display:none}
 .site-header .masthead-end{gap:24px}
 .site-header .masthead-end .menu-toggle{margin:0;padding:8px 0}
}
@media(max-width:640px){
 .site-header{--header-logo-height:38px}
 .site-header .masthead-inner{gap:20px;min-height:76px}
 .site-header .masthead-identity{gap:0;min-width:0}
 .site-header .masthead-end{gap:19px}
 .site-header .masthead-end .menu-toggle{min-width:68px}
}
@media(max-width:360px){
 .site-header{--header-logo-height:34px}
 .site-header .masthead-end{gap:14px}
 .site-header .masthead-inner{gap:16px}
}

/* Clear category entries and a compact route to the local emergency team. */
.home-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-catalog-card{display:block;min-width:0;color:var(--navy,#102f43);text-decoration:none;background:#fff;border:1px solid #dce5e9;border-radius:5px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.home-catalog-card:hover{border-color:#86a8bd;box-shadow:0 9px 25px #102f4309}
.home-catalog-visual{display:flex;align-items:center;justify-content:center;aspect-ratio:1.3;padding:30px;border-bottom:1px solid #eef2f4;background:#fff}
.home-catalog-visual img{display:block;width:100%;height:100%;object-fit:contain}
.home-catalog-copy{padding:24px 25px 26px;position:relative}
.home-catalog-copy:after{content:'↗';position:absolute;right:23px;top:24px;color:#45728b;font-size:21px}
.home-catalog-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400;letter-spacing:-.6px;line-height:1.25;margin:0 20px 8px 0;overflow-wrap:anywhere}
.home-catalog-copy>span{font-size:14px;color:#5a7280}
.home-catalog-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px}
.home-catalog-bottom p{max-width:400px;font-size:13px;line-height:1.7;color:#526c7c;margin:0}
.home-catalog-bottom p a{text-underline-offset:3px}
.home-emergency-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,7vw,110px)}
.home-emergency h2{margin-bottom:20px}
.home-emergency-grid>div>p:not(.eyebrow):not(.home-emergency-caption){color:#c5d5de;max-width:470px;font-size:18px;line-height:1.7;margin-bottom:0}
.home-emergency-caption{font-size:14px;color:#c5d5de;margin:0 0 15px}
.home-emergency-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-emergency-areas a{min-height:77px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 18px;border:1px solid #ffffff35;border-radius:4px;background:#ffffff05;color:#fff;text-decoration:none;font-size:17px;line-height:1.4;transition:background .2s,border-color .2s}
.home-emergency-areas a:hover{background:#ffffff0c;border-color:#b9d4e2}
.home-emergency-areas svg,.home-emergency-map svg{width:19px;height:19px;flex-shrink:0}
.home-emergency-map{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#bbd4e1;font-size:14px;text-underline-offset:5px;margin-top:12px}
@media(max-width:900px){
 .home-catalog-grid{gap:16px}
 .home-catalog-copy{padding:20px 18px}
 .home-catalog-copy h3{font-size:23px}
 .home-catalog-copy:after{right:16px;top:19px}
 .home-emergency-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:640px){
 .home-catalog-grid{grid-template-columns:1fr;gap:13px}
 .home-catalog-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;min-height:126px}
 .home-catalog-visual{aspect-ratio:auto;min-height:126px;height:100%;padding:16px;border-bottom:0;border-right:1px solid #eef2f4}
 .home-catalog-visual img{max-height:100px}
 .home-catalog-copy{padding:22px 16px}
 .home-catalog-copy h3{font-size:23px;margin:0 0 8px}
 .home-catalog-copy:after{display:none}
 .home-catalog-copy>span{font-size:13px}
 .home-catalog-bottom{align-items:stretch;flex-direction:column;gap:17px;margin-top:22px}
 .home-catalog-bottom .button{justify-content:center}
 .home-emergency-areas a{min-height:74px;font-size:15px;padding:17px 13px;gap:8px}
 .home-emergency-grid>div>p:not(.eyebrow):not(.home-emergency-caption){font-size:17px}
}
@media(prefers-reduced-motion:reduce){.home-catalog-card,.home-emergency-areas a{transition:none}}

/* A short, contextual brief for boards and property managers. */
.housing-fields{border:1px solid #cddde6;border-radius:4px;padding:20px;margin:0 0 22px;background:#f5f8fa;min-width:0}
.housing-fields[hidden]{display:none}
.housing-fields legend{font-size:14px;font-weight:600;padding:0 7px;color:#34596f}
.housing-fields .form-row{margin-bottom:0}
.service-body .side-card>.button{white-space:normal;text-align:center;line-height:1.45;min-height:48px}
@media(max-width:640px){.mobile-actions a{white-space:normal;text-align:center;line-height:1.35}.housing-fields{padding:17px}.housing-fields .form-row{grid-template-columns:1fr}}

/* Final reading and enquiry details below the approved masthead and video. */
html{scroll-padding-top:calc(var(--site-header-height,140px) + 20px)}
main :is(section,div,h2,h3)[id]{scroll-margin-top:0}
:is(.guides-hero,.housing-hero,.cart-hero,.sub-hero,.planner-heading) h1{overflow-wrap:break-word;hyphens:auto;text-wrap:balance}
.contact-form .draft-panel{padding:22px;margin-top:22px;background:#f1f6f9;border:1px solid #cfdee8;border-radius:5px}
.contact-form .draft-panel textarea{min-height:230px;background:#fff;font:14px/1.7 Arial,sans-serif;color:#244556;resize:vertical}
.contact-form .draft-panel :is(a,button){min-height:44px}
.form-status:not(:empty){padding:15px 17px;border-left:3px solid #82aec8;background:#edf5f9;color:#284d64;font-size:14px;line-height:1.65}
.contact-form .field :is(input,select,textarea):user-invalid{border-color:#a84646}
@media(min-width:641px){main .guide-contact{top:calc(var(--site-header-height,140px) + 24px)}}
@media(max-width:1150px){html{--site-header-height:80px}}
@media(max-width:640px){
 html{--site-header-height:76px}
 .contact-form .draft-panel{padding:17px;margin-inline:-4px}
 .contact-form .draft-panel textarea{font-size:16px}
 .form-status:not(:empty){padding:13px 14px}
 .footer-links a{padding-block:8px;min-height:40px;display:flex;align-items:center;line-height:1.5}
 body .guides-hero h1,body .guide-article-hero h1{font-size:clamp(30px,8.5vw,37px);line-height:1.15}
 body .housing-hero h1,body .cart-hero h1{font-size:clamp(32px,9vw,40px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.q-category-entry{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:27px 30px;margin:0 0 32px;background:#123346;color:white;text-decoration:none}.q-category-entry strong{font-size:24px;display:block;margin-bottom:5px}.q-category-entry p{font-size:15px;margin:0;color:#c4d7e2;line-height:1.6}.q-category-entry>span:last-child{font-size:15px;white-space:nowrap;border-bottom:1px solid #9bb5c6;padding-bottom:4px}.q-category-link{display:block;padding:14px 10px;border:1px solid #d4e1e9;margin-top:12px;border-radius:3px;font-size:15px;font-weight:600;text-decoration:none}.q-home-entry{margin:30px 0 0}

@media(max-width:640px){.q-category-entry{display:block;padding:23px}.q-category-entry>span:last-child{display:inline-block;margin-top:15px}}
