/* ============================================================
   AllBase Landing CSS — Clean Light · Logo Colors
   Teal #2ABFBF · Blue #1B6FD8 · Purple #8B3DC8 · Orange #F07030
============================================================ */
:root {
    --primary:       #1B6FD8;
    --primary-dark:  #1458B0;
    --primary-light: #EBF4FF;
    --teal:          #2ABFBF;
    --teal-light:    #E6F9F9;
    --purple:        #8B3DC8;
    --orange:        #F07030;
    --dark:          #0D1B3E;
    --text:          #1E2D4A;
    --text-muted:    #64748B;
    --border:        #E2E8F0;
    --white:         #FFFFFF;
    --bg:            #F7FAFD;
    --bg-2:          #EFF5FC;
    --success:       #10B981;
    --font:          'Heebo', Arial, sans-serif;
    --radius:        14px;
    --shadow:        0 4px 16px rgba(27,111,216,.10);
    --shadow-lg:     0 12px 40px rgba(27,111,216,.15);
    --grad:          linear-gradient(135deg, #1B6FD8, #2ABFBF);
    --grad-hero:     linear-gradient(135deg, #EBF4FF 0%, #E6F9F9 50%, #F5EDFF 100%);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font); color: var(--text); background: var(--white); overflow-x: hidden; }
h1,h2,h3,h4 { font-weight: 800; line-height: 1.2; }
p { line-height: 1.75; }
a { color: var(--primary); text-decoration: none; }
img { max-width: 100%; }
.container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.section    { padding: 88px 0; }
.section-sm { padding: 56px 0; }
.text-center { text-align: center; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0; }

/* NAV */
.site-nav {
    position: fixed; top: 0; right: 0; left: 0; z-index: 900;
    height: 70px; padding: 0 24px;
    display: flex; align-items: center;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid transparent;
    transition: border-color .3s, box-shadow .3s;
}
.site-nav.scrolled { border-bottom-color: var(--border); box-shadow: 0 2px 16px rgba(27,111,216,.08); }
.nav-inner { max-width: 1180px; margin: 0 auto; width: 100%; display: flex; align-items: center; justify-content: space-between; }
.nav-logo { display: flex; align-items: center; gap: 8px; }
.nav-logo img { height: 44px; width: auto; }
.nav-links { display: flex; align-items: center; gap: 28px; list-style: none; }
.nav-links a { color: var(--text-muted); font-size: .9rem; font-weight: 500; transition: color .2s; }
.nav-links a:hover { color: var(--primary); }
.nav-actions { display: flex; gap: 10px; align-items: center; }
.btn-nav-login { color: var(--text-muted); font-size: .88rem; font-weight: 600; padding: 8px 16px; border-radius: 8px; border: 1.5px solid var(--border); transition: all .2s; }
.btn-nav-login:hover { border-color: var(--primary); color: var(--primary); }
.btn-nav-cta { background: var(--grad); color: var(--white) !important; padding: 9px 20px; border-radius: 8px; font-size: .88rem; font-weight: 700; transition: opacity .2s, transform .15s; box-shadow: 0 4px 12px rgba(27,111,216,.22); }
.btn-nav-cta:hover { opacity: .9; transform: translateY(-1px); }
.nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 6px; }
.nav-toggle span { display: block; width: 22px; height: 2px; background: var(--text); border-radius: 2px; margin: 5px 0; }
.mobile-menu { display: none; position: fixed; top: 70px; right: 0; left: 0; z-index: 899; background: var(--white); border-bottom: 1px solid var(--border); padding: 16px 24px; box-shadow: var(--shadow); }
.mobile-menu.open { display: block; }
.mobile-menu a { display: block; color: var(--text); font-size: .95rem; padding: 12px 0; border-bottom: 1px solid var(--border); }
.mobile-menu a:last-child { border: none; }
@media(max-width:768px){.nav-links,.nav-actions{display:none;}.nav-toggle{display:block;}}

/* HERO */
.hero { min-height: 100vh; background: var(--grad-hero); display: flex; align-items: center; padding-top: 70px; position: relative; overflow: hidden; }
.hero::before { content:''; position:absolute; top:-100px; left:-100px; width:500px; height:500px; background:radial-gradient(circle,rgba(42,191,191,.12),transparent 70%); pointer-events:none; }
.hero::after  { content:''; position:absolute; bottom:-80px; right:-80px; width:400px; height:400px; background:radial-gradient(circle,rgba(139,61,200,.08),transparent 70%); pointer-events:none; }
.hero-content { position:relative; z-index:1; max-width:1180px; margin:0 auto; padding:80px 24px; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.hero-logo { margin-bottom: 20px; }
.hero-logo img { height: 68px; width: auto; }
.hero-title { font-size: clamp(2rem,4vw,3rem); font-weight:900; color:var(--dark); line-height:1.15; margin-bottom:16px; }
.hero-title .highlight { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hero-sub { font-size:1.03rem; color:var(--text-muted); line-height:1.8; margin-bottom:30px; max-width:500px; }
.hero-actions { display:flex; gap:12px; flex-wrap:nowrap; }
@media(max-width:480px) {
    .hero-actions { flex-direction:column; }
    .btn-primary-lg, .btn-outline-lg { width:100%; justify-content:center; }
}
.btn-primary-lg { display:inline-flex; align-items:center; gap:8px; background:var(--grad); color:var(--white); padding:14px 28px; border-radius:12px; font-size:1rem; font-weight:700; border:none; cursor:pointer; box-shadow:var(--shadow-lg); transition:all .2s; }
.btn-primary-lg:hover { transform:translateY(-2px); box-shadow:0 16px 48px rgba(27,111,216,.22); color:var(--white); }
.btn-outline-lg { display:inline-flex; align-items:center; gap:8px; background:var(--white); color:var(--primary); padding:14px 28px; border-radius:12px; font-size:1rem; font-weight:700; border:2px solid var(--primary); transition:all .2s; }
.btn-outline-lg:hover { background:var(--primary-light); }
.hero-stats { display:flex; gap:16px; flex-wrap:nowrap; margin-top:32px; justify-content:flex-start; }
.hero-stat .num { font-size:1.4rem; font-weight:900; color:var(--primary); display:block; }
.hero-stat .lbl { font-size:.72rem; color:var(--text-muted); white-space:nowrap; }
@media(max-width:480px) {
    .hero-stats { gap:12px; }
    .hero-stat .num { font-size:1.2rem; }
    .hero-stat .lbl { font-size:.66rem; }
}
.hero-stat .num { font-size:1.7rem; font-weight:900; color:var(--primary); display:block; }
.hero-stat .lbl { font-size:.77rem; color:var(--text-muted); }

/* MOCKUP */
.hero-visual { position:relative; }
.dashboard-mockup { background:var(--white); border:1px solid var(--border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-lg); animation:float 6s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
.mockup-bar { background:var(--bg-2); padding:10px 14px; display:flex; gap:6px; align-items:center; border-bottom:1px solid var(--border); }
.mockup-dot { width:10px; height:10px; border-radius:50%; }
.mockup-bar-title { margin:0 auto; color:var(--text-muted); font-size:.74rem; }
.mockup-content { padding:16px; }
.mockup-stat-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px; }
.mockup-stat { background:var(--bg); border-radius:8px; padding:10px 12px; border:1px solid var(--border); }
.mockup-stat .lbl { font-size:.62rem; color:var(--text-muted); margin-bottom:4px; }
.mockup-stat .val { font-size:1.2rem; font-weight:800; }
.mockup-table { background:var(--bg); border-radius:8px; overflow:hidden; border:1px solid var(--border); }
.mockup-row { display:flex; gap:10px; padding:9px 12px; border-bottom:1px solid var(--border); font-size:.7rem; align-items:center; }
.mockup-row:last-child { border:none; }
.mockup-row .name { font-weight:600; color:var(--text); flex:1; }
.mockup-row .role { color:var(--text-muted); font-size:.65rem; }
.mockup-badge { padding:2px 7px; border-radius:999px; font-size:.6rem; font-weight:700; }
@media(max-width:900px){.hero-content{grid-template-columns:1fr;gap:36px}.hero-visual{order:-1}.dashboard-mockup{max-width:420px;margin:0 auto}}

/* LOGOS STRIP */
.logos-strip { background:var(--bg-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:18px 0; }
.logos-inner { max-width:1180px; margin:0 auto; padding:0 24px; display:flex; align-items:center; gap:36px; flex-wrap:wrap; }
.logos-label { color:var(--text-muted); font-size:.78rem; white-space:nowrap; font-weight:600; }
.logos-items { display:flex; gap:28px; align-items:center; flex-wrap:wrap; }
.logos-items span { color:#94A3B8; font-size:.84rem; font-weight:700; }

/* SECTION HEADER */
.section-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 13px; border-radius:999px; font-size:.74rem; font-weight:700; margin-bottom:12px; letter-spacing:.04em; }
.badge-teal   { background:var(--teal-light); color:var(--teal); border:1px solid rgba(42,191,191,.2); }
.badge-blue   { background:var(--primary-light); color:var(--primary); border:1px solid rgba(27,111,216,.2); }
.badge-purple { background:#F5EDFF; color:var(--purple); border:1px solid rgba(139,61,200,.15); }
.badge-orange { background:#FFF4EE; color:var(--orange); border:1px solid rgba(240,112,48,.15); }
.section-title { font-size:clamp(1.6rem,3vw,2.3rem); font-weight:900; color:var(--dark); margin-bottom:12px; }
.section-sub   { font-size:1rem; color:var(--text-muted); max-width:540px; margin:0 auto; }

/* FEATURES */
.features-section { background:var(--bg); }
.features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:50px; }
@media(max-width:900px){.features-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.features-grid{grid-template-columns:1fr}}
.feature-card { background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius); padding:22px 18px; transition:transform .2s,box-shadow .2s,border-color .2s; }
.feature-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:transparent; }
.feature-icon { width:46px; height:46px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:1.15rem; margin-bottom:14px; }
.icon-blue   { background:var(--primary-light); color:var(--primary); }
.icon-teal   { background:var(--teal-light);    color:var(--teal);   }
.icon-purple { background:#F5EDFF; color:var(--purple); }
.icon-orange { background:#FFF4EE; color:var(--orange); }
.icon-green  { background:#ECFDF5; color:#059669; }
.icon-rose   { background:#FFF1F2; color:#E11D48; }
.feature-title { font-size:.96rem; font-weight:800; color:var(--dark); margin-bottom:6px; }
.feature-desc  { font-size:.84rem; color:var(--text-muted); line-height:1.7; }

/* HOW IT WORKS */
.how-section { background:var(--white); }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:50px; position:relative; }
.steps-grid::before { content:''; position:absolute; top:36px; right:16%; left:16%; height:2px; background:linear-gradient(90deg,transparent,var(--border),transparent); }
@media(max-width:700px){.steps-grid{grid-template-columns:1fr}.steps-grid::before{display:none}}
.step-card { text-align:center; padding:0 12px; }
.step-num { width:70px; height:70px; border-radius:50%; margin:0 auto 16px; background:var(--grad); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:1.3rem; font-weight:900; box-shadow:0 4px 16px rgba(27,111,216,.22); }
.step-title { font-size:1rem; font-weight:800; color:var(--dark); margin-bottom:7px; }
.step-desc  { font-size:.86rem; color:var(--text-muted); line-height:1.7; }

/* PRICING */
.pricing-section { background:var(--bg); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:50px; align-items:start; }
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr;max-width:360px;margin:50px auto 0}}
.pricing-card { background:var(--white); border:2px solid var(--border); border-radius:var(--radius); padding:30px 24px; transition:transform .2s,box-shadow .2s; position:relative; }
.pricing-card.popular { border-color:var(--primary); box-shadow:0 0 0 4px rgba(27,111,216,.08),var(--shadow-lg); transform:scale(1.03); }
.popular-badge { position:absolute; top:-13px; right:50%; transform:translateX(50%); background:var(--grad); color:var(--white); font-size:.7rem; font-weight:800; padding:4px 14px; border-radius:999px; white-space:nowrap; }
.plan-name  { font-size:.74rem; font-weight:700; color:var(--primary); text-transform:uppercase; letter-spacing:.08em; margin-bottom:7px; }
.plan-price { font-size:2.3rem; font-weight:900; color:var(--dark); line-height:1; margin-bottom:3px; }
.plan-price sup { font-size:1rem; vertical-align:super; }
.plan-cycle { font-size:.8rem; color:var(--text-muted); margin-bottom:16px; }
.plan-desc  { font-size:.83rem; color:var(--text-muted); margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--border); }
.plan-features { list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.plan-features li { display:flex; gap:8px; font-size:.85rem; color:var(--text-muted); }
.plan-features li i { color:var(--success); font-size:.8rem; flex-shrink:0; margin-top:3px; }
.plan-features li.disabled { color:#CBD5E1; }
.plan-features li.disabled i { color:#CBD5E1; }
.btn-plan { display:block; text-align:center; width:100%; padding:12px; border-radius:10px; font-weight:700; font-size:.9rem; transition:all .2s; border:2px solid; font-family:var(--font); cursor:pointer; }
.btn-plan-primary { background:var(--grad); color:var(--white)!important; border-color:transparent; box-shadow:0 4px 14px rgba(27,111,216,.2); }
.btn-plan-primary:hover { opacity:.9; transform:translateY(-1px); }
.btn-plan-outline { background:transparent; color:var(--primary)!important; border-color:var(--primary); }
.btn-plan-outline:hover { background:var(--primary-light); }

/* TESTIMONIALS */
.testimonials-section { background:var(--white); }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:50px; }
@media(max-width:900px){.testimonials-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.testimonials-grid{grid-template-columns:1fr}}
.testimonial-card { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); padding:24px 20px; }
.testimonial-stars { color:#F59E0B; margin-bottom:11px; font-size:.88rem; }
.testimonial-text  { font-size:.87rem; color:var(--text-muted); line-height:1.75; margin-bottom:16px; }
.testimonial-author { display:flex; align-items:center; gap:10px; }
.t-avatar { width:38px; height:38px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--white); font-size:.86rem; flex-shrink:0; }
.t-name { font-weight:700; font-size:.86rem; color:var(--dark); }
.t-role { font-size:.72rem; color:var(--text-muted); }

/* FAQ */
.faq-section { background:var(--bg); }
.faq-list { max-width:700px; margin:50px auto 0; display:flex; flex-direction:column; gap:10px; }
.faq-item { background:var(--white); border:1.5px solid var(--border); border-radius:12px; overflow:hidden; transition:border-color .2s; direction:rtl; text-align:right; }
.faq-item.open { border-color:var(--primary); }
.faq-q { display:flex; flex-direction:row; justify-content:space-between; align-items:center; padding:18px 20px; cursor:pointer; font-weight:700; font-size:.93rem; color:var(--dark); gap:12px; user-select:none; direction:rtl; text-align:right; }
.faq-q:hover { color:var(--primary); }
.faq-icon { flex-shrink:0; width:24px; height:24px; border-radius:50%; background:var(--bg); display:flex; align-items:center; justify-content:center; font-size:.78rem; color:var(--primary); transition:transform .25s; }
.faq-item.open .faq-icon { transform:rotate(45deg); background:var(--primary-light); }
.faq-a { display:none; padding:14px 20px 18px; font-size:.87rem; color:var(--text-muted); line-height:1.75; border-top:1px solid var(--border); direction:rtl; text-align:right; }
.faq-item.open .faq-a { display:block; }

/* CTA */
.cta-section { background:linear-gradient(135deg,var(--dark) 0%,#1B3A6B 100%); position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; top:-50%; right:-20%; width:600px; height:600px; background:radial-gradient(circle,rgba(42,191,191,.12),transparent 60%); pointer-events:none; }
.cta-inner { position:relative; z-index:1; }
.cta-title { font-size:clamp(1.8rem,3.5vw,2.6rem); color:var(--white); margin-bottom:12px; }
.cta-sub   { font-size:1rem; color:rgba(255,255,255,.65); margin-bottom:34px; }

/* CONTACT */
.contact-section { background:var(--white); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:52px; margin-top:50px; align-items:start; }
@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:28px}}
.contact-info h3 { font-size:1.2rem; font-weight:800; margin-bottom:12px; color:var(--dark); }
.contact-info p  { color:var(--text-muted); margin-bottom:20px; line-height:1.75; }
.contact-items { display:flex; flex-direction:column; gap:13px; }
.contact-item { display:flex; align-items:center; gap:12px; }
.c-icon { width:40px; height:40px; border-radius:10px; background:var(--primary-light); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:.92rem; flex-shrink:0; }
.c-label { font-size:.72rem; color:var(--text-muted); }
.c-value { font-weight:600; color:var(--dark); font-size:.9rem; }
.contact-form { background:var(--bg); border-radius:var(--radius); padding:28px; }
.form-group   { margin-bottom:13px; }
.form-label   { display:block; font-size:.79rem; font-weight:700; color:var(--text-muted); margin-bottom:5px; }
.form-control { width:100%; padding:11px 14px; border:1.5px solid var(--border); border-radius:8px; font-size:.93rem; font-family:var(--font); color:var(--text); background:var(--white); transition:border-color .2s; }
.form-control:focus { outline:none; border-color:var(--primary); }
.form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:500px){.form-row-2{grid-template-columns:1fr}}
.btn-submit { width:100%; padding:13px; background:var(--grad); color:var(--white); border:none; border-radius:10px; font-size:.93rem; font-weight:700; font-family:var(--font); cursor:pointer; transition:all .2s; box-shadow:0 4px 12px rgba(27,111,216,.2); }
.btn-submit:hover { transform:translateY(-1px); box-shadow:0 8px 20px rgba(27,111,216,.22); }
.form-success { background:#ECFDF5; border:1px solid #A7F3D0; color:#065F46; padding:12px 14px; border-radius:8px; margin-bottom:12px; font-size:.86rem; }
.form-error   { background:#FEF2F2; border:1px solid #FECACA; color:#991B1B; padding:12px 14px; border-radius:8px; margin-bottom:12px; font-size:.86rem; }

/* FOOTER */
.site-footer { background:var(--dark); padding:50px 0 20px; }
.footer-grid { max-width:1180px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:42px; margin-bottom:42px; }
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:26px}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-brand img { height:50px; width:auto; margin-bottom:10px; }
.footer-brand p { color:rgba(255,255,255,.48); font-size:.83rem; line-height:1.7; }
.footer-col h4 { color:var(--white); font-size:.81rem; font-weight:700; margin-bottom:13px; letter-spacing:.04em; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.footer-col ul a { color:rgba(255,255,255,.48); font-size:.83rem; transition:color .2s; }
.footer-col ul a:hover { color:var(--white); }
.footer-bottom { max-width:1180px; margin:0 auto; padding:18px 24px 0; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.footer-bottom p { color:rgba(255,255,255,.38); font-size:.78rem; }
.footer-bottom-links { display:flex; gap:16px; }
.footer-bottom-links a { color:rgba(255,255,255,.38); font-size:.78rem; }
.footer-bottom-links a:hover { color:var(--white); }

/* INNER PAGES */
.page-hero { background:var(--grad-hero); padding:130px 0 66px; text-align:center; border-bottom:1px solid var(--border); }
.page-hero h1 { color:var(--dark); font-size:clamp(1.8rem,3vw,2.5rem); }
.page-hero p  { color:var(--text-muted); margin-top:10px; }
.page-content { max-width:780px; margin:0 auto; padding:58px 24px; }
.page-content h2 { font-size:1.45rem; margin:34px 0 11px; color:var(--dark); }
.page-content h3 { font-size:1.08rem; margin:22px 0 7px; color:var(--dark); }
.page-content p  { color:var(--text-muted); margin-bottom:13px; }
.page-content ul { color:var(--text-muted); padding-right:18px; margin-bottom:13px; display:flex; flex-direction:column; gap:5px; }
.page-content li { font-size:.92rem; }
.page-content a  { color:var(--primary); text-decoration:underline; }

/* ANIMATIONS */
.fade-up { opacity:0; transform:translateY(24px); transition:opacity .65s ease, transform .65s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* ACCESSIBILITY WIDGET */
#a11y-toggle { position:fixed; bottom:24px; left:24px; z-index:9999; width:52px; height:52px; border-radius:50%; background:var(--grad); color:var(--white); border:3px solid var(--white); font-size:1.25rem; cursor:pointer; box-shadow:var(--shadow-lg); display:flex; align-items:center; justify-content:center; transition:transform .2s; }
#a11y-toggle:hover { transform:scale(1.1); }
#a11y-toggle:focus { outline:3px solid var(--orange); outline-offset:3px; }
#a11y-panel { position:fixed; bottom:86px; left:24px; z-index:9998; background:var(--white); border-radius:16px; box-shadow:var(--shadow-lg); width:268px; padding:16px; display:none; border:1.5px solid var(--border); }
#a11y-panel.open { display:block; }
.a11y-title { font-size:.86rem; font-weight:800; color:var(--dark); margin-bottom:12px; display:flex; justify-content:space-between; align-items:center; }
.a11y-title button { background:none; border:none; cursor:pointer; color:var(--text-muted); font-size:.92rem; }
.a11y-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.a11y-btn { background:var(--bg); border:1.5px solid var(--border); border-radius:9px; padding:8px 5px; cursor:pointer; text-align:center; font-size:.68rem; font-weight:600; color:var(--text); transition:all .15s; font-family:var(--font); }
.a11y-btn:hover { background:var(--primary-light); border-color:var(--primary); color:var(--primary); }
.a11y-btn.active { background:var(--primary); border-color:var(--primary); color:var(--white); }
.a11y-btn i { display:block; font-size:.9rem; margin-bottom:3px; }
.a11y-font-row { display:flex; align-items:center; gap:6px; margin-top:9px; }
.a11y-font-row label { font-size:.74rem; font-weight:600; color:var(--text); flex:1; }
.a11y-font-row button { width:28px; height:28px; border-radius:7px; background:var(--bg); border:1.5px solid var(--border); cursor:pointer; font-size:.88rem; font-weight:700; font-family:var(--font); display:flex; align-items:center; justify-content:center; transition:all .15s; }
.a11y-font-row button:hover { background:var(--primary-light); border-color:var(--primary); color:var(--primary); }
#fontSizeDisplay { font-size:.72rem; color:var(--text-muted); min-width:26px; text-align:center; }
.a11y-reset { margin-top:9px; width:100%; padding:7px; background:none; border:1.5px solid var(--border); border-radius:7px; cursor:pointer; font-size:.74rem; font-weight:600; color:var(--text-muted); font-family:var(--font); }
.a11y-reset:hover { border-color:#EF4444; color:#EF4444; }
body.a11y-high-contrast { filter:contrast(1.5); }
body.a11y-grayscale { filter:grayscale(1); }
body.a11y-underline-links a { text-decoration:underline!important; }
body.a11y-no-animations *, body.a11y-no-animations *::before, body.a11y-no-animations *::after { animation:none!important; transition:none!important; }
body.a11y-dyslexia { font-family:Arial,sans-serif!important; letter-spacing:.05em!important; word-spacing:.1em!important; line-height:1.9!important; }
:focus-visible { outline:3px solid var(--primary)!important; outline-offset:2px!important; }
