/*
 * Bamibo Workforce Hub 1.3 — premium public, client and compliance experience.
 * Designed to remain theme-independent and fast on ordinary WordPress/cPanel hosting.
 */
:root {
  --bh-lux-ink: #082738;
  --bh-lux-deep: #052f43;
  --bh-lux-deeper: #032432;
  --bh-lux-teal: #068e91;
  --bh-lux-aqua: #20c4b5;
  --bh-lux-mint: #baf4e8;
  --bh-lux-cream: #f6f3ea;
  --bh-lux-paper: #fbfdfc;
  --bh-lux-line: rgba(8, 39, 56, .12);
  --bh-lux-copy: #4a6572;
  --bh-lux-gold: #d6ad5c;
  --bh-lux-shadow: 0 34px 90px rgba(3, 36, 50, .14);
  --bh-lux-shadow-soft: 0 16px 46px rgba(3, 36, 50, .085);
  --bh-lux-radius: 28px;
}

/* Theme reset and page canvas */
.bh-premium-site { background: var(--bh-lux-paper); color: var(--bh-lux-ink); }
.bh-premium-home-page .site-main,
.bh-premium-home-page .content-area,
.bh-premium-home-page main,
.bh-premium-home-page article,
.bh-premium-home-page .entry-content,
.bh-premium-home-page .wp-site-blocks,
.bh-premium-home-page .is-layout-constrained,
.bh-premium-home-page .container,
.bh-premium-home-page .ast-container,
.bh-premium-home-page .site-content { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.bh-premium-home-page .entry-header,
.bh-premium-home-page .page-header,
.bh-premium-home-page article > header { display: none !important; }
.bh-premium-home-page .entry-content > * { max-width: none !important; margin-block: 0 !important; }
.bh-premium-home-page .site-content { overflow: clip; }
.bh-lux-home, .bh-lux-home * { box-sizing: border-box; }
.bh-lux-home { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--bh-lux-ink); background: var(--bh-lux-paper); }
.bh-lux-home a { text-decoration: none; }
.bh-lux-container { width: min(1220px, calc(100% - 40px)); margin-inline: auto; }

/* Premium hero */
.bh-lux-hero {
  position: relative;
  isolation: isolate;
  min-height: min(850px, 92vh);
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: clamp(90px, 10vw, 148px) 0 clamp(70px, 8vw, 112px);
  color: #fff;
  background:
    radial-gradient(circle at 78% 16%, rgba(59, 236, 206, .22), transparent 25%),
    radial-gradient(circle at 15% 88%, rgba(13, 145, 149, .24), transparent 30%),
    linear-gradient(132deg, #032332 0%, #063f52 47%, #087e82 100%);
}
.bh-lux-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .28;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to right, transparent, #000 18%, #000 84%, transparent);
}
.bh-lux-hero::after {
  content: "";
  position: absolute;
  right: -12%; bottom: -58%;
  z-index: -1;
  width: 760px; aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 0 0 80px rgba(255,255,255,.025), 0 0 0 170px rgba(255,255,255,.018);
}
.bh-lux-orbit { position: absolute; z-index: -1; border-radius: 50%; border: 1px solid rgba(255,255,255,.1); pointer-events: none; }
.bh-lux-orbit--one { width: 420px; height: 420px; left: -260px; top: 8%; }
.bh-lux-orbit--two { width: 90px; height: 90px; right: 8%; top: 12%; box-shadow: 0 0 0 18px rgba(255,255,255,.026); }
.bh-lux-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(400px, .78fr); gap: clamp(48px, 8vw, 108px); align-items: center; }
.bh-lux-hero__copy { max-width: 750px; }
.bh-lux-kicker { display: inline-flex; align-items: center; gap: 10px; color: rgba(255,255,255,.78); text-transform: uppercase; letter-spacing: .16em; font-weight: 800; font-size: .72rem; }
.bh-lux-kicker i { width: 28px; height: 2px; border-radius: 999px; background: var(--bh-lux-mint); box-shadow: 0 0 14px rgba(186,244,232,.56); }
.bh-lux-kicker--dark { color: var(--bh-lux-teal); }
.bh-lux-kicker--dark i { background: currentColor; box-shadow: none; }
.bh-lux-hero h1 { max-width: 800px; margin: 22px 0 26px; color: #fff; font-size: clamp(3.45rem, 7.2vw, 7.4rem); line-height: .91; letter-spacing: -.068em; font-weight: 760; }
.bh-lux-hero h1 em { color: var(--bh-lux-mint); font-style: normal; font-weight: 470; }
.bh-lux-hero__copy > p { max-width: 675px; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.78; }
.bh-lux-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 34px; }
.bh-lux-btn { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 14px 22px; border: 1px solid transparent; border-radius: 999px; font-size: .94rem; font-weight: 820; line-height: 1; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.bh-lux-btn:hover { transform: translateY(-2px); }
.bh-lux-btn--light { color: var(--bh-lux-deeper) !important; background: #fff; box-shadow: 0 15px 36px rgba(0,0,0,.16); }
.bh-lux-btn--light:hover { box-shadow: 0 20px 48px rgba(0,0,0,.22); }
.bh-lux-btn--glass { color: #fff !important; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.24); backdrop-filter: blur(10px); }
.bh-lux-btn--glass:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.38); }
.bh-lux-btn--dark { color: #fff !important; background: var(--bh-lux-deep); box-shadow: 0 14px 30px rgba(3,36,50,.2); }
.bh-lux-btn--dark:hover { background: var(--bh-lux-teal); }
.bh-lux-text-link { color: var(--bh-lux-deep) !important; font-weight: 820; }
.bh-lux-proof { display: flex; flex-wrap: wrap; gap: 18px 28px; margin-top: 38px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.64); font-size: .78rem; }
.bh-lux-proof span { display: inline-flex; align-items: center; gap: 7px; }
.bh-lux-proof span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--bh-lux-mint); box-shadow: 0 0 0 4px rgba(186,244,232,.12); }
.bh-lux-proof b { color: #fff; font-weight: 780; }

/* Hero product preview */
.bh-lux-command { position: relative; padding: 17px; border: 1px solid rgba(255,255,255,.18); border-radius: 30px; background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.055)); box-shadow: 0 42px 90px rgba(0,0,0,.28); backdrop-filter: blur(22px); transform: perspective(1200px) rotateY(-3deg) rotateX(1deg); }
.bh-lux-command::before { content: ""; position: absolute; inset: 12% -18% -14% 18%; z-index: -1; border-radius: 50%; background: rgba(44,220,192,.2); filter: blur(70px); }
.bh-lux-command__bar { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 10px; padding: 9px 7px 17px; border-bottom: 1px solid rgba(255,255,255,.12); }
.bh-lux-command__bar strong { color: #fff; font-size: .9rem; }
.bh-lux-command__bar small { color: var(--bh-lux-mint); font-size: .68rem; }
.bh-lux-logo-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: var(--bh-lux-deep); background: var(--bh-lux-mint); font-weight: 950; }
.bh-lux-command__metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px 0 10px; }
.bh-lux-command__metrics article { padding: 17px; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; background: rgba(3,32,44,.28); }
.bh-lux-command__metrics span, .bh-lux-command__metrics small { display: block; color: rgba(255,255,255,.56); font-size: .68rem; }
.bh-lux-command__metrics strong { display: block; margin: 7px 0 4px; color: #fff; font-size: 1.05rem; }
.bh-lux-command__flow { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; gap: 7px; margin: 4px 0 10px; padding: 16px; border-radius: 18px; background: rgba(3,32,44,.3); color: rgba(255,255,255,.38); font-size: .64rem; font-weight: 800; }
.bh-lux-command__flow i { height: 1px; background: rgba(255,255,255,.14); }
.bh-lux-command__flow .is-done { color: var(--bh-lux-mint); }
.bh-lux-command__flow .is-live { color: #fff; }
.bh-lux-command__shift { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px; border-radius: 19px; background: #fff; color: var(--bh-lux-ink); }
.bh-lux-command__shift div { display: grid; gap: 3px; }
.bh-lux-command__shift span, .bh-lux-command__shift small { color: var(--bh-lux-copy); font-size: .7rem; }
.bh-lux-command__shift strong { font-size: .96rem; }
.bh-lux-status { padding: 7px 10px; border-radius: 999px; color: #07714e !important; background: #e4f7ed; text-transform: uppercase; letter-spacing: .06em; font-size: .62rem !important; font-weight: 900; }
.bh-lux-command__link { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; padding: 13px 15px; color: #fff !important; border-radius: 15px; background: rgba(255,255,255,.07); font-size: .8rem; font-weight: 800; }

/* Trust strip */
.bh-lux-trust { position: relative; z-index: 2; background: var(--bh-lux-cream); border-bottom: 1px solid rgba(8,39,56,.08); }
.bh-lux-trust__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.bh-lux-trust__grid > div { display: grid; gap: 5px; min-height: 122px; align-content: center; padding: 24px 30px; border-left: 1px solid rgba(8,39,56,.09); }
.bh-lux-trust__grid > div:last-child { border-right: 1px solid rgba(8,39,56,.09); }
.bh-lux-trust strong { font-size: clamp(1.7rem, 3vw, 2.5rem); letter-spacing: -.05em; color: var(--bh-lux-deep); }
.bh-lux-trust span { color: var(--bh-lux-copy); font-size: .76rem; font-weight: 690; }

/* Shared public sections */
.bh-lux-section { padding: clamp(76px, 9vw, 132px) 0; }
.bh-lux-heading { display: grid; grid-template-columns: 1.15fr .75fr; gap: 50px; align-items: end; margin-bottom: clamp(38px, 6vw, 68px); }
.bh-lux-heading h2, .bh-lux-platform h2, .bh-lux-cta h2 { margin: 14px 0 0; color: var(--bh-lux-deep); font-size: clamp(2.45rem, 5.2vw, 5.3rem); line-height: .98; letter-spacing: -.06em; }
.bh-lux-heading > p { margin: 0; color: var(--bh-lux-copy); font-size: 1.03rem; line-height: 1.8; }

/* Services bento */
.bh-lux-services { background: #fff; }
.bh-lux-bento { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; }
.bh-lux-service { position: relative; min-height: 260px; display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 24px; overflow: hidden; padding: clamp(28px, 4vw, 42px); border: 1px solid var(--bh-lux-line); border-radius: var(--bh-lux-radius); color: var(--bh-lux-ink) !important; background: linear-gradient(145deg,#f8fbfa,#eef7f5); box-shadow: var(--bh-lux-shadow-soft); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.bh-lux-service::after { content: ""; position: absolute; width: 260px; height: 260px; top: -150px; right: -120px; border-radius: 50%; background: rgba(6,142,145,.1); box-shadow: 0 0 0 55px rgba(6,142,145,.035); transition: transform .4s ease; }
.bh-lux-service:hover { transform: translateY(-5px); border-color: rgba(6,142,145,.35); box-shadow: var(--bh-lux-shadow); }
.bh-lux-service:hover::after { transform: scale(1.18); }
.bh-lux-service > span { align-self: start; color: var(--bh-lux-teal); font-size: .72rem; letter-spacing: .13em; font-weight: 900; }
.bh-lux-service h3 { margin: 0 0 10px; color: var(--bh-lux-deep); font-size: clamp(1.5rem, 3vw, 2.3rem); letter-spacing: -.045em; }
.bh-lux-service p { max-width: 500px; margin: 0; color: var(--bh-lux-copy); line-height: 1.7; }
.bh-lux-service b { position: relative; z-index: 2; white-space: nowrap; color: var(--bh-lux-teal); }
.bh-lux-service--wide { min-height: 340px; grid-row: span 2; background: linear-gradient(150deg,var(--bh-lux-deep),#075d69); color: #fff !important; }
.bh-lux-service--wide h3, .bh-lux-service--wide b { color: #fff; }
.bh-lux-service--wide p, .bh-lux-service--wide > span { color: rgba(255,255,255,.68); }
.bh-lux-service--wide::after { background: rgba(186,244,232,.18); }
.bh-lux-service--accent { background: var(--bh-lux-cream); }

/* Platform */
.bh-lux-platform { color: #fff; background: linear-gradient(135deg,var(--bh-lux-deeper),#064b5b); }
.bh-lux-platform__grid { display: grid; grid-template-columns: minmax(0,.95fr) minmax(420px,.8fr); gap: clamp(50px, 9vw, 120px); align-items: center; }
.bh-lux-platform h2 { color: #fff; }
.bh-lux-platform__copy > p { color: rgba(255,255,255,.7); font-size: 1.05rem; line-height: 1.8; }
.bh-lux-platform__copy ul { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 14px; }
.bh-lux-platform__copy li { display: flex; gap: 11px; color: rgba(255,255,255,.88); font-weight: 680; }
.bh-lux-platform__copy li::before { content: "✓"; color: var(--bh-lux-mint); }
.bh-lux-platform .bh-lux-text-link { color: var(--bh-lux-mint) !important; }
.bh-lux-platform__cards { display: grid; gap: 12px; }
.bh-lux-platform__cards article { display: flex; gap: 17px; align-items: center; padding: 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(255,255,255,.055); backdrop-filter: blur(10px); transition: transform .2s ease, background .2s ease; }
.bh-lux-platform__cards article:hover { transform: translateX(-6px); background: rgba(255,255,255,.09); }
.bh-lux-platform__cards div { display: grid; gap: 4px; }
.bh-lux-platform__cards small { color: var(--bh-lux-mint); text-transform: uppercase; letter-spacing: .1em; font-size: .62rem; font-weight: 850; }
.bh-lux-platform__cards strong { color: #fff; }
.bh-lux-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 15px; color: var(--bh-lux-deep); background: var(--bh-lux-mint); font-weight: 900; }

/* Path cards */
.bh-lux-paths { background: var(--bh-lux-cream); }
.bh-lux-path-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.bh-lux-path { min-height: 430px; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(32px, 5vw, 58px); border-radius: var(--bh-lux-radius); overflow: hidden; position: relative; }
.bh-lux-path::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 90% 5%,rgba(255,255,255,.22),transparent 31%); }
.bh-lux-path > * { position: relative; z-index: 2; }
.bh-lux-path > span { text-transform: uppercase; letter-spacing: .14em; font-size: .68rem; font-weight: 900; }
.bh-lux-path h3 { max-width: 600px; margin: 16px 0; font-size: clamp(2.1rem,4vw,4rem); line-height: 1; letter-spacing: -.055em; }
.bh-lux-path p { max-width: 600px; margin: 0; line-height: 1.75; }
.bh-lux-path > div { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-top: 30px; }
.bh-lux-path--facility { color: #fff; background: linear-gradient(145deg,#053144,#087e82); box-shadow: var(--bh-lux-shadow); }
.bh-lux-path--facility h3, .bh-lux-path--facility .bh-lux-text-link { color: #fff !important; }
.bh-lux-path--facility p, .bh-lux-path--facility > span { color: rgba(255,255,255,.68); }
.bh-lux-path--facility .bh-lux-btn--dark { color: var(--bh-lux-deep) !important; background: #fff; }
.bh-lux-path--candidate { color: var(--bh-lux-ink); background: linear-gradient(145deg,#d9f6ee,#b9ebdf); box-shadow: var(--bh-lux-shadow-soft); }
.bh-lux-path--candidate > span { color: var(--bh-lux-teal); }
.bh-lux-path--candidate p { color: var(--bh-lux-copy); }

/* Process */
.bh-lux-process { background: #fff; }
.bh-lux-steps { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--bh-lux-line); border-bottom: 1px solid var(--bh-lux-line); }
.bh-lux-steps article { min-height: 260px; padding: 34px 28px; border-left: 1px solid var(--bh-lux-line); }
.bh-lux-steps article:last-child { border-right: 1px solid var(--bh-lux-line); }
.bh-lux-steps span { color: var(--bh-lux-teal); font-size: .7rem; font-weight: 900; letter-spacing: .12em; }
.bh-lux-steps h3 { margin: 52px 0 12px; color: var(--bh-lux-deep); font-size: 1.4rem; letter-spacing: -.035em; }
.bh-lux-steps p { margin: 0; color: var(--bh-lux-copy); line-height: 1.7; font-size: .92rem; }

/* Final CTA */
.bh-lux-cta { padding: clamp(70px,8vw,110px) 0; color: #fff; background: linear-gradient(125deg,#057b7d,#05394d); }
.bh-lux-cta__inner { display: grid; grid-template-columns: 1.15fr .7fr; gap: 50px; align-items: end; }
.bh-lux-cta h2 { color: #fff; max-width: 800px; }
.bh-lux-cta p { margin: 18px 0 0; color: rgba(255,255,255,.72); }
.bh-lux-cta .bh-lux-actions { justify-content: flex-end; }

/* Premium portal canvas */
.bh-workspace-page { background:
  radial-gradient(circle at 5% 0%, rgba(32,196,181,.09), transparent 24rem),
  radial-gradient(circle at 100% 14%, rgba(6,142,145,.08), transparent 28rem),
  #f4f9f8; }
.bh-workspace-page .site-main,
.bh-workspace-page .entry-content { max-width: none; }
.bh-workspace-page .bh-hub-shell { width: min(1260px, calc(100% - 30px)); }
.bh-workspace-page .bh-portal-top { padding: clamp(24px,4vw,40px); border: 0; color: #fff; background:
  radial-gradient(circle at 90% 0%,rgba(77,233,207,.27),transparent 30%),
  linear-gradient(128deg,var(--bh-lux-deeper),#076f77); box-shadow: var(--bh-lux-shadow); }
.bh-workspace-page .bh-portal-top h2,
.bh-workspace-page .bh-portal-top p,
.bh-workspace-page .bh-portal-top .bh-eyebrow { color: #fff; }
.bh-workspace-page .bh-tabs { position: sticky; top: 12px; z-index: 40; padding: 8px; border: 1px solid rgba(8,39,56,.1); box-shadow: 0 12px 36px rgba(3,36,50,.1); backdrop-filter: blur(16px); background: rgba(255,255,255,.9); }
.bh-workspace-page .bh-metric { min-height: 146px; align-content: space-between; border: 0; background: #fff; box-shadow: var(--bh-lux-shadow-soft); }
.bh-workspace-page .bh-card { border-color: rgba(8,39,56,.1); box-shadow: 0 16px 50px rgba(3,36,50,.075); }
.bh-workspace-page .bh-btn { background: linear-gradient(135deg,var(--bh-lux-teal),var(--bh-lux-aqua)); }
.bh-workspace-page .bh-btn--ghost { color: var(--bh-lux-deep) !important; background: #fff; }
.bh-workspace-page .bh-form input:focus,
.bh-workspace-page .bh-form select:focus,
.bh-workspace-page .bh-form textarea:focus { border-color: var(--bh-lux-aqua); box-shadow: 0 0 0 4px rgba(32,196,181,.13); }

/* Compliance Passport */
.bh-passport { overflow: hidden; padding: 0 !important; }
.bh-passport__hero { display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; padding: clamp(26px,4vw,42px); color: #fff; background: linear-gradient(128deg,var(--bh-lux-deeper),#076f77); }
.bh-passport__hero h2 { margin: 8px 0 7px; color: #fff; font-size: clamp(1.8rem,4vw,3.2rem); letter-spacing: -.05em; }
.bh-passport__hero p { margin: 0; color: rgba(255,255,255,.7); }
.bh-passport__score { display: grid; place-items: center; width: 108px; height: 108px; border-radius: 50%; background: conic-gradient(var(--bh-lux-mint) var(--bh-score,0%),rgba(255,255,255,.12) 0); box-shadow: inset 0 0 0 12px rgba(3,36,50,.54); }
.bh-passport__score strong { color: #fff; font-size: 1.35rem; }
.bh-passport__body { padding: clamp(24px,4vw,40px); }
.bh-compliance-matrix { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.bh-compliance-item { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 15px; border-radius: 15px; border: 1px solid var(--bh-lux-line); background: #fff; }
.bh-compliance-item__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; font-weight: 900; }
.bh-compliance-item.is-approved .bh-compliance-item__icon { color: #0c754c; background: #e2f7ec; }
.bh-compliance-item.is-pending .bh-compliance-item__icon,
.bh-compliance-item.is-missing .bh-compliance-item__icon { color: #956200; background: #fff5dc; }
.bh-compliance-item.is-expired .bh-compliance-item__icon { color: #ae2d27; background: #ffebe9; }
.bh-compliance-item div { display: grid; gap: 3px; }
.bh-compliance-item small { color: var(--bh-lux-copy); }
.bh-clearance-gate { margin-top: 18px; padding: 18px; border-radius: 16px; border: 1px dashed rgba(6,142,145,.36); background: #edf9f6; }
.bh-badge--cleared { color: #08714e; background: #e1f8ed; }
.bh-badge--onboarding { color: #8b6107; background: #fff3d6; }
.bh-badge--restricted { color: #ad3029; background: #ffebe9; }

/* Notifications */
.bh-notification-list { display: grid; gap: 10px; }
.bh-notification { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 17px; border: 1px solid var(--bh-lux-line); border-radius: 17px; background: #fff; }
.bh-notification.is-unread { border-color: rgba(6,142,145,.36); background: linear-gradient(145deg,#fff,#f0fbf8); box-shadow: 0 10px 28px rgba(6,142,145,.08); }
.bh-notification__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: var(--bh-lux-teal); background: #e4f7f2; font-weight: 900; }
.bh-notification__copy { display: grid; gap: 4px; }
.bh-notification__copy p { margin: 0; }
.bh-notification__copy small { color: var(--bh-lux-copy); }
.bh-link-button { border: 0; padding: 0; color: var(--bh-lux-teal); background: transparent; font: inherit; font-weight: 800; cursor: pointer; }

/* Facility command centre */
.bh-facility-grid, .bh-clearance-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.bh-facility-card { position: relative; overflow: hidden; }
.bh-facility-card::before { content: ""; position: absolute; width: 130px; height: 130px; border-radius: 50%; top: -75px; right: -55px; background: rgba(32,196,181,.11); }
.bh-facility-meta { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 18px 0; }
.bh-facility-meta div { display: grid; gap: 4px; padding: 12px; border-radius: 13px; background: #f2f8f7; }
.bh-facility-meta small { color: var(--bh-lux-copy); text-transform: uppercase; letter-spacing: .07em; font-size: .65rem; font-weight: 800; }
.bh-facility-manager-list { display: grid; gap: 8px; }
.bh-facility-manager { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--bh-lux-line); }
.bh-checkbox-fieldset { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; padding: 16px; border: 1px solid var(--bh-lux-line); border-radius: 16px; }
.bh-checkbox-fieldset legend { padding: 0 8px; font-weight: 850; }
.bh-clearance-card { display: grid; gap: 16px; }
.bh-clearance-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.bh-clearance-summary span { display: grid; gap: 4px; padding: 12px; border-radius: 13px; text-align: center; background: #f2f8f7; }
.bh-clearance-summary small { color: var(--bh-lux-copy); }
.bh-clearance-summary strong { font-size: 1.35rem; color: var(--bh-lux-deep); }
.bh-admin-issue-list { columns: 2; margin: 0; padding: 18px 34px; }
.bh-admin-toolbar { display: flex; justify-content: flex-end; gap: 10px; margin-bottom: 16px; }

/* Shift PIN / onsite integrity */
.bh-pin-entry { display: grid !important; min-width: 220px; gap: 7px; padding: 13px; border: 1px solid rgba(6,142,145,.26); border-radius: 15px; background: #eff9f6; }
.bh-pin-entry input { text-align: center; letter-spacing: .3em; font-size: 1.15rem; font-weight: 900; }
.bh-pin-display { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 999px; color: var(--bh-lux-deep); background: var(--bh-lux-mint); font-size: .72rem; font-weight: 750; }
.bh-pin-display b { font-size: .9rem; letter-spacing: .11em; }
.bh-shift-admin-facts { display: grid; justify-items: end; gap: 7px; }
.bh-readonly-panel { display: grid; gap: 10px; padding: 16px; border: 1px solid var(--bh-lux-line); border-radius: 16px; background: #f3f9f8; }
.bh-readonly-panel > span { font-weight: 850; }
.bh-readonly-panel ul { list-style: none; display: grid; gap: 8px; margin: 0; padding: 0; }
.bh-readonly-panel li { display: grid; gap: 2px; padding: 10px; border-radius: 12px; background: #fff; }
.bh-readonly-panel small { color: var(--bh-lux-copy); }

/* Public opportunities */
.bh-vacancies-shell .bh-page-head { max-width: 880px; margin-bottom: 36px; }
.bh-vacancies-shell .bh-page-head h1 { color: var(--bh-lux-deep); }
.bh-vacancy-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.bh-vacancy-card { display: flex; flex-direction: column; min-height: 340px; padding: 26px; border: 1px solid var(--bh-lux-line); border-radius: 24px; background: linear-gradient(145deg,#fff,#f1faf7); box-shadow: var(--bh-lux-shadow-soft); }
.bh-vacancy-card h2 { margin: 18px 0 5px; color: var(--bh-lux-deep); font-size: 1.6rem; letter-spacing: -.04em; }
.bh-vacancy-card > p { margin: 0; color: var(--bh-lux-copy); }
.bh-vacancy-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 24px 0; }
.bh-vacancy-facts span { display: grid; gap: 4px; padding: 11px 8px; border-radius: 12px; background: #fff; }
.bh-vacancy-facts small { color: var(--bh-lux-copy); font-size: .65rem; }
.bh-vacancy-facts strong { color: var(--bh-lux-deep); font-size: .8rem; }
.bh-vacancy-card .bh-btn { margin-top: auto; }

/* Install app prompt */
.bh-install-app { position: fixed; left: 18px; bottom: 18px; z-index: 99985; display: none; align-items: center; gap: 12px; max-width: 360px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 17px; color: #fff; background: rgba(3,36,50,.94); box-shadow: 0 18px 48px rgba(3,36,50,.28); backdrop-filter: blur(14px); }
.bh-install-app.is-visible { display: flex; }
.bh-install-app strong { display: block; font-size: .86rem; }
.bh-install-app small { display: block; color: rgba(255,255,255,.64); }
.bh-install-app button { border: 0; border-radius: 10px; padding: 8px 11px; color: var(--bh-lux-deep); background: var(--bh-lux-mint); font-weight: 850; cursor: pointer; }
.bh-install-app__close { color: rgba(255,255,255,.7) !important; background: transparent !important; }

/* Progressive reveal */
.bh-premium-site .bh-reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.bh-premium-site .bh-reveal.is-visible { opacity: 1; transform: none; }

/* Accessibility */
.bh-premium-site :where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #e6bd69 !important; outline-offset: 3px !important; }
.bh-premium-site .screen-reader-text:focus { clip: auto !important; clip-path: none; width: auto; height: auto; padding: 10px; background: #fff; color: #000; z-index: 100000; }
.bh-premium-site a, .bh-premium-site button { -webkit-tap-highlight-color: transparent; }

@media (max-width: 1050px) {
  .bh-lux-hero { min-height: auto; }
  .bh-lux-hero__grid, .bh-lux-platform__grid { grid-template-columns: 1fr; }
  .bh-lux-hero__copy { max-width: 850px; }
  .bh-lux-command { max-width: 680px; transform: none; }
  .bh-lux-heading, .bh-lux-cta__inner { grid-template-columns: 1fr; }
  .bh-lux-cta .bh-lux-actions { justify-content: flex-start; }
  .bh-lux-steps { grid-template-columns: repeat(2,1fr); }
  .bh-lux-steps article:nth-child(2) { border-right: 1px solid var(--bh-lux-line); }
  .bh-vacancy-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .bh-lux-container { width: min(100% - 28px, 1220px); }
  .bh-lux-hero { padding-top: 78px; }
  .bh-lux-hero h1 { font-size: clamp(3rem,13vw,5.3rem); }
  .bh-lux-hero__grid { gap: 52px; }
  .bh-lux-trust__grid { grid-template-columns: repeat(2,1fr); }
  .bh-lux-trust__grid > div:nth-child(2) { border-right: 1px solid rgba(8,39,56,.09); }
  .bh-lux-bento, .bh-lux-path-grid { grid-template-columns: 1fr; }
  .bh-lux-service--wide { grid-row: auto; }
  .bh-lux-path { min-height: 380px; }
  .bh-compliance-matrix, .bh-facility-grid, .bh-clearance-grid { grid-template-columns: 1fr; }
  .bh-vacancy-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .bh-lux-hero { padding-top: 64px; }
  .bh-lux-actions { align-items: stretch; }
  .bh-lux-actions .bh-lux-btn { width: 100%; }
  .bh-lux-proof { display: grid; }
  .bh-lux-command { padding: 11px; border-radius: 22px; }
  .bh-lux-command__bar { grid-template-columns: 34px 1fr; }
  .bh-lux-command__bar small { grid-column: 2; }
  .bh-lux-command__metrics { grid-template-columns: 1fr; }
  .bh-lux-command__flow { grid-template-columns: repeat(4,1fr); text-align: center; }
  .bh-lux-command__flow i { display: none; }
  .bh-lux-command__shift { align-items: flex-start; flex-direction: column; }
  .bh-lux-trust__grid { grid-template-columns: 1fr 1fr; }
  .bh-lux-trust__grid > div { min-height: 105px; padding: 18px; }
  .bh-lux-heading h2, .bh-lux-platform h2, .bh-lux-cta h2 { font-size: clamp(2.25rem,12vw,3.8rem); }
  .bh-lux-service { grid-template-columns: 1fr; align-items: start; min-height: 260px; }
  .bh-lux-service b { margin-top: auto; }
  .bh-lux-steps { grid-template-columns: 1fr; }
  .bh-lux-steps article, .bh-lux-steps article:nth-child(2) { min-height: auto; border-right: 1px solid var(--bh-lux-line); border-bottom: 1px solid var(--bh-lux-line); }
  .bh-lux-steps h3 { margin-top: 28px; }
  .bh-passport__hero { grid-template-columns: 1fr; }
  .bh-passport__score { width: 90px; height: 90px; }
  .bh-compliance-item { grid-template-columns: 38px minmax(0,1fr); }
  .bh-compliance-item > .bh-badge { grid-column: 2; justify-self: start; }
  .bh-notification { grid-template-columns: 40px minmax(0,1fr); }
  .bh-notification > form, .bh-notification > a { grid-column: 2; justify-self: start; }
  .bh-facility-meta, .bh-clearance-summary { grid-template-columns: repeat(2,1fr); }
  .bh-checkbox-fieldset { grid-template-columns: 1fr; }
  .bh-admin-issue-list { columns: 1; }
  .bh-shift-admin-facts { justify-items: start; }
  .bh-install-app { left: 10px; right: 10px; bottom: 10px; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .bh-premium-site *, .bh-premium-site *::before, .bh-premium-site *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .bh-premium-site .bh-reveal { opacity: 1; transform: none; }
}

@media print {
  .bh-install-app, .bh-portal-launcher { display: none !important; }
}

/* Runtime class aliases used by the v1.3 PHP renderer */
.bh-passport { display: grid; gap: 20px; }
.bh-passport-hero { display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; padding: clamp(26px,4vw,42px); border-radius: 25px; color: #fff; background: linear-gradient(128deg,var(--bh-lux-deeper),#076f77); box-shadow: var(--bh-lux-shadow); }
.bh-passport-hero h3 { margin: 8px 0 7px; color: #fff; font-size: clamp(1.8rem,4vw,3.2rem); letter-spacing: -.05em; }
.bh-passport-hero p, .bh-passport-hero .bh-eyebrow { color: rgba(255,255,255,.72); }
.bh-passport-score { display: grid; place-items: center; align-content: center; width: 112px; height: 112px; padding: 12px; border-radius: 50%; text-align: center; background: rgba(255,255,255,.11); border: 10px solid rgba(186,244,232,.42); box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.bh-passport-score strong { color: #fff; font-size: 1.45rem; }
.bh-passport-score span { color: rgba(255,255,255,.64); font-size: .62rem; }
.bh-passport-list { display: grid; gap: 10px; }
.bh-passport-item { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 15px; border: 1px solid var(--bh-lux-line); border-radius: 15px; background: linear-gradient(145deg,#fff,#f7fbfa); }
.bh-passport-item__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: #08714e; background: #e2f7ec; font-weight: 900; }
.bh-passport-item div { display: grid; gap: 3px; }
.bh-passport-item small { color: var(--bh-lux-copy); }
.bh-notification__dot { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #e4f7f2; }
.bh-notification__dot::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--bh-lux-teal); box-shadow: 0 0 0 6px rgba(6,142,145,.12); }
.bh-notification > div { display: grid; gap: 4px; }
.bh-notification h4, .bh-notification p { margin: 0; }
.bh-notification small { color: var(--bh-lux-copy); }
.bh-notification a { color: var(--bh-lux-teal); font-weight: 800; }

@media (max-width:600px) {
  .bh-passport-hero { grid-template-columns: 1fr; }
  .bh-passport-score { width: 92px; height: 92px; }
  .bh-passport-item { grid-template-columns: 42px minmax(0,1fr); }
  .bh-passport-item > .bh-badge { grid-column: 2; justify-self: start; }
}

/* Legal identity and workspace footer */
.bh-legal-strip { color: rgba(255,255,255,.78); background: var(--bh-lux-deeper); border-top: 1px solid rgba(255,255,255,.08); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.bh-legal-strip__inner { width: min(1220px,calc(100% - 34px)); min-height: 76px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; padding: 18px 0; font-size: .77rem; }
.bh-legal-strip strong { color: #fff; }
.bh-legal-strip nav { display: flex; flex-wrap: wrap; gap: 14px; margin-left: auto; }
.bh-legal-strip a { color: var(--bh-lux-mint) !important; font-weight: 800; text-decoration: none; }
.bh-menu-portal > a { border-radius: 999px !important; padding-inline: 17px !important; color: #fff !important; background: linear-gradient(135deg,var(--bh-lux-deep),var(--bh-lux-teal)) !important; }
@media (max-width:700px) { .bh-legal-strip__inner { align-items: flex-start; flex-direction: column; } .bh-legal-strip nav { margin-left: 0; } }

/* v1.4.1 brand spark: no decorative straight-line kickers. */
.bh-lux-kicker i {
  position: relative;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border-radius: 8px;
  background: linear-gradient(135deg,#f4cf79,var(--bh-lux-mint));
  box-shadow: 0 8px 20px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.38);
}
.bh-lux-kicker i::before,
.bh-lux-kicker i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 999px;
  background: var(--bh-lux-deep);
  transform: translate(-50%,-50%);
}
.bh-lux-kicker i::before { width: 9px; height: 2px; }
.bh-lux-kicker i::after { width: 2px; height: 9px; }
.bh-lux-kicker--dark i {
  background: linear-gradient(135deg,var(--bh-lux-deep),var(--bh-lux-teal));
  box-shadow: 0 8px 18px rgba(4,70,82,.18), inset 0 0 0 1px rgba(255,255,255,.18);
}
.bh-lux-kicker--dark i::before,
.bh-lux-kicker--dark i::after { background: #fff; }
