/* Editorial chapter polish: lively color, soft geometry, restrained motion. */
body:not([data-category="home"]){background:#fffafd}
body[data-category="research"]{background:linear-gradient(145deg,#fffafd 0%,#fff4f6 48%,#fffafb 100%)}
body[data-category="leadership"]{background:linear-gradient(145deg,#fffdf8 0%,#fff9e7 48%,#fffdf8 100%)}
body[data-category="creative-writing"]{background:linear-gradient(145deg,#fbfffc 0%,#effaf3 48%,#fcfffd 100%)}
body[data-category="community-impact"]{background:linear-gradient(145deg,#fbfdff 0%,#eef8ff 48%,#fcfeff 100%)}

.home-copy .home-reveal{max-width:650px;margin:18px 0 0;font-size:17px;line-height:1.72;color:#651f3f}
.home-copy .home-reveal strong,.home-copy .home-reveal b{color:#a71252;font-weight:800;background:linear-gradient(transparent 67%,#ffd83f 67% 94%,transparent 94%);padding:0 2px}
.home-copy .story-ending{margin:19px 0 0;color:#e01774;font-family:Kalam,cursive;font-size:clamp(25px,2.5vw,34px);font-weight:700;line-height:1.25;transform:rotate(-.35deg)}

.route-shell{position:relative;isolation:isolate;overflow:visible;--accent:#a52d49;--stroke:#d99aa9;--tone:#f5c2cc;--tone2:#fff2f5;--button:#bd3857;padding-top:27px;background:radial-gradient(circle 260px at var(--glow-x,78%) var(--glow-y,180px),color-mix(in srgb,var(--tone) 18%,transparent),transparent 72%)}
.route-shell.theme-1{--accent:#7b5a0b;--stroke:#d5bd76;--tone:#f6dc91;--tone2:#fff9e8;--button:#987215}
.route-shell.theme-2{--accent:#246b45;--stroke:#9bc7ad;--tone:#b7dfc6;--tone2:#effaf3;--button:#328357}
.route-shell.theme-3{--accent:#2a678f;--stroke:#9bbfd9;--tone:#b9daf0;--tone2:#eef8fe;--button:#337aa8}
.route-shell::before{content:'';position:absolute;z-index:-1;top:120px;right:-3vw;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,var(--tone) 0 32%,transparent 33% 52%,color-mix(in srgb,var(--tone) 40%,transparent) 53% 58%,transparent 59%);opacity:.48;animation:route-float 11s ease-in-out infinite}

.category-hero{position:relative;overflow:hidden;display:block;max-width:930px;margin:24px 0 40px;padding:34px 38px;background:linear-gradient(120deg,color-mix(in srgb,var(--tone2) 82%,white),color-mix(in srgb,var(--tone) 55%,white));border:1px solid var(--stroke);border-left:7px solid var(--accent);border-radius:18px;box-shadow:0 14px 35px color-mix(in srgb,var(--accent) 12%,transparent)}
.category-hero::after{content:'✦';position:absolute;right:27px;bottom:13px;color:color-mix(in srgb,var(--accent) 28%,transparent);font-size:52px;line-height:1;transition:transform .45s ease,color .45s ease}
.category-hero:hover::after{transform:rotate(12deg) scale(1.08);color:color-mix(in srgb,var(--accent) 43%,transparent)}
.category-hero h1{margin:9px 0 14px;color:var(--accent);font-size:clamp(40px,4.9vw,60px)}
.category-hero .intro-description{max-width:760px;margin:0;font-size:17px;line-height:1.72;color:var(--ink)}
.chapter-seal{display:inline-flex;margin-bottom:9px;padding:6px 11px;border:1px solid var(--stroke);border-radius:999px;background:#ffffffb8;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:1.1px;line-height:1}

.activity-grid{gap:25px}
.activity-card{position:relative;border:1px solid var(--stroke);border-radius:16px;background:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 9%,transparent);transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,border-color .24s ease,background .24s ease;animation:card-rise .42s both;animation-delay:var(--card-delay,0ms)}
.activity-card::before{content:'';position:absolute;z-index:2;inset:0 0 auto;height:4px;background:var(--accent);opacity:.82}
.activity-card:is(:hover,:focus-visible){transform:translateY(-5px);border-color:var(--accent);background:var(--tone);box-shadow:0 14px 28px color-mix(in srgb,var(--accent) 15%,transparent)}
.activity-card:active{transform:translateY(-1px);box-shadow:0 5px 12px color-mix(in srgb,var(--accent) 11%,transparent)}
.card-image{height:235px;padding:6px;background:#fff;transition:transform .4s ease,filter .4s ease,background .24s ease}
.activity-card:is(:hover,:focus-visible) .card-image{transform:scale(1.018);filter:saturate(1.04);background:color-mix(in srgb,var(--tone2) 72%,white)}
.activity-card-body{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:19px 20px;background:color-mix(in srgb,var(--tone2) 70%,white);border:0;border-top:1px solid color-mix(in srgb,var(--stroke) 65%,white);border-radius:0;color:var(--ink);transition:background .24s ease}
.activity-card h2{margin:0;font-size:19px;line-height:1.38;font-weight:650}
.card-open{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--stroke);border-radius:50%;background:#fff;color:var(--accent);font-size:20px;font-weight:800;transition:transform .22s ease,background .22s ease,color .22s ease}
.activity-card:is(:hover,:focus-visible) .activity-card-body{background:var(--tone)}
.activity-card:is(:hover,:focus-visible) .card-open{transform:translate(2px,-2px);background:#fff;color:var(--accent)}

.route-shell>.back,.detail-end>.back,.detail-end>a:last-child,.next-path a,.source-card,.gallery-item,.aside-photo{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.route-shell>.back{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:999px;box-shadow:0 4px 0 color-mix(in srgb,var(--accent) 70%,#2b1420)}
.route-shell>.back:hover,.next-path a:hover,.source-card:hover,.detail-end>a:hover{transform:translateY(-2px)}
.route-shell>.back:active,.next-path a:active,.source-card:active,.detail-end>a:active{transform:translateY(1px)}
.next-path{align-items:center;border-top:1px solid var(--stroke);gap:10px}
.next-path>span{margin-right:5px;font-size:12px;letter-spacing:.8px;text-transform:uppercase}
.next-path a{padding:9px 13px;border:1px solid var(--stroke);border-radius:999px;background:var(--tone2)}
.next-path a:hover{background:var(--tone)}
.metrics{border:1px solid var(--stroke);border-radius:14px;background:var(--tone2);box-shadow:0 7px 20px color-mix(in srgb,var(--accent) 7%,transparent)}
.metric{background:transparent;transition:background .2s ease,transform .2s ease}
.metric:hover{background:#ffffff96;transform:translateY(-2px)}
.highlights li{border-bottom:1px solid color-mix(in srgb,var(--stroke) 65%,white)}
.source-card{border:1px solid var(--stroke);border-radius:13px;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 6%,transparent);background:#fff}
.source-card:hover{border-color:var(--accent);box-shadow:0 9px 20px color-mix(in srgb,var(--accent) 10%,transparent)}
.source-number,.source-card .arrow{color:var(--accent)}
.gallery-item,.aside-photo{border:1px solid var(--stroke);border-radius:13px;box-shadow:0 5px 15px color-mix(in srgb,var(--accent) 7%,transparent);overflow:hidden}
.role-badge{border:1px solid var(--stroke);border-radius:10px;background:var(--tone2);box-shadow:none}

/* The sparkle is Noor's signature: repeated quietly, never as decoration overload. */
.brand{position:relative}
.brand::after{content:'✦';position:absolute;right:-17px;top:-5px;color:#df1d78;font-size:14px;line-height:1;transform-origin:center;animation:signature-twinkle 4.8s ease-in-out infinite}
.category-hero::after{animation:signature-drift 6.5s ease-in-out infinite}
.detail-hero{position:relative;padding-right:76px}
.detail-hero::after{content:'✦';position:absolute;right:15px;top:48px;color:var(--accent);font-size:42px;line-height:1;opacity:.22;transform-origin:center;animation:signature-drift 6.5s ease-in-out infinite}
.route-shell .section-bar h2::before{content:'✦';display:inline-block;margin-right:10px;color:var(--accent);font-family:Arial,Helvetica,sans-serif;font-size:.52em;vertical-align:.22em;opacity:.7;transform:rotate(-9deg)}
.activity-card::after{content:'✦';position:absolute;z-index:4;right:14px;top:12px;color:var(--accent);font-size:21px;line-height:1;opacity:0;transform:translateY(5px) rotate(-18deg) scale(.75);transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.activity-card:is(:hover,:focus-visible)::after{opacity:.78;transform:translateY(0) rotate(7deg) scale(1)}
.footer-name span{display:inline-flex;margin-left:8px;color:#ffe56e;animation:signature-twinkle 4.8s ease-in-out infinite;animation-delay:1.1s}

.motion-ready{opacity:0;translate:0 16px;transition:opacity .58s ease,translate .65s cubic-bezier(.2,.8,.2,1);transition-delay:var(--motion-delay,0ms)}
.motion-ready.in-view{opacity:1;translate:0 0}
.category-hero::before{content:'';position:absolute;z-index:0;inset:-35% auto -35% -42%;width:28%;pointer-events:none;background:linear-gradient(100deg,transparent,#ffffff7d,transparent);transform:skewX(-17deg);animation:hero-sheen 1.15s .22s ease-out both}
.category-hero>*,.detail-hero>*{position:relative;z-index:1}
.detail-hero h1{position:relative;width:fit-content}
.detail-hero h1::before{content:'';position:absolute;left:0;right:0;bottom:-8px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--tone),transparent);transform:scaleX(0);transform-origin:left;animation:title-line 1s .28s cubic-bezier(.2,.8,.2,1) forwards}
.metrics.in-view .metric{animation:metric-arrive .48s both}
.metrics.in-view .metric:nth-child(2){animation-delay:.08s}.metrics.in-view .metric:nth-child(3){animation-delay:.16s}.metrics.in-view .metric:nth-child(4){animation-delay:.24s}
.source-card .arrow{transition:transform .22s ease}
.source-card:hover .arrow,.source-card:focus-visible .arrow{transform:translate(3px,-3px)}
@media(hover:hover){.aside-photo:hover,.gallery-item:hover{transform:translateY(-4px) rotate(-.35deg);box-shadow:0 12px 25px color-mix(in srgb,var(--accent) 12%,transparent)}.gallery-item:nth-child(even):hover{transform:translateY(-4px) rotate(.35deg)}}

@keyframes card-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes route-float{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-9px,7px) rotate(8deg)}}
@keyframes signature-twinkle{0%,100%{opacity:.55;transform:rotate(-8deg) scale(.9)}50%{opacity:1;transform:rotate(9deg) scale(1.18)}}
@keyframes signature-drift{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-7px) rotate(8deg)}}
@keyframes hero-sheen{from{left:-42%}to{left:118%}}
@keyframes title-line{to{transform:scaleX(1)}}
@keyframes metric-arrive{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:800px){.category-hero{padding:29px 25px}.category-hero::after{right:15px;font-size:38px}.category-hero .intro-description{font-size:16px}.activity-grid{gap:20px}.route-shell::before{display:none}.detail-hero{padding-right:0}.detail-hero::after{position:static;display:block;width:max-content;margin:-7px 0 14px auto;font-size:29px}}
@media(prefers-reduced-motion:reduce){.route-shell::before,.activity-card,.brand::after,.category-hero::before,.category-hero::after,.detail-hero::after,.detail-hero h1::before,.metric,.footer-name span{animation:none!important}.motion-ready{opacity:1!important;translate:0 0!important}.category-hero::after,.activity-card,.activity-card::after,.card-image,.card-open,.metric{transition:none!important}}
