@font-face {
  font-family: KualiOpenDyslexic;
  src: url('../fonts/opendyslexic/opendyslexic-latin-400-normal.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: KualiOpenDyslexic;
  src: url('../fonts/opendyslexic/opendyslexic-latin-700-normal.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
html[data-kuali-reading-font="opendyslexic"] body :where(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,label,legend,summary,li,dt,dd,td,th,small,strong,span):not(.katex *, .MathJax *, svg *, math *) {
  font-family: KualiOpenDyslexic, Arial, sans-serif !important;
  letter-spacing:normal;
  word-spacing:normal;
}
html[data-kuali-reading-font="opendyslexic"] body :where(h1,h2,h3,h4,h5,h6) { line-height:1.45!important; overflow-wrap:anywhere; }
html[data-kuali-reading-font="opendyslexic"] .hero__text h1 { font-size:clamp(1.8rem,2.7vw,2.8rem); max-width:21ch; letter-spacing:0; line-height:1.35!important; }
html[data-kuali-reading-font="opendyslexic"] body :where(.navbar__eyebrow,.hero__eyebrow,.section-kicker,.logo-text) { letter-spacing:0!important; line-height:1.5; white-space:normal; }
html[data-kuali-reading-font="opendyslexic"] .navbar { position:relative; top:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 24px; padding:18px 24px 12px; backdrop-filter:none; background:#faf9ff; }
html[data-kuali-reading-font="opendyslexic"] :is(.navbar__logo,.navbar__brand) { min-width:0; }
html[data-kuali-reading-font="opendyslexic"] .navbar__logo { grid-column:1; grid-row:1; }
html[data-kuali-reading-font="opendyslexic"] .navbar__actions { grid-column:2; grid-row:1; min-width:0; }
html[data-kuali-reading-font="opendyslexic"] .navbar__menu { grid-column:1/-1; grid-row:2; display:flex; position:static; width:100%; max-width:none; flex-wrap:wrap; justify-content:flex-start; justify-self:stretch; transform:none; gap:4px; border-radius:0; border:0; border-top:1px solid #e7e2f5; padding:8px 0 0; background:none; box-shadow:none; }
html[data-kuali-reading-font="opendyslexic"] .navbar__menu a { font-size:14px; padding:10px 12px; white-space:normal; }
html[data-kuali-reading-font="opendyslexic"] .navbar .menu-toggle { display:none; }
html[data-kuali-reading-font="opendyslexic"] .hero__container { gap:32px; padding:32px; align-items:start; }
html[data-kuali-reading-font="opendyslexic"] .hero__text > p { font-size:1rem; line-height:1.75; }
html[data-kuali-reading-font="opendyslexic"] .image-wrapper { display:grid; gap:0; padding:12px; min-height:0; border-radius:24px; background:#fff; box-shadow:0 12px 32px #3020500d; }
html[data-kuali-reading-font="opendyslexic"] .image-wrapper > img { height:auto; min-height:0; aspect-ratio:4/3; object-fit:cover; border-radius:16px; box-shadow:none; }
html[data-kuali-reading-font="opendyslexic"] .image-glow { display:none; }
html[data-kuali-reading-font="opendyslexic"] .hero__floating-card { position:static; width:auto; max-width:none; margin:0; padding:16px 8px; background:none; color:#302a49; border-radius:0; box-shadow:none; backdrop-filter:none; animation:none; transform:none; }
html[data-kuali-reading-font="opendyslexic"] .hero__floating-card + .hero__floating-card { border-top:1px solid #e7e2f5; }
html[data-kuali-reading-font="opendyslexic"] .hero__floating-card span { color:#6351c9; font-size:.7rem; letter-spacing:0; margin-bottom:6px; }
html[data-kuali-reading-font="opendyslexic"] .hero__floating-card strong { font-size:.82rem; font-weight:400; line-height:1.7; }
html[data-kuali-reading-font="opendyslexic"] .hero__highlights { gap:10px; }
html[data-kuali-reading-font="opendyslexic"] .hero__highlight { padding:14px; box-shadow:none; }
html[data-kuali-reading-font="opendyslexic"] .hero__highlight strong { font-size:.85rem; }
html[data-kuali-reading-font="opendyslexic"] .hero__highlight span { font-size:.78rem; }
html[data-kuali-reading-font="opendyslexic"] :is(.navbar,.topbar,.sidebar) { backdrop-filter:none; }
@media(max-width:650px) {
  html[data-kuali-reading-font="opendyslexic"] .navbar { position:relative; top:0; grid-template-columns:minmax(0,1fr) auto; padding:16px; column-gap:10px; }
  html[data-kuali-reading-font="opendyslexic"] .navbar__actions { grid-column:2; grid-row:1; justify-content:flex-end; flex-wrap:wrap; }
  html[data-kuali-reading-font="opendyslexic"] .navbar__menu { grid-row:2; flex-direction:row; }
  html[data-kuali-reading-font="opendyslexic"] .navbar__menu a { font-size:12px; width:auto; }
  html[data-kuali-reading-font="opendyslexic"] .logo-text { font-size:1.25rem; }
  html[data-kuali-reading-font="opendyslexic"] .navbar__eyebrow { font-size:10px; }
  html[data-kuali-reading-font="opendyslexic"] .hero__container { padding:20px; gap:24px; }
}
html[data-kuali-reading-spacing="true"] body :where(p,li,label,textarea) {
  line-height: 1.8 !important;
  letter-spacing: .035em !important;
  word-spacing: .1em !important;
}
html[data-kuali-reading-colors="distinct"] {
  --qaly-route-primary: #005a91;
  --qaly-route-accent: #984900;
}
html[data-kuali-reading-colors="distinct"] body :where(.btn-primary,.route-generate-button,button[type="submit"]) {
  background: #005a91 !important; color: #fff !important; border: 2px solid #003858 !important;
}
html[data-kuali-reading-colors="distinct"] body :where([aria-selected="true"],[aria-pressed="true"],[data-node-state="active"],[data-generation-step][data-state="active"]) {
  outline: 3px solid #005a91; outline-offset: 2px;
}
html[data-kuali-reading-colors="distinct"] body :where([data-tone="error"],[aria-invalid="true"]) {
  border: 2px dashed #984900 !important; color: #713600 !important; background: #fff5e9 !important;
}
html[data-kuali-reading-colors="distinct"] body :where([data-tone="success"],[data-generation-step][data-state="complete"]) {
  border: 2px solid #005a91 !important; color: #003858 !important; background: #edf7ff !important;
}
html[data-kuali-reading-motion="true"] *, html[data-kuali-reading-motion="true"] *::before, html[data-kuali-reading-motion="true"] *::after {
  animation: none !important; transition: none !important; scroll-behavior: auto !important;
}
html[data-kuali-reading-text-size="large"] { font-size:112.5%; }
html[data-kuali-reading-text-size="xlarge"] { font-size:125%; }
html[data-kuali-reading-underline="true"] body a { text-decoration:underline!important; text-decoration-thickness:2px!important; text-underline-offset:.22em!important; }
html[data-kuali-reading-contrast="true"] {
  --text:#080710; --muted:#2f2b3e; --muted-strong:#171421; --surface-border:#252032;
}
html[data-kuali-reading-contrast="true"] body { color:#080710; }
html[data-kuali-reading-contrast="true"] body :where(.navbar,.hero__container,.section,.card,.solution-card,.nosotros-card,.contact-card,.legal__card,.kuali-reading-options) { border-color:#252032!important; }
html[data-kuali-reading-contrast="true"] body :where(p,small,label,li,.section-copy) { color:#171421; }
.kuali-reading-tools { position: fixed; right: 16px; bottom: calc(116px + env(safe-area-inset-bottom)); z-index: 1100; font: 14px/1.5 Arial, sans-serif; color: #222039; max-width: calc(100vw - 32px); }
.kuali-reading-tools > summary { cursor: pointer; padding: 9px 14px; border: 1px solid #77728e; border-radius: 20px; background: #fff; min-height: 44px; box-sizing: border-box; }
.kuali-reading-tools > summary img { width:30px; height:30px; object-fit:contain; }
.kuali-reading-options { position:absolute; bottom:calc(100% + 10px); right:0; display:grid; gap:20px; width:390px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 120px); padding:24px; overflow:auto; box-sizing:border-box; color:#211d3b; border:1px solid rgba(83,72,125,.22); border-radius:26px; background:rgba(255,255,255,.98); box-shadow:0 24px 70px rgba(35,25,76,.24); backdrop-filter:blur(22px); }
.kuali-reading-options__head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.kuali-reading-options__head span { display:block; margin-bottom:2px; color:#6b5ad2; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.kuali-reading-options h2 { margin:0; color:#211d3b; font:800 25px/1.1 "Inter",Arial,sans-serif; letter-spacing:-.025em; }
.kuali-reading-close { display:grid; flex:0 0 auto; width:40px; height:40px; min-height:40px; place-items:center; padding:0; color:#28233f; border:0; border-radius:13px; background:#f3f0ff; font-size:28px; line-height:1; }
.kuali-reading-size { display:grid; gap:10px; }
.kuali-reading-size h3 { margin:0; color:#332c50; font-size:15px; }
.kuali-reading-size > div { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.kuali-reading-size button { min-height:58px; padding:8px; color:#282340; border:1px solid rgba(110,97,255,.2); border-radius:17px; background:#fff; font-size:20px; font-weight:850; transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease; }
.kuali-reading-size button:hover { transform:translateY(-1px); box-shadow:0 10px 22px rgba(80,61,160,.1); }
.kuali-reading-size button.is-active { color:#fff; border-color:transparent; background:linear-gradient(135deg,#5745f4,#745cff); box-shadow:0 12px 26px rgba(93,70,237,.24); }
.kuali-reading-size sup { font-size:.58em; }
.kuali-reading-switches { display:grid; gap:4px; }
.kuali-reading-switches label { display:flex; min-height:51px; align-items:center; justify-content:space-between; gap:16px; margin:0; color:#292442; font-size:15px; font-weight:700; cursor:pointer; }
.kuali-reading-switches input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.kuali-reading-switches i { position:relative; flex:0 0 auto; width:48px; height:28px; border:2px solid #5a537b; border-radius:999px; background:#fff; transition:background .2s ease,border-color .2s ease; }
.kuali-reading-switches i::after { content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#5a537b; transition:transform .2s ease,background .2s ease; }
.kuali-reading-switches input:checked + i { border-color:#6651f1; background:#6651f1; }
.kuali-reading-switches input:checked + i::after { transform:translateX(20px); background:#fff; }
.kuali-reading-switches input:focus-visible + i { outline:3px solid #005a91; outline-offset:3px; }
.kuali-reading-palette { display:grid; gap:8px; margin:0; color:#332c50; font-size:15px; font-weight:700; }
.kuali-reading-options select { width:100%; min-height:48px; padding:0 12px; color:#222039; background:#fff; border:1px solid #77728e; border-radius:13px; font:inherit; }
.kuali-reading-legacy-font { display:none; }
.kuali-reading-reset { min-height:48px; padding:8px 16px; color:#5844db; background:#fff; border:1px solid rgba(110,97,255,.22); border-radius:999px; font-size:15px; font-weight:800; }
.kuali-reading-note { margin:0; color:#6a647d; font-size:12px; line-height:1.55; }
.kuali-reading-tools :focus-visible { outline: 3px solid #005a91; outline-offset: 3px; }
.navbar-reading-slot { position:relative; flex:0 0 auto; }
.navbar-reading-slot .kuali-reading-tools--navbar { position:relative; right:auto; bottom:auto; z-index:1100; max-width:none; }
.navbar-reading-slot .kuali-reading-tools--navbar > summary { display:grid; width:48px; height:48px; min-height:48px; place-items:center; padding:0; overflow:hidden; color:var(--primary-deep,#4f46d8); border:1px solid rgba(110,97,255,.16); border-radius:18px; background:rgba(255,255,255,.86); box-shadow:0 12px 24px rgba(78,56,151,.08); transition:transform .24s ease,box-shadow .24s ease,background .24s ease; }
.navbar-reading-slot .kuali-reading-tools--navbar > summary::-webkit-details-marker { display:none; }
.navbar-reading-slot .kuali-reading-tools--navbar > summary::marker { content:""; }
.navbar-reading-slot .kuali-reading-tools--navbar > summary:hover { transform:translateY(-2px); box-shadow:0 16px 32px rgba(78,56,151,.12); background:#fff; }
.navbar-reading-slot .kuali-reading-tools--navbar > summary img { width:32px; height:32px; object-fit:contain; }
.navbar-reading-slot .kuali-reading-tools__label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.navbar-reading-slot .kuali-reading-tools--navbar .kuali-reading-options { top:calc(100% + 10px); right:0; bottom:auto; }
@media (min-width:1181px) and (max-width:1500px) {
  .navbar-reading-slot .kuali-reading-tools--navbar > summary { width:44px; height:44px; min-height:44px; border-radius:16px; }
  .navbar-reading-slot .kuali-reading-tools--navbar > summary img { width:29px; height:29px; }
}
@media (max-width:560px) {
  .navbar-reading-slot .kuali-reading-tools--navbar .kuali-reading-options { position:fixed; top:86px; right:12px; bottom:auto; left:12px; width:auto; max-width:none; max-height:calc(100dvh - 100px); padding:20px; border-radius:22px; }
}
@media print { .kuali-reading-tools { display: none; } }

html[data-kuali-reading-colors="protanopia"] { --reading-primary:#005a91; --reading-accent:#885000; --reading-tint:#eaf4ff; --reading-bg:#f3f7fc; }
html[data-kuali-reading-colors="deuteranopia"] { --reading-primary:#244890; --reading-accent:#805200; --reading-tint:#edf0ff; --reading-bg:#f5f6fc; }
html[data-kuali-reading-colors="tritanopia"] { --reading-primary:#00615f; --reading-accent:#9b2944; --reading-tint:#e2f5f2; --reading-bg:#f1f8f6; }
html:is([data-kuali-reading-colors="protanopia"],[data-kuali-reading-colors="deuteranopia"],[data-kuali-reading-colors="tritanopia"]) {
  --bg:var(--reading-bg); --bg-soft:var(--reading-tint); --text:#202a37; --muted:#4b5867;
  --primary:var(--reading-primary); --primary-dark:var(--reading-primary); --accent:var(--reading-accent);
  --primary-deep:var(--reading-primary); --primary-soft:var(--reading-tint); --secondary:var(--reading-accent); --success:var(--reading-primary); --muted-strong:#4b5867; --surface-border:#8092a3;
  --dashboard-bg-1:var(--reading-bg); --dashboard-bg-2:var(--reading-tint);
  --dashboard-text:#202a37; --dashboard-muted:#4b5867; --dashboard-primary:var(--reading-primary);
  --dashboard-primary-dark:var(--reading-primary); --dashboard-primary-soft:var(--reading-tint);
  --dashboard-border:#8092a3; --dashboard-danger:var(--reading-accent);
}
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body { background:var(--reading-bg)!important; color:#202a37!important; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where(.navbar,.topbar,.panel,.hero,.hero-aside-card,.card,.card-stat,.feature-card,.solution-card,.route-builder-card,.route-composer-adjustments,.route-list-item,.route-overview,.privacy-card,.legal__card,.legal__container,.modal-content,.qaly-chat,.assistant-panel,.brazil-panel,.section) {
  background:#fff!important; color:#202a37!important; border-color:#8092a3!important;
}
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where(h1,h2,h3,h4,h5,h6,p,label,legend,summary,li,small,.section-kicker,.route-eyebrow,.hero-subtitle,.logo-text) { color:#202a37!important; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where(button,.btn-primary,.btn-secondary,.primary,.secondary,.hero-tag,.route-level,.route-choice-grid span,.route-choice-pills span) {
  background:var(--reading-tint)!important; color:var(--reading-primary)!important; border-color:var(--reading-primary)!important;
}
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where(.btn-primary,.primary,button[type="submit"],.route-generate-button) { background:var(--reading-primary)!important; color:#fff!important; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where(.btn-danger,.logout-btn,.route-delete-button) { background:#fff!important; color:var(--reading-accent)!important; border:2px dashed var(--reading-accent)!important; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where(input,select,textarea) { background:#fff!important; color:#202a37!important; border-color:#647587!important; accent-color:var(--reading-primary); }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body a:not(.btn-primary) { color:var(--reading-primary)!important; text-decoration:underline; text-underline-offset:.2em; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where(.sidebar,.footer) { background:var(--reading-tint)!important; color:#202a37!important; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where([aria-selected="true"],[aria-pressed="true"],[aria-current="page"],[aria-current="step"],.sidebar .item.active) { outline:3px solid var(--reading-primary); outline-offset:2px; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where([data-tone="error"],[aria-invalid="true"]) { border:2px dashed var(--reading-accent)!important; color:var(--reading-accent)!important; background:#fff!important; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where([data-tone="success"],[data-state="complete"]) { border:2px solid var(--reading-primary)!important; color:var(--reading-primary)!important; background:var(--reading-tint)!important; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) :focus-visible { outline:3px solid var(--reading-primary)!important; outline-offset:3px; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) body :where(.brazil-mission__panel,.brazil-mission__support,.hero__visual,.hero__content,.hero-panel,.privacy-header,.side-menu,.bottom-nav,.route-lesson,.route-module,.route-block,.admin-dashboard-menu) { background:var(--reading-tint)!important; color:#202a37!important; }
html[data-kuali-reading-colors]:not([data-kuali-reading-colors="default"]) #personalRouteView { --qaly-route-primary:var(--reading-primary)!important; --qaly-route-secondary:var(--reading-accent)!important; --qaly-route-accent:var(--reading-accent)!important; --qaly-route-ink:#202a37!important; --qaly-route-soft:var(--reading-tint)!important; --qaly-route-surface:#fff!important; }

html[data-kuali-reading-contrast="true"] body { background:#fff!important; color:#000!important; }
html[data-kuali-reading-contrast="true"] body :where(.navbar,.topbar,.panel,.hero__container,.card,.solution-card,.nosotros-card,.contact-card,.legal__card,.section,.kuali-reading-options) { background:#fff!important; color:#000!important; border-color:#000!important; }
html[data-kuali-reading-contrast="true"] body :where(h1,h2,h3,h4,h5,h6,p,a,label,legend,summary,li,small,strong,.section-copy) { color:#000!important; }
