/* Bounded accessibility and layout repairs. Existing design and effects retained. */
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 100000; background: #fff; color: #1f3f89; padding: 12px 20px; font-weight: 700; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid #a56b00 !important; outline-offset: 4px; }
main:focus { outline: none; }
.form-status { width: 100%; margin: 16px 0 0; padding: 14px 16px; border: 1px solid currentColor; border-radius: 8px; font-size: 15px; line-height: 1.6; }
.form-status:empty { display: none; }
.newsletter-form .form-status { color: #fff; }
button:disabled { opacity: .65; cursor: wait; }
.fact-item .outreach-title { font-size: clamp(24px,3vw,36px); line-height: 1.15; }
#main-content { scroll-margin-top: 90px; }
.testimonial-dot { min-width: 18px; min-height: 18px; }
@media (max-width: 1100px) {
  #main-nav { position: relative; }
  #main-nav .nav-links { display: none; flex-direction: column; gap: 0; }
  #main-nav .nav-hamburger { display: flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
  #main-nav .nav-links.open { display: flex; position: absolute; top: 68px; left: 0; right: 0; background: var(--dark); padding: 16px 0; border-bottom: 2px solid var(--gold); z-index: 100; max-height: calc(100dvh - 100px); overflow-y: auto; }
  #main-nav .nav-links.open a { padding: 12px 24px; border-radius: 0; }
}
@media (max-width: 768px) {
  .container-wide[style*="grid-template-columns:1fr 1fr"],.container-wide[style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; gap: 32px !important; }
  #volunteer-form form > div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .footer-col a { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
/* Unified presentation refinement. */
body { overflow-x: clip; }
main, section, .footer-inner, .contact-grid, .contact-form, .contact-info { min-width: 0; }
section { scroll-margin-top: 88px; }
main > section { padding-left: clamp(20px,4vw,64px); padding-right: clamp(20px,4vw,64px); }
.section-title, main h2 { line-height: 1.2; letter-spacing: -.025em; }
main p { text-wrap: pretty; }
main h1, main h2 { text-wrap: balance; }
.btn { border-radius: 8px; min-height: 46px; line-height: 1.35; display: inline-flex; align-items: center; justify-content: center; padding: 13px 24px; transition: background .2s,color .2s,box-shadow .2s; }
.hero-btns, .contact-choices { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.contact-choices { margin-top: 28px; }
.nav-logo { min-width: 0; flex-shrink: 1; }
.nav-logo img { flex-shrink: 0; }
#main-nav .nav-links { flex-shrink: 0; }
.nav-group { position:relative; }
.nav-group summary { list-style:none; padding:8px 14px; color:var(--text-light); cursor:pointer; font-size:13px; font-weight:600; letter-spacing:.04em; }
.nav-group summary::-webkit-details-marker { display:none; }
.nav-group summary::after { content:'⌄'; margin-left:8px; color:var(--gold); }
.nav-group ul { position:absolute; top:100%; left:0; width:230px; list-style:none; padding:10px; background:var(--dark); border:1px solid rgba(244,165,28,.25); border-radius:10px; box-shadow:0 14px 32px rgba(0,0,0,.18); }
.nav-group ul a { white-space:normal; }
#main-nav a[aria-current=page] { color:var(--gold); }
.program-card, .value-card, .impact-card, .timeline-card, .award-card, .past-card { border-radius:14px; box-shadow:0 7px 24px rgba(15,23,41,.06); }
.timeline-grid, .awards-grid { align-items:stretch; }
.about-hero img[src='Lorraine.JPG'] { object-fit:contain; box-shadow:0 16px 42px rgba(15,23,41,.16); }
.impact-card .impact-amount { font-size:clamp(20px,2vw,26px); line-height:1.3; margin-bottom:12px; }
.donate-form-inner { max-width:960px; }
.donate-form-section { padding-top:32px; }
.privacy-content { max-width:880px; margin:0 auto; padding-top:72px; padding-bottom:88px; }
.privacy-content h1 { font-size:clamp(36px,5vw,56px); margin:12px 0 36px; }
.privacy-content h2 { margin:30px 0 14px; font-size:25px; }
.privacy-content a { text-decoration:underline; overflow-wrap:anywhere; }
#cookie-banner { position:fixed; bottom:18px; left:18px; right:auto; width:min(440px,calc(100vw - 36px)); z-index:99997; background:var(--dark); color:#e5e7eb; border:1px solid rgba(244,165,28,.3); border-radius:12px; padding:14px 18px; display:flex; align-items:center; gap:16px; box-shadow:0 8px 32px rgba(0,0,0,.18); font-family:'Inter',sans-serif; font-size:12px; }
#cookie-banner p { line-height:1.6; }
#cookie-banner a { color:var(--gold); text-decoration:underline; }
#cookie-banner button { flex-shrink:0; color:#111; background:var(--gold); border:0; border-radius:6px; padding:10px 12px; font-weight:700; cursor:pointer; }
footer a { overflow-wrap:anywhere; }
@media(max-width:1100px) {
 #main-nav .nav-links.open { align-items:stretch; padding:12px 18px; }
 .nav-group summary { padding:12px 24px; }
 .nav-group ul { position:static; width:100%; box-shadow:none; border:0; border-left:1px solid rgba(244,165,28,.3); border-radius:0; margin-left:22px; width:calc(100% - 22px); }
}
@media(max-width:768px) {
 #main-nav { height:auto; min-height:76px; padding:12px 18px; gap:12px; }
 .nav-logo-text span:first-child { font-size:11px; letter-spacing:.04em; }
 .nav-logo-text span:last-child { font-size:8px; line-height:1.4; }
 .nav-logo img { width:38px!important; height:38px!important; }
 #main-nav .nav-links.open { top:100%; }
 main > section { padding-left:20px; padding-right:20px; }
 .hero-name { font-size:clamp(36px,8vw,60px)!important; }
 .hero { min-height:0; padding-top:64px; padding-bottom:64px; }
 .hero-btns .btn, .contact-choices .btn { width:100%; }
 .facts-strip { flex-wrap:wrap; gap:24px; }
 .fact-item { min-width:0; }
 .contact-grid,.contact-inner,.footer-inner { grid-template-columns:1fr!important; gap:32px!important; }
 input,select,textarea { max-width:100%; min-width:0; font-size:16px!important; }
 .float-btn { right:16px; bottom:18px; padding:11px 18px; font-size:14px; animation:none; }
 #messenger-btn { right:18px!important; bottom:78px!important; width:46px!important; height:46px!important; }
 #cookie-banner { bottom:16px; width:calc(100vw - 110px); left:12px; padding:12px; gap:10px; font-size:11px; }
 .footer-bottom { flex-direction:column; align-items:flex-start; gap:12px; }
 .partner-card img, .partner-logo img { max-height:160px; object-fit:contain; }
}
@media(prefers-reduced-motion:reduce) {
 .reveal,.reveal-left,.reveal-right { opacity:1; transform:none; transition:none; }
 .float-btn,.nav-donate { animation:none; }
}
/* Keep navigation dropdowns above the announcement strip. */
#main-nav { z-index: 1000; }
#main-nav .nav-group ul { z-index: 1001; }
/* Balanced first screen and consistent interior introductions. */
main .hero { padding:clamp(44px,5.5vw,76px) 24px 64px; background-image:linear-gradient(to bottom,rgba(250,248,245,.86),rgba(248,244,237,.90)),url('alzheimers-bg.jpg.png'); }
main .hero .hero-badge { font-size:11px; margin-bottom:24px; letter-spacing:.075em; }
main .hero .hero-tagline { font-size:clamp(18px,1.7vw,23px); margin:20px auto 16px; }
main .hero .hero-desc { font-size:17px; line-height:1.7; opacity:1; max-width:650px; margin-bottom:28px; }
#impact-ticker { padding:7px 18px!important; gap:12px!important; }
#impact-ticker .announcement-messages { font-size:12px!important; line-height:1.5!important; }
#impact-ticker button { border-color:rgba(255,255,255,.25)!important; padding:4px 8px!important; font-size:10px!important; opacity:.85; }
.about-hero,.mission-hero,.programs-hero,.partners-hero,.contact-hero,.cg-hero,.donate-hero { padding-top:64px!important; padding-bottom:56px!important; }
.about-hero h1,.mission-hero h1,.programs-hero h1,.partners-hero h1,.contact-hero h1,.cg-hero h1,.donate-hero h1 { font-size:clamp(36px,4.3vw,60px)!important; line-height:1.12!important; letter-spacing:-.025em; margin-bottom:20px; }
.mission-hero > p,.programs-hero > p,.partners-hero > p,.contact-hero > p,.cg-hero > p,.donate-hero > p { font-size:18px!important; max-width:730px!important; margin-left:auto!important; margin-right:auto!important; line-height:1.7!important; }
form[data-lbm-form] label { line-height:1.45; }
form[data-lbm-form] input:not([type=hidden]):not([name=bot-field]),form[data-lbm-form] select,form[data-lbm-form] textarea { border-radius:8px; border:1px solid #aab5c6; padding:13px 15px; line-height:1.5; }
form[data-lbm-form] textarea { min-height:150px; resize:vertical; }
form[data-lbm-form] input:focus,form[data-lbm-form] select:focus,form[data-lbm-form] textarea:focus { border-color:var(--navy); }
.contact-form, .cg-form-inner { border-radius:16px; }
.donate-form-inner { background:#fff; padding:clamp(20px,4vw,40px); border:1px solid #dbe0e9; border-radius:16px; box-shadow:0 12px 38px rgba(15,23,41,.06); }
.donate-form-inner h2 { font-size:clamp(25px,3vw,34px); line-height:1.2; }
.donate-form-inner .sub { max-width:650px; margin:16px auto 28px; line-height:1.7; }
.donate-page .float-btn { display:none; }
.float-btn { bottom:24px; right:24px; }
#messenger-btn { bottom:100px!important; right:26px!important; }
.donate-page #messenger-btn { bottom:24px!important; }
#cookie-banner { bottom:20px; width:min(360px,calc(100vw - 130px)); padding:12px 14px; font-size:11px; }
@media(max-width:768px) {
 main .hero { padding:40px 20px 48px; }
 main .hero .hero-badge { font-size:9px; letter-spacing:.025em; padding:6px 10px; }
 main .hero .hero-desc { font-size:16px; }
 #impact-ticker { padding:7px 12px!important; }
 #impact-ticker .announcement-messages { font-size:11px!important; }
 .about-hero,.mission-hero,.programs-hero,.partners-hero,.contact-hero,.cg-hero,.donate-hero { padding-top:44px!important; padding-bottom:40px!important; }
 .float-btn { bottom:16px; right:14px; padding:10px 15px; }
 #messenger-btn { bottom:76px!important; right:16px!important; }
 #cookie-banner { bottom:12px; width:calc(100vw - 116px); left:10px; gap:8px; padding:10px; }
 #cookie-banner button { padding:8px; font-size:11px; }
}
/* Restore original headline presentation; retain intro light without outlines. */
main .hero .hero-name { font-size:clamp(48px,8vw,112px)!important; line-height:.95; max-width:none; letter-spacing:normal; }
main .hero .hero-name .last { background:linear-gradient(90deg,var(--blue),var(--gold),var(--blue)); background-size:200% auto; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:shimmer 4s linear infinite; }
#lbm-loader .loader-logo, #lbm-loader .loader-glow-ring { border-color:transparent!important; }
@media(max-width:768px) { main .hero .hero-name { font-size:clamp(36px,8vw,60px)!important; } }
/* One continuous, coordinated color sweep across the complete headline. */
main .hero .hero-name {
 font-size:clamp(36px,4.8vw,72px)!important; line-height:1.08; max-width:1100px; margin:0 auto; letter-spacing:-.035em;
 background:linear-gradient(110deg,#1f3f89,#70419b,#b47b1c,#70419b,#1f3f89);
 background:linear-gradient(110deg in srgb,#1f3f89 0%,#1a4aa1 22%,#70419b 40%,#b47b1c 58%,#70419b 76%,#1f3f89 100%);
 background-size:250% 100%; background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
 animation:headlineColorFlow 9s ease-in-out infinite alternate;
}
main .hero .hero-name .first, main .hero .hero-name .last {
 background:none; -webkit-background-clip:initial; background-clip:initial; color:inherit; -webkit-text-fill-color:inherit; animation:none;
}
@keyframes headlineColorFlow { from { background-position:0% 50%; } to { background-position:100% 50%; } }
@media(max-width:768px) { main .hero .hero-name { font-size:clamp(34px,7.8vw,56px)!important; } }
@media(prefers-reduced-motion:reduce) { main .hero .hero-name { animation:none; background-position:50% 50%; } }
/* Match the intro glow to the logo, with no separate ring edge. */
#lbm-loader .loader-glow-ring {
 inset:0; width:100%; height:100%; border:0!important;
 background:transparent; filter:blur(10px); z-index:1; pointer-events:none;
}
