/* AimUp hub: shared nav and home-page styles.
   Brand standard: Navy #0A2540, Gold #F5E308, Light Gray #F4F6F8, Steel Gray #5C6770. Raleway headings, Inter body. */
:root{
  --a-navy:#0A2540; --a-gold:#F5E308;
  --a-bg:#F4F6F8; --a-surface:#FFFFFF; --a-ink:#0A2540; --a-muted:#5C6770; --a-line:#D5DCE4; --a-link:#174A85;
  --a-display:'Raleway','Inter',system-ui,sans-serif;
  --a-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){--a-bg:#071A2E; --a-surface:#0F2A47; --a-ink:#EEF3F8; --a-muted:#A3B2C1; --a-line:#213C5A; --a-link:#F5E308; color-scheme:dark}
}
:root[data-theme="dark"]{--a-bg:#071A2E; --a-surface:#0F2A47; --a-ink:#EEF3F8; --a-muted:#A3B2C1; --a-line:#213C5A; --a-link:#F5E308; color-scheme:dark}

/* Nav: a navy bar with a gold underline on the current page */
.aimup-nav{max-width:1160px; margin:0 auto 16px; background:var(--a-navy); border-radius:12px; font-family:var(--a-body)}
.aimup-nav-in{display:flex; flex-wrap:wrap; align-items:center; gap:2px 20px; padding:8px 16px}
.aimup-brand{font:800 20px/1 var(--a-display); color:#fff; text-decoration:none; letter-spacing:.06em; text-transform:uppercase; padding:8px 0}
.aimup-brand::after{content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--a-gold); margin-left:6px}
.aimup-grp{display:flex; flex-wrap:wrap; align-items:center; gap:2px 6px; min-width:0}
.aimup-grp-label{font:700 10px/1 var(--a-body); letter-spacing:.14em; text-transform:uppercase; color:var(--a-gold); padding:0 4px 0 2px}
.aimup-grp + .aimup-grp{padding-left:18px; border-left:1px solid #2D4663}
@media (max-width:760px){.aimup-grp + .aimup-grp{padding-left:0; border-left:0}.aimup-grp{width:100%}}
.aimup-links{display:flex; flex-wrap:wrap; gap:2px 4px; min-width:0}
.aimup-link{font:600 14px/1 var(--a-body); white-space:nowrap; color:#C9D6E3; text-decoration:none; padding:12px 12px 10px; border-bottom:3px solid transparent; display:inline-flex; align-items:center; gap:6px}
a.aimup-link:hover{color:#fff; border-bottom-color:rgba(245,227,8,.55)}
.aimup-link[aria-current="page"]{color:#fff; border-bottom-color:var(--a-gold)}
.aimup-link.soon{opacity:.8; cursor:default}
.aimup-link i{font:700 9px/1 var(--a-body); letter-spacing:.08em; text-transform:uppercase; font-style:normal; color:var(--a-navy); background:var(--a-gold); border-radius:99px; padding:3px 6px}
.aimup-brand:focus-visible,.aimup-link:focus-visible,.tool:focus-visible{outline:3px solid var(--a-gold); outline-offset:2px}

/* Home page */
.hub{max-width:1160px; margin:0 auto}
.hub .hero{background:var(--a-navy); color:#fff; border-radius:16px; padding:44px 36px 40px; position:relative; overflow:hidden; margin-bottom:24px}
.hub .hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:8px; background:var(--a-gold)}
.hub .eyebrow{font:700 12px/1 var(--a-body); letter-spacing:.16em; text-transform:uppercase; color:var(--a-gold); margin:0 0 14px}
.hub h1{font:800 76px/.98 var(--a-display); letter-spacing:-.02em; margin:0; color:#fff; text-wrap:balance}
.hub .sub{font:600 22px/1.35 var(--a-display); color:#fff; margin:16px 0 0; max-width:30ch}
.hub .lift{font:400 16px/1.55 var(--a-body); color:#C9D6E3; margin:12px 0 0; max-width:52ch}
.hub .lift b{color:var(--a-gold); font-weight:700}
.hub .cta{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px}
.hub .cta a{font:800 14px/1 var(--a-display); letter-spacing:.06em; text-transform:uppercase; text-decoration:none; border-radius:10px; padding:13px 18px; border:2px solid var(--a-gold); color:var(--a-gold)}
.hub .cta a.solid{background:var(--a-gold); color:var(--a-navy)}
.hub .cta a:hover{background:#fff; border-color:#fff; color:var(--a-navy)}
.hub .cta a:focus-visible{outline:3px solid #fff; outline-offset:2px}
.tool-group{margin-top:26px}
.tool-group:first-child{margin-top:0}
.tool-group-h{font:800 13px/1 var(--a-body); letter-spacing:.16em; text-transform:uppercase; color:var(--a-ink); margin:0 0 12px; display:flex; align-items:center; gap:10px}
.tool-group-h::after{content:""; flex:1; height:2px; background:var(--a-line)}
.tools,.tools-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr)); gap:18px}
.tool{display:flex; flex-direction:column; gap:12px; background:var(--a-surface); border:1px solid var(--a-line); border-top:6px solid var(--a-navy); border-radius:12px; padding:22px; color:var(--a-ink); text-decoration:none; min-width:0}
a.tool{border-top-color:var(--a-gold); box-shadow:0 0 0 0 var(--a-navy)}
a.tool:hover{border-color:var(--a-navy); border-top-color:var(--a-gold); transform:translateY(-2px)}
.tool h2,.tool h3{font:800 26px/1.1 var(--a-display); margin:0; letter-spacing:-.01em}
.tool.start{border-top-color:var(--a-gold); border-color:var(--a-navy); box-shadow:0 0 0 2px var(--a-gold) inset}
.tool-start{align-self:flex-start; font:800 11px/1 var(--a-body); letter-spacing:.12em; text-transform:uppercase; background:var(--a-gold); color:var(--a-navy); border-radius:99px; padding:6px 10px}
.tool p{margin:0; color:var(--a-muted); font-size:15px; line-height:1.55}
.tool .tags{display:flex; flex-wrap:wrap; gap:6px}
.tool .tags span{font:600 11px/1 var(--a-body); letter-spacing:.06em; text-transform:uppercase; color:var(--a-ink); background:var(--a-bg); border-radius:99px; padding:6px 10px}
.tool .state{margin-top:auto; padding-top:8px; font:800 14px/1 var(--a-display); letter-spacing:.08em; text-transform:uppercase; color:var(--a-link)}
.tool.soon{border-style:dashed; border-top-style:solid; border-top-color:var(--a-line); background:transparent}
.tool.soon .state{color:var(--a-muted)}
.hub footer{margin-top:44px; padding-top:16px; border-top:1px solid var(--a-line); color:var(--a-muted); font-size:13px; max-width:78ch}
.hub footer b{color:var(--a-ink); font-family:var(--a-display); letter-spacing:.08em}
@media (max-width:560px){.hub h1{font-size:52px}.hub .hero{padding:30px 22px 28px}.hub .sub{font-size:19px}}
@media (prefers-reduced-motion:no-preference){a.tool{transition:transform .15s ease,border-color .15s ease}}
