.hero-priorities h2{font-size:24px;margin:0 0 18px}.hero-priorities .hero-visual{padding:18px;min-height:0;gap:12px}.hero-priority{display:grid;grid-template-columns:1fr auto;align-content:start;gap:8px;padding:14px;border-radius:14px;background:#fff;color:var(--deep);border:1px solid #e0ebef;transition:border-color .2s,box-shadow .2s}.hero-priority img{grid-column:1/-1;height:142px;width:100%;object-fit:contain}.hero-priority strong{font-size:15px;line-height:1.4}.hero-priority>span{color:#1183a4}.hero-priority:hover{text-decoration:none;border-color:#1183a4;box-shadow:0 6px 18px #153b5010}.directions-window{overflow:hidden;border-radius:14px}.directions-track.directions{display:flex;gap:18px;transition:transform .45s ease;will-change:transform}.directions-track>.direction{flex:0 0 calc((100% - 54px)/4);min-width:0;margin:0;padding:20px}.directions-track .direction-image{height:165px;width:100%;object-fit:contain;margin-bottom:18px}.directions-track strong{font-size:18px}.directions-track span{margin-top:auto;padding-top:12px}.directions-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:18px 0 32px}.directions-controls button{border:1px solid #d8e7ed;background:#edf6fa;border-radius:10px;color:#16485b;padding:8px 16px;min-height:42px;cursor:pointer}.directions-controls button:hover{background:#dceef5}.direction-position{color:#617783;font-size:14px}.direction-pause{font-size:14px;margin-left:8px}
.contact-cards .contact-card{display:flex;flex-direction:column;align-items:flex-start;padding:26px;border-top-width:4px;min-width:0}.contact-card.contact-phone{background:#eaf5fb;border-color:#8dc6df;color:#203744}.contact-card.contact-email{background:#edf7f3;border-color:#9acdb7}.contact-card.contact-office{background:#fff6e8;border-color:#e4c38e}.contact-card h2{min-height:58px;font-size:23px;margin:18px 0 12px}.contact-card p{margin:0 0 18px;line-height:1.6}.contact-card .contact-main{font-size:19px;margin:0 0 14px;line-height:1.5}.contact-phone>.contact-main+a{margin-bottom:18px}.contact-card .button{margin-top:auto;width:100%;min-height:50px}.contact-card .contact-icon{background:#fff}.contact-email .contact-icon{color:#347d65}.contact-office .contact-icon{color:#9a6b26}.contact-office .office-map{margin-bottom:22px;font-size:15px}.contact-card .button.secondary{background:#fff}.contact-card.contact-office .button{background:#8d642c;border-color:#8d642c}.contact-card.contact-email .button{color:#276d56;border-color:#83b7a2}
@media(max-width:1000px){.directions-track>.direction{flex-basis:calc((100% - 18px)/2)}.contact-cards{gap:14px}.contact-cards .contact-card{padding:22px}.contact-card .contact-main{font-size:17px}}
@media(max-width:700px){.hero-priorities h2{font-size:22px}.hero-priorities .hero-visual{padding:12px}.hero-priority{padding:10px}.hero-priority img{height:125px}.hero-priority strong{font-size:14px}.contact-card h2{min-height:0}.contact-card .button{margin-top:10px}.directions-controls{gap:8px;justify-content:center}.directions-controls button{padding:8px 12px}}
@media(max-width:480px){.directions-track>.direction{flex-basis:100%}.directions-track .direction-image{height:190px}}
@media(prefers-reduced-motion:reduce){.directions-track.directions{transition:none}.hero-priority{transition:none}}
.contact-cards .contact-card .button{height:68px;min-height:68px;flex-shrink:0;font-size:15px;text-align:center}

/* Soft section backgrounds; product photographs retain white cards. */
.hero-priorities{background:linear-gradient(135deg,#e7f3f9,#eff8fa);border:1px solid #cde4ed;border-radius:26px;padding:22px;box-shadow:0 8px 24px #174b6210}
.hero-priorities h2{margin:0 0 18px;font-size:23px}
.hero-priorities .hero-visual{background:transparent;padding:0;border-radius:0}
.directions-carousel{background:linear-gradient(120deg,#fff7ea,#faf6ee);border:1px solid #ebdfc8;border-radius:24px;padding:22px 22px 4px;margin-bottom:34px}
.directions-carousel .direction{border-color:#e5e5df;box-shadow:0 3px 10px #72582006}
.directions-carousel .directions-controls{margin:18px 0 16px}
.directions-carousel .directions-controls button{background:#fff;border-color:#e5d9c3}
.directions-carousel .directions-controls button:hover{background:#f6ecdc}
@media(max-width:700px){.hero-priorities{padding:16px;border-radius:20px}.hero-priorities h2{font-size:21px}.hero-priorities .hero-visual{padding:0}.directions-carousel{padding:14px 14px 2px;border-radius:20px}}
