/* Shared enquiry and navigation behaviour. Scoped to lf-* to support WordPress embedding. */
[hidden]{display:none!important}:focus-visible{outline:2px solid var(--lf-accent,#203939);outline-offset:4px}body[data-motion="paused"] *{animation-play-state:paused!important}html:has(dialog[open]){overflow:hidden}
.lf-dialog{--lf-ink:#182525;box-sizing:border-box;width:min(600px,calc(100% - 32px));max-height:90dvh;padding:36px;border:0;background:#fff;color:var(--lf-ink);box-shadow:0 24px 100px #0004;font-family:var(--lf-font,Arial,sans-serif)}.lf-dialog::backdrop{background:#061817a6;backdrop-filter:blur(5px)}.lf-dialog *{box-sizing:border-box}.lf-dialog h2{font-family:inherit;font-size:29px;line-height:1.15;letter-spacing:-.7px;font-weight:400;margin:12px 35px 12px 0}.lf-dialog p{font-size:14px;line-height:1.5}.lf-dialog .lf-context{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;color:var(--lf-accent,#234747)}.lf-dialog .lf-close{position:absolute;right:18px;top:15px;width:44px;height:44px;background:transparent;border:0;font-size:28px;cursor:pointer;color:inherit}.lf-form{display:grid;gap:14px;margin-top:22px}.lf-form label{display:grid;gap:6px;font-size:12px;line-height:1.4}.lf-form input,.lf-form select,.lf-form textarea{font:inherit;font-size:16px;width:100%;min-width:0;height:44px;border:1px solid #cbd2d1;background:#fff;border-radius:0;padding:10px 12px;color:#182525}.lf-form textarea{height:68px;resize:vertical}.lf-phone{display:grid;grid-template-columns:135px 1fr;gap:8px}.lf-form .lf-consent{display:flex;gap:10px;align-items:flex-start;font-size:11px;color:#54615d}.lf-form input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:var(--lf-accent,#234747)}.lf-form button[type=submit]{min-height:48px;background:var(--lf-accent,#234747);color:#fff;border:0;font-size:12px;text-transform:uppercase;letter-spacing:1px;cursor:pointer}.lf-form [role=status]{margin:0;font-size:13px;line-height:1.5}.lf-form [aria-invalid=true]{border-color:#a72725}.lf-dialog .lf-form-note{font-size:11px;color:#65716c}.lf-dock{position:fixed;inset:auto 0 0;z-index:60;display:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:8px;background:#fffffff5;border-top:1px solid #dce0dc;box-shadow:0 -4px 20px #1825250a;font-family:var(--lf-font,Arial,sans-serif)}.lf-dock a,.lf-dock button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;flex:1;font:inherit;font-size:12px;font-weight:600;text-decoration:none;border:1px solid var(--lf-accent,#234747);border-radius:0;color:var(--lf-accent,#234747);background:#fff;cursor:pointer}.lf-dock button{color:#fff;background:var(--lf-accent,#234747)}.lf-dock svg{width:20px;height:20px;fill:none;stroke:currentColor}.lf-reveal{transition:opacity .7s ease,transform .7s ease}.lf-reveal.lf-wait{opacity:0;transform:translateY(22px)}
@media(max-width:900px){.lf-dock{display:flex}.lf-dialog{padding:28px 24px}.lf-dialog h2{font-size:25px}.lf-form{gap:11px}.lf-dialog .lf-form-note{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.lf-reveal.lf-wait{opacity:1;transform:none}}

.lf-dialog[open] ~ .lf-dock{display:none}

.hero-bottom:has(>button:only-child),.sv-hero-foot:has(>button:only-child){justify-content:flex-end}

.lf-direct-contact{border-top:1px solid #d7e1d8;margin-top:20px;padding-top:18px}.lf-direct-contact .lf-whatsapp-contact{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 14px;border:1px solid #c5d7c9;background:#f1f7f2;color:#24563b;text-decoration:none;font-family:var(--lf-font,Arial,sans-serif);font-size:12px;line-height:1.5}.lf-whatsapp-contact svg{width:20px;height:20px;fill:none;stroke:currentColor;flex-shrink:0}.lf-whatsapp-contact svg:last-child{margin-left:auto;width:16px;height:16px}.lf-whatsapp-contact:hover{background:#e7f1e9}

.lf-form .lf-consent a,.rail-consent a,.sv-consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Local copies of the campaign legal pages, accessible from footer and consent. */
body button.lf-legal-trigger{display:inline;background:none;border:0;border-radius:0;padding:0;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;text-transform:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
body footer button.lf-legal-trigger{padding-block:8px}
body .lf-legal-dialog{box-sizing:border-box;width:min(780px,calc(100% - 32px));max-height:88dvh;padding:0;border:0;background:#fff;color:#223332;box-shadow:0 24px 100px #0004;font-family:var(--lf-font,Arial,sans-serif);overflow:hidden}
body .lf-legal-dialog[open]{display:flex;flex-direction:column}
.lf-legal-dialog::backdrop{background:#071b20a6;backdrop-filter:blur(5px)}
body .lf-legal-dialog .lf-legal-header{position:relative;flex-shrink:0;padding:27px 76px 25px 34px;border-bottom:1px solid #dbe0dd;background:#f6f7f3}
body .lf-legal-dialog .lf-legal-header h2{margin:0;font-family:var(--lf-font,Arial,sans-serif);font-size:25px;font-weight:400;line-height:1.25;letter-spacing:-.4px;text-transform:none}
body .lf-legal-dialog .lf-legal-close{position:absolute;right:16px;top:18px;width:44px;height:44px;padding:0;background:transparent;color:inherit;border:0;font:inherit;font-size:28px;cursor:pointer}
body .lf-legal-dialog .lf-legal-back{display:block;padding:0;margin:0 0 12px;border:0;background:transparent;color:inherit;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
body .lf-legal-dialog .lf-legal-content{padding:28px 34px 38px;min-height:0;overflow-y:auto;overscroll-behavior:contain;font-size:14px;line-height:1.75;overflow-wrap:anywhere}
body .lf-legal-dialog .lf-legal-content p{font:inherit;margin:0 0 16px;max-width:none;letter-spacing:normal}
body .lf-legal-dialog .lf-legal-content h2,body .lf-legal-dialog .lf-legal-content h3,body .lf-legal-dialog .lf-legal-content h4{font-family:inherit;font-size:19px;font-weight:500;line-height:1.4;letter-spacing:normal;text-transform:none;margin:28px 0 12px}
body .lf-legal-dialog .lf-legal-content h3{font-size:16px}
body .lf-legal-dialog .lf-legal-content h4{font-size:15px}
body .lf-legal-dialog .lf-legal-content ul,body .lf-legal-dialog .lf-legal-content ol{padding-left:22px;margin:0 0 20px;list-style-position:outside}
body .lf-legal-dialog .lf-legal-content ul{list-style-type:disc}
body .lf-legal-dialog .lf-legal-content li{padding:0 0 8px;margin:0;font:inherit}
body .lf-legal-dialog .lf-legal-content hr{border:0;border-top:1px solid #dbe0dd;margin:24px 0}
body .lf-legal-dialog .lf-legal-content a{color:inherit;text-decoration:underline}
body:has(.lf-legal-dialog[open]) .lf-dock{display:none}
@media(max-width:600px){body .lf-legal-dialog{width:calc(100% - 24px);max-height:90dvh}body .lf-legal-dialog .lf-legal-header{padding:24px 62px 22px 22px}body .lf-legal-dialog .lf-legal-header h2{font-size:22px}body .lf-legal-dialog .lf-legal-close{right:8px;top:16px}body .lf-legal-dialog .lf-legal-content{padding:22px 22px 30px;font-size:14px}}

/* Motion consumes no frames while its media or the page is out of view. */
body[data-page-hidden="true"] *,[data-motion-media][data-motion-visible="false"],[data-motion-media][data-motion-visible="false"] *{animation-play-state:paused!important}

/* Quiet icon controls; names remain available to assistive technology. */
body button[data-motion-toggle],body button[data-gallery-play]{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;flex-shrink:0}body button[data-motion-toggle] svg,body button[data-gallery-play] svg{width:19px;height:19px;fill:none;stroke:currentColor}

/* A fixed close header and one scroll area keep every field reachable. */
body .lf-dialog,body .lf-legal-dialog{
 position:fixed;inset:auto;margin:0;
 top:calc(var(--lf-modal-top,0px) + var(--lf-modal-height,100dvh)/2);left:50%;
 transform:translate(-50%,-50%);width:min(680px,calc(100% - 48px));max-width:none;
 max-height:calc(var(--lf-modal-height,100dvh) - 48px);padding:0;overflow:hidden;
}
body .lf-dialog[open]{display:flex;flex-direction:column}
body .lf-dialog .lf-dialog-header{
 display:flex;align-items:center;gap:16px;flex-shrink:0;
 padding:12px 20px 12px 32px;border-bottom:1px solid #dbe0dd;background:#fff;
}
body .lf-dialog .lf-context{margin:0;max-width:none;font-size:10px;line-height:1.5;letter-spacing:1.25px}
body .lf-dialog .lf-close{position:static;flex:0 0 44px;margin-left:auto;padding:0;line-height:1}
body .lf-dialog .lf-dialog-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;scroll-padding-block:16px;padding:24px 32px 32px}
body .lf-dialog .lf-dialog-scroll h2{font-size:28px;line-height:1.18;margin:0 0 12px;overflow-wrap:anywhere}
body .lf-dialog [data-request-copy]{margin:0;font-size:13px;line-height:1.5}
body .lf-dialog .lf-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin-top:22px}
body .lf-dialog .lf-form>label:has(textarea),body .lf-dialog .lf-consent,body .lf-dialog .lf-form>button,body .lf-dialog .lf-form>[role=status]{grid-column:1/-1}
body .lf-dialog .lf-form label{min-width:0}
body .lf-dialog .lf-form input,body .lf-dialog .lf-form select,body .lf-dialog .lf-form textarea{font-family:var(--lf-font,Arial,sans-serif);font-size:16px}
body .lf-dialog .lf-phone{grid-template-columns:115px minmax(0,1fr);gap:8px}
body .lf-dialog .lf-phone select{padding-inline:8px}
body .lf-dialog .lf-form textarea{height:64px;min-height:48px;max-height:160px}
body .lf-dialog .lf-consent{margin:0;line-height:1.5;min-height:44px;align-items:center}
body .lf-dialog .lf-form [role=status]:empty{display:none}
body .lf-legal-dialog{width:min(780px,calc(100% - 48px))}
body .lf-legal-dialog .lf-legal-content{scroll-padding-block:16px}
@media(max-width:600px){
 body .lf-dialog,body .lf-legal-dialog{top:var(--lf-modal-top,0px);left:0;transform:none;width:100%;height:var(--lf-modal-height,100dvh);max-height:var(--lf-modal-height,100dvh)}
 body .lf-dialog .lf-dialog-header{padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left));gap:10px}
 body .lf-dialog .lf-dialog-scroll{padding:22px max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));flex:1}
 body .lf-dialog .lf-dialog-scroll h2{font-size:25px}
 body .lf-dialog .lf-form{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:22px}
 body .lf-dialog .lf-phone{grid-template-columns:125px minmax(0,1fr)}
 body .lf-dialog .lf-form input,body .lf-dialog .lf-form select{height:46px}
 body .lf-dialog .lf-form input[type=checkbox]{height:18px;width:18px;flex-basis:18px}
 body .lf-legal-dialog .lf-legal-header{padding:calc(22px + env(safe-area-inset-top)) 66px 22px max(20px,env(safe-area-inset-left))}
 body .lf-legal-dialog .lf-legal-close{top:calc(12px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}
 body .lf-legal-dialog .lf-legal-content{padding:22px max(20px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));flex:1}
}
