
/* Unified website elements layered on brand-landing.css. Shared across ALL pages. */
.header-links a.nav-active{color:#94dcc8;font-weight:800}
.header-links a:hover{text-decoration:underline;text-underline-offset:3px}
.light-link{color:#e6f4ec;text-decoration:underline;text-underline-offset:3px}
.hero h1 strong,.page-hero h1 strong{color:#a2d6c8;font-weight:inherit}
.btn-dark{background:#245b52;color:#fff}.btn-dark:hover{background:#174c43}
.btn-outline{background:#fff;color:#205a51;border:1px solid #b2c4bd}.btn-outline:hover{background:#ebf4ef}
.optional{font-weight:400;color:#66736f}
.brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vehicle-card{display:flex;flex-direction:column;gap:9px;min-height:171px;padding:21px 17px;border-radius:11px;text-decoration:none;background:#fff;border:1px solid #d7dcd4;box-shadow:0 3px 10px rgba(20,41,32,.04)}
.vehicle-card span{font:700 1.6rem/1 'Barlow Condensed',sans-serif;letter-spacing:.03em}
.vehicle-card small{color:#5d6863;font-size:.82rem;line-height:1.45;flex:1}
.vehicle-card b{font-size:.78rem;color:#216558}
.vehicle-card:hover{border-color:#63a08d;transform:translateY(-1px)}
.vehicle-card-special{background:#e2efe9}
.split-section{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}
.feature-photo{display:block;object-fit:cover;width:100%;height:390px;border-radius:15px;border:1px solid #d2dfd7;box-shadow:0 12px 22px rgba(16,34,28,.08)}
.area-grid,.lux-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:25px}
.area-card h3{font-size:1.65rem;margin:0 0 18px}.area-tags{display:flex;gap:7px;flex-wrap:wrap}.area-tag{display:inline-block;padding:6px 10px;background:#eef4f0;border:1px solid #deebe3;border-radius:7px;color:#28463e;font-size:.78rem}
.lux-tile h3{margin:0 0 10px}.lux-tile p{min-height:48px}.tile-link{display:inline-block;margin-top:16px;color:#25685b;font-size:.84rem;font-weight:800;text-decoration:none}.tile-link:hover{text-decoration:underline}
.page-hero{background:var(--ink);color:#fff;padding:76px 0 74px;position:relative;overflow:hidden}.page-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(98deg,rgba(17,20,24,.97),rgba(17,20,24,.78)),url('/images/hero.webp') center/cover;opacity:.95}.page-hero>.container{position:relative}.page-hero h1{font:800 clamp(3.2rem,6vw,5.6rem)/1.04 'Barlow Condensed',Impact,sans-serif;letter-spacing:.02em;margin:18px 0;text-transform:uppercase}.page-hero p{color:#dce8e2;max-width:760px;line-height:1.7}.date-line{display:inline-block;font-size:.83rem;color:#c5d6ce;margin-top:12px}
.legal-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:45px;align-items:start;max-width:1100px}.legal-toc{position:sticky;top:20px;background:#fff;border-radius:13px;padding:21px;border:1px solid #dce4dc}.legal-toc h2{font:700 1.3rem 'Barlow Condensed',sans-serif;margin:0 0 13px}.policy-nav-link{display:block;font-size:.86rem;text-decoration:none;padding:9px 0;color:#306354;border-bottom:1px solid #ecf0ec}.policy-nav-link:hover{text-decoration:underline}
.legal-copy{background:#fff;border:1px solid #e0e4de;padding:34px;border-radius:13px;min-width:0;line-height:1.75;color:#374541}.legal-copy section{scroll-margin-top:28px;margin:28px 0 0;padding-top:8px;border-top:1px solid #edf1ee}.legal-copy section h2{font-size:1.7rem;color:#152b26;line-height:1.18}.legal-copy h3{font-size:1.2rem;color:#223e35;margin:18px 0 6px}.legal-copy p{margin:10px 0}.legal-copy ul{padding-left:24px}.legal-copy li{margin:5px 0}.legal-copy a{color:#276d5d;text-decoration:underline;overflow-wrap:anywhere}
.mobile-menu{display:none}.mobile-menu summary{list-style:none;cursor:pointer;border:1px solid #64746f;background:#1b2b27;color:white;padding:8px 11px;border-radius:8px;font-size:1.15rem;line-height:1.1}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary{background:#2b4b40}.mobile-menu-links{position:absolute;z-index:200;top:47px;right:0;width:210px;display:grid;gap:1px;background:#f7f3ec;border:1px solid #cdd7d0;box-shadow:0 12px 25px rgba(0,0,0,.2);border-radius:10px;padding:8px}.mobile-menu-links a{color:#183b32;text-decoration:none;font-weight:700;font-size:.88rem;padding:12px 14px;border-radius:6px}.mobile-menu-links a:hover,.mobile-menu-links a:focus{background:#dfebe3}.header-inner{position:relative}.footer-links{max-width:540px;line-height:2.1}.footer-links a{white-space:nowrap}
@media(max-width:1000px){.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-section{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:900px){.mobile-menu{display:block}.header-links{gap:10px}.legal-layout{grid-template-columns:1fr;gap:16px}.legal-toc{position:static}.legal-toc .policy-nav-link{display:inline-block;margin-right:18px}.split-section{grid-template-columns:1fr}.feature-photo{height:320px}}
@media(max-width:630px){.header-inner{gap:9px}.mobile-menu summary{padding:8px}.brand-grid,.area-grid,.lux-grid{grid-template-columns:1fr}.vehicle-card{min-height:135px}.split-section{gap:16px}.feature-photo{height:230px}.page-hero{padding:48px 0 52px}.legal-copy{padding:19px}.legal-copy section h2{font-size:1.5rem}.footer-links{max-width:none}}

/* Consistent official business logo throughout all public pages. */
.brand-logo .jbb-brand-image{display:block;width:68px;height:68px;flex:0 0 68px;object-fit:contain;background:#fff;border-radius:9px;padding:3px;box-shadow:0 1px 8px rgba(0,0,0,.2)}
.header-inner{min-height:88px}
.brand-logo{min-width:0}
.jbb-footer-brand{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:5px;flex:none;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.jbb-footer-brand img{display:block;width:104px;height:104px;object-fit:contain}
.jbb-footer-identity{display:flex;align-items:center;gap:17px;max-width:570px}
.jbb-footer-identity strong{display:block;margin-bottom:5px}
@media(max-width:900px){.header-inner{min-height:78px}}
@media(max-width:630px){.header-inner{min-height:70px}.brand-logo .jbb-brand-image{width:56px;height:56px;flex-basis:56px;border-radius:8px;padding:2px}.brand-logo{gap:8px}.brand-logo span{font-size:.97rem;letter-spacing:.02em}.brand-logo small{font-size:.59rem}.jbb-footer-brand img{width:80px;height:80px}.jbb-footer-identity{align-items:center;gap:12px}}
@media(max-width:365px){.brand-logo .jbb-brand-image{width:49px;height:49px;flex-basis:49px}.brand-logo span{font-size:.86rem}.header-links .header-call{font-size:.73rem;padding:7px}.mobile-menu summary{padding:7px}}
