/* Shared navigation, dialogs and information pages. */
.site-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #e2d8e4;border-radius:100px;background:white;color:#35123e;font:600 14px 'Source Sans 3',sans-serif;min-height:48px;padding:12px 18px;cursor:pointer;flex-shrink:0}.site-menu-button .icon{width:19px;height:19px}.site-menu-button:hover{background:#f9f2fa}.site-menu-button:focus-visible,.drawer-close:focus-visible,.quote-launcher:focus-visible,.site-drawer a:focus-visible,.bio-page a:focus-visible{outline:3px solid #970ead;outline-offset:4px}.header-inner{gap:22px}.header-contact{gap:22px}.header-actions{gap:10px}/* Keep scrolling inside open drawers from scrolling the page behind them (no overflow lock on html/body). */
.site-drawer:modal{overscroll-behavior:contain}.site-drawer::backdrop{overflow:hidden;overscroll-behavior:contain}.site-drawer{position:fixed;inset:0 0 0 auto;margin:0;padding:0;border:0;width:min(520px,100%);height:100dvh;max-height:100dvh;max-width:100%;color:#35123e;background:#f0edf1;box-shadow:-20px 0 80px #210b2b30;overflow:hidden}.site-drawer::backdrop{background:#200b2b80;backdrop-filter:blur(5px)}.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;background:#fff;border-bottom:1px solid #eee7ef}.drawer-top h2{font:650 22px/1.25 'Montserrat',sans-serif;margin:0}.drawer-close{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid #e5dde7;border-radius:50%;background:white;color:#35123e;font:300 29px/1 sans-serif;cursor:pointer}.drawer-close:hover{background:#f9f1fa}.menu-content{height:calc(100% - 89px);overflow:auto;overscroll-behavior:contain;padding:5px 6px 30px}.menu-section{padding:24px;background:#fff;border-radius:13px;margin-bottom:5px}.menu-section h3{font:600 10px/1.4 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#7b6c80;margin:0 0 14px}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 0;font:550 16px/1.4 'Source Sans 3',sans-serif;text-decoration:none;border-bottom:1px solid #f3eef4;color:#35123e}.menu-row:last-child{border:0}.menu-row>span{color:#9d853f}.menu-row:hover{color:#970ead}.menu-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.menu-feature{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:208px;padding:20px 16px;border-radius:12px;text-decoration:none;background:linear-gradient(145deg,#faf0fd,#f2e2f5);color:#35123e;overflow:hidden}.menu-feature--gold{background:linear-gradient(145deg,#fcf8ed,#f1e7c7)}.menu-feature-symbol{font:400 64px/1 'Montserrat',sans-serif;color:#970ead;margin-bottom:20px}.menu-feature--gold .menu-feature-symbol{color:#9a7e3b}.menu-feature small{font-size:10px;line-height:1.4;margin-bottom:7px}.menu-feature strong{font:650 19px/1.2 'Montserrat',sans-serif;margin-bottom:12px}.menu-feature>span:last-child{font-size:12px}.menu-address{font-size:13px;line-height:1.7;color:#746778;margin:18px 0 0}.menu-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-size:12px;padding:20px}.menu-legal a{color:#695b70}.quote-launcher{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:22px;z-index:60;display:flex;align-items:center;gap:12px;padding:6px 22px 6px 6px;border:1.5px solid transparent;border-radius:99px;color:#fff;text-align:left;cursor:pointer;background:linear-gradient(135deg,#3b1446,#5a1d68) padding-box,linear-gradient(120deg,#e8cf74,#9a7e3b 38%,#f040ee 68%,#d6bb5d) border-box;box-shadow:0 12px 32px #210c3845;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s}
.quote-launcher::before{content:'';position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 0 #f040ee80;opacity:0}
.quote-launcher:hover{transform:translateY(-3px);box-shadow:0 16px 38px #210c3855,0 0 0 4px #f040ee26}
.quote-launcher-mark{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f78cf5,#e807f2 46%,#9b0db0);box-shadow:inset 0 0 0 1.5px #ffffff4d,0 4px 12px #e807f240}
.quote-launcher-mark svg,.quote-drawer-mark svg{width:27px;height:16px;fill:none;stroke:#ffe9a6;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.quote-launcher-text{display:flex;flex-direction:column;gap:1px}
.quote-launcher-text small{font:700 9.5px/1.3 'Source Sans 3',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e3c96f}
.quote-launcher-text strong{font:650 15.5px/1.2 'Montserrat',sans-serif;letter-spacing:-.01em;white-space:nowrap}
.quote-launcher:hover .cod-mark-zig,.quote-launcher:focus-visible .cod-mark-zig{animation:cod-mark-draw .6s ease-out}
.quote-launcher:hover .cod-mark-head,.quote-launcher:focus-visible .cod-mark-head{animation:cod-mark-pop .6s ease-out}
.quote-launcher.is-calling{animation:cod-quote-nudge 1.4s cubic-bezier(.3,.7,.3,1)}
.quote-launcher.is-calling::before{animation:cod-quote-ring 1.4s ease-out}
.quote-launcher.is-calling .cod-mark-zig{animation:cod-mark-draw .7s .15s ease-out both}
.quote-launcher.is-calling .cod-mark-head{animation:cod-mark-pop .7s .15s ease-out both}
@keyframes cod-quote-nudge{0%{transform:none}14%{transform:translateY(-8px) scale(1.06)}28%{transform:translateY(0) scale(.98) rotate(-2deg)}42%{transform:translateY(-5px) scale(1.04) rotate(2deg)}58%{transform:translateY(0) scale(1) rotate(-1deg)}72%{transform:translateY(-2px) scale(1.02)}100%{transform:none}}
@keyframes cod-quote-ring{0%{opacity:1;box-shadow:0 0 0 0 #f040ee99}45%{opacity:1;box-shadow:0 0 0 16px #f040ee00}46%{box-shadow:0 0 0 0 #d6bb5d99}100%{opacity:1;box-shadow:0 0 0 18px #d6bb5d00}}
@keyframes cod-mark-draw{0%{stroke-dasharray:100;stroke-dashoffset:100}100%{stroke-dasharray:100;stroke-dashoffset:0}}
@keyframes cod-mark-pop{0%,45%{opacity:0;transform:translate(-4px,4px)}100%{opacity:1;transform:none}}
.quote-drawer-top{position:relative;justify-content:center;text-align:center}
.quote-drawer .drawer-top.quote-drawer-top{padding:30px 64px 22px;border-bottom:1px solid #eee7ef}
.quote-drawer-top .drawer-close{position:absolute;top:18px;right:18px}
.quote-drawer-heading{display:flex;flex-direction:column;align-items:center;max-width:400px}
.quote-drawer-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;margin-bottom:14px;background:radial-gradient(circle at 30% 25%,#f78cf5,#e807f2 46%,#9b0db0)}.quote-drawer{inset:0 auto 0 0;width:min(580px,100%);background:#fff;box-shadow:20px 0 80px #210b2b30;display:none;flex-direction:column}.quote-drawer[open]{display:flex}.quote-drawer .drawer-top{padding:25px 24px 20px;align-items:flex-start;border:0}.quote-drawer .drawer-top h2{font-size:27px;max-width:360px}.drawer-eyebrow{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#6f5a1e}.quote-flyout-intro{padding:0;margin:10px 0 0;color:#75647b;font-size:15px;line-height:1.5;text-align:center}.quote-frame{width:100%;flex:1;min-height:0;border:0;background:#fff}.footer-policy-links{display:flex;gap:18px;flex-wrap:wrap}.footer-bottom{flex-wrap:wrap}.footer-policy-links a{font-size:11px}.policy-main{background:#fcf9fc;padding:72px 0 90px}.policy-wrap{max-width:860px;margin:auto}.policy-intro{max-width:750px;margin-bottom:38px}.policy-intro h1{font:650 clamp(36px,5vw,56px)/1.12 'Montserrat',sans-serif;letter-spacing:-.045em;margin:16px 0 20px}.policy-intro>p{font-size:19px;color:#75647b;line-height:1.7}.policy-date{font-size:12px!important}.policy-content{padding:42px;background:#fff;border:1px solid #e8dfea;border-radius:24px}.policy-content h2{font:650 21px/1.4 'Montserrat',sans-serif;margin:32px 0 12px;letter-spacing:-.025em}.policy-content h2:first-child{margin-top:0}.policy-content p,.policy-content li{font-size:16px;line-height:1.8;color:#625369}.policy-content p{margin:0 0 16px}.policy-content ul{padding-left:22px;margin:0 0 20px}.policy-content a{color:#970ead;text-underline-offset:3px}.policy-contact{padding:22px;background:#fcf7fc;border-radius:14px;margin-top:28px}.policy-contact p:last-child{margin-bottom:0}
@media(min-width:1024px) and (max-width:1199px){.header-address{display:none}.header-contact{margin-left:auto}.header-inner{gap:18px}}
@media(max-width:767px){.header-call{display:none}.header-inner{gap:8px}.header-actions{gap:7px}.site-menu-button{font-size:12px;min-height:44px;padding:10px 12px;gap:6px}.site-menu-button .icon{width:17px;height:17px}.logo-link{flex-basis:122px}.header-logo{width:134px}.header-cta{padding:11px 12px}.header-cta .button__arrow{display:none}.quote-launcher{left:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:5px 16px 5px 5px;gap:9px}.quote-launcher-text strong{font-size:13.5px}.quote-launcher-text small{font-size:8.5px}.quote-drawer .drawer-top.quote-drawer-top{padding:24px 56px 18px}.quote-launcher-mark{width:38px;height:38px;flex-basis:38px}.quote-launcher-mark svg{width:23px;height:14px}.site-footer{padding-bottom:72px}.footer-policy-links{gap:14px}.policy-main{padding:42px 0 60px}.policy-intro{text-align:center}.policy-content{padding:26px 22px}.policy-content h2{font-size:20px}.policy-content p,.policy-content li{font-size:15px}.drawer-top{padding:18px 20px}.menu-content{height:calc(100% - 81px)}.menu-section{padding:22px}.quote-drawer .drawer-top h2{font-size:24px}}
@media(max-width:359px){.logo-link{flex-basis:100px}.header-logo{width:112px}.header-inner{padding-inline:14px;gap:6px}.site-menu-button{padding:10px;font-size:11px;gap:5px}.site-menu-button .icon{width:15px}.header-cta{font-size:11px;padding:10px}.header-actions{gap:6px}.menu-section{padding:20px 18px}.menu-feature{padding:18px 13px}.menu-feature strong{font-size:17px}.menu-feature>span:last-child{font-size:11px}}
@media(prefers-reduced-motion:reduce){.quote-launcher,.quote-launcher *,.quote-launcher::before{transition:none;animation:none!important}}
/* Title case for headings and buttons, site-wide. */
h1,h2,h3,h4,h5,h6,.button,.quote-launcher-text strong{text-transform:capitalize}
/* Menu links in title case. */
.menu-row,.menu-feature strong,.menu-feature>span{text-transform:capitalize}
/* Room under the footer so the quote button never covers the copyright line. */
.has-quote-launcher .site-footer{padding-bottom:96px}
@media(max-width:767px){.has-quote-launcher .site-footer{padding-bottom:84px}}
.menu-row-label,.menu-email{font-style:normal}.menu-email{text-transform:none}

/* Gold-to-pink page reading progress, above the fixed navigation. */
.scroll-progress{position:fixed;inset:0 0 auto 0;height:4px;z-index:9999;pointer-events:none;background:linear-gradient(90deg,#D6BB5D 0%,#D59A9B 48%,#F040EE 100%);transform:scaleX(0);transform-origin:left center;}
