/* Global quote modal shell. Fluent Forms field/button styling stays in forms.css. */
.tm-quote-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(8,28,20,.62);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);overscroll-behavior:contain}
.tm-quote-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.tm-quote-modal__dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 48px);max-height:calc(var(--tm-quote-viewport-height, 100dvh) - 48px);overflow:hidden;border:1px solid rgba(18,59,44,.1);border-radius:26px;background:linear-gradient(145deg,#fff 0%,#fbfcf8 100%);box-shadow:0 30px 90px rgba(8,34,23,.28);outline:0}
.tm-quote-modal__scroll{max-height:calc(100vh - 48px);max-height:calc(var(--tm-quote-viewport-height, 100dvh) - 48px);overflow-y:auto;padding:38px 40px 32px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.tm-quote-modal__header{max-width:650px;padding-right:42px}
.tm-quote-modal__eyebrow{margin-bottom:8px;color:var(--tm-link);font-size:.72rem;font-weight:var(--tm-font-heavy);letter-spacing:.14em;text-transform:uppercase}
.tm-quote-modal__header h2{font-size:var(--tm-section-h2);line-height:1.2;letter-spacing:-.03em}
.tm-quote-modal__header p{max-width:620px;margin:12px 0 0;color:var(--tm-muted);font-size:.96rem;line-height:1.62}
.tm-quote-modal__form{margin-top:26px;padding:26px;border-radius:20px;box-shadow:0 12px 34px rgba(18,59,44,.07)}
.tm-quote-modal__privacy{margin:16px 2px 0;color:#6a776f;font-size:.8rem;line-height:1.5}
.tm-quote-modal__close{position:absolute;top:16px;right:16px;z-index:3;display:grid;width:44px;height:44px;place-items:center;padding:0;border:1px solid rgba(18,59,44,.12);border-radius:50%;background:rgba(255,255,255,.92);color:var(--tm-forest);box-shadow:0 6px 18px rgba(18,59,44,.08);transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.tm-quote-modal__close::before,.tm-quote-modal__close::after{position:absolute;width:16px;height:2px;border-radius:2px;background:currentColor;content:""}
.tm-quote-modal__close::before{transform:rotate(45deg)}
.tm-quote-modal__close::after{transform:rotate(-45deg)}
.tm-quote-modal__close:hover,.tm-quote-modal__close:focus-visible{border-color:rgba(18,59,44,.28);background:#fff;transform:scale(1.03)}
@media(max-width:800px){.tm-quote-modal{align-items:end;padding:12px}.tm-quote-modal__dialog{width:100%;max-height:calc(100vh - 24px);max-height:calc(var(--tm-quote-viewport-height, 100dvh) - 24px);border-radius:22px}.tm-quote-modal__scroll{max-height:calc(100vh - 24px);max-height:calc(var(--tm-quote-viewport-height, 100dvh) - 24px);padding:30px 18px 22px}.tm-quote-modal__header{padding-right:40px}.tm-quote-modal__header h2{font-size:1.95rem;line-height:1.2}.tm-quote-modal__header p{font-size:.92rem;line-height:1.58}.tm-quote-modal__form{margin-top:22px;padding:18px 16px;border-radius:16px}.tm-quote-modal__privacy{margin-top:15px;text-align:center;font-size:.78rem}.tm-quote-modal__close{top:12px;right:12px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.tm-quote-modal,.tm-quote-modal__close{transition:none!important}}
