/* Blue/white identity; interaction and layout changes supply differentiation. */
:root{--blue:#245deb;--sky:#eaf3ff}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:#245deb;z-index:100;pointer-events:none}
.main-nav{position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(16px);transition:box-shadow .25s}
.has-scrolled .main-nav{box-shadow:0 7px 24px #123b7212}
.nav-inner a:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-inner a:hover:before,.nav-inner a.active:before{transform:scaleX(1)}
.nav-inner a.active:after{display:none}.nav-inner a:hover{color:var(--blue)}
.hero-copy h1{color:#123b72}.hero-copy h1 em{color:var(--blue)}
.hero-feature{position:relative;overflow:hidden;box-shadow:18px 18px 0 var(--sky);transition:transform .4s,box-shadow .4s}
.hero-feature>img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.hero-feature:hover{transform:translateY(-6px);box-shadow:22px 26px 0 #dfeeff}.hero-feature:hover>img{transform:scale(1.035)}
.hero-feature-bottom>b,.round-link{transition:transform .35s,background .35s}.hero-feature:hover .hero-feature-bottom>b,.round-link:hover{transform:rotate(45deg);background:white}
.topic-strip a{position:relative;transition:background .3s,color .3s,padding .3s}.topic-strip a:hover{background:var(--sky);color:var(--blue);padding-top:8px;padding-bottom:8px}.topic-strip a>b{transition:transform .3s}.topic-strip a:hover>b{transform:translate(3px,-3px)}
.article-card{transition:background .3s,box-shadow .3s}.article-grid .article-card:hover{background:var(--sky);box-shadow:12px 0 0 var(--sky),-12px 0 0 var(--sky)}
.card-image{overflow:hidden}.card-image img{transition:transform .6s}.article-card:hover .card-image img{transform:scale(1.06)}
.desk-side>a,.route-list>a{transition:background .3s}.desk-side>a:hover{background:var(--sky)}.route-list>a:hover{background:#ffffff15}
.button,.filter-tabs button,.tag{transition:background .25s,color .25s,transform .25s}.button:hover{background:var(--blue);transform:translateY(-2px)}.tag:hover{color:var(--blue);transform:translateX(3px)}
.faq-grid summary>span{transition:transform .3s}.faq-grid details[open] summary>span{transform:rotate(45deg)}
.reveal-section{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.reveal-section.is-visible{opacity:1;transform:none}
dialog[open]{animation:search-enter .25s ease-out}@keyframes search-enter{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
html{scroll-padding-top:90px}
@media(max-width:600px){.hero-feature{box-shadow:8px 8px 0 var(--sky)}.hero-feature:hover{transform:none;box-shadow:8px 8px 0 var(--sky)}.reveal-section{transform:translateY(12px)}.hero-copy h1{font-size:64px}}
@media(prefers-reduced-motion:reduce){.reveal-section{opacity:1;transform:none}*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.hero-feature-top,.hero-feature-bottom,.reading-band .eyebrow,.reading-band p,.route-list small,.route-list b{color:#c8e0ff}.hero-feature-top{font-size:10px}.hero-feature-top>span:last-child{font-size:9px}.reading-band p{font-size:12px}
