:root { --maeve-ink:#eff5fa; --maeve-muted:#aebccd; --maeve-accent:#99e2cf; }
.maeve-footer { background:#081321; border-radius:20px 20px 0 0; font-family:Inter,ui-sans-serif,system-ui,sans-serif; max-width:1152px; margin:48px auto 0; padding:32px 24px 110px; border-top:1px solid #334155; display:flex; flex-wrap:wrap; justify-content:space-between; gap:28px; color:var(--maeve-muted); font-size:13px; line-height:1.8; }
.maeve-footer a { color:var(--maeve-ink); text-decoration:none; }
.maeve-footer a:hover { color:var(--maeve-accent); text-decoration:underline; text-underline-offset:4px; }
.maeve-footer-brand { font-size:24px; font-weight:750; letter-spacing:-.04em; }
.maeve-footer-brand span { display:block; font-size:13px; font-weight:400; letter-spacing:0; color:var(--maeve-muted); }
.maeve-footer strong { display:block; color:var(--maeve-accent); font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.maeve-footer div a { display:block; }
.maeve-footer p { max-width:290px; margin:0; }
.maeve-feedback-trigger { position:fixed; bottom:16px; right:16px; z-index:35; display:flex; align-items:center; gap:8px; border:1px solid #557080; border-radius:99px; padding:10px 16px; color:#ecfdf5; background:#163a3a; box-shadow:0 8px 30px #0005; font:600 13px Inter,system-ui,sans-serif; cursor:pointer; }
.maeve-feedback-trigger>span:first-child { display:grid; place-items:center; width:22px; height:22px; border:1px solid #99e2cf; border-radius:50%; font-size:15px; }
.maeve-feedback { margin:auto; box-sizing:border-box; width:min(460px,calc(100vw - 32px)); max-height:85dvh; padding:28px; border:1px solid #426270; border-radius:24px; color:#eef5fb; background:#101d2c; box-shadow:0 25px 100px #0008; font:14px/1.6 Inter,system-ui,sans-serif; }
.maeve-feedback::backdrop { background:#020617b8; backdrop-filter:blur(5px); }
.maeve-feedback h2 { margin:8px 0; font-size:25px; font-weight:700; letter-spacing:-.03em; }
.maeve-feedback p { color:#afc0cf; }
.maeve-feedback label { display:block; margin:16px 0 6px; font-weight:600; }
.maeve-feedback select,.maeve-feedback textarea { box-sizing:border-box; width:100%; padding:10px 12px; border:1px solid #496174; border-radius:10px; background:#081421; color:#eef5fb; font:inherit; }
.maeve-feedback textarea { resize:vertical; }
.feedback-close { float:right; background:none; border:0; color:#b8cbd8; font-size:26px; cursor:pointer; }
.maeve-primary { display:inline-block; margin-top:16px; padding:12px 18px; background:#99e2cf; color:#09262a; border:0; border-radius:11px; font-weight:700; cursor:pointer; }
.feedback-note { font-size:12px; }
.feedback-note a { color:#99e2cf; text-decoration:underline; }
.maeve-eyebrow { color:#99e2cf!important; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
:is(.maeve-feedback,.maeve-footer,.maeve-landing) :is(button,a,input,textarea,select):focus-visible,.maeve-feedback-trigger:focus-visible { outline:3px solid #99e2cf; outline-offset:4px; }
.maeve-landing { font-family:Inter,ui-sans-serif,system-ui,sans-serif; background:#081321; }
.maeve-landing main { max-width:1120px; padding-top:38px; }
.maeve-home-nav { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:72px; }
.maeve-home-nav>a:first-child { font-size:25px; font-weight:750; letter-spacing:-.04em; }
.maeve-home-nav>a:last-child { border:1px solid #4b6475; border-radius:99px; padding:10px 18px; font-size:13px; }
.maeve-landing header h1 { max-width:820px; font-size:clamp(38px,6vw,72px); line-height:1.07; letter-spacing:-.055em; font-weight:650; }
.maeve-landing header h1 span { color:#99e2cf; }
.maeve-landing header>p:last-child { max-width:640px; font-size:18px; color:#b7c5d5; margin-top:24px; }
.maeve-landing .home-story { max-width:720px; color:#aebccd; }
.maeve-landing #role-chooser { border-color:#3b5268; background:linear-gradient(120deg,#162639ee,#102332ee); box-shadow:0 24px 70px #0003; }
.maeve-landing .role-tab[aria-selected="true"] { border-color:#99e2cf; background:#99e2cf10; color:#bdf4e6; }
.maeve-landing .role-panel a:first-of-type { background:#99e2cf; color:#08272a; }
.maeve-landing .role-panel a:hover { filter:brightness(1.08); }
.home-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:40px 0; }
.home-feature { padding:24px; border:1px solid #30485e; border-radius:20px; background:#142336a8; }
.home-feature>span { color:#99e2cf; font-size:12px; letter-spacing:.1em; }
.home-feature h2 { margin:16px 0 8px; color:#f0f6fb; font-size:18px; font-weight:600; }
.home-feature p { color:#aebccd; font-size:14px; line-height:1.7; }
@keyframes maeve-arrive { from { opacity:.3; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
.maeve-revealed { animation:maeve-arrive .65s ease-out both; }
.maeve-entry { background:#081321 radial-gradient(ellipse at 15% 0,#347a7040,transparent 65%); }
.maeve-entry .entry-card { background:linear-gradient(145deg,#162638,#0f1e30); border-color:#3b5369; box-shadow:0 24px 80px #0003; padding:32px; }
.maeve-entry .entry-brand h1 { background:none; -webkit-text-fill-color:#b9f0df; color:#b9f0df; }
.maeve-entry .entry-button:not(.is-link):not(.is-quiet) { background:#99e2cf; color:#08272a; }
.password-field { position:relative; }
.password-field input { padding-right:65px!important; }
.password-field button { position:absolute; right:14px; top:12px; background:none; border:0; color:#a7ead7; font-size:13px; cursor:pointer; }
@media(max-width:640px) { .home-features { grid-template-columns:1fr; } .maeve-home-nav { margin-bottom:44px; } .maeve-feedback-trigger { padding:10px; } .feedback-label { display:none; } .maeve-footer { margin-top:24px; } .maeve-entry .entry-card { padding:24px 20px; } }
@media(prefers-reduced-motion:reduce) { .maeve-revealed { animation:none; } }
@media print { .maeve-feedback-trigger,.maeve-feedback,.maeve-footer { display:none!important; } }
