:root{--doti-magenta:#e43cff;--doti-violet:#8d5cff;--doti-cyan:#6ed6ff;--doti-deep:#061326}
.doti-inline{appearance:none;cursor:pointer;font:inherit}.doti-inline-mark{position:relative;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--doti-magenta),var(--doti-violet) 58%,var(--doti-cyan));box-shadow:0 0 0 5px rgba(228,60,255,.1),0 0 24px rgba(228,60,255,.34)}
.doti-inline-mark:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;right:-5px;top:1px;background:var(--doti-cyan)}
.doti-signature{display:inline-flex;align-items:center;gap:9px;margin-top:16px;color:#b9c8d5;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.doti-signature .doti-inline-mark{width:16px;height:16px}.doti-signature strong{color:#fff}
.doti-launcher{position:fixed;z-index:1205;right:24px;bottom:26px;display:flex;align-items:center;gap:12px;appearance:none;border:1px solid rgba(174,214,245,.22);border-radius:999px;padding:9px 14px 9px 9px;color:#fff;background:rgba(5,19,37,.94);box-shadow:0 18px 54px rgba(0,0,0,.45),0 0 34px rgba(228,60,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font:inherit;cursor:pointer;transition:transform .2s,border-color .2s}
.doti-launcher:hover,.doti-launcher:focus-visible{transform:translateY(-2px);border-color:rgba(228,60,255,.62)}.doti-launcher-orb{position:relative;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ff8dff 0 7%,var(--doti-magenta) 22%,var(--doti-violet) 67%,#392b93 100%);box-shadow:0 0 0 6px rgba(228,60,255,.08),0 0 30px rgba(228,60,255,.38)}
.doti-launcher-orb:before,.doti-launcher-orb:after{content:"";position:absolute;border:1px solid rgba(110,214,255,.48);border-radius:50%;inset:-7px;animation:doti-wave 2.8s ease-out infinite}.doti-launcher-orb:after{inset:-14px;opacity:.45;animation-delay:.85s}.doti-launcher-dot{position:absolute;width:6px;height:6px;border-radius:50%;right:-2px;top:3px;background:var(--doti-cyan);box-shadow:0 0 12px var(--doti-cyan)}
.doti-launcher-copy{text-align:left}.doti-launcher-copy strong,.doti-launcher-copy span{display:block}.doti-launcher-copy strong{font-size:.86rem;letter-spacing:.02em}.doti-launcher-copy span{color:#9db0c1;font-size:.66rem}
@keyframes doti-wave{0%{transform:scale(.78);opacity:.75}75%,100%{transform:scale(1.2);opacity:0}}
.doti-overlay{position:fixed;z-index:1300;inset:0;display:grid;place-items:center;padding:22px;background:rgba(0,7,16,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .24s,visibility .24s}.doti-overlay.is-open{opacity:1;visibility:visible}.doti-panel{position:relative;width:min(920px,100%);max-height:min(850px,calc(100svh - 44px));overflow:auto;border:1px solid rgba(143,203,245,.24);border-radius:30px;color:#f7fbff;background:linear-gradient(145deg,rgba(8,30,56,.99),rgba(3,14,29,.99));box-shadow:0 38px 100px rgba(0,0,0,.58),0 0 60px rgba(228,60,255,.08);scrollbar-width:thin;scrollbar-color:#964fff #07182c}
.doti-panel:before{content:"";position:absolute;pointer-events:none;width:480px;height:480px;right:-240px;top:-280px;border-radius:50%;border:1px solid rgba(228,60,255,.17);box-shadow:0 0 0 65px rgba(228,60,255,.018),0 0 0 130px rgba(110,214,255,.012)}
.doti-panel-head{position:sticky;z-index:4;top:0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;border-bottom:1px solid rgba(143,203,245,.14);background:rgba(5,21,41,.92);backdrop-filter:blur(16px)}.doti-brand{display:flex;align-items:center;gap:13px}.doti-brand .doti-launcher-orb{width:40px;height:40px}.doti-brand strong,.doti-brand span{display:block}.doti-brand strong{font-size:1rem}.doti-brand span{color:#91a7ba;font-size:.7rem}.doti-close{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(143,203,245,.16);border-radius:13px;color:#fff;background:rgba(255,255,255,.04);font-size:1.4rem;cursor:pointer}
.doti-body{position:relative;z-index:1;padding:30px}.doti-kicker{color:var(--doti-cyan);font-size:.68rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.doti-title{max-width:680px;margin:10px 0 12px;font-size:clamp(2rem,5vw,4rem);line-height:.98;letter-spacing:-.045em}.doti-intro{max-width:690px;color:#b3c4d3;font-size:1rem}.doti-privacy{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;padding:13px 15px;border:1px solid rgba(110,214,255,.13);border-radius:15px;background:rgba(110,214,255,.045);color:#aabfce;font-size:.75rem}.doti-privacy svg{flex:none;width:17px;margin-top:1px;color:var(--doti-cyan)}
.doti-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.doti-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:1px solid rgba(143,203,245,.2);border-radius:14px;color:#fff;background:rgba(255,255,255,.045);font:inherit;font-size:.8rem;font-weight:850;cursor:pointer;text-decoration:none}.doti-btn-primary{border-color:transparent;color:#071426;background:linear-gradient(110deg,#fff,#d9f1ff)}.doti-btn-magenta{border-color:transparent;background:linear-gradient(110deg,#b83bfa,#5379ef)}.doti-btn:hover{transform:translateY(-1px)}
.doti-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 26px}.doti-step{height:4px;border-radius:999px;background:rgba(255,255,255,.08)}.doti-step.is-active{background:linear-gradient(90deg,var(--doti-magenta),var(--doti-cyan))}.doti-section-title{margin:0 0 6px;font-size:1.4rem;letter-spacing:-.025em}.doti-section-copy{margin:0 0 22px;color:#9eb2c3;font-size:.84rem}
.doti-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.doti-field{display:flex;flex-direction:column;gap:7px}.doti-field-wide{grid-column:1/-1}.doti-field label,.doti-group-label{color:#c7d6e2;font-size:.72rem;font-weight:780}.doti-field input,.doti-field select{width:100%;height:50px;border:1px solid rgba(143,203,245,.17);border-radius:14px;outline:0;padding:0 14px;color:#fff;background:#091f39;font:inherit;font-size:.86rem}.doti-field input::placeholder{color:#71879a}.doti-field input:focus,.doti-field select:focus{border-color:var(--doti-cyan);box-shadow:0 0 0 3px rgba(110,214,255,.08)}.doti-field select option{color:#fff;background:#091f39}
.doti-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.doti-choice{position:relative}.doti-choice input{position:absolute;opacity:0;pointer-events:none}.doti-choice span{min-height:52px;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(143,203,245,.15);border-radius:14px;color:#b7c8d6;background:rgba(255,255,255,.025);font-size:.8rem;cursor:pointer}.doti-choice span:before{content:"";width:10px;height:10px;flex:none;border-radius:50%;border:2px solid #68859b}.doti-choice input:checked+span{border-color:rgba(228,60,255,.58);color:#fff;background:rgba(228,60,255,.08)}.doti-choice input:checked+span:before{border-color:var(--doti-magenta);background:var(--doti-magenta);box-shadow:0 0 0 4px rgba(228,60,255,.12)}
.doti-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.doti-summary-item{min-height:80px;padding:14px;border:1px solid rgba(143,203,245,.14);border-radius:15px;background:rgba(255,255,255,.025)}.doti-summary-item span,.doti-summary-item strong{display:block}.doti-summary-item span{color:#8198ab;font-size:.65rem;text-transform:uppercase;letter-spacing:.09em}.doti-summary-item strong{margin-top:5px;font-size:.86rem;overflow-wrap:anywhere}.doti-services-summary{grid-column:1/-1}.doti-contact-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.doti-contact-card{min-height:82px;display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(143,203,245,.16);border-radius:16px;color:#fff;background:rgba(255,255,255,.035);text-decoration:none}.doti-contact-card:hover{border-color:rgba(35,196,131,.7);background:rgba(35,196,131,.08)}.doti-wa{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:13px;color:#061426;background:#25d366}.doti-contact-card span,.doti-contact-card strong{display:block}.doti-contact-card span{color:#91a7ba;font-size:.67rem}.doti-contact-card strong{font-size:.83rem}.doti-error{display:none;margin:13px 0 0;color:#ffafb6;font-size:.76rem}.doti-error.is-visible{display:block}
body.doti-open{overflow:hidden}
@media(max-width:900px){.doti-launcher{right:18px;bottom:94px;padding:7px}.doti-launcher-copy{display:none}.doti-launcher-orb{width:46px;height:46px}.doti-overlay{padding:0;align-items:end}.doti-panel{width:100%;max-height:calc(100svh - 24px);border-radius:28px 28px 0 0}.doti-panel-head{padding:14px 17px}.doti-body{padding:24px 18px 32px}.doti-title{font-size:clamp(2.1rem,10vw,3.25rem)}.doti-grid,.doti-contact-options{grid-template-columns:1fr}.doti-field-wide{grid-column:auto}.doti-choice-grid{grid-template-columns:1fr}.doti-summary{grid-template-columns:1fr 1fr}.doti-actions .doti-btn{flex:1}.doti-inline{width:100%}}
@media(max-width:520px){.doti-summary{grid-template-columns:1fr}.doti-services-summary{grid-column:auto}.doti-contact-card{min-height:72px}.doti-panel{max-height:calc(100svh - 8px)}}
@media(prefers-reduced-motion:reduce){.doti-launcher-orb:before,.doti-launcher-orb:after{animation:none}.doti-overlay,.doti-launcher{transition:none}}

/* Compact TAS edition: DOTi supports the FBO experience without dominating it. */
.doti-inline{width:auto!important;min-height:42px!important;padding:0 14px!important;border-radius:12px!important;font-size:.73rem!important}
.doti-inline .doti-inline-mark{width:16px;height:16px;box-shadow:0 0 0 3px rgba(228,60,255,.08),0 0 16px rgba(228,60,255,.25)}
.doti-launcher{right:20px;bottom:22px;gap:9px;padding:5px 10px 5px 5px;box-shadow:0 12px 38px rgba(0,0,0,.4),0 0 24px rgba(228,60,255,.09)}
.doti-launcher-orb{width:36px;height:36px;box-shadow:0 0 0 4px rgba(228,60,255,.07),0 0 20px rgba(228,60,255,.3)}
.doti-launcher-copy strong{font-size:.76rem}.doti-launcher-copy span{font-size:.59rem}
.doti-overlay{padding:22px;background:rgba(0,7,16,.64);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.doti-panel{width:min(740px,100%);max-height:min(690px,calc(100svh - 56px));border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.54),0 0 42px rgba(228,60,255,.07)}
.doti-panel-head{padding:12px 16px;gap:14px}.doti-brand{gap:10px}.doti-brand .doti-launcher-orb{width:31px;height:31px}.doti-brand strong{font-size:.88rem}.doti-brand span{font-size:.61rem}.doti-close{width:34px;height:34px;border-radius:10px;font-size:1.18rem}
.doti-body{padding:23px}.doti-kicker{font-size:.61rem}.doti-title{max-width:610px;margin:8px 0 9px;font-size:clamp(1.8rem,4vw,2.9rem);line-height:1}.doti-intro{max-width:610px;font-size:.88rem}.doti-privacy{margin-top:15px;padding:10px 12px;border-radius:12px;font-size:.69rem}.doti-privacy svg{width:15px}
.doti-actions{margin-top:17px;gap:8px}.doti-btn{min-height:41px;padding:0 14px;border-radius:11px;font-size:.72rem}
.doti-stepper{margin-bottom:18px;gap:6px}.doti-step{height:3px}.doti-section-title{font-size:1.18rem}.doti-section-copy{margin-bottom:15px;font-size:.74rem}
.doti-grid{gap:9px 11px}.doti-field{gap:4px}.doti-field label,.doti-group-label{font-size:.64rem}.doti-field input,.doti-field select{height:41px;padding:0 11px;border-radius:11px;font-size:.76rem}
.doti-choice-grid{gap:8px}.doti-choice span{min-height:44px;padding:9px 12px;border-radius:11px;font-size:.73rem}
.doti-summary-item{min-height:68px;padding:11px;border-radius:12px}.doti-contact-card{min-height:70px;padding:11px;border-radius:13px}.doti-wa{width:36px;height:36px;border-radius:10px}
@media(max-width:900px){.doti-launcher{right:15px;bottom:91px;padding:4px}.doti-launcher-orb{width:34px;height:34px}.doti-overlay{padding:10px;align-items:center}.doti-panel{width:min(560px,100%);max-height:84svh;border-radius:21px}.doti-panel-head{padding:10px 12px}.doti-body{padding:18px 14px 21px}.doti-title{font-size:clamp(1.7rem,8vw,2.25rem)}.doti-choice-grid{grid-template-columns:1fr 1fr}.doti-inline{width:auto!important}}
@media(max-width:520px){.doti-panel{max-height:82svh}.doti-choice-grid{grid-template-columns:1fr}.doti-inline{padding:0 11px!important;font-size:.68rem!important}}

/* Scroll containment: only the form body scrolls; the DOTi bar never overlaps cells. */
.doti-panel{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;overscroll-behavior:contain;max-width:calc(100vw - 24px)}
.doti-panel:before{display:none}
.doti-panel-head{position:relative!important;top:auto!important;grid-row:1;min-width:0;width:100%;transform:none!important}
.doti-body{grid-row:2;min-width:0;max-width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.doti-body>*,.doti-grid,.doti-choice-grid,.doti-summary,.doti-contact-options{min-width:0;max-width:100%}
.doti-field,.doti-summary-item,.doti-contact-card{min-width:0;max-width:100%}
.doti-field input,.doti-field select{min-width:0;max-width:100%}
.doti-contact-card strong,.doti-contact-card span{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.doti-panel{max-width:calc(100vw - 20px)}.doti-body{scrollbar-gutter:auto}}
