/* ============================================================
   InvestlyJobs — shared design tokens & components
   Fonts: Instrument Sans (headings) / Geist (body + UI)
   Type scale: converted to rem, base 16px = 1rem
   ============================================================ */
[hidden]{display:none !important;}
:root{
  --ink:#0a0a0a;
  --ink-soft:#161616;
  --paper:#ffffff;
  --paper-2:#f4f6f9;
  --text-on-ink:#f5f6f8;
  --text-on-ink-dim:#8b909a;
  --text-on-paper:#0a0a0a;
  --text-on-paper-dim:#585d66;
  --blue:#006bff;
  --white:#ffffff;
  --blue-light:rgba(0,107,255,0.08);
  --small:var(--text-small);
  --text-secondary:var(--text-on-paper-dim);
  --bg-primary:var(--paper);
  --bg-secondary:var(--paper-2);
  --border:var(--rule-paper);
  --blue-bright:#2f8cff;
  --blue-dark:#0047b3;
  --gold:#006bff;
  --gold-bright:#2f8cff;
  --teal:#0047b3;
  --green:#10b981;
  --rule-ink:rgba(245,246,248,0.14);
  --rule-paper:rgba(10,10,10,0.1);
  --radius:0.75rem;

  /* ---- Type scale (px values in comments; all in rem, base 16px) ---- */
  --h1:4rem;      /* 64px */
  --h2:3rem;      /* 48px */
  --h3:2.5rem;    /* 40px */
  --h4:2rem;      /* 32px */
  --h5:1.5rem;    /* 24px */
  --h6:1.25rem;   /* 20px */

  --text-tiny:0.75rem;     /* 12px */
  --text-small:0.875rem;   /* 14px */
  --text-regular:1rem;     /* 16px */
  --text-xmedium:1.125rem; /* 18px */
  --text-large:1.5rem;     /* 24px */

  --font-heading:'Instrument Sans', sans-serif;
  --font-body:'Geist', sans-serif;
}
*{box-sizing:border-box;}
::selection{background:#cfe3ff;color:var(--ink);}
html{scroll-behavior:smooth;font-size:16px;}
html.lenis{scroll-behavior:auto!important;}
html.lenis-smooth{scroll-behavior:auto!important;}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain;}
body{
  margin:0;
  position:relative;
  background:var(--paper);
  color:var(--text-on-paper);
  font-family:var(--font-body);
  font-size:var(--text-regular);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

/* Smaller type scale on phones — the desktop sizes (h1 64px etc.) wrap into
   several lines and dominate the screen on a narrow viewport. */
@media(max-width:640px){
  :root{
    --h1:2.5rem;    /* 40px, was 64px */
    --h2:2rem;      /* 32px, was 48px */
    --h3:1.75rem;   /* 28px, was 40px */
    --h4:1.5rem;    /* 24px, was 32px */
    --h5:1.25rem;   /* 20px, was 24px */
    --h6:1.125rem;  /* 18px, was 20px */
  }
}

/* ---- Heading defaults (style guide scale) ---- */
h1,h2,h3,h4,h5,h6,.serif{
  font-family:var(--font-heading);
  font-weight:500;
  letter-spacing:-0.01em;
  margin:0;
  line-height:1.15;
}
h1{font-size:var(--h1);}
h2{font-size:var(--h2);}
h3{font-size:var(--h3);}
h4{font-size:var(--h4);}
h5{font-size:var(--h5);}
h6{font-size:var(--h6);}

/* ---- Text scale utilities ---- */
.text-tiny{font-size:var(--text-tiny);}
.text-small{font-size:var(--text-small);}
.text-regular{font-size:var(--text-regular);}
.text-xmedium{font-size:var(--text-xmedium);}
.text-large{font-size:var(--text-large);}

.num{
  font-family:var(--font-body);
  font-variant-numeric:tabular-nums;
}
a{color:inherit;text-decoration:none;font-family:var(--font-body);}
img{max-width:100%;display:block;}
.wrap{max-width:73.75rem;margin:0 auto;padding:0 2rem;}
.wrap-wide{max-width:75rem;margin:0 auto;padding:0 2rem;}
@media(max-width:640px){ .wrap{padding:0 1.25rem;} .wrap-wide{padding:0 1.25rem;} }

/* ---------- ANNOUNCEMENT BAR ---------- */
.announce-bar{
  background:#0a0a0a;color:#f5f6f8;text-align:center;
  font-size:var(--text-small);padding:0.5625rem 1rem;
  font-family:var(--font-body);
}
.announce-bar a{color:var(--blue-bright);font-weight:500;}
.announce-bar a:hover{color:#fff;}

/* ---------- NAV ---------- */
nav.site-nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule-paper);
}
nav.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;height:4.5rem;}
.site-nav .brand{font-family:var(--font-heading);font-size:var(--h6);font-weight:600;display:flex;align-items:center;gap:0.125rem;color:#0a0a0a;}
.site-nav .brand .dot{color:var(--blue);}
.site-nav .navlinks{display:flex;align-items:center;gap:1.75rem;}
.site-nav .navlinks a:not(.btn){font-size:var(--text-small);color:#3d4148;transition:color .15s ease, padding-left .15s ease;position:relative;}
@media(min-width:861px){
  .site-nav .navlinks a:not(.btn)::after{
    content:"";position:absolute;left:0;right:100%;bottom:-0.375rem;height:1.5px;background:var(--blue);
    transition:right .2s ease;
  }
  .site-nav .navlinks a:not(.btn):hover::after, .site-nav .navlinks a.active:not(.btn)::after{right:0;}
}
.site-nav .navlinks a:not(.btn):hover, .site-nav .navlinks a.active:not(.btn){color:#0a0a0a;}
.site-nav .navlinks .divider{width:1px;height:1.25rem;background:rgba(10,10,10,0.12);}
.site-nav .navlinks .btn-line-ink{border-color:var(--blue);color:var(--blue);padding:0.5625rem 1.125rem;}
.site-nav .navlinks .btn-line-ink:hover{background:rgba(0,107,255,0.08);}

/* Animated hamburger → X */
.navlinks-mobile-toggle{
  display:none;background:none;border:none;cursor:pointer;padding:0;
  width:1.5rem;height:1.5rem;position:relative;flex-shrink:0;z-index:60;
}
.navlinks-mobile-toggle span{
  position:absolute;left:0;width:100%;height:2px;background:#0a0a0a;border-radius:2px;
  transition:transform .3s cubic-bezier(.4,0,.2,1), opacity .2s ease, top .3s cubic-bezier(.4,0,.2,1);
}
.navlinks-mobile-toggle span:nth-child(1){top:0.3125rem;}
.navlinks-mobile-toggle span:nth-child(2){top:0.6875rem;}
.navlinks-mobile-toggle span:nth-child(3){top:1.0625rem;}
.navlinks-mobile-toggle.is-open span:nth-child(1){top:0.6875rem;transform:rotate(45deg);}
.navlinks-mobile-toggle.is-open span:nth-child(2){opacity:0;}
.navlinks-mobile-toggle.is-open span:nth-child(3){top:0.6875rem;transform:rotate(-45deg);}

@media(max-width:860px){
  .site-nav .navlinks{
    position:fixed;top:4.5rem;left:0;right:0;bottom:0;height:calc(100vh - 4.5rem);height:calc(100dvh - 4.5rem);
    background:#ffffff;flex-direction:column;align-items:stretch;
    padding:0.5rem 0 2rem;gap:0;overflow-y:auto;
    display:flex;
    opacity:0;visibility:hidden;transform:translateY(-14px);
    transition:opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
  }
  .site-nav .navlinks.open{
    opacity:1;visibility:visible;transform:translateY(0);
    transition:opacity .3s ease, transform .3s ease, visibility 0s linear 0s;
  }
  .site-nav .navlinks a{padding:1rem 1.5rem;border-top:1px solid rgba(10,10,10,0.08);}
  .site-nav .navlinks a:hover{padding-left:1.75rem;background:var(--paper-2);}
  .site-nav .navlinks a:first-child{border-top:none;}
  .site-nav .navlinks .divider{display:none;}
  .site-nav .navlinks .btn{margin:0.75rem 1.5rem 0;}
  .navlinks-mobile-toggle{display:block;}
}
html.nav-open{overflow:hidden;}

/* ---------- INSTANTLY-STYLE HERO ---------- */
.hero-instant{
  position:relative;
  overflow:hidden;
  padding:6.875rem 0 4.5rem;
  text-align:center;
  color:#ffffff;
  background:linear-gradient(120deg,#0047b3 0%,#006bff 38%,#4c97ff 62%,#0047b3 100%);
  background-size:280% 280%;
  animation:heroDrift 16s ease-in-out infinite;
}
/* Unicorn.studio WebGL scene that reacts to the pointer. It sits behind the
   hero copy and must not swallow clicks on the chat box or pills. */
.hero-instant .hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
}
.hero-instant .wrap{
  position:relative;
  z-index:1;
}
@keyframes heroDrift{
  0%{background-position:0% 40%;}
  50%{background-position:100% 60%;}
  100%{background-position:0% 40%;}
}
.hero-instant .eyebrow-badge{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.28);
  padding:0.4375rem 1rem;border-radius:999px;
  font-size:var(--text-small);color:#fff;margin-bottom:1.625rem;
}
.hero-instant h1{
  font-size:var(--h1);line-height:1.12;color:#fff;
  display:flex;align-items:center;justify-content:center;gap:0.28em;flex-wrap:wrap;
}
.hero-instant h1 .bolt{
  width:2.375rem;height:2.375rem;border-radius:50%;background:#fff;color:var(--blue);
  display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xmedium);flex-shrink:0;
}
.hero-instant .sub{
  margin:1rem auto 0;max-width:46ch;font-size:var(--text-regular);color:rgba(255,255,255,0.88);line-height:1.6;
}
.chat-box{
  max-width:37.5rem;margin:2.25rem auto 0;background:#ffffff;border-radius:10rem;
  padding:0.5rem 0.5rem 0.5rem 1.375rem;display:flex;align-items:center;gap:0.75rem;
  border:1px solid rgba(255,255,255,0.5);
}
.chat-box:focus-within{border-color:#ffffff;}
.chat-box input{
  flex:1;border:none;outline:none;background:transparent;
  font-family:var(--font-body);font-size:var(--text-regular);color:#0a0a0a;padding:0.625rem 0;
}
.chat-box input::placeholder{color:#8b909a;}
.chat-box button{
  width:2.375rem;height:2.375rem;flex-shrink:0;border-radius:50%;border:none;
  background:var(--blue);color:#fff;font-size:var(--text-regular);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.chat-box button:hover{background:var(--blue-dark);}
.quick-pills{display:flex;justify-content:center;gap:0.625rem;flex-wrap:wrap;margin-top:1.125rem;}
.quick-pills a{
  background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.32);
  color:#fff;padding:0.5625rem 1.0625rem;border-radius:999px;font-size:var(--text-small);
}
.quick-pills a:hover{background:rgba(255,255,255,0.24);}
@media(max-width:640px){
  .hero-instant h1{font-size:var(--h4);}
  .hero-instant h1 .bolt{width:1.875rem;height:1.875rem;font-size:var(--text-regular);}
}
@media (prefers-reduced-motion: reduce){
  .hero-instant{animation:none;background-position:30% 40%;}
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0.6875rem 1.25rem;font-size:var(--text-small);font-weight:500;border-radius:var(--radius);
  border:1px solid transparent;cursor:pointer;font-family:var(--font-body);
  transition:transform .12s ease, background .15s ease, border-color .15s ease;
}
.btn:active{transform:translateY(1px);}
.btn-gold{background:linear-gradient(135deg, var(--blue-bright) 0%, var(--blue) 60%, var(--blue-dark) 100%);color:#ffffff;font-weight:600;box-shadow:0 3px 12px rgba(0,107,255,0.28);}
.btn-gold:hover{background:linear-gradient(135deg, var(--blue-bright) 0%, var(--blue) 100%);box-shadow:0 6px 18px rgba(0,107,255,0.36);transform:translateY(-1px);}
.btn-black{background:#0a0a0a;color:#ffffff;}
.btn-black:hover{background:#000000;}
.btn-line-ink{border-color:rgba(245,246,248,0.35);color:var(--text-on-ink);}
.btn-line-ink:hover{border-color:var(--text-on-ink);}
.btn-line-paper{border-color:var(--blue);color:var(--blue);}
.btn-line-paper:hover{background:rgba(0,107,255,0.08);}
.btn-line-blue{border-color:var(--blue);color:var(--blue);background:transparent;}
.btn-line-blue:hover{background:rgba(0,107,255,0.08);}
.btn-ink{background:var(--ink);color:var(--text-on-ink);}
.btn-ink:hover{background:var(--ink-soft);}
.btn-block{width:100%;}

/* ---------- PAGE HEADER (non-home pages) ---------- */
.page-header{padding:5rem 0 3.5rem;}
.page-header .eyebrow{font-family:var(--font-body);font-size:var(--text-tiny);color:var(--gold-bright);margin-bottom:0.875rem;}
.page-header h1{font-size:var(--h2);line-height:1.12;max-width:20ch;}
.page-header p{margin-top:1rem;font-size:var(--text-regular);color:var(--text-on-paper-dim);max-width:52ch;line-height:1.6;}

/* ---------- SECTIONS ---------- */
section{padding:6rem 0;}
.eblock{padding:6rem 0;}
.light{background:var(--paper);color:var(--text-on-paper);}
.tint{background:var(--paper-2);color:var(--text-on-paper);}
.light h1,.light h2,.light h3{color:var(--text-on-paper);}
.section-head{max-width:35rem;margin:0 auto 3rem;text-align:center;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head .eyebrow{font-family:var(--font-body);font-size:var(--text-tiny);color:var(--teal);margin-bottom:0.75rem;justify-content:center;}
.light .section-head .eyebrow{color:var(--blue-dark);}
.section-head h2{font-size:var(--h3);line-height:1.2;}
.section-head p{margin-top:0.875rem;font-size:var(--text-regular);line-height:1.6;color:var(--text-on-paper-dim);}
.light .section-head p, .light p.dim{color:var(--text-on-paper-dim);}
/* Left-aligned, tighter section head — used on listing pages where the heading
   sits directly above a toolbar rather than centred over a hero block. */
.section-head.is-left{max-width:none;margin-left:0;margin-right:0;text-align:left;}
.section-head.is-left .eyebrow{justify-content:flex-start;}
.section-head.is-left p{margin-left:0;}
.section-head.is-compact{margin-bottom:1.75rem;}
.section-head.is-compact h2{font-size:var(--h4);}

.section-foot{margin-top:2.25rem;display:flex;justify-content:center;}

/* Left-aligned counterpart to .section-head, for use inside narrow columns
   (e.g. one side of a 2-column detail layout) where centering looks out of
   place next to left-aligned body copy below it. */
.content-head{margin-bottom:1.5rem;}
.content-head .eyebrow{font-family:var(--font-body);font-size:var(--text-tiny);color:var(--teal);margin-bottom:0.75rem;}
.light .content-head .eyebrow{color:var(--blue-dark);}
.content-head h2, .content-head h3{margin:0;line-height:1.2;}

/* ---------- STATS STRIP ---------- */
.stats{background:var(--paper);padding:3rem 0;}
.stats .wrap{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:center;}
.stat{flex:1;min-width:9.375rem;text-align:center;}
.stat .num{font-size:var(--h3);color:var(--blue);display:block;font-family:var(--font-heading);font-weight:500;}
.stat .label{font-size:var(--text-small);color:var(--text-on-paper-dim);margin-top:0.375rem;}
@media(max-width:640px){ .stats .wrap{gap:1.75rem 2.5rem;} }
/* ---------- JOB CARDS (rendered via JS from data attributes) ---------- */
.job-list{display:flex;flex-direction:column;gap:1rem;}
.job-card{
  display:flex;align-items:center;gap:1.25rem;
  padding:1.5rem 1.75rem;
  background:var(--paper);
  border:1px solid var(--rule-paper);
  border-left:3px solid var(--rule-paper);
  border-radius:0.75rem;
  transition:border-color .18s ease, background-color .18s ease;
}
.job-card:hover{
  border-color:var(--blue);
  border-left-color:var(--blue);
  background:var(--paper-2);
}
.job-logo{
  width:3rem;height:3rem;flex-shrink:0;border-radius:0.5rem;
  background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#ffffff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-body);font-size:var(--text-small);font-weight:600;
}
.job-main{flex:1;min-width:0;}
.job-main h3{font-size:var(--h5);color:var(--text-on-paper);}
.job-main h3 a{transition:color .15s ease;}
.job-card:hover .job-main h3 a{color:var(--blue);}
.job-meta{margin-top:0.375rem;font-size:var(--text-small);color:var(--text-on-paper-dim);display:flex;flex-wrap:wrap;gap:0;}
.job-meta span{position:relative;padding-right:0.875rem;margin-right:0.5rem;}
.job-meta span:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:0.1875rem;height:0.1875rem;border-radius:50%;background:var(--text-on-paper-dim);}
.job-salary-badge{
  background:linear-gradient(135deg,#fff4d6,#ffe8a8);color:#8a6100;font-weight:600;
  padding:0.1875rem 0.5rem;border-radius:999px;font-size:0.6875rem;margin-left:0.25rem;
}
.job-salary-badge:after{display:none!important;}
.job-tags{margin-top:0.75rem;display:flex;gap:0.5rem;flex-wrap:wrap;}
.job-tag{font-size:var(--text-tiny);padding:0.3125rem 0.75rem;background:var(--paper-2);border-radius:999px;color:var(--text-on-paper-dim);font-weight:500;}
.job-tag.plan-pro{background:#fff7e6;color:#b8860b;font-weight:700;}
.plan-select{
  font-size:var(--text-tiny);font-weight:600;padding:0.375rem 0.625rem;border-radius:999px;
  border:1px solid var(--admin-border,var(--rule-paper));background:var(--admin-canvas,var(--paper-2));
  color:var(--text-on-paper-dim);cursor:pointer;font-family:var(--font-body);
}
.plan-select.is-pro{background:#fff7e6;color:#b8860b;border-color:#f5dfa3;}
.job-side{flex-shrink:0;text-align:right;}
.job-side .posted{font-size:var(--text-tiny);color:var(--text-on-paper-dim);margin-bottom:0.625rem;}
.job-side .posted.is-new{color:var(--blue);font-weight:600;}
@media(max-width:700px){
  .job-card{
    flex-wrap:wrap;
    align-items:flex-start;
    padding:1.125rem 1.25rem;
    gap:0.75rem 0.875rem;
  }
  .job-logo{width:2.75rem;height:2.75rem;}
  .job-main{flex:1 1 calc(100% - 3.625rem);min-width:0;}
  .job-side{
    flex:1 1 100%;
    margin-left:0;
    text-align:left;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
  }
  .job-side .posted{margin-bottom:0;}
}

/* ---------- CATEGORY CHIPS ---------- */
.chip-grid{display:flex;flex-wrap:wrap;gap:0.75rem;}
.chip{
  padding:0.625rem 1.125rem;border:1px solid var(--rule-paper);border-radius:999px;
  font-size:var(--text-small);color:var(--text-on-paper-dim);
  display:flex;gap:0.5rem;align-items:center;
}
.chip .count{color:var(--gold-bright);font-family:var(--font-body);font-size:var(--text-tiny);}

/* ---------- COMPANY GRID ---------- */
.company-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;}
.company-card{
  padding:1.75rem;
  background:var(--paper);
  border:1px solid var(--rule-paper);
  border-radius:0.75rem;
  transition:border-color .18s ease, background-color .18s ease;
}
.company-card:hover{
  border-color:var(--blue);
  background:var(--paper-2);
}
.company-card:hover .logo{transform:scale(1.08);}
.company-card-top{display:flex;align-items:center;gap:0.875rem;margin-bottom:1rem;}
.company-card .logo{
  width:3rem;height:3rem;flex-shrink:0;border-radius:0.5rem;
  background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#ffffff;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:600;font-size:var(--text-small);
  transition:transform .18s ease;
}
.company-card h3{font-size:1.0625rem;color:var(--text-on-paper);line-height:1.3;transition:color .15s ease;}
.company-card:hover h3{color:var(--blue);}
.company-card .industry{font-size:var(--text-tiny);color:var(--blue-dark);margin-top:0.1875rem;font-family:var(--font-body);font-weight:500;}
.company-card p{font-size:var(--text-small);color:var(--text-on-paper-dim);line-height:1.55;}
.company-card-foot{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--rule-paper);display:flex;align-items:center;justify-content:space-between;gap:0.75rem;flex-wrap:wrap;}
.company-card .team-size{font-size:var(--text-small);color:var(--text-on-paper-dim);}
.company-card .roles{font-size:var(--text-small);color:var(--text-on-paper);}
.company-card .roles .num{color:var(--gold);font-weight:600;}
@media(max-width:860px){
  .company-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .company-grid{grid-template-columns:1fr;}
}

/* ---------- BLOG GRID ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.blog-card{
  padding:1.5rem;
  background:var(--paper);
  border:1px solid var(--rule-paper);
  border-radius:0.75rem;
  transition:border-color .18s ease;
  display:flex;
  flex-direction:column;
}
.blog-card:hover{
  border-color:var(--blue);
}
.blog-card .cover{aspect-ratio:16/10;border-radius:0.5rem;margin-bottom:1.125rem;overflow:hidden;}
.blog-card .cover svg{transition:transform .3s ease;}
.blog-card:hover .cover svg{transform:scale(1.08);}
.blog-card-meta{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;}
.category-tag{display:inline-flex;align-items:center;padding:0.25rem 0.625rem;background:rgba(0,107,255,0.08);color:var(--blue);font-family:var(--font-body);font-size:var(--text-tiny);font-weight:600;letter-spacing:0.02em;border-radius:999px;}
.blog-card-date{font-size:var(--text-tiny);color:var(--text-on-paper-dim);}
.blog-card h3{font-size:var(--h5);margin-top:0.75rem;line-height:1.3;transition:color .15s ease;}
.blog-card:hover h3{color:var(--blue);}
.blog-card p{font-size:var(--text-regular);color:var(--text-on-paper-dim);margin-top:0.625rem;line-height:1.6;margin-bottom:1.125rem;}
.blog-card .byline{margin-top:auto;padding-top:1rem;border-top:1px solid var(--rule-paper);font-size:var(--text-tiny);color:var(--text-on-paper-dim);display:flex;gap:0.5rem;align-items:center;}
.blog-card .byline .avatar{
  width:1.75rem;height:1.75rem;border-radius:50%;flex-shrink:0;
  background:var(--blue);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-heading);font-size:var(--text-tiny);font-weight:700;
}
.blog-card .byline-info{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.blog-card .byline-readtime{flex-shrink:0;color:var(--text-on-paper-dim);}
@media(max-width:860px){
  .blog-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .blog-grid{grid-template-columns:1fr;}
}

/* ---------- STEPS ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.step{padding:0 1.5rem 0 0;}
.step:not(:first-child){padding-left:1.5rem;border-left:1px solid var(--rule-paper);}
.step .num{font-size:var(--text-tiny);color:var(--gold-bright);display:block;margin-bottom:1rem;}
.step h3{font-size:var(--h5);color:var(--text-on-paper);margin-bottom:0.625rem;}
.step p{font-size:var(--text-regular);color:var(--text-on-paper-dim);line-height:1.6;}
@media(max-width:860px){ .steps{grid-template-columns:1fr 1fr;gap:2rem 1.5rem;} .step{padding-left:0!important;border-left:none!important;} }
@media(max-width:520px){ .steps{grid-template-columns:1fr;} }

/* ---------- PROCESS DEMO (scroll-triggered payment → dashboard walkthrough) ---------- */
.process-visual{
  width:100%;
  display:flex;
  justify-content:center;
  margin:0 auto 3rem;
}
.demo-window{
  width:100%;
  max-width:26rem;
  background:var(--paper);
  border:1px solid var(--rule-paper);
  border-radius:1rem;
  box-shadow:0 1.5rem 3.5rem rgba(10,20,40,0.14);
  overflow:hidden;
}
.demo-titlebar{
  padding:0.625rem 0.875rem;
  background:var(--paper-2);
  border-bottom:1px solid var(--rule-paper);
  display:flex;
  gap:0.375rem;
}
.demo-dot{width:0.625rem;height:0.625rem;border-radius:50%;display:block;}
.demo-dot-red{background:#ff5f57;}
.demo-dot-yellow{background:#febc2e;}
.demo-dot-green{background:#28c840;}

.demo-body{position:relative;height:18.5rem;}
.demo-scene{
  position:absolute;inset:0;padding:1.75rem;
  display:flex;flex-direction:column;
  opacity:0;pointer-events:none;
  transition:opacity .45s ease;
}
[data-scene="checkout"] .demo-scene-checkout,
[data-scene="form"] .demo-scene-form,
[data-scene="thanks"] .demo-scene-thanks,
[data-scene="dashboard"] .demo-scene-dashboard{
  opacity:1;pointer-events:auto;
}

/* checkout scene */
.demo-scene-checkout{align-items:center;justify-content:center;text-align:center;gap:0.375rem;}
.demo-plan-name{font-size:var(--text-small);color:var(--text-on-paper-dim);}
.demo-plan-price{font-family:var(--font-heading);font-size:2.75rem;font-weight:500;color:var(--text-on-paper);}
.demo-plan-price sup{font-size:var(--text-large);top:-1rem;position:relative;font-family:var(--font-body);}
.demo-plan-price span{font-size:var(--text-regular);color:var(--text-on-paper-dim);}
.demo-buy-btn{
  margin-top:1.125rem;background:var(--blue);color:#fff;border:none;
  padding:0.75rem 1.75rem;border-radius:0.625rem;font-family:var(--font-body);
  font-size:var(--text-regular);font-weight:600;cursor:default;
  transition:transform .12s ease,background .15s ease;
}
.demo-buy-btn.is-clicked{transform:scale(0.93);background:var(--blue-dark);}

/* form scene */
.demo-scene-form{justify-content:center;gap:0.75rem;}
.demo-field label{font-size:var(--text-tiny);color:var(--text-on-paper-dim);display:block;margin-bottom:0.3125rem;}
.demo-input{
  background:var(--paper-2);border:1px solid var(--rule-paper);border-radius:0.5rem;
  padding:0.5625rem 0.75rem;font-size:var(--text-small);color:var(--text-on-paper);
  min-height:1.375rem;display:flex;align-items:center;transition:border-color .2s ease;
}
.demo-input.is-active{border-color:rgba(0,107,255,0.45);}
.demo-caret{width:1px;height:0.875rem;background:var(--blue);margin-left:1px;opacity:0;}
.demo-input.is-active .demo-caret{opacity:1;animation:demoCaretBlink 0.9s steps(1) infinite;}
@keyframes demoCaretBlink{50%{opacity:0;}}
.demo-submit-btn{
  margin-top:0.375rem;background:var(--blue);color:#fff;border:none;
  padding:0.6875rem;border-radius:0.5rem;font-family:var(--font-body);
  font-size:var(--text-small);font-weight:600;cursor:default;
  transition:transform .12s ease,opacity .15s ease;
}
.demo-submit-btn.is-clicked{transform:scale(0.96);opacity:0.75;}

/* thank-you scene */
.demo-scene-thanks{align-items:center;justify-content:center;text-align:center;gap:0.5rem;}
.demo-check svg{width:3.5rem;height:3.5rem;}
.demo-check circle{fill:none;stroke:var(--blue);stroke-width:2;stroke-dasharray:145;stroke-dashoffset:145;}
.demo-check path{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:34;stroke-dashoffset:34;}
[data-scene="thanks"] .demo-check circle{animation:demoDrawCircle .6s ease forwards;}
[data-scene="thanks"] .demo-check path{animation:demoDrawCheck .4s ease forwards .55s;}
@keyframes demoDrawCircle{to{stroke-dashoffset:0;}}
@keyframes demoDrawCheck{to{stroke-dashoffset:0;}}
.demo-thanks-title{font-family:var(--font-heading);font-size:var(--h5);color:var(--text-on-paper);margin-top:0.25rem;}
.demo-thanks-sub{font-size:var(--text-small);color:var(--text-on-paper-dim);}

/* dashboard scene */
.demo-scene-dashboard{flex-direction:row;gap:0.75rem;}
.demo-dash-side{width:18%;background:var(--paper-2);border-radius:0.5rem;padding:0.75rem 0.5rem;display:flex;flex-direction:column;gap:0.5rem;}
.demo-dash-side span{display:block;height:0.375rem;border-radius:999px;background:var(--rule-paper);}
.demo-dash-side span:first-child{background:var(--blue);}
.demo-dash-main{flex:1;display:flex;flex-direction:column;gap:0.625rem;min-width:0;}
.demo-dash-stats{display:flex;gap:0.5rem;}
.demo-dash-stat{flex:1;background:var(--paper-2);border-radius:0.5rem;padding:0.5rem 0.625rem;font-size:0.625rem;color:var(--text-on-paper-dim);}
.demo-dash-stat span{display:block;font-family:var(--font-heading);font-size:var(--text-regular);color:var(--text-on-paper);}
.demo-dash-chart{flex:1;display:flex;align-items:flex-end;gap:0.5rem;background:var(--paper-2);border-radius:0.5rem;padding:0.75rem;}
.demo-dash-chart span{flex:1;background:linear-gradient(180deg,var(--blue-bright),var(--blue));border-radius:0.25rem 0.25rem 0 0;height:0;transition:height .8s cubic-bezier(.22,1,.36,1);}
[data-scene="dashboard"] .demo-dash-chart span{height:var(--h);}

/* cursor */
.demo-cursor{
  position:absolute;top:0;left:0;width:1.25rem;height:1.25rem;
  opacity:0;transform:translate(-1.25rem,12.5rem);
  transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .25s ease;
  z-index:5;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,0.25));
}

@media(max-width:640px){
  .demo-body{height:20rem;}
  .demo-scene-dashboard{flex-direction:column;}
  .demo-dash-side{width:100%;flex-direction:row;height:0.5rem;padding:0;}
  .demo-dash-side span{height:100%;flex:1;}
}

/* ---------- PRICING (3-tier cards) ---------- */
.toggle{display:inline-flex;border:1px solid rgba(27,30,36,0.25);border-radius:999px;padding:0.1875rem;}
.toggle button{border:none;background:transparent;padding:0.5rem 1.125rem;font-family:var(--font-body);font-size:var(--text-small);border-radius:999px;cursor:pointer;color:var(--text-on-paper-dim);}
.toggle button.active{background:var(--blue);color:#ffffff;}
.price-toggle{display:flex;margin:0 0 2.5rem;width:max-content;}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch;max-width:64rem;margin:0 auto;}
.price-card{
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:0.875rem;
  padding:2.25rem 2rem;display:flex;flex-direction:column;position:relative;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.price-card-icon{
  width:2.75rem;height:2.75rem;border-radius:0.75rem;margin-bottom:1.25rem;
  background:var(--paper-2);color:var(--blue);display:flex;align-items:center;justify-content:center;
}
.price-card-icon svg{width:1.375rem;height:1.375rem;}
.price-card.highlighted .price-card-icon{background:var(--blue);color:#fff;}
.price-card:hover{
  border-color:var(--blue);
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(10,20,40,0.08);
}
.price-card.highlighted{
  border:2px solid var(--blue);
  background:linear-gradient(180deg, rgba(0,107,255,0.045), rgba(0,107,255,0) 9rem);
  box-shadow:0 12px 28px rgba(0,107,255,0.14);
}
.price-card.highlighted:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(0,107,255,0.2);
}
.price-card-badge{
  position:absolute;top:-0.8125rem;left:50%;transform:translateX(-50%);
  background:var(--blue);color:#fff;font-size:var(--text-tiny);font-weight:700;
  padding:0.375rem 1rem;border-radius:999px;white-space:nowrap;
  box-shadow:0 4px 10px rgba(0,107,255,0.35);
  letter-spacing:0.02em;
}
.price-card-head h3{font-size:var(--h5);color:var(--text-on-paper);}
.price-card-head p{font-size:var(--text-small);color:var(--text-on-paper-dim);margin-top:0.375rem;min-height:2.5rem;}
.price-card-figure{margin-top:1.25rem;display:flex;flex-direction:column;gap:0.25rem;}
.price-card-figure .amount{font-family:var(--font-heading);font-size:var(--h3);font-weight:500;color:var(--text-on-paper);display:flex;align-items:flex-start;}
.price-card-figure .amount sup{font-size:var(--text-large);top:0.25rem;position:relative;font-family:var(--font-body);}
.price-card-figure .per{font-size:var(--text-small);color:var(--text-on-paper-dim);line-height:1.4;}
.price-card-note{font-size:var(--text-tiny);color:var(--teal);height:1.125rem;margin-top:0.375rem;font-weight:600;}
.price-card-list{list-style:none;margin:1.5rem 0;padding:1.25rem 0 0;border-top:1px solid var(--rule-paper);flex:1;}
.price-card-list li{
  padding:0.625rem 0;font-size:var(--text-small);color:var(--text-on-paper);
  display:flex;gap:0.625rem;align-items:flex-start;line-height:1.4;
}
.price-card-list li:before{content:"—";color:var(--blue);flex-shrink:0;}
.price-card.highlighted .price-card-list li:before{content:"✓";color:var(--blue);font-weight:700;}
@media(max-width:900px){
  .price-grid{grid-template-columns:1fr;max-width:26rem;margin:0 auto;}
}

/* ---------- FORMS (contact / signup / signin) ---------- */
.form-panel{
  max-width:28.75rem;margin:0 auto;padding:2.5rem;
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:0.75rem;
}
.form-panel.wide{max-width:32.5rem;}
.field{margin-bottom:0.875rem;}
.field label{display:block;font-size:var(--text-tiny);color:var(--text-on-paper-dim);margin-bottom:0.375rem;}
.field input, .field textarea, .field select{
  width:100%;padding:0.8125rem 0.875rem;background:#ffffff;border:1px solid var(--rule-paper);
  color:var(--text-on-paper);font-family:var(--font-body);font-size:var(--text-regular);border-radius:var(--radius);
}
.field textarea{resize:vertical;min-height:7.5rem;}
.field input::placeholder, .field textarea::placeholder{color:var(--text-on-paper-dim);}
.field input:focus, .field textarea:focus, .field select:focus{outline:2px solid var(--gold-bright);outline-offset:1px;border-color:transparent;}
.persona-toggle{display:flex;gap:0.5rem;margin-bottom:1.375rem;}
.persona-toggle button{
  flex:1;padding:0.75rem;background:transparent;border:1px solid var(--rule-paper);color:var(--text-on-paper-dim);
  font-family:var(--font-body);font-size:var(--text-small);cursor:pointer;border-radius:var(--radius);
}
.persona-toggle button.active{border-color:var(--gold-bright);color:var(--gold-bright);}
.form-note{font-size:var(--text-tiny);color:var(--text-on-paper-dim);margin-top:1rem;text-align:center;}
.form-note a{color:var(--gold-bright);}
.confirm{display:none;padding:1.125rem;border:1px solid var(--gold-bright);color:var(--gold-bright);font-size:var(--text-regular);border-radius:var(--radius);text-align:center;}
.form-head{text-align:center;margin-bottom:1.75rem;}
.form-head h1{font-size:var(--h4);}
.form-head p{margin-top:0.625rem;font-size:var(--text-regular);color:var(--text-on-paper-dim);}

/* ---------- NEWSLETTER ---------- */
.newsletter{
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:0.75rem;
  padding:3rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;
}
.newsletter h2{font-size:var(--h4);max-width:18ch;}
.newsletter p{color:var(--text-on-paper-dim);margin-top:0.75rem;font-size:var(--text-regular);line-height:1.6;}
.newsletter form{display:flex;gap:0.625rem;}
.newsletter .field{flex:1;margin-bottom:0;}
.newsletter-select{
  padding:0.8125rem 0.875rem;background:#ffffff;border:1px solid var(--rule-paper);
  border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-regular);
  color:var(--text-on-paper);width:100%;
}
@media(max-width:780px){ .newsletter{grid-template-columns:1fr;padding:2rem 1.5rem;} .newsletter form{flex-direction:column;} }

/* ---------- FOOTER ---------- */
/* ---------- FOOTER (dark, multi-column, background wordmark) ---------- */
footer{background:#0a0a0a;color:#a7adb8;padding:4.5rem 0 0;overflow:hidden;position:relative;}
footer .footer-top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:2.5rem;padding-bottom:3.5rem;}
footer .footer-brand-block .brand{color:#fff;font-size:1.375rem;}
footer .footer-brand-block .brand .dot{color:var(--blue-bright);}
footer .footer-tagline{margin-top:1rem;color:#8b909a;font-size:var(--text-regular);line-height:1.6;max-width:24ch;}
footer .footer-social{display:flex;gap:0.625rem;margin-top:1.75rem;}
footer .footer-social a{
  width:2.25rem;height:2.25rem;border-radius:50%;background:rgba(255,255,255,0.06);
  display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s ease;
  flex-shrink:0;
}
footer .footer-social a:hover{background:rgba(255,255,255,0.14);}
footer .footer-social svg{width:1rem;height:1rem;}
footer .footer-col h4{color:#fff;font-size:var(--text-small);font-weight:600;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:0.04em;}
footer .footer-col a{display:block;color:#8b909a;font-size:var(--text-small);margin-bottom:0.875rem;transition:color .15s ease;}
footer .footer-col a:hover{color:#fff;}
/* "New jobs" pill in the footer brand block. */
footer .footer-new-jobs{
  display:inline-flex;align-items:center;gap:0.5rem;margin-top:1.25rem;
  padding:0.4375rem 0.875rem;border-radius:999px;
  background:rgba(0,107,255,0.16);border:1px solid rgba(47,140,255,0.4);
  color:#fff;font-size:var(--text-small);font-weight:500;
  transition:background .15s ease, border-color .15s ease;
}
footer .footer-new-jobs:hover{background:rgba(0,107,255,0.3);border-color:var(--blue-bright);}
footer .footer-new-dot{
  width:0.5rem;height:0.5rem;border-radius:50%;background:var(--blue-bright);flex-shrink:0;
  box-shadow:0 0 0 0 rgba(47,140,255,0.7);animation:footerPulse 2.2s ease-out infinite;
}
@keyframes footerPulse{
  70%{box-shadow:0 0 0 0.375rem rgba(47,140,255,0);}
  100%{box-shadow:0 0 0 0 rgba(47,140,255,0);}
}

/* Mega browse grid — the SEO link block above the wordmark. */
footer .footer-browse{
  border-top:1px solid rgba(255,255,255,0.08);
  padding:2.5rem 0 1rem;
}
footer .footer-browse-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  flex-wrap:wrap;margin-bottom:1.75rem;
}
footer .footer-browse-head h4{
  color:#fff;font-family:var(--font-heading);font-size:var(--h6);font-weight:600;
  text-transform:none;letter-spacing:0;margin:0;
}
footer .footer-browse-head a{color:var(--blue-bright);font-size:var(--text-small);font-weight:500;}
footer .footer-browse-head a:hover{color:#fff;}
footer .footer-browse-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:2rem 1.5rem;
}
footer .footer-browse-grid .footer-col h4{
  font-size:var(--text-tiny);color:#c9ced8;margin-bottom:0.875rem;
}
footer .footer-browse-grid .footer-col a{margin-bottom:0.625rem;font-size:var(--text-small);}

footer .footer-wordmark-wrap{
  overflow:hidden;text-align:center;pointer-events:none;user-select:none;
  border-top:1px solid rgba(255,255,255,0.08);padding-top:1.5rem;margin-top:1.5rem;
}
footer .footer-wordmark{
  font-family:var(--font-heading);font-weight:600;
  font-size:clamp(3.5rem, 13vw, 10rem);
  line-height:0.82;margin:0;white-space:nowrap;display:inline-block;
  background:
    linear-gradient(105deg, transparent 38%, rgba(70,150,255,0.7) 50%, transparent 62%) 120% 0 / 260% 100% no-repeat,
    linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.35) 55%, rgba(255,255,255,0.04) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:footerWordmarkSheen 7s ease-in-out infinite;
}
@keyframes footerWordmarkSheen{
  0%{background-position:120% 0, 0 0;}
  60%,100%{background-position:-30% 0, 0 0;}
}
@media (prefers-reduced-motion: reduce){footer .footer-wordmark{animation:none;}}
footer .footer-bottom{
  border-top:1px solid rgba(255,255,255,0.08);padding:1.5rem 0;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
  color:#8b909a;font-size:var(--text-tiny);
}
footer .footer-bottom-links{display:flex;gap:1.5rem;}
footer .footer-bottom a{color:#8b909a;transition:color .15s ease;}
footer .footer-bottom a:hover{color:#fff;}
@media(max-width:960px){
  footer .footer-top{grid-template-columns:repeat(3,1fr);row-gap:2.5rem;}
  footer .footer-brand-block{grid-column:1/-1;}
}
@media(max-width:640px){
  footer{padding-top:3rem;}
  footer .footer-top{grid-template-columns:repeat(2,1fr);gap:2rem;}
}

/* ---------- Hiring CTA (left copy + right premium lottie visual) ---------- */
.hiring-cta{
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:0.75rem;
  padding:3rem;display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:center;
  transition:border-color .2s ease;
}
.hiring-cta:hover{border-color:var(--blue);}
.hiring-cta-copy h2{font-size:var(--h3);color:var(--text-on-paper);}
.hiring-cta-copy p{margin-top:0.875rem;font-size:var(--text-xmedium);color:var(--text-on-paper-dim);max-width:38ch;line-height:1.55;}
.hiring-cta-copy .btn{margin-top:1.75rem;}
.hiring-cta-visual{display:flex;align-items:center;justify-content:center;}
.lottie-box-lg{width:13rem;height:13rem;}
@media(max-width:780px){
  .hiring-cta{grid-template-columns:1fr;text-align:center;padding:2.5rem 1.75rem;}
  .hiring-cta-copy p{margin-left:auto;margin-right:auto;}
  .hiring-cta-visual{order:-1;}
}

/* ---------- Swipe card stack (CTA visual) ---------- */
.swipe-stack{position:relative;width:100%;max-width:25rem;height:20.5rem;margin:0 auto;}
.swipe-card{
  position:absolute;inset:0;background:var(--paper);border:1px solid var(--rule-paper);
  border-radius:1.25rem;padding:2rem;display:flex;flex-direction:column;
  box-shadow:0 4px 10px rgba(10,20,40,0.05), 0 16px 32px rgba(10,20,40,0.09);
  transition:transform .55s cubic-bezier(.22,1,.36,1), opacity .5s ease, box-shadow .55s ease;
  will-change:transform;
}
.swipe-card[data-pos="0"]{transform:translateY(0) scale(1) rotate(0deg);z-index:3;opacity:1;}
.swipe-card[data-pos="1"]{
  transform:translateY(0.875rem) scale(0.94) rotate(-2.5deg);z-index:2;opacity:0.92;
  box-shadow:0 2px 6px rgba(10,20,40,0.04);
}
.swipe-card[data-pos="2"]{
  transform:translateY(1.625rem) scale(0.88) rotate(2.5deg);z-index:1;opacity:0.7;
  box-shadow:0 2px 4px rgba(10,20,40,0.03);
}
.swipe-card.is-leaving{
  transition:transform .5s cubic-bezier(.4,0,.6,1), opacity .45s ease .1s;
  transform:translate(9rem,-1.5rem) rotate(22deg) !important;
  opacity:0;z-index:4 !important;
}
.swipe-card.is-reset{transition:none !important;}
.swipe-card-top{display:flex;align-items:center;justify-content:space-between;}
.swipe-card-logo{
  width:3.5rem;height:3.5rem;border-radius:0.875rem;flex-shrink:0;
  background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-body);font-weight:600;font-size:var(--text-regular);
}
.swipe-card-match{
  font-size:var(--text-small);font-weight:700;color:var(--blue);
  background:var(--paper-2);border:1px solid var(--blue);border-radius:999px;
  padding:0.4375rem 0.9375rem;
}
.swipe-card h4{margin-top:1.375rem;font-size:var(--h5);color:var(--text-on-paper);line-height:1.25;}
.swipe-card p{margin-top:0.375rem;font-size:var(--text-regular);color:var(--blue-dark);font-weight:500;}
.swipe-card-meta{margin-top:0.75rem;font-size:var(--text-regular);color:var(--text-on-paper-dim);}
.swipe-card-tags{margin-top:auto;padding-top:1.25rem;display:flex;gap:0.625rem;flex-wrap:wrap;}
.swipe-card-tags span{
  font-size:var(--text-small);padding:0.375rem 0.875rem;background:var(--paper-2);
  border-radius:999px;color:var(--text-on-paper-dim);font-weight:500;
}
.swipe-card-stamp{
  position:absolute;top:2rem;right:2rem;
  font-family:var(--font-heading);font-weight:700;font-size:var(--h5);
  color:var(--teal);border:0.25rem solid var(--teal);border-radius:0.625rem;
  padding:0.1875rem 0.75rem;transform:rotate(-14deg);letter-spacing:0.05em;
  opacity:0;
}
.swipe-card[data-pos="0"].is-matched .swipe-card-stamp{
  animation:swipeStamp .5s cubic-bezier(.34,1.56,.64,1) forwards;
}
@keyframes swipeStamp{
  0%{opacity:0;transform:rotate(-14deg) scale(1.8);}
  60%{opacity:1;transform:rotate(-14deg) scale(0.92);}
  100%{opacity:1;transform:rotate(-14deg) scale(1);}
}
@media(max-width:480px){ .swipe-stack{max-width:20rem;height:19rem;} .swipe-card{padding:1.5rem;} }

/* Compact variant used inside Hiring CTA panels */
.swipe-stack.is-compact{max-width:17rem;height:14.5rem;}
.swipe-stack.is-compact .swipe-card{padding:1.25rem;}
.swipe-stack.is-compact .swipe-card-logo{width:2.25rem;height:2.25rem;font-size:0.625rem;border-radius:0.625rem;}
.swipe-stack.is-compact .swipe-card-match{font-size:0.625rem;padding:0.25rem 0.625rem;}
.swipe-stack.is-compact h4{font-size:var(--text-regular);margin-top:0.875rem;}
.swipe-stack.is-compact p{font-size:var(--text-small);margin-top:0.1875rem;}
.swipe-stack.is-compact .swipe-card-meta{font-size:0.6875rem;margin-top:0.5rem;}
.swipe-stack.is-compact .swipe-card-tags{padding-top:0.75rem;gap:0.4375rem;}
.swipe-stack.is-compact .swipe-card-tags span{font-size:0.625rem;padding:0.25rem 0.625rem;}
.swipe-stack.is-compact .swipe-card-stamp{
  top:1.25rem;right:1.25rem;font-size:var(--text-regular);border-width:0.1875rem;padding:0.0625rem 0.5rem;
}

/* ---------- Mini animations: For Job Seekers / For Employers ---------- */
.mini-search{width:11rem;display:flex;flex-direction:column;gap:0.5625rem;}
.mini-search-bar{
  display:flex;align-items:center;gap:0.5rem;
  border:1.5px solid var(--blue);border-radius:0.625rem;
  padding:0.5rem 0.75rem;background:var(--paper);
}
.mini-search-icon{width:1rem;height:1rem;color:var(--blue);flex-shrink:0;}
.mini-search-cursor{
  width:1px;height:0.875rem;background:var(--text-on-paper-dim);
  animation:miniCursorBlink 1s step-end infinite;
}
@keyframes miniCursorBlink{ 50%{opacity:0;} }
.mini-result{
  display:flex;align-items:center;gap:0.5rem;
  opacity:0;transform:translateX(-8px);
  animation:miniResultIn 3.2s ease-in-out infinite;
}
.mini-result:nth-child(3){animation-delay:.3s;}
.mini-result:nth-child(4){animation-delay:.6s;}
@keyframes miniResultIn{
  0%{opacity:0;transform:translateX(-8px);}
  12%,78%{opacity:1;transform:translateX(0);}
  100%{opacity:0;transform:translateX(-8px);}
}
.mini-result-dot{width:0.5rem;height:0.5rem;border-radius:0.25rem;background:var(--blue);flex-shrink:0;}
.mini-result-line{height:0.4375rem;border-radius:999px;background:var(--paper-2);}
.mini-result:nth-child(2) .mini-result-line{width:6.5rem;}
.mini-result:nth-child(3) .mini-result-line{width:5rem;}
.mini-result:nth-child(4) .mini-result-line{width:4rem;}

.mini-team{width:11rem;display:flex;flex-direction:column;align-items:center;gap:1.125rem;}
.mini-avatar-stack{display:flex;}
.mini-avatar{
  width:2.5rem;height:2.5rem;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--blue-dark));
  border:2px solid var(--paper);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:0.625rem;font-weight:600;font-family:var(--font-body);
  margin-left:-0.625rem;
  opacity:0;transform:scale(0.5);
  animation:miniAvatarPop 3.2s ease-in-out infinite;
}
.mini-avatar:first-child{margin-left:0;}
.mini-avatar:nth-child(2){animation-delay:.15s;}
.mini-avatar:nth-child(3){animation-delay:.3s;}
.mini-avatar:nth-child(4){animation-delay:.45s;}
.mini-avatar-plus{background:var(--paper-2);color:var(--blue);border-color:var(--blue);}
@keyframes miniAvatarPop{
  0%{opacity:0;transform:scale(0.5);}
  15%,80%{opacity:1;transform:scale(1);}
  100%{opacity:0;transform:scale(0.5);}
}
.mini-team-bar-track{width:100%;height:0.375rem;border-radius:999px;background:var(--paper-2);overflow:hidden;}
.mini-team-bar-fill{
  height:100%;width:0%;border-radius:999px;
  background:linear-gradient(90deg,var(--blue-bright),var(--blue));
  animation:miniBarGrow 3.2s ease-in-out infinite;
}
@keyframes miniBarGrow{
  0%{width:0%;}
  75%,100%{width:84%;}
}

/* ---------- Full-width creative visuals: Job Seekers feed / Employer funnel ---------- */
.mini-feed{width:100%;display:flex;flex-direction:column;gap:0.625rem;}
.mini-feed-search{
  display:flex;align-items:center;gap:0.625rem;
  border:1.5px solid var(--blue);border-radius:0.75rem;
  padding:0.75rem 1rem;background:var(--paper);margin-bottom:0.25rem;
}
.mini-feed-search svg{width:1.125rem;height:1.125rem;color:var(--blue);flex-shrink:0;}
.mini-feed-typed{font-size:var(--text-small);color:var(--text-on-paper);white-space:nowrap;overflow:hidden;}
.mini-feed-cursor{width:1px;height:1rem;background:var(--text-on-paper-dim);animation:miniCursorBlink 1s step-end infinite;}
.mini-feed-row{
  display:flex;align-items:center;gap:0.75rem;width:100%;
  border:1px solid var(--rule-paper);border-radius:0.75rem;padding:0.625rem 0.875rem;
  opacity:0;transform:translateX(-10px);
  transition:opacity .5s ease, transform .5s ease;
}
.mini-feed-row.is-visible{opacity:1;transform:translateX(0);}
.mini-feed-logo{
  width:2.25rem;height:2.25rem;border-radius:0.5rem;flex-shrink:0;
  background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:0.625rem;font-weight:600;
}
.mini-feed-info{flex:1;min-width:0;}
.mini-feed-title{font-size:var(--text-small);font-weight:600;color:var(--text-on-paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mini-feed-sub{font-size:0.6875rem;color:var(--text-on-paper-dim);margin-top:0.0625rem;}
.mini-feed-match{
  flex-shrink:0;font-size:0.6875rem;font-weight:700;color:var(--blue);
  background:var(--paper-2);border:1px solid var(--blue);border-radius:999px;
  padding:0.25rem 0.625rem;
}

.mini-funnel{width:100%;display:flex;flex-direction:column;gap:0.75rem;}
.mini-funnel-stage{display:flex;align-items:center;gap:0.875rem;}
.mini-funnel-track{
  flex:1;height:1.875rem;background:var(--paper-2);border-radius:0.5rem;
  overflow:hidden;position:relative;
}
.mini-funnel-fill{
  height:100%;width:0%;border-radius:0.5rem;
  background:linear-gradient(90deg,var(--blue-bright),var(--blue));
  display:flex;align-items:center;
  transition:width 1.1s cubic-bezier(.22,1,.36,1);
}
.mini-funnel-fill span{padding-left:0.75rem;font-size:0.6875rem;font-weight:600;color:#fff;white-space:nowrap;}
.mini-funnel-count{
  flex-shrink:0;width:2.75rem;text-align:right;
  font-family:var(--font-heading);font-weight:600;font-size:var(--text-large);color:var(--text-on-paper);
}

.blog-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;}
.blog-search-wrap{flex:0 0 auto;}
.blog-search-input{padding:0.625rem 1rem;border:1px solid var(--rule-paper);border-radius:var(--radius);font-size:var(--text-small);font-family:var(--font-body);min-width:220px;color:var(--text-on-paper);background:var(--paper);}
.blog-search-input:focus{outline:none;border-color:var(--blue);}
@media (max-width:640px){
  .blog-search-input{min-width:0;width:100%;}
}
.pagination{display:flex;align-items:center;justify-content:center;gap:0.5rem;margin-top:2.5rem;}
.page-btn{
  min-width:2.25rem;height:2.25rem;padding:0 0.625rem;border-radius:0.5rem;
  border:1px solid var(--rule-paper);background:var(--paper);color:var(--text-on-paper);
  font-family:var(--font-body);font-size:var(--text-small);font-weight:500;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:border-color .15s ease, background-color .15s ease, color .15s ease;
}
.page-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue);}
.page-btn.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.page-btn:disabled{opacity:0.35;cursor:not-allowed;}
.page-btn.page-nav{font-weight:600;}
.blog-sort{display:flex;align-items:center;gap:0.625rem;flex-shrink:0;}
.blog-sort label{font-size:var(--text-small);color:var(--text-on-paper-dim);}
.blog-sort select{
  font-family:var(--font-body);font-size:var(--text-small);color:var(--text-on-paper);
  border:1px solid var(--rule-paper);border-radius:0.625rem;padding:0.5rem 2rem 0.5rem 0.875rem;
  background:var(--paper) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23585d66" stroke-width="2"><path d="m6 9 6 6 6-6" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 0.625rem center;
  background-size:0.875rem;appearance:none;-webkit-appearance:none;cursor:pointer;
  transition:border-color .15s ease;
}
.blog-sort select:hover, .blog-sort select:focus{border-color:var(--blue);outline:none;}
@media(max-width:560px){
  .blog-controls{flex-direction:column;align-items:stretch;}
  .blog-sort{justify-content:space-between;}
}

.article-hero{padding-bottom:2.5rem;}
.article-back{font-size:var(--text-small);color:var(--text-on-paper-dim);display:inline-flex;transition:color .15s ease;}
.article-back:hover{color:var(--blue);}
.article-hero-category{
  display:inline-block;margin-top:1.5rem;font-size:var(--text-tiny);font-weight:600;color:var(--blue);
  background:var(--paper-2);border:1px solid var(--blue);border-radius:999px;padding:0.3125rem 0.875rem;
}
.article-hero-title{font-size:var(--h2);margin-top:1.25rem;line-height:1.15;}
.article-hero-meta{
  margin-top:1.5rem;display:flex;align-items:center;gap:0.625rem;
  font-size:var(--text-small);color:var(--text-on-paper-dim);flex-wrap:wrap;
}
.article-hero-avatar{
  width:2rem;height:2rem;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:0.6875rem;font-weight:600;font-family:var(--font-body);
}
.article-hero-author-name{font-weight:600;color:var(--text-on-paper);}
.article-hero-dot{width:0.1875rem;height:0.1875rem;border-radius:50%;background:var(--text-on-paper-dim);flex-shrink:0;}
.article-cover-hero{aspect-ratio:16/10;border-radius:1.25rem;overflow:hidden;border:1px solid var(--rule-paper);margin-bottom:1rem;}
.article-cover-hero img{width:100%;height:100%;display:block;object-fit:cover;}
.article-cover-hero svg{width:100%;height:100%;display:block;}
@media(max-width:640px){
  .article-hero-title{font-size:var(--h4);}
}

.job-filters-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;}
.job-extra-filters{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;}
.job-extra-filters select{
  font-family:var(--font-body);font-size:var(--text-small);color:var(--text-on-paper);
  border:1px solid var(--rule-paper);border-radius:0.625rem;padding:0.5rem 2rem 0.5rem 0.875rem;
  background:var(--paper) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23585d66" stroke-width="2"><path d="m6 9 6 6 6-6" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 0.625rem center;
  background-size:0.875rem;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .15s ease;
}
.job-extra-filters select:hover, .job-extra-filters select:focus{border-color:var(--blue);outline:none;}
.filter-checkbox{display:flex;align-items:center;gap:0.5rem;font-size:var(--text-small);color:var(--text-on-paper);cursor:pointer;user-select:none;}
.filter-checkbox input{width:1rem;height:1rem;accent-color:var(--blue);cursor:pointer;}
@media(max-width:700px){
  .job-filters-row{flex-direction:column;align-items:stretch;}
}

.contact-info{display:flex;flex-direction:column;gap:1.75rem;}
.contact-info .item{padding-top:0;}
.contact-info .item .label{font-family:var(--font-body);font-size:var(--text-tiny);color:var(--gold-bright);margin-bottom:0.375rem;}
.contact-info .item .value{font-size:var(--text-regular);color:var(--text-on-paper);}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:3.5rem;}
@media(max-width:780px){ .contact-grid{grid-template-columns:1fr;} }

/* ============================================================
   EDITORIAL GRID SYSTEM
   12-column desktop / 6-column tablet / 2-col mobile.
   Same colors/fonts/buttons as the rest of the site — this is a
   layout + composition layer only.
   ============================================================ */
.g12{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;}
@media(max-width:960px){ .g12{grid-template-columns:repeat(6,1fr);} }
@media(max-width:640px){ .g12{grid-template-columns:repeat(2,1fr);} }

.g-cell{padding:2rem;position:relative;}
.module-label{
  font-family:var(--font-body);font-size:var(--text-tiny);letter-spacing:0.06em;
  text-transform:uppercase;color:var(--text-on-paper-dim);font-weight:600;
  display:flex;align-items:center;gap:0.5rem;
}
.module-label .dot{width:0.375rem;height:0.375rem;border-radius:50%;background:var(--blue);flex-shrink:0;}

.big-number{font-family:var(--font-heading);font-weight:500;color:var(--text-on-paper);line-height:1;letter-spacing:-0.02em;}

/* reveal-on-scroll (subtle, fast, respects reduced-motion) */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s cubic-bezier(.22,1,.36,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1;transform:none;transition:none;} }

/* ---------- NAV (editorial polish) ---------- */
.site-nav .navlinks a[data-anchor]{color:#3d4148;}

/* ---------- HERO (editorial split, grid-framed) ---------- */
.ehero{padding:0;}
.ehero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;min-height:34rem;}
.ehero-copy{padding:5rem 3.5rem 3.5rem;display:flex;flex-direction:column;justify-content:center;}
.ehero-copy .module-label{margin-bottom:1.5rem;}
.ehero-copy h1{font-size:var(--h1);line-height:1.05;color:var(--text-on-paper);max-width:14ch;}
.ehero-copy p{margin-top:1.5rem;font-size:var(--text-xmedium);color:var(--text-on-paper-dim);max-width:38ch;line-height:1.55;}
.ehero-actions{margin-top:2.25rem;display:flex;gap:0.875rem;flex-wrap:wrap;}
.ehero-visual{
  border-left:1px solid var(--rule-paper);
  background:var(--paper-2);
  padding:3rem;
  display:flex;align-items:center;justify-content:center;
}
@media(max-width:960px){
  .ehero-grid{grid-template-columns:1fr;min-height:0;}
  .ehero-visual{border-left:none;border-top:1px solid var(--rule-paper);}
  .ehero-copy{padding:3.5rem 1.75rem 2.5rem;}
}
@media(max-width:640px){
  .ehero-copy h1{font-size:var(--h2);max-width:none;}
}

/* Match interface panel (hero visual) */
.match-panel{
  width:100%;max-width:23rem;background:var(--paper);
  border:1px solid var(--rule-paper);border-radius:0.875rem;
  box-shadow:0 1.5rem 3rem rgba(10,20,40,0.08);
  overflow:hidden;
}
.match-row{padding:1.25rem 1.5rem;border-bottom:1px solid var(--rule-paper);}
.match-row:last-child{border-bottom:none;}
.match-row .module-label{margin-bottom:0.75rem;}
.match-product-name{font-family:var(--font-heading);font-size:var(--h6);color:var(--text-on-paper);margin-bottom:0.875rem;}
.match-datarow{display:flex;justify-content:space-between;font-size:var(--text-small);padding:0.4375rem 0;border-top:1px solid var(--rule-paper);}
.match-datarow:first-of-type{border-top:none;}
.match-datarow .k{color:var(--text-on-paper-dim);}
.match-datarow .v{color:var(--text-on-paper);font-weight:500;}
.match-connector{display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.625rem 1.5rem;color:var(--text-on-paper-dim);}
.match-connector .line{flex:1;height:1px;background:var(--rule-paper);}
.match-score-row{text-align:center;background:var(--paper-2);}
.match-score{font-family:var(--font-heading);font-size:3rem;color:var(--blue);line-height:1;}
.match-score-row .module-label{justify-content:center;margin-bottom:0.5rem;}
.match-investor-name{font-family:var(--font-heading);font-size:var(--h6);color:var(--text-on-paper);margin-bottom:0.625rem;}
.match-tags{display:flex;gap:0.375rem;flex-wrap:wrap;}
.match-tag{font-size:var(--text-tiny);padding:0.25rem 0.625rem;background:var(--paper-2);border-radius:999px;color:var(--text-on-paper-dim);font-weight:500;}

/* ---------- EDITORIAL STATS ---------- */
.estat-cell{padding:3rem 2.5rem;}
.estat-cell .num{font-family:var(--font-heading);font-size:var(--h1);color:var(--text-on-paper);line-height:1;display:block;}
.estat-cell .label{margin-top:0.75rem;font-size:var(--text-small);color:var(--text-on-paper-dim);}
@media(max-width:640px){ .estat-cell .num{font-size:var(--h2);} .estat-cell{padding:2rem 1.5rem;} }

/* ---------- SECTION HEADER BLOCK (full-width, bordered) ---------- */
.block-head{margin:0 auto 3rem;text-align:center;max-width:40rem;}
.block-head .module-label{margin-bottom:1rem;justify-content:center;}
.block-head h2{font-size:var(--h3);color:var(--text-on-paper);max-width:22ch;margin-left:auto;margin-right:auto;}
.block-head p{margin-top:1rem;font-size:var(--text-xmedium);color:var(--text-on-paper-dim);max-width:52ch;line-height:1.55;margin-left:auto;margin-right:auto;}
.block-head-foot{margin-top:1.75rem;display:flex;justify-content:center;}

/* ---------- PRODUCT DISCOVERY (asymmetric grid) ---------- */
.pd-cell{padding:2.25rem;display:flex;flex-direction:column;}
.pd-cell .module-label{margin-bottom:1.25rem;}
.pd-name{font-family:var(--font-heading);font-size:var(--h5);color:var(--text-on-paper);}
.pd-tagline{margin-top:0.625rem;font-size:var(--text-regular);color:var(--text-on-paper-dim);line-height:1.55;}
.pd-meta{margin-top:auto;padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:1.5rem;}
.pd-meta .kv{display:flex;flex-direction:column;gap:0.25rem;}
.pd-meta .k{font-size:var(--text-tiny);color:var(--text-on-paper-dim);text-transform:uppercase;letter-spacing:0.04em;}
.pd-meta .v{font-size:var(--text-regular);color:var(--text-on-paper);font-weight:500;}
.pd-featured-badge{
  position:absolute;top:2.25rem;right:2.25rem;
  font-size:var(--text-tiny);font-weight:600;color:var(--blue);
  border:1px solid rgba(0,107,255,0.3);padding:0.25rem 0.75rem;border-radius:999px;
}
.pd-match{font-family:var(--font-heading);font-size:var(--text-large);color:var(--blue);}
.pd-compact .pd-name{font-size:var(--h6);}
.pd-compact .pd-meta{gap:1rem;}

/* ---------- INVESTOR DISCOVERY ---------- */
.inv-cell{padding:2.25rem;}
.inv-number{font-family:var(--font-body);font-size:var(--text-tiny);color:var(--text-on-paper-dim);letter-spacing:0.05em;}
.inv-name{margin-top:0.5rem;font-family:var(--font-heading);font-size:var(--h6);color:var(--text-on-paper);}
.inv-focus{margin-top:0.75rem;display:flex;gap:0.375rem;flex-wrap:wrap;}
.inv-data{margin-top:1.25rem;display:flex;flex-direction:column;gap:0.5rem;}
.inv-datarow{display:flex;justify-content:space-between;font-size:var(--text-small);padding-top:0.5rem;border-top:1px solid var(--rule-paper);}
.inv-datarow:first-child{border-top:none;padding-top:0;}
.inv-datarow .k{color:var(--text-on-paper-dim);}
.inv-datarow .v{color:var(--text-on-paper);font-weight:500;}
.inv-link{margin-top:1.25rem;display:inline-flex;align-items:center;gap:0.375rem;padding:0.625rem 1rem;font-size:var(--text-small);color:var(--blue);font-weight:600;background:var(--blue-light);border:1px solid var(--blue-light);border-radius:var(--radius);transition:all .18s ease;cursor:pointer;}
.inv-link:hover{color:var(--white);background:var(--blue);border-color:var(--blue);}
.link-arrow{display:inline-block;transition:transform .25s cubic-bezier(.4,0,.2,1);}
a:hover .link-arrow, .btn:hover .link-arrow{transform:translateX(0.25rem);}

/* Generic link hover fallback: any plain link not already styled still gets feedback */
a{transition:color .15s ease, opacity .15s ease;}

/* ---------- MATCHING TABLE ---------- */
.match-table{width:100%;border-collapse:collapse;}
.match-table th{
  text-align:left;padding:1rem 2rem;font-size:var(--text-tiny);text-transform:uppercase;letter-spacing:0.05em;
  color:var(--text-on-paper-dim);font-weight:600;border-bottom:1px solid var(--rule-paper);
}
.match-table td{padding:1.25rem 2rem;font-size:var(--text-regular);color:var(--text-on-paper);border-bottom:1px solid var(--rule-paper);}
.match-table tr:last-child td{border-bottom:none;}
.match-table .mt-score{color:var(--blue);font-weight:600;}
.match-table .mt-type{color:var(--text-on-paper-dim);font-size:var(--text-small);}
@media(max-width:640px){
  .match-table thead{display:none;}
  .match-table, .match-table tbody, .match-table tr, .match-table td{display:block;width:100%;}
  .match-table tr{padding:1.25rem 1.5rem;border-bottom:1px solid var(--rule-paper);}
  .match-table td{padding:0.25rem 0;border-bottom:none;}
}

/* ---------- FEATURES BENTO ---------- */
.bento-cell{
  padding:2.75rem 2.5rem;
  background:var(--paper);
  border:1px solid var(--rule-paper);
  border-top:3px solid var(--rule-paper);
  border-radius:0.75rem;
  transition:border-color .2s ease;
}
.bento-cell:hover{
  border-color:var(--blue);
  border-top-color:var(--blue);
}
.bento-cell h3{font-size:var(--h5);color:var(--text-on-paper);}
.bento-cell p{margin-top:0.75rem;font-size:var(--text-regular);color:var(--text-on-paper-dim);line-height:1.6;max-width:44ch;}
.bento-cell .module-label{margin-bottom:1.25rem;}

/* ---------- NUMBERED PROCESS (How it works) ---------- */
.proc-cell{padding:3rem 2.25rem;}
.proc-num{font-family:var(--font-heading);font-size:var(--h1);color:var(--rule-paper);line-height:1;}
.proc-cell h3{margin-top:1rem;font-size:var(--h6);color:var(--text-on-paper);}
.proc-cell p{margin-top:0.625rem;font-size:var(--text-small);color:var(--text-on-paper-dim);line-height:1.55;}

/* ---------- CTA (editorial) ---------- */
.ecta-cell{padding:4.5rem 3rem;text-align:center;}
.ecta-cell h2{font-size:var(--h2);color:var(--text-on-paper);max-width:20ch;margin:0 auto;}
.ecta-actions{margin-top:2rem;display:flex;gap:0.875rem;justify-content:center;flex-wrap:wrap;}
@media(max-width:640px){ .ecta-cell{padding:3rem 1.5rem;} }

/* ---------- Editorial section-specific grids ---------- */
.span-6{grid-column:span 6;}
.span-7{grid-column:span 7;}
.span-5{grid-column:span 5;}
.span-4{grid-column:span 4;}
@media(max-width:960px){ .span-7,.span-5,.span-4{grid-column:span 6;} }
@media(max-width:640px){ .span-6,.span-7,.span-5,.span-4{grid-column:span 2;} }

/* ---------- Job-board hero (ecoroles-style: centered, minimal) ---------- */
.jhero{padding:5.5rem 0 4rem;text-align:center;max-width:46rem;margin:0 auto;}
.jhero .module-label{justify-content:center;}
.jhero h1{margin-top:1.25rem;font-size:var(--h1);line-height:1.08;}
.jhero p{margin-top:1.25rem;font-size:var(--text-xmedium);color:var(--text-on-paper-dim);line-height:1.55;}
.jhero-stats{margin-top:1.5rem;font-size:var(--text-regular);color:var(--text-on-paper-dim);}
.jhero-stats strong{color:var(--text-on-paper);font-weight:600;}
.jhero-actions{margin-top:2rem;display:flex;gap:0.875rem;justify-content:center;flex-wrap:wrap;}
@media(max-width:640px){ .jhero{padding:3.5rem 1.5rem 2.5rem;} .jhero h1{font-size:var(--h2);} }

.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stats-grid .estat-cell{border-left:1px solid var(--rule-paper);}
.stats-grid .estat-cell:first-child{border-left:none;}
@media(max-width:640px){
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .stats-grid .estat-cell:nth-child(2n+1){border-left:none;}
  .stats-grid .estat-cell:nth-child(n+3){border-top:1px solid var(--rule-paper);}
}

.investor-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.investor-grid .inv-cell{border-left:1px solid var(--rule-paper);border-top:1px solid var(--rule-paper);}
.investor-grid .inv-cell:nth-child(3n+1){border-left:none;}
.investor-grid .inv-cell:nth-child(-n+3){border-top:none;}
@media(max-width:960px){
  .investor-grid{grid-template-columns:repeat(2,1fr);}
  .investor-grid .inv-cell:nth-child(3n+1){border-left:1px solid var(--rule-paper);}
  .investor-grid .inv-cell:nth-child(2n+1){border-left:none;}
  .investor-grid .inv-cell:nth-child(-n+3){border-top:1px solid var(--rule-paper);}
  .investor-grid .inv-cell:nth-child(-n+2){border-top:none;}
}
@media(max-width:640px){
  .investor-grid{grid-template-columns:1fr;}
  .investor-grid .inv-cell{border-left:none!important;}
  .investor-grid .inv-cell:nth-child(-n+2){border-top:1px solid var(--rule-paper);}
  .investor-grid .inv-cell:first-child{border-top:none!important;}
}

.bento-row-2{display:grid;grid-template-columns:repeat(2,1fr);}
.bento-row-uneven{display:grid;grid-template-columns:5fr 7fr;}
@media(max-width:640px){
  .bento-row-2,.bento-row-uneven{grid-template-columns:1fr;}
  .bento-row-2 .g-cell,.bento-row-uneven .g-cell{border-left:none!important;}
  .bento-row-2 .g-cell + .g-cell,.bento-row-uneven .g-cell + .g-cell{border-top:1px solid var(--rule-paper);}
}

.process-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.process-grid .proc-cell{border-left:1px solid var(--rule-paper);}
.process-grid .proc-cell:first-child{border-left:none;}
@media(max-width:960px){
  .process-grid{grid-template-columns:repeat(2,1fr);}
  .process-grid .proc-cell:nth-child(2n+1){border-left:none;}
  .process-grid .proc-cell:nth-child(n+3){border-top:1px solid var(--rule-paper);}
}
@media(max-width:640px){
  .process-grid{grid-template-columns:1fr;}
  .process-grid .proc-cell{border-left:none!important;}
  .process-grid .proc-cell:nth-child(n+2){border-top:1px solid var(--rule-paper);}
}

/* ---------- Article layout (blog detail: TOC sidebar + content) ---------- */
.article-layout{display:grid;grid-template-columns:15rem 1fr;gap:3.5rem;align-items:start;}
.article-toc{position:sticky;top:6rem;}
@media(max-width:860px){
  .article-layout{grid-template-columns:1fr;}
  .article-toc{position:static;order:-1;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--rule-paper);}
  .article-toc ul{flex-direction:row!important;flex-wrap:wrap;gap:0.5rem!important;}
  .article-toc li{border-left:none!important;}
  .article-toc .toc-link{padding:0.4375rem 0.875rem!important;border:1px solid var(--rule-paper);border-radius:999px;}
}

/* ---------- Job detail layout: description + company sidebar ---------- */
.job-detail-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;}
.job-detail-layout .bento-cell{position:sticky;top:6rem;}
@media(max-width:860px){
  .job-detail-layout{grid-template-columns:1fr;gap:2rem;}
  .job-detail-layout .bento-cell{position:static;}
}

@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{transition:none!important;} }

/* ============================================================
   Round 4 additions: hero (unicorn), highlighted text, lottie
   cards, category filters, company links, blog covers, CTA
   graphic, FAQ accordion, 3-period pricing.
   ============================================================ */

/* ---------- Highlighted heading text ---------- */
.text-highlight{
  position:relative;color:var(--blue);white-space:nowrap;
}
.text-highlight svg{
  position:absolute;left:-2%;right:-2%;bottom:-0.12em;width:104%;height:0.32em;
  z-index:-1;
}
.typed-text{
  position:relative;
  border-right:0.08em solid rgba(255,255,255,0.85);
  padding-right:0.05em;
  animation:typedCursorBlink 0.85s step-end infinite;
}
@keyframes typedCursorBlink{
  0%, 100%{border-color:rgba(255,255,255,0.85);}
  50%{border-color:transparent;}
}

/* ---------- Lottie process cards (Who We Serve) ---------- */
.lottie-card-visual{
  width:100%;height:12.5rem;display:flex;align-items:center;justify-content:center;
  margin-bottom:1.5rem;
}
.lottie-box{width:9.5rem;height:9.5rem;}

/* ---------- Category filter pills (inline with job listings) ---------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:0.625rem;margin-bottom:2rem;}
.filter-pill{
  padding:0.5rem 1.125rem;border:1px solid var(--rule-paper);border-radius:999px;
  font-size:var(--text-small);color:var(--text-on-paper-dim);background:transparent;
  cursor:pointer;font-family:var(--font-body);transition:all .15s ease;
}
.filter-pill .count{color:var(--text-on-paper-dim);margin-left:0.375rem;font-size:var(--text-tiny);}
.filter-pill.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.filter-pill.active .count{color:rgba(255,255,255,0.8);}
.filter-pill:hover:not(.active){border-color:var(--blue);color:var(--blue);}
.job-card.is-hidden{display:none;}
.job-empty-msg{padding:2rem 0;color:var(--text-on-paper-dim);font-size:var(--text-regular);text-align:center;display:none;}
.job-empty-msg.is-visible{display:block;}

/* ---------- Company card as link + logo emphasis ---------- */
a.company-card{display:block;color:inherit;cursor:pointer;}
.company-card .logo{
  width:3.25rem;height:3.25rem;border-radius:0.5rem;
  background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);
  font-weight:600;font-size:var(--text-regular);flex-shrink:0;
}

/* ---------- Blog cover illustrations (inline SVG, theme-matched) ---------- */
.blog-card .cover{aspect-ratio:16/10;border-radius:0.5rem;margin-bottom:1.125rem;overflow:hidden;background:var(--paper-2);}
.blog-card .cover svg{width:100%;height:100%;display:block;}
.blog-card .cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s ease;}
.blog-card:hover .cover img{transform:scale(1.05);}

/* ---------- CTA with right-side graphic ---------- */
.cta-split{display:grid;grid-template-columns:1.1fr 0.9fr;align-items:center;gap:2.5rem;}
.cta-split-copy h2{font-size:var(--h2);color:var(--text-on-paper);max-width:14ch;}
.cta-split-copy p{margin-top:1rem;font-size:var(--text-xmedium);color:var(--text-on-paper-dim);max-width:34ch;}
.cta-split-actions{margin-top:2rem;display:flex;gap:0.875rem;flex-wrap:wrap;}
.cta-graphic{display:flex;align-items:center;justify-content:center;}
.cta-graphic svg{width:100%;height:auto;max-width:22rem;}
@media(max-width:860px){
  .cta-split{grid-template-columns:1fr;text-align:center;}
  .cta-split-copy h2{max-width:none;}
  .cta-split-copy p{margin-left:auto;margin-right:auto;}
  .cta-split-actions{justify-content:center;}
  .cta-graphic{margin-top:1rem;}
}

/* ---------- FAQ accordion ---------- */
.faq-list{max-width:48rem;margin:0 auto;display:flex;flex-direction:column;gap:0.75rem;}
.faq-item{
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:0.75rem;
  padding:0 1.5rem;transition:border-color .2s ease;
}
.faq-item.is-open{border-color:var(--blue);background:rgba(0,107,255,0.05);}
.faq-item.is-open .faq-question{padding-bottom:0.625rem;color:var(--blue);}
.faq-question{
  width:100%;text-align:left;background:none;border:none;cursor:pointer;
  padding:1.375rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-family:var(--font-heading);font-size:var(--h6);color:var(--text-on-paper);
}
.faq-question .icon{
  flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--paper-2);
  display:flex;align-items:center;justify-content:center;font-size:var(--text-regular);color:var(--text-on-paper-dim);
  transition:transform .25s ease, background .2s ease, color .2s ease;
}
.faq-item.is-open .faq-question .icon{transform:rotate(45deg);color:#fff;background:var(--blue);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-answer p{padding:0 0 1.25rem;font-size:var(--text-regular);color:var(--text-on-paper-dim);line-height:1.6;max-width:42rem;}

/* ---------- 3-period pricing toggle ---------- */
.toggle.toggle-3 button{padding:0.5rem 0.875rem;}

/* ---------- Dashboard (management-tool style) ---------- */
.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1.25rem;margin-bottom:2.5rem;}
.dash-stat-card{
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:1rem;
  padding:1.5rem 1.75rem;box-shadow:0 3px 12px rgba(10,10,10,0.07);
  transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease;
  display:flex;flex-direction:column;gap:0.875rem;
}
.dash-stat-card:hover{box-shadow:0 12px 28px rgba(10,10,10,0.12);border-color:#cfd5e0;transform:translateY(-3px);}
.dash-stat-card .stat-icon-chip{
  width:2.5rem;height:2.5rem;border-radius:0.625rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.dash-stat-card .stat-icon-chip svg{width:1.25rem;height:1.25rem;}
.dash-stat-card .num{display:block;font-family:var(--font-heading);font-size:var(--h3);color:var(--text-on-paper);line-height:1;}
.dash-stat-card .label{margin-top:0.5rem;font-size:var(--text-small);color:var(--text-on-paper-dim);}

.dash-panel{
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:1rem;
  margin-bottom:1.5rem;overflow:hidden;box-shadow:0 3px 12px rgba(10,10,10,0.06);
  transition:box-shadow .18s ease, border-color .18s ease;
}
.dash-panel-head{
  padding:1.25rem 1.75rem;border-bottom:1px solid var(--rule-paper);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem;background:var(--paper-2);
}
.dash-panel-head h3{font-size:var(--h6);font-family:var(--font-heading);color:var(--text-on-paper);}
.dash-panel-head .meta{font-size:var(--text-small);color:var(--text-on-paper-dim);margin-top:0.25rem;}

.dash-table{width:100%;border-collapse:collapse;}
.dash-table th{
  text-align:left;font-size:var(--text-tiny);text-transform:uppercase;letter-spacing:0.04em;
  color:var(--text-on-paper-dim);font-weight:600;padding:0.75rem 1.75rem;border-bottom:1px solid var(--rule-paper);
}
.dash-table td{padding:1rem 1.75rem;border-bottom:1px solid var(--rule-paper);font-size:var(--text-small);vertical-align:middle;}
.dash-table tr:last-child td{border-bottom:none;}
.dash-table tr:hover td{background:var(--paper-2);}
.dash-applicant-name{font-weight:600;color:var(--text-on-paper);}
.dash-applicant-meta{font-size:var(--text-tiny);color:var(--text-on-paper-dim);margin-top:0.125rem;}
.dash-cover-note{font-size:var(--text-tiny);color:var(--text-on-paper-dim);font-style:italic;margin-top:0.375rem;max-width:22rem;}
.dash-cover-note p{margin:0 0 0.375rem;}
.dash-cover-note ul, .dash-cover-note ol{margin-bottom:0.375rem;}
.dash-empty{padding:2.5rem 1.75rem;text-align:center;color:var(--text-on-paper-dim);}
.dash-resume-link{font-size:var(--text-tiny);color:var(--blue);text-decoration:none;font-weight:500;}
.dash-resume-link:hover{text-decoration:underline;}

.status-select{
  font-size:var(--text-tiny);font-weight:600;padding:0.375rem 0.625rem;border-radius:999px;
  border:1px solid var(--rule-paper);background:var(--paper-2);color:var(--text-on-paper);cursor:pointer;
}
.status-badge{
  display:inline-flex;align-items:center;font-size:var(--text-tiny);font-weight:600;
  padding:0.3125rem 0.75rem;border-radius:999px;text-transform:capitalize;
}
.status-badge.submitted{background:#eef0f4;color:#585d66;}
.status-badge.reviewed{background:#e7f1ff;color:var(--blue-dark);}
.status-badge.hired{background:#e5f6ed;color:#1a7f37;}
.status-badge.rejected{background:#fdecec;color:#c0392b;}
.status-badge.pending{background:#fff7e6;color:#b8860b;}
.status-badge.approved{background:#e5f6ed;color:#1a7f37;}
.status-select.submitted{background:#eef0f4;color:#585d66;}
.status-select.reviewed{background:#e7f1ff;color:var(--blue-dark);}
.status-select.hired{background:#e5f6ed;color:#1a7f37;}
.status-select.rejected{background:#fdecec;color:#c0392b;}
.status-select.pending{background:#fff7e6;color:#b8860b;}
.status-select.approved{background:#e5f6ed;color:#1a7f37;}

/* ---------- Content gating: free-account wall + Pro teaser ---------- */
.signup-gate{
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:1rem;
  padding:2.5rem 2rem;text-align:center;box-shadow:0 3px 12px rgba(10,10,10,0.06);margin-top:1.25rem;
}
.signup-gate-icon{
  width:3rem;height:3rem;border-radius:50%;background:#eaf2ff;color:var(--blue);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;
}
.signup-gate-icon svg{width:1.5rem;height:1.5rem;}
.signup-gate h3{font-size:var(--h5);margin-bottom:0.625rem;}
.signup-gate p{color:var(--text-on-paper-dim);max-width:34rem;margin:0 auto 1.5rem;line-height:1.6;}
.signup-gate-actions{display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;}

.pro-teaser{
  background:linear-gradient(155deg, var(--paper) 0%, var(--paper-2) 100%);
  border:1px solid var(--rule-paper);border-radius:1rem;padding:1.75rem;margin-bottom:1.5rem;
  box-shadow:0 4px 16px rgba(10,10,10,0.07);
}
.pro-teaser-head{display:flex;align-items:center;gap:0.625rem;margin-bottom:0.75rem;}
.pro-teaser-eyebrow{font-size:var(--text-tiny);text-transform:uppercase;letter-spacing:0.05em;font-weight:700;color:var(--text-on-paper-dim);}
.pro-teaser h3{font-size:var(--h6);margin-bottom:0.5rem;}
.pro-teaser > p{color:var(--text-on-paper-dim);margin-bottom:1.25rem;line-height:1.6;max-width:38rem;}
.pro-teaser-actions{display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:1.25rem;}

.locked-job-list{display:flex;flex-direction:column;gap:0.625rem;}
.locked-job-row{
  display:flex;align-items:center;gap:0.875rem;background:var(--paper);
  border:1px solid var(--rule-paper);border-radius:0.75rem;padding:0.75rem 1rem;
}
.locked-job-logo{width:2.25rem;height:2.25rem;font-size:var(--text-tiny);flex-shrink:0;}
.locked-job-main{flex:1;min-width:0;}
.locked-job-title{
  height:0.875rem;width:min(16rem,60%);border-radius:999px;margin-bottom:0.375rem;
  background:linear-gradient(90deg,#d7dbe3,#e9ecf1,#d7dbe3);filter:blur(1px);
}
.locked-job-meta{font-size:var(--text-tiny);color:var(--text-on-paper-dim);}
.locked-job-flag{font-size:var(--text-tiny);font-weight:600;color:var(--text-on-paper-dim);flex-shrink:0;}

/* ---------- Discovery grids: categories + top employers ---------- */
/* ---------- Discovery grids ----------
   Both grids share the product's card language: white surface, hairline rule,
   1rem radius, a resting shadow, and a blue accent that arrives on hover. */
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;}
.category-tile{
  position:relative;display:flex;align-items:center;gap:0.875rem;
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:1rem;
  padding:1.125rem 1.25rem;text-decoration:none;overflow:hidden;
  box-shadow:0 3px 12px rgba(10,10,10,0.05);
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
/* Blue rail slides in from the left edge instead of flooding the whole tile. */
.category-tile:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--blue-bright),var(--blue-dark));
  transform:scaleY(0);transform-origin:top;transition:transform .2s ease;
}
.category-tile:hover{
  transform:translateY(-3px);border-color:#cfe0ff;
  box-shadow:0 12px 26px rgba(0,107,255,0.14);
}
.category-tile:hover:before{transform:scaleY(1);}
.category-tile-icon{
  width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:0.875rem;
  background:linear-gradient(150deg,#f2f7ff 0%,#e2edff 100%);
  border:1px solid #dbe8ff;
  display:flex;align-items:center;justify-content:center;
  transition:transform .18s ease, box-shadow .18s ease;
}
.category-tile-icon svg{width:1.5rem;height:1.5rem;display:block;}
.category-tile:hover .category-tile-icon{
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 6px 14px rgba(0,107,255,0.24);
}
.category-tile-body{flex:1;min-width:0;}
.category-tile-name{
  display:block;font-weight:600;color:var(--text-on-paper);font-size:var(--text-small);
  margin-bottom:0.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.category-tile-count{display:block;font-size:var(--text-tiny);color:var(--text-on-paper-dim);}
.category-tile-arrow{
  flex-shrink:0;color:var(--text-on-paper-dim);font-size:var(--text-small);
  opacity:0;transform:translateX(-0.25rem);
  transition:opacity .18s ease, transform .18s ease, color .18s ease;
}
.category-tile:hover .category-tile-arrow{opacity:1;transform:translateX(0);color:var(--blue);}

.employer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;}
.employer-tile{
  display:flex;align-items:center;gap:0.875rem;text-align:left;
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:1rem;padding:1.125rem 1.25rem;
  text-decoration:none;box-shadow:0 3px 12px rgba(10,10,10,0.05);
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.employer-tile:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,107,255,0.14);border-color:#cfe0ff;}
.employer-tile-logo{
  width:2.75rem;height:2.75rem;flex-shrink:0;border-radius:0.75rem;
  background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-small);
}
.employer-tile-body{flex:1;min-width:0;}
.employer-tile-name{
  display:block;font-weight:600;color:var(--text-on-paper);font-size:var(--text-small);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.employer-tile-industry{
  display:block;font-size:var(--text-tiny);color:var(--text-on-paper-dim);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.employer-tile-count{
  flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;
  font-size:var(--text-large);font-weight:700;color:var(--blue);line-height:1.1;
  font-family:var(--font-heading);
}
.employer-tile-count small{
  font-size:0.625rem;font-weight:500;color:var(--text-on-paper-dim);
  text-transform:uppercase;letter-spacing:0.03em;font-family:var(--font-body);
}

.job-salary{color:#1a7f37;font-weight:600;}
.job-tag-skill{background:#eaf2ff;color:var(--blue-dark);}

/* ---------- Job board filter dropdowns ---------- */
.job-filters{
  display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;margin-bottom:1.25rem;
}
.filter-search{
  position:relative;display:flex;align-items:center;flex:1 1 16rem;min-width:13rem;max-width:22rem;
}
.filter-search svg{
  position:absolute;left:0.875rem;width:1rem;height:1rem;color:var(--text-on-paper-dim);pointer-events:none;
}
.filter-search input{
  width:100%;padding:0.625rem 0.875rem 0.625rem 2.375rem;
  border:1px solid var(--rule-paper);border-radius:999px;background:var(--paper);
  font-family:var(--font-body);font-size:var(--text-small);color:var(--text-on-paper);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.filter-search input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,107,255,0.12);}
.filter-search input::-webkit-search-cancel-button{cursor:pointer;}

.filter-drops{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;}
.filter-drop{position:relative;}
.filter-drop-btn{
  display:inline-flex;align-items:center;gap:0.375rem;
  padding:0.5625rem 0.875rem;border:1px solid var(--rule-paper);border-radius:999px;
  background:var(--paper);color:var(--text-on-paper);cursor:pointer;
  font-family:var(--font-body);font-size:var(--text-small);font-weight:500;white-space:nowrap;
  transition:border-color .15s ease, color .15s ease, background .15s ease, box-shadow .15s ease;
}
.filter-drop-btn:hover{border-color:var(--blue);color:var(--blue);}
.filter-drop.is-open .filter-drop-btn{
  border-color:var(--blue);color:var(--blue);box-shadow:0 0 0 3px rgba(0,107,255,0.12);
}
.filter-drop.is-active .filter-drop-btn{
  background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600;
}
.filter-drop-label{max-width:11rem;overflow:hidden;text-overflow:ellipsis;}
.filter-drop-caret{width:0.75rem;height:0.75rem;flex-shrink:0;transition:transform .18s ease;}
.filter-drop.is-open .filter-drop-caret{transform:rotate(180deg);}
.filter-pro-tag{
  font-size:0.5625rem;font-weight:700;letter-spacing:0.04em;
  background:linear-gradient(135deg,var(--blue-bright),var(--blue-dark));
  color:#fff;padding:0.0625rem 0.3125rem;border-radius:999px;
}
.filter-drop.is-active .filter-pro-tag{background:rgba(255,255,255,0.28);}

.filter-drop-panel{
  position:absolute;top:calc(100% + 0.5rem);left:0;z-index:40;min-width:15rem;max-width:20rem;
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:0.875rem;
  box-shadow:0 16px 40px rgba(10,10,10,0.16);padding:0.5rem;
  animation:filterDropIn .14s ease-out;
}
@keyframes filterDropIn{from{opacity:0;transform:translateY(-0.25rem);}to{opacity:1;transform:translateY(0);}}
.filter-opt-search{
  width:100%;padding:0.5rem 0.75rem;margin-bottom:0.375rem;
  border:1px solid var(--rule-paper);border-radius:0.5rem;background:var(--paper-2);
  font-family:var(--font-body);font-size:var(--text-small);color:var(--text-on-paper);
}
.filter-opt-search:focus{outline:none;border-color:var(--blue);}
.filter-opt-list{max-height:17rem;overflow-y:auto;}
.filter-opt{
  display:flex;align-items:center;justify-content:space-between;gap:0.75rem;width:100%;
  padding:0.5rem 0.625rem;border:none;border-radius:0.5rem;background:none;cursor:pointer;
  font-family:var(--font-body);font-size:var(--text-small);color:var(--text-on-paper);text-align:left;
  transition:background .12s ease, color .12s ease;
}
.filter-opt:hover{background:var(--paper-2);}
.filter-opt.is-selected{background:#eaf2ff;color:var(--blue-dark);font-weight:600;}
.filter-opt-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.filter-opt-count{
  flex-shrink:0;font-size:var(--text-tiny);color:var(--text-on-paper-dim);
  background:var(--paper-2);padding:0.0625rem 0.4375rem;border-radius:999px;font-weight:500;
}
.filter-opt.is-selected .filter-opt-count{background:#fff;color:var(--blue-dark);}
.filter-opt-empty{padding:0.875rem 0.625rem;font-size:var(--text-small);color:var(--text-on-paper-dim);}

.filter-drop-panel-pro{text-align:center;padding:1.25rem 1.125rem;min-width:16rem;}
.pro-lock-icon{
  width:2.25rem;height:2.25rem;margin:0 auto 0.625rem;border-radius:50%;
  background:linear-gradient(135deg,var(--blue-bright),var(--blue-dark));
  color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 10px rgba(0,107,255,0.3);
}
.pro-lock-icon svg{width:1.125rem;height:1.125rem;}
.filter-drop-panel-pro h4{font-size:var(--text-regular);margin-bottom:0.375rem;}
.filter-drop-panel-pro p{font-size:var(--text-small);color:var(--text-on-paper-dim);margin-bottom:0.875rem;line-height:1.5;}
.btn-sm{padding:0.4375rem 0.875rem;font-size:var(--text-small);}

.filter-clear{
  border:none;background:none;cursor:pointer;color:var(--blue);
  font-family:var(--font-body);font-size:var(--text-small);font-weight:600;padding:0.5rem 0.25rem;
  white-space:nowrap;
}
.filter-clear:hover{text-decoration:underline;}
/* Holds its space so showing/hiding it never reflows the toolbar. */
.filter-clear.is-invisible{visibility:hidden;pointer-events:none;}

.hide-closed-toggle{display:inline-flex;align-items:center;gap:0.625rem;font-size:var(--text-small);color:var(--text-on-paper-dim);cursor:pointer;white-space:nowrap;margin-left:auto;}

/* Invite link fallback shown when an invite/notification email can't be
   confirmed as delivered — lets the sender copy and share the link by hand. */
.invite-link-card{
  margin-top:0.75rem;padding:0.875rem 1rem;background:var(--paper-2);
  border:1px solid var(--rule-paper);border-radius:0.625rem;
}
.invite-link-card-label{font-size:var(--text-tiny);font-weight:600;letter-spacing:0.02em;text-transform:uppercase;color:var(--text-on-paper-dim);margin-bottom:0.125rem;}
.invite-link-card-note{font-size:var(--text-small);color:var(--text-on-paper-dim);line-height:1.5;margin-bottom:0.625rem;}
.invite-link-row{display:flex;gap:0.5rem;align-items:center;}
.invite-link-input{
  flex:1;min-width:0;font-family:var(--font-body);font-size:var(--text-small);color:var(--text-on-paper);
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:0.5rem;
  padding:0.5rem 0.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.invite-link-copy-btn{flex-shrink:0;}
.invite-link-copy-btn.is-copied{color:var(--green);border-color:var(--green);}

/* "One-click apply" — reuse a resume already on file instead of re-uploading */
.saved-resume-card{
  display:flex;align-items:center;gap:0.75rem;padding:0.875rem;margin-bottom:0.75rem;
  background:var(--paper-2);border:1px solid var(--rule-paper);border-radius:var(--radius);
}
.saved-resume-icon{font-size:1.375rem;line-height:1;flex-shrink:0;}
.saved-resume-info{flex:1;min-width:0;}
.saved-resume-name{font-size:var(--text-small);font-weight:600;color:var(--text-on-paper);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.saved-resume-sub{font-size:var(--text-tiny);color:var(--text-on-paper-dim);margin-top:0.125rem;}
.saved-resume-card .inv-link{margin-top:0;flex-shrink:0;font-size:var(--text-tiny);}

/* Skill tests + credentials (seeker profile) */
.skill-test-row, .credential-row{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:0.875rem 0;border-bottom:1px solid var(--rule-paper);
}
.skill-test-row:last-child, .credential-row:last-child{border-bottom:none;}
.skill-test-name{font-size:var(--text-small);font-weight:600;color:var(--text-on-paper);}
.skill-test-meta{font-size:var(--text-tiny);color:var(--text-on-paper-dim);margin-top:0.125rem;}
.skill-test-score{font-size:var(--text-small);font-weight:700;color:var(--blue);white-space:nowrap;}
.credential-add-row{display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:0.25rem;}
.credential-add-row input{
  flex:1;min-width:10rem;padding:0.625rem 0.875rem;background:var(--paper);border:1px solid var(--rule-paper);
  color:var(--text-on-paper);font-family:var(--font-body);font-size:var(--text-small);border-radius:var(--radius);
}
.credential-add-row input::placeholder{color:var(--text-on-paper-dim);}
.skill-test-integrity-notice{
  display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;
  padding:0.75rem 1rem;margin-bottom:1rem;border-radius:var(--radius);
  background:var(--paper-alt, rgba(0,0,0,0.03));border:1px solid var(--rule-paper);
  font-size:var(--text-tiny);color:var(--text-on-paper-dim);
}
.skill-test-timer{
  font-family:var(--font-mono, monospace);font-weight:700;font-size:var(--text-regular);
  color:var(--text-on-paper);white-space:nowrap;font-variant-numeric:tabular-nums;
}
.skill-test-question{margin-bottom:1.25rem;}
.skill-test-question-text{font-size:var(--text-regular);font-weight:600;color:var(--text-on-paper);margin-bottom:0.625rem;}
.skill-test-options{display:flex;flex-direction:column;gap:0.5rem;}
.skill-test-option{
  display:flex;align-items:center;gap:0.625rem;padding:0.625rem 0.75rem;border:1px solid var(--rule-paper);
  border-radius:var(--radius);cursor:pointer;font-size:var(--text-small);transition:border-color .15s ease,background .15s ease;
}
.skill-test-option:hover{background:var(--paper-2);}
.skill-test-option input{accent-color:var(--blue);}

/* Notification bell (injected into every page's nav for signed-in users) */
.notif-bell-wrap{position:relative;display:flex;align-items:center;margin:0;}
@media(min-width:861px){.notif-bell-wrap{margin:0 -0.5rem;}}
.notif-bell-btn{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid transparent;background:transparent;
  color:#3d4148;cursor:pointer;transition:background .15s ease, border-color .15s ease;
}
.notif-bell-btn:hover,.notif-bell-btn[aria-expanded="true"]{background:var(--paper-2);border-color:var(--rule-paper);color:#0a0a0a;}
.notif-bell-btn svg{width:1.25rem;height:1.25rem;}
.notif-bell-badge{
  position:absolute;top:-0.25rem;right:-0.25rem;min-width:1.25rem;height:1.25rem;padding:0 0.3125rem;
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  background:#e5484d;color:#fff;font-size:0.6875rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;
  border-radius:999px;border:2px solid var(--paper);
}
.notif-bell-badge[hidden]{display:none;}
.notif-dropdown{
  position:absolute;top:calc(100% + 0.75rem);right:-0.5rem;width:23rem;max-width:92vw;max-height:28rem;overflow-y:auto;
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:1rem;
  box-shadow:0 16px 40px rgba(10,10,10,0.14), 0 2px 6px rgba(10,10,10,0.06);z-index:200;
}
.notif-dropdown[hidden]{display:none;}
.notif-dropdown-head{
  display:flex;justify-content:space-between;align-items:center;gap:0.75rem;padding:1rem 1.25rem;
  border-bottom:1px solid var(--rule-paper);font-size:var(--text-regular);font-weight:600;color:var(--text-on-paper);
  position:sticky;top:0;background:var(--paper);z-index:1;
}
.notif-dropdown-head .inv-link{
  margin-top:0;padding:0.25rem 0.625rem;border-radius:999px;background:rgba(0,107,255,0.08);
  font-size:var(--text-tiny);font-weight:600;color:var(--blue);
}
.notif-dropdown-head .inv-link:hover{background:rgba(0,107,255,0.14);}
.notif-item{
  display:flex;align-items:flex-start;gap:0.75rem;padding:0.875rem 1.25rem;border-bottom:1px solid var(--rule-paper);
  text-decoration:none;color:var(--text-on-paper);transition:background .12s ease;
}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:var(--paper-2);}
.notif-item.is-unread{background:rgba(0,107,255,0.045);}
.notif-item.is-unread .notif-item-message{font-weight:600;}
.notif-item-dot{flex-shrink:0;width:0.5rem;height:0.5rem;margin-top:0.4375rem;border-radius:50%;background:transparent;}
.notif-item.is-unread .notif-item-dot{background:var(--blue);}
.notif-item-body{flex:1;min-width:0;}
.notif-item-message{font-size:var(--text-small);line-height:1.45;}
.notif-item-time{font-size:var(--text-tiny);color:var(--text-on-paper-dim);margin-top:0.25rem;}
.notif-empty{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:2.25rem 1.25rem;text-align:center;color:var(--text-on-paper-dim);font-size:var(--text-small);}
.notif-empty svg{width:2rem;height:2rem;opacity:0.5;}
@media(max-width:640px){
  .notif-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;max-height:70vh;border-radius:1rem 1rem 0 0;}
}
.job-card.is-closed{
  background:repeating-linear-gradient(135deg, var(--paper-2) 0 10px, var(--paper) 10px 20px);
  border-color:var(--rule-paper);border-left:3px solid #b8bec8;
}
.job-card.is-closed:hover{border-color:var(--rule-paper);border-left-color:#8a919c;background:repeating-linear-gradient(135deg, var(--paper-2) 0 10px, var(--paper) 10px 20px);}
.job-card.is-closed .job-logo{filter:grayscale(1);opacity:0.55;}
.job-card.is-closed .job-main h3 a,.job-card.is-closed:hover .job-main h3 a{color:var(--text-on-paper-dim);}
.job-card.is-closed .job-meta,.job-card.is-closed .job-tag{opacity:0.7;}
.closed-badge{
  display:inline-flex;align-items:center;gap:0.3rem;margin-bottom:0.375rem;
  padding:0.2rem 0.625rem;border-radius:999px;background:#3b4048;color:#fff;
  font-size:0.6875rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;
}
.closed-badge svg{width:0.75rem;height:0.75rem;}
.job-side .closed-note{font-size:var(--text-tiny);color:var(--text-on-paper-dim);text-align:right;max-width:9rem;line-height:1.35;}

/* The toolbar and the count below it are rebuilt on every filter change.
   Fixed heights keep the job list from jumping up and down as they do. */
.job-filters{min-height:2.75rem;}
/* The margin lives on the always-present wrapper, not the swapped-in child,
   so an empty count doesn't collapse the gap. */
#job-result-summary{min-height:1.5rem;margin-bottom:1rem;}
.job-result-summary{
  font-size:var(--text-small);color:var(--text-on-paper-dim);
}
.job-result-summary strong{color:var(--text-on-paper);font-weight:700;}

/* Admin: marks a row that came from an import rather than an employer signup. */
.admin-muted-tag{
  display:inline-block;font-size:var(--text-tiny);font-weight:500;
  color:var(--text-on-paper-dim);background:var(--paper-2);
  border:1px solid var(--rule-paper);border-radius:999px;padding:0.125rem 0.5rem;
}

/* Directory toolbar: search on the left, result count pushed to the right. */
.directory-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  flex-wrap:wrap;margin-bottom:1.5rem;
}
.directory-toolbar #company-result-summary{min-height:auto;margin-bottom:0;}
.directory-toolbar .filter-search{flex:0 1 22rem;}
@media (max-width:640px){
  .directory-toolbar .filter-search{flex-basis:100%;}
}

.job-empty-state{
  text-align:center;padding:3.5rem 1.5rem;background:var(--paper-2);
  border:1px dashed var(--rule-paper);border-radius:1rem;
}
.job-empty-state h3{font-size:var(--h6);margin-bottom:0.5rem;}
.job-empty-state p{color:var(--text-on-paper-dim);font-size:var(--text-small);}

.job-pagination{
  display:flex;align-items:center;justify-content:center;gap:0.375rem;
  flex-wrap:wrap;padding-top:1.75rem;
}
.page-gap{color:var(--text-on-paper-dim);padding:0 0.25rem;}

/* ---------- Pro panel ---------- */
.pro-panel{
  display:grid;grid-template-columns:1.6fr 1fr;gap:2.5rem;align-items:center;
  background:linear-gradient(150deg,#ffffff 0%,#f4f8ff 55%,#eaf2ff 100%);
  border:1px solid #d9e6ff;border-radius:1.25rem;padding:2.5rem;
  box-shadow:0 10px 32px rgba(0,107,255,0.1);
}
.pro-panel-copy .pro-badge{margin-bottom:0.875rem;}
.pro-panel-copy h2{font-size:var(--h4);margin-bottom:0.75rem;}
.pro-panel-copy > p{color:var(--text-on-paper-dim);line-height:1.6;margin-bottom:1.25rem;max-width:34rem;}
.pro-panel-list{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:0.5rem;}
.pro-panel-list li{
  display:flex;align-items:flex-start;gap:0.5rem;
  font-size:var(--text-small);color:var(--text-on-paper);
}
.pro-tick{
  flex-shrink:0;width:1.125rem;height:1.125rem;border-radius:50%;
  background:var(--blue);color:#fff;font-size:0.625rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin-top:0.125rem;
}
.pro-panel-actions{display:flex;gap:0.75rem;flex-wrap:wrap;margin-bottom:0.875rem;}
.pro-panel-note{font-size:var(--text-tiny);color:var(--text-on-paper-dim);}
.pro-panel-visual{display:grid;gap:0.875rem;}
.pro-stat-card{
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:1rem;
  padding:1.125rem 1.25rem;box-shadow:0 3px 12px rgba(10,10,10,0.05);
}
.pro-stat-card.is-accent{
  background:linear-gradient(135deg,var(--blue-bright) 0%,var(--blue) 45%,var(--blue-dark) 100%);
  border-color:var(--blue-dark);
  box-shadow:0 6px 18px rgba(0,107,255,0.3);
}
.pro-stat-num{
  font-family:var(--font-heading);font-size:var(--h4);font-weight:700;
  color:var(--blue);line-height:1.1;
}
.pro-stat-card.is-accent .pro-stat-num{color:#fff;}
.pro-stat-label{font-size:var(--text-tiny);color:var(--text-on-paper-dim);margin-top:0.25rem;}
.pro-stat-card.is-accent .pro-stat-label{color:rgba(255,255,255,0.82);}

/* ---------- Upgrade card (dashboard billing) ---------- */
.upgrade-card{
  background:linear-gradient(155deg,#ffffff 0%,#f4f8ff 100%);
  border:1px solid #d9e6ff;border-radius:1rem;padding:1.75rem;max-width:34rem;
  box-shadow:0 6px 20px rgba(0,107,255,0.09);
}
.upgrade-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:0.875rem;}
.upgrade-price{display:flex;align-items:baseline;gap:0.1875rem;}
.upgrade-price-num{font-family:var(--font-heading);font-size:var(--h4);font-weight:700;color:var(--text-on-paper);line-height:1;}
.upgrade-price-per{font-size:var(--text-small);color:var(--text-on-paper-dim);}
.upgrade-card h3{font-size:var(--h6);margin-bottom:1rem;}
.upgrade-gate{
  background:#fff8e6;border:1px solid #f4e0b0;border-radius:0.75rem;
  padding:1rem 1.125rem;margin-bottom:1.25rem;
}
.upgrade-gate h4{font-size:var(--text-regular);margin-bottom:0.375rem;}
.upgrade-gate p{font-size:var(--text-small);color:var(--text-on-paper-dim);margin-bottom:0.625rem;}
.upgrade-missing{margin:0 0 0.875rem;padding-left:1.125rem;font-size:var(--text-small);color:var(--text-on-paper);}
.upgrade-missing li{margin-bottom:0.25rem;}
.upgrade-actions{display:flex;gap:0.75rem;flex-wrap:wrap;margin-bottom:0.625rem;}
.upgrade-actions .btn:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none;}
.upgrade-note{font-size:var(--text-tiny);color:var(--text-on-paper-dim);}

.billing-period-toggle{display:inline-flex;gap:0.25rem;background:var(--paper-2);border-radius:999px;padding:0.25rem;margin-bottom:1.5rem;width:fit-content;}
.billing-period-btn{appearance:none;-webkit-appearance:none;padding:0.5rem 1.125rem;border:none;outline:none;background:transparent;border-radius:999px;font-family:var(--font-body);font-size:var(--text-small);font-weight:500;color:var(--text-on-paper-dim);cursor:pointer;transition:all .18s ease;white-space:nowrap;line-height:1.2;}
.billing-period-btn:hover{color:var(--text-on-paper);}
.billing-period-btn.active{background:var(--paper);color:var(--blue);font-weight:600;box-shadow:0 1px 4px rgba(10,10,10,0.1);}
.billing-period-save{display:inline-block;font-size:var(--text-tiny);color:var(--green);font-weight:600;margin-left:0.5rem;padding:0.1875rem 0.5rem;background:rgba(16,185,129,0.1);border-radius:999px;vertical-align:middle;}

/* ---------- Homepage competitor comparison table ---------- */
.compare-wrap{max-width:960px;margin:3rem auto 0;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.compare-table{min-width:760px;background:var(--paper);border-radius:1rem;border:1px solid var(--rule-paper);box-shadow:0 12px 32px rgba(10,10,10,0.06);overflow:hidden;}
.compare-row{display:grid;grid-template-columns:1.4fr repeat(4,1fr);align-items:stretch;min-height:3.75rem;}
.compare-row:not(.compare-head):not(.compare-row-last){border-bottom:1px solid var(--rule-paper);}
.compare-row:nth-child(odd):not(.compare-head) .compare-cell:not(.compare-col-investly){background:var(--paper-2);}
.compare-cell{display:flex;align-items:center;justify-content:center;padding:1rem 1.25rem;font-size:var(--text-small);color:var(--text-on-paper-dim);text-align:center;}
.compare-feature-col{justify-content:flex-start;text-align:left;font-size:var(--text-regular);color:var(--text-on-paper);font-weight:500;}
.compare-feature-with-info{gap:0.4375rem;}
.compare-col-investly{background:linear-gradient(180deg,#eef5ff 0%,#f7faff 100%);position:relative;}
.compare-head .compare-col-investly{background:var(--blue);border-radius:0.75rem 0.75rem 0 0;padding-top:0.75rem;}
.compare-head{padding-top:0.5rem;min-height:auto;}
.compare-head .compare-cell{flex-direction:column;padding-top:1.25rem;padding-bottom:1.25rem;}
.compare-head .compare-col{font-weight:600;color:var(--text-on-paper);font-size:var(--text-small);}
.compare-badge{display:inline-block;font-size:var(--text-tiny);font-weight:700;color:var(--blue);background:#fff;padding:0.1875rem 0.625rem;border-radius:999px;margin-bottom:0.375rem;}
.compare-brand{font-family:var(--font-heading);font-weight:700;color:#fff;font-size:var(--text-regular);}
.compare-price-block{display:flex;flex-direction:column;align-items:center;gap:0.125rem;padding:0.375rem 0;}
.compare-price{font-weight:700;color:var(--blue);font-size:var(--text-large);line-height:1.2;}
.compare-price-sub{font-size:var(--text-tiny);color:var(--text-on-paper-dim);font-weight:500;line-height:1.2;}
.compare-dollars{color:var(--text-on-paper-dim);letter-spacing:0.05em;}
.compare-tick{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:rgba(16,185,129,0.12);color:var(--green);font-weight:700;font-size:var(--text-small);}
.compare-cross{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--paper-2);color:var(--text-on-paper-dim);font-weight:600;font-size:var(--text-small);}
.compare-row-last .compare-col-investly{border-radius:0 0 0.75rem 0.75rem;}

/* Interactive row hover — highlights the whole row (feature label + every
   column together) so it's easy to scan across without losing your place. */
.compare-row:not(.compare-head){transition:background-color .15s ease;}
.compare-row:not(.compare-head):hover{background-color:rgba(0,107,255,0.035);}
.compare-row:not(.compare-head):hover .compare-cell:not(.compare-col-investly){background:transparent;}
.compare-row:not(.compare-head):hover .compare-col-investly{background:linear-gradient(180deg,#e4efff 0%,#f0f6ff 100%);}

.compare-row-price{min-height:4.25rem;}
.compare-row-sub{min-height:3.25rem;}
.compare-row-sub .compare-cell{padding-top:0.75rem;padding-bottom:0.75rem;}
.compare-price-sub{max-width:11rem;line-height:1.35;}
.compare-baseline-badge{display:inline-block;font-size:var(--text-tiny);font-weight:600;color:#0e8f63;background:rgba(16,185,129,0.14);padding:0.1875rem 0.625rem;border-radius:999px;}
.compare-price-competitor{color:var(--text-on-paper);font-size:var(--text-regular);}
.compare-save-badge{display:inline-block;font-size:var(--text-tiny);font-weight:600;color:#c0392b;background:rgba(192,57,43,0.08);padding:0.125rem 0.5rem;border-radius:999px;}
.compare-footnote{margin:1rem auto 0;max-width:44rem;font-size:var(--text-tiny);color:var(--text-on-paper-dim);text-align:center;line-height:1.5;}

.compare-info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.0625rem;height:1.0625rem;color:var(--text-on-paper-dim);cursor:help;flex-shrink:0;}
.compare-info svg{width:100%;height:100%;}
.compare-info:hover, .compare-info:focus{color:var(--blue);outline:none;}
.compare-tooltip{
  position:absolute;bottom:calc(100% + 0.625rem);left:0;transform:translateY(4px);
  width:17.5rem;padding:0.75rem 0.875rem;background:var(--ink);color:var(--text-on-ink);
  font-size:var(--text-tiny);font-weight:400;line-height:1.5;text-align:left;
  border-radius:0.625rem;box-shadow:0 8px 24px rgba(10,10,10,0.2);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease, transform .15s ease;z-index:20;
}
.compare-tooltip::after{
  content:"";position:absolute;top:100%;left:0.5rem;
  border:6px solid transparent;border-top-color:var(--ink);
}
.compare-info:hover .compare-tooltip, .compare-info:focus .compare-tooltip{
  opacity:1;visibility:visible;transform:translateY(0);
}
@media(max-width:640px){
  .compare-tooltip{width:14rem;}
}
@media(max-width:640px){
  .compare-table{min-width:640px;}
}

/* Apply panel for listings sourced from an employer's own careers feed. */
.external-apply{
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:1rem;
  padding:2rem;text-align:center;box-shadow:0 3px 12px rgba(10,10,10,0.05);
}
.external-apply h3{font-size:var(--h6);margin-bottom:0.625rem;}
.external-apply p{color:var(--text-on-paper-dim);font-size:var(--text-small);line-height:1.6;margin-bottom:1.25rem;}

/* Signup/signin banner shown when a Pro CTA sent the visitor here. */
.intent-banner{
  display:flex;align-items:flex-start;gap:0.75rem;
  background:#eaf2ff;border:1px solid #cfe0ff;border-radius:0.875rem;
  padding:0.875rem 1.125rem;margin-bottom:1.25rem;
}
.intent-banner .pro-badge{flex-shrink:0;margin-top:0.125rem;}
.intent-banner p{font-size:var(--text-small);color:var(--text-on-paper);line-height:1.5;margin:0;}

@media (max-width:860px){
  .pro-panel{grid-template-columns:1fr;gap:1.75rem;padding:1.75rem;}
  .pro-panel-visual{grid-template-columns:repeat(3,1fr);}
  .pro-stat-card{padding:0.875rem;}
  .pro-stat-num{font-size:var(--h5);}
}
@media (max-width:640px){
  .job-filters{gap:0.625rem;}
  .filter-search{max-width:none;flex-basis:100%;}
  .filter-drops{
    width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:0.25rem;-webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(to right, black calc(100% - 2rem), transparent 100%);
    mask-image:linear-gradient(to right, black calc(100% - 2rem), transparent 100%);
  }
  .filter-drop-panel{left:auto;right:0;}
  .pro-panel-visual{grid-template-columns:1fr;}
}

/* ---------- Seeker dashboard ---------- */
.seeker-shell{display:flex;gap:2.5rem;align-items:flex-start;}
.seeker-sidebar{width:14rem;flex-shrink:0;position:sticky;top:1.5rem;}
.seeker-nav-group-label{padding:0.5rem 0.625rem 0.375rem;font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-on-paper-dim);font-weight:600;}
.seeker-nav-group-label:not(:first-child){margin-top:1.25rem;}
.seeker-nav-item{
  display:flex;align-items:center;gap:0.5rem;padding:0.5625rem 0.625rem;border-radius:0.5rem;
  color:var(--text-on-paper-dim);text-decoration:none;cursor:pointer;font-size:var(--text-small);
  font-weight:500;margin-bottom:0.125rem;border:none;background:none;width:100%;text-align:left;
  font-family:var(--font-body);transition:background .12s ease, color .12s ease;
}
.seeker-nav-item:hover{background:var(--paper-2);color:var(--text-on-paper);}
.seeker-nav-item.active{background:var(--paper-2);color:var(--blue-dark);font-weight:700;box-shadow:inset 3px 0 0 var(--blue);}
.seeker-nav-item .pro-badge{margin-left:auto;}
.seeker-main{flex:1;min-width:0;}
.seeker-section{display:none;}
.seeker-section.active{display:block;}
.seeker-main .eyebrow{font-size:var(--text-tiny);color:var(--text-on-paper-dim);text-transform:uppercase;letter-spacing:0.04em;font-weight:600;margin-bottom:0.375rem;}
.seeker-main h1{font-size:1.625rem;margin-bottom:1.5rem;}

.pro-badge{
  display:inline-flex;align-items:center;font-size:0.625rem;font-weight:700;letter-spacing:0.02em;
  color:#fff;background:linear-gradient(135deg,var(--blue-bright),var(--blue-dark));
  padding:0.125rem 0.5rem;border-radius:999px;
}

.pro-locked-card{
  background:linear-gradient(155deg, var(--paper) 0%, var(--paper-2) 100%);
  border:1px solid var(--rule-paper);border-left:4px solid var(--blue);border-radius:1rem;
  padding:2rem;max-width:36rem;box-shadow:0 6px 20px rgba(10,10,10,0.09);
}
.pro-locked-card .pro-badge{margin-bottom:0.75rem;}
.pro-locked-card h3{font-size:var(--h5);margin-bottom:0.625rem;}
.pro-locked-card p{color:var(--text-on-paper-dim);margin-bottom:1.25rem;line-height:1.6;}

.profile-banner{background:#e7f1ff;border:1px solid #cfe3ff;border-radius:0.875rem;padding:1.25rem 1.5rem;margin-bottom:1.75rem;}
.profile-progress-row{display:flex;align-items:center;gap:0.875rem;margin-bottom:0.75rem;}
.profile-progress-track{flex:1;height:0.5rem;background:#cfe3ff;border-radius:999px;overflow:hidden;}
.profile-progress-fill{height:100%;background:var(--blue);border-radius:999px;transition:width .3s ease;}
.profile-progress-pct{font-size:var(--text-small);font-weight:700;color:var(--blue-dark);flex-shrink:0;}
.profile-banner-close{background:none;border:none;color:var(--blue-dark);font-size:1.125rem;cursor:pointer;flex-shrink:0;line-height:1;padding:0.25rem;}
.profile-banner-text{color:var(--blue-dark);font-weight:600;margin-bottom:0.5rem;}

.seeker-section-head-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}

.match-badge{font-size:var(--text-tiny);font-weight:700;padding:0.25rem 0.625rem;border-radius:999px;background:#e7f1ff;color:var(--blue-dark);}
.job-list-card:hover{box-shadow:0 8px 22px rgba(10,10,10,0.08);border-color:#dde1e8;transform:translateY(-2px);}
.job-list-card{transition:box-shadow .18s ease, border-color .18s ease, transform .18s ease;}
.job-card-actions{display:flex;align-items:center;gap:0.5rem;}
.save-btn{
  width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--rule-paper);background:var(--paper);
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-on-paper-dim);flex-shrink:0;
  transition:border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.save-btn svg{width:1.125rem;height:1.125rem;}
.save-btn:hover{border-color:var(--blue);color:var(--blue);box-shadow:0 3px 10px rgba(0,107,255,0.16);transform:translateY(-1px);}
.save-btn:active{transform:translateY(0);}
.save-btn.saved{color:var(--blue-dark);border-color:#cfe3ff;background:#e7f1ff;}
.save-btn.saved svg{fill:currentColor;}

.profile-field{padding:0.875rem 0;border-bottom:1px solid var(--rule-paper);}
.profile-field:last-child{border-bottom:none;}
.profile-field-label{font-size:var(--text-tiny);text-transform:uppercase;letter-spacing:0.04em;color:var(--text-on-paper-dim);font-weight:600;margin-bottom:0.25rem;}
.profile-field-value{font-size:var(--text-regular);color:var(--text-on-paper);}

.settings-row{display:flex;align-items:flex-start;gap:1rem;}
.settings-row-title{font-weight:600;color:var(--text-on-paper);}
.settings-row-sub{font-size:var(--text-small);color:var(--text-on-paper-dim);margin-top:0.25rem;}
.switch{position:relative;display:inline-block;width:2.5rem;height:1.5rem;flex-shrink:0;cursor:pointer;}
.switch input{opacity:0;width:0;height:0;}
.switch-track{position:absolute;inset:0;background:#d7dbe3;border-radius:999px;transition:background .15s ease;}
.switch-track::before{content:"";position:absolute;left:0.1875rem;top:0.1875rem;width:1.125rem;height:1.125rem;background:#fff;border-radius:50%;transition:transform .15s ease;}
.switch input:checked + .switch-track{background:var(--blue);}
.switch input:checked + .switch-track::before{transform:translateX(1rem);}

.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(13rem,1fr));gap:1rem;overflow-x:auto;padding-bottom:0.5rem;}
.kanban-column{background:var(--paper-2);border-radius:0.75rem;padding:0.875rem;min-width:13rem;border:1.5px dashed transparent;transition:background .15s ease,border-color .15s ease;}
.kanban-column.is-drag-over{background:rgba(0,107,255,0.06);border-color:var(--blue);}
.kanban-column-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.75rem;padding:0 0.25rem;}
.kanban-column-title{font-size:var(--text-tiny);text-transform:uppercase;letter-spacing:0.04em;font-weight:700;color:var(--text-on-paper-dim);}
.kanban-column-count{font-size:var(--text-tiny);color:var(--text-on-paper-dim);background:var(--paper);border-radius:999px;padding:0.0625rem 0.5rem;}
.kanban-column-drop{min-height:2.5rem;}
.kanban-card{
  background:var(--paper);border:1px solid var(--rule-paper);border-radius:0.75rem;padding:0.875rem;margin-bottom:0.625rem;
  box-shadow:0 3px 10px rgba(10,10,10,0.08);transition:box-shadow .15s ease, transform .15s ease, opacity .15s ease;
  cursor:grab;
}
.kanban-card:hover{box-shadow:0 6px 16px rgba(10,10,10,0.09);transform:translateY(-1px);}
.kanban-card:active{cursor:grabbing;}
.kanban-card.is-dragging{opacity:0.4;}
.kanban-card-title{font-size:var(--text-small);font-weight:600;color:var(--text-on-paper);margin-bottom:0.25rem;}
.kanban-card-meta{font-size:var(--text-tiny);color:var(--text-on-paper-dim);margin-bottom:0.625rem;}
.kanban-card-viewed{display:inline-flex;align-items:center;gap:0.3125rem;font-size:var(--text-tiny);font-weight:600;color:var(--blue);background:rgba(0,107,255,0.08);border-radius:999px;padding:0.1875rem 0.5625rem;margin-bottom:0.625rem;}

/* Applicant search/filter toolbar above an employer's job list */
.applicant-filter-bar{display:flex;gap:0.625rem;flex-wrap:wrap;margin-top:1.5rem;}
.applicant-search-input{
  flex:1;min-width:14rem;padding:0.625rem 0.875rem;background:var(--paper);border:1px solid var(--rule-paper);
  color:var(--text-on-paper);font-family:var(--font-body);font-size:var(--text-small);border-radius:var(--radius);
}
.applicant-search-input::placeholder{color:var(--text-on-paper-dim);}
.applicant-search-input:focus, .applicant-filter-bar .admin-filter-select:focus{outline:2px solid var(--gold-bright);outline-offset:1px;border-color:transparent;}
.dash-table tr.is-filtered-out{display:none;}
.applicant-filter-empty{padding:1.5rem;text-align:center;color:var(--text-on-paper-dim);font-size:var(--text-small);}
.kanban-card select{width:100%;font-size:var(--text-tiny);padding:0.375rem 0.5rem;border-radius:0.375rem;border:1px solid var(--rule-paper);margin-bottom:0.5rem;background:var(--paper);}
.kanban-card textarea{width:100%;font-size:var(--text-tiny);padding:0.5rem;border-radius:0.375rem;border:1px solid var(--rule-paper);resize:vertical;min-height:3rem;font-family:var(--font-body);}

@media(max-width:900px){
  .seeker-shell{flex-direction:column;align-items:stretch;}
  .seeker-main{width:100%;}
  .seeker-main .dash-panel{overflow-x:auto;}
  .seeker-sidebar{width:100%;position:static;display:flex;flex-wrap:wrap;gap:0.25rem;}
  .seeker-nav-group-label{width:100%;}
  .seeker-nav-item{width:auto;}
  .kanban-board{grid-template-columns:repeat(5,13rem);}
}

/* ---------- Admin panel (enterprise tool design) ---------- */
:root{
  --admin-sidebar-bg:#161a23;
  --admin-sidebar-bg-2:#1d2230;
  --admin-sidebar-text:#9aa3b5;
  --admin-sidebar-text-dim:#6b7385;
  --admin-border:#e4e7ec;
  --admin-surface:#ffffff;
  --admin-canvas:#f6f7f9;
  --admin-accent:#3b6ef6;
  --admin-accent-soft:#eef2ff;
}

.admin-layout{display:flex;min-height:100vh;background:var(--admin-canvas);font-family:var(--font-body);}

.admin-sidebar{
  width:16rem;flex-shrink:0;background:var(--admin-sidebar-bg);
  padding:1.25rem 0.875rem;position:sticky;top:0;height:100vh;overflow-y:auto;
  display:flex;flex-direction:column;
}
.admin-sidebar-head{padding:0.5rem 0.625rem 1.5rem;display:flex;align-items:center;gap:0.625rem;}
.admin-sidebar-head .logo-badge{
  width:2rem;height:2rem;border-radius:0.5rem;background:var(--admin-accent);
  display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-heading);
  font-weight:700;font-size:var(--text-small);flex-shrink:0;
}
.admin-sidebar-head .brand-text{color:#fff;font-size:var(--text-regular);font-weight:600;line-height:1.2;}
.admin-sidebar-head .brand-text small{display:block;color:var(--admin-sidebar-text-dim);font-size:var(--text-tiny);font-weight:500;margin-top:0.125rem;}

.admin-nav-group-label{padding:0.5rem 0.625rem 0.375rem;font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--admin-sidebar-text-dim);font-weight:600;}

.admin-nav-item{
  display:flex;align-items:center;gap:0.75rem;padding:0.5625rem 0.625rem;border-radius:0.5rem;
  color:var(--admin-sidebar-text);text-decoration:none;cursor:pointer;font-size:var(--text-small);
  font-weight:500;margin-bottom:0.125rem;border:none;background:none;width:100%;text-align:left;
  font-family:var(--font-body);transition:background .12s ease, color .12s ease;
}
.admin-nav-item svg{width:1.125rem;height:1.125rem;flex-shrink:0;opacity:0.85;}
.admin-nav-item:hover{background:rgba(255,255,255,0.06);color:#fff;}
.admin-nav-item.active{background:var(--admin-sidebar-bg-2);color:#fff;font-weight:700;box-shadow:inset 3px 0 0 var(--admin-accent);}
.admin-nav-item.active svg{opacity:1;color:var(--blue-bright);}
.admin-nav-item .count{margin-left:auto;font-size:0.6875rem;font-weight:600;color:var(--admin-sidebar-text-dim);background:rgba(255,255,255,0.06);padding:0.1rem 0.5rem;border-radius:999px;}
.admin-nav-item.active .count{background:rgba(255,255,255,0.12);color:#fff;}

.admin-sidebar-foot{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.08);}
.admin-user-chip{display:flex;align-items:center;gap:0.625rem;padding:0.5rem 0.625rem;}
.admin-user-chip .avatar{
  width:1.875rem;height:1.875rem;border-radius:50%;background:var(--admin-accent-soft);color:var(--admin-accent);
  display:flex;align-items:center;justify-content:center;font-size:var(--text-tiny);font-weight:700;flex-shrink:0;
}
.admin-user-chip .name{color:#fff;font-size:var(--text-small);font-weight:600;line-height:1.2;}
.admin-user-chip .role{color:var(--admin-sidebar-text-dim);font-size:0.6875rem;}

.admin-main{flex:1;padding:2rem 2.5rem 3rem;min-width:0;}
.admin-topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem;}
.admin-topbar .eyebrow{font-size:var(--text-tiny);color:var(--text-on-paper-dim);text-transform:uppercase;letter-spacing:0.04em;font-weight:600;margin-bottom:0.375rem;}
.admin-topbar h1{font-size:1.75rem;font-family:var(--font-heading);letter-spacing:-0.01em;}
.admin-section{display:none;}
.admin-section.active{display:block;}

.admin-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:1rem;}
.admin-stat-card{
  background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:0.875rem;
  padding:1.25rem 1.375rem;display:flex;align-items:flex-start;gap:0.875rem;overflow:hidden;
  transition:box-shadow .15s ease, border-color .15s ease;
}
.admin-stat-card:hover{box-shadow:0 4px 16px rgba(20,24,35,0.06);border-color:#d7dbe3;}
.admin-stat-card .stat-icon{
  width:2.5rem;height:2.5rem;border-radius:0.625rem;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.admin-stat-card .stat-icon svg{width:1.25rem;height:1.25rem;}
.admin-stat-body{min-width:0;flex:1;}
.admin-stat-top{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;}
.admin-stat-card .num{display:block;font-family:var(--font-heading);font-size:1.625rem;color:var(--text-on-paper);line-height:1.1;font-weight:600;}
.admin-stat-card .label{display:block;margin-top:0.25rem;font-size:var(--text-tiny);color:var(--text-on-paper-dim);font-weight:500;}
.admin-stat-delta{
  flex-shrink:0;font-size:0.6875rem;font-weight:700;color:#1a7f37;
  background:#eafbf1;padding:0.1875rem 0.5rem;border-radius:999px;white-space:nowrap;
}

.admin-quick-actions{display:flex;flex-wrap:wrap;gap:0.75rem;margin-bottom:1.5rem;}
.admin-quick-action{
  display:flex;align-items:center;gap:0.5rem;padding:0.625rem 1rem;border-radius:0.625rem;
  background:var(--admin-surface);border:1px solid var(--admin-border);color:var(--text-on-paper);
  font-size:var(--text-small);font-weight:600;cursor:pointer;font-family:var(--font-body);
  transition:border-color .12s ease, box-shadow .12s ease, transform .12s ease;
}
.admin-quick-action svg{width:1rem;height:1rem;color:var(--admin-accent);flex-shrink:0;}
.admin-quick-action:hover{border-color:var(--admin-accent);box-shadow:0 4px 14px rgba(59,110,246,0.12);transform:translateY(-1px);}

.admin-overview-lower{margin-top:1.5rem;}
.admin-activity-panel{padding:1.25rem 1.5rem 0.5rem;}
.admin-panel-head{margin-bottom:0.25rem;}
.admin-panel-head h3{font-size:var(--text-regular);font-weight:600;color:var(--text-on-paper);}
.admin-activity-row{display:flex;align-items:center;gap:0.875rem;padding:0.875rem 0;border-bottom:1px solid var(--admin-border);}
.admin-activity-row:last-child{border-bottom:none;}
.activity-icon{width:2.25rem;height:2.25rem;border-radius:0.625rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.activity-icon svg{width:1.0625rem;height:1.0625rem;}
.admin-activity-title{flex:1;font-size:var(--text-small);color:var(--text-on-paper);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-activity-time{flex-shrink:0;font-size:var(--text-tiny);color:var(--text-on-paper-dim);}

.admin-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.25rem;}
.admin-chart-card{
  background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:0.875rem;
  padding:1.25rem 1.375rem 1.5rem;display:flex;flex-direction:column;
}
.admin-chart-card-wide{grid-column:1 / -1;}
.admin-chart-head h3{font-size:var(--text-regular);font-weight:600;color:var(--text-on-paper);margin-bottom:0.875rem;}
.admin-chart-head-split{display:flex;justify-content:space-between;align-items:baseline;}
.admin-chart-total{font-size:var(--text-small);font-weight:600;color:var(--admin-accent);}
.admin-chart-canvas-wrap{position:relative;height:16rem;}
.admin-chart-card-wide .admin-chart-canvas-wrap{height:18rem;}

.admin-top-list{display:flex;flex-direction:column;gap:0.125rem;flex:1;}
.admin-top-list-row{display:flex;align-items:center;gap:0.75rem;padding:0.625rem 0;border-bottom:1px solid var(--admin-border);}
.admin-top-list-row:last-child{border-bottom:none;}
.admin-top-list-rank{
  flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--admin-canvas);color:var(--text-on-paper-dim);
  font-size:0.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.admin-top-list-title{flex:1;font-size:var(--text-small);font-weight:500;color:var(--text-on-paper);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.admin-top-list-views{flex-shrink:0;font-size:var(--text-tiny);font-weight:600;color:var(--admin-accent);background:var(--admin-accent-soft);padding:0.1875rem 0.5rem;border-radius:999px;}

.admin-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.125rem;flex-wrap:wrap;gap:0.75rem;}
.admin-search-wrap{position:relative;width:18rem;max-width:100%;}
.admin-search-wrap svg{position:absolute;left:0.75rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--text-on-paper-dim);pointer-events:none;}
.admin-search{
  padding:0.5625rem 0.875rem 0.5625rem 2.25rem;border:1px solid var(--admin-border);border-radius:0.625rem;
  font-size:var(--text-small);width:100%;background:var(--admin-surface);font-family:var(--font-body);
  transition:border-color .12s ease, box-shadow .12s ease;
}
.admin-search:focus{outline:none;border-color:var(--admin-accent);box-shadow:0 0 0 3px var(--admin-accent-soft);}

/* Global search */
.admin-global-search-wrap{position:relative;margin-bottom:1.5rem;}
.admin-global-search{position:relative;}
.admin-global-search svg{position:absolute;left:0.875rem;top:50%;transform:translateY(-50%);width:1.0625rem;height:1.0625rem;color:var(--text-on-paper-dim);pointer-events:none;}
.admin-global-search input{
  width:100%;padding:0.75rem 1rem 0.75rem 2.5rem;border:1px solid var(--admin-border);border-radius:0.75rem;
  font-size:var(--text-small);background:var(--admin-surface);font-family:var(--font-body);
  transition:border-color .12s ease, box-shadow .12s ease;
}
.admin-global-search input:focus{outline:none;border-color:var(--admin-accent);box-shadow:0 0 0 3px var(--admin-accent-soft);}
.admin-global-search-results{
  position:absolute;top:calc(100% + 0.375rem);left:0;right:0;z-index:40;
  background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:0.75rem;
  box-shadow:0 12px 28px rgba(20,24,35,0.12);max-height:22rem;overflow-y:auto;padding:0.375rem;
}
.global-search-result{
  display:flex;align-items:center;gap:0.625rem;padding:0.5625rem 0.75rem;border-radius:0.5rem;cursor:pointer;
}
.global-search-result:hover{background:var(--admin-canvas);}
.global-search-result .gsr-type{
  flex-shrink:0;font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;
  color:var(--admin-accent);background:var(--admin-accent-soft);padding:0.1875rem 0.5rem;border-radius:999px;
}
.global-search-result .gsr-label{font-size:var(--text-small);font-weight:600;color:var(--text-on-paper);}
.global-search-result .gsr-sub{margin-left:auto;font-size:var(--text-tiny);color:var(--text-on-paper-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.global-search-empty{padding:0.875rem;font-size:var(--text-small);color:var(--text-on-paper-dim);text-align:center;}

/* Bulk actions */
.admin-toolbar-actions{display:flex;align-items:center;gap:0.75rem;margin-left:auto;}
.admin-bulk-bar{display:flex;align-items:center;gap:0.625rem;background:var(--admin-accent-soft);border:1px solid #c9d7fb;border-radius:0.625rem;padding:0.375rem 0.625rem;}
.admin-bulk-count{font-size:var(--text-tiny);font-weight:600;color:var(--admin-accent);white-space:nowrap;}
.admin-check-col{width:2.5rem;}
.dash-table td.admin-check-col, .dash-table th.admin-check-col{padding-right:0;padding-left:1.125rem;}
.admin-check-col input[type="checkbox"], .admin-bulk-bar input[type="checkbox"]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--admin-accent);}

@keyframes adminFlashHighlight{
  0%{background:var(--admin-accent-soft);}
  100%{background:transparent;}
}
tr.flash-highlight td{animation:adminFlashHighlight 1.6s ease-out;}

.dash-panel{background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:0.875rem;box-shadow:0 1px 2px rgba(20,24,35,0.03);}
.dash-table th{background:var(--admin-canvas);}
.dash-table td, .dash-table th{padding:0.875rem 1.375rem;}
.dash-table tr:hover td{background:#fafbfc;}

.admin-cell-entity{display:flex;align-items:center;gap:0.625rem;}
.entity-avatar{
  width:2rem;height:2rem;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:0.6875rem;font-weight:700;color:#fff;
}

.admin-modal-overlay{position:fixed;inset:0;background:rgba(15,17,24,0.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;backdrop-filter:blur(2px);}
.admin-modal-overlay[hidden]{display:none;}
.admin-modal{background:var(--admin-surface);border-radius:1rem;max-width:36rem;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 24px 64px rgba(15,17,24,0.24);}
.admin-modal-head{padding:1.5rem 1.75rem;border-bottom:1px solid var(--admin-border);}
.admin-modal-head h3{font-size:var(--h5);font-family:var(--font-heading);}
.admin-modal-body{padding:1.5rem 1.75rem;}
.admin-modal .field{margin-bottom:1rem;}
.admin-modal .field label{display:block;font-size:var(--text-small);font-weight:500;color:var(--text-on-paper-dim);margin-bottom:0.375rem;}
.admin-modal .field input, .admin-modal .field select, .admin-modal .field textarea{
  width:100%;padding:0.625rem 0.875rem;border:1px solid var(--admin-border);border-radius:0.5rem;
  font-family:var(--font-body);font-size:var(--text-regular);transition:border-color .12s ease, box-shadow .12s ease;
}
.admin-modal .field input:focus, .admin-modal .field select:focus, .admin-modal .field textarea:focus{
  outline:none;border-color:var(--admin-accent);box-shadow:0 0 0 3px var(--admin-accent-soft);
}
.admin-modal .field textarea{min-height:6rem;resize:vertical;}
.admin-modal-actions{display:flex;gap:0.75rem;justify-content:flex-end;padding:1.25rem 1.75rem;border-top:1px solid var(--admin-border);background:var(--admin-canvas);border-radius:0 0 1rem 1rem;}

.category-manager{margin-top:0.625rem;padding:0.75rem;background:var(--admin-canvas);border-radius:0.5rem;}
.category-manager-list{display:flex;flex-wrap:wrap;gap:0.375rem;margin-bottom:0.625rem;min-height:1.5rem;}
.category-chip{
  display:inline-flex;align-items:center;gap:0.375rem;font-size:var(--text-tiny);font-weight:500;
  padding:0.25rem 0.375rem 0.25rem 0.625rem;background:var(--admin-surface);border:1px solid var(--admin-border);
  border-radius:999px;color:var(--text-on-paper);
}
.category-chip button{
  border:none;background:none;cursor:pointer;color:var(--text-on-paper-dim);font-size:0.9375rem;
  line-height:1;padding:0.125rem 0.25rem;border-radius:50%;
}
.category-chip button:hover{background:#fdecec;color:#c0392b;}
.category-manager-add{display:flex;gap:0.5rem;}
.category-manager-add input{
  flex:1;padding:0.5rem 0.625rem;border:1px solid var(--admin-border);border-radius:0.5rem;
  font-size:var(--text-small);font-family:var(--font-body);
}
.category-manager-add .icon-btn{white-space:nowrap;}

.btn-outline{background:none;border:1px solid var(--admin-border);color:var(--text-on-paper);}
.btn-outline:hover{background:var(--paper-2);border-color:#c7ccd6;}
.icon-btn{
  display:inline-flex;align-items:center;gap:0.375rem;padding:0.375rem 0.75rem;border-radius:0.5rem;
  font-size:var(--text-tiny);font-weight:600;border:1px solid var(--admin-border);background:var(--admin-surface);
  cursor:pointer;color:var(--text-on-paper);transition:background .12s ease, border-color .12s ease;
}
.icon-btn{min-height:2rem;justify-content:center;}
.icon-btn svg{width:1rem;height:1rem;flex-shrink:0;}
.icon-btn:hover{background:var(--admin-canvas);}
.icon-btn.danger{color:#c0392b;border-color:#f5cbc6;}
.icon-btn.danger:hover{background:#fdecec;border-color:#e9a9a2;}
.icon-btn.danger:only-child svg:only-child{margin:0;}

/* Admin pricing: two plans side by side instead of one narrow column */
#pricing-plans-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:1.25rem;align-items:start;}
#pricing-plans-list .dash-panel{max-width:none !important;margin-bottom:0 !important;}

.dash-empty{padding:3rem 1.75rem;text-align:center;color:var(--text-on-paper-dim);}
.dash-empty svg{width:2rem;height:2rem;margin:0 auto 0.75rem;opacity:0.4;display:block;}

@media(max-width:900px){
  .admin-layout{flex-direction:column;}
  .admin-sidebar{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0.375rem;padding:1rem;}
  .admin-sidebar-head{padding:0.25rem 0.5rem;width:auto;flex:1;}
  .admin-nav-group-label{display:none;}
  .admin-nav-item{width:auto;}
  .admin-nav-item .count{display:none;}
  .admin-sidebar-foot{margin-top:0;padding-top:0;border-top:none;order:-1;width:100%;}
  .admin-main{padding:1.5rem;}
  .admin-toolbar-actions{margin-left:0;width:100%;justify-content:flex-start;}
  .admin-chart-canvas-wrap{height:14rem;}
  .admin-chart-card-wide .admin-chart-canvas-wrap{height:15rem;}
}

@media(max-width:560px){
  .admin-main{padding:1rem;}
  .admin-topbar h1{font-size:1.375rem;}
  .admin-search-wrap, .admin-filter-select{width:100%;}
  .admin-toolbar{flex-direction:column;align-items:stretch;}
  .admin-bulk-bar{flex-wrap:wrap;}
  .dash-table td, .dash-table th{padding:0.625rem 0.75rem;font-size:0.8125rem;}
  .admin-modal-body, .admin-modal-head, .admin-modal-actions{padding-left:1.125rem;padding-right:1.125rem;}
  .admin-chart-grid{grid-template-columns:1fr;}
}

/* ---------- Admin: dark theme ---------- */
html[data-admin-theme="dark"] body[data-page="admin"]{
  color-scheme:dark;
  --admin-border:#2a2f3d;
  --admin-surface:#1a1e29;
  --admin-canvas:#10131b;
  --admin-accent-soft:#1c2740;
  --text-on-paper:#e8eaf0;
  --text-on-paper-dim:#9aa3b5;
  --rule-paper:rgba(255,255,255,0.08);
  --paper-2:#232838;
}
html[data-admin-theme="dark"] body[data-page="admin"] .admin-stat-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.3);border-color:#343b4d;}
html[data-admin-theme="dark"] body[data-page="admin"] .dash-table tr:hover td{background:#20242f;}
html[data-admin-theme="dark"] body[data-page="admin"] .admin-search-wrap svg,
html[data-admin-theme="dark"] body[data-page="admin"] .admin-global-search svg{color:var(--text-on-paper-dim);}
html[data-admin-theme="dark"] body[data-page="admin"] .admin-global-search-results{box-shadow:0 12px 28px rgba(0,0,0,0.4);}
html[data-admin-theme="dark"] body[data-page="admin"] .admin-modal-overlay{background:rgba(0,0,0,0.65);}
html[data-admin-theme="dark"] body[data-page="admin"] .status-select.submitted{background:#262c3a;color:#b8c0d4;}
html[data-admin-theme="dark"] body[data-page="admin"] .status-select.reviewed{background:#132a4d;color:#7aabf9;}
html[data-admin-theme="dark"] body[data-page="admin"] .status-select.hired{background:#123322;color:#4fbd7f;}
html[data-admin-theme="dark"] body[data-page="admin"] .status-select.rejected{background:#3a1a1a;color:#e07a72;}
html[data-admin-theme="dark"] body[data-page="admin"] .status-select.pending{background:#3a2f0f;color:#e0b84f;}
html[data-admin-theme="dark"] body[data-page="admin"] .status-select.approved{background:#123322;color:#4fbd7f;}
html[data-admin-theme="dark"] body[data-page="admin"] .plan-select.is-pro{background:#3a2f0f;color:#e0b84f;border-color:#5c4a1a;}
html[data-admin-theme="dark"] body[data-page="admin"] .job-tag.plan-pro{background:#3a2f0f;color:#e0b84f;}
html[data-admin-theme="dark"] body[data-page="admin"] .admin-stat-delta{background:#123322;color:#4fbd7f;}
html[data-admin-theme="dark"] body[data-page="admin"] .category-chip button:hover{background:#3a1a1a;color:#e07a72;}
html[data-admin-theme="dark"] body[data-page="admin"] .icon-btn.danger{color:#ff9b93;border-color:rgba(255,155,147,0.35);background:rgba(255,155,147,0.08);}
html[data-admin-theme="dark"] body[data-page="admin"] .icon-btn.danger:hover{background:rgba(255,155,147,0.18);border-color:rgba(255,155,147,0.6);}
html[data-admin-theme="dark"] body[data-page="admin"] .global-search-result .gsr-type{background:#1c2740;}
html[data-admin-theme="dark"] body[data-page="admin"] ::selection{background:var(--admin-accent-soft);color:var(--text-on-paper);}
#theme-toggle-btn #theme-toggle-icon{width:1.125rem;height:1.125rem;}
html[data-admin-theme="dark"] body[data-page="admin"] #theme-toggle-icon circle{fill:none;}

/* ---------- Admin toasts ---------- */
.admin-toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:2000;display:flex;flex-direction:column;gap:0.625rem;max-width:22rem;}
.admin-toast{
  display:flex;align-items:flex-start;gap:0.625rem;padding:0.875rem 1.125rem;border-radius:0.75rem;
  background:var(--admin-surface,#fff);border:1px solid var(--admin-border,#e4e7ec);
  box-shadow:0 12px 28px rgba(20,24,35,0.16);font-size:var(--text-small);color:var(--text-on-paper,#0a0a0a);
  animation:adminToastIn .18s ease-out;
}
.admin-toast.leaving{animation:adminToastOut .18s ease-in forwards;}
.admin-toast .toast-icon{flex-shrink:0;width:1.125rem;height:1.125rem;margin-top:0.0625rem;}
.admin-toast.success .toast-icon{color:#1a7f37;}
.admin-toast.error .toast-icon{color:#c0392b;}
.admin-toast .toast-msg{flex:1;line-height:1.4;}
@keyframes adminToastIn{from{opacity:0;transform:translateY(0.5rem);}to{opacity:1;transform:translateY(0);}}
@keyframes adminToastOut{from{opacity:1;transform:translateY(0);}to{opacity:0;transform:translateY(0.5rem);}}

/* ---------- Admin: button loading state ---------- */
.btn.is-loading, .icon-btn.is-loading{position:relative;color:transparent !important;pointer-events:none;}
.btn.is-loading .btn-label{visibility:hidden;}
.btn.is-loading::after, .icon-btn.is-loading::after{
  content:"";position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin:-0.5rem 0 0 -0.5rem;
  border-radius:50%;border:2px solid rgba(255,255,255,0.5);border-top-color:#fff;animation:adminSpin .6s linear infinite;
}
.icon-btn.is-loading::after{border:2px solid rgba(59,110,246,0.25);border-top-color:var(--admin-accent,#3b6ef6);}
@keyframes adminSpin{to{transform:rotate(360deg);}}

/* ---------- Rich text editor (blog content, admin panel) ---------- */
.admin-rte{border:1px solid var(--admin-border, var(--rule-paper));border-radius:0.5rem;overflow:hidden;background:var(--admin-surface,#fff);}
.admin-rte .ql-toolbar.ql-snow{border:none;border-bottom:1px solid var(--admin-border, var(--rule-paper));font-family:var(--font-body);}
.admin-rte .ql-container.ql-snow{border:none;font-family:var(--font-body);font-size:var(--text-regular);}
.admin-rte .ql-editor{min-height:14rem;max-height:24rem;overflow-y:auto;}
.admin-rte .ql-editor.ql-blank::before{font-style:normal;color:var(--text-on-paper-dim);}

/* ---------- Rich content (blog articles, job postings, applications) ---------- */
.rich-content h1, .rich-content h2, .rich-content h3{
  font-family:var(--font-heading);color:var(--text-on-paper);margin:2rem 0 1rem;line-height:1.25;
}
.rich-content h1{font-size:var(--h4);}
.rich-content h2{font-size:var(--h5);}
.rich-content h3{font-size:var(--h6);}
.rich-content p{margin:0 0 1.25rem;}
.rich-content ul, .rich-content ol{margin:0 0 1.25rem;padding-left:1.25rem;list-style-position:outside;}
.rich-content li{margin-bottom:0.5rem;padding-left:0.125rem;}
.rich-content li::marker{color:var(--text-on-paper-dim);}
.rich-content ul ul, .rich-content ul ol, .rich-content ol ul, .rich-content ol ol{margin-top:0.5rem;}
.rich-content blockquote{
  border-left:3px solid var(--blue);padding-left:1.25rem;margin:1.75rem 0;
  font-style:italic;color:var(--text-on-paper);
}
.rich-content a{color:var(--blue);text-decoration:underline;}
.rich-content strong{color:var(--text-on-paper);font-weight:600;}
.rich-content h4{font-size:var(--h6);font-weight:600;}
.rich-content h5{font-size:var(--text-xmedium);font-weight:600;}
.rich-content h6{font-size:var(--text-regular);font-weight:600;text-transform:uppercase;letter-spacing:0.03em;}
.rich-content img{max-width:100%;height:auto;border-radius:0.75rem;margin:1.75rem 0;display:block;}
.rich-content iframe{width:100%;aspect-ratio:16/9;height:auto;border:none;border-radius:0.75rem;margin:1.75rem 0;}

/* Custom "embed" toolbar button — no built-in Quill icon, so use a text glyph.
   Note: Quill renders its toolbar as a SIBLING before the editor container,
   not nested inside it, so this can't be scoped under .admin-rte. */
.ql-toolbar.ql-snow .ql-embed{width:auto !important;padding:0 0.375rem !important;}
.ql-toolbar.ql-snow .ql-embed::before{content:"</>";font-size:0.8125rem;font-weight:700;font-family:monospace;}
.ql-editor img{max-width:100%;border-radius:0.5rem;}
.ql-editor iframe{max-width:100%;}

/* ---------- Admin: view toggle (list / grid / group) + filters ---------- */
.admin-view-toggle{display:flex;border:1px solid var(--admin-border);border-radius:0.5rem;overflow:hidden;background:var(--admin-surface);}
.admin-view-toggle button{
  padding:0.5rem 0.75rem;font-size:var(--text-tiny);font-weight:600;color:var(--text-on-paper-dim);
  background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:0.375rem;
  border-right:1px solid var(--admin-border);
}
.admin-view-toggle button:last-child{border-right:none;}
.admin-view-toggle button svg{width:0.875rem;height:0.875rem;}
.admin-view-toggle button.active{background:var(--admin-accent);color:#fff;}
.admin-filter-select{
  padding:0.5625rem 2rem 0.5625rem 0.875rem;border:1px solid var(--admin-border);border-radius:0.625rem;
  font-size:var(--text-small);background:var(--admin-surface);font-family:var(--font-body);cursor:pointer;
}

.admin-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;}
.admin-entity-card{
  background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:0.875rem;
  padding:1.25rem;display:flex;flex-direction:column;gap:0.75rem;
}
.admin-entity-card .card-top{display:flex;align-items:center;gap:0.75rem;}
.admin-entity-card .card-title{font-weight:600;color:var(--text-on-paper);font-size:var(--text-regular);}
.admin-entity-card .card-meta{font-size:var(--text-tiny);color:var(--text-on-paper-dim);}
.admin-entity-card .card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:0.5rem;border-top:1px solid var(--admin-border);}

.admin-group{margin-bottom:1.5rem;}
.admin-group-head{
  display:flex;align-items:center;gap:0.625rem;padding:0.75rem 1rem;background:var(--admin-canvas);
  border-radius:0.625rem;margin-bottom:0.75rem;cursor:pointer;user-select:none;
}
.admin-group-head .chev{width:0.75rem;height:0.75rem;transition:transform .15s ease;}
.admin-group-head.collapsed .chev{transform:rotate(-90deg);}
.admin-group-head .group-name{font-weight:600;font-size:var(--text-small);color:var(--text-on-paper);}
.admin-group-head .group-count{font-size:var(--text-tiny);color:var(--text-on-paper-dim);background:var(--admin-surface);padding:0.125rem 0.5rem;border-radius:999px;}
.admin-group-body.collapsed{display:none;}

/* ============================================================
   Dashboard polish: sidebar icons, stacked settings/team cards,
   funnel bars, billing price block
   ============================================================ */

/* --- Sidebar (shared by the seeker and employer dashboards) --- */
.seeker-nav-group-label{padding:0.5rem 0.75rem 0.5rem;letter-spacing:0.08em;}
.seeker-nav-item{gap:0.75rem;padding:0.6875rem 0.75rem;border-radius:0.625rem;margin-bottom:0.25rem;font-size:var(--text-small);}
.seeker-nav-item::before{
  content:"";flex-shrink:0;width:1.125rem;height:1.125rem;background:currentColor;opacity:0.7;
  -webkit-mask:var(--nav-icon) center/contain no-repeat;mask:var(--nav-icon) center/contain no-repeat;
}
.seeker-nav-item:hover{background:var(--paper-2);}
.seeker-nav-item:hover::before{opacity:1;}
.seeker-nav-item.active{background:rgba(0,107,255,0.09);color:var(--blue);font-weight:600;box-shadow:none;}
.seeker-nav-item.active::before{opacity:1;}
.seeker-nav-item[data-section="overview"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3C/svg%3E");}
.seeker-nav-item[data-section="recommendations"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.2 5.3L20 10l-5.8 1.7L12 17l-2.2-5.3L4 10l5.8-1.7z'/%3E%3C/svg%3E");}
.seeker-nav-item[data-section="alerts"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9a6 6 0 1 1 12 0c0 6 2.5 7 2.5 7h-17S6 15 6 9z'/%3E%3Cpath d='M10 20a2 2 0 0 0 4 0'/%3E%3C/svg%3E");}
.seeker-nav-item[data-section="saved"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-6-4.5L6 21z'/%3E%3C/svg%3E");}
.seeker-nav-item[data-section="tracker"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='5' height='16' rx='1.2'/%3E%3Crect x='10' y='4' width='5' height='10' rx='1.2'/%3E%3Crect x='17' y='4' width='4' height='13' rx='1.2'/%3E%3C/svg%3E");}
.seeker-nav-item[data-section="analytics"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 20V11M12 20V4M19 20v-6'/%3E%3C/svg%3E");}
.seeker-nav-item[data-section="profile"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E");}
.seeker-nav-item[data-section="settings"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h10M18 7h2M4 17h2M10 17h10'/%3E%3Ccircle cx='16' cy='7' r='2'/%3E%3Ccircle cx='8' cy='17' r='2'/%3E%3C/svg%3E");}
.seeker-nav-item[data-section="billing"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2.5'/%3E%3Cpath d='M2.5 10h19'/%3E%3C/svg%3E");}
.seeker-nav-item[data-section="candidates"],.seeker-nav-item[data-section="team"]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c0-3.6 2.9-6 6.5-6s6.5 2.4 6.5 6'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M18 14c2.2.6 3.5 2.6 3.5 6'/%3E%3C/svg%3E");}

/* --- Stacked settings / team cards --- */
.dash-stack{display:grid;gap:1.25rem;max-width:44rem;}
.settings-card{padding:0 !important;overflow:hidden;}
.settings-card-head{padding:1.25rem 1.5rem 0;}
.settings-card-head h3{font-size:var(--h6);font-family:var(--font-heading);color:var(--text-on-paper);}
.settings-card-head p{margin-top:0.25rem;font-size:var(--text-small);color:var(--text-on-paper-dim);line-height:1.5;}
.settings-card-body{padding:1.25rem 1.5rem;}
.settings-card-body .field:last-child{margin-bottom:0;}
.settings-card-foot{display:flex;align-items:center;gap:0.75rem;padding:0.875rem 1.5rem;background:var(--paper-2);border-top:1px solid var(--rule-paper);}
.settings-card-foot .btn{margin-top:0;}
.settings-card-foot .msg{font-size:var(--text-small);color:var(--text-on-paper-dim);}
.field-row{display:grid;grid-template-columns:1fr 12rem;gap:1rem;align-items:end;}
@media(max-width:640px){.field-row{grid-template-columns:1fr;}}

.team-list{display:grid;}
.team-row{display:flex;align-items:center;gap:0.875rem;padding:0.875rem 0;border-bottom:1px solid var(--rule-paper);}
.team-row:first-child{padding-top:0;}
.team-row:last-child{border-bottom:none;padding-bottom:0;}
.team-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(0,107,255,0.1);color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-small);flex-shrink:0;}
.team-row-main{flex:1;min-width:0;}
.team-row-name{font-weight:600;font-size:var(--text-regular);}
.team-row-email{font-size:var(--text-small);color:var(--text-on-paper-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.team-row-actions{display:flex;align-items:center;gap:0.625rem;flex-shrink:0;}
.team-roles-note{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--rule-paper);}
.team-roles-note div{font-size:var(--text-tiny);color:var(--text-on-paper-dim);line-height:1.45;}
.team-roles-note strong{display:block;color:var(--text-on-paper);font-size:var(--text-small);margin-bottom:0.125rem;}
@media(max-width:640px){.team-roles-note{grid-template-columns:1fr;}.team-row{flex-wrap:wrap;}}

/* --- Application funnel bars --- */
.funnel-list{display:grid;gap:1rem;}
.funnel-row{display:grid;grid-template-columns:6rem 1fr 6.5rem;align-items:center;gap:1rem;font-size:var(--text-small);}
.funnel-label{font-weight:600;color:var(--text-on-paper);}
.funnel-track{height:0.75rem;border-radius:999px;background:var(--paper-2);overflow:hidden;}
.funnel-fill{height:100%;border-radius:999px;min-width:0.25rem;transition:width .5s ease;}
.funnel-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-on-paper-dim);}
.funnel-value strong{color:var(--text-on-paper);font-size:var(--text-regular);margin-right:0.25rem;}
.mini-bar{height:0.375rem;border-radius:999px;background:var(--paper-2);overflow:hidden;min-width:5rem;}
.mini-bar span{display:block;height:100%;background:var(--blue);border-radius:999px;}
@media(max-width:640px){.funnel-row{grid-template-columns:5rem 1fr 4.75rem;gap:0.625rem;}}

/* --- Billing price block: number on top, billing note beneath --- */
.upgrade-card-head{align-items:flex-start;}
.upgrade-price{display:flex;flex-direction:column;align-items:flex-end;gap:0.375rem;}
.upgrade-price-main{display:flex;align-items:baseline;gap:0.25rem;}
.upgrade-price-meta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:0.5rem;font-size:var(--text-tiny);color:var(--text-on-paper-dim);text-align:right;}
.upgrade-price-meta .billing-period-save{margin-left:0;}
.upgrade-price-meta:empty{display:none;}

/* --- Admin dark mode: form controls were hard-coded white --- */
html[data-admin-theme="dark"] body[data-page="admin"] :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not(.status-select):not(.plan-select){
  background:var(--admin-canvas);color:var(--text-on-paper);border:1px solid var(--admin-border);
}
html[data-admin-theme="dark"] body[data-page="admin"] :is(input, textarea)::placeholder{color:#6f788c;}
html[data-admin-theme="dark"] body[data-page="admin"] :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):focus{
  outline:none;border-color:var(--admin-accent,#3b6ef6);box-shadow:0 0 0 3px var(--admin-accent-soft);
}
html[data-admin-theme="dark"] body[data-page="admin"] select option{background:var(--admin-surface);color:var(--text-on-paper);}
html[data-admin-theme="dark"] body[data-page="admin"] .field label{color:var(--text-on-paper-dim);}
.icon-btn.icon-only{width:2.25rem;height:2.25rem;min-height:0;padding:0;flex-shrink:0;align-self:flex-start;}

/* --- Company logo tiles: quieter than the old blue gradient block --- */
.company-card .logo{
  position:relative;width:2.5rem;height:2.5rem;border-radius:0.5rem;overflow:hidden;
  background:var(--paper-2);border:1px solid var(--rule-paper);color:var(--text-on-paper-dim);
  font-family:var(--font-body);font-weight:600;font-size:var(--text-small);
}
.company-card .logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#ffffff;padding:0.375rem;}
.company-card:hover .logo{transform:none;}
.company-card-top{gap:0.75rem;}
.employer-tile-logo{
  position:relative;overflow:hidden;width:2.5rem;height:2.5rem;border-radius:0.625rem;
  background:var(--paper-2);border:1px solid var(--rule-paper);color:var(--text-on-paper-dim);
}
.employer-tile-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#ffffff;padding:0.3125rem;}
.field-row{align-items:start;}
.billing-period-save:empty{display:none;}

/* Inputs inside settings cards (e.g. pipeline stage rows) that sit outside a .field wrapper */
.settings-card-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea){
  width:100%;padding:0.8125rem 0.875rem;background:#ffffff;border:1px solid var(--rule-paper);
  color:var(--text-on-paper);font-family:var(--font-body);font-size:var(--text-regular);border-radius:var(--radius);
}
.settings-card-body :is(input, select, textarea):focus{outline:2px solid var(--gold-bright);outline-offset:1px;border-color:transparent;}
#pipeline-stages-list > div{margin-bottom:0.625rem !important;}
#pipeline-stages-list .inv-link{padding:0.6875rem 1rem;}

/* Sidebar sticks just below the sticky site nav (4.5rem tall) instead of sliding under it */
.seeker-sidebar{top:6rem;align-self:flex-start;max-height:calc(100vh - 7rem);overflow-y:auto;}
@media(max-width:900px){.seeker-sidebar{position:static;max-height:none;overflow:visible;}}
/* Compact selects (team role, status) keep their own small style inside settings cards */
.settings-card-body select.status-select{width:auto !important;padding:0.375rem 0.625rem !important;font-size:var(--text-small) !important;background:var(--paper-2) !important;border-radius:0.5rem !important;}

/* --- Job / company page logo tiles: quiet neutral tile, real logo covers the initials --- */
.job-logo{
  position:relative;overflow:hidden;background:var(--paper-2);border:1px solid var(--rule-paper);color:var(--text-on-paper-dim);
}
.job-logo img, #company-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#ffffff;padding:0.375rem;}
.job-logo img, #company-logo img, .company-card .logo img, .employer-tile-logo img{opacity:0;transition:opacity .2s ease;}
.job-logo img.is-loaded, #company-logo img.is-loaded, .company-card .logo img.is-loaded, .employer-tile-logo img.is-loaded{opacity:1;}

/* Long unbreakable strings (URLs in imported job text) must not widen the grid */
.job-detail-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);}
@media(max-width:960px){.job-detail-layout{grid-template-columns:minmax(0,1fr);}}
.rich-content{overflow-wrap:anywhere;}
.rich-content img,.rich-content iframe,.rich-content table{max-width:100%;}
.rich-content pre{overflow-x:auto;}

/* Plan chip at the top of the dashboard sidebars */
.plan-chip{
  display:flex;align-items:center;justify-content:space-between;gap:0.5rem;
  padding:0.625rem 0.875rem;margin-bottom:1.25rem;border-radius:0.75rem;
  background:rgba(0,107,255,0.08);color:var(--blue);font-size:var(--text-small);font-weight:600;
}
.plan-chip .plan-chip-label{display:flex;flex-direction:column;line-height:1.25;}
.plan-chip .plan-chip-label small{font-size:var(--text-tiny);font-weight:500;color:var(--text-on-paper-dim);}
.plan-chip.is-free{background:var(--paper-2);color:var(--text-on-paper);}
.plan-chip .plan-chip-link{font-size:var(--text-tiny);color:var(--blue);font-weight:600;background:none;border:none;cursor:pointer;padding:0;font-family:var(--font-body);}
.plan-chip.is-paid::before{content:"";width:0.5rem;height:0.5rem;border-radius:50%;background:#10b981;flex-shrink:0;}
.seeker-sidebar .plan-chip{width:100%;box-sizing:border-box;}
.job-tag-closed{background:rgba(192,57,43,0.1);color:#c0392b;font-weight:600;}

/* ---------- UI polish layer (assets/ui.js): progress bar, spotlight cards, sticky apply, back-to-top ---------- */
html{scroll-behavior:smooth;}
@keyframes ui-page-in{from{opacity:0;}to{opacity:1;}}
body[data-page]:not([data-page="admin"]){animation:ui-page-in .35s ease;}
#ui-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:linear-gradient(90deg,var(--blue-bright),var(--blue),var(--blue-dark));box-shadow:0 0 8px rgba(0,107,255,0.5);transition:width .08s linear;pointer-events:none;}
nav.site-nav{transition:box-shadow .25s ease, background .25s ease;}
nav.site-nav.is-scrolled{box-shadow:0 6px 24px rgba(10,10,10,0.08);background:rgba(255,255,255,0.94);}
.site-nav .navlinks a:not(.btn){position:relative;}
.site-nav .navlinks a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.site-nav .navlinks a:not(.btn):hover::after{transform:scaleX(1);}

/* cursor spotlight on cards */
.ui-spot{position:relative;overflow:hidden;}
.ui-spot::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s ease;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%), rgba(0,107,255,0.10), transparent 65%);}
.ui-spot:hover::before{opacity:1;}
.job-card,.company-card,.bento-cell,.blog-card{transition:transform .22s cubic-bezier(.22,1,.36,1), box-shadow .22s ease, border-color .18s ease, background-color .18s ease;}
.job-card:not(.is-closed):hover,.company-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(10,10,10,0.09);}
.job-card:active{transform:translateY(-1px);}

/* buttons: arrow nudge, ripple */
.btn{position:relative;overflow:hidden;}
.btn .ui-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,0.45);transform:scale(0);animation:ui-ripple .6s ease-out;pointer-events:none;}
.btn-outline .ui-ripple,.btn-line-blue .ui-ripple{background:rgba(0,107,255,0.18);}
@keyframes ui-ripple{to{transform:scale(3);opacity:0;}}

/* bookmark pop */
@keyframes ui-pop{0%{transform:scale(1);}40%{transform:scale(1.35);}100%{transform:scale(1);}}
.save-btn.saved svg,.save-btn.ui-popping svg{animation:ui-pop .4s ease;}

/* keyboard focus */
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px;}

/* hero: soft floating orbs that follow the pointer */
.hero-instant .hero-content{position:relative;}
.hero-instant{--hx:0;--hy:0;}
.hero-instant .eyebrow-badge,.hero-instant h1,.hero-instant .sub,.hero-instant .chat-box,.hero-instant .quick-pills{transition:transform .25s ease-out;}
.hero-instant h1{transform:translate(calc(var(--hx) * -6px), calc(var(--hy) * -4px));}
.hero-instant .chat-box{transform:translate(calc(var(--hx) * 3px), calc(var(--hy) * 2px));}
.quick-pills a{transition:transform .18s ease, background .18s ease, box-shadow .18s ease;}
.quick-pills a:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 8px 20px rgba(0,0,0,0.18);}

/* back to top */
#ui-top{position:fixed;right:1.25rem;bottom:1.25rem;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--rule-paper);background:var(--paper);color:var(--blue);
  box-shadow:0 8px 24px rgba(10,10,10,0.16);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:90;
  opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;transition:opacity .25s ease, transform .25s ease;}
#ui-top.is-on{opacity:1;transform:none;pointer-events:auto;}
#ui-top:hover{background:var(--blue);color:#fff;}
#ui-top svg{width:1.125rem;height:1.125rem;}

/* sticky apply bar on job pages */
#ui-apply-bar{position:fixed;left:0;right:0;bottom:0;z-index:95;background:rgba(255,255,255,0.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-top:1px solid var(--rule-paper);box-shadow:0 -8px 30px rgba(10,10,10,0.10);padding:0.75rem 1.25rem;
  display:flex;align-items:center;gap:1rem;justify-content:space-between;transform:translateY(110%);transition:transform .3s cubic-bezier(.22,1,.36,1);}
#ui-apply-bar.is-on{transform:none;}
#ui-apply-bar .ui-ab-title{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#ui-apply-bar .ui-ab-sub{font-size:var(--text-tiny);color:var(--text-on-paper-dim);font-weight:400;}
#ui-apply-bar .btn{flex-shrink:0;}
@media(max-width:600px){#ui-top{bottom:4.5rem;} #ui-apply-bar .ui-ab-sub{display:none;}}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;} body[data-page]{animation:none !important;}
  .job-card:hover,.company-card:hover,.quick-pills a:hover{transform:none !important;}
  .hero-instant h1,.hero-instant .chat-box{transform:none !important;} #ui-apply-bar,#ui-top{transition:none;}
}
