/* v10 — contrast-safe UI system and a clean mobile split hero */
:root{--ui-navy:#061b2d;--ui-navy-2:#0a2b41;--ui-cyan:#52c7d6;--ui-paper:#fbfcfc;--ui-soft:#eef5f6;--ui-text:#0b2739;--ui-muted:#627985}
body{background:var(--ui-paper);color:var(--ui-text)}
.cursor-glow{display:none!important}
.reveal{opacity:1!important;transform:none!important}

/* Explicit contrast: these values do not depend on inherited section colors. */
.portal .section-label span,.course-copy h2,.featured .section-title h2{color:var(--ui-text)}
.course-copy p,.featured .section-title p{color:var(--ui-muted)}
.course-preview article{background:#fff;border:1px solid #dce8eb;border-right:3px solid var(--ui-cyan);color:var(--ui-text);box-shadow:0 8px 24px #0b2c3e08}
.course-preview span{color:#087f94}.course-preview b{color:#102d3e}.course-preview small{color:#607985}
.academic-band{background:#08283e;color:#fff}.academic-band h2,.academic-band b{color:#fff}.academic-band p{color:#b5ced7}.academic-band span{color:#8fadb8}
.featured{background:linear-gradient(180deg,#eef5f6 0%,#eaf2f4 100%)}
.featured .resource-card:not(.trauma-card){background:#fff;color:var(--ui-text)}
.featured .resource-card:not(.trauma-card) p{color:var(--ui-muted)}
.world-articles{background:#071f32;color:#fff}.world-articles .section-title h2{color:#fff}.world-articles .section-title p{color:#9fb7c1}.world-card{background:#0d2b40;color:#fff}.world-card h3{color:#fff}.world-card p{color:#abc0c9}
.site-footer{background:#051a2a}.footer-top>p{font-size:13px;color:#a9c0c9}.footer-top nav a{font-size:12px;line-height:1.7;transition:color .2s}.footer-top nav a:hover{color:#61cbd8}.footer-bottom{font-size:10px;color:#819da8}

/* Section rhythm: light / soft / dark / pale / dark. */
body[data-page=home] .portal{position:relative;margin-top:92px;margin-bottom:96px}
body[data-page=home] .portal:before{content:'+';position:absolute;left:-38px;top:-72px;font:200 170px Arial;color:#0d91a506;pointer-events:none}
body[data-page=home] .course-showcase{max-width:1210px;margin:0 auto 96px;padding:64px 58px;background:#f1f6f7;border:1px solid #dce8ea;position:relative;overflow:hidden}
body[data-page=home] .course-showcase:before{content:'';position:absolute;left:-30px;bottom:30px;width:420px;height:90px;background:linear-gradient(135deg,transparent 0 19%,#2098aa0a 20% 21%,transparent 22% 39%,#2098aa0a 40% 41%,transparent 42%);pointer-events:none}
body[data-page=home] .course-showcase>*{position:relative}
body[data-page=home] .academic-band{box-shadow:0 24px 60px #061d3020}
body[data-page=home] .featured{border-top:1px solid #dce8ea;border-bottom:1px solid #dce8ea}
body[data-page=home] .world-articles{border-top:4px solid #42bdcd}

/* Predictable motion. No padding jumps, aggressive shifts or flashing overlays. */
.portal-card,.resource-card,.world-card,.course-preview article,.course-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background-color .28s ease}
.portal-card:before,.resource-card:before,.resource-card:after,.world-card:before{pointer-events:none}
.latest-list>a:hover{padding-right:12px}
@media(hover:hover){
  .portal-card:hover,.resource-card:hover,.world-card:hover,.course-card:hover{transform:translateY(-4px)}
  .course-preview article:hover{transform:translateX(-3px);background:#fafdfe}
}
@media(hover:none){.portal-card:hover,.resource-card:hover,.world-card:hover,.course-card:hover,.course-preview article:hover{transform:none}}

@media(max-width:900px){
  body[data-page=home] .course-showcase{margin-left:24px;margin-right:24px;padding:44px 36px}
}

@media(max-width:520px){
  body[data-page=home] .hero{--mobile-visual:clamp(270px,72vw,320px);height:calc(var(--mobile-visual) + 340px)!important;min-height:0!important;background:var(--ui-navy);border-bottom:0}
  body[data-page=home] .hero-slide:before,
  body[data-page=home] .hero-slide.active:before{inset:0 0 auto!important;width:100%!important;height:var(--mobile-visual)!important;background-size:cover!important;background-position:center center!important;opacity:.94!important;transform:none!important;transition:opacity .8s ease!important;filter:saturate(.9) contrast(.98)}
  body[data-page=home] .hero-slide:first-child:before{background-position:70% center!important;opacity:.9!important}
  body[data-page=home] .hero-slide:after{background:linear-gradient(180deg,transparent 0%,transparent calc(var(--mobile-visual) - 28px),#061b2d var(--mobile-visual),#061b2d 100%)!important}
  body[data-page=home] .hero-content{top:var(--mobile-visual)!important;right:0!important;left:0!important;width:auto!important;max-width:none!important;padding:20px 22px 0;background:var(--ui-navy);border:0;border-radius:0;box-shadow:none;backdrop-filter:none;text-shadow:none;transform:none!important}
  body[data-page=home] .hero .kicker{font-size:10px;letter-spacing:.13em;margin-bottom:10px;color:#65d0dc}
  body[data-page=home] .hero h1,body[data-page=home] .hero h2{font-size:32px!important;line-height:1.23;letter-spacing:-.04em;margin:0 0 10px;color:#fff}
  body[data-page=home] .hero-content>p{font-size:12px;line-height:1.75;color:#c6dae2;margin:0;max-width:350px}
  body[data-page=home] .hero-actions{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:14px;margin-top:14px}
  body[data-page=home] .hero-actions .primary{padding:11px 14px;gap:18px;font-size:12px;white-space:nowrap}
  body[data-page=home] .hero-actions .link{font-size:11px;white-space:nowrap;color:#dbe9ee}
  body[data-page=home] .hero-controls{right:50%!important;left:auto!important;bottom:12px!important;transform:translateX(50%);width:max-content;padding:0;background:none;border:0;border-radius:0;backdrop-filter:none}
  body[data-page=home] .hero-controls>button{display:none}
  body[data-page=home] .hero-dots{gap:8px}
  body[data-page=home] .hero-dots button{width:52px;padding:7px 0;color:#c9dce3}
  body[data-page=home] .hero-dots b{font-size:11px!important}
  body[data-page=home] .hero-dots span{height:3px;margin-top:6px;background:#ffffff30}
  body[data-page=home] .scroll-hint{display:none}

  body[data-page=home] .portal{margin:58px auto 72px;padding:0 18px}
  body[data-page=home] .section-label{margin-bottom:22px}.section-label span{font-size:13px}.section-label b{font-size:10px}
  body[data-page=home] .portal-grid{gap:13px}
  body[data-page=home] .portal-card{min-height:275px;padding:27px}
  body[data-page=home] .portal-card h3{font-size:23px;line-height:1.55}
  body[data-page=home] .portal-card p{font-size:13px;line-height:1.85}

  body[data-page=home] .course-showcase{margin:0 18px 72px;padding:32px 24px;display:block}
  body[data-page=home] .course-copy h2{font-size:34px;line-height:1.35}
  body[data-page=home] .course-copy p{font-size:13px;line-height:1.95}
  body[data-page=home] .course-preview{margin-top:30px;gap:10px}
  body[data-page=home] .course-preview article{padding:18px;display:block}
  body[data-page=home] .course-preview article b{display:block;font-size:16px;line-height:1.6;margin:7px 0}
  body[data-page=home] .course-preview article span{font-size:11px}.course-preview article small{font-size:10px}

  body[data-page=home] .academic-band{margin:0 18px 72px;padding:32px 25px;box-shadow:none}
  body[data-page=home] .academic-band h2{font-size:29px}.academic-band p{font-size:13px;line-height:2}
  body[data-page=home] .academic-stats b{font-size:14px}.academic-stats span{font-size:10px}

  body[data-page=home] .featured{padding:70px 18px}
  body[data-page=home] .featured .section-title h2{font-size:34px;line-height:1.35}
  body[data-page=home] .resource-card h3{font-size:19px}.resource-card p{font-size:13px}.resource-card .resource-top span,.resource-card .resource-top b,.resource-card .resource-bottom small{font-size:10px}

  body[data-page=home] .world-articles{padding:70px 18px}
  body[data-page=home] .world-articles .section-title h2{font-size:34px;line-height:1.35}
  body[data-page=home] .world-articles .section-title p{font-size:12px;line-height:1.8}
  body[data-page=home] .world-card,body[data-page=home] .featured-paper{min-height:285px;padding:28px}
  body[data-page=home] .world-card h3,body[data-page=home] .featured-paper h3{font-size:21px;line-height:1.65}
  body[data-page=home] .world-card p,body[data-page=home] .featured-paper p{font-size:13px;line-height:1.9}.world-card>span{font-size:10px}
  .site-footer{padding:50px 20px 24px}.footer-top>p{font-size:13px}.footer-top nav{gap:5px}.footer-top nav a{font-size:12px;padding:4px 0}.footer-bottom{font-size:10px;line-height:1.7}
}
