/* Compact contact dock: reveal details on hover or keyboard focus. */
.gami-contact-dock{position:fixed;left:18px;bottom:calc(26px + env(safe-area-inset-bottom));z-index:80;display:grid;justify-items:start;gap:16px;font-family:inherit}
.gami-contact-dock>a{--contact-rgb:22,116,245;position:relative;isolation:isolate;box-sizing:border-box;display:flex;align-items:center;width:50px;height:50px;padding:7px;border:1px solid #ffffff8c;border-radius:28px;background:linear-gradient(135deg,#268bff,#075bd8);color:#fff;text-decoration:none;box-shadow:0 6px 18px rgba(var(--contact-rgb),.28);transition:width .38s cubic-bezier(.2,.8,.2,1),box-shadow .3s,transform .3s;animation:gami-contact-glow 3.6s ease-in-out infinite}
.gami-contact-dock>a.gami-hotline{--contact-rgb:248,120,29;background:linear-gradient(135deg,#ff9b3e,#f06a16);animation-delay:1.8s}
.gami-contact-dock>a::before{content:"";position:absolute;inset:-5px;border:1px solid rgba(var(--contact-rgb),.4);border-radius:inherit;pointer-events:none;animation:gami-contact-ring 3.6s ease-out infinite}
.gami-contact-dock>a.gami-hotline::before{animation-delay:1.8s}
.gami-contact-dock>a::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,#ffffff40 48%,transparent 61%);background-size:300% 100%;background-position:150% 0;pointer-events:none;animation:gami-contact-shine 6s ease-in-out infinite}
.gami-contact-dock>a.gami-hotline::after{animation-delay:2s}
.gami-contact-icon{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#ffffff20;font-size:10px;font-weight:800;position:relative;z-index:1;transition:background .25s}
.gami-contact-icon svg{width:20px;height:20px;transform-origin:50% 20%;animation:gami-phone-ring 5s ease-in-out infinite}
.gami-contact-label{flex:0 0 auto;box-sizing:border-box;display:block;width:0;max-height:36px;overflow:hidden;white-space:nowrap;opacity:0;transform:translateX(-6px);font-size:11px;font-weight:700;line-height:1.55;transition:width .38s cubic-bezier(.2,.8,.2,1),opacity .2s,transform .3s;margin-left:0}
.gami-contact-label small{display:block;font-size:10px;font-weight:500;opacity:.9}
.gami-contact-dock>a:is(:hover,:focus-visible){width:168px;transform:translateY(-2px);box-shadow:0 9px 28px rgba(var(--contact-rgb),.35);animation:none}
.gami-contact-dock>a:is(:hover,:focus-visible) .gami-contact-label{width:108px;opacity:1;transform:none;padding-left:10px}
.gami-contact-dock>a:is(:hover,:focus-visible) .gami-contact-icon{background:#ffffff32}
.gami-contact-dock>a:focus-visible{outline:3px solid rgba(var(--contact-rgb),.4);outline-offset:5px}
@keyframes gami-contact-glow{0%,100%{box-shadow:0 6px 18px rgba(var(--contact-rgb),.24)}50%{box-shadow:0 6px 25px rgba(var(--contact-rgb),.4),0 0 0 4px rgba(var(--contact-rgb),.06)}}
@keyframes gami-contact-ring{0%,25%{opacity:0;transform:scale(.9)}35%{opacity:.65}75%,100%{opacity:0;transform:scale(1.22)}}
@keyframes gami-contact-shine{0%,65%{background-position:150% 0}85%,100%{background-position:-100% 0}}
@keyframes gami-phone-ring{0%,65%,100%{transform:rotate(0)}69%,77%{transform:rotate(-15deg)}73%,81%{transform:rotate(14deg)}85%{transform:rotate(0)}}
@media(hover:none){.gami-contact-dock>a:hover:not(:focus-visible){width:50px;transform:none}.gami-contact-dock>a:hover:not(:focus-visible) .gami-contact-label{width:0;padding-left:0;opacity:0}}
@media(prefers-reduced-motion:reduce){.gami-contact-dock>a,.gami-contact-dock>a::before,.gami-contact-dock>a::after,.gami-contact-icon svg{animation:none!important}.gami-contact-dock>a,.gami-contact-label,.gami-contact-icon{transition:none!important}}
.gami-consult-dialog{box-sizing:border-box;width:min(570px,calc(100% - 32px));max-height:90dvh;margin:auto;padding:30px;border:1px solid #ede5ff;border-radius:24px;background:radial-gradient(ellipse at 100% 0,#fff0e4,transparent 42%),#fff;color:#25163d;font-family:inherit;box-shadow:0 30px 100px #16082e40;overflow:auto}.gami-consult-dialog::backdrop{background:#130a2eb3;backdrop-filter:blur(6px)}.gami-consult-dialog[open]{animation:gami-modal-in .25s ease-out}.gami-consult-close{position:absolute;right:14px;top:14px;width:32px;height:32px;border:0;border-radius:50%;background:#f0eaf8;color:#4a3067;cursor:pointer;font-size:23px}.gami-consult-head>span{font-size:9px;letter-spacing:1.8px;color:#8455c2;font-weight:700}.gami-consult-head h2{font-size:26px;line-height:1.35;letter-spacing:-.8px;margin:14px 24px 10px 0;font-weight:750}.gami-consult-head h2 em{color:#f07822;font-style:normal}.gami-consult-head p{font-size:12px;line-height:1.7;color:#766a87;margin:0 0 22px}.gami-consult-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gami-consult-grid label{display:grid;gap:6px;font-size:11px;font-weight:600}.gami-consult-grid input,.gami-consult-grid select,.gami-consult-grid textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #e5dfed;border-radius:10px;background:#fbf9fe;padding:11px 12px;color:#352544;font-size:12px;line-height:1.5;font-weight:400;font-family:inherit;outline:none}.gami-consult-grid input:focus,.gami-consult-grid select:focus,.gami-consult-grid textarea:focus{border-color:#9760e3;box-shadow:0 0 0 3px #9158d712}.gami-consult-grid textarea{resize:vertical}.gami-full{grid-column:1/-1}.gami-consult-submit{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 17px;border:0;border-radius:12px;background:linear-gradient(110deg,#7136d1,#9c59e3);color:white;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 6px 20px #8443d92b}.gami-consult-submit:disabled{opacity:.6;cursor:wait}.gami-consult-note{font-size:9px;line-height:1.7;text-align:center;color:#897b98;margin:12px 0 0}.gami-consult-error{font-size:11px;color:#b92948;line-height:1.5}.gami-trap{position:absolute;left:-9999px}.gami-consult-success{text-align:center;padding:12px 0}.gami-consult-success>span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#ecf8ef;color:#258448;margin:auto;font-size:25px}.gami-consult-success h3{font-size:20px}.gami-consult-success p{font-size:12px;line-height:1.8;color:#766a87}.gami-consult-success a,.gami-consult-success button{display:inline-block;padding:12px 18px;border:0;border-radius:10px;background:#763bd3;color:#fff;text-decoration:none;font:inherit;font-size:12px;cursor:pointer;margin:6px}.gami-consult-success button{background:#f1ecf7;color:#654c7e}.gami-consult-dialog [hidden]{display:none!important}html.gami-modal-open{overflow:hidden}@keyframes gami-modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:600px){.gami-contact-dock{left:10px;bottom:calc(16px + env(safe-area-inset-bottom));gap:8px}.gami-consult-dialog{padding:24px 20px;border-radius:20px}.gami-consult-head h2{font-size:23px}.gami-consult-grid{grid-template-columns:1fr;gap:12px}.gami-consult-grid input,.gami-consult-grid select,.gami-consult-grid textarea{font-size:16px}.gami-consult-head p{margin-bottom:18px}}@media(prefers-reduced-motion:reduce){.gami-consult-dialog[open]{animation:none}.gami-contact-dock>a{transition:none}}
/* Isolate shared dialog spacing from each page's paragraph and form resets. */
#gamiConsultDialog{font-family:var(--font-main);line-height:1.6;text-align:left;letter-spacing:normal;box-sizing:border-box}
#gamiConsultDialog *,#gamiConsultDialog *::before,#gamiConsultDialog *::after{box-sizing:border-box}
#gamiConsultDialog .gami-consult-head h2{margin:14px 24px 10px 0;padding:0;font-size:26px;line-height:1.35;letter-spacing:-.025em;text-transform:none;color:#25163d}
#gamiConsultDialog .gami-consult-head p{margin:0 0 22px;font-size:12px;line-height:1.7;color:#766a87}
#gamiConsultDialog #gamiConsultForm{display:block;margin:0;padding:0;width:100%;background:none;border:0;box-shadow:none}
#gamiConsultDialog .gami-consult-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
#gamiConsultDialog .gami-consult-grid label{display:grid;gap:6px;margin:0;min-width:0;font-size:12px;line-height:1.5;font-weight:600;color:#352544}
#gamiConsultDialog .gami-consult-grid :is(input,select,textarea){display:block;margin:0;width:100%;max-width:100%;font-family:var(--font-main);font-size:13px;line-height:1.6;letter-spacing:normal;text-transform:none}
#gamiConsultDialog .gami-consult-grid textarea{min-height:90px;resize:vertical}
#gamiConsultDialog #gamiConsultError{margin:12px 0 0;padding:0;font-size:12px;line-height:1.6;color:#b92948}
#gamiConsultDialog #gamiConsultError:empty{display:none}
#gamiConsultDialog .gami-consult-submit{display:flex;position:relative;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;height:auto;margin:16px 0 0;padding:12px 17px;border:0;border-radius:12px;background:linear-gradient(110deg,#7136d1,#9c59e3);color:#fff;font-family:var(--font-main);font-size:13px;font-weight:700;line-height:1.6;letter-spacing:normal;text-align:left;text-transform:none;white-space:normal;box-shadow:0 6px 20px #8443d92b}
#gamiConsultDialog .gami-consult-note{display:block;margin:12px 0 0;padding:0;font-size:10px;font-weight:400;line-height:1.7;text-align:center;color:#897b98}
@media(max-width:600px){#gamiConsultDialog .gami-consult-head h2{font-size:23px}#gamiConsultDialog .gami-consult-grid{grid-template-columns:minmax(0,1fr);gap:12px}#gamiConsultDialog .gami-consult-grid :is(input,select,textarea){font-size:16px}}
