.impact-story--dementia { background:linear-gradient(145deg,#1b314d 0%,#2c496c 54%,#546b81 100%); }
.impact-story--dementia::after { background:linear-gradient(180deg,rgba(14,30,48,.05) 18%,rgba(14,30,48,.93) 100%); }
.dementia-illustration { position:absolute; inset:0; overflow:hidden; }
.dementia-illustration::before { content:""; position:absolute; width:150%; aspect-ratio:1; left:-58%; top:-52%; border:1px solid rgba(208,176,126,.36); border-radius:50%; }
.dementia-orbit { position:absolute; width:125%; height:46%; left:-16%; top:14%; border:1px solid rgba(240,231,211,.23); border-radius:50%; transform:rotate(-19deg); }
.dementia-sun { position:absolute; width:47px; height:47px; right:18%; top:19%; background:#c69a64; transform:rotate(45deg); box-shadow:0 0 0 10px rgba(198,154,100,.13),0 0 32px rgba(211,177,127,.36); }
.dementia-path { position:absolute; width:80%; height:42%; bottom:-29%; left:16%; border:1px solid rgba(231,216,185,.46); border-top-left-radius:100%; border-top-right-radius:100%; transform:rotate(-12deg); }
.dementia-illustration small { position:absolute; left:15px; top:16px; color:rgba(255,255,255,.62); font:8px Georgia,serif; letter-spacing:.16em; white-space:nowrap; }

/* Contact QR card, mobile navigation, and content notice. */
.line-contact { display:flex; align-items:center; gap:14px; margin:0; padding:10px 16px 10px 10px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.07); text-align:left; backdrop-filter:blur(8px); }
.line-contact img { display:block; width:86px; height:86px; padding:4px; background:white; object-fit:contain; }
.line-contact figcaption { color:white; font:14px/1.6 "Noto Serif TC",serif; letter-spacing:.08em; }
.line-contact figcaption small { display:block; margin-top:3px; color:rgba(255,255,255,.63); font:10px/1.6 "Noto Sans TC",sans-serif; letter-spacing:.13em; }
.copyright-notice { grid-column:1 / -1; margin-top:5px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.42); font-size:10px; line-height:1.8; letter-spacing:.04em; }

@media (max-width:980px) {
  .site-header nav { gap:16px; }
  .site-header nav a:not(.nav-cta) { display:inline; }
}

@media (max-width:640px) {
  .site-header { height:78px; padding:0 20px; }
  .site-header nav { position:absolute; top:78px; left:0; right:0; display:flex; justify-content:flex-start; gap:4px; padding:9px 18px 10px; overflow-x:auto; white-space:nowrap; background:rgba(23,43,71,.97); border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); scrollbar-width:none; }
  .site-header nav::-webkit-scrollbar { display:none; }
  .site-header nav a, .site-header nav a:not(.nav-cta) { display:inline-flex; flex:0 0 auto; align-items:center; min-height:32px; padding:7px 9px; font-size:10px; letter-spacing:.07em; }
  .site-header .nav-cta { padding:7px 10px; border-color:rgba(255,255,255,.45); }
  .site-header .nav-cta span { margin-left:6px; }
  .hero { padding-top:188px; }
  .line-contact { width:230px; justify-content:flex-start; }
  .copyright-notice { margin-top:0; padding-top:16px; }
}
