/* Shared action geometry, loaded last on every page. */
.btn,.gsr-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%;min-height:48px;height:auto;padding:12px 18px;border:1px solid transparent;border-radius:8px;font-family:inherit;font-size:15px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:break-word;vertical-align:middle;touch-action:manipulation}
.btn-outline{border-color:var(--gold)}
.gsr-message-actions{align-items:stretch}
.gsr-message-actions>.btn,.gsr-message-actions>.gsr-btn{flex:1 1 200px;min-height:48px;margin:0}
.request-panel .request-form>.btn,.success-card .btn{min-height:48px}
.request-panel .success-card .btn{width:100%}
.menu-toggle{box-sizing:border-box;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;line-height:1;align-items:center;justify-content:center}
.nav .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.4;text-align:center}
.request-panel-close,.gsr-final-close{box-sizing:border-box;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;line-height:1}
.gsr-final-launch{box-sizing:border-box;min-width:72px;min-height:44px;line-height:1.4;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
.gsr-final-entry{align-items:stretch;min-width:0}
.gsr-final-entry button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 64px;min-width:64px;min-height:48px;padding:10px 12px;font-size:14px;line-height:1.4}
.gsr-final-entry input{width:0;min-width:0}
.gsr-final-methods{align-items:stretch}
.gsr-final-methods button,.gsr-final-actions button,.gsr-final-hand button{display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%;min-height:48px;height:auto;padding:10px 14px;font-size:14px;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:break-word}
.gsr-final-actions{align-items:stretch}
.gsr-final-actions button{flex:1 1 160px;margin:0}
.gsr-final-hand{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;overflow-y:auto;max-height:42dvh}
.gsr-final-hand p{flex-basis:100%;margin:0}
.gsr-final-hand button{flex:1 1 160px;margin:0}
.gsr-carousel .gsr-dots button{min-width:44px;width:44px;min-height:44px;height:44px;flex:0 0 44px}
@media(max-width:800px){.menu-toggle{display:inline-flex}}
@media(max-width:520px){.gsr-message-actions{flex-direction:column}.gsr-message-actions>.btn,.gsr-message-actions>.gsr-btn{flex:0 0 auto;width:100%}.hero-copy>.btn,.page-hero-grid>div>.btn,.cta>.btn,.contact-card>.btn{width:100%}.gsr-final-actions button,.gsr-final-hand button{flex:0 0 auto;width:100%}.request-panel-header h2{overflow-wrap:break-word}.header-inner{gap:8px}}
@media(prefers-reduced-motion:reduce){.btn,.gsr-btn{transition:none}}
/* Keep stacked chat actions compact through the tablet breakpoint. */
@media(max-width:600px){.gsr-final-actions button{flex:0 0 auto;width:100%}}
body:has(.request-panel:not([hidden])) .gsr-final-launch{display:none}
/* Branded, service-aware floating assistant. */
.gsr-final-launch{display:inline-flex;align-items:center;justify-content:flex-start;gap:11px;min-height:66px;min-width:0;max-width:calc(100vw - 24px);padding:10px 17px 10px 10px;border:1px solid #e4bf6c;border-radius:36px;background:linear-gradient(135deg,#173b54,#0b233c 72%);color:#fff;box-shadow:0 8px 28px #071b3040,0 1px 0 #ffffff20 inset;text-align:left;transition:transform .18s ease,box-shadow .18s ease}
.gsr-assistant-emblem{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:linear-gradient(140deg,#fff0bf,#e7b94f 65%,#c89836);color:#0b233c;border:1px solid #ffe3a0;box-shadow:0 2px 8px #0002}
.gsr-assistant-emblem svg{display:block;width:25px;height:25px;overflow:visible}
.gsr-assistant-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.gsr-assistant-title{font:700 14px/1.3 system-ui;letter-spacing:.01em}.gsr-assistant-subtitle{font:400 10px/1.4 system-ui;color:#e9d5a7;white-space:nowrap}
.gsr-final-launch:hover{transform:translateY(-2px);box-shadow:0 12px 32px #071b3050}.gsr-final-launch:focus-visible{outline:3px solid #e7b94f;outline-offset:4px}
@media(max-width:520px){.gsr-final-launch{min-height:60px;gap:9px;padding:8px 14px 8px 8px}.gsr-assistant-emblem{width:42px;height:42px;flex-basis:42px}.gsr-assistant-title{font-size:13px}.gsr-assistant-subtitle{font-size:10px}}
@media(prefers-reduced-motion:reduce){.gsr-final-launch{transition:none}.gsr-final-launch:hover{transform:none}}
