/* Footer and newsletter, scoped to keep the page's existing design intact. */
.site-footer{position:relative;isolation:isolate;padding-top:0;background:#003f32;color:#fff;overflow:hidden}
.site-footer::before{content:'';position:absolute;z-index:-1;width:700px;height:700px;border:1px solid #ffffff0d;border-radius:50%;inset-inline-end:-400px;bottom:-460px;box-shadow:0 0 0 90px #ffffff03,0 0 0 180px #ffffff03;pointer-events:none}
.newsletter-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:52px;align-items:center;padding:48px 0;border-bottom:1px solid #ffffff26}
.newsletter-copy{display:flex;align-items:flex-start;gap:20px}.newsletter-icon{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;border:1px solid #cbae7060;border-radius:16px;color:#e6c381;background:#ffffff06}.newsletter-icon svg{width:32px;height:32px}
.newsletter-copy .eyebrow{color:#e6c381;font-size:12px;margin-bottom:10px}.newsletter-copy h2{font-size:clamp(23px,2.1vw,30px);font-weight:750;line-height:1.6;margin-bottom:10px}.newsletter-copy>div>p:last-child{font-size:13px;color:#c4d6cd;max-width:380px}
.newsletter-form label{display:block;margin-bottom:9px;color:#fff;font-size:13px}.newsletter-field{display:flex;gap:5px;border:1px solid #ffffff50;border-radius:8px;padding:5px;background:#fff}.newsletter-field input{min-width:0;flex:1;width:100%;border:0;background:transparent;color:#202c28;padding:12px;font-size:14px;border-radius:4px;margin:0}.newsletter-field button{display:flex;align-items:center;justify-content:center;gap:18px;flex-shrink:0;background:#e6c381;color:#143e32;border:0;border-radius:4px;padding:10px 18px;font-weight:700;font-size:13px;transition:background .2s}.newsletter-field button:hover{background:#efd39f}.newsletter-field button span{font-size:22px}.newsletter-form #newsletter-note{font-size:11px;color:#c4d6cd;margin-top:10px;line-height:1.9}.newsletter-status{font-size:12px;color:#f3dba5;line-height:1.8}.newsletter-status:not(:empty){padding-top:8px}
.site-footer .footer-main{grid-template-columns:1.35fr 1fr .8fr 1.1fr;gap:46px;padding-block:58px 48px}.site-footer .footer-logo{display:inline-block;padding:0;background:transparent;border-radius:0}.site-footer .footer-brand img{width:210px;margin:0;filter:brightness(0) invert(1)}.site-footer .footer-brand>p{color:#c4d6cd;font-size:13px;margin-top:20px;line-height:2}.social-links{display:flex;gap:10px;margin-top:22px}.social-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff38;background:#ffffff06;border-radius:50%;color:#e6c381}.social-icon svg{width:19px;height:19px}.social-icon:disabled{cursor:default;opacity:.8}.site-footer .footer-brand .social-note{font-size:10px;color:#b8cfc3;margin-top:9px}
.site-footer .footer-column h3{font-size:15px;font-weight:700;margin:9px 0 24px;color:#fff}.footer-column a{display:block;font-size:13px;color:#c4d6cd;padding-block:7px;transition:color .2s,transform .2s}.site-footer .footer-main a:hover{color:#f3dba5}.footer-column a:hover{transform:translateX(-3px)}.footer-contact-label{color:#e6c381;font-size:12px;margin:9px 0 12px}.site-footer .footer-contact h3{font-size:27px;line-height:1.6;margin:0 0 12px}.footer-contact h3 span{color:#e6c381}.footer-contact>p:not(.footer-contact-label){font-size:12px;color:#c4d6cd}.site-footer .footer-contact .footer-consult{display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:13px;border-bottom:1px solid #bda56d80;padding-block:16px;margin:0 0 18px}.footer-consult span{font-size:24px;color:#e6c381}.footer-location{display:flex;gap:8px;align-items:center;color:#c4d6cd;font-size:10px}.footer-location svg{width:18px;height:18px;flex-shrink:0;color:#e6c381}
.site-footer .footer-bottom{border-color:#ffffff26;color:#b8cfc3;justify-content:space-between;gap:20px;padding-block:22px;font-size:11px}.footer-legal{display:flex;gap:24px}.site-footer .footer-bottom button{color:#c4d6cd;font-size:11px;min-height:44px;padding:0}.footer-top-link{display:flex;gap:14px;align-items:center;min-height:44px;color:#e6c381}.footer-top-link span{font-size:20px}.site-footer :is(a,button,input):focus-visible{outline-color:#e6c381;outline-offset:4px}
@media(min-width:761px) and (max-width:1100px){.newsletter-panel{gap:28px;grid-template-columns:1fr 1fr}.newsletter-icon{display:none}.site-footer .footer-main{grid-template-columns:1.3fr 1fr;gap:35px 60px}.site-footer .footer-brand img{width:220px}}
@media(max-width:760px){.newsletter-panel{grid-template-columns:1fr;gap:26px;padding-block:36px}.newsletter-copy{gap:14px}.newsletter-icon{width:44px;height:44px;border-radius:12px}.newsletter-icon svg{width:27px}.newsletter-copy h2{font-size:24px}.newsletter-copy>div>p:last-child{font-size:12px}.site-footer .footer-main{grid-template-columns:1fr 1fr;gap:32px 20px;padding-block:36px}.site-footer .footer-brand{grid-column:1/-1}.site-footer .footer-brand img{width:215px}.site-footer .footer-brand>p{max-width:360px}.site-footer .footer-contact{grid-column:1/-1;border-top:1px solid #ffffff26;padding-top:24px}.site-footer .footer-column h3{margin-bottom:12px}.footer-column a{font-size:12px;min-height:44px}.site-footer .footer-bottom{padding-bottom:70px;gap:10px 20px}.site-footer .footer-bottom>span{width:100%}.footer-legal{gap:20px}.newsletter-field input{font-size:16px;padding:10px 6px}.newsletter-field button{padding:10px 12px;font-size:12px;gap:8px}}
@media(max-width:380px){.newsletter-copy h2{font-size:21px}.newsletter-icon{display:none}.newsletter-field{flex-direction:column}.newsletter-field button{min-height:44px}.footer-column a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.footer-column a,.newsletter-field button{transition:none}}

/* Ivory newsletter card: explicit form reset avoids inherited white-form/white-label conflicts. */
.site-footer{padding-top:40px}
.newsletter-panel{padding:36px;border:1px solid #e4dac5;border-radius:16px;background:#f7f4ed;color:#202c28;gap:36px}
.newsletter-copy{gap:16px}.newsletter-icon{background:#e8ede5;border-color:#a7b5a6;color:#00513f}.newsletter-copy .eyebrow{color:#00513f}.newsletter-copy h2{color:#003f32}.newsletter-copy>div>p{color:#46574d;font-size:14px;line-height:1.95}
.newsletter-topics{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:18px 0 0}.newsletter-topics li{padding:4px 10px;border:1px solid #bdc8b9;border-radius:5px;font-size:11px;font-weight:600;color:#254b39;background:#eaf0e8}
.site-footer .newsletter-form{padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;min-width:0}.newsletter-form label{color:#203e30;font-size:14px;font-weight:700}.newsletter-field{border-color:#718276;padding:6px;gap:8px;box-shadow:0 5px 20px #003f3208}.newsletter-field:focus-within{outline:2px solid #00513f;outline-offset:3px}.newsletter-field input{min-height:48px;color:#202c28;font-size:16px}.newsletter-field input::placeholder{color:#59665f;opacity:1}.newsletter-field button{background:#00513f;color:#fff;padding-inline:20px;min-height:48px}.newsletter-field button:hover{background:#003f32}.newsletter-form #newsletter-note{color:#46574d;font-size:12px;margin-top:14px}.newsletter-status{color:#00513f;font-weight:600;font-size:13px}.newsletter-panel :is(input,button):focus-visible{outline-color:#00513f}.newsletter-status:not(:empty){margin-top:12px;padding:12px;background:#e7eee4;border-inline-start:3px solid #00513f;border-radius:4px}
.office-section{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:60px;padding-block:48px;border-bottom:1px solid #ffffff38}.office-copy .eyebrow{color:#e6c381}.office-copy h2{font-size:32px;font-weight:750;color:#fff}.office-copy>p:not(.eyebrow){font-size:14px;line-height:2;color:#dfebe4;max-width:420px;margin-top:16px}.office-address{display:flex;gap:12px;align-items:flex-start;margin-top:24px}.office-address svg{width:24px;height:24px;flex-shrink:0;color:#e6c381}.office-address strong{display:block;font-size:13px;font-weight:650}.office-address small{display:block;color:#d2dfd7;font-size:12px;margin-top:6px}.office-cta{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid #e6c381;color:#f1d59e;min-height:48px;margin-top:16px;font-size:14px;font-weight:650}.office-cta span{font-size:24px}
.office-map{border:1px solid #769187;border-radius:12px;overflow:hidden;background:#eaf0e8;min-width:0}.map-placeholder{min-height:290px;padding:28px;text-align:center;color:#203e30;background:linear-gradient(135deg,#f7f4ed,#e0eadf)}.map-placeholder>svg{width:44px;height:44px;color:#00513f;margin-bottom:10px}.map-placeholder h3{font-size:20px}.map-placeholder p{font-size:12px;margin-top:8px;color:#46574d}.map-placeholder button{display:inline-flex;gap:16px;align-items:center;min-height:44px;border:0;border-radius:6px;padding:10px 20px;background:#00513f;color:#fff;margin-top:18px;font-size:13px;font-weight:650}.map-placeholder>small{display:block;font-size:11px;color:#46574d;margin-top:12px}.office-map iframe{display:block;width:100%;height:310px;border:0;background:#eaf0e8}.map-external{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;min-height:48px;background:#f7f4ed;color:#00513f;font-size:12px;font-weight:650}.map-placeholder[hidden],.office-map iframe[hidden],.map-placeholder button[hidden]{display:none}
.site-footer .footer-brand>p,.footer-column a,.footer-contact>p:not(.footer-contact-label),.footer-location{color:#dbe7df}.site-footer .footer-brand .social-note{color:#d0dfd5;font-size:12px}.site-footer .footer-bottom,.site-footer .footer-bottom button{color:#d0dfd5;font-size:12px}
@media(max-width:1100px){.newsletter-panel{grid-template-columns:1fr;gap:26px}.newsletter-copy>div>p{max-width:650px}.newsletter-icon{display:grid}.office-section{gap:30px}.newsletter-form{max-width:650px;width:100%}}
@media(max-width:760px){.site-footer{padding-top:24px}.newsletter-panel{padding:24px 20px;gap:24px;border-radius:12px}.newsletter-copy h2{font-size:24px}.newsletter-copy>div>p{font-size:13px}.newsletter-copy{display:block}.newsletter-icon{margin-bottom:18px}.newsletter-field{flex-direction:column;padding:8px;gap:8px}.newsletter-field button{justify-content:space-between;padding-inline:16px;font-size:14px;width:100%}.newsletter-field input{width:100%;padding-inline:10px}.newsletter-form #newsletter-note{font-size:12px}.office-section{grid-template-columns:1fr;gap:26px;padding-block:36px}.office-copy h2{font-size:28px}.map-placeholder{padding:24px 18px}.office-map iframe{height:290px}.map-external{font-size:11px}.newsletter-topics{gap:6px}.newsletter-topics li{font-size:10px}}

/* Office location belongs to the consultation/contact details, not the footer. */
.consultation .contact-office{display:block;padding:24px 0 0;margin-top:24px;border-top:1px solid #cbd4c9;border-bottom:0}
.contact-office .office-copy h3{color:#003f32;font-size:20px;font-weight:700;line-height:1.6}
.contact-office .office-address{margin:14px 0 20px;color:#202c28}
.contact-office .office-address svg{color:#00513f}
.contact-office .office-address small{color:#46574d}
.contact-office .office-map{border-color:#a9b8ac}
.contact-office .map-placeholder{min-height:240px;padding:22px 18px}
.contact-office .map-placeholder h3{font-size:18px}
.contact-office .office-map iframe{height:270px}
@media(max-width:760px){.consultation .contact-office{padding-top:20px;margin-top:20px}.contact-office .map-placeholder{min-height:230px}.contact-office .office-map iframe{height:250px}}

/* Compact newsletter strip. */
.site-footer .newsletter-panel{grid-template-columns:1.1fr 1fr;gap:28px;padding:22px 26px;border-radius:12px}
.newsletter-copy{align-items:center;gap:14px}
.newsletter-icon{width:42px;height:42px;border-radius:10px;margin:0}
.newsletter-icon svg{width:25px;height:25px}
.newsletter-copy .eyebrow,.newsletter-topics{display:none}
.newsletter-copy h2{font-size:22px;margin-bottom:4px;line-height:1.5}
.newsletter-copy>div>p{font-size:12px;line-height:1.7;margin:0}
.newsletter-form label{font-size:12px;margin-bottom:5px}
.newsletter-field{padding:4px;gap:6px}
.newsletter-field input{min-height:44px;padding:8px 10px}
.newsletter-field button{min-height:44px;padding:8px 14px;font-size:12px}
.newsletter-form #newsletter-note{font-size:11px;margin-top:6px;line-height:1.6}
@media(max-width:900px){.site-footer .newsletter-panel{grid-template-columns:1fr;gap:16px;padding:20px}.newsletter-copy{display:flex}.newsletter-copy h2{font-size:21px}.newsletter-form{max-width:none}}
@media(max-width:760px){.site-footer .newsletter-panel{padding:18px;gap:14px}.newsletter-copy h2{font-size:20px}.newsletter-copy>div>p{font-size:11px}.newsletter-field{flex-direction:row}.newsletter-field button{width:auto;flex-shrink:0;gap:8px}.newsletter-icon{flex-shrink:0;width:38px;height:38px}.newsletter-form #newsletter-note{font-size:10px}}
@media(max-width:380px){.newsletter-copy h2{font-size:18px}.newsletter-icon{display:none}.newsletter-field button{padding-inline:10px;font-size:11px}}
