/* ANDY consultation dock, floating quick assistant and original-inspired mouse star trail.
   Standalone from the archived catalog's quote-panel styles. */
.andy-pointer-ring{position:fixed;left:-100px;top:-100px;z-index:9997;width:21px;height:21px;border:1px solid #376bf3b3;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 16px #5a89ff70;transition:width .16s,height .16s,border .16s,background .16s}
.andy-pointer-ring[hidden]{display:none!important}
.andy-pointer-ring.andy-on-action{width:39px;height:39px;background:#d8ff7725;border-color:#90a65b}
.andy-pointer-spark{position:fixed;left:-100px;top:-100px;z-index:9998;font-size:13px;line-height:1;color:#376bf3;transform:translate(-50%,-50%);pointer-events:none;text-shadow:0 0 9px #669cffaa;animation:andy-spark-away .72s ease-out forwards}
.andy-pointer-spark:nth-of-type(3n){color:#d5ac61;text-shadow:0 0 9px #dba947aa}
.andy-pointer-spark:nth-of-type(4n){color:#72b1d3}
@keyframes andy-spark-away{0%{opacity:.88;transform:translate(-50%,-50%) scale(.6)}35%{opacity:.92;transform:translate(-60%,-72%) scale(1)}100%{opacity:0;transform:translate(-90%,-180%) scale(.15)}}
.andy-with-dock{padding-bottom:var(--andy-dock-height,100px)!important}
.andy-contact-dock{position:fixed;inset:auto 0 0;z-index:21000;box-sizing:border-box;width:100%;max-width:none;max-height:none;margin:0;border:0;border-top:1px solid #65ac8766;background:#20382c;color:#fff;box-shadow:0 -9px 35px #102e242a;padding:12px max(26px,calc((100% - 1350px)/2));padding-bottom:calc(12px + env(safe-area-inset-bottom));isolation:isolate;overflow:visible}
.andy-contact-dock[hidden]{display:none!important}
.andy-dock-form{display:grid;grid-template-columns:minmax(195px,1.08fr) minmax(100px,.55fr) minmax(155px,.78fr) minmax(188px,1.15fr) minmax(166px,.85fr);align-items:center;gap:14px;min-width:0;margin:0}
.andy-dock-heading{font-size:clamp(15px,1.25vw,19px);line-height:1.4;font-weight:850;letter-spacing:-.055em;white-space:nowrap}
.andy-dock-heading span{color:#d8ff77}
.andy-dock-form label{display:flex;flex-direction:column;min-width:0;gap:5px;color:#bed8c7;font-size:11px;line-height:1.3;font-weight:700}
.andy-dock-form input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #5b786a;background:#fff;color:#16251c;border-radius:4px;padding:8px 11px;min-height:41px;font-size:14px;font-weight:500;line-height:1.3;font-family:inherit}
.andy-dock-form input::placeholder{color:#86938a}
.andy-dock-submit{align-self:end;border:1px solid #c4f76d;border-radius:4px;background:#d6ff83;color:#143020;min-height:41px;padding:9px 10px;font-size:13px;font-weight:800;font-family:inherit;white-space:nowrap;cursor:pointer;transition:background .2s}
.andy-dock-submit:hover{background:#bafb53}
.andy-help-toggle{position:fixed;right:24px;bottom:calc(var(--andy-dock-height,0px) + 22px);z-index:22000;min-width:148px;min-height:58px;border:1px solid #7cc19f;border-radius:50px;background:#11291f;color:#f4fff6;display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;box-shadow:0 11px 29px #00190b48;cursor:pointer;font-size:14px;font-weight:800;font-family:inherit;transition:transform .18s,background .18s}
.andy-help-toggle svg{width:23px;height:23px;flex:none}
.andy-help-toggle:hover,.andy-help-toggle[aria-expanded="true"]{background:#29563e;transform:translateY(-2px)}
.andy-help-popover{position:fixed;inset:auto 24px calc(var(--andy-dock-height,0px) + 94px) auto;margin:0;z-index:22100;width:min(385px,calc(100vw - 32px));max-height:calc(100dvh - var(--andy-dock-height,0px) - 120px);overflow-y:auto;border:1px solid #c7decf;background:#fff;color:#132b1b;box-shadow:0 20px 70px #0b211e4a;border-radius:20px;padding:25px}
.andy-help-popover:not([open]){display:none}
.andy-help-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e3eee5;padding-bottom:14px}
.andy-help-head span{font:800 11px Arial,sans-serif;letter-spacing:.13em;color:#407456}
.andy-help-head button{border:0;background:#f0f5ef;border-radius:50%;font-size:21px;width:30px;height:30px;cursor:pointer}
.andy-help-popover h2{margin:22px 0 11px;font-size:24px;letter-spacing:-.055em;line-height:1.3}
.andy-help-popover>p{font-size:13px;line-height:1.8;color:#61776a;margin:0 0 19px}
.andy-help-option{display:grid;grid-template-columns:1fr 20px;gap:5px 8px;width:100%;min-height:69px;text-align:left;align-items:center;margin:9px 0;padding:13px 14px;border:1px solid #d3e3d8;border-radius:11px;background:#f8fcf9;color:#1d3b2a;text-decoration:none;cursor:pointer;font-family:inherit}
.andy-help-option:hover{background:#edf9ec;border-color:#7eba8b}
.andy-help-option strong{grid-column:1;font-size:14px;font-weight:850}
.andy-help-option small{grid-column:1;font-size:12px;color:#698172;line-height:1.5}
.andy-help-option>span{grid-column:2;grid-row:1/3;font-size:20px}
.andy-help-popover .andy-help-foot{margin:16px 0 0;color:#829086;font-size:11px}
.andy-contact-modal{padding:0;border:1px solid #b4d5c0;border-radius:17px;width:min(650px,calc(100vw - 34px));max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff;color:#163321;box-shadow:0 30px 100px #051d1466}
.andy-contact-modal::backdrop{background:#0418109c}
.andy-contact-modal[open]{display:block}
.andy-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:29px 32px 25px;border-bottom:1px solid #dce9dc;background:linear-gradient(115deg,#f1f9f0,#e9f6ed)}
.andy-modal-head p{font:800 10px/1.6 Arial,sans-serif;letter-spacing:.14em;margin:0 0 9px;color:#357652}
.andy-modal-head h2{font-size:clamp(24px,3.6vw,34px);letter-spacing:-.06em;line-height:1.25;margin:0 0 12px;color:#152b1e}
.andy-modal-head span{font-size:13px;line-height:1.6;color:#5d7463}
.andy-modal-close{width:35px;height:35px;border:0;border-radius:50%;background:#e0ebe0;color:#274533;font-size:24px;flex:none;cursor:pointer}
.andy-modal-status{margin:0;padding:13px 32px;color:#486450;background:#fafdfa;font-size:12px;line-height:1.75;border-bottom:1px solid #eef3ec}
.andy-modal-status[data-kind="error"]{color:#8a3639;background:#fff1ee}
.andy-modal-status[data-kind="preview"]{color:#6a592d;background:#fff7dd}
.andy-modal-status[data-kind="success"]{color:#205739;background:#e9f8ee}
.andy-contact-form{padding:26px 32px 32px;min-width:0}
.andy-contact-form[hidden]{display:none!important}
.andy-contact-form .andy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px;min-width:0}
.andy-contact-form .andy-fields>label{display:flex;flex-direction:column;gap:8px;min-width:0;color:#21382b;font-size:13px;font-weight:760;line-height:1.5}
.andy-contact-form b,.andy-consent b{color:#bd414a}
.andy-contact-form .andy-full{grid-column:1/-1}
.andy-contact-form :is(input,select,textarea){box-sizing:border-box;width:100%;min-width:0;padding:13px 14px;background:#f7faf7;color:#18321e;border:1px solid #cbdacf;border-radius:5px;font-size:15px;font-weight:500;line-height:1.5;font-family:inherit}
.andy-contact-form :is(input,select,textarea):focus-visible,.andy-dock-form input:focus-visible{outline:3px solid #54b77d;outline-offset:1px}
.andy-contact-form textarea{resize:vertical;min-height:88px}
.andy-consent{display:flex;align-items:flex-start;gap:10px;margin-top:23px;color:#253c2b;line-height:1.8;font-size:13px;cursor:pointer}
.andy-consent input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:#287248}
.andy-privacy{margin:9px 0 22px 28px;color:#668070;font-size:12px;line-height:1.8}
.andy-privacy summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.andy-privacy p{margin:10px 0 0;line-height:1.9}
.andy-trap{position:absolute!important;left:-9999px!important;top:-9999px!important;opacity:0;pointer-events:none}
.andy-modal-submit{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:55px;width:100%;padding:13px 17px;background:#163a29;color:white;border:1px solid #163a29;border-radius:5px;font-size:15px;font-weight:830;font-family:inherit;cursor:pointer}
.andy-modal-submit:hover:not(:disabled){background:#296447}
.andy-modal-submit:disabled{background:#93a79b;border-color:#93a79b;cursor:not-allowed}
.andy-modal-subtext{font-size:12px;color:#718075;line-height:1.75;margin:12px 0 0}
.andy-confirm{padding:28px 32px 40px;background:#ecf9f0;font-weight:790;line-height:1.9;color:#2e7045}
.andy-confirm[hidden]{display:none!important}
.andy-consult-open .andy-contact-dock,.andy-consult-open .andy-help-toggle{visibility:hidden}
@media(max-width:1100px){
 .andy-contact-dock{padding:11px 22px;padding-bottom:calc(11px + env(safe-area-inset-bottom))}
}
@media(max-width:600px){
 .andy-contact-dock{padding:9px 13px;padding-bottom:calc(9px + env(safe-area-inset-bottom))}
 .andy-help-toggle{min-width:120px;min-height:49px;padding:11px 15px;right:14px;bottom:calc(var(--andy-dock-height,0px) + 15px);font-size:13px}
 .andy-help-toggle svg{width:21px;height:21px}
 .andy-help-popover{right:12px;bottom:calc(var(--andy-dock-height,0px) + 74px);width:min(365px,calc(100vw - 24px));padding:21px;max-height:calc(100dvh - var(--andy-dock-height,0px) - 88px)}
 .andy-modal-head{padding:21px 20px 20px}.andy-modal-status{padding:12px 20px}
 .andy-contact-form{padding:20px}.andy-contact-form .andy-fields{grid-template-columns:1fr;gap:12px}
 .andy-modal-head h2{font-size:27px}
 .andy-help-popover h2{font-size:22px}
}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.andy-pointer-ring,.andy-pointer-spark{display:none!important}}
@media(prefers-reduced-motion:reduce){.andy-pointer-ring,.andy-help-toggle,.andy-help-option{animation:none!important;transition:none!important}}

.andy-new-inquiry{margin:0 32px 24px;padding:12px 18px;border:1px solid #246141;border-radius:5px;color:#1a4b2c;background:#fff;font-family:inherit;font-size:14px;font-weight:800;cursor:pointer}
.andy-new-inquiry[hidden]{display:none!important}
@media(max-width:600px){.andy-new-inquiry{margin:0 20px 20px}}

/* Layering fallback for older browsers; popover-capable browsers paint the dock in the top layer. */
.andy-contact-dock:popover-open{display:block;inset:auto 0 0;width:100%;margin:0;padding-top:12px}
.andy-contact-dock::backdrop{display:none}
.andy-contact-dock .andy-dock-form{position:relative;z-index:1}
.andy-contact-dock :is(input,button,a){position:relative;z-index:2;pointer-events:auto}
@media(max-width:1100px){.andy-contact-dock:popover-open{padding-top:11px}}
@media(max-width:600px){.andy-contact-dock:popover-open{padding-top:9px}}

/* One centered consultation group at every width; the persistent bar has no dismiss UI. */
.andy-contact-dock,.andy-contact-dock:popover-open{padding:8px 24px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
.andy-dock-inner{width:min(1220px,100%);margin-inline:auto;min-width:0}
.andy-dock-form{display:grid;grid-template-columns:auto minmax(100px,.65fr) minmax(155px,.95fr) minmax(180px,1.3fr) auto;gap:12px;align-items:center;width:100%}
.andy-dock-heading{font-size:16px;line-height:1.5;white-space:nowrap}
.andy-dock-form label{position:relative;gap:0}
.andy-dock-form label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.andy-dock-form input{min-height:42px;margin:0}
.andy-dock-submit{min-height:42px;align-self:center;padding:9px 16px}
@media(max-width:1100px){.andy-dock-form{grid-template-columns:minmax(100px,.7fr) minmax(150px,1fr) minmax(170px,1.2fr) auto;gap:9px}.andy-dock-heading{grid-column:1/-1;text-align:center;font-size:15px}.andy-dock-submit{padding-inline:12px}}
@media(max-width:600px){.andy-contact-dock,.andy-contact-dock:popover-open{padding:8px 14px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.andy-dock-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 8px}.andy-dock-heading{font-size:14px;line-height:1.4}.andy-dock-form input{min-height:38px;font-size:13px;padding:8px 10px}.andy-dock-submit{min-height:38px;font-size:12px;padding:8px 6px}}
