.aira-launcher,.aira-panel { --aira-teal:#1f5f4f; --aira-deep:#163f35; --aira-cream:#f5efe3; --aira-pearl:#fbf8f1; --aira-gold:#c9a86a; font-family:'Jost',system-ui,sans-serif; }
.aira-launcher { position:fixed; right:24px; bottom:24px; z-index:800; display:flex; align-items:center; gap:12px; min-height:56px; padding:10px 22px 10px 10px; border:1px solid #c4d2c3; border-radius:100px; background:var(--aira-deep); color:var(--aira-pearl); font-size:.95rem; font-weight:500; box-shadow:0 8px 32px #163f3533; cursor:pointer; }
.aira-mark { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--aira-gold); border-radius:50%; font:400 1.25rem 'Fraunces',Georgia,serif; color:#dcc89b; }
.aira-panel { position:fixed; inset:auto 24px 94px auto; margin:0; width:min(460px,calc(100vw - 48px)); max-width:calc(100vw - 48px); box-sizing:border-box; height:min(720px,calc(100dvh - 118px)); max-height:calc(100dvh - 118px); padding:0; border:1px solid #c4d2c3; border-radius:20px; background:var(--aira-pearl); color:#2c2c2c; box-shadow:0 24px 100px #163f3540; overflow:hidden; }
.aira-panel[open] { display:flex; flex-direction:column; }
.aira-panel:not([open]),.aira-panel [hidden] { display:none !important; }
.aira-panel::backdrop { background:rgba(22,63,53,.17); }
.aira-panel * { box-sizing:border-box; }
.aira-panel button,.aira-panel input,.aira-panel select,.aira-panel textarea { font-family:inherit; }
.aira-panel button { cursor:pointer; }
.aira-panel :focus-visible,.aira-launcher:focus-visible { outline:3px solid var(--aira-gold); outline-offset:3px; }
.aira-header { display:flex; flex:none; justify-content:space-between; align-items:center; gap:18px; padding:20px 24px; border-bottom:1px solid #d8dece; background:var(--aira-cream); }
.aira-name { font:400 1.6rem 'Fraunces',Georgia,serif; color:var(--aira-deep); }
.aira-header p { font-size:.73rem; color:#4a4a45; margin:4px 0 0; }
.aira-close { min-height:44px; padding:8px; border:0; background:none; color:var(--aira-teal); text-decoration:underline; font-size:.82rem; }
.aira-body { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:24px; }
.aira-panel h2 { font:400 1.8rem/1.2 'Fraunces',Georgia,serif; color:var(--aira-deep); margin:0 0 18px; }
.aira-panel p { font-size:.94rem; line-height:1.65; margin:0 0 16px; }
.aira-options { display:grid; gap:10px; margin:20px 0; }
.aira-choice-button { padding:15px 16px; min-height:48px; text-align:left; border:1px solid #c4d2c3; border-radius:10px; background:var(--aira-cream); color:var(--aira-deep); font-size:.95rem; }
.aira-choice-button:hover { background:#ece9da; }
.aira-choice-button small { display:block; color:#4a4a45; font-size:.78rem; line-height:1.4; margin-top:5px; }
.aira-resources { display:grid; gap:12px; }
.aira-resource-link { display:block; padding:13px 16px; border:1px solid var(--aira-teal); border-radius:8px; color:var(--aira-teal) !important; font-size:.9rem; text-decoration:none !important; }
.aira-resource-link:hover { background:#edf0e5; }
.aira-footer { flex:none; padding:14px 18px; background:var(--aira-cream); border-top:1px solid #d8dece; }
.aira-navigation { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.aira-text-button { padding:8px; border:0; background:none; text-decoration:underline; color:var(--aira-teal); min-height:44px; font-size:.8rem; }
.aira-text-button:disabled { color:#687165; opacity:.65; cursor:default; text-decoration:none; }
.aira-team-button,.aira-send { padding:12px 16px; min-height:44px; border:0; border-radius:100px; background:var(--aira-teal); color:var(--aira-pearl); font-weight:500; font-size:.85rem; }
.aira-footer p { font-size:.69rem; color:#596354; margin:7px 0 0; }
.aira-panel .aira-context { font-size:.8rem; color:var(--aira-teal); }
.aira-panel .aira-contact-note { font-size:.85rem; }
.aira-contact-form { display:grid; gap:14px; }
.aira-contact-form > label { display:grid; gap:7px; font-size:.85rem; font-weight:500; color:var(--aira-deep); }
.aira-contact-form input:not([type=checkbox]),.aira-contact-form textarea { width:100%; min-width:0; padding:12px; border:1px solid #9bb39a; border-radius:6px; background:white; color:#2c2c2c; font:400 .95rem/1.5 'Jost',system-ui,sans-serif; }
.aira-contact-form textarea { resize:vertical; min-height:120px; }
.aira-contact-form small { font-size:.74rem; color:#596354; }
.aira-contact-form .aira-consent { display:flex; align-items:flex-start; gap:9px; font-size:.77rem; line-height:1.55; font-weight:400; color:#4a4a45; }
.aira-consent input { margin:4px 0 0; flex:none; }
.aira-panel a:not(.aira-resource-link) { color:var(--aira-teal); text-decoration:underline; }
.aira-contact-form .aira-honey { display:none; }
.aira-send:disabled { opacity:.65; cursor:wait; }
.aira-panel .aira-status { font-size:.84rem; min-height:1.5em; margin:0; }
.aira-panel .aira-email-alternative { margin:20px 0 0; font-size:.79rem; overflow-wrap:anywhere; }
@media(max-width:640px) { .aira-launcher { right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); min-height:52px; } .aira-panel { inset:auto 12px calc(12px + env(safe-area-inset-bottom)); width:calc(100vw - 24px); max-width:calc(100vw - 24px); height:min(740px,calc(100dvh - 24px - env(safe-area-inset-bottom))); max-height:calc(100dvh - 24px - env(safe-area-inset-bottom)); border-radius:18px; } .aira-header { padding:16px 20px; } .aira-body { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .aira-panel *,.aira-launcher { animation:none !important; transition:none !important; } }
@media(max-width:640px) { .aira-contact-form input:not([type=checkbox]),.aira-contact-form textarea { font-size:16px; } }
