:root{ --font-brand:'Exo 2', var(--font-heading); --color-primary:#FFD000; /* bright honey gold */ --color-secondary:#FFB703; /* warm amber for CTAs */ --color-accent:#FCE96A; /* soft pollen yellow */ --color-dark:#1A1A1A; /* near-black for strong contrast */ --color-light:#ffffff; /* pale cream */ --font-heading:'Fraunces', serif; /* creative, high-contrast serif */ --font-body:'Source Sans 3', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif; } html, body{ height:100%; scroll-behavior:smooth; } body{ font-family:var(--font-body); color:var(--color-dark); background:#fff; } a{ color:var(--color-secondary); } a:hover{ color:#357a38; } .btn-primary{ background:var(--color-secondary); border-color:var(--color-secondary); } .btn-primary:hover{ filter:brightness(0.9); } .navbar-brand{ font-weight:800; font-family:var(--font-heading); letter-spacing:.2px; } .navbar.sticky-top{ box-shadow:0 2px 24px rgba(0,0,0,.06); background:#fff; } .hero{ position:relative; background:radial-gradient(1200px 420px at 10% 10%, rgba(255,193,7,.25), transparent 60%), linear-gradient(180deg, #fff, var(--color-light)); min-height:50vh; display:grid; place-items:center; padding:4rem 1rem; } .hero h1{ font-family:var(--font-heading); font-weight:900; } .hero .badges{ gap:.5rem; } .badge-soft{ background:rgba(76,175,80,.12); color:#2e7d32; border:1px solid rgba(76,175,80,.2); } .badge-amber{ background:rgba(255,193,7,.15); color:#8d6e00; border:1px solid rgba(255,193,7,.25); } .section-title{ font-family:var(--font-heading); font-weight:900; } .card-service svg{ width:44px; height:44px; } .card-service .card-title{ font-weight:700; } .grid-locations a.card{ transition:transform .15s ease, box-shadow .15s ease; } .grid-locations a.card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.08); } .process-step{ border-left:3px solid var(--color-secondary); padding-left:1rem; } .footer{ background:var(--color-dark); color:#eaeaea; } .footer a{ color:#b2dfdb; } .footer .brand{ font-family:var(--font-heading); font-weight:800; } .back-to-top{ position:fixed; right:1rem; bottom:1rem; z-index:1030; display:none; } .back-to-top.show{ display:inline-flex; } .accordion-button:focus{ box-shadow:0 0 0 .25rem rgba(76,175,80,.25); } .accordion-button:not(.collapsed){ color:var(--color-dark); background:rgba(76,175,80,.08); } .form-control:focus{ border-color:var(--color-secondary); box-shadow:0 0 0 .25rem rgba(76,175,80,.25); } .badge-list{ display:flex; flex-wrap:wrap; gap:.5rem; } .badge-list .badge{ font-weight:600; } .small-note{ color:#666; font-size:.95rem; } @media (max-width:576px){ .hero{ padding:3rem 1rem; } } /* --- Custom additions (bee-friendly theming) --- */ .section-bg-nectar{ background:var(--color-light); } .section-bg-honey{ background:rgba(245, 148, 26, .12); } /* soft amber */ .section-bg-clover{ background:rgba(141, 198, 63, .10); } /* soft green */ .section-bg-night{ background:#fff; } .footer-cta .icon-circle{ width:56px; height:56px; border-radius:50%; display:grid; place-items:center; font-size:28px; background:rgba(255,255,255,.65); color:#111; } .pill-black{ display:inline-block; background:#111; color:#fff; padding:.4rem .75rem; border-radius:.35rem; text-decoration:none; } .pill-black:hover{ color:#fff; filter:brightness(1.1); } /* Floating sticky CTA */ .sticky-cta{ position:fixed; right:1rem; bottom:1rem; z-index:1040; display:inline-flex; flex-direction:column; gap:.25rem; } .sticky-cta .btn-cta{ background:var(--color-secondary); border:0; box-shadow:0 10px 22px rgba(0,0,0,.2); } @media (max-width:576px){ .sticky-cta{ right:.75rem; bottom:.75rem; } } /* Nav color adjustments on light backgrounds */ .navbar .navbar-toggler{ border-color:rgba(0,0,0,.1); } .navbar .navbar-toggler-icon{ background-image:var(--bs-navbar-toggler-icon-bg); } /* Sticky CTA pill redesign */ .sticky-cta{ position:fixed; bottom:1rem; left:50%; transform:translateX(-50%); z-index:1050; width:auto; max-width:600px; } .sticky-cta .btn-cta{ display:block; width:100%; border-radius:9999px; font-weight:700; font-size:1.25rem; padding:0.75rem 1.25rem; background:var(--color-primary); color:var(--color-dark); text-align:center; box-shadow:0 8px 20px rgba(0,0,0,.25); } @media (max-width:576px){ .sticky-cta{ width:95%; left:50%; transform:translateX(-50%); } .sticky-cta .btn-cta{ font-size:1rem; padding:0.75rem; } } /* --- Palette refresh & typography tweaks --- */ h1,h2,h3,h4,h5,h6{ font-family:var(--font-heading); letter-spacing:.2px; } .navbar-brand{ font-family:var(--font-heading); font-weight:900; } .hero{ background:linear-gradient(180deg, #fff, var(--color-light)); } .btn-primary{ background:var(--color-secondary); border-color:var(--color-secondary); color:#111; } .btn-primary:hover{ filter:brightness(0.95); color:#111; } .btn-outline-success{ border-color:var(--color-primary); color:#1A1A1A; } .btn-outline-success:hover{ background:var(--color-primary); color:#111; } /* Sticky CTA — pill, centered; mobile ~95vw */ .sticky-cta{ position:fixed; left:50%; transform:translateX(-50%); bottom:1rem; z-index:1040; width:100%; display:grid; place-items:center; pointer-events:none; /* container ignores clicks so button gets them */ } .sticky-cta .btn-cta{ pointer-events:auto; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; width:min(680px, 95vw); background:var(--color-secondary); border-radius:9999px; border:0; padding:.9rem 1.25rem; font-weight:800; box-shadow:0 18px 38px rgba(0,0,0,.2); } .sticky-cta .btn-cta strong{ font-size:1.05rem; } @media (min-width:992px){ .sticky-cta .btn-cta{ width:520px; } } /* Brand wordmark & bee */ .navbar-brand{ display:flex; align-items:center; gap:.5rem; font-family:var(--font-brand); letter-spacing:.5px; } .navbar-brand .brand-bee{ width:22px; height:22px; display:inline-block; } /* WCAG AA contrast fixes for contact/footer */ footer, .footer-contact{ color:#1A1A1A; } .footer-contact a{ color:#1A1A1A; text-decoration:none; font-weight:600; } .footer-contact a:hover{ text-decoration:underline; } /* Align contact buttons */ .footer-contact .contact-options{ display:flex; flex-wrap:wrap; justify-content:center; gap:2rem; margin-top:1.5rem; } .footer-contact .contact-options .contact-box{ display:flex; flex-direction:column; align-items:center; text-align:center; } .footer-contact .contact-options .contact-box .label{ background:#111; color:#fff; padding:.4rem .8rem; border-radius:.5rem; font-weight:700; margin-top:.4rem; } .footer-contact .contact-options .contact-box .sub{ font-size:.9rem; margin-top:.25rem; color:#fff; } /* --- WCAG AA contrast adjustments --- */ .footer-cta{ color:#1A1A1A; } /* dark text on amber */ .footer-cta h2, .footer-cta p, .footer-cta a{ color:#1A1A1A; } .section-bg-honey{ color:#1A1A1A; } .section-bg-honey a{ color:#1A1A1A; text-decoration:underline; } /* Align footer buttons nicely on all sizes */ .cta-items{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1.25rem; max-width:760px; margin:0 auto; } .cta-item{ text-align:center; } .cta-item .pill-black{ min-width:220px; } /* Ensure CTA pill buttons are legible on black background */ .cta-item .pill-black{ color:#ffffff !important; font-weight:600; } .cta-item .pill-black:hover{ color:#FFB703 !important; /* bright bee-yellow on hover */ } 