
:root{--navy:#06184b;--royal:#083b8f;--sky:#0ea5d8;--gold:#f7c948;--red:#c91f37;--paper:#fffdf7;--ink:#172033;--soft:#f4f0e5;--muted:#536078;--radius:24px;--shadow:0 20px 55px rgba(3,18,52,.22);--serif:Georgia,'Times New Roman',serif;--ui:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--ui);line-height:1.65;color:var(--ink);background:linear-gradient(135deg,#06184b 0%,#083b8f 38%,#0ea5d8 66%,#f7c948 100%)}a{color:#083b8f}.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:12px;z-index:100}.skip-link:focus{left:12px}.topbar{position:sticky;top:0;z-index:50;background:rgba(6,24,75,.97);border-bottom:3px solid var(--gold);color:white}.nav{max-width:1200px;margin:auto;padding:12px 18px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.brand{font-weight:900;letter-spacing:.03em}.nav a,.nav button{color:white;background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 12px;text-decoration:none;font-weight:800;cursor:pointer}.nav a:focus,.nav button:focus,.nav a:hover,.nav button:hover,.btn:focus{outline:3px solid var(--gold);outline-offset:3px}.hero{max-width:1200px;margin:auto;padding:70px 18px 44px;color:white;text-align:center}.hero h1{font-family:var(--serif);font-size:clamp(2.3rem,6vw,5rem);line-height:1.03;margin:16px 0;text-shadow:0 5px 28px rgba(0,0,0,.38)}.hero p{font-size:1.15rem;max-width:880px;margin:10px auto}.badge{display:inline-block;padding:8px 14px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(255,255,255,.14);font-weight:800}.wrap{max-width:1200px;margin:auto;padding:0 18px 60px}.panel,.book-card,.chapter-card,.reader-card,.side,.vision-card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:26px;margin:22px 0}.notice{border-left:7px solid var(--red);background:#fff4f2;border-radius:14px;padding:14px 16px;color:#172033}.book-grid,.chapter-grid,.vision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px}.book-card,.chapter-card,.vision-card{overflow:hidden;border:1px solid rgba(255,255,255,.7)}.cover{min-height:330px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;color:white;background:radial-gradient(circle at 16% 12%,rgba(255,255,255,.34),transparent 25%),radial-gradient(circle at 80% 30%,rgba(247,201,72,.28),transparent 25%),linear-gradient(145deg,var(--navy),var(--royal) 52%,var(--sky) 52%,var(--sky) 64%,var(--gold) 64%,var(--gold) 70%,var(--red) 70%)}.cover.workbook{background:radial-gradient(circle at 12% 16%,rgba(255,255,255,.32),transparent 25%),radial-gradient(circle at 82% 22%,rgba(247,201,72,.33),transparent 25%),linear-gradient(145deg,#063b5a,#0878a8 50%,#0c9f9a 50%,#0c9f9a 62%,#f7c948 62%,#f7c948 69%,#c91f37 69%)}.cover-art{font-size:3.4rem;letter-spacing:.2rem;text-shadow:0 4px 18px rgba(0,0,0,.35)}.cover h2{font-family:var(--serif);font-size:2.1rem;line-height:1.05;margin:16px 0 4px}.vol{display:inline-block;align-self:flex-start;background:rgba(0,0,0,.33);border-radius:999px;padding:6px 12px;font-weight:900}.body{padding:22px}.btn{display:inline-block;border:0;border-radius:999px;background:var(--gold);color:#06184b!important;font-weight:900;text-decoration:none;padding:12px 16px;margin:6px 6px 6px 0;cursor:pointer}.btn.secondary{background:#fff;color:#06184b!important;border:2px solid #06184b}.chapter-card{padding:20px}.chapter-card h3{margin-top:0;color:var(--navy)}.match-box{background:#edf7ff;border-left:7px solid var(--sky);padding:13px 15px;border-radius:14px;margin:12px 0}.inline-match{display:inline-block;font-family:var(--ui);font-size:.86rem;margin-left:.5rem;padding:.25rem .55rem;border-radius:999px;background:#edf7ff;border:1px solid #7cc7e8;text-decoration:none;font-weight:800}.reader-body{background:var(--soft)}.reader-shell{max-width:1280px;margin:auto;display:grid;grid-template-columns:315px minmax(0,1fr);gap:22px;padding:22px 18px 64px}.side{position:sticky;top:76px;align-self:start;max-height:calc(100vh - 95px);overflow:auto;padding:18px}.side a{display:block;padding:8px 6px;border-bottom:1px solid #e8dcc2;text-decoration:none;font-weight:700}.side a:hover,.side a:focus{background:#fff2bf;outline:2px solid var(--gold)}.reader-card{padding:clamp(22px,4vw,56px)}.reader-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;border-bottom:1px solid #e1d4b8;padding-bottom:16px}.reader-tools input{flex:1;min-width:210px;padding:10px;border:1px solid #8b846f;border-radius:12px}.reader-tools button{padding:10px 12px;border:1px solid #8b846f;background:white;border-radius:12px;font-weight:800;cursor:pointer}.reading-content{font-family:var(--serif);font-size:var(--readerSize,1.13rem);line-height:1.85}.reading-content h1,.reading-content h2,.reading-content h3{font-family:var(--serif);color:var(--navy);line-height:1.18}.reading-content h1{text-align:center;font-size:2.3rem;border-bottom:4px double var(--gold);padding-bottom:16px}.reading-content h2{font-size:1.85rem;margin-top:2em}.reading-content h3{font-size:1.35rem;margin-top:1.55em}.reading-content p{margin:0 0 1em}.page-nav{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:34px;padding-top:18px;border-top:1px solid #e1d4b8}.watermark{position:fixed;right:18px;bottom:14px;background:rgba(6,24,75,.9);color:white;padding:8px 12px;border-radius:999px;font-size:.84rem;z-index:30}.progress{position:fixed;left:0;top:0;height:5px;background:var(--gold);width:0;z-index:80}.highlight{background:#fff09a}.modal{border:0;border-radius:22px;box-shadow:var(--shadow);max-width:650px;width:calc(100% - 28px)}.modal::backdrop{background:rgba(0,0,0,.55)}.form-row{display:grid;gap:6px;margin-bottom:12px}.form-row input,.form-row textarea{font:inherit;padding:10px;border:1px solid #777;border-radius:10px}.footer{text-align:center;color:white;background:#06184b;padding:28px 18px}.dark{--paper:#111827;--ink:#f8fafc;--soft:#0f172a;--muted:#cbd5e1;background:#0f172a}.dark .panel,.dark .book-card,.dark .chapter-card,.dark .reader-card,.dark .side,.dark .vision-card{background:#111827;color:#f8fafc}.dark .reading-content h1,.dark .reading-content h2,.dark .reading-content h3,.dark .chapter-card h3,.dark .side a{color:#93c5fd}.dark .reader-tools input,.dark .reader-tools button{background:#0b1220;color:white;border-color:#64748b}@media(max-width:880px){.hero{text-align:left}.reader-shell{grid-template-columns:1fr}.side{position:relative;top:auto;max-height:370px}.nav{align-items:flex-start}.chapter-grid{grid-template-columns:1fr}}@media print{body{display:none!important}}


.author-photo{width:100%;border-radius:22px;box-shadow:0 18px 45px rgba(3,18,52,.25);object-fit:cover;background:#eee}.hero-photo{max-height:520px;object-position:center top}.author-layout{display:grid;grid-template-columns:minmax(250px,420px) 1fr;gap:28px;align-items:start}.photo-caption{font-size:.95rem;color:var(--muted);margin-top:8px}.share-panel{background:#eef8ff;border-left:7px solid var(--sky);border-radius:16px;padding:14px 16px;margin:18px 0}.share-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.share-buttons a,.share-buttons button{display:inline-block;border:0;border-radius:999px;background:#06184b;color:white!important;text-decoration:none;font-weight:900;padding:10px 14px;cursor:pointer}.guestbook-entry{border:1px solid #e1d4b8;border-radius:16px;padding:14px;margin:12px 0;background:#fff}.dark .guestbook-entry{background:#0b1220;border-color:#334155}.rating{font-weight:900;color:#835500}.social-note{font-size:.95rem;color:var(--muted)}@media(max-width:880px){.author-layout{grid-template-columns:1fr}.hero-photo{max-height:none}}

.poem-details{margin:1.5rem 0;padding:1rem;border:2px solid rgba(0,0,0,.12);border-radius:1rem;background:rgba(255,255,255,.75)}
.poem-details summary{font-weight:800;cursor:pointer;font-size:1.08rem}
.poem-lines{margin-top:1rem}
.poem-lines p{margin:.35rem 0}

.references-list{font-family:var(--serif);padding-left:1.6rem}.references-list li{margin:0 0 .85rem;overflow-wrap:anywhere}

.section-link-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid #e1d4b8}.section-link-nav a{margin:4px 4px 4px 0}

.music-promo{background:linear-gradient(135deg,#06184b,#083b8f 48%,#0ea5d8);color:white;border:3px solid var(--gold)}
.music-promo a{color:#06184b}.music-promo h2,.music-promo h3{color:white}.music-promo-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:22px;align-items:center}.music-promo-card{min-height:220px;border-radius:24px;background:linear-gradient(145deg,#00abc9 0 35%,#f7c948 35% 45%,#050505 45% 58%,#f7c948 58% 68%,#00abc9 68%);display:grid;place-items:center;text-align:center;color:white;padding:22px;box-shadow:0 18px 48px rgba(0,0,0,.25)}.music-promo-card span{font-size:4rem}.music-promo-card strong{display:block;font-size:1.5rem;text-shadow:0 3px 8px rgba(0,0,0,.45)}.music-promo-card em{display:block;background:rgba(0,0,0,.45);border-radius:999px;padding:8px 12px}.dark-badge{background:rgba(0,0,0,.28);color:white;border-color:rgba(255,255,255,.55)}.footer a{color:white;font-weight:800}@media(max-width:800px){.music-promo-grid{grid-template-columns:1fr}.music-promo-card{min-height:170px}}


/* Cartwright Accessibility Solutions integration */
.services-hero{padding-top:64px}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin-top:16px}.service-card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(6,24,75,.18);padding:20px}.service-card h3{color:var(--navy);margin-top:0}.service-card li{margin:.35rem 0}.columns-list{columns:2;column-gap:2rem}.dark .service-card{background:#111827;color:#f8fafc;border-color:#334155}.dark .service-card h3{color:#93c5fd}@media(max-width:700px){.columns-list{columns:1}}


/* Cartwright Accessibility Solutions polished section */
.cas-hero{background:radial-gradient(circle at 85% 15%,rgba(247,201,72,.28),transparent 25rem)}
.cas-hero-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.1fr .75fr;gap:28px;align-items:center;text-align:left}.cas-hero-photo{margin:0}.cas-hero-photo img{width:100%;border-radius:26px;border:2px solid rgba(255,255,255,.55);box-shadow:var(--shadow);display:block}.cas-hero-photo figcaption{color:white;font-weight:800;margin-top:8px}.cas-tagline{font-size:clamp(1.3rem,2.7vw,2rem)}.cas-two-col{display:grid;grid-template-columns:1.1fr .8fr;gap:22px;align-items:start}.mission-grid,.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.mission-card,.why-grid>div,.consult-form{border:1px solid rgba(6,24,75,.18);border-radius:20px;background:rgba(255,255,255,.55);padding:18px}.service-icon{font-size:2rem;margin-bottom:8px}.consult-form label{display:block;font-weight:900;margin:10px 0}.consult-form input,.consult-form textarea,.consult-form select{width:100%;font:inherit;border:1px solid #777;border-radius:12px;padding:11px;background:#fff;color:#111;margin-top:5px}.testimonials{border-left:8px solid var(--gold)}.dark .mission-card,.dark .why-grid>div,.dark .consult-form{background:#0b1220;border-color:#334155}@media(max-width:880px){.cas-hero-inner,.cas-two-col{grid-template-columns:1fr}.cas-hero-photo img{max-width:340px}.cas-hero{text-align:left}}


/* Welcome audio player */
.welcome-audio audio{width:100%;max-width:760px;display:block;margin:1rem 0;}
.audio-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;}

/* Accessibility icon update: consistent modern icon presentation */
.service-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;background:rgba(11,76,131,.10);border:1px solid rgba(6,24,75,.18);font-size:1.65rem;line-height:1;margin-bottom:10px;}
.music-promo-card span[role="img"]{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:999px;background:rgba(255,255,255,.16);font-size:2rem;margin-bottom:.35rem;}
.dark .service-icon{background:rgba(255,255,255,.08);border-color:#334155;}

/* Accessible Brain Vitamin chapter illustrations */
.chapter-illustration {
  margin: 1.5rem 0 2rem;
  padding: 1rem;
  border: 2px solid #15345b;
  border-radius: 18px;
  background: #ffffff;
}
.chapter-illustration img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
.chapter-illustration figcaption {
  margin-top: 0.75rem;
  font-weight: 700;
}

/* Accessible Game Center */
.game-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.game-choice{min-height:7rem;padding:1rem;border:3px solid currentColor;border-radius:.75rem;background:var(--card,#fff);color:inherit;font:inherit;font-weight:700;text-align:left;cursor:pointer}.game-choice span{display:block;margin-top:.5rem;font-weight:400}.game-choice:focus-visible,.sound-pad button:focus-visible,.trivia-options button:focus-visible,input:focus-visible{outline:5px solid #ffbf00;outline-offset:3px}.game-status{background:#fff3cd;color:#111;border:3px solid #7a5b00;border-radius:.6rem;padding:1rem;font-weight:700}.game-score{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.game-score span{border:2px solid currentColor;border-radius:.5rem;padding:.5rem 1rem}.sound-pad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.sound-pad button,.trivia-options button{min-height:4rem;padding:.75rem;border:3px solid currentColor;border-radius:.6rem;background:transparent;color:inherit;font:inherit;font-weight:700}.sound-pad button.active{transform:scale(1.03);background:#dbeafe;color:#111}.game-panel input{display:block;width:min(100%,32rem);min-height:3.25rem;margin:.5rem 0 1rem;padding:.6rem;border:2px solid currentColor;border-radius:.4rem;font:inherit}.scramble{font-size:1.6rem;font-weight:800;letter-spacing:.18em}.trivia-options{display:grid;gap:.75rem;margin:1rem 0}@media(max-width:600px){.sound-pad{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.sound-pad button.active{transform:none}}

/* Mind Gym expanded games */
.braille-cell{display:grid;grid-template-columns:repeat(2,minmax(9rem,1fr));gap:.7rem;max-width:32rem}.braille-cell button,.memory-card{min-height:4.5rem;border:3px solid currentColor;border-radius:.75rem;background:transparent;color:inherit;font:inherit;font-weight:800}.braille-cell button[aria-pressed="true"]{background:#083b8f;color:#fff;box-shadow:inset 0 0 0 4px #f7c948}.key-help{font-weight:700}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(5rem,1fr));gap:.75rem;max-width:48rem}.memory-card{font-size:1.1rem}.memory-card[data-state="hidden"]{background:#083b8f;color:#fff}.memory-card[data-state="shown"],.memory-card[data-state="matched"]{background:#fff3cd;color:#111}.memory-card[data-state="matched"]{border-style:double;border-width:6px}.card-battle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:42rem}.playing-card{min-height:9rem;display:grid;place-items:center;border:4px solid currentColor;border-radius:1rem;font-size:clamp(1.4rem,4vw,2.4rem);font-weight:900;background:#fff;color:#111;text-align:center;padding:1rem}.dark .playing-card{background:#f8fafc;color:#111}@media(max-width:650px){.memory-grid{grid-template-columns:repeat(3,minmax(4.5rem,1fr))}.card-battle{grid-template-columns:1fr}.braille-cell{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Word Tiles and Island Property Tycoon */
.tile-rack{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.letter-tile{min-width:3.5rem;min-height:3.5rem;border:3px solid #06184b;border-radius:.55rem;background:#fff3cd;color:#111;font:inherit;font-size:1.4rem;font-weight:900;box-shadow:0 .25rem 0 #8a6d00;cursor:pointer}.letter-tile:focus-visible,.property-space:focus-visible{outline:5px solid #ffbf00;outline-offset:3px}.property-board{display:grid;grid-template-columns:repeat(4,minmax(8rem,1fr));gap:.7rem;margin:1rem 0}.property-space{min-height:8rem;border:3px solid currentColor;border-radius:.8rem;padding:.7rem;background:rgba(255,255,255,.72);display:flex;flex-direction:column;gap:.35rem}.property-space strong{font-size:1rem}.property-space span,.property-space small{display:block}.dark .property-space{background:#0b1220}@media(max-width:850px){.property-board{grid-template-columns:repeat(3,minmax(7rem,1fr))}}@media(max-width:600px){.property-board{grid-template-columns:repeat(2,minmax(0,1fr))}.letter-tile{min-width:3rem}}


/* Brain Vitamin Messenger */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.messenger-widget{position:fixed;right:1rem;bottom:1rem;z-index:10000;max-width:min(28rem,calc(100vw - 2rem))}
.messenger-launcher{border:3px solid #111;border-radius:999px;padding:.8rem 1rem;background:#ffd34e;color:#111;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.3);cursor:pointer}
.messenger-panel{width:min(28rem,calc(100vw - 2rem));max-height:min(80vh,48rem);overflow:auto;background:#fff;color:#111;border:4px solid #132a4f;border-radius:1rem;padding:1rem;box-shadow:0 8px 30px rgba(0,0,0,.42)}
.messenger-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:2px solid #ccc;margin-bottom:.75rem}.messenger-header h2{margin:.1rem 0 .65rem}.messenger-kicker{font-weight:800;margin:0}.messenger-close{min-height:2.75rem}.messenger-form fieldset{margin:.75rem 0;padding:.75rem;border:2px solid #333}.messenger-form input,.messenger-form select,.messenger-form textarea{width:100%;font:inherit;padding:.65rem;border:2px solid #333;border-radius:.35rem;background:#fff;color:#111}.messenger-form input[type=radio]{width:auto}.messenger-fallback{border-top:2px solid #ccc;margin-top:1rem;padding-top:.5rem}.messenger-privacy{font-size:.9rem}.messenger-launcher:focus-visible,.messenger-panel :focus-visible{outline:5px solid #ffbf00;outline-offset:3px}
@media(max-width:600px){.messenger-widget{right:.5rem;bottom:.5rem;max-width:calc(100vw - 1rem)}.messenger-panel{width:calc(100vw - 1rem);max-height:85vh}.messenger-launcher{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.messenger-widget *{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){.messenger-launcher,.messenger-panel{forced-color-adjust:auto}}
