:root {
    --lf-primary: #12b89a;
    --lf-primary-dark: #07967f;
    --lf-green: #68cc35;
    --lf-green-light: #94dc31;
    --lf-navy: #18384a;
    --lf-text: #38474f;
    --lf-muted: #6e7c82;
    --lf-bg: #fff;
    --lf-bg-mint: #f1faf7;
    --lf-bg-aqua: #edf9fa;
    --lf-border: #dceae7;
    --lf-white: #fff;
}

.lf-site-header *,
.lf-site-header *::before,
.lf-site-header *::after,
.lf-site-footer *,
.lf-site-footer *::before,
.lf-site-footer *::after { box-sizing: border-box; }

.lf-site-shell { margin-inline: auto; max-width: 1200px; padding-inline: 28px; width: 100%; }

.lf-skip-link {
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.lf-skip-link:focus {
    background: var(--lf-white);
    border: 2px solid var(--lf-primary-dark);
    clip: auto !important;
    clip-path: none;
    color: var(--lf-navy);
    height: auto;
    left: 12px;
    padding: 10px 16px;
    top: 12px;
    width: auto;
    z-index: 10000;
}

.lf-site-header {
    background: rgba(255, 255, 255, .98);
    border-bottom: 1px solid var(--lf-border);
    color: var(--lf-text);
    position: relative;
    z-index: 100;
}

.lf-site-header__inner { align-items: center; display: flex; gap: 24px; min-height: 82px; }
.lf-site-brand { align-items: center; color: var(--lf-navy) !important; display: inline-flex; flex: 0 0 auto; gap: 9px; text-decoration: none !important; }
.lf-site-brand__mark, .lf-site-footer__mark { display: block; flex: 0 0 auto; height: 40px; overflow: hidden; position: relative; width: 54px; }
.lf-site-brand__mark img, .lf-site-footer__mark img { height: 74px; left: -10px; max-width: none; position: absolute; top: -9px; width: 74px; }
.lf-site-brand__copy { display: grid; line-height: 1.25; }
.lf-site-brand__copy strong { font-size: 1.22rem; letter-spacing: .04em; }
.lf-site-brand__copy small { color: var(--lf-muted); font-size: .68rem; margin-top: 4px; }

.lf-site-nav { align-items: center; display: flex; gap: clamp(14px, 2vw, 28px); margin-left: auto; }
.lf-site-nav a { color: var(--lf-text); font-size: .82rem; font-weight: 600; padding-block: 10px; text-decoration: none; }
.lf-site-nav a:hover { color: var(--lf-primary-dark); }

.lf-site-header__cta {
    align-items: center;
    background: linear-gradient(135deg, #067665, #2f8318);
    border-radius: 13px;
    box-shadow: 0 6px 15px rgba(18, 184, 154, .2), inset 0 1px 0 rgba(255, 255, 255, .35);
    color: var(--lf-white) !important;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: .83rem;
    font-weight: 700;
    gap: 8px;
    min-height: 46px;
    padding: 8px 16px;
    text-decoration: none !important;
}
.lf-site-header__cta--subpage {
    column-gap: 10px;
    display: grid;
    font-size: 15px;
    grid-template-columns: minmax(0, 1fr) 25px;
    margin-left: auto;
    padding-left: 17px;
    padding-right: 11px;
}
.lf-site-header__cta--subpage::after {
    align-items: center;
    background: var(--lf-white);
    border-radius: 50%;
    color: var(--lf-primary-dark);
    content: ">";
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 800;
    height: 25px;
    justify-content: center;
    width: 25px;
}

.lf-chat-icon { align-items: center; background: var(--lf-white); border-radius: 8px; display: inline-flex; gap: 2px; height: 23px; justify-content: center; position: relative; width: 27px; }
.lf-chat-icon::after { border-left: 5px solid var(--lf-white); border-top: 5px solid transparent; bottom: -3px; content: ""; left: 4px; position: absolute; transform: rotate(-12deg); }
.lf-chat-icon__dot { background: var(--lf-primary-dark); border-radius: 50%; display: block; flex: 0 0 auto; height: 3px; width: 3px; }

.lf-site-mobile-menu { display: none; margin-left: auto; position: relative; }
.lf-site-mobile-menu summary { align-items: center; border: 1px solid var(--lf-border); border-radius: 12px; cursor: pointer; display: flex; flex-direction: column; gap: 5px; height: 44px; justify-content: center; list-style: none; width: 44px; }
.lf-site-mobile-menu summary::-webkit-details-marker { display: none; }
.lf-site-mobile-menu summary span { background: var(--lf-navy); border-radius: 2px; display: block; height: 2px; width: 20px; }
.lf-site-mobile-menu[open] summary span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.lf-site-mobile-menu[open] summary span:nth-child(2) { opacity: 0; }
.lf-site-mobile-menu[open] summary span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.lf-site-mobile-menu nav { background: var(--lf-white); border: 1px solid var(--lf-border); border-radius: 16px; box-shadow: 0 14px 34px rgba(24, 56, 74, .14); display: grid; min-width: min(310px, calc(100vw - 40px)); padding: 12px; position: absolute; right: 0; top: 53px; }
.lf-site-mobile-menu nav a { border-bottom: 1px solid var(--lf-border); color: var(--lf-text); font-weight: 600; min-height: 46px; padding: 11px 10px; text-decoration: none; }
.lf-site-mobile-menu nav .lf-site-mobile-menu__cta { background: linear-gradient(135deg, #067665, #2f8318); border: 0; border-radius: 11px; color: var(--lf-white); margin-top: 8px; text-align: center; }

.lf-site-header a:focus-visible,
.lf-site-footer a:focus-visible,
.lf-subpage a:focus-visible,
.lf-site-mobile-menu summary:focus-visible { outline: 3px solid #087967; outline-offset: 3px; }

.lf-site-footer { background: #123d48; color: rgba(255, 255, 255, .82); padding-top: 50px; }
.lf-site-footer__inner { align-items: center; display: flex; justify-content: space-between; }
.lf-site-footer__brand { align-items: center; display: flex; gap: 12px; }
.lf-site-footer__mark { align-items: center; background: var(--lf-white); border-radius: 14px; display: flex; height: 58px; justify-content: center; width: 58px; }
.lf-site-footer__mark img { clip-path: inset(0 0 30% 0); height: 90px; left: -16px; top: -10px; width: 90px; }
.lf-site-footer__brand > div { display: grid; }
.lf-site-footer__brand strong { color: var(--lf-white); font-size: 1.25rem; }
.lf-site-footer__brand small { font-size: .72rem; margin-top: 3px; }
.lf-site-footer__nav { display: flex; flex-wrap: wrap; gap: 15px 28px; }
.lf-site-footer__nav a { color: rgba(255, 255, 255, .9); font-size: .82rem; text-decoration: none; }
.lf-site-footer__copyright { border-top: 1px solid rgba(255, 255, 255, .12); font-size: .72rem; margin: 38px 0 0; padding: 18px 20px; text-align: center; }

@media (max-width: 1020px) {
    .lf-site-nav, .lf-site-header__cta { display: none; }
    .lf-site-header__cta--subpage { display: grid; margin-left: auto; }
    .lf-site-mobile-menu { display: block; }
}

@media (max-width: 767px) {
    .lf-site-footer__mark { height: 52px; width: 52px; }
    .lf-site-footer__mark img { height: 82px; left: -15px; top: -9px; width: 82px; }
}

@media (max-width: 600px) {
    .lf-site-shell { padding-inline: 20px; }
    .lf-site-header__inner { min-height: 68px; }
    .lf-site-brand__mark { height: 36px; width: 46px; }
    .lf-site-brand__mark img { height: 64px; left: -9px; top: -8px; width: 64px; }
    .lf-site-brand__copy strong { font-size: 1.05rem; }
    .lf-site-brand__copy small { display: none; }
    .lf-site-footer { padding-top: 40px; }
    .lf-site-footer__inner { align-items: flex-start; flex-direction: column; gap: 30px; }
    .lf-site-footer__nav { gap: 12px 20px; }
}
