@charset "UTF-8";

/* Interaction and detail pass */
:root{
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-smooth:cubic-bezier(.4,0,.2,1);
  --header-h:130px;
}

html{scrollbar-gutter:stable}
body{overflow-x:clip}
body.menu-open{overflow:hidden}
::selection{background:rgba(233,74,10,.2);color:var(--ink)}
a,button,input,select{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(47,127,190,.38);outline-offset:3px}
.skip-link{position:fixed;left:16px;top:12px;z-index:1001;padding:10px 16px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:800;transform:translateY(-150%);transition:transform .2s var(--ease-out)}
.skip-link:focus{transform:translateY(0)}

.scroll-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:1000;pointer-events:none;background:transparent}
.scroll-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--orange),#ff8a4c,var(--blue));transform:scaleX(0);transform-origin:left center;will-change:transform}

.site-header,.header-row,.brand img,.header-categories{transition:height .35s var(--ease-out),background .35s ease,box-shadow .35s ease,border-color .35s ease,transform .35s var(--ease-out),max-height .35s var(--ease-out),opacity .25s ease}
.site-header.scrolled{background:rgba(246,242,233,.985);box-shadow:0 12px 34px rgba(31,27,21,.09);border-bottom-color:transparent}
.site-header.scrolled .header-row{height:74px}
.site-header.scrolled .brand img{max-height:49px;width:218px}
.main-nav a{overflow:hidden;isolation:isolate}
.main-nav a::after{content:"";position:absolute;left:50%;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--orange);transform:translate(-50%,8px) scale(0);transition:transform .25s var(--ease-out)}
.main-nav a:hover::after{transform:translate(-50%,0) scale(1)}
.main-nav a.active::after{display:none}
.header-search{transition:width .3s var(--ease-out),border-color .25s ease,box-shadow .25s ease}
.header-search:focus-within{width:245px;border-color:rgba(233,74,10,.55);box-shadow:0 0 0 4px rgba(233,74,10,.09)}
.header-search button{transition:transform .25s var(--ease-out),background .2s ease}
.header-search button:hover{transform:translateY(-1px) scale(1.03)}
.category-row a{position:relative;transition:color .2s ease,transform .2s var(--ease-out)}
.category-row a:hover{transform:translateY(-1px)}

.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s var(--ease-out),box-shadow .28s ease,background .2s ease,border-color .2s ease}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.24) 48%,transparent 72%);transform:translateX(-125%);transition:transform .58s var(--ease-out);z-index:-1}
.btn:hover::before{transform:translateX(125%)}
.btn span,.more,.resource-card b,.major-mini b,.article-footer b{transition:transform .25s var(--ease-out)}
.btn:hover span{transform:translateX(4px)}
.more{display:inline-flex;align-items:center;gap:6px;text-underline-offset:4px}

.section{position:relative}
.section-head h2{text-wrap:balance}
.section-head p{text-wrap:pretty}
.section-label::before{transition:width .45s var(--ease-out)}
.section-head:hover .section-label::before{width:40px}
.tag{transition:border-color .2s ease,color .2s ease,background .2s ease}

/* First-screen entrance */
html.js .hero-copy>*{opacity:0;transform:translateY(24px)}
html.js .hero-board{opacity:0;transform:translateY(24px) scale(.985)}
html.js .page-hero .page-crumb,html.js .page-hero h1,html.js .page-hero p,html.js .page-hero .page-stat-grid{opacity:0;transform:translateY(22px)}
body.page-ready .hero-copy>*{animation:heroTextIn .72s var(--ease-out) forwards}
body.page-ready .hero-copy>*:nth-child(1){animation-delay:.06s}
body.page-ready .hero-copy>*:nth-child(2){animation-delay:.14s}
body.page-ready .hero-copy>*:nth-child(3){animation-delay:.22s}
body.page-ready .hero-copy>*:nth-child(4){animation-delay:.30s}
body.page-ready .hero-copy>*:nth-child(5){animation-delay:.38s}
body.page-ready .hero-board{animation:heroBoardIn .92s .18s var(--ease-out) forwards}
body.page-ready .page-hero .page-crumb{animation:heroTextIn .62s .05s var(--ease-out) forwards}
body.page-ready .page-hero h1{animation:heroTextIn .68s .12s var(--ease-out) forwards}
body.page-ready .page-hero p{animation:heroTextIn .68s .2s var(--ease-out) forwards}
body.page-ready .page-hero .page-stat-grid{animation:heroBoardIn .78s .22s var(--ease-out) forwards}
@keyframes heroTextIn{to{opacity:1;transform:translateY(0)}}
@keyframes heroBoardIn{to{opacity:1;transform:translateY(0) scale(1)}}

.home-hero::before{animation:ringDrift 9s ease-in-out infinite alternate;will-change:transform}
@keyframes ringDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-24px,22px,0) scale(1.06)}}
.hero-ticket{transform:rotate(1deg) translate3d(calc(var(--hero-x,0) * -8px),calc(var(--hero-y,0) * -7px),0);transition:transform .24s var(--ease-out),box-shadow .3s ease}
.hero-board:hover .hero-ticket{box-shadow:0 28px 75px rgba(36,30,22,.18)}
.hero-float{transform:rotate(-3deg) translate3d(calc(var(--hero-x,0) * 13px),calc(var(--hero-y,0) * 11px),0);transition:transform .24s var(--ease-out),box-shadow .3s ease}
.hero-seal{transform:translate3d(calc(var(--hero-x,0) * -10px),calc(var(--hero-y,0) * 9px),0);transition:transform .24s var(--ease-out)}
.hero-seal img{animation:sealPulse 4.6s ease-in-out infinite}
@keyframes sealPulse{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.035) rotate(2deg)}}
.ticket-route{transition:background .25s ease,transform .25s var(--ease-out),border-color .25s ease}
.ticket-route:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.48);transform:translateY(-3px)}

.news-ticker{position:relative;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ticker-track{animation-duration:var(--ticker-duration,34s);animation-name:tickerEnhanced}
.news-ticker:hover .ticker-track,.news-ticker:focus-within .ticker-track{animation-play-state:paused}
@keyframes tickerEnhanced{to{transform:translateX(calc(-50% - 16px))}}

/* Scroll reveal */
html.js .reveal{opacity:0;filter:blur(5px);transform:translate3d(0,28px,0);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out),filter .7s ease;transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform,filter}
html.js .reveal[data-reveal="left"]{transform:translate3d(-32px,0,0)}
html.js .reveal[data-reveal="right"]{transform:translate3d(32px,0,0)}
html.js .reveal[data-reveal="scale"]{transform:scale(.96)}
html.js .reveal.is-visible{opacity:1;filter:blur(0);transform:translate3d(0,0,0) scale(1)}

/* Cards and micro-interactions */
.motion-card{--rx:0deg;--ry:0deg;--lift:0px;transform:perspective(1000px) translateY(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .34s var(--ease-out),box-shadow .28s ease,border-color .22s ease;will-change:transform}
.motion-card:hover{--lift:-5px}
.path-card:hover,.major-mini:hover,.platform:hover,.article-card:hover,.major-card:hover{transform:perspective(1000px) translateY(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry))}
.path-arrow{transition:transform .35s var(--ease-out),background .25s ease}
.path-card:hover .path-arrow{transform:rotate(45deg) scale(1.05)}
.path-card::after{content:"";position:absolute;inset:auto -80px -100px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.7),transparent 66%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.path-card:hover::after{opacity:.65}
.intel-item h4,.major-mini h3,.article-card h3,.major-card h3{transition:color .22s ease}
.intel-item:hover h4,.major-mini:hover h3,.article-card:hover h3{color:var(--orange)}
.major-card:hover h3{color:var(--blue-dark)}
.resource-card{transition:transform .35s var(--ease-out),box-shadow .3s ease}
.resource-card:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(31,27,21,.18)}
.resource-card:hover b,.major-mini:hover b,.article-card:hover .article-footer b{transform:translateX(5px)}
.resource-card::after{transition:transform .65s var(--ease-out),opacity .3s ease}
.resource-card:hover::after{transform:translate(-18px,-18px) scale(1.12)}
.platform-mark{transition:transform .35s var(--ease-out),background .25s ease,color .25s ease}
.platform:hover .platform-mark{transform:rotate(-9deg) scale(1.08);background:var(--orange);color:#fff}
.page-stat{position:relative;overflow:hidden;transition:transform .28s var(--ease-out),box-shadow .28s ease,border-color .2s ease}
.page-stat::after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;right:-28px;bottom:-34px;border:15px solid rgba(233,74,10,.08);transition:transform .35s var(--ease-out)}
.page-stat.accent::after{border-color:rgba(255,255,255,.13)}
.page-stat:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(31,27,21,.08)}
.page-stat:hover::after{transform:scale(1.2) translate(-6px,-6px)}
.dash-card,.track-card,.check-item,.principle,.story-copy,.story-logo,.filter-panel{transition:transform .3s var(--ease-out),box-shadow .3s ease,border-color .25s ease}
.dash-card:hover,.check-item:hover,.principle:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(31,27,21,.08);border-color:rgba(233,74,10,.42)}
.track-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(31,27,21,.09)}
.process-step i{transition:transform .35s var(--ease-out),box-shadow .3s ease}
.process-step:hover i{transform:translateY(-5px) rotate(-5deg);box-shadow:0 12px 26px rgba(0,0,0,.14)}
.check-icon{transition:transform .35s var(--ease-out),background .25s ease,color .25s ease}
.check-item:hover .check-icon{transform:rotate(360deg);background:var(--orange);color:#fff}

.page-hero::after{animation:pageRing 8s ease-in-out infinite alternate}
@keyframes pageRing{to{transform:translate(-24px,18px) rotate(9deg)}}
.quick-index{position:relative;box-shadow:inset 0 -1px rgba(255,255,255,.08)}
.quick-index-row a{transition:opacity .2s ease,color .2s ease,transform .2s var(--ease-out)}
.quick-index-row a:hover{transform:translateY(-2px)}

.field input,.field select,.major-tools input,.major-tools select{transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}
.field input:focus,.field select:focus{border-color:rgba(255,255,255,.55);box-shadow:0 0 0 4px rgba(255,255,255,.08);background:rgba(255,255,255,.13)}
.major-tools input:focus,.major-tools select:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(233,74,10,.09)}
.filter-actions button{transition:transform .22s var(--ease-out),filter .2s ease}
.filter-actions button:hover{transform:translateY(-2px);filter:brightness(1.04)}
.result-head span{display:inline-flex;min-width:52px;justify-content:center;padding:5px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:800;color:var(--orange)}
.empty-state{min-height:220px;display:grid;place-items:center;font-size:14px}

.cta-band::before{animation:ctaLetters 8s ease-in-out infinite alternate}
@keyframes ctaLetters{to{transform:translateX(30px) rotate(-4deg)}}
.footer-domain{background:none;border:0;padding:0;cursor:pointer;transition:color .2s ease,letter-spacing .3s var(--ease-out)}
.footer-domain:hover{color:#fff;letter-spacing:.04em}
.footer-col a{transition:color .2s ease,transform .2s var(--ease-out)}
.footer-col a:hover{transform:translateX(4px)}
.toast{display:flex;align-items:center;gap:8px;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.toast::before{content:"✓";width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--orange);font-size:12px;font-weight:900}

.back-to-top{position:fixed;right:24px;bottom:24px;z-index:75;width:48px;height:48px;border:1px solid rgba(23,22,18,.14);border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);color:var(--ink);display:grid;place-items:center;font-size:20px;box-shadow:0 12px 28px rgba(31,27,21,.12);opacity:0;visibility:hidden;transform:translateY(14px) scale(.9);transition:opacity .25s ease,visibility .25s ease,transform .3s var(--ease-out),background .2s ease,color .2s ease}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.back-to-top:hover{background:var(--orange);color:#fff;transform:translateY(-3px) scale(1.03)}
.menu-backdrop{display:none}
body.is-leaving{opacity:0;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease}

@media (max-width:860px){
  .site-header.scrolled .header-row{height:66px}
  .site-header.scrolled .brand img{width:195px;max-height:45px}
  .main-nav{display:flex!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px) scale(.98);transform-origin:top center;transition:opacity .22s ease,visibility .22s ease,transform .3s var(--ease-out)}
  .site-header.open .main-nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
  .main-nav a{transform:translateY(-5px);opacity:0;transition:background .2s ease,color .2s ease,transform .3s var(--ease-out),opacity .25s ease}
  .site-header.open .main-nav a{transform:translateY(0);opacity:1}
  .site-header.open .main-nav a:nth-child(2){transition-delay:.035s}.site-header.open .main-nav a:nth-child(3){transition-delay:.07s}.site-header.open .main-nav a:nth-child(4){transition-delay:.105s}.site-header.open .main-nav a:nth-child(5){transition-delay:.14s}.site-header.open .main-nav a:nth-child(6){transition-delay:.175s}
  .menu-btn{z-index:92;transition:background .2s ease,border-color .2s ease,transform .25s var(--ease-out)}
  .menu-btn:hover{transform:scale(1.04)}
  .site-header.open .menu-btn{background:var(--ink);border-color:var(--ink)}
  .site-header.open .menu-btn::before,.site-header.open .menu-btn::after,.site-header.open .menu-btn span{background:#fff}
  .site-header.open .menu-btn::before{top:20px;transform:rotate(45deg)}
  .site-header.open .menu-btn::after{top:20px;transform:rotate(-45deg)}
  .site-header.open .menu-btn span{opacity:0;transform:scaleX(0)}
  .menu-backdrop{display:block;position:fixed;inset:0;z-index:70;background:rgba(23,22,18,.38);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
  .menu-backdrop.show{opacity:1;visibility:visible}
  .hero-ticket,.hero-float,.hero-seal{transform:none!important}
  .motion-card,.path-card:hover,.major-mini:hover,.platform:hover,.article-card:hover,.major-card:hover{--rx:0deg!important;--ry:0deg!important}
  .filter-panel{top:0}
}

@media (max-width:600px){
  .back-to-top{right:14px;bottom:14px;width:44px;height:44px}
  .header-search:focus-within{width:auto}
  .news-ticker{-webkit-mask-image:none;mask-image:none}
  .ticker-track{height:48px}
  .hero-actions .btn{flex:1 1 calc(50% - 6px)}
  .path-card::after{display:none}
  .article-footer{align-items:flex-start;flex-direction:column}
  .result-head{align-items:flex-end}
}

@media (hover:none){
  .motion-card{transform:none!important}
}

@media (prefers-reduced-motion:reduce){
  html.js .hero-copy>*,html.js .hero-board,html.js .page-hero .page-crumb,html.js .page-hero h1,html.js .page-hero p,html.js .page-hero .page-stat-grid,html.js .reveal{opacity:1!important;filter:none!important;transform:none!important}
  body.page-ready .hero-copy>*,body.page-ready .hero-board,body.page-ready .page-hero *{animation:none!important}
  .ticker-track{animation-play-state:paused!important}
}

/* Final alignment corrections */
.filter-panel{top:145px}
@media (max-width:860px){
  .site-header.scrolled .main-nav{top:66px}
  .site-header.open .header-categories{max-height:0;opacity:0;overflow:hidden;pointer-events:none;border-top-color:transparent}
}
