.hub-hero{padding:clamp(56px,7vw,96px) 0 clamp(28px,3.6vw,44px);background:var(--paper)}.hub-hero .wrap{max-width:1180px;text-align:center}.hub-hero .kick{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:10px;margin-bottom:18px}.hub-hero .kick:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.hub-hero h1{font-family:var(--sans);font-size:clamp(36px,5.4vw,64px);line-height:1.04;letter-spacing:-.028em;margin:0 auto;max-width:22ch}.hub-hero h1,.hub-hero h1 em{font-weight:500;color:var(--ink)}.hub-hero h1 em{font-style:normal}.hub-hero .lede{font-family:var(--sans);font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:var(--ink-2);max-width:64ch;margin:clamp(16px,2vw,22px) auto 0}.hub-hero .authority{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;margin:clamp(20px,2.4vw,28px) auto 0;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.hub-hero .authority span{display:inline-flex;align-items:center;gap:8px}.hub-hero .authority .stars{color:#F2B707;letter-spacing:.05em;font-size:12px}.hub-hero .authority .sep{width:4px;height:4px;border-radius:50%;background:rgba(96,25,195,.45);display:inline-block}.hub-grid-section{padding:clamp(28px,3vw,48px) 0 clamp(72px,9vw,120px);background:var(--paper)}.hub-grid-section .wrap{max-width:1180px}.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:clamp(16px,1.6vw,22px);gap:clamp(16px,1.6vw,22px)}@media (max-width:980px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.hub-grid{grid-template-columns:1fr;gap:14px}}.hub-card{background:var(--paper);border:1px solid var(--line-2);border-radius:4px;padding:clamp(26px,2.6vw,32px);display:flex;flex-direction:column;gap:clamp(14px,1.6vw,18px);text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;min-height:220px}.hub-card:hover{border-color:rgba(96,25,195,.35);box-shadow:0 8px 24px -12px rgba(12,12,10,.12),0 1px 0 rgba(12,12,10,.04);transform:translateY(-2px)}.hub-card .hc-kick{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:8px}.hub-card .hc-kick:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent)}.hub-card .hc-title{font-family:var(--sans);font-size:clamp(20px,1.8vw,24px);line-height:1.22;letter-spacing:-.014em;font-weight:500;color:var(--ink);margin:0}.hub-card .hc-desc{font-family:var(--sans);font-size:clamp(14px,1.05vw,15.5px);line-height:1.5;color:var(--ink-2);margin:0;flex:1 1}.hub-card .hc-bottom{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-top:auto;padding-top:clamp(10px,1.2vw,14px);border-top:1px solid var(--line-2)}.hub-card .hc-view{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.hub-card:hover .hc-view{color:var(--accent)}.hub-card .hc-arr{transition:transform .25s cubic-bezier(.22,1,.36,1)}.hub-card:hover .hc-arr{transform:translateX(3px)}.hub-xl{padding:clamp(48px,6vw,80px) 0;background:#F6F9FC}.hub-xl .wrap{max-width:1180px;text-align:center}.hub-xl .xl-kick{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}.hub-xl .xl-kick:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.hub-xl h2{font-family:var(--sans);font-size:clamp(22px,2.4vw,30px);line-height:1.18;letter-spacing:-.018em;margin:0 0 clamp(16px,2vw,22px)}.hub-xl .xl-link,.hub-xl h2{font-weight:500;color:var(--ink)}.hub-xl .xl-link{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:12px 22px;border:1px solid var(--ink);border-radius:4px;transition:background .2s,color .2s,transform .2s}.hub-xl .xl-link:hover{background:var(--ink);color:var(--paper);transform:translateY(-1px)}.hub-xl .xl-arr{transition:transform .25s cubic-bezier(.22,1,.36,1)}.hub-xl .xl-link:hover .xl-arr{transform:translateX(3px)}.no-js .hub-hero .authority,.no-js .hub-hero .kick,.no-js .hub-hero .lede,.no-js .hub-hero h1,.no-js .hub-hero h1 .word{opacity:1!important;transform:none!important}@media (prefers-reduced-motion:no-preference){body:not(.hero-ready) .hub-hero .authority,body:not(.hero-ready) .hub-hero .kick,body:not(.hero-ready) .hub-hero .lede,body:not(.hero-ready) .hub-hero h1 .word{opacity:0}.hub-hero h1 .word{display:inline-block;opacity:0;transform:translateY(14px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}body.hero-ready .hub-hero h1 .word{opacity:1;transform:translateY(0)}.hub-hero .authority,.hub-hero .kick,.hub-hero .lede{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}body.hero-ready .hub-hero .authority,body.hero-ready .hub-hero .kick,body.hero-ready .hub-hero .lede{opacity:1;transform:translateY(0)}body.hero-ready .hub-hero .kick{transition-delay:80ms}body.hero-ready .hub-hero h1 .word:first-child{transition-delay:.22s}body.hero-ready .hub-hero h1 .word:nth-child(2){transition-delay:.26s}body.hero-ready .hub-hero h1 .word:nth-child(3){transition-delay:.3s}body.hero-ready .hub-hero h1 .word:nth-child(4){transition-delay:.34s}body.hero-ready .hub-hero h1 .word:nth-child(5){transition-delay:.38s}body.hero-ready .hub-hero h1 .word:nth-child(6){transition-delay:.42s}body.hero-ready .hub-hero .lede{transition-delay:.56s}body.hero-ready .hub-hero .authority{transition-delay:.66s}.hub-grid .hub-card.anim-in:nth-of-type(2){transition-delay:60ms}.hub-grid .hub-card.anim-in:nth-of-type(3){transition-delay:.12s}.hub-grid .hub-card.anim-in:nth-of-type(4){transition-delay:.18s}.hub-grid .hub-card.anim-in:nth-of-type(5){transition-delay:.24s}.hub-grid .hub-card.anim-in:nth-of-type(6){transition-delay:.3s}}