:root{ --color-black: #000;--color-charcoal: #212121;--color-sage: #aabfa9;--color-sage-light: #d5dad4;--color-alto: #e8e8e8;--color-white: #fff;--font-base: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;}
 *, *::before, *::after{ box-sizing: border-box;}
 body{ margin: 0;font-family: var(--font-base);color: var(--color-charcoal);background-color: var(--color-white);line-height: 1.6;}
 img{ max-width: 100%;height: auto;display: block;}
 picture{ display: block;}
 a{ color: inherit;}
 .container{ width: min(1200px, 90vw);margin: 0 auto;}
 .btn{ display: inline-flex;align-items: center;justify-content: center;padding: 0.95rem 2rem;border-radius: 999px;font-weight: 600;text-decoration: none;transition: transform 0.2s ease, box-shadow 0.2s ease;border: none;font-size: 1rem;}
 .btn--dark{ background: var(--color-black);color: var(--color-white);}
 .btn--light{ background: var(--color-white);color: var(--color-black);}
 .btn--pill{ background: var(--color-sage);color: var(--color-black);}
 .btn:hover{ transform: translateY(-2px);box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);}
 .site-header{ position: sticky;top: 0;z-index: 50;background: var(--color-white);box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);}
 .nav-wrapper{ display: flex;align-items: center;justify-content: space-between;gap: 2rem;padding: 1.2rem 5vw;}
 .brand img{ height: 40px;}
 .main-nav{ display: flex;gap: 1.5rem;font-weight: 500;}
 .main-nav a{ text-decoration: none;padding-bottom: 0.2rem;border-bottom: 2px solid transparent;}
 .main-nav a.is-active{ border-color: var(--color-sage);}
 .hero{ display: grid;grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));gap: 2rem;align-items: center;padding: 5rem 0;}
 .hero__media{ border-radius: 32px;overflow: hidden;position: relative;box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1);}
 .hero__content h1{ font-size: clamp(2rem, 4vw, 3.5rem);margin-bottom: 1rem;}
 .hero__content p{ font-size: 1.1rem;margin-bottom: 1.5rem;}
 .section{ padding: 4.5rem 0;}
 .section--muted{ background: var(--color-sage-light);}
 .section__intro{ max-width: 680px;margin-bottom: 2rem;}
 .focus-grid{ display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 1.5rem;grid-auto-rows: 1fr;}
 .focus-card{ padding: 1.75rem;border: 1px solid var(--color-alto);border-radius: 24px;background: var(--color-white);display: flex;flex-direction: column;gap: 0.75rem;box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);height: 100%;}
 .metrics-grid{ display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 1rem;}
 .metric{ padding: 1.5rem;border-radius: 18px;border: 1px solid var(--color-alto);text-align: center;background: var(--color-white);}
 .metric strong{ display: block;font-size: 2rem;margin-bottom: 0.5rem;}
 .testimonial{ background: var(--color-black);color: var(--color-white);border-radius: 32px;padding: 3rem;display: grid;gap: 1rem;}
 .section h2{ font-size: 2rem;margin-bottom: 1rem;}
 .service-list{ display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 2rem;}
 @media (max-width: 980px){ .service-list{ grid-template-columns: 1fr;}
}
 .service-card{ border-radius: 24px;border: 1px solid var(--color-alto);padding: 2rem;background: var(--color-white);}
 .service-card ul{ padding-left: 1.1rem;margin: 1rem 0 0;}
 .contact-card{ border-radius: 24px;border: 1px solid var(--color-alto);padding: 2rem;background: var(--color-white);}
 .contact-details{ list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: 0.5rem;}
 .contact-grid{ display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 1.5rem;}
 .contact-form{ display: grid;gap: 1rem;}
 .contact-form label{ display: flex;flex-direction: column;font-weight: 500;gap: 0.35rem;font-size: 0.95rem;}
 .contact-form input, .contact-form textarea, .contact-form select{ border: 1px solid var(--color-alto);border-radius: 12px;padding: 0.85rem 1rem;font-family: var(--font-base);font-size: 1rem;}
 .form-status{ border-radius: 12px;padding: 0.9rem 1rem;margin-bottom: 1rem;font-size: 0.95rem;}
 .form-status--success{ background: #e7f6ed;color: #1f6b3b;}
 .form-status--error{ background: #fdeceb;color: #a4282f;}
 .form-status ul{ margin: 0.4rem 0 0;padding-left: 1.1rem;}
 .site-footer{ background: var(--color-black);color: var(--color-white);}
 .cta-band{ background: var(--color-charcoal);text-align: center;padding: 3rem 0;}
 .cta-band h2{ margin: 0 0 0.75rem;font-size: 2rem;}
 .footer-main{ padding: 3rem 0;border-top: 1px solid rgba(255, 255, 255, 0.1);border-bottom: 1px solid rgba(255, 255, 255, 0.1);}
 .footer-grid{ display: grid;grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));gap: 2rem;}
 .footer-main a{ color: var(--color-sage-light);text-decoration: none;}
 .footer-main ul{ list-style: none;padding: 0;margin: 0;}
 .footer-main li{ margin-bottom: 0.35rem;}
 .footer-logo{ width: 140px;margin-bottom: 1rem;}
 .footer-social{ display: flex;gap: 0.75rem;}
 .footer-social a{ border: 1px solid var(--color-white);padding: 0.35rem 0.9rem;border-radius: 999px;font-size: 0.85rem;}
 .footer-bottom{ padding: 1.5rem 0;}
 .bottom-bar{ display: flex;justify-content: space-between;align-items: center;}
 .bottom-links{ display: flex;gap: 1rem;}
 .cookie-banner{ position: fixed;bottom: 20px;left: 50%;transform: translateX(-50%);width: min(520px, 90vw);background: var(--color-white);border: 1px solid var(--color-alto);border-radius: 16px;box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);padding: 1.5rem;z-index: 100;}
 .cookie-banner__inner{ display: flex;flex-direction: column;gap: 1rem;}
 .cookie-banner__actions{ display: flex;gap: 1rem;flex-wrap: wrap;}
 .btn--small{ padding: 0.6rem 1.3rem;font-size: 0.9rem;}
 @media (max-width: 768px){ .nav-wrapper{ flex-direction: column;gap: 0.5rem;text-align: center;}
 .main-nav{ flex-wrap: wrap;justify-content: center;}
 .hero{ padding-top: 3rem;}
 .testimonial{ padding: 2rem;}
 .bottom-bar{ flex-direction: column;gap: 0.5rem;}
 .bottom-links{ flex-direction: column;gap: 0.25rem;align-items: center;}
}
 @media (max-width: 980px){ .focus-grid, .metrics-grid, .contact-grid{ grid-template-columns: repeat(2, minmax(0, 1fr));}
}
 @media (max-width: 640px){ .focus-grid, .metrics-grid, .contact-grid{ grid-template-columns: 1fr;}
}