/* High-impact editorial direction. */
.site-header { background: var(--deep); border: 0; }
.wordmark,
.site-header nav a { color: #fff; }
.wordmark span { color: #7fcac3; }
.site-header nav a:last-child { background: var(--teal); border-color: var(--teal); }

.hero {
    max-width: none;
    min-height: 700px;
    padding: 0 0 0 max(6%, calc((100vw - 1280px) / 2));
    grid-template-columns: minmax(520px, .95fr) minmax(560px, 1.05fr);
    gap: 0;
    background: var(--deep);
    color: #fff;
    overflow: visible;
}
.hero-copy { padding: 88px 8% 84px 0; }
.hero .eyebrow { color: #7fcac3; }
.hero h1 { color: #fff; font-size: clamp(4.5rem, 7.5vw, 7.5rem); line-height: .93; }
.hero .intro { color: #d8e2e0; font-size: 21px; max-width: 610px; }
.hero .button { background: #fff; color: var(--deep); border-color: #fff; font-size: 17px; padding: 19px 25px; }
.hero .button:hover { background: var(--teal); color: #fff; border-color: var(--teal); }
.hero-note { color: #fff; font-size: 15px; margin-top: 55px; }
.hero-note .rule { background: #7fcac3; width: 46px; }
.hero-image { min-height: 700px; height: 100%; overflow: hidden; }
.hero-image > img { width: 100%; height: 100%; min-height: 700px; object-fit: cover; border: 0; }
.hero-image figcaption { position: absolute; right: 18px; bottom: 12px; color: #fff; background: rgba(0,0,0,.55); padding: 5px 8px; }
.style-badge { right: auto; left: -1px; bottom: 38px; background: var(--teal); padding: 17px 18px; width: 132px; }

.mood-strip { padding: 20px 5%; background: #fff; color: var(--deep); border-bottom: 1px solid #aab7b4; }
.mood-strip i { color: var(--teal); }

.brand-band { padding-top: 84px; padding-bottom: 84px; }
.brand-copy { padding-left: 55px; border-left: 1px solid #56706c; }
.brand-copy:before {
    content: "50";
    display: block;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 110px;
    line-height: .75;
    color: var(--teal);
    margin-bottom: 30px;
}
.brand-copy h2 { font-size: clamp(3.3rem, 5vw, 5rem); }

.local-love { padding-top: 84px; padding-bottom: 86px; }
.local-heading { margin-bottom: 38px; padding-bottom: 34px; }
.service-card,
.service-card:nth-child(2),
.service-card:nth-child(3) { min-height: 250px; }
.service-card:first-child { background: var(--teal); color: #fff; border-color: var(--teal); }
.service-card:first-child .card-number,
.service-card:first-child h3,
.service-card:first-child p { color: #fff; }

.visit { padding-top: 78px; }
.visit-heading h2 { max-width: 700px; }

@media (max-width: 1000px) {
    .hero { grid-template-columns: 1fr 1fr; padding-left: 5%; }
    .hero h1 { font-size: 5.2rem; }
    .hero-copy { padding-right: 7%; }
}

@media (max-width: 700px) {
    .site-header { border-bottom: 1px solid #43514f; }
    .hero { grid-template-columns: 1fr; padding: 0; }
    .hero-copy { padding: 64px 6% 62px; }
    .hero h1 { font-size: 4.35rem; }
    .hero-image,
    .hero-image > img { min-height: 470px; height: 470px; }
    .hero-note { margin-top: 40px; }
    .mood-strip { justify-content: flex-start; overflow: hidden; white-space: nowrap; }
    .brand-copy { padding-left: 0; border-left: 0; }
    .brand-copy:before { font-size: 82px; margin-bottom: 25px; }
    .service-card,
    .service-card:nth-child(2),
    .service-card:nth-child(3) { min-height: 0; }
}
