/* TOPBAR */
.topbar{position:sticky;top:0;z-index:500;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:10px 40px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.topbar .brand{font-family:var(--font-brand);font-size:1.2em;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,var(--blue),var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;flex-shrink:0}
.topbar .brand small{font-family:var(--font-sans);font-weight:600;font-size:.6em;letter-spacing:2px;color:var(--text3);-webkit-text-fill-color:var(--text3);text-transform:uppercase;margin-left:10px}
.topbar nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}

/* Nav groups */
.topbar .nav-group{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px}
.topbar .nav-group.pages{background:rgba(13,148,136,.06);border:1px solid rgba(13,148,136,.12)}
.topbar .nav-group.sections{background:rgba(37,99,235,.04);border:1px solid rgba(37,99,235,.08)}
.topbar .nav-sep{width:1px;height:20px;background:var(--line);margin:0 8px;flex-shrink:0}

/* Nav links */
.topbar nav a{font-size:.76em;font-weight:600;color:var(--text3);text-decoration:none;letter-spacing:.3px;padding:4px 10px;border-radius:6px;transition:all .2s;white-space:nowrap}
.topbar nav a:hover{color:var(--teal);background:rgba(13,148,136,.08)}
.topbar nav a.nav-page{color:var(--blue);font-weight:700}
.topbar nav a.nav-page:hover{color:var(--teal)}
.topbar nav a.nav-active{background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;-webkit-text-fill-color:#fff}
.topbar nav a.nav-active:hover{opacity:.9}

/* HERO */
.hero{padding:64px 56px 36px;background:linear-gradient(135deg,#ECFEFF 0%,#F0FDFA 40%,#EFF6FF 100%);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(3,105,161,.10) 0%,transparent 60%),radial-gradient(ellipse at 80% 70%,rgba(13,148,136,.12) 0%,transparent 55%);pointer-events:none}
.hero > *{position:relative}
.hero-tag{font-size:.78em;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--teal);margin-bottom:12px}
.hero h1{font-family:var(--font-brand);font-size:2.6em;letter-spacing:-1px;line-height:1.1;color:var(--ink);margin-bottom:14px}
.hero h1 .hl{background:linear-gradient(135deg,var(--blue),var(--cyan),var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{font-size:1.05em;max-width:880px;color:var(--text2);line-height:1.6;margin:0 0 14px}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.hpill{padding:6px 14px;border-radius:18px;font-size:.78em;font-weight:600;background:var(--teal-lt);border:1px solid #99F6E4;color:var(--teal)}
.hpill.b{background:var(--blue-lt);border-color:#BFDBFE;color:var(--blue)}
.hpill.c{background:var(--cyan-lt);border-color:#A5F3FC;color:var(--cyan)}
.hpill.g{background:var(--gold-lt);border-color:#FCD34D;color:var(--gold)}

/* SECTION */
section{padding:48px 56px;position:relative}
.section-eyebrow{font-size:.74em;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
.section-title{font-size:1.9em;font-weight:800;letter-spacing:-.8px;color:var(--ink);margin-bottom:8px}
.section-sub{font-size:1em;color:var(--text3);max-width:880px;line-height:1.6;margin-bottom:26px}

/* FOOTER */
.app-footer{padding:40px 56px;text-align:center;color:var(--text4);font-size:.82em;border-top:1px solid var(--line);background:#FFF}

/* Inline category-breakdown strip (rendered into segGrid) */
.cat-breakdown{grid-column:1/-1;background:#FFF;border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.cat-breakdown .lbl{font-size:.72em;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text4)}
.cat-breakdown .item{display:flex;align-items:center;gap:8px}
.cat-breakdown .item .nm{font-weight:700;font-size:.88em;color:var(--ink)}
.cat-breakdown .item .mt{font-size:.74em;color:var(--text3);font-family:var(--font-mono)}

