/* ==========================================================================
   Candidate Finder — Aurora Edition (front theme)
   Ported from design-mockups/candidate-finder-aurora-glass.html
   Fonts: Sora (display) + Plus Jakarta Sans (body)

   Dark-only glassmorphic theme. aurora.css defines the palette + components;
   ct-*.css (loaded last) maps the app's legacy template variables onto these
   tokens. The body carries class `aurora-body`, which every override is
   scoped to so it wins over the legacy cascade in style.css.
   ========================================================================== */

/* ---------- tokens ---------- */
:root{
  --bg:#05060f;
  --bg-2:#0a0c1e;
  --ink:#eaf0ff;
  --muted:#9aa6c4;
  --soft:#c7d0e8;
  --violet:#7c5cff;
  --cyan:#22d3ee;
  --pink:#f472b6;
  --lime:#a3e635;
  --glass:rgba(255,255,255,.055);
  --glass-2:rgba(255,255,255,.09);
  --stroke:rgba(255,255,255,.13);
  --stroke-2:rgba(255,255,255,.28);
  --card:var(--glass);
  --footer-bg:#05060f;

  --r-sm:12px;
  --r:16px;
  --r-lg:22px;
  --r-xl:26px;
  --r-pill:999px;

  --shadow-sm:0 8px 24px rgba(0,0,0,.35);
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --glow:0 10px 30px rgba(124,92,255,.40);
  --glow-lg:0 16px 44px rgba(124,92,255,.60);
  --grad:linear-gradient(100deg,var(--violet),var(--cyan) 48%,var(--pink));
  --grad-btn:linear-gradient(100deg,var(--violet),#5b8cff);

  --font-display:"Sora",system-ui,sans-serif;
  --font-body:"Plus Jakarta Sans",system-ui,sans-serif;
}

/* ---------- base ---------- */
body.aurora-body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.aurora-body h1,body.aurora-body h2,body.aurora-body h3,body.aurora-body h4,
body.aurora-body h5,body.aurora-body .section-heading h2,body.aurora-body .section-heading-style-alpha h2,
body.aurora-body .section-heading-style-beta h2,body.aurora-body .section-heading-style-gamma h2,
body.aurora-body .section-heading-style-delta h2,body.aurora-body .section-heading-style-zeta h2{
  font-family:var(--font-display);letter-spacing:-.03em;line-height:1.08;font-weight:700;color:var(--ink);
}
body.aurora-body ::selection{background:var(--violet);color:#fff}
body.aurora-body a{color:var(--cyan);text-decoration:none}
body.aurora-body a:hover{color:#fff}
body.aurora-body p{color:var(--muted)}

/* ---------- aurora backdrop ---------- */
.aurora{
  position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
  background:
    radial-gradient(1200px 700px at 80% -10%,rgba(124,92,255,.22),transparent 60%),
    radial-gradient(900px 600px at 0% 20%,rgba(34,211,238,.16),transparent 60%),
    linear-gradient(180deg,#05060f,#070a19 60%,#05060f);
}
.aurora .blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}
.aurora .b1{width:520px;height:520px;background:var(--violet);top:-120px;left:-80px;animation:ag-drift1 22s ease-in-out infinite}
.aurora .b2{width:420px;height:420px;background:var(--cyan);top:220px;right:-120px;animation:ag-drift2 26s ease-in-out infinite}
.aurora .b3{width:380px;height:380px;background:var(--pink);bottom:-140px;left:30%;animation:ag-drift1 30s ease-in-out infinite reverse}
@keyframes ag-drift1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(60px,-40px) scale(1.18)}66%{transform:translate(-40px,40px) scale(.92)}}
@keyframes ag-drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-70px,50px) scale(1.15)}}
@keyframes ag-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes ag-floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes ag-pulse{0%,100%{box-shadow:0 0 18px rgba(124,92,255,.55)}50%{box-shadow:0 0 34px rgba(34,211,238,.75)}}
@keyframes ag-sheen{to{transform:translateX(320%)}}

/* ---------- primitives ---------- */
.ag-glass,.brut-card{
  background:var(--glass);border:1px solid var(--stroke);border-radius:var(--r-lg);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);position:relative;overflow:hidden;
}
.ag-glass::after{
  content:"";position:absolute;top:0;left:0;width:60%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.10),transparent);
  transform:translateX(-160%);pointer-events:none;
}
.ag-glass:hover::after{animation:ag-sheen 1.1s ease}
.ag-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
body.aurora-body .ag-kicker,.ag-kicker{
  display:inline-flex;align-items:center;gap:8px;padding:.42rem .85rem;border:1px solid var(--stroke);
  background:var(--glass);border-radius:var(--r-pill);font-size:.74rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:#c9d3ee;
}
.ag-eyebrow{color:#b7a4ff;font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.72rem}
.ag-tag{display:inline-block;padding:.28rem .6rem;border-radius:var(--r-pill);font-size:.72rem;font-weight:600;color:#c6d0ec;background:rgba(255,255,255,.06);border:1px solid var(--stroke);margin:.2rem .25rem 0 0}
.ag-tag.hot{color:#ffd7ec;background:rgba(244,114,182,.16);border-color:rgba(244,114,182,.35)}
.ag-muted{color:var(--muted)}
.ag-r1{animation:ag-rise .85s cubic-bezier(.2,.85,.25,1) both}
.ag-r2{animation:ag-rise .85s .12s cubic-bezier(.2,.85,.25,1) both}
.ag-r3{animation:ag-rise .85s .24s cubic-bezier(.2,.85,.25,1) both}

/* ---------- buttons ---------- */
body.aurora-body .btn{
  border-radius:var(--r);font-weight:600;padding:.8rem 1.3rem;border:1px solid var(--stroke);
  background:var(--glass);color:var(--ink);font-family:var(--font-body);letter-spacing:0;text-transform:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
}
body.aurora-body .btn:hover{transform:translateY(-2px);background:var(--glass-2);border-color:var(--stroke-2);color:#fff}
body.aurora-body .btn:active{transform:translateY(0)}
body.aurora-body .btn-primary,body.aurora-body .btn-glow,.btn-glow{
  background:var(--grad-btn);border:0;color:#fff;box-shadow:var(--glow);
}
body.aurora-body .btn-primary:hover,body.aurora-body .btn-glow:hover{background:var(--grad-btn);color:#fff;box-shadow:var(--glow-lg)}
body.aurora-body .btn-success,body.aurora-body .btn-danger,body.aurora-body .btn-secondary{
  background:var(--glass);border:1px solid var(--stroke);color:var(--ink);
}
body.aurora-body .btn-success:hover{background:rgba(163,230,53,.16);border-color:rgba(163,230,53,.4);color:var(--lime)}
body.aurora-body .btn-danger:hover{background:rgba(244,114,182,.16);border-color:rgba(244,114,182,.4);color:var(--pink)}
.btn-ghost{background:var(--glass);border:1px solid var(--stroke);color:var(--ink)}
.btn-ghost:hover{background:var(--glass-2);border-color:var(--stroke-2);color:#fff;transform:translateY(-2px)}

/* ---------- nav ---------- */
body.aurora-body #navbar-main.navbar-main{
  background:rgba(9,11,24,.62)!important;border:1px solid var(--stroke);border-radius:var(--r-pill);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 10px 40px rgba(0,0,0,.45);
  z-index:1030;padding:.5rem .9rem;max-width:1180px;margin:16px auto 0;
}
body.aurora-body #navbar-main .navbar-nav{align-items:center}
body.aurora-body .logo-main-menu{height:36px;width:auto;display:block;object-fit:contain}
body.aurora-body #navbar-main>.container,body.aurora-body #navbar-main>.container-fluid{max-width:none;padding-left:0;padding-right:0}
body.aurora-body #navbar-main .nav-link{
  color:#c2cbe6!important;font-family:var(--font-body);font-weight:500;font-size:.93rem;
  letter-spacing:0;text-transform:none;margin:0 .6rem;padding:.35rem 0!important;border-bottom:0;
}
body.aurora-body #navbar-main .nav-link:hover,body.aurora-body #navbar-main .nav-link.active{color:#fff!important}
body.aurora-body #navbar-main .dropdown-menu{
  background:#0b0f22;border:1px solid var(--stroke);border-radius:var(--r);box-shadow:var(--shadow);padding:.4rem;
}
body.aurora-body #navbar-main .dropdown-item{color:var(--muted);font-size:.86rem;border-radius:10px;padding:.5rem .7rem}
body.aurora-body #navbar-main .dropdown-item:hover{background:rgba(124,92,255,.16);color:#fff}
body.aurora-body #navbar-main .dropdown-menu .dropdown-menu{top:0;margin:0}
body.aurora-body #navbar-main .navbar-left .dropdown-menu .dropdown-menu{left:100%!important}
body.aurora-body #navbar-main .nav-link.btn,body.aurora-body #navbar-main .btn{
  border:1px solid var(--stroke)!important;border-radius:var(--r)!important;box-shadow:none!important;
  padding:.6rem 1.15rem!important;margin:0 0 0 .5rem;background:var(--glass)!important;color:var(--ink)!important;line-height:1.1;
}
body.aurora-body #navbar-main .nav-link.btn:hover,body.aurora-body #navbar-main .btn:hover{
  background:var(--glass-2)!important;color:#fff!important;transform:none!important;
}
body.aurora-body #navbar-main .brut-toggle,
body.aurora-body .ag-toggle{
  display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--stroke);background:var(--glass);
  color:var(--ink);border-radius:var(--r);padding:.6rem 1rem;font-size:.78rem;text-decoration:none;cursor:pointer;
}
body.aurora-body #navbar-main .brut-toggle:hover{background:var(--glass-2);color:#fff;transform:none}
body.aurora-body #navbar-main .brut-toggle-label::after{content:"Dark"}
body.aurora-body #navbar-mobile.navbar-mobile{background:var(--bg);border-bottom:1px solid var(--stroke)}
body.aurora-body #navbar-mobile .mobile-menu-trigger{border:1px solid var(--stroke);border-radius:var(--r-sm);padding:.25rem .5rem;color:#fff}
body.aurora-body .menu-avatar{width:34px;height:34px;border-radius:var(--r-sm);object-fit:cover;border:1px solid var(--stroke)}

/* ---------- breadcrumb / page head ---------- */
.ag-pagehead{background:transparent;border-bottom:1px solid var(--stroke);padding:3rem 0 2.2rem;margin-top:64px}
.ag-pagehead h1{font-size:clamp(1.8rem,4.4vw,3rem);margin:.4rem 0 .6rem}
.ag-crumbs{list-style:none;display:flex;gap:.5rem;align-items:center;padding:0;margin:0;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--muted);flex-wrap:wrap}
.ag-crumbs a{color:var(--muted)}
.ag-crumbs a:hover{color:#fff}
.ag-crumbs .active a{color:var(--cyan)}
body.aurora-body .section-breadcrumb-beta,body.aurora-body .section-breadcrumb-delta{
  background:transparent;background-image:none!important;border-bottom:1px solid var(--stroke);padding:3rem 0 2.2rem;
}
body.aurora-body .section-breadcrumb-beta h1,body.aurora-body .section-breadcrumb-delta h1{
  color:var(--ink);font-size:clamp(1.8rem,4.4vw,3rem);text-align:left;
}
body.aurora-body .section-breadcrumb-beta ul,body.aurora-body .section-breadcrumb-delta ul{display:flex;gap:.5rem;flex-wrap:wrap;text-align:left}
body.aurora-body .section-breadcrumb-beta ul li a,body.aurora-body .section-breadcrumb-delta ul li a{color:var(--muted);font-size:.78rem}
body.aurora-body .section-breadcrumb-beta ul li a:hover,body.aurora-body .section-breadcrumb-delta ul li a:hover{color:#fff}

/* ---------- section heads ---------- */
.ag-section{padding:4.5rem 0;position:relative}
.ag-sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem}
.ag-sec-head h2,.ag-section-title{font-size:clamp(1.7rem,3.8vw,2.9rem);margin:.3rem 0 .5rem}
.ag-sec-head p,.ag-section-copy{color:var(--muted);max-width:60ch;margin:0}
body.aurora-body .section-intro-text p,body.aurora-body .section-intro-text{color:var(--muted)}
body.aurora-body .section-heading h2,body.aurora-body .section-heading-style-alpha h2,
body.aurora-body .section-heading-style-beta h2,body.aurora-body .section-heading-style-gamma h2,
body.aurora-body .section-heading-style-delta h2,body.aurora-body .section-heading-style-zeta h2{
  font-size:clamp(1.6rem,3.6vw,2.6rem);margin:0;
}

/* ---------- generic cards (legacy classes) ---------- */
body.aurora-body .section-jobs-alpha-item,
body.aurora-body .section-jobs-gamma-item,
body.aurora-body .section-jobs-beta-item,
body.aurora-body .section-profiles-beta-item,
body.aurora-body .section-profile-boxes-alpha-item,
body.aurora-body .section-icon-boxes-alpha-item,
body.aurora-body .section-icon-boxes-beta-item,
body.aurora-body .section-blogs-alpha-item,
body.aurora-body .section-highlights-alpha-item,
body.aurora-body .section-carousel-alpha-container-item,
body.aurora-body .section-carousel-beta-item,
body.aurora-body .section-pricing-item,
body.aurora-body .section-features-element,
body.aurora-body .section-departments-alpha-item,
body.aurora-body .section-testimonials-alpha-item{
  background:var(--glass)!important;border:1px solid var(--stroke)!important;border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-sm)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  padding:1.4rem;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
body.aurora-body .section-jobs-alpha-item:hover,
body.aurora-body .section-jobs-gamma-item:hover,
body.aurora-body .section-profiles-beta-item:hover,
body.aurora-body .section-profile-boxes-alpha-item:hover,
body.aurora-body .section-icon-boxes-alpha-item:hover,
body.aurora-body .section-icon-boxes-beta-item:hover,
body.aurora-body .section-blogs-alpha-item:hover,
body.aurora-body .section-pricing-item:hover{
  transform:translateY(-6px);border-color:rgba(124,92,255,.55)!important;box-shadow:0 24px 60px rgba(84,60,220,.28)!important;
}
body.aurora-body .section-jobs-alpha-item,body.aurora-body .section-jobs-gamma-item{margin-bottom:1.4rem}
body.aurora-body .section-jobs-alpha-item-left-image img{max-width:100%}
body.aurora-body .section-icon-boxes-beta-item-icon,
body.aurora-body .section-blogs-alpha-item-image{
  border:1px solid var(--stroke);border-radius:var(--r);overflow:hidden;background:var(--glass-2);
}
/* News cards are height-capped: style.css sets max-height:225px, which resolves to min-height
   (425px) because min > max, so the card is a fixed 425px. The aurora padding makes the content
   taller than that, so it clipped and pushed the category chip flush to the card's bottom edge.
   Let the card fit its content instead. */
body.aurora-body .section-blogs-alpha-item{max-height:none}
/* Avatars / company logos (department boxes keep their tile): drop the glass
   container the port wrapped them in so the image shows on the card directly. */
body.aurora-body .section-icon-boxes-alpha-item-icon,
body.aurora-body .section-jobs-alpha-item-left-image,
body.aurora-body .section-jobs-gamma-item-icon,
body.aurora-body .section-profile-boxes-alpha-item-icon,
body.aurora-body .section-profiles-beta-item-left-image{
  border:0;border-radius:0;background:transparent;
}
/* Candidate avatar also carried its own white ring in the legacy stylesheet. */
body.aurora-body .section-profile-boxes-alpha-item-icon img{
  border:0;background:transparent;padding:0;
}
/* Department icon tile: the legacy layout pins it top:30px, right:-5px (overhanging
   the card edge). Nudge it in from the right and centre it on the card's height. */
body.aurora-body .section-icon-boxes-beta-item-icon{top:50%;right:14px;transform:translateY(-50%)}
body.aurora-body .section-jobs-alpha-item-right{border-left:0}
body.aurora-body .section-jobs-alpha-item-right-heading h2,
body.aurora-body .section-jobs-gamma-item-heading h2,
body.aurora-body .section-profiles-beta-item-right-heading h2,
body.aurora-body .section-profile-boxes-alpha-item-heading h2,
body.aurora-body .section-icon-boxes-alpha-item-heading h2,
body.aurora-body .section-icon-boxes-beta-item-heading h2,
body.aurora-body .section-blogs-alpha-item-heading h2{font-size:1.05rem;margin:0}
body.aurora-body .section-jobs-alpha-item-right-content,
body.aurora-body .section-jobs-alpha-item-right-bottom,
body.aurora-body .section-jobs-gamma-item-content,
body.aurora-body .section-profiles-beta-item-right-content{color:var(--muted)}
body.aurora-body .section-jobs-alpha-item-right-controls,
body.aurora-body .section-jobs-gamma-item-right-controls,
body.aurora-body .section-profile-boxes-alpha-item-right-controls,
body.aurora-body .section-carousel-beta-item-right-controls{color:var(--pink)}
body.aurora-body .section-jobs-alpha-item-right-bottom-att,
body.aurora-body .section-jobs-gamma-item-bottom-att,
body.aurora-body .section-profiles-beta-item-right-bottom-att{
  display:inline-block;border:1px solid var(--stroke);background:rgba(255,255,255,.055);color:#c6d0ec;
  border-radius:var(--r-pill);padding:.2rem .55rem;margin:.2rem .25rem 0 0;font-size:.72rem;
}
body.aurora-body .section-profile-boxes-alpha-item-skills span,
body.aurora-body .section-jobs-alpha-item-right-bottom-att{font-size:.72rem}
body.aurora-body .section-profile-boxes-alpha-item-button{background:transparent}
body.aurora-body .section-profile-boxes-alpha-item-button .btn,
body.aurora-body .section-jobs-gamma-item-button .btn,
body.aurora-body .section-carousel-beta-item-button .btn{width:100%}

/* ---------- forms ---------- */
body.aurora-body .form-control,body.aurora-body .form-select,body.aurora-body select.form-control,
body.aurora-body textarea.form-control,body.aurora-body .select2-container--default .select2-selection--single,
body.aurora-body .select2-container--default .select2-selection--multiple{
  background:rgba(255,255,255,.04);border:1px solid var(--stroke)!important;border-radius:var(--r)!important;
  color:var(--ink);box-shadow:none!important;padding:.65rem .85rem;font-family:var(--font-body);min-height:44px;
}
body.aurora-body .form-control::placeholder{color:#7f8bab}
body.aurora-body .form-control:focus,body.aurora-body .form-select:focus{border-color:rgba(124,92,255,.6)!important;box-shadow:0 0 0 3px rgba(124,92,255,.18)!important}
body.aurora-body label{color:var(--soft);font-weight:600;font-size:.86rem}
body.aurora-body .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink);line-height:32px}
body.aurora-body .select2-dropdown{background:#0b0f22;border:1px solid var(--stroke);color:var(--ink)}
body.aurora-body .select2-results__option--highlighted{background:rgba(124,92,255,.25)!important}

/* ---------- tables ---------- */
body.aurora-body .table,body.aurora-body .section-account-alpha-table{color:var(--ink);background:transparent;border-color:var(--stroke)}
body.aurora-body .table>thead th,body.aurora-body .section-account-alpha-table>thead th{border-bottom:1px solid var(--stroke);color:var(--ink);font-family:var(--font-display)}
body.aurora-body .table>tbody>tr>td,body.aurora-body .section-account-alpha-table>tbody>tr>td{border-color:var(--stroke)}
body.aurora-body .section-account-alpha-table,body.aurora-body .table-responsive .table{
  background:var(--glass);border:1px solid var(--stroke)!important;border-radius:var(--r-lg);overflow:hidden;
}
body.aurora-body .section-account-alpha-table>tbody>tr:nth-of-type(odd)>*{background-color:rgba(255,255,255,.03)}

/* ---------- pagination ---------- */
body.aurora-body .section-pagination-alpha ul{background:transparent;border:0;padding:0;list-style:none;text-align:center;margin:2rem 0 .5rem}
body.aurora-body .section-pagination-alpha ul li{display:inline-block;margin:0 .2rem}
body.aurora-body .section-pagination-alpha ul li a{
  /* reset style.css's fixed width/height:10px on these links — with min-width only, the
     boxes widened but stayed 10px tall, clipping the page numbers. */
  display:inline-block;width:auto;height:auto;min-width:2.1rem;padding:.45rem .6rem;line-height:1;text-decoration:none;color:var(--muted)!important;
  border:1px solid var(--stroke)!important;border-radius:var(--r-sm)!important;background:var(--glass);
}
body.aurora-body .section-pagination-alpha ul li a:hover,
body.aurora-body .section-pagination-alpha ul li a.active{background:var(--grad-btn)!important;color:#fff!important;border-color:transparent!important}
body.aurora-body .section-pagination-alpha ul li.disabled a{opacity:.4;pointer-events:none}

/* ---------- sidebars / filters ---------- */
body.aurora-body .section-sidebar-beta-container,
body.aurora-body .section-sidebar-alpha-container,
body.aurora-body .jobs-list-page .section-sidebar-beta-container,
body.aurora-body .candidates-list-page .section-sidebar-beta-container{
  background:var(--glass);border:1px solid var(--stroke);border-radius:var(--r-lg);padding:1.2rem;margin:1.2rem 0;
}
body.aurora-body .section-sidebar-beta .section-sidebar-beta-item,
body.aurora-body .section-sidebar-alpha .section-sidebar-alpha-item{
  background:transparent;border:0;border-bottom:1px solid var(--stroke);border-radius:0;padding:.6rem 0 1rem;margin:0 0 .9rem;
}
body.aurora-body .section-sidebar-beta .section-sidebar-beta-item-btn-container,
body.aurora-body .section-sidebar-alpha .section-sidebar-alpha-item-btn-container{border-bottom:0;padding-bottom:0}
body.aurora-body .section-sidebar-beta-item-heading h3,
body.aurora-body .section-sidebar-alpha-item-heading h3{color:var(--ink);font-size:1rem;font-family:var(--font-display)}
body.aurora-body .section-sidebar-beta-item-content label{color:var(--muted)}
body.aurora-body .section-sidebar-alpha-item-button .btn,
body.aurora-body .section-sidebar-beta-item-button .btn{width:100%}

/* listing controls */
body.aurora-body .section-controls-alpha,
body.aurora-body .jobs-list-page .section-controls-alpha,
body.aurora-body .candidates-list-page .section-candidates-beta-controls,
body.aurora-body .candidates-list-page .section-candidates-alpha-controls{
  background:transparent!important;border:0!important;padding:0!important;margin:1.2rem 0 1rem!important;
}
body.aurora-body .section-controls-alpha p,
body.aurora-body .section-candidates-beta-controls p{
  padding:.6rem .8rem;border:1px solid var(--stroke);border-radius:var(--r);background:var(--glass);color:var(--muted);margin:0;
}
body.aurora-body .section-controls-alpha-btn-group,body.aurora-body .section-candidates-alpha-controls-btn-group{background:transparent!important;border:0!important}
body.aurora-body .section-controls-alpha-btn-group .btn,
body.aurora-body .section-candidates-alpha-controls-btn-group .btn{border-radius:var(--r-sm)!important;margin:0 .15rem 0 0}
/* Jobs list: give the results column the same top margin as the left filter container so the
   two columns start on the same line (style.css leaves .section-jobs-alpha at margin-top:0). */
body.aurora-body .jobs-list-page .section-jobs-alpha{margin-top:1.2rem}
/* Companies list right column is .section-icon-boxes-alpha, which style.css paints with
   var(--body-bg) — that solid band is what shows as an odd box behind the results. */
body.aurora-body .companies-page{background:transparent}

/* ---------- search bar ---------- */
body.aurora-body .section-search-alpha-container{
  background:var(--glass);border:1px solid var(--stroke);border-radius:var(--r-lg);backdrop-filter:blur(16px);padding:1rem;margin-top:1.2rem;
}
body.aurora-body .section-search-alpha-container .fa-icon,
body.aurora-body .section-search-alpha-container .fa-icon-tag{display:none}
body.aurora-body .section-search-alpha-container .btn{width:100%;margin:0}
/* News list/detail: the search bar lives inside the section, above the content. */
body.aurora-body .section-blogs-alpha .section-search-alpha,
body.aurora-body .section-blogs-detail-alpha .section-search-alpha{margin-bottom:1.6rem}

/* ---------- contact ---------- */
/* style.css pulls the info bar up with margin-top:-90px so it overlaps the map; drop that and
   give it clearance. The map also sits flush under the header, so nudge it down. */
body.aurora-body .section-contact-alpha-map{margin-top:2rem}
body.aurora-body .section-contact-alpha-items{margin-top:3rem}

/* ---------- job detail ---------- */
body.aurora-body .section-job-detail-alpha-breadcrumb{background:transparent;border-bottom:1px solid var(--stroke);padding:2.4rem 0 2rem}
body.aurora-body .section-job-detail-alpha-breadcrumb h1{color:var(--ink)}
body.aurora-body .section-job-detail-alpha-breadcrumb ul li a{color:var(--muted)}
body.aurora-body .section-job-detail-alpha-breadcrumb-att{
  display:inline-block;border:1px solid var(--stroke);background:var(--glass);color:#c6d0ec;border-radius:var(--r-pill);
  padding:.25rem .6rem;margin:.2rem .25rem 0 0;font-size:.74rem;
}
body.aurora-body .section-job-detail-alpha-breadcrumb-btns .btn{margin:0 0 .6rem}
body.aurora-body .section-job-detail-alpha-breadcrumb-btns .btn:last-child{margin-bottom:0}
/* Similar-jobs / similar-candidates carousels: drop the solid --body-bg band (pop does this
   globally too). Covers the job detail and candidate detail carousels. */
body.aurora-body .section-carousel-beta{background:transparent}
body.aurora-body .section-job-detail-alpha-content .section-job-detail-alpha-apply-container{background:transparent!important}
body.aurora-body .section-job-detail-alpha-filters-item,
body.aurora-body .section-profile-detail-alpha-filters-item,
body.aurora-body .section-job-detail-alpha-quizes-item,
body.aurora-body .section-job-detail-alpha-traites-item,
body.aurora-body [class*="section-candidate-detail-alpha-item"],
body.aurora-body .section-job-detail-alpha-job-description,
body.aurora-body .section-job-detail-alpha-apply-container,
body.aurora-body .section-company-detail-alpha-company-detail{
  background:var(--glass)!important;border:1px solid var(--stroke)!important;border-radius:var(--r-lg)!important;
  backdrop-filter:blur(16px);padding:1.2rem;margin-bottom:1.2rem;box-shadow:var(--shadow-sm);
}
/* Job detail: the filters/quizes/traites wrappers are legacy boxes around item cards that
   already render as glass; drop the wrappers' fill/border so only the items show. */
body.aurora-body .section-job-detail-alpha-filters-container,
body.aurora-body .section-job-detail-alpha-quizes-container,
body.aurora-body .section-job-detail-alpha-traites-container{
  background:transparent;border:0;
}
/* Traits / resume-items headings: style.css fills the h2 with var(--body-bg) to notch the
   container border. On the dark theme that fill reads as a black bar, so drop it. (The
   legacy margin-top:-16px is already overridden by the global heading rule above.) */
body.aurora-body .section-job-detail-alpha-traites-container .section-heading-style-alpha h2,
body.aurora-body .section-profile-detail-alpha-res-items-container .section-heading-style-alpha h2{
  background:transparent;
}
body.aurora-body .section-job-detail-alpha-filters-item-icon i{color:var(--cyan)}
body.aurora-body .section-job-detail-alpha-filters-item-title{color:var(--soft)}
body.aurora-body .section-job-detail-alpha-filters-item-value{color:var(--ink)}
body.aurora-body .section-job-detail-alpha-company-detail-item{padding:.5rem 0;border-top:1px dashed var(--stroke);color:var(--muted);font-size:.86rem}
body.aurora-body .section-job-detail-alpha-company-detail-item:first-child{border-top:0}
body.aurora-body .section-job-detail-alpha-company-detail-item strong{color:var(--ink)}
body.aurora-body .section-job-detail-alpha-company-detail-social-icons a{
  display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--stroke);border-radius:var(--r-sm);background:var(--glass);color:var(--ink);margin:.1rem .2rem 0 0;
}
body.aurora-body .section-job-detail-alpha-company-detail-social-icons a:hover{background:var(--violet);color:#fff;border-color:transparent}

/* ---------- candidate detail ---------- */
/* The profile breadcrumb was never ported, so it fell back to style.css's
   background-color:var(--site-breadcrumbs-bg) + background-image:var(--breadcrumb-image).
   Match the job-detail breadcrumb instead. */
body.aurora-body .section-profile-detail-alpha-breadcrumb{background:transparent;border-bottom:1px solid var(--stroke);padding:2.4rem 0 2rem}
body.aurora-body .section-profile-detail-alpha-breadcrumb h1{color:var(--ink)}
body.aurora-body .section-profile-detail-alpha-breadcrumb ul li a{color:var(--muted)}
body.aurora-body .section-profile-detail-alpha-breadcrumb-att{
  display:inline-block;border:1px solid var(--stroke);background:var(--glass)!important;color:#c6d0ec!important;border-radius:var(--r-pill);
  padding:.25rem .6rem;margin:.2rem .25rem 0 0;font-size:.74rem;
}
body.aurora-body .section-profile-detail-alpha-breadcrumb-btns .btn{margin:0 0 .6rem}
body.aurora-body .section-profile-detail-alpha-breadcrumb-btns .btn:last-child{margin-bottom:0}
/* Resume counts: the outer container box duplicates the per-item cards — drop it. */
body.aurora-body .section-profile-detail-alpha-filters-container{background:transparent;border:0;padding:0}
/* Resume section headings: style.css uses overflow:auto purely to contain the floated h2, and
   that shows a scrollbar. Contain the float with a clearfix instead. */
body.aurora-body .section-profile-detail-alpha-res-pf .section-heading-style-beta{overflow:visible}
body.aurora-body .section-profile-detail-alpha-res-pf .section-heading-style-beta::after{content:"";display:block;clear:both}

/* ---------- account area ---------- */
body.aurora-body .section-account-alpha-container{background:transparent}
body.aurora-body .section-account-alpha-navigation ul{
  background:var(--glass);border:1px solid var(--stroke);border-radius:var(--r-lg);padding:.4rem;list-style:none;
}
body.aurora-body .section-account-alpha-navigation li{border-bottom:1px solid var(--stroke)}
body.aurora-body .section-account-alpha-navigation li:last-child{border-bottom:0}
body.aurora-body .section-account-alpha-navigation li a{
  color:var(--muted);border-radius:var(--r-sm);padding:.7rem .8rem;display:block;
}
body.aurora-body .section-account-alpha-navigation ul li a:hover,
body.aurora-body .section-account-alpha-navigation ul li a.active{background:rgba(124,92,255,.18);color:#fff;border-left:0}
body.aurora-body .section-account-alpha-profile{
  background:var(--glass);border:1px solid var(--stroke);border-radius:var(--r-lg);backdrop-filter:blur(16px);padding:1.6rem;
}
body.aurora-body .section-login-register-form{
  background:var(--glass);border:1px solid var(--stroke);border-radius:var(--r-xl);backdrop-filter:blur(18px);box-shadow:var(--shadow);padding:1.8rem;margin:2rem 0;
}
body.aurora-body .section-login-register-form label{display:block;margin-bottom:.4rem}
body.aurora-body .section-login-register-form .col-lg-12,
body.aurora-body .section-login-register-form .col-lg-6,
body.aurora-body .section-login-register-form .col-md-12{margin-bottom:1.1rem}
body.aurora-body .section-login-register-form .login-other-btns a{margin-right:1rem}
body.aurora-body .section-login-register-form hr{border-color:var(--stroke);margin:1rem 0 1.4rem}

/* incremental resume form */
body.aurora-body .section-incremental-form-alpha{
  background:var(--glass);border:1px solid var(--stroke);border-radius:var(--r-lg);backdrop-filter:blur(16px);padding:1.2rem;
}
body.aurora-body .section-incremental-form-alpha .card-body{background:transparent;margin:.8rem 0 0}
body.aurora-body .section-incremental-form-alpha-item{background:rgba(255,255,255,.035);border:1px solid var(--stroke);border-radius:var(--r);padding:1.3rem}
body.aurora-body .section-incremental-form-alpha .box-open-close i{background:var(--violet);color:#fff;border-radius:var(--r-sm);padding:.3rem .45rem}

/* social sign-in */
body.aurora-body .btn-social{
  position:relative;display:flex;align-items:center;width:100%;min-height:2.9rem;padding:.6rem 1rem .6rem 3.2rem;margin:0 0 .8rem;
  border:1px solid var(--stroke);border-radius:var(--r);background:var(--glass);color:var(--ink);font-weight:600;text-decoration:none;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
body.aurora-body .btn-social>:first-child{position:absolute;left:0;top:0;bottom:0;width:2.7rem;display:grid;place-items:center;border-right:1px solid var(--stroke);font-size:1.05rem}
body.aurora-body .btn-social:hover{transform:translateY(-2px);background:var(--glass-2);border-color:var(--stroke-2);color:#fff}
body.aurora-body .btn-social.btn-google>:first-child{color:#ea4335}
body.aurora-body .btn-social.btn-linkedin>:first-child{color:#0a66c2}
body.aurora-body .btn-social.btn-facebook>:first-child{color:#1877f2}

/* ---------- quiz ---------- */
body.aurora-body .section-quiz-alpha-item{background:var(--glass)!important;border:1px solid var(--stroke)!important;border-radius:var(--r-lg)!important;backdrop-filter:blur(16px)}
body.aurora-body .section-quiz-alpha-item .box-title h6{color:var(--ink)}
body.aurora-body .section-quiz-alpha-item .box-title i{color:var(--cyan)}
body.aurora-body .section-quiz-alpha-answers-container span{background:rgba(255,255,255,.05);border:1px solid var(--stroke);border-radius:var(--r);color:var(--ink)}
body.aurora-body .section-quiz-alpha-answers-container label{color:var(--ink)}
body.aurora-body .section-quiz-alpha-container input[type="radio"],
body.aurora-body .section-quiz-alpha-container input[type="checkbox"]{
  -webkit-appearance:none;appearance:none;float:left;width:1.15em;height:1.15em;margin:3px 8px 0 0;
  background:rgba(255,255,255,.08);border:1px solid var(--stroke);display:grid;place-content:center;cursor:pointer;
}
body.aurora-body .section-quiz-alpha-container input[type="radio"]{border-radius:50%}
body.aurora-body .section-quiz-alpha-container input[type="radio"]::before,
body.aurora-body .section-quiz-alpha-container input[type="checkbox"]::before{content:"";transform:scale(0);transition:120ms transform ease-in-out;background:var(--cyan)}
body.aurora-body .section-quiz-alpha-container input[type="radio"]::before{width:.55em;height:.55em;border-radius:50%}
body.aurora-body .section-quiz-alpha-container input[type="checkbox"]::before{width:.6em;height:.6em;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}
body.aurora-body .section-quiz-alpha-container input[type="radio"]:checked::before,
body.aurora-body .section-quiz-alpha-container input[type="checkbox"]:checked::before{transform:scale(1)}
body.aurora-body .section-quiz-alpha-q-number{background:var(--glass);border:1px solid var(--stroke);color:var(--muted)}
body.aurora-body .section-quiz-alpha-q-number.active{background:var(--grad-btn);color:#fff;border-color:transparent}
body.aurora-body .quiz-detail-box{background:var(--glass);border:1px solid var(--stroke);border-radius:var(--r-lg);padding:1.5rem;backdrop-filter:blur(16px)}

/* ---------- message pages ---------- */
.ag-message{background:var(--glass);border:1px solid var(--stroke);border-radius:var(--r-xl);backdrop-filter:blur(18px);box-shadow:var(--shadow);padding:3rem 1.5rem;text-align:center}
.ag-message h2{font-size:clamp(1.7rem,4.4vw,2.8rem);margin:0 0 1rem}
.ag-message p{color:var(--muted);margin:0 0 1.2rem}
.ag-message .btn{margin-top:.4rem}

/* ---------- modals ---------- */
body.aurora-body .modal-content{background:#0b0f22;border:1px solid var(--stroke);border-radius:var(--r-lg);box-shadow:var(--shadow)}
body.aurora-body .modal-header,body.aurora-body .modal-footer{border-color:var(--stroke)}
body.aurora-body .modal-title{font-family:var(--font-display)}

/* ---------- footer ---------- */
body.aurora-body .section-footer-alpha{
  background:rgba(5,6,15,.6);border-top:1px solid var(--stroke);color:var(--muted);padding:3.4rem 0 2rem;
}
body.aurora-body .section-footer-alpha h1,body.aurora-body .section-footer-alpha h2,
body.aurora-body .section-footer-alpha h3,body.aurora-body .section-footer-alpha h4{
  color:#fff;font-family:var(--font-display);font-size:.95rem;margin-bottom:.8rem;
}
body.aurora-body .section-footer-alpha a{color:#c6d0ec;display:block;padding:.26rem 0;transition:color .2s ease,padding-left .2s ease}
body.aurora-body .section-footer-alpha a:hover{color:#fff;padding-left:6px}
body.aurora-body .section-footer-alpha p,body.aurora-body .section-footer-alpha li{color:var(--muted)}
body.aurora-body .section-footer-alpha .links a{background:var(--glass);border:1px solid var(--stroke);display:inline-block;padding:.4rem .6rem;border-radius:var(--r-sm)}

/* ---------- home / mockup components ---------- */
.ag-hero{padding:9rem 0 4rem;position:relative}
.ag-hero-title{font-size:clamp(2.5rem,6.2vw,5rem);font-weight:800;letter-spacing:-.045em;margin:0}
.ag-hero-title h1,.ag-hero-title h2,.ag-hero-title h3{
  font-family:var(--font-display);font-size:inherit;line-height:1.06;font-weight:800;letter-spacing:-.045em;margin:0;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.ag-hero-title p{color:var(--muted);font-size:1.1rem;font-weight:400;letter-spacing:0;max-width:52ch;margin-top:1.4rem}
.ag-hero-sub{font-size:1.1rem;color:var(--muted);max-width:52ch;margin-top:1.4rem}
.ag-search{display:flex;gap:.5rem;padding:.55rem;margin-top:2rem;border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--stroke);backdrop-filter:blur(16px)}
.ag-search input,.ag-search select{background:transparent;border:0;color:var(--ink);outline:none;padding:.7rem .9rem;font-size:.95rem;flex:1 1 auto;min-width:0}
.ag-search input::placeholder{color:#7f8bab}
.ag-search select option{background:#0d1226;color:var(--ink)}
.ag-stat{padding:1.15rem 1.25rem;border-radius:var(--r-lg);text-align:center}
.ag-stat .v{font-family:var(--font-display);font-weight:800;font-size:1.6rem;line-height:1}
.ag-stat .l{font-size:.76rem;color:var(--muted);margin-top:.4rem}
.ag-panel{padding:1.3rem;border-radius:var(--r-xl)}
.ag-avatar{width:42px;height:42px;border-radius:var(--r-sm);display:grid;place-items:center;font-weight:700;font-size:.82rem;color:#fff;background:linear-gradient(135deg,var(--violet),#4f7cff);flex:0 0 42px}
.ag-avatar.c{background:linear-gradient(135deg,#0ea5b7,var(--cyan))}
.ag-avatar.p{background:linear-gradient(135deg,#db2777,var(--pink))}
.ag-rowitem{display:flex;align-items:center;gap:.9rem;padding:.85rem;border-radius:var(--r);border:1px solid var(--stroke);margin-bottom:.7rem;background:rgba(255,255,255,.03);transition:transform .25s ease,border-color .25s ease,background .25s ease}
.ag-rowitem:hover{transform:translateX(7px);border-color:rgba(124,92,255,.6);background:rgba(124,92,255,.10)}
.ag-score{margin-left:auto;font-size:.76rem;font-weight:700;padding:.2rem .55rem;border-radius:var(--r-pill);background:rgba(163,230,53,.14);color:var(--lime);border:1px solid rgba(163,230,53,.3)}
.ag-bento{padding:1.8rem;border-radius:var(--r-lg);height:100%}
.ag-bento .ico{
  width:52px;height:52px;border-radius:var(--r);display:grid;place-items:center;font-size:1.35rem;margin-bottom:1.1rem;
  background:linear-gradient(135deg,rgba(124,92,255,.28),rgba(34,211,238,.22));border:1px solid var(--stroke);color:#dbe4ff;
}
.ag-bento h4{font-size:1.12rem;margin-bottom:.55rem}
.ag-bento p{color:var(--muted);margin:0;font-size:.95rem}
.ag-job{padding:1.6rem;border-radius:var(--r-lg);height:100%;display:flex;flex-direction:column;gap:1rem;transition:.28s ease}
.ag-job .logo{width:50px;height:50px;border-radius:var(--r);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;color:#fff;background:linear-gradient(135deg,var(--violet),var(--cyan));flex:0 0 50px;overflow:hidden}
.ag-job .logo img{width:100%;height:100%;object-fit:contain}
.ag-quote{padding:2.9rem;border-radius:var(--r-xl)}
.ag-quote i.stars{color:#ffc65c;letter-spacing:3px;font-style:normal}
.ag-cta{padding:4rem;border-radius:30px;position:relative;overflow:hidden}
.ag-cta h2{font-size:clamp(1.8rem,4.4vw,3rem);margin-bottom:.6rem}
.ag-cta>*{position:relative;z-index:2}
.ag-cta::before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.5),transparent 62%);right:-160px;top:-200px;filter:blur(20px);animation:ag-floaty 9s ease-in-out infinite}
.ag-cta::after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.4),transparent 62%);left:-120px;bottom:-160px;filter:blur(20px);animation:ag-floaty 11s ease-in-out infinite reverse}
.ag-float{animation:ag-floaty 6s ease-in-out infinite}
.ag-float.slow{animation-duration:8s;animation-delay:.8s}
.ag-tick{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--soft);margin-right:1.2rem}
.ag-tick .b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--violet),var(--cyan));color:#fff;font-size:.7rem}

/* ==========================================================================
   Home sections — animated background decorations (geometric + flowery).
   A .ag-decor layer sits behind the section content; shapes spin, drift,
   twinkle and float. Decorative only (pointer-events:none), clipped per section.
   ========================================================================== */
.ag-decor-host{position:relative;isolation:isolate}
.ag-decor-host>.ag-decor{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.ag-decor-host>*:not(.ag-decor){position:relative;z-index:1}
.ag-shape{position:absolute;display:block;pointer-events:none;will-change:transform,opacity}

/* Shapes are parked in the page gutters and corners, clear of the centred content column. */
/* geometric */
.ag-shape-ring{width:110px;height:110px;border:2px solid var(--violet);border-radius:50%;top:8%;left:2.5%;opacity:.16;animation:agd-spin 28s linear infinite}
.ag-shape-dotted{width:80px;height:80px;border:3px dotted var(--cyan);border-radius:50%;top:11%;right:2.5%;opacity:.18;animation:agd-spin-rev 36s linear infinite}
.ag-shape-glow{width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.5),transparent 66%);filter:blur(14px);left:-80px;bottom:-80px;opacity:.5;animation:agd-drift 19s ease-in-out infinite}
.ag-shape-tri{width:0;height:0;border-left:22px solid transparent;border-right:22px solid transparent;border-bottom:38px solid var(--pink);right:3.5%;bottom:16%;opacity:.18;animation:agd-wobble 13s ease-in-out infinite}
.ag-shape-square{width:40px;height:40px;border:2px solid var(--lime);left:3.5%;bottom:24%;opacity:.17;animation:agd-spin 22s linear infinite}
.ag-shape-plus{width:26px;height:26px;right:5%;top:20%;opacity:.22;background:linear-gradient(var(--cyan),var(--cyan)) center/2px 100% no-repeat,linear-gradient(var(--cyan),var(--cyan)) center/100% 2px no-repeat;animation:agd-spin-rev 26s linear infinite}
.ag-shape-hex{width:48px;height:54px;background:var(--violet);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);right:2.5%;top:48%;opacity:.17;animation:agd-drift 23s ease-in-out infinite}
.ag-shape-diamond{width:38px;height:38px;border:2px solid var(--cyan);left:3%;top:26%;opacity:.18;animation:agd-spin 24s linear infinite}
.ag-shape-arc{width:78px;height:78px;border:3px solid transparent;border-right-color:var(--pink);border-top-color:var(--pink);border-radius:50%;right:4%;bottom:22%;opacity:.22;animation:agd-spin-rev 20s linear infinite}
.ag-shape-petal{width:34px;height:34px;background:var(--pink);border-radius:60% 0 60% 0;left:3%;top:36%;opacity:.22;animation:agd-spin 18s linear infinite}
.ag-shape-star5{width:46px;height:46px;background:linear-gradient(135deg,var(--violet),var(--cyan));clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);left:3.5%;bottom:38%;opacity:.22;animation:agd-twinkle 7s ease-in-out infinite}
.ag-shape-crumbs{width:8px;height:8px;border-radius:50%;background:var(--cyan);left:6%;top:16%;opacity:.4;box-shadow:14px 10px 0 -1px rgba(34,211,238,.5),27px 2px 0 -2px rgba(124,92,255,.55),42px 13px 0 -2px rgba(244,114,182,.5);animation:agd-drift 15s ease-in-out infinite}
.ag-shape-dot{width:10px;height:10px;border-radius:50%;background:var(--cyan);opacity:.32}
.ag-shape-dot-a{left:5%;top:54%;animation:agd-drift 17s ease-in-out infinite}
.ag-shape-dot-b{right:5%;bottom:30%;background:var(--violet);animation:agd-drift 21s ease-in-out infinite reverse}

/* flowery / clipart glyphs */
.ag-shape-star,.ag-shape-spark,.ag-shape-flower,.ag-shape-flower2,.ag-shape-asterisk,.ag-shape-bloom{line-height:1;opacity:.24}
.ag-shape-star{top:26%;right:3.5%;font-size:24px;color:var(--cyan);animation:agd-twinkle 6.5s ease-in-out infinite}
.ag-shape-spark{top:44%;left:3%;font-size:20px;color:var(--lime);animation:agd-twinkle 5.4s ease-in-out infinite .7s}
.ag-shape-flower{bottom:12%;left:2.5%;font-size:38px;color:var(--pink);animation:agd-spin 30s linear infinite}
.ag-shape-flower2{bottom:10%;right:3.5%;font-size:28px;color:var(--violet);animation:agd-twinkle 7.4s ease-in-out infinite 1.3s}
.ag-shape-asterisk{top:13%;right:7%;font-size:24px;color:var(--cyan);animation:agd-spin-rev 26s linear infinite}
.ag-shape-bloom{bottom:14%;right:7%;font-size:28px;color:var(--pink);animation:agd-twinkle 6s ease-in-out infinite .5s}
/* hero: its content fills the width, so keep the two shapes in the top/bottom padding bands */
.ag-hero .ag-shape-ring{top:5%;left:auto;right:3.5%;width:88px;height:88px}
.ag-hero .ag-shape-bloom{bottom:6%;right:auto;left:3%}

@keyframes agd-spin{to{transform:rotate(360deg)}}
@keyframes agd-spin-rev{to{transform:rotate(-360deg)}}
@keyframes agd-twinkle{0%,100%{opacity:.06;transform:scale(.7) rotate(0)}50%{opacity:.34;transform:scale(1.12) rotate(45deg)}}
@keyframes agd-drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(26px,-20px) scale(1.14)}66%{transform:translate(-20px,18px) scale(.9)}}
@keyframes agd-wobble{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(12deg) translateY(-16px)}}

@media (prefers-reduced-motion:reduce){.ag-shape{animation:none!important}}
@media (max-width:767px){
  .ag-shape{display:none}
  .ag-shape-glow,.ag-shape-star{display:block}
  .ag-shape-glow{width:150px;height:150px}
}

/* ---------- responsive ---------- */
@media (max-width:991px){
  /* No `position` here: this selector (1,2,1) out-specifies style.css's mobile
     `.mobile-offcanvas{position:fixed}` (0,1,0). Declaring one leaves the nav in normal
     flow, and visibility:hidden keeps its box — so its whole stacked-menu height shows as
     an invisible band, matched by the body padding main.js measures off #navbar-mobile. */
  body.aurora-body #navbar-main.navbar-main{margin:0;border-radius:0;max-width:none}

  /* Mobile header bar as one centred row. .logo-main-menu is display:block and the trigger
     floats right, so they otherwise wrap onto two lines — inflating the bar (and with it the
     body padding) and mis-aligning the icon against the logo. */
  body.aurora-body #navbar-mobile .mobile-menu{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .85rem}
  body.aurora-body #navbar-mobile .mobile-menu .logo-main-menu{height:30px;margin:0;flex:0 0 auto}
  body.aurora-body #navbar-mobile .mobile-menu-trigger{float:none;flex:0 0 auto}

  /* the slide-in drawer was 80% wide; let it fill the screen */
  body.aurora-body .mobile-offcanvas{width:100%}

  .ag-hero{padding-top:6rem}
  .ag-search{flex-direction:column}
  .ag-search input,.ag-search select{width:100%}
  .ag-cta{padding:2.4rem}
  body.aurora-body .logo-main-menu{height:30px}
}
