/* Shared responsive, accessibility and spacing layer */
:root{font-synthesis:none;font-optical-sizing:auto}
.container{width:min(var(--content-max),calc(100% - clamp(32px,6vw,80px)))}
.section{padding-block:var(--section-space)}
.page-hero{padding-block:clamp(42px,6vw,76px)}
.page-intro{max-width:72ch;font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.8}
.content-grid{gap:clamp(14px,2vw,24px)}
.content-card{height:100%;padding:clamp(20px,2.4vw,30px);border-radius:var(--radius-lg)}
.content-card h2,.content-card h3{line-height:1.3}
.button,.menu-toggle,.primary-nav>a,.nav-mega>summary,.footer-col>a,.footer-links a,.social-links a,.pagination a{min-height:44px}
.button{padding:12px 20px;line-height:1.25}
.button-primary{background:var(--brand);color:#14220E!important}
.button-primary:hover{background:#A3D46C}
.button-outline{border-color:#CBD5E1}
.text-link,.home-text-link,.sitemap-grid a,.contact-details a{color:#47751D}
.primary-nav>a:hover,.primary-nav>a:focus-visible{color:#47751D}
.site-form{gap:16px;padding:clamp(18px,2.5vw,28px)}
.site-form input,.site-form select,.site-form textarea{min-height:48px;font-size:16px}
.site-form textarea{min-height:132px}
.site-form input:focus-visible,.site-form select:focus-visible,.site-form textarea:focus-visible{border-color:#47751D;outline:3px solid #B8D69A;outline-offset:1px}
.faq-list{gap:12px}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:16px 20px;line-height:1.45}
.faq-item summary:focus-visible{position:relative;z-index:1}
.faq-answer{padding:0 20px 18px}
.site-footer{padding-block:clamp(42px,6vw,64px) calc(20px + var(--safe-bottom))}
.footer-grid{gap:clamp(20px,3vw,36px)}
.footer-col>a,.footer-links a,.social-links a{line-height:1.35}
.floating-whatsapp{bottom:calc(78px + var(--safe-bottom));right:max(16px,env(safe-area-inset-right,0px))}
.sticky-join{bottom:calc(16px + var(--safe-bottom));left:max(16px,env(safe-area-inset-left,0px))}
table{max-width:100%;border-collapse:collapse}
.table-scroll,.comparison-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
pre,code{max-width:100%;overflow-wrap:anywhere}
:where(p,li,dd,td,th){overflow-wrap:break-word}
:where(a,button,input,select,textarea,summary){touch-action:manipulation}
@media(max-width:800px){.container{width:calc(100% - 36px)}.page-hero{padding-block:42px 34px}.section{padding-block:clamp(42px,7vw,58px)}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout{grid-template-columns:1fr}.site-header{padding-top:0}.primary-nav{padding:16px 20px calc(20px + var(--safe-bottom))}}
@media(max-width:560px){.container{width:calc(100% - 32px)}.content-grid,.footer-grid,.sitemap-grid{grid-template-columns:1fr}.page-intro{font-size:1rem}.cta-actions{flex-direction:column;align-items:stretch}.cta-actions .button{width:100%}.footer-bottom{flex-direction:column}.floating-whatsapp{width:48px;height:48px;right:14px;bottom:calc(76px + var(--safe-bottom))}.sticky-join{left:14px;bottom:calc(14px + var(--safe-bottom));min-height:46px;padding:10px 14px}.button{white-space:normal;text-align:center}.breadcrumbs{flex-wrap:wrap}.contact-layout{gap:22px}}
@media(min-width:1400px){.container{width:min(1280px,calc(100% - 96px))}}

/* Keep fixed conversion controls clear of the footer content on compact screens. */
@media(max-width:560px){.site-footer{padding-bottom:calc(104px + var(--safe-bottom))}}
@supports (container-type:inline-size){.content-card,.home-audience-card,.home-measure-card{container-type:inline-size}.home-audience-card h3{font-size:clamp(1.2rem,6cqi,1.7rem)}@container (max-width:360px){.home-audience-card{padding:20px}.home-audience-card li{font-size:.9rem}}}

/* Global footer system: clear hierarchy, consistent spacing and adaptive columns. */
.footer-navigation{display:grid;grid-template-columns:minmax(230px,1.65fr) repeat(4,minmax(130px,1fr));align-items:start;gap:clamp(22px,3vw,42px)}
.footer-brand{min-width:0}
.footer-brand>p{max-width:38ch;line-height:1.75}
.footer-logo{display:inline-flex;align-items:center;min-height:52px;margin-bottom:14px}
.footer-logo img{display:block;width:min(180px,100%);height:auto;object-fit:contain}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.footer-col h2,.footer-newsletter h2{margin:0 0 10px;font-size:1rem;line-height:1.35;color:#fff}
.footer-col>a{display:inline-flex;align-items:center;min-height:38px;padding-block:6px;color:#d1d9e3;text-decoration:none}
.footer-col>a:hover,.footer-col>a:focus-visible,.footer-links a:hover{color:var(--brand-light);text-decoration:underline;text-underline-offset:4px}
.footer-newsletter{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}
.footer-newsletter>p{margin:0 0 12px;color:#cbd5e1;line-height:1.6}
.footer-newsletter .site-form{padding:0;background:transparent;border:0;box-shadow:none}
.footer-subscribe-row{display:flex;gap:8px;align-items:stretch}
.footer-subscribe-row input{min-width:0;width:100%;min-height:46px;padding:10px 12px;border:1px solid #64748b;border-radius:10px;background:#fff;color:#0f172a;font:inherit}
.footer-subscribe-row .button{flex:0 0 auto;min-height:46px;padding:10px 14px}
.footer-legal{margin-top:clamp(28px,4vw,48px);padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}
.footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;line-height:1.6;color:#cbd5e1}
.footer-bottom span{max-width:70ch}
@media(max-width:1100px){.footer-navigation{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:span 3}.footer-brand>p{max-width:60ch}.footer-newsletter{max-width:560px}}
@media(max-width:700px){.footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.footer-brand{grid-column:1/-1}.footer-col{gap:3px}.footer-col>a{min-height:42px}}
@media(max-width:480px){.footer-navigation{grid-template-columns:1fr;gap:22px}.footer-brand{grid-column:auto}.footer-subscribe-row{flex-direction:column}.footer-subscribe-row .button{width:100%}.footer-bottom{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){.footer-col>a{scroll-behavior:auto}}

/* Premium enquiry and newsletter form states */
.site-form{display:flex;flex-direction:column;gap:18px;padding:clamp(20px,3vw,30px);border:1px solid #e2e8f0;border-radius:24px;background:linear-gradient(155deg,#fff,#fbfdf8);box-shadow:0 16px 44px rgba(15,23,42,.07)}.site-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.site-form .form-group{display:flex;flex-direction:column;gap:8px;min-width:0}.site-form label{font-size:.94rem;font-weight:700;color:#182235}.site-form .field-optional{font-size:.82rem;font-weight:500;color:#64748b}.site-form input,.site-form select,.site-form textarea{width:100%;min-height:54px;padding:13px 16px;border:1px solid #dce3eb;border-radius:13px;background:#fff;color:#111827;font:inherit;font-size:16px;transition:border-color .18s,box-shadow .18s}.site-form textarea{min-height:156px;resize:vertical}.site-form input:focus,.site-form select:focus,.site-form textarea:focus{outline:0;border-color:#79ad3d;box-shadow:0 0 0 4px rgba(139,195,74,.17)}.site-form .form-submit{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:13px;font-size:1rem;font-weight:800;box-shadow:0 8px 20px rgba(107,155,46,.2)}.site-form .form-submit:disabled{opacity:.78;cursor:wait}.site-form .submit-arrow{font-size:1.25rem}.site-form .form-feedback{display:flex;align-items:flex-start;gap:13px;padding:17px;border:1px solid #dce8d1;border-radius:16px;background:#f5faef;color:#29451a}.site-form .form-feedback[hidden]{display:none}.site-form .feedback-mark{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:#6b9b2e;color:#fff;font-size:1.1rem;font-weight:900}.site-form .feedback-copy{display:flex;flex-direction:column;gap:3px;line-height:1.5}.site-form .feedback-copy strong{font-size:.98rem;color:#1c3510}.site-form .feedback-copy>span{font-size:.9rem;color:#4f6245}.site-form .form-feedback.is-pending{background:#f3f7fb;border-color:#d8e2ef}.site-form .form-feedback.is-pending .feedback-mark{background:#64748b}.site-form .form-feedback.is-error{background:#fff5f4;border-color:#f2cbc6;color:#8d2f25}.site-form .form-feedback.is-error .feedback-mark{background:#c24132}.form-assurance{margin:-5px 0 0;text-align:center;color:#788394;font-size:.8rem}.honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.site-form.is-success .form-group,.site-form.is-success .form-row,.site-form.is-success .form-assurance{display:none}.footer-newsletter .site-form{gap:12px}.footer-newsletter .site-form .form-feedback{margin-top:4px;padding:13px;border-radius:13px}@media(max-width:640px){.site-form .form-row{grid-template-columns:1fr}.site-form{padding:20px;border-radius:20px}.site-form textarea{min-height:140px}}
.site-form.is-success .footer-subscribe-row{display:none}

/* Newsletter confirmation: clear, accessible and visually distinct */
.footer-newsletter .site-form{display:block;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.footer-newsletter .site-form .footer-subscribe-row{display:flex;gap:10px;align-items:stretch}
.footer-newsletter .site-form .footer-subscribe-row input{flex:1;min-width:0;min-height:50px;padding:12px 15px;border:1px solid #aab7c7;border-radius:12px;background:#fff;color:#172033;font-size:16px}
.footer-newsletter .site-form .footer-subscribe-row input:focus{outline:0;border-color:#91c84b;box-shadow:0 0 0 4px rgba(145,200,75,.2)}
.footer-newsletter .site-form .footer-subscribe-row button{min-height:50px;padding:11px 20px;border:0;border-radius:12px;font-weight:750;white-space:nowrap}
.footer-newsletter .site-form .footer-subscribe-row button:disabled{opacity:.75;cursor:wait}
.footer-newsletter .site-form .form-feedback{display:flex;align-items:flex-start;gap:13px;margin:14px 0 0;padding:17px;border:1px solid rgba(151,205,92,.5);border-radius:16px;background:linear-gradient(135deg,rgba(139,195,74,.18),rgba(139,195,74,.07));color:#f4f9ed;box-shadow:0 8px 26px rgba(0,0,0,.12);animation:newsletter-confirm-in .32s ease-out both}
.footer-newsletter .site-form .form-feedback[hidden]{display:none}
.footer-newsletter .site-form .feedback-mark{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#8bc34a;color:#14230a;font-size:19px;font-weight:900}
.footer-newsletter .site-form .feedback-copy{display:flex;flex-direction:column;gap:4px;line-height:1.5}
.footer-newsletter .site-form .feedback-copy strong{color:#fff;font-size:1rem;font-weight:800}
.footer-newsletter .site-form .feedback-copy>span{color:#e0e9d8;font-size:.9rem}
.footer-newsletter .site-form .form-feedback.is-pending{border-color:rgba(148,163,184,.45);background:rgba(148,163,184,.12)}
.footer-newsletter .site-form .form-feedback.is-pending .feedback-mark{background:#cbd5e1;color:#1e293b}
.footer-newsletter .site-form .form-feedback.is-error{border-color:rgba(248,113,113,.5);background:rgba(127,29,29,.22)}
.footer-newsletter .site-form .form-feedback.is-error .feedback-mark{background:#f87171;color:#450a0a}
.footer-newsletter .site-form.is-success .footer-subscribe-row{display:none}
@keyframes newsletter-confirm-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.footer-newsletter .site-form .footer-subscribe-row{flex-direction:column}.footer-newsletter .site-form .footer-subscribe-row button{width:100%}}
@media(prefers-reduced-motion:reduce){.footer-newsletter .site-form .form-feedback{animation:none}}

/* International contact details and enquiry routing */
.contact-layout{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.5fr);gap:clamp(24px,4vw,48px);align-items:start}
.contact-details,.contact-form-panel{min-width:0}
.contact-details{padding:clamp(20px,3vw,28px);border:1px solid #e2e8f0;border-radius:22px;background:#f8fbf4}
.contact-details h2,.contact-form-panel h2{margin-top:0}
.contact-response-note,.field-hint{font-size:.86rem;line-height:1.55;color:#64748b}
.contact-response-note{margin-top:22px;padding-top:16px;border-top:1px solid #dce7d3}
.international-phone{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr);gap:9px}
.international-phone select,.international-phone input{min-width:0;width:100%;min-height:54px;padding:12px;border:1px solid #dce3eb;border-radius:12px;background:#fff;color:#111827;font:inherit;font-size:16px}
.international-phone select:focus,.international-phone input:focus{outline:0;border-color:#79ad3d;box-shadow:0 0 0 4px rgba(139,195,74,.17)}
.site-form .field-hint{margin:0;font-weight:400}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr}.contact-details{order:2}.contact-form-panel{order:1}}
@media(max-width:560px){.international-phone{grid-template-columns:1fr}.international-phone select,.international-phone input{min-height:52px}}

.contact-form-panel .iti{width:100%;display:block}.contact-form-panel .iti__tel-input{width:100%;min-height:54px;padding-top:13px;padding-bottom:13px;border:1px solid #dce3eb;border-radius:13px;background:#fff;color:#111827;font:inherit;font-size:16px}.contact-form-panel .iti__tel-input:focus{outline:0;border-color:#79ad3d;box-shadow:0 0 0 4px rgba(139,195,74,.17)}.contact-form-panel .iti__country-container{z-index:5}.contact-form-panel .iti__dropdown-content{z-index:30;border:1px solid #dce3eb;border-radius:14px;box-shadow:0 16px 36px rgba(15,23,42,.16)}.contact-form-panel .iti__search-input{min-height:44px;padding:10px 12px;border:1px solid #dce3eb;border-radius:9px;font:inherit}.contact-form-panel .iti__country-list{max-height:260px}.contact-form-panel .iti__selected-country{border-radius:10px 0 0 10px}.contact-form-panel .iti__selected-country-primary{padding-inline:12px}.contact-form-panel .iti__selected-dial-code{font-weight:700;color:#243247}@media(max-width:560px){.contact-form-panel .iti__dropdown-content{max-width:calc(100vw - 48px)}}


/* Contact form: clean country search and discreet inline mandatory-field errors. */
.contact-form-panel .iti__dropdown-content{padding:10px;background:#fff}
.contact-form-panel .iti__search-input{
  display:block;box-sizing:border-box;width:100%;min-width:0;height:46px;min-height:46px;
  margin:0 0 8px;padding:10px 14px 10px 42px;border:1px solid #d5dde7;border-radius:10px;
  background:#fff;color:#172033;font-family:inherit;font-size:16px;font-weight:400;
  line-height:1.4;letter-spacing:normal;text-align:left;text-indent:0;
  appearance:none;-webkit-appearance:none;caret-color:#47751d;
  box-shadow:none;outline:none;
}
.contact-form-panel .iti__search-input::placeholder{color:#687586;opacity:1;text-indent:0}
.contact-form-panel .iti__search-input:focus{border-color:#79ad3d;outline:2px solid rgba(139,195,74,.2);outline-offset:1px;box-shadow:none}
.site-form .form-group input[aria-invalid="true"],
.site-form .form-group select[aria-invalid="true"],
.site-form .form-group textarea[aria-invalid="true"],
.contact-form-panel .iti__tel-input[aria-invalid="true"]{
  border-color:#d93025!important;box-shadow:0 0 0 2px rgba(217,48,37,.1)!important;
}
.ah-field-error-message{display:flex;align-items:center;gap:8px;margin-top:2px;color:#b42318;font-size:.86rem;font-weight:600;line-height:1.45}
.ah-field-error-icon{display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:#d93025;color:#fff;font-size:12px;font-weight:800;line-height:1}
@media(max-width:560px){.contact-form-panel .iti__dropdown-content{padding:12px;max-width:100vw;border-radius:16px}.contact-form-panel .iti__search-input{height:48px;min-height:48px;padding-left:44px;font-size:16px}.contact-form-panel .iti__country-list{max-height:min(58vh,420px)}}

/* Contact phone selector: align with shared form controls and keep the country picker usable on mobile. */
.contact-form-panel .iti{display:block;width:100%;max-width:100%;box-sizing:border-box}
.contact-form-panel .iti *{box-sizing:border-box}
.contact-form-panel .iti input.iti__tel-input{display:block;width:100%;min-width:0;min-height:50px;height:50px;padding-top:12px;padding-bottom:12px;padding-right:13px;border:1px solid #dce3eb;border-radius:12px;background:#fff;color:#111827;font:inherit;font-size:16px}
.contact-form-panel .iti input.iti__tel-input:focus{outline:0;border-color:#79ad3d;box-shadow:0 0 0 4px rgba(139,195,74,.17)}
.contact-form-panel .iti__country-container{z-index:5}
.contact-form-panel .iti__dropdown-content{z-index:2147482000;max-width:min(100vw,420px);border:1px solid #dce3eb;border-radius:14px;background:#fff;box-shadow:0 16px 36px rgba(15,23,42,.16)}
.contact-form-panel .iti__search-input{display:block;width:100%;min-width:0;min-height:46px;height:46px;margin:0 0 8px;padding:10px 13px;border:1px solid #d5dde7;border-radius:10px;background:#fff;color:#172033;font:inherit;font-size:16px;line-height:1.4;outline:none}
.contact-form-panel .iti__search-input::placeholder{color:#687586;opacity:1}
.contact-form-panel .iti__search-input:focus{border-color:#79ad3d;outline:2px solid rgba(139,195,74,.2);outline-offset:1px}
.contact-form-panel .iti__country-list{max-height:min(58vh,420px);overflow-y:auto;overscroll-behavior:contain}
.contact-form-panel .iti__country{min-height:44px;display:flex;align-items:center;padding-block:8px}
.contact-form-panel .iti__country-name{min-width:0}
.contact-form-panel .iti__dial-code{margin-left:auto;padding-left:10px}
@media(max-width:560px){.contact-form-panel .iti__dropdown-content{max-width:calc(100vw - 32px);max-height:72vh}.contact-form-panel .iti__country-list{max-height:calc(72vh - 72px)}}
