/* ──────────────────────────────────────────────────────────────
   Newcastle Knights — Internal Portal: shared shell
   Scope: the cross-app top strip (every page) + the homepage.
   Tokens are namespaced --pt-* so this file never collides with the
   Team Lists (--blue…) or HJRL (--nk-…) stylesheets it sits alongside.
   ────────────────────────────────────────────────────────────── */
:root{
  --pt-navy:#001235;
  --pt-navy-bar:#001540;
  --pt-blue:#003087;
  --pt-red:#c8102e;
  --pt-red-dark:#9e0c23;
  --pt-gold:#f0b323;
  --pt-text:#eef2ff;
  --pt-muted:#7a99cc;
  --pt-dim:#3a567a;
  --pt-border:rgba(255,255,255,.1);
}

/* The slim strip that appears at the very top of every portal page. */
.portal-strip{
  background:var(--pt-navy-bar);
  border-bottom:1px solid var(--pt-border);
  height:44px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 1.5rem;
  position:sticky;top:0;z-index:200;
}
.portal-strip-brand{display:flex;align-items:center;gap:9px;text-decoration:none}
.portal-strip-brand img{height:26px;width:auto}
.portal-strip-brand .wm{
  font-family:'Barlow Condensed','Anton',sans-serif;
  font-weight:800;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;
}
.portal-strip-brand .wm small{color:var(--pt-muted);font-weight:600}
.portal-strip-nav{display:flex;gap:2px}
.portal-strip-nav a{
  font-family:'Barlow Condensed','Inter',sans-serif;
  font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;
  color:var(--pt-muted);text-decoration:none;
  padding:6px 14px;border-radius:5px;transition:background .15s,color .15s;
}
.portal-strip-nav a:hover{color:#fff;background:rgba(255,255,255,.07)}
.portal-strip-nav a.active{color:#fff;background:var(--pt-red)}

/* ── Homepage ──────────────────────────────────────────────── */
.home-body{
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(0,48,135,.55), transparent 60%),
    var(--pt-navy);
  color:var(--pt-text);
  font-family:'Barlow',sans-serif;min-height:100vh;
}
.home-wrap{max-width:1080px;margin:0 auto;padding:0 1.5rem}

.home-hero{padding:4.5rem 0 2.5rem;position:relative}
.home-hero .eyebrow{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:13px;
  letter-spacing:5px;text-transform:uppercase;color:var(--pt-red);margin-bottom:.9rem;
}
.home-hero h1{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;
  font-size:clamp(40px,8vw,76px);line-height:.92;letter-spacing:1.5px;
  text-transform:uppercase;color:#fff;
}
.home-hero h1 .accent{color:var(--pt-gold)}
.home-hero p.lede{
  margin-top:1.2rem;max-width:46ch;color:var(--pt-muted);
  font-size:16px;line-height:1.6;
}
.home-hero .logo-mark{
  position:absolute;right:0;top:3rem;height:160px;width:auto;opacity:.16;
  pointer-events:none;filter:grayscale(.2);
}

.tool-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.25rem;padding:1rem 0 4rem;
}
.tool-card{
  display:flex;flex-direction:column;gap:.6rem;
  background:#00205a;border:1px solid rgba(0,100,220,.3);border-radius:12px;
  padding:1.6rem 1.5rem;text-decoration:none;color:inherit;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.tool-card:hover{
  border-color:rgba(0,130,255,.55);box-shadow:0 10px 34px rgba(0,0,0,.35);
  transform:translateY(-2px);
}
.tool-card .tc-tag{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:2px;text-transform:uppercase;color:var(--pt-red);
}
.tool-card h2{
  font-family:'Barlow Condensed',sans-serif;font-weight:900;font-size:28px;
  letter-spacing:1px;text-transform:uppercase;color:#fff;line-height:1;
}
.tool-card p{color:var(--pt-muted);font-size:14px;line-height:1.55}
.tool-card .tc-go{
  margin-top:auto;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--pt-gold);
  display:inline-flex;align-items:center;gap:7px;
}
.tool-card.disabled{opacity:.5;pointer-events:none}
.tool-card.disabled .tc-go{color:var(--pt-dim)}

.home-foot{
  border-top:1px solid var(--pt-border);padding:1.5rem 0 3rem;
  color:var(--pt-dim);font-size:12px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:.5rem;
}
.home-foot .auth-state{color:var(--pt-muted)}

@media (max-width:560px){
  .portal-strip{padding:0 1rem}
  .portal-strip-brand .wm small{display:none}
  .home-hero .logo-mark{display:none}
}
