/* * ====== Header ====== */
/* ===============  Alert Bar  =============== */
@media (max-width: 768px) { .site-header-above-section-center p { font-size: 16px; } }
@media (max-width: 425px) { .site-header-above-section-center p { font-size: 12px; } }

/* =============== Base/Header =============== */
.site-header { position:relative; z-index:50; background:#fff; border-bottom:1px solid #e5e7eb; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; max-width:1200px; margin:0 auto; padding:0.75rem 1rem; }
.brand { display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; color:inherit; }
.brand__img { height:109px; max-width:288px; }
@media (max-width: 768px){ .brand__img { height:64px; } }

/* =============== Nav (desktop defaults) =============== */
.nav { display:flex; align-items:center; gap:1.25rem; }
.menu { display:flex; align-items:center; gap:1rem; list-style:none; margin:0; padding:0; }
.menu--single { display:flex; align-items:center; gap:1rem; }
.menu__link { display:inline-flex; align-items:center; gap:.35rem; text-decoration:none; color:#231f20; padding:.4rem .25rem; text-transform:uppercase; font-size: 28px;}
.menu__link:hover { color:#6b8f3c; }
.menu__link.active { color: #647e28; font-weight: 600; }
.caret { transition: transform .2s ease; }

/* Dropdown */
.has-children { position:relative; }
.submenu {
    position:absolute;
    top:100%;
    left:0;
    min-width:220px;
    padding:.5rem;
    background:#fff;
    border:1px solid #e5e7eb;
    box-shadow:0 4px 10px rgba(0,0,0,.08);
    display:none;
}
.submenu li { list-style-type:none; }
.submenu .menu__link { font-size: 18px; white-space: nowrap; }
.has-children.is-open > .submenu { display:block; }
.has-children.is-open .caret { transform: rotate(180deg); }

/* keep later items from falling off right edge */
.menu--single .has-children.align-right > .submenu { left:auto; right:0; }

/* Toggle button */
.nav-toggle { display:none; border:0; background:transparent; padding:.5rem; line-height:0; color:#6b8f3c; cursor:pointer; }
.nav-toggle:hover, .nav-toggle:active, .nav-toggle:focus { background:transparent; color:#6b8f3c; }
.nav-toggle:focus-visible { outline:2px solid #6b8f3c; outline-offset:2px; }

/* Hover/focus open on desktop */
@media (min-width: 921px){
    .has-children:hover > .submenu,
    .has-children:focus-within > .submenu { display:block; }
    .has-children:hover .caret,
    .has-children:focus-within .caret { transform: rotate(180deg); }
}

/* =============== Mobile =============== */
@media (max-width: 920px){
    .nav-toggle { display:inline-flex; }

    .nav{
        position:absolute; inset-inline:0; top:100%;
        background:#fff; border-top:1px solid #e5e7eb;
        flex-direction:column; align-items:stretch;
        padding:0; gap:0; display:none;
    }
    .nav.is-open { display:flex; }

    .menu{ flex-direction:column; align-items:stretch; gap:0; }
    .menu--single{ gap:0; }

    /* Full-width tappable rows with dividers */
    .menu__link{
        display:flex; align-items:center; gap:.35rem;
        width:100%; padding:.9rem 1rem;
        border-bottom:1px solid #878b8e;
    }
    .menu > li:last-child > .menu__link,
    .submenu > li:last-child > .menu__link { border-bottom:0; }

    /* Mobile dropdown presentation */
    .has-children .submenu{
        position:static; border:0; box-shadow:none;
        padding:0; display:none;
    }
    .has-children.is-open > .submenu { display:block; }

    /* Mobile background */
    .menu, .submenu{ background:#f9f9f9; margin:0; padding:0; }

    /* Submenu caret as leading ">" */
    .submenu .menu__link::before{
        content: ">"; font-weight:700; margin-right:.5rem; line-height:1;
    }

    /* small indent for submenu rows */
    .submenu .menu__link{ padding-left:1.25rem; }
}

/* * ====== Footer ====== */
/* ===== Theme + Typography ===== */
:where(.site-footer, .site-footer *) {
    font-family: 'Open Sans', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;
}
.site-footer { background:#878b8e; color:#ffffff; } /* gray footer, white content text */
.site-footer a { color:#ffffff; text-decoration:none; }
.site-footer a:hover { color:#231f20; text-decoration:underline; } /* dark hover for contrast */
.footer-title { font-size:30px;  font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin:0 0 .25rem; color:#ffffff; }
.footer-subtitle { font-size:25px;  font-weight:600; margin:.5rem 0 0; color:#ffffff; }
.footer-privacy-note, .footer-privacy-note a { color:#ffffff; }

/* ===== Layout ===== */
.footer-inner {
    max-width:1200px; margin:0 auto; padding:2rem 1rem;
    display:grid; grid-template-columns: repeat(3, 1fr); gap:2rem;
}
@media (max-width: 768px){ .footer-inner { grid-template-columns: 2fr 1fr; } }
@media (max-width: 435px){ .footer-inner { grid-template-columns: 1fr; } }

.footer-col { display:flex; flex-direction:column; gap:0.75rem; }
.footer-address { font-style:normal; line-height:1.6; }
p.footer-phones { color: #ffffff;}
.footer-phones a { text-decoration:underline; color: #ffffff;}

/* ===== Social ===== */
.footer-social { list-style:none; display:flex; gap:.75rem; padding:0; margin:.25rem 0 0; }
.social-link {
    display:inline-flex; align-items:center; justify-content:center;
    width:36px; height:36px; background: rgba(84, 85, 87, 0.61); color:#ffffff;
    border:0; border-radius:0; box-shadow:none;
}
.social-link:hover { opacity:.85; }
.social-link:hover { background: rgba(255,255,255,.2); }
/* ===== Pages list ===== */
.footer-links { list-style:none; padding:0; margin:0; display:grid; }
.footer-links li a { display:inline-block; padding:.25rem 0; }
.footer-links__child a { padding-left:1rem; opacity:.95; }
/* ===== Logo & form ===== */
.footer-logo { max-width: 260px; height:auto; display:block; margin-bottom:.5rem; }
.footer-signup-copy { margin:.5rem 0; color: #ffffff; }
/* ===== Hubspot form ===== */
.site-footer .hbspt-form{ margin-right:20px; }
.site-footer .hbspt-form fieldset{ max-width:unset; }
.site-footer .hbspt-form .form-columns-2{ display:flex; justify-content:space-between; }
.site-footer .hs_firstname, .hs_lastname{ width:48%!important; }
.site-footer .hs-sub-text{ color:#fff; font-size:12px; line-height:15px; font-family:'Open Sans', sans-serif;
}
.site-footer .hs-button{
    background-color: #676A6C!important; color: #ffffff!important;
    border: none!important; border-radius: 0!important;
    text-transform: uppercase; font-size: 18px!important;
    width: 100%!important; margin: 15px 0; padding: 15px 0!important;
}
.site-footer .hs-button:hover { background-color:#fff!important; color:#98C03D!important; }
.site-footer .hs-form-field label{ color: #ffffff; }
.site-footer .hs-form-field{ width:100%; }
.site-footer .hs-form-field .input{ width:100%;}
.site-footer .hs-form-field input{ width:100%!important; outline:none; max-height:37px; }
.site-footer .hs-input.invalid.error{ border: 1px solid #b81f27; }
.site-footer .hs-error-msg, label.hs-main-font-element{
    color: #b81f27; font-size: 14px; border: 1px solid; background-color: #fff9f9; padding: 5px; white-space:nowrap; }
.site-footer ul.hs-error-msgs li{ line-height: 32px; }
.site-footer .hs-form-field span { position:relative; top:5px; font-size:16px; user-select:none; }
.site-footer .submitted-message em{ font-style:normal; }
.site-footer .submitted-message p{ line-height: 25px; margin-bottom: 15px; }
.site-footer .hbspt-form .hs-form-field label { color:#ffffff !important; font-weight:600; margin-bottom:.35rem; display:block; }
.site-footer .hbspt-form .hs-form-field input,
.site-footer .hbspt-form .hs-form-field select,
.site-footer .hbspt-form .hs-form-field textarea {
    width:100% !important; max-width:100% !important; box-sizing:border-box;
    background:#ffffff; color:#231f20; border:1px solid rgba(35,31,32,.35);
    padding:.6rem .7rem; border-radius:0; outline:none; box-shadow:none;
}
.site-footer .hbspt-form .hs-form-field input:focus,
.site-footer .hbspt-form .hs-form-field select:focus,
.site-footer .hbspt-form .hs-form-field textarea:focus { border-color:#231f20; outline:2px solid #231f20; outline-offset:0; }
/* columns + responsive stack */
.site-footer .hbspt-form fieldset { border:0; padding:0; margin:0; }
.site-footer .hbspt-form .form-columns-2 { display:flex; gap:4%; flex-wrap:wrap; }
.site-footer .hbspt-form .hs_firstname, .site-footer .hbspt-form .hs_lastname { width:48% !important; }
@media (max-width:600px){
    .site-footer .hbspt-form .form-columns-2 { flex-direction:column; gap:12px; }
    .site-footer .hbspt-form .hs_firstname, .site-footer .hbspt-form .hs_lastname { width:100% !important; }
}
/* consent + rich text */
.site-footer .hbspt-form .legal-consent-container .hs-richtext,
.site-footer .hbspt-form .hs-richtext { color:#ffffff; font-size:.875rem; line-height:1.4; }
/* errors */
.site-footer .hbspt-form .hs-error-msg, .site-footer .hbspt-form .hs-error-msgs li {
    color:#b81f27; font-size:14px; border:1px solid #b81f27; background:#fff9f9; padding:5px; white-space:nowrap;
}
/* actions */
.actions { display: block !important; }
.site-footer .hbspt-form .actions { margin-top:12px; }
.site-footer .hbspt-form .hs-button { background:#676A6C !important; color:#ffffff !important; border:0 !important; border-radius:0 !important; text-transform:uppercase; font-size:18px !important; width:100% !important; margin:15px 0; padding:15px 0 !important; }
.site-footer .hbspt-form .hs-button:hover { background:#ffffff !important; color:#98C03D !important; }
input.hs-button.primary.large { height: 60px!important; line-height: 30px !important; max-width: 500px; }
fieldset.form-columns-2 { display:flex; justify-content:space-between; }
.footer-privacy-note { max-width: 500px; }