/* ============================================================
   SMG JOB BOARD — premium SaaS job-board UI
   Scoped to job-board classes so it never conflicts with
   Elementor or the rest of the theme. Inherits theme tokens.
   ============================================================ */

/* ---------- search bars ---------- */
.job-search{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow-md)}
.banner-search{margin-top:30px;max-width:920px}
.js-field{display:flex;align-items:center;gap:10px;padding:4px 14px;border-radius:12px;background:var(--mist)}
.js-field svg{width:18px;height:18px;color:var(--gold-deep);flex-shrink:0}
.js-field input,.js-field select{border:0;background:transparent;font-family:inherit;font-size:.95rem;color:var(--ink);width:100%;padding:12px 0;outline:none}
.job-search .js-submit{white-space:nowrap}
.jobs-banner h1{max-width:18ch}

/* ---------- jobs layout ---------- */
.jobs-layout{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:start}
.jobs-filters{position:sticky;top:110px}
.jobs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.jobs-count{color:var(--slate);font-size:.95rem}
.jobs-count b{color:var(--navy-900)}
.jobs-sort{display:flex;align-items:center;gap:10px}
.jobs-sort label{font-size:.85rem;color:var(--slate);font-weight:600}
.jobs-sort select{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:inherit;font-weight:500;color:var(--navy-900);cursor:pointer}
.view-toggle{display:flex;gap:4px;background:var(--mist);border-radius:10px;padding:4px}
.view-toggle .vt{width:36px;height:36px;border:0;background:transparent;border-radius:8px;cursor:pointer;display:grid;place-items:center;color:var(--slate)}
.view-toggle .vt svg{width:18px;height:18px}
.view-toggle .vt.active{background:#fff;color:var(--navy-900);box-shadow:var(--shadow-sm)}

/* ---------- filter card ---------- */
.filter-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm)}
.fc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.fc-head h4{font-size:1.1rem}
.fc-clear{font-size:.82rem;color:var(--gold-deep);font-weight:600}
.fc-group{padding:18px 0;border-top:1px solid var(--line)}
.fc-label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--navy-800);margin-bottom:12px}
.fc-label b{float:right;color:var(--gold-deep);text-transform:none;letter-spacing:0}
.fc-group select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--mist);font-family:inherit;color:var(--ink);outline:none}
.fc-checks{display:flex;flex-direction:column;gap:11px}
.fc-check{display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--ink);cursor:pointer}
.fc-check input{width:17px;height:17px;accent-color:var(--gold-deep)}
.fc-visa span{font-weight:600}
.fc-group input[type=range]{width:100%;accent-color:var(--gold-deep)}

/* ---------- job cards ---------- */
.jobs-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.jobs-grid.list-view{grid-template-columns:1fr}
.job-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;display:flex;flex-direction:column;gap:16px;position:relative}
.job-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:transparent}
.job-card.is-featured{border-color:var(--gold);background:linear-gradient(180deg,var(--gold-soft) 0%,#fff 26%)}
.jc-top{display:flex;align-items:flex-start;gap:14px}
.jc-logo{width:54px;height:54px;border-radius:13px;overflow:hidden;flex-shrink:0;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
.jc-logo img{width:100%;height:100%;object-fit:cover}
.jc-logo-fallback{font-family:"Newsreader",serif;font-size:1.5rem;font-weight:600;color:var(--gold-deep)}
.jc-headings{flex:1;min-width:0}
.jc-title{display:block;font-family:"Newsreader",serif;font-size:1.22rem;font-weight:600;color:var(--navy-900);line-height:1.2;transition:color .2s}
.jc-title:hover{color:var(--gold-deep)}
.jc-company{font-size:.88rem;color:var(--slate)}
.jc-save{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--slate-light);transition:.25s;flex-shrink:0}
.jc-save svg{width:18px;height:18px;transition:.25s}
.jc-save:hover{border-color:var(--gold);color:var(--gold-deep)}
.jc-save.saved{background:var(--gold);border-color:var(--gold);color:var(--navy-900)}
.jc-save.saved svg{fill:var(--navy-900)}
.jc-tags{display:flex;flex-wrap:wrap;gap:7px}
.jc-tags .tag{font-size:.76rem;font-weight:600;padding:5px 11px;border-radius:50px;background:var(--mist);color:var(--navy-800)}
.jc-tags .t-type{background:rgba(200,162,76,.14);color:var(--gold-deep)}
.jc-tags .t-remote{background:#e9f6ee;color:#1f8a5b}
.jc-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--slate);font-size:.86rem}
.jc-meta span{display:inline-flex;align-items:center;gap:7px}
.jc-meta svg{width:15px;height:15px;color:var(--gold-deep)}
.jc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.jc-badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;padding:5px 10px;border-radius:50px;letter-spacing:.02em}
.badge svg{width:13px;height:13px}
.b-visa{background:var(--navy-900);color:var(--gold)}
.b-urgent{background:#fde9e7;color:#d2452f}
.b-verified{background:#e9f1fb;color:#2a6fdb}
.jc-apply{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.9rem;color:var(--navy-900);white-space:nowrap}
.jc-apply svg{width:15px;height:15px;color:var(--gold-deep);transition:transform .3s}
.jc-apply:hover svg{transform:translateX(4px)}
.jobs-empty{grid-column:1/-1;text-align:center;padding:60px 20px;background:#fff;border:1px dashed var(--line);border-radius:18px}
.jobs-empty h3{font-size:1.4rem;margin-bottom:8px}
.jobs-empty p{color:var(--slate);margin-bottom:20px}

/* list view tweaks */
.list-view .job-card{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"logo head foot";align-items:center;gap:20px}
.list-view .jc-top{grid-area:head;border:0;padding:0}
.list-view .jc-tags,.list-view .jc-meta{display:none}
.list-view .jc-foot{grid-area:foot;border:0;padding:0;flex-direction:column;align-items:flex-end}

/* ---------- single job ---------- */
.job-single-banner .jsb-head{display:flex;align-items:center;gap:20px;margin-top:14px}
.jsb-logo{width:74px;height:74px;border-radius:16px;overflow:hidden;flex-shrink:0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);display:grid;place-items:center}
.jsb-logo img{width:100%;height:100%;object-fit:cover}
.jsb-logo span{font-family:"Newsreader",serif;font-size:2rem;color:var(--gold)}
.jsb-head h1{font-size:clamp(1.7rem,3.4vw,2.6rem)}
.jsb-meta{display:flex;flex-wrap:wrap;gap:8px;color:#c2cce0;margin-top:8px;font-size:.96rem}
.jsb-badges{display:flex;gap:7px;margin-top:12px}
.jsb-cta{margin-left:auto;align-self:center}
.js-layout{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start}
.js-h{font-family:"Newsreader",serif;font-size:1.5rem;color:var(--navy-900);margin:34px 0 16px}
.js-content .entry-content:first-child,.js-content .entry-content{margin-top:0}
.apply-box{margin-top:40px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow-sm)}
.apply-box .js-h{margin-top:0}
.apply-form label{display:block;font-size:.85rem;font-weight:600;color:var(--slate);margin:16px 0 6px}
.apply-form input,.apply-form textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--mist);font-family:inherit;font-size:.95rem;outline:none;transition:border .2s}
.apply-form input:focus,.apply-form textarea:focus{border-color:var(--gold);background:#fff}
.af-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.apply-form .btn{margin-top:20px}
.apply-success{background:#e9f6ee;border:1px solid #b6e0c7;color:#1f7a4d;padding:18px 20px;border-radius:12px;font-weight:500}
.js-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px}
.js-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow-sm)}
.js-card h4{font-size:1.1rem;margin-bottom:16px}
.js-facts{list-style:none;display:flex;flex-direction:column;gap:0;margin:0 0 20px}
.js-facts li{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.js-facts li:last-child{border-bottom:0}
.js-facts span{color:var(--slate)}
.js-facts b{color:var(--navy-900);text-align:right}
.js-emp{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.js-emp b{display:block;color:var(--navy-900)}
.js-emp a{font-size:.85rem;color:var(--gold-deep);font-weight:600}
.related-jobs{margin-top:60px}
.related-jobs .jobs-grid{grid-template-columns:1fr 1fr 1fr}

/* ---------- employer/candidate cards ---------- */
.emp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.emp-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;text-align:center;transition:transform .35s var(--ease),box-shadow .35s}
.emp-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.emp-logo{width:72px;height:72px;border-radius:16px;margin:0 auto 16px;overflow:hidden;border:1px solid var(--line);display:grid;place-items:center;background:var(--mist)}
.emp-logo img{width:100%;height:100%;object-fit:cover}
.emp-logo span{font-family:"Newsreader",serif;font-size:2rem;color:var(--gold-deep)}
.emp-card h3{font-size:1.22rem;display:flex;align-items:center;justify-content:center;gap:7px}
.verified-tick{width:18px;height:18px;color:#2a6fdb}
.emp-ind{font-size:.82rem;color:var(--gold-deep);font-weight:600}
.emp-card p{color:var(--slate);font-size:.9rem;margin:12px 0 16px}
.emp-jobs{display:inline-block;font-size:.84rem;font-weight:600;color:var(--navy-900);background:var(--mist);padding:7px 16px;border-radius:50px}

/* ---------- dashboard ---------- */
.dash{padding:40px 0 80px;background:var(--mist);min-height:70vh}
.dash-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.dash-side{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;position:sticky;top:100px}
.dash-user{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:14px}
.dash-user-meta{min-width:0}
.dash-user-meta b{display:block;font-size:.95rem;color:var(--navy-900);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-user-meta span{font-size:.78rem;color:var(--slate)}
.dash-av{width:46px;height:46px;border-radius:50%;background:linear-gradient(150deg,var(--navy-700),var(--navy-900));color:var(--gold);display:grid;place-items:center;font-family:"Newsreader",serif;font-size:1.3rem;font-weight:600}
.dash-user b{display:block;font-size:.96rem;color:var(--navy-900)}
.dash-user span{font-size:.8rem;color:var(--slate)}
.dash-nav{display:flex;flex-direction:column;gap:3px}
.dash-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:11px;font-weight:500;font-size:.94rem;color:var(--ink);transition:.2s}
.dash-nav a svg{width:19px;height:19px;color:var(--slate-light);transition:.2s}
.dash-nav a:hover{background:var(--mist)}
.dash-nav a.active{background:var(--navy-900);color:#fff}
.dash-nav a.active svg{color:var(--gold)}
.dash-logout{margin-top:8px;border-top:1px solid var(--line);color:var(--slate)!important}
.dash-main{min-width:0}
.dash-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.dash-head h1{font-size:1.8rem}
.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;text-align:center}
.sc-ico{font-size:1.5rem;display:block;margin-bottom:8px}
.stat-card b{font-family:"Newsreader",serif;font-size:2rem;color:var(--navy-900);display:block;line-height:1}
.stat-card span{font-size:.84rem;color:var(--slate);margin-top:6px;display:block}
.dash-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;margin-bottom:20px}
.dash-panel h3{font-size:1.2rem;margin-bottom:16px}
.dash-table{width:100%;border-collapse:collapse}
.dash-table th{text-align:left;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:var(--slate);padding:0 12px 12px;border-bottom:1px solid var(--line)}
.dash-table td{padding:14px 12px;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--ink)}
.dash-table tr:last-child td{border-bottom:0}
.dash-table a{color:var(--navy-900);font-weight:600}
.dash-link{color:var(--gold-deep);font-weight:600;font-size:.86rem}
.dash-empty{color:var(--slate);padding:20px 0;text-align:center}
.status-pill{display:inline-block;font-size:.74rem;font-weight:700;padding:5px 12px;border-radius:50px}
.s-new,.s-pending{background:#eef1f8;color:#5468ff}
.s-reviewed{background:#fff4e0;color:#b8860b}
.s-shortlisted{background:#e9f1fb;color:#2a6fdb}
.s-interview{background:#efe7fb;color:#7b3ff2}
.s-hired,.s-publish{background:#e9f6ee;color:#1f8a5b}
.s-rejected,.s-draft{background:#fde9e7;color:#d2452f}
.app-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:12px;flex-wrap:wrap}
.app-info b{display:block;color:var(--navy-900)}
.app-info span{font-size:.86rem;color:var(--slate)}
.app-actions{display:flex;align-items:center;gap:12px}
.app-actions select{padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-family:inherit;cursor:pointer}

/* ---------- post job + auth forms ---------- */
.postjob-form label{display:block;font-size:.85rem;font-weight:600;color:var(--slate);margin:16px 0 6px}
.postjob-form input,.postjob-form textarea,.postjob-form select{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--mist);font-family:inherit;font-size:.95rem;outline:none;transition:border .2s}
.postjob-form input:focus,.postjob-form textarea:focus,.postjob-form select:focus{border-color:var(--gold);background:#fff}
.postjob-note{margin-top:14px;font-size:.85rem;color:var(--slate-light)}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:920px;margin:0 auto}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow-sm)}
.auth-card h3{font-size:1.4rem;margin-bottom:20px}
.auth-card label{display:block;font-size:.85rem;font-weight:600;color:var(--slate);margin:14px 0 6px}
.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=password]{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--mist);font-family:inherit;outline:none}
.auth-card .button,.auth-card input[type=submit]{width:100%;margin-top:18px;padding:14px;border-radius:50px;border:0;background:var(--gold);color:var(--navy-900);font-weight:600;cursor:pointer;font-family:inherit}
.auth-forgot{display:inline-block;margin-top:14px;font-size:.86rem;color:var(--gold-deep);font-weight:600}
.auth-social-note,.pricing-note{font-size:.82rem;color:var(--slate-light);margin-top:16px;line-height:1.5}
.role-toggle{display:flex;gap:10px;margin-bottom:6px}
.role-toggle label{display:flex;align-items:center;gap:8px;flex:1;border:1px solid var(--line);border-radius:11px;padding:12px;cursor:pointer;font-size:.9rem;font-weight:500;margin:0}
.role-toggle input{accent-color:var(--gold-deep)}
.login-remember{font-weight:400!important;font-size:.85rem!important}

/* ---------- pricing ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.price-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px 30px;position:relative;transition:transform .35s var(--ease),box-shadow .35s}
.price-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.price-card.is-popular{border-color:var(--gold);box-shadow:var(--shadow-md);transform:scale(1.03)}
.pc-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--navy-900);font-size:.74rem;font-weight:700;padding:6px 16px;border-radius:50px;letter-spacing:.03em}
.price-card h3{font-size:1.4rem;margin-bottom:14px}
.pc-price{display:flex;align-items:baseline;gap:8px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.pc-price b{font-family:"Newsreader",serif;font-size:2.6rem;color:var(--navy-900);line-height:1}
.pc-price span{color:var(--slate);font-size:.92rem}
.pc-feats{list-style:none;display:flex;flex-direction:column;gap:13px;margin-bottom:26px}
.pc-feats li{display:flex;align-items:flex-start;gap:11px;font-size:.94rem;color:var(--ink)}
.pc-feats svg{width:18px;height:18px;color:var(--gold-deep);flex-shrink:0;margin-top:2px}

/* ---------- responsive ---------- */
@media(max-width:1080px){
	.jobs-layout{grid-template-columns:1fr}
	.jobs-filters{position:static}
	.filter-card{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
	.fc-head{grid-column:1/-1}
	.js-layout{grid-template-columns:1fr}
	.js-side{position:static;flex-direction:row;flex-wrap:wrap}
	.js-card{flex:1;min-width:260px}
	.dash-layout{grid-template-columns:1fr}
	.dash-side{position:static}
	.dash-nav{flex-direction:row;flex-wrap:wrap}
	.dash-nav a span{display:none}
	.dash-nav a{padding:12px}
	.related-jobs .jobs-grid{grid-template-columns:1fr 1fr}
	.emp-grid,.pricing-grid{grid-template-columns:1fr 1fr}
	.price-card.is-popular{transform:none}
}
@media(max-width:760px){
	.job-search{grid-template-columns:1fr}
	.jobs-grid,.related-jobs .jobs-grid,.emp-grid,.pricing-grid,.auth-grid,.stat-cards,.af-row{grid-template-columns:1fr}
	.filter-card{grid-template-columns:1fr}
	.jsb-head{flex-wrap:wrap}
	.jsb-cta{margin-left:0;width:100%}
	.list-view .job-card{grid-template-columns:1fr;grid-template-areas:"head" "foot"}
	.list-view .jc-foot{align-items:flex-start}
	.stat-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:440px){
	.stat-cards{grid-template-columns:1fr}
	.dash,.apply-box,.auth-card,.price-card{padding-left:0;padding-right:0}
	.apply-box,.auth-card{padding:22px}
}


/* ============================================================
   SMG JOB BOARD — PHASE 2 (messaging, alerts, analytics, notifs)
   ============================================================ */

/* notification bell */
.dash-user{position:relative}
.dash-bell{margin-left:auto;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--slate);position:relative;flex-shrink:0}
.dash-bell svg{width:18px;height:18px}
.dash-bell:hover{border-color:var(--gold);color:var(--gold-deep)}
.bell-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d2452f;color:#fff;font-size:11px;font-weight:700;font-style:normal;display:grid;place-items:center}
.notif-pop{position:absolute;top:54px;right:0;width:320px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:50;overflow:hidden}
.notif-head{padding:14px 16px;border-bottom:1px solid var(--line)}
.notif-head b{font-size:.95rem}
.notif-list{max-height:340px;overflow-y:auto}
.notif-item{display:flex;gap:11px;padding:13px 16px;border-bottom:1px solid var(--line);transition:background .2s}
.notif-item:hover{background:var(--mist)}
.notif-item.unread{background:rgba(200,162,76,.07)}
.notif-ico{width:34px;height:34px;border-radius:9px;background:var(--mist);display:grid;place-items:center;flex-shrink:0;color:var(--gold-deep)}
.notif-ico svg{width:17px;height:17px}
.notif-item span{font-size:.86rem;color:var(--ink);line-height:1.4}
.notif-item time{display:block;font-size:.74rem;color:var(--slate-light);margin-top:3px}

/* messaging */
.msg-wrap{display:grid;grid-template-columns:300px 1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-height:540px}
.msg-threads{border-right:1px solid var(--line);overflow-y:auto;max-height:640px}
.msg-thread{display:flex;gap:12px;padding:16px;border-bottom:1px solid var(--line);transition:background .2s}
.msg-thread:hover{background:var(--mist)}
.msg-thread.active{background:rgba(200,162,76,.1)}
.msg-av{width:42px;height:42px;border-radius:50%;background:linear-gradient(150deg,var(--navy-700),var(--navy-900));color:var(--gold);display:grid;place-items:center;font-family:"Newsreader",serif;font-weight:600;flex-shrink:0}
.msg-tinfo{min-width:0;flex:1}
.msg-tinfo b{display:flex;align-items:center;gap:6px;font-size:.92rem;color:var(--navy-900)}
.msg-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);display:inline-block}
.msg-tinfo small{display:block;font-size:.76rem;color:var(--gold-deep);font-weight:600}
.msg-tinfo > span{display:block;font-size:.82rem;color:var(--slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-convo{display:flex;flex-direction:column}
.msg-convo-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.msg-convo-head b{font-size:1rem}
.msg-jobtag{margin-left:auto;font-size:.78rem;background:var(--mist);padding:6px 12px;border-radius:50px;color:var(--gold-deep);font-weight:600}
.msg-stream{flex:1;padding:22px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:440px;background:var(--mist)}
.msg-bubble{max-width:72%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;align-self:flex-start}
.msg-bubble.mine{align-self:flex-end;background:var(--navy-900);border-color:var(--navy-900)}
.msg-bubble p{font-size:.92rem;color:var(--ink);line-height:1.5}
.msg-bubble.mine p{color:#fff}
.msg-bubble time{display:block;font-size:.7rem;color:var(--slate-light);margin-top:5px}
.msg-bubble.mine time{color:rgba(255,255,255,.6)}
.msg-compose{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--line)}
.msg-compose input{flex:1;padding:12px 16px;border:1px solid var(--line);border-radius:50px;font-family:inherit;outline:none;background:var(--mist)}
.msg-compose input:focus{border-color:var(--gold);background:#fff}
.msg-placeholder{flex:1;display:grid;place-items:center;color:var(--slate);padding:40px}

/* alerts */
.alert-row{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr auto;gap:12px;align-items:center}
.alert-form input,.alert-form select{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--mist);font-family:inherit;outline:none}
.alert-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.alert-item:last-child{border-bottom:0}
.alert-crit b{display:block;color:var(--navy-900)}
.alert-crit span{font-size:.84rem;color:var(--slate)}
.alert-del{background:none;border:0;cursor:pointer;color:#d2452f!important}

/* analytics */
.esv-chart{width:100%;height:200px;display:block}
.funnel{display:flex;flex-direction:column;gap:14px}
.funnel-row{display:grid;grid-template-columns:110px 1fr 40px;align-items:center;gap:14px}
.funnel-label{font-size:.88rem;color:var(--slate);font-weight:500}
.funnel-bar{height:14px;background:var(--mist);border-radius:50px;overflow:hidden}
.funnel-fill{display:block;height:100%;border-radius:50px;background:var(--gold);transition:width .6s var(--ease)}
.funnel-fill.s-new{background:#5468ff}.funnel-fill.s-reviewed{background:#b8860b}.funnel-fill.s-shortlisted{background:#2a6fdb}.funnel-fill.s-interview{background:#7b3ff2}.funnel-fill.s-hired{background:#1f8a5b}.funnel-fill.s-rejected{background:#d2452f}
.funnel-val{font-family:"Newsreader",serif;font-weight:600;color:var(--navy-900);text-align:right}

@media(max-width:1080px){
	.msg-wrap{grid-template-columns:1fr}
	.msg-threads{max-height:240px;border-right:0;border-bottom:1px solid var(--line)}
	.alert-row{grid-template-columns:1fr 1fr}
	.notif-pop{right:-40px}
}
@media(max-width:600px){
	.alert-row{grid-template-columns:1fr}
	.msg-bubble{max-width:86%}
}


/* ============================================================
   SMG JOB BOARD — PHASE 3 (resume builder, auth, saved searches)
   ============================================================ */
.rb-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px}
.resume-form label{display:block;font-size:.82rem;font-weight:600;color:var(--slate);margin:12px 0 6px}
.resume-form input,.resume-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--mist);font-family:inherit;font-size:.94rem;outline:none;transition:border .2s}
.resume-form input:focus,.resume-form textarea:focus{border-color:var(--gold);background:#fff}
.resume-form > .btn{margin-top:8px}
.repeat-row{position:relative;padding:18px;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;background:var(--mist)}
.repeat-del{position:absolute;top:10px;right:10px;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;color:var(--slate);font-size:18px;line-height:1}
.repeat-del:hover{border-color:#d2452f;color:#d2452f}
.repeat-add{margin-top:4px}
.rb-vis{display:flex!important;align-items:center;gap:10px;margin-top:14px;font-weight:500!important;color:var(--ink)!important}
.rb-vis input{width:auto!important;accent-color:var(--gold-deep)}
.rb-file{font-size:.85rem;color:var(--slate);margin-top:8px}

/* public resume doc */
.resume-banner-head{display:flex;align-items:center;gap:18px;margin-top:14px}
.resume-av{width:74px;height:74px;border-radius:50%;overflow:hidden;flex-shrink:0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);display:grid;place-items:center}
.resume-av img{width:100%;height:100%;object-fit:cover}
.resume-av span{font-family:"Newsreader",serif;font-size:2rem;color:var(--gold)}
.resume-head{color:#c2cce0;font-size:1.1rem;margin-top:4px}
.resume-loc{color:#9fabc6;font-size:.9rem}
.resume-doc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px;box-shadow:var(--shadow-sm)}
.resume-sec{margin-bottom:32px}
.resume-sec:last-child{margin-bottom:0}
.resume-sec h2{font-size:1.3rem;padding-bottom:10px;border-bottom:2px solid var(--gold-soft);margin-bottom:18px}
.resume-item{margin-bottom:18px}
.ri-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.ri-head b{font-size:1.05rem;color:var(--navy-900)}
.ri-head span{font-size:.85rem;color:var(--slate);white-space:nowrap}
.ri-sub{display:block;color:var(--gold-deep);font-weight:600;font-size:.9rem;margin:2px 0 6px}
.resume-item p{color:var(--slate);font-size:.94rem}

/* auth states */
.auth-single{max-width:480px;margin:0 auto}
.auth-lead{color:var(--slate);font-size:.95rem;margin-bottom:8px}
.auth-error{background:#fde9e7;border:1px solid #f3c0b8;color:#c23a26;padding:12px 16px;border-radius:10px;font-size:.9rem;margin-bottom:14px}
.auth-success{background:#e9f6ee;border:1px solid #b6e0c7;color:#1f7a4d;padding:12px 16px;border-radius:10px;font-size:.9rem;margin-bottom:14px}
.auth-divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--slate-light);font-size:.82rem}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.social-login{display:flex;flex-direction:column;gap:10px}
.social-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:inherit;font-weight:600;font-size:.9rem;color:var(--navy-900);cursor:pointer;transition:.2s}
.social-btn:not([disabled]):hover{border-color:var(--navy-800);background:var(--mist)}
.social-btn[disabled]{opacity:.6;cursor:not-allowed}
.si{width:18px;height:18px;border-radius:50%;display:inline-block;flex-shrink:0}
.si-google{background:conic-gradient(from -45deg,#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0)}
.si-linkedin{background:#0a66c2}
.si-facebook{background:#1877f2}
.ss-actions{display:flex;align-items:center;gap:14px}

@media(max-width:600px){.rb-grid{grid-template-columns:1fr}.resume-doc{padding:26px}}


/* ---------- Phase 4d: profile / settings ---------- */
.profile-photo{width:84px;height:84px;border-radius:14px;object-fit:cover;border:1px solid var(--line);margin-bottom:14px}
.btn-danger{background:#d2452f;color:#fff}
.btn-danger:hover{background:#b53a26}
.danger-zone{border:1px solid #f3c0b8;background:#fdf3f1}
.danger-zone h3{color:#c23a26}


/* ---------- apply gate (login required to apply) ---------- */
.apply-gate{background:linear-gradient(150deg,var(--navy-800),var(--navy-900));border-radius:16px;padding:30px;color:#fff;text-align:center}
.apply-gate p{color:#c2cce0;max-width:46ch;margin:0 auto 20px;font-size:.98rem}
.apply-gate-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.apply-notice{background:#fff7e6;border:1px solid #f0d28a;color:#9a6a00;padding:14px 18px;border-radius:11px;margin-bottom:16px;font-size:.94rem}


/* ---------- Phase 4b: candidate search ---------- */
.cand-search{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:10px;background:var(--mist);border:1px solid var(--line);border-radius:14px;padding:10px}
.cand-search .js-field{background:#fff}
.credit-pill{display:inline-flex;align-items:center;gap:8px;background:var(--gold-soft);color:var(--gold-deep);font-weight:600;font-size:.86rem;padding:8px 15px;border-radius:50px}
.credit-pill svg{width:16px;height:16px}
.credit-pill b{color:var(--navy-900)}
.cand-search-panel{padding:16px}
.cand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cand-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .35s var(--ease),box-shadow .35s;display:flex;flex-direction:column;gap:14px}
.cand-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.cc-top{display:flex;align-items:center;gap:14px}
.cc-av{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(150deg,var(--navy-700),var(--navy-900));display:grid;place-items:center}
.cc-av img{width:100%;height:100%;object-fit:cover}
.cc-av span{font-family:"Newsreader",serif;font-size:1.5rem;color:var(--gold);font-weight:600}
.cc-head{min-width:0}
.cc-head h3{font-size:1.16rem;display:flex;align-items:center;gap:6px;line-height:1.2}
.cc-title{font-size:.88rem;color:var(--gold-deep);font-weight:600}
.cc-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--slate);font-size:.84rem}
.cc-meta span{display:inline-flex;align-items:center;gap:6px}
.cc-meta svg{width:14px;height:14px;color:var(--gold-deep)}
.cc-skills{display:flex;flex-wrap:wrap;gap:6px}
.cc-skills span{font-size:.74rem;font-weight:600;background:var(--mist);color:var(--navy-800);padding:5px 11px;border-radius:50px}
.cc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.cc-view{font-weight:600;font-size:.88rem;color:var(--navy-900)}
.cc-unlock{padding:9px 15px;font-size:.82rem}
.cc-unlock svg{width:14px;height:14px}
.cc-unlocked{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:#1f8a5b}
.cc-unlocked svg{width:15px;height:15px}
.cc-unlock-form{margin:0}
.vis-toggle{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vis-opt{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:12px;padding:14px;cursor:pointer}
.vis-opt input{margin-top:3px;accent-color:var(--gold-deep)}
.vis-opt span{display:flex;flex-direction:column;font-size:.84rem;color:var(--slate)}
.vis-opt b{color:var(--navy-900);font-size:.95rem}
@media(max-width:1080px){.cand-search{grid-template-columns:1fr 1fr}.cand-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cand-search{grid-template-columns:1fr}.cand-grid{grid-template-columns:1fr}.vis-toggle{grid-template-columns:1fr}}


/* ---------- Phase 4a: map view ---------- */
.jobs-viewmode{display:inline-flex;gap:4px;background:var(--mist);border-radius:10px;padding:4px;margin-right:8px}
.jobs-viewmode .vm{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;border-radius:8px;padding:8px 13px;font-family:inherit;font-weight:600;font-size:.84rem;color:var(--slate);cursor:pointer}
.jobs-viewmode .vm svg{width:15px;height:15px}
.jobs-viewmode .vm.active{background:#fff;color:var(--navy-900);box-shadow:var(--shadow-sm)}
.jobs-map{height:620px;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.map-err{padding:40px;text-align:center;color:var(--slate)}
.leaflet-popup-content-wrapper{border-radius:14px;box-shadow:var(--shadow-md)}
.leaflet-popup-content{margin:14px 16px}
.map-pop{display:flex;flex-direction:column;gap:4px;min-width:190px;font-family:"Plus Jakarta Sans",sans-serif}
.map-visa{align-self:flex-start;background:var(--navy-900);color:var(--gold);font-size:.66rem;font-weight:700;padding:3px 9px;border-radius:50px;margin-bottom:4px}
.map-pop-title{font-family:"Newsreader",serif;font-size:1.05rem;font-weight:600;color:var(--navy-900);line-height:1.2}
.map-pop-co{font-size:.84rem;color:var(--slate)}
.map-pop-meta{font-size:.78rem;color:var(--slate-light);margin-bottom:6px}
.map-pop-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy-900)!important;font-weight:600;font-size:.82rem;padding:8px 14px;border-radius:50px;text-decoration:none}
@media(max-width:760px){.jobs-map{height:460px}.jobs-viewmode .vm span{display:none}.jobs-viewmode .vm{padding:8px 10px}}


/* ---------- 15-section candidate profile form ---------- */
.candidate-form .cf-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 32px;margin-bottom:22px;box-shadow:0 1px 2px rgba(13,26,56,.04),0 10px 30px rgba(13,26,56,.05)}
.candidate-form .sec-head{display:flex;align-items:center;gap:14px;margin:0 0 6px}
.candidate-form .sec-num{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:linear-gradient(150deg,var(--navy-700,#11264c),var(--navy-900,#08122a));color:var(--gold);font-family:"Newsreader",serif;font-size:15px;font-weight:600;letter-spacing:.02em}
.candidate-form .sec-head h2{font-family:"Newsreader",serif;font-weight:600;font-size:1.5rem;margin:0;letter-spacing:-.01em}
.candidate-form .sec-sub{color:var(--slate);font-size:.92rem;margin:0 0 20px;padding-left:48px}
.candidate-form .grid{display:grid;grid-template-columns:1fr;gap:18px}
.candidate-form .grid .full,.candidate-form .grid .half{grid-column:1/-1}
.candidate-form .field{display:flex;flex-direction:column}
.candidate-form label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.01em;color:var(--navy-900);margin:0 0 7px}
.candidate-form label .opt{color:var(--slate-light);font-weight:500;letter-spacing:0}
.candidate-form input[type=text],.candidate-form input[type=email],.candidate-form input[type=password],
.candidate-form input[type=tel],.candidate-form input[type=date],.candidate-form input[type=number],
.candidate-form input[type=url],.candidate-form select,.candidate-form textarea{
  width:100%;font:inherit;font-size:.96rem;color:var(--ink);background:#f7f9fc;
  border:1.5px solid #e2e7f1;border-radius:11px;padding:13px 15px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.candidate-form input::placeholder,.candidate-form textarea::placeholder{color:#9aa6bd}
.candidate-form textarea{resize:vertical;min-height:104px;line-height:1.55}
.candidate-form input:hover,.candidate-form select:hover,.candidate-form textarea:hover{border-color:#cfd7e6}
.candidate-form input:focus,.candidate-form select:focus,.candidate-form textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3.5px rgba(200,162,76,.16)}
.candidate-form .phone-row{display:grid;grid-template-columns:210px 1fr;gap:12px}
.candidate-form .upload{border:1.5px dashed var(--line);border-radius:12px;padding:14px;display:flex;align-items:center;gap:13px;background:var(--mist);cursor:pointer;transition:.16s}
.candidate-form .upload:hover{border-color:var(--gold);background:#fff}
.candidate-form .upload .ic{width:42px;height:42px;flex:none;border-radius:10px;background:var(--navy-900);color:var(--gold);display:grid;place-items:center;font-size:18px;overflow:hidden}
.candidate-form .upload .txt b{display:block;font-size:.86rem;color:var(--navy-900)}
.candidate-form .upload .txt small{font-size:.78rem;color:var(--slate)}
.candidate-form .upload input{display:none}
.candidate-form .thumb{width:42px;height:42px;border-radius:9px;object-fit:cover}
.candidate-form .record{border:1.5px solid #d4dae8;border-left:4px solid var(--gold);border-radius:14px;padding:20px 20px 8px;margin-bottom:16px;background:#fff;position:relative;box-shadow:0 1px 2px rgba(13,26,56,.04),0 6px 16px rgba(13,26,56,.05);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.candidate-form .record:hover{border-color:#bcc6dd;box-shadow:0 2px 4px rgba(13,26,56,.06),0 12px 26px rgba(13,26,56,.08);transform:translateY(-1px)}
.candidate-form .record:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,162,76,.14),0 12px 26px rgba(13,26,56,.08)}
/* Section 15 (Languages): always a single full-width row & column */
.candidate-form [data-repeat="Language"] .grid{grid-template-columns:1fr}
.candidate-form [data-repeat="Language"] .field{grid-column:1/-1}
.candidate-form .rec-tag{position:absolute;top:-10px;left:14px;background:var(--navy-900);color:#fff;font-size:11px;font-weight:600;letter-spacing:.04em;padding:3px 10px;border-radius:999px}
.candidate-form .rec-remove{position:absolute;top:12px;right:12px;border:none;background:transparent;color:#d2452f;font-size:12px;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:6px}
.candidate-form .rec-remove:hover{background:rgba(210,69,47,.08)}
.candidate-form .add-btn{display:inline-flex;align-items:center;gap:8px;border:1px dashed var(--gold);background:#fff;color:var(--gold-deep);font:inherit;font-weight:600;font-size:.9rem;padding:10px 16px;border-radius:10px;cursor:pointer;transition:.16s}
.candidate-form .add-btn:hover{background:var(--gold);color:var(--navy-900)}
.candidate-form .add-btn .plus{font-size:17px;line-height:1}
.candidate-form .chips{display:flex;flex-wrap:wrap;gap:8px}
.candidate-form .chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 15px;font-size:.9rem;font-weight:600;color:var(--slate);cursor:pointer;transition:.14s;user-select:none}
.candidate-form .chip.on{background:var(--navy-900);border-color:var(--navy-900);color:var(--gold)}
.candidate-form .pw-rules{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px}
.candidate-form .pw-rules span{font-size:.72rem;color:var(--slate);display:flex;align-items:center;gap:5px}
.candidate-form .pw-rules span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--line)}
.candidate-form .pw-rules span.ok{color:#1f8a5b}
.candidate-form .pw-rules span.ok:before{background:#1f8a5b}
.candidate-form .hint{font-size:.74rem;color:var(--slate);margin-top:5px}
.cf-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 22px;position:sticky;bottom:14px;box-shadow:var(--shadow-md)}
.cf-actions .save{font-size:.86rem;color:var(--slate)}
@media(max-width:640px){.candidate-form .grid{grid-template-columns:1fr}.candidate-form .phone-row{grid-template-columns:1fr}}

/* ---------- Accordion wizard (auto expand/collapse like enterprise multi-step forms) ---------- */
.candidate-form .acc-card{transition:box-shadow .25s ease,border-color .25s ease}
.candidate-form .acc-toggle{cursor:pointer;user-select:none;display:flex;align-items:center;gap:12px}
.candidate-form .acc-card .sec-head{position:relative}
.candidate-form .sec-state{margin-left:auto;width:24px;height:24px;border-radius:50%;border:2px solid #d4dae8;flex:none;display:grid;place-items:center;transition:.25s;position:relative}
.candidate-form .sec-state::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px);opacity:0;transition:.2s}
.candidate-form .is-done .sec-state{background:#1f8a5b !important;border-color:#1f8a5b !important}
.candidate-form .is-done .sec-state::after{opacity:1}
.candidate-form .acc-toggle::before{content:"";position:absolute;right:0;top:50%;width:11px;height:11px;border-right:2px solid var(--slate,#5a6680);border-bottom:2px solid var(--slate,#5a6680);transform:translateY(-65%) rotate(45deg);transition:transform .3s ease;opacity:.55;margin-right:36px}
.candidate-form .is-open .acc-toggle::before{transform:translateY(-30%) rotate(-135deg)}
/* collapsed: hide everything except the header */
.candidate-form .acc-card.is-collapsed > *:not(.sec-head){display:none !important}
.candidate-form .acc-card.is-collapsed{background:#fbfcfe;border-color:#e4e8f1;box-shadow:none;padding-bottom:0}
.candidate-form .acc-card.is-collapsed .sec-head{margin-bottom:0;padding:4px 0}
.candidate-form .acc-card.is-collapsed:hover{border-color:#c8a24c;cursor:pointer}
.candidate-form .acc-card.is-open{border-color:#c8a24c;box-shadow:0 2px 6px rgba(13,26,56,.05),0 16px 40px rgba(13,26,56,.07)}
.candidate-form .acc-card.is-open > *:not(.sec-head){animation:accReveal .35s ease both}
@keyframes accReveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* continue bar */
.candidate-form .acc-next{display:flex;align-items:center;gap:18px;margin-top:18px;padding-top:16px;border-top:1px dashed #d4dae8}
.candidate-form .acc-continue{display:inline-flex;align-items:center;gap:8px}
.candidate-form .acc-continue svg{width:16px;height:16px}
.candidate-form .acc-skip{background:none;border:0;color:var(--slate,#5a6680);font-family:inherit;font-size:.86rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:6px}
.candidate-form .acc-skip:hover{color:var(--navy-900,#08122a)}
.candidate-form .field-error input,.candidate-form .field-error select,.candidate-form .field-error textarea,.candidate-form input.field-error,.candidate-form select.field-error{border-color:#d2452f !important;box-shadow:0 0 0 3px rgba(210,69,47,.14) !important}
@media(prefers-reduced-motion:reduce){.candidate-form .acc-card.is-open > *:not(.sec-head){animation:none}}


/* ---------- public candidate profile (single-esv_candidate) ---------- */
.cand-banner .cand-hero{display:flex;align-items:center;gap:22px;margin-top:8px}
.cand-avatar{width:96px;height:96px;border-radius:20px;overflow:hidden;flex:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);display:grid;place-items:center}
.cand-avatar img{width:100%;height:100%;object-fit:cover}
.cand-initial{font-family:"Newsreader",serif;font-size:2.6rem;color:var(--gold)}
.cand-id h1{display:flex;align-items:center;gap:10px;color:#fff}
.cand-id .verified-tick{width:22px;height:22px;color:#6db4ff}
.cand-occ{color:var(--gold);font-weight:600;margin:6px 0 10px;font-size:1.05rem}
.cand-meta{display:flex;flex-wrap:wrap;gap:16px;color:#cdd7e2;font-size:.92rem}
.cand-meta span{display:inline-flex;align-items:center;gap:7px}
.cand-meta svg{width:15px;height:15px;color:var(--gold)}
.cand-layout{display:grid;grid-template-columns:1fr 330px;gap:34px;align-items:start}
.cand-block{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px;margin-bottom:20px;box-shadow:var(--shadow-sm)}
.cand-h{font-family:"Newsreader",serif;font-weight:600;font-size:1.4rem;color:var(--navy-900);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.cand-summary{color:var(--ink);line-height:1.7;margin:0}
.cand-records{display:flex;flex-direction:column;gap:16px}
.cand-record{padding:4px 0}
.cr-title{font-size:1.08rem;font-weight:600;color:var(--navy-900);margin:0 0 8px}
.cr-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin:0}
.cr-fact{display:flex;flex-direction:column;gap:1px}
.cr-fact dt{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-light);font-weight:600;margin:0}
.cr-fact dd{margin:0;font-size:.94rem;color:var(--ink)}
.cand-side{position:sticky;top:100px}
.cand-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm)}
.cand-card h4{font-size:1.1rem;margin:0 0 16px}
.cand-facts{list-style:none;margin:0 0 4px;padding:0}
.cand-facts li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.cand-facts li:last-child{border-bottom:0}
.cand-facts span{color:var(--slate)}
.cand-facts b{color:var(--navy-900);text-align:right}
.cand-facts-empty{color:var(--slate-light);font-style:italic}
.cand-relo{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.cand-relo-h{display:block;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-light);font-weight:600;margin-bottom:10px}
.cand-contact{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.cand-contact-row{display:flex;align-items:center;gap:9px;font-size:.9rem;color:var(--navy-900)}
.cand-contact-row svg{width:16px;height:16px;color:var(--gold-deep);flex:none}
.cand-contact-locked{display:flex;align-items:flex-start;gap:9px;font-size:.84rem;color:var(--slate);margin:0;background:var(--mist);padding:12px 14px;border-radius:10px}
.cand-contact-locked svg{width:16px;height:16px;color:var(--slate-light);flex:none;margin-top:2px}
.cand-private{text-align:center;max-width:480px;margin:0 auto;padding:50px 20px}
.cand-private svg{width:46px;height:46px;color:var(--gold-deep);margin-bottom:16px}
.cand-private h3{font-size:1.5rem;margin-bottom:10px}
.cand-private p{color:var(--slate);margin-bottom:22px}
.cand-empty p{color:var(--slate);margin-bottom:18px}
@media(max-width:980px){.cand-layout{display:flex;flex-direction:column}.cand-side{position:static;order:-1;width:100%;margin-bottom:4px}.cr-facts{grid-template-columns:1fr}}
@media(max-width:560px){.cand-banner .cand-hero{flex-direction:column;align-items:flex-start;gap:16px}.cand-avatar{width:78px;height:78px}}


/* ---------- relocation ticks (Australia / New Zealand) ---------- */
.candidate-form .relo-ticks{display:flex;flex-direction:column;gap:12px}
.candidate-form .relo-tick{display:flex;align-items:center;gap:12px;border:1.5px solid #e2e7f1;border-radius:12px;padding:14px 16px;cursor:pointer;background:#f7f9fc;transition:border-color .16s,background .16s;font-weight:600;color:var(--navy-900,#08122a)}
.candidate-form .relo-tick:hover{border-color:#cfd7e6}
.candidate-form .relo-tick input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.candidate-form .relo-tick:has(input:checked){border-color:var(--gold,#c8a24c);background:#fffaf0;box-shadow:0 0 0 3px rgba(200,162,76,.12)}

/* ---------- occupation live-search combo ---------- */
.occ-combo{position:relative}
.occ-panel{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1.5px solid #e2e7f1;border-radius:14px;box-shadow:0 14px 44px rgba(13,26,56,.16);overflow:hidden}
.occ-row{display:grid;grid-template-columns:74px 1fr 110px;gap:10px;align-items:center;width:100%;text-align:left;padding:11px 16px;border:0;background:#fff;font:inherit;font-size:.92rem;color:var(--ink,#151f33);cursor:pointer;border-bottom:1px solid #f0f3f9}
.occ-row span:first-child{color:var(--slate-light,#7f8aa3);font-variant-numeric:tabular-nums}
.occ-row span:last-child{font-weight:600;color:var(--gold-deep,#b18a35);font-variant-numeric:tabular-nums;text-align:right}
.occ-row:hover{background:#f7f9fc}
.occ-headrow{background:#08122a !important;color:#fff;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:default;position:sticky;top:0}
.occ-headrow span{color:#c8a24c !important}
.occ-headrow span:first-child,.occ-headrow span:last-child{color:#c8a24c !important}
.occ-list{max-height:330px;overflow-y:auto;overscroll-behavior:contain}
.occ-empty{padding:16px;color:var(--slate,#5a6680);font-size:.9rem}
@media(max-width:560px){.occ-row{grid-template-columns:54px 1fr 86px;font-size:.86rem;padding:10px 12px}}


/* ---------- v4.6: occupation panel above buttons/cards + duration columns ---------- */
.candidate-form .cf-card.is-open{position:relative;z-index:30}
.candidate-form .acc-card.is-open > .grid{position:relative;z-index:5}
.candidate-form .acc-next{position:relative;z-index:1}
.candidate-form .occ-field{position:relative;z-index:6}
.occ-panel{z-index:80}
.candidate-form .dur-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.candidate-form .dur-cols{grid-template-columns:1fr}}


/* ---------- v4.7: instant relo-tick highlight + smoother accordion ---------- */
.candidate-form .relo-tick.on{border-color:var(--gold,#c8a24c);background:#fffaf0;box-shadow:0 0 0 3px rgba(200,162,76,.12)}
/* refined, staggered section reveal */
.candidate-form .acc-card.is-open > *:not(.sec-head){animation:accReveal .42s cubic-bezier(.22,.61,.36,1) both}
.candidate-form .acc-card.is-open > *:nth-child(2){animation-delay:.02s}
.candidate-form .acc-card.is-open > *:nth-child(3){animation-delay:.05s}
.candidate-form .acc-card.is-open > *:nth-child(4){animation-delay:.08s}
.candidate-form .acc-card.is-open > *:nth-child(n+5){animation-delay:.1s}
@keyframes accReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.candidate-form .acc-card{transition:box-shadow .3s cubic-bezier(.22,.61,.36,1),border-color .3s ease,background .3s ease,padding .3s ease,margin .3s ease}
.candidate-form .acc-card.is-collapsed{opacity:.92}
.candidate-form .acc-card.is-collapsed:hover{opacity:1}
@media(prefers-reduced-motion:reduce){.candidate-form .acc-card.is-open > *:not(.sec-head){animation:none}}


/* ====================================================================
   v4.8 — PREMIUM candidate public profile (overrides earlier rules)
   ==================================================================== */
.cand-banner{position:relative;overflow:hidden}
.cand-banner .cand-hero{display:flex;align-items:center;gap:26px;margin-top:10px}
.cand-avatar{width:108px;height:108px;border-radius:22px;box-shadow:0 10px 30px rgba(0,0,0,.28);border:2px solid rgba(255,255,255,.2)}
.cand-id h1{font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-.01em}
.cand-occ{font-size:1.12rem !important;letter-spacing:.01em}
.cand-meta{margin-top:12px;gap:10px 22px}
.cand-meta span{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);padding:7px 13px;border-radius:50px;font-size:.85rem}
.cand-meta svg{width:14px;height:14px}

/* main column blocks */
.cand-layout{gap:38px}
.cand-block{border-radius:20px;padding:30px 32px;border-color:#e9edf5;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 40px -28px rgba(13,26,56,.18);transition:box-shadow .3s var(--ease)}
.cand-block:hover{box-shadow:0 1px 2px rgba(13,26,56,.05),0 26px 54px -30px rgba(13,26,56,.26)}

/* v9.07 — "Professional Document" redesign for the LEFT main column only.
   Removes per-section card chrome in favour of whitespace + hairline rules.
   The sidebar / data map (.cand-side, .cand-facts) is intentionally untouched. */
.cand-main .cand-block{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid #e8ebf2;transition:none}
.cand-main .cand-block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.cand-main .cand-block:hover{box-shadow:none;transform:none}
.cand-main .cand-h{display:block;font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#111;border-bottom:0;padding:0;margin:0 0 18px}
.cand-main .cand-h::before{content:none}
.cand-main .cand-summary{color:#333;font-size:.98rem;line-height:1.8}
.cand-main .cand-records{gap:24px}
.cand-main .cand-record{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.cand-main .cand-record:hover{box-shadow:none;transform:none;border:0}
.cand-main .cr-title{font-size:1rem;font-weight:700;color:#111;margin:0 0 4px}
.cand-main .cr-facts{grid-template-columns:1fr 1fr;gap:10px 26px}
.cand-main .cr-fact dt{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#8a92a3;font-weight:600;margin-bottom:2px}
.cand-main .cr-fact dd{font-size:.95rem;color:#222;font-weight:500;line-height:1.55}
@media(max-width:560px){.cand-main .cand-block{padding:0 0 26px;margin-bottom:26px}}

.cand-h{display:flex;align-items:center;gap:12px;font-size:1.45rem;border-bottom:2px solid #f0f2f8;padding-bottom:14px;margin-bottom:20px}
.cand-h::before{content:none}

/* each record = soft card with hairline (no accent bar) */
.cand-records{gap:14px}
.cand-record{border:1px solid #e9edf5;border-radius:14px;padding:20px 22px;background:#fff;transition:.25s}
.cand-record:hover{border-color:#dbe2ee;box-shadow:0 10px 26px -18px rgba(13,26,56,.24);transform:translateY(-1px)}
.cr-facts{grid-template-columns:1fr 1fr;gap:14px 26px}
.cr-fact dt{font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:#9aa3b8;font-weight:700;margin-bottom:3px}
.cr-fact dd{font-size:.98rem;color:var(--navy-900,#08122a);font-weight:500;line-height:1.45}

/* sidebar card — premium, sticky */
.cand-side .cand-card{border-radius:20px;padding:0;overflow:hidden;border-color:#e9edf5;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 44px -26px rgba(13,26,56,.24)}
.cand-side .cand-card h4{margin:0;padding:18px 24px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--navy-800,#0c1a38),var(--navy-900,#08122a))}
.cand-facts{padding:8px 24px 4px}
.cand-facts li{padding:13px 0;font-size:.92rem}
.cand-facts li span{color:#7c869d}
.cand-facts b{font-weight:600}
.cand-relo{margin:0;padding:18px 24px;border-top:1px solid #eef1f8}
.cand-relo-h{color:#7c869d}
.cand-relo .tag{background:#fff7e8;border:1px solid #f0dcae;color:#8a6a1f;font-weight:600;font-size:.8rem;padding:6px 13px;border-radius:50px}
.cand-contact{margin:0;padding:18px 24px;border-top:1px solid #eef1f8}
.cand-contact-row{font-weight:600}
.cand-contact-locked{background:#f6f8fc;border:1px dashed #d4dceb}
.cand-card .btn-ghost{margin:0 24px 22px;width:calc(100% - 48px) !important}

/* verified tick pop */
.cand-id .verified-tick{filter:drop-shadow(0 2px 6px rgba(109,180,255,.5))}

@media(max-width:560px){.cand-avatar{width:84px;height:84px;border-radius:18px}.cand-block{padding:22px}.cr-facts{grid-template-columns:1fr}}


/* ====================================================================
   v4.9 — PREMIUM dashboards (employer + candidate). CSS-only overrides.
   ==================================================================== */
.dash{background:linear-gradient(180deg,#eef1f8 0%,#f6f7fb 320px);padding-top:32px}

/* sidebar */
.dash-side{border-radius:22px;border-color:#e7ebf4;padding:20px;box-shadow:0 1px 2px rgba(13,26,56,.04),0 24px 50px -34px rgba(13,26,56,.3)}
.dash-user{padding-bottom:16px}
.dash-av{width:46px;height:46px;border-radius:13px;background:linear-gradient(140deg,var(--navy-700,#11264c),var(--navy-900,#08122a));color:var(--gold,#c8a24c);display:grid;place-items:center;font-family:"Newsreader",serif;font-weight:600;font-size:1.2rem;box-shadow:0 6px 16px -6px rgba(8,18,42,.5)}
.dash-nav a{position:relative;font-weight:600;border-radius:12px;padding:11px 14px}
.dash-nav a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:60%;border-radius:3px;background:var(--gold,#c8a24c);transition:transform .25s var(--ease)}
.dash-nav a.active{background:linear-gradient(135deg,var(--navy-800,#0c1a38),var(--navy-900,#08122a));box-shadow:0 10px 24px -12px rgba(8,18,42,.6)}
.dash-nav a.active::before{transform:translateY(-50%) scaleY(1)}
.dash-nav a:not(.active):hover{background:#f0f3fa}

/* heading */
.dash-head h1{font-family:"Newsreader",serif;font-weight:600;letter-spacing:-.01em}

/* stat cards — gradient ring icon, hover lift */
.stat-cards{gap:18px}
.stat-card{position:relative;overflow:hidden;border-radius:18px;border-color:#e7ebf4;padding:24px 22px;text-align:left;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 40px -30px rgba(13,26,56,.28);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.stat-card::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(200,162,76,.14),transparent 70%)}
.stat-card:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(13,26,56,.05),0 28px 56px -30px rgba(13,26,56,.36)}
.sc-ico{font-size:1.3rem;width:46px;height:46px;border-radius:13px;background:linear-gradient(140deg,#fff6e2,#f3e6c4);display:grid;place-items:center;margin-bottom:14px;box-shadow:inset 0 0 0 1px rgba(200,162,76,.25)}
.stat-card b{font-size:2.1rem;letter-spacing:-.01em}
.stat-card span{font-weight:500}

/* panels */
.dash-panel{border-radius:20px;border-color:#e7ebf4;padding:28px;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 44px -32px rgba(13,26,56,.26)}
.dash-panel h3{font-family:"Newsreader",serif;font-weight:600;font-size:1.3rem;display:flex;align-items:center;gap:11px;padding-bottom:14px;margin-bottom:8px;border-bottom:2px solid #f0f2f8}
.dash-panel h3::before{content:"";width:6px;height:20px;border-radius:4px;background:linear-gradient(180deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35))}

/* tables — zebra + hover */
.dash-table th{font-size:.7rem;letter-spacing:.08em;color:#9aa3b8;padding-bottom:14px}
.dash-table td{padding:15px 12px;font-size:.93rem}
.dash-table tbody tr{transition:background .18s}
.dash-table tbody tr:hover{background:#f8faff}
.dash-table a:hover{color:var(--gold-deep,#b18a35)}

/* status pills — dot + softer */
.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;padding:5px 11px 5px 9px}
.status-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}

/* application rows */
.app-row{border-radius:16px;border-color:#e7ebf4;padding:18px 22px;transition:.25s;box-shadow:0 1px 2px rgba(13,26,56,.03)}
.app-row:hover{border-color:#dbe2f0;box-shadow:0 14px 32px -22px rgba(13,26,56,.3);transform:translateY(-1px)}
.app-actions select{border-radius:10px;border:1px solid var(--line,#e4e8f1);font-weight:600;cursor:pointer}

/* empty states */
.dash-empty{padding:36px 20px;background:#f8faff;border:1px dashed #d4dceb;border-radius:14px;font-weight:500}

@media(max-width:980px){.stat-cards{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.stat-cards{grid-template-columns:1fr}.dash-nav a span{display:inline}}


/* ====================================================================
   v5.0 — PREMIUM jobs board + single job. CSS-only overrides.
   ==================================================================== */
/* job cards */
.jobs-grid{gap:22px}
.job-card{border-radius:20px;border-color:#e7ebf4;padding:26px;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 42px -32px rgba(13,26,56,.26);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.job-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35));opacity:0;transition:opacity .3s}
.job-card{position:relative}
.job-card:hover{transform:translateY(-6px);box-shadow:0 1px 2px rgba(13,26,56,.05),0 30px 60px -32px rgba(13,26,56,.4);border-color:#dbe2f0}
.job-card:hover::before{opacity:1}
.job-card.is-featured{border-color:#ecd9a6;background:linear-gradient(180deg,#fffaf0 0%,#fff 32%)}
.job-card.is-featured::before{opacity:1}
.jc-logo{width:58px;height:58px;border-radius:15px;box-shadow:0 6px 16px -8px rgba(13,26,56,.3);border-color:#eef1f8}
.jc-logo-fallback{background:linear-gradient(140deg,#fff6e2,#f3e6c4);width:100%;height:100%;display:grid;place-items:center;border-radius:14px}
.jc-title{font-size:1.26rem}
.jc-save{border-radius:11px;transition:.25s}
.jc-save:hover{transform:scale(1.08)}
.jc-tags .tag{padding:6px 12px;font-size:.74rem}
.jc-meta svg{color:var(--gold-deep,#b18a35)}
.jc-foot{padding-top:18px;border-top-color:#f0f2f8}
.badge{padding:6px 11px;box-shadow:0 2px 8px -3px rgba(13,26,56,.2)}
.jc-apply{position:relative}
.jc-apply::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--gold-deep,#b18a35);transition:width .3s var(--ease)}
.jc-apply:hover::after{width:calc(100% - 22px)}

/* filter rail */
.filter-card{border-radius:20px;border-color:#e7ebf4;padding:26px;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 44px -34px rgba(13,26,56,.24)}
.fc-head h4{font-family:"Newsreader",serif;font-weight:600}
.fc-label{font-size:.72rem;letter-spacing:.07em;color:#9aa3b8}
.filter-card select,.filter-card input[type=text]{border-radius:11px;border-color:#dde3ef;transition:.2s}
.filter-card select:focus,.filter-card input:focus{border-color:var(--gold,#c8a24c);box-shadow:0 0 0 3px rgba(200,162,76,.12)}

/* search bar */
.jobs-search{border-radius:18px;box-shadow:0 1px 2px rgba(13,26,56,.05),0 22px 50px -34px rgba(13,26,56,.34)}

/* toolbar count + sort */
.jobs-count b{color:var(--gold-deep,#b18a35)}

/* single job — banner */
.jsb-logo{width:80px;height:80px;border-radius:18px;box-shadow:0 12px 30px -10px rgba(0,0,0,.4)}
.jsb-meta span{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);padding:6px 12px;border-radius:50px}

/* single job — body */
.js-h{display:flex;align-items:center;gap:11px}
.js-h::before{content:"";width:6px;height:22px;border-radius:4px;background:linear-gradient(180deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35))}
.apply-box{border-radius:22px;border-color:#e7ebf4;box-shadow:0 1px 2px rgba(13,26,56,.04),0 22px 50px -32px rgba(13,26,56,.28)}
.apply-form input,.apply-form textarea{border-radius:11px;transition:.2s}
.apply-form input:focus,.apply-form textarea:focus{box-shadow:0 0 0 3px rgba(200,162,76,.12)}
.js-card{border-radius:20px;border-color:#e7ebf4;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 44px -32px rgba(13,26,56,.24)}
.js-card h4{font-family:"Newsreader",serif;font-weight:600;display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:2px solid #f0f2f8}
.js-card h4::before{content:"";width:5px;height:18px;border-radius:3px;background:linear-gradient(180deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35))}
.js-facts b{font-weight:600}


/* ====================================================================
   v5.1 — PREMIUM Find Candidates + Pricing + Auth. CSS-only overrides.
   NOTE: .cand-card is shared — scope search-grid rules to .cand-grid so
   the public-profile sidebar (.cand-side .cand-card) is untouched.
   ==================================================================== */
/* ---- employer candidate-search grid ---- */
.cand-search{border-radius:16px;box-shadow:0 1px 2px rgba(13,26,56,.05),0 18px 44px -34px rgba(13,26,56,.26)}
.credit-pill{box-shadow:inset 0 0 0 1px rgba(200,162,76,.3)}
.cand-grid{gap:22px}
.cand-grid .cand-card{position:relative;border-radius:20px;border-color:#e7ebf4;padding:26px;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 42px -32px rgba(13,26,56,.26);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.cand-grid .cand-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35));opacity:0;transition:opacity .3s}
.cand-grid .cand-card:hover{transform:translateY(-6px);box-shadow:0 1px 2px rgba(13,26,56,.05),0 30px 60px -32px rgba(13,26,56,.4);border-color:#dbe2f0}
.cand-grid .cand-card:hover::before{opacity:1}
.cand-grid .cc-top .cc-av,.cand-grid .cc-av{box-shadow:0 6px 16px -8px rgba(13,26,56,.34)}

/* ---- pricing ---- */
.price-card{border-radius:22px;border-color:#e7ebf4;box-shadow:0 1px 2px rgba(13,26,56,.04),0 20px 46px -34px rgba(13,26,56,.26);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.price-card:hover{transform:translateY(-8px);box-shadow:0 1px 2px rgba(13,26,56,.05),0 34px 66px -32px rgba(13,26,56,.42)}
.price-card.is-popular{border-color:#ecd9a6;box-shadow:0 1px 2px rgba(13,26,56,.05),0 30px 64px -34px rgba(200,162,76,.6);background:linear-gradient(180deg,#fffaf0 0%,#fff 26%)}
.pc-badge{box-shadow:0 8px 20px -6px rgba(200,162,76,.6)}
.pc-price b{font-size:2.8rem;letter-spacing:-.02em}
.pc-feats svg{background:#fff6e2;border-radius:50%;padding:3px;box-sizing:content-box;width:14px;height:14px}

/* ---- auth (sign in / register) ---- */
.auth-card{border-radius:22px;border-color:#e7ebf4;padding:38px;box-shadow:0 1px 2px rgba(13,26,56,.04),0 22px 52px -34px rgba(13,26,56,.3)}
.auth-card h3{font-family:"Newsreader",serif;font-weight:600;display:flex;align-items:center;gap:11px;padding-bottom:16px;border-bottom:2px solid #f0f2f8}
.auth-card h3::before{content:"";width:6px;height:22px;border-radius:4px;background:linear-gradient(180deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35))}
.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=password]{border-radius:11px;transition:.2s}
.auth-card input:focus{border-color:var(--gold,#c8a24c);background:#fff;box-shadow:0 0 0 3px rgba(200,162,76,.12)}
.auth-card .button,.auth-card input[type=submit]{box-shadow:0 12px 26px -10px rgba(200,162,76,.5);transition:.25s}
.auth-card .button:hover,.auth-card input[type=submit]:hover{filter:brightness(.96);transform:translateY(-1px)}
.role-toggle label{border-radius:12px;transition:.2s}
.role-toggle label:hover{border-color:var(--gold,#c8a24c);background:#fffaf0}


/* ---------- v5.4: upload feedback + currently-employed control ---------- */
.upload-msg{margin-top:8px;font-size:.84rem;font-weight:500;line-height:1.4}
.upload-msg.ok{color:#1f8a5b}
.upload-msg.err{color:#d2452f}
.upload.has-file{border-color:#1f8a5b;background:#f3fbf6}
.endcur{display:flex;flex-direction:column;gap:8px}
.endcur input[type=date]{transition:.2s}
.endcur input[type=date]:disabled{opacity:.45;background:#f0f2f6;cursor:not-allowed}
.endcur .cur-tick{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:.86rem;color:var(--slate,#5a6680);font-weight:500;margin:0}
.endcur .cur-tick input{width:17px;height:17px;accent-color:var(--gold-deep,#b18a35);flex:none}
.endcur.is-current .cur-tick{color:var(--gold-deep,#b18a35);font-weight:600}
/* profile display: highlight the currently-employed value */
.cr-fact dd.cr-current{color:var(--gold-deep,#b18a35);font-weight:600}


/* v5.10: relocation + "currently employed" ticks rebuilt as button switches.
   A hidden checkbox stores state; the <button> is the only click target, so a
   single explicit JS toggle fires per click — no native label proxy, no double
   fire, works identically everywhere including wp-admin. */
.candidate-form .relo-tick,.candidate-form .esv-switch{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1.5px solid #e2e7f1;border-radius:12px;padding:14px 16px;cursor:pointer;background:#f7f9fc;font:inherit;color:inherit;transition:border-color .16s,background .16s,box-shadow .16s;-webkit-tap-highlight-color:transparent}
.candidate-form .relo-tick input,.candidate-form .esv-switch input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.candidate-form .relo-tick:hover,.candidate-form .esv-switch:hover{border-color:#cfd7e6}
.candidate-form .relo-tick:focus-visible,.candidate-form .esv-switch:focus-visible{outline:none;border-color:var(--gold,#c8a24c);box-shadow:0 0 0 3px rgba(200,162,76,.25)}
.candidate-form .sw-box{flex:none;width:22px;height:22px;border-radius:6px;border:2px solid #c2cad8;background:#fff;position:relative;transition:border-color .16s,background .16s}
.candidate-form .sw-box::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .16s}
.candidate-form .relo-tick.on .sw-box,.candidate-form .esv-switch.on .sw-box{background:var(--gold-deep,#b18a35);border-color:var(--gold-deep,#b18a35)}
.candidate-form .relo-tick.on .sw-box::after,.candidate-form .esv-switch.on .sw-box::after{transform:rotate(45deg) scale(1)}
.candidate-form .relo-tick.on,.candidate-form .esv-switch.on{border-color:var(--gold,#c8a24c);background:#fffaf0;box-shadow:0 0 0 3px rgba(200,162,76,.12)}
.candidate-form .sw-label{font-weight:500}
.candidate-form .esv-switch .sw-label{font-size:.86rem;color:var(--slate,#5a6680)}
.candidate-form .esv-switch.on .sw-label{color:var(--gold-deep,#b18a35);font-weight:600}


/* ---------- v5.13: portfolio media on the public profile ---------- */
.cand-record .cr-media{grid-column:1/-1}
.cr-portfolio{display:block;max-width:100%;width:auto;max-height:340px;border-radius:14px;border:1px solid var(--line,#e4e8f1);box-shadow:0 10px 30px -18px rgba(13,26,56,.4);margin-top:6px}
video.cr-portfolio{width:100%}


/* ---------- v5.14: professional Portfolio gallery + lightbox ---------- */
.cand-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal-item{margin:0;display:flex;flex-direction:column;gap:8px}
.gal-media{position:relative;display:block;width:100%;aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:1px solid var(--line,#e4e8f1);background:#0c1a38;cursor:pointer;padding:0}
.gal-media img,.gal-media video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s var(--ease,cubic-bezier(.22,.61,.36,1))}
.gal-zoom:hover img{transform:scale(1.06)}
.gal-ico{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:9px;background:rgba(8,18,42,.62);backdrop-filter:blur(4px);display:grid;place-items:center;color:#fff;opacity:0;transition:opacity .25s}
.gal-media:hover .gal-ico{opacity:1}
.gal-ico svg{width:16px;height:16px}
.gal-link{display:grid;place-items:center;aspect-ratio:4/3}
.gal-link .gal-ico{position:static;opacity:1;width:46px;height:46px;border-radius:50%;background:var(--gold-deep,#b18a35)}
.gal-item figcaption{font-size:.86rem;color:var(--slate,#5a6680);line-height:1.45}
.gal-extlink{font-size:.8rem;font-weight:600;color:var(--gold-deep,#b18a35)}
/* lightbox */
.gal-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(6,12,28,.92);display:flex;align-items:center;justify-content:center;padding:40px}
.gal-lightbox[hidden]{display:none}
.gal-lightbox figure{margin:0;max-width:92vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:14px}
.gal-lightbox img{max-width:92vw;max-height:80vh;border-radius:14px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.gal-lightbox figcaption{color:#dbe3f2;font-size:.95rem;text-align:center;max-width:60ch}
.gal-close{position:absolute;top:22px;right:26px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .2s}
.gal-close:hover{background:rgba(255,255,255,.24)}
@media(max-width:760px){.cand-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.cand-gallery{grid-template-columns:1fr}}


/* ---------- v5.15: lightbox slider (arrows + counter + swipe) ---------- */
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s;z-index:2}
.gal-nav:hover{background:rgba(255,255,255,.26)}
.gal-nav svg{width:24px;height:24px}
.gal-prev{left:24px}
.gal-next{right:24px}
.gal-lightbox.is-single .gal-nav,.gal-lightbox.is-single .gal-counter{display:none}
.gal-counter{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:#cdd7e2;font-size:.85rem;font-weight:600;letter-spacing:.04em;background:rgba(255,255,255,.1);padding:6px 14px;border-radius:50px}
@media(max-width:560px){.gal-nav{width:44px;height:44px}.gal-prev{left:10px}.gal-next{right:10px}}


/* ---------- v5.17: two-form member login ---------- */
.login-switch{display:flex;gap:8px;max-width:560px;margin:0 auto 22px;background:#eef1f8;border:1px solid #e4e8f1;border-radius:14px;padding:6px}
.ls-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;background:transparent;border-radius:10px;padding:13px 16px;font-family:inherit;font-weight:700;font-size:.95rem;color:#5a6680;cursor:pointer;transition:.2s}
.ls-tab svg{width:18px;height:18px}
.ls-tab.active{background:linear-gradient(135deg,#0c1a38,#08122a);color:#fff;box-shadow:0 10px 24px -12px rgba(8,18,42,.6)}
.ls-tab.active svg{color:#c8a24c}
.login-cards{max-width:560px;margin:0 auto}
.login-pane[hidden]{display:none}
.login-pane{animation:lpFade .35s var(--ease,cubic-bezier(.22,.61,.36,1)) both}
@keyframes lpFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.login-help{margin-top:16px;padding-top:16px;border-top:1px solid #f0f2f8;font-size:.84rem;color:#8a93a8;text-align:center}
.auth-lead{color:#5a6680;font-size:.95rem;margin:-6px 0 8px}


/* ====================================================================
   v5.26 — job-board polish + responsive hardening (CSS only)
   ==================================================================== */
.job-card,.cand-card,.price-card{ will-change:transform; }
.jc-title,.cand-name,.cr-title{ overflow-wrap:break-word; }
.dash-layout,.jobs-layout,.js-layout,.cand-layout{ min-width:0; }
.dash-main,.jobs-main,.js-content,.cand-main{ min-width:0; }
.candidate-form input,.candidate-form select,.candidate-form textarea,
.apply-form input,.apply-form textarea,.cform input,.cform select,.cform textarea,
.auth-card input{ max-width:100%;box-sizing:border-box; }
.login-switch{ flex-wrap:wrap; }
@media(max-width:560px){
	.login-switch{ max-width:100%; }
	.ls-tab{ font-size:.88rem;padding:11px 12px; }
	.dash-nav{ flex-wrap:wrap; }
}
@media(max-width:420px){
	.jobs-toolbar{ gap:12px; }
	.app-row{ flex-direction:column;align-items:flex-start;gap:10px; }
}


/* v5.30: Resume / CV layout option cards */
.rb-intro{margin:0;color:var(--slate,#5a6680);line-height:1.6}
.cv-options{display:grid;gap:14px}
.cv-option{position:relative;display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1.5px solid var(--line,#e4e8f1);border-radius:14px;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.cv-option:hover{border-color:#cdd4e3;background:#fbfcff}
.cv-option input{position:absolute;opacity:0;pointer-events:none}
.cv-option.selected{border-color:var(--gold,#c8a24c);background:#fffaf0;box-shadow:0 0 0 3px rgba(200,162,76,.12)}
.cv-option-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cv-option-name{font-family:"Newsreader",Georgia,serif;font-weight:600;font-size:1.15rem;color:var(--navy-900,#08122a)}
.cv-option-desc{font-size:.92rem;color:var(--slate,#5a6680);line-height:1.55}
.cv-option-tick{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line,#e4e8f1);display:grid;place-items:center;color:#fff;transition:.2s}
.cv-option-tick svg{width:15px;height:15px;opacity:0;transition:opacity .2s}
.cv-option.selected .cv-option-tick{background:var(--gold,#c8a24c);border-color:var(--gold,#c8a24c)}
.cv-option.selected .cv-option-tick svg{opacity:1}


/* ---------- v5.33: passport photo delete control ---------- */
.photo-del{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:#b3261e;cursor:pointer;font-weight:600}
.photo-del input{width:16px;height:16px;accent-color:#b3261e}


/* ---------- v5.36: centered login page (no banner) ---------- */
.login-page{min-height:68vh;display:flex;align-items:center;padding-top:60px;padding-bottom:80px}
.login-page > .wrap{width:100%}
.login-page .login-switch,.login-page .login-cards{margin-left:auto;margin-right:auto}


/* ---------- v5.38: clickable profile-photo lightbox ---------- */
.cand-avatar-zoom{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;position:relative;border-radius:inherit;overflow:hidden}
.cand-avatar-zoom img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s var(--ease,cubic-bezier(.22,.61,.36,1))}
.cand-avatar-zoom:hover img{transform:scale(1.06)}
.cand-avatar-ico{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(8,18,42,.42);color:#fff;opacity:0;transition:opacity .25s}
.cand-avatar-zoom:hover .cand-avatar-ico{opacity:1}
.cand-avatar-ico svg{width:26px;height:26px}
.avatar-lightbox figure{margin:0;max-width:92vw;max-height:90vh}
.avatar-lightbox img{max-width:92vw;max-height:86vh;border-radius:14px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}


/* ====================================================================
   v5.69 — Case Study + Candidate Story detail pages
   ==================================================================== */
.crumb.light a{color:rgba(255,255,255,.85)}.crumb.light .sep{color:rgba(255,255,255,.4)}.crumb.light{color:rgba(255,255,255,.7)}

/* shared hero */
.cs-hero,.st-hero{position:relative;background:#08122a;color:#fff;padding:64px 0 56px;overflow:hidden}
.cs-hero-bg,.st-hero-bg{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.34}
.cs-hero-overlay,.st-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,42,.7),rgba(8,18,42,.92))}
.cs-hero .wrap,.st-hero .wrap{position:relative}
.cs-kicker,.st-kicker{display:inline-block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold,#c8a24c);margin:14px 0 12px}
.cs-hero h1,.st-hero h1{color:#fff;font-size:clamp(1.9rem,4vw,3rem);max-width:20ch;line-height:1.1}
.cs-hero-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;color:#cdd7e2;font-size:.96rem}
.cs-hero-meta span{display:inline-flex;align-items:center;gap:8px}.cs-hero-meta svg{width:16px;height:16px;color:var(--gold,#c8a24c)}
.st-route{display:inline-flex;align-items:center;gap:9px;margin-top:16px;font-weight:600;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:8px 16px;border-radius:50px}
.st-route svg{width:16px;height:16px;color:var(--gold,#c8a24c)}
.st-occ{display:block;margin-top:12px;color:var(--gold,#c8a24c);font-weight:600}

/* case-study stats band */
.cs-stats-band{background:#0c1a38;border-top:1px solid rgba(255,255,255,.08)}
.cs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;background:rgba(255,255,255,.08)}
.cs-stat{background:#0c1a38;padding:26px 20px;text-align:center}
.cs-stat b{display:block;font-family:"Newsreader",serif;font-size:1.9rem;color:var(--gold,#c8a24c);line-height:1}
.cs-stat span{display:block;margin-top:7px;color:#9fb0cc;font-size:.82rem}

/* body layout */
.cs-body{display:grid;grid-template-columns:1fr 330px;gap:40px;align-items:start}
.cs-h{font-family:"Newsreader",serif;font-weight:600;font-size:1.5rem;color:#08122a;margin:0 0 14px}
.cs-block{margin-bottom:32px}
.cs-block p{color:#46506a;line-height:1.75;font-size:1.04rem}
.cs-summary p{font-size:1.12rem;color:#2a3349}
.cs-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:50px}
.cs-tag.problem{background:#fdecea;color:#c23a26}.cs-tag.solution{background:#e9f6ee;color:#1f8a5b}
.cs-quote{margin:34px 0;padding:28px 30px;background:var(--mist,#f4f6fb);border-left:4px solid var(--gold,#c8a24c);border-radius:0 16px 16px 0}
.cs-quote blockquote{margin:0;font-family:"Newsreader",serif;font-size:1.35rem;line-height:1.5;color:#08122a;font-style:italic}
.cs-quote figcaption{margin-top:14px;font-weight:600;color:var(--gold-deep,#b18a35);font-size:.9rem}
.cs-gallery,.st-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.cs-gimg,.st-gimg{aspect-ratio:4/3;border:0;border-radius:14px;background:#0c1a38 center/cover no-repeat;cursor:zoom-in;padding:0;transition:transform .3s,box-shadow .3s}
.cs-gimg:hover,.st-gimg:hover{transform:scale(1.02);box-shadow:0 16px 36px -18px rgba(13,26,56,.5)}

/* sidebar */
.cs-side{position:sticky;top:100px}
.cs-card{background:#fff;border:1px solid #e7ebf4;border-radius:18px;padding:24px;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 44px -32px rgba(13,26,56,.24)}
.cs-card h4{font-family:"Newsreader",serif;font-weight:600;font-size:1.15rem;margin:0 0 14px;padding-bottom:12px;border-bottom:2px solid #f0f2f8}
.cs-facts{list-style:none;margin:0 0 4px;padding:0}
.cs-facts li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #eef1f8;font-size:.9rem}
.cs-facts li:last-child{border-bottom:0}.cs-facts span{color:#5a6680}.cs-facts b{color:#08122a;text-align:right}
.cs-services{margin-top:16px;padding-top:16px;border-top:1px solid #eef1f8}
.cs-services-h{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#9aa3b8;font-weight:700;margin-bottom:10px}
.cs-services ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.cs-services li{display:flex;align-items:flex-start;gap:9px;font-size:.92rem;color:#2a3349}
.cs-services svg{width:16px;height:16px;color:var(--gold-deep,#b18a35);flex:none;margin-top:2px}

/* candidate story body */
.st-body{max-width:780px;margin:0 auto}
.st-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;margin-bottom:34px}
.st-fact{background:var(--mist,#f4f6fb);border:1px solid #e7ebf4;border-radius:14px;padding:16px 18px}
.st-fact span{display:block;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:#9aa3b8;font-weight:700;margin-bottom:5px}
.st-fact b{color:#08122a;font-size:1.02rem}
.st-narrative{font-size:1.08rem;line-height:1.85;color:#34405a}
.st-narrative h2,.st-narrative h3{font-family:"Newsreader",serif;color:#08122a;margin:30px 0 12px}
.st-message{margin:38px 0;padding:30px 32px;background:linear-gradient(140deg,#08122a,#11264c);border-radius:20px;color:#fff;position:relative;overflow:hidden}
.st-message::before{content:"\201C";position:absolute;right:24px;top:6px;font-family:"Newsreader",serif;font-size:7rem;color:rgba(200,162,76,.18);line-height:1}
.st-message-h{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#c8a24c);font-weight:700;margin-bottom:14px;position:relative}
.st-message blockquote{margin:0;font-family:"Newsreader",serif;font-size:1.3rem;line-height:1.6;font-style:italic;position:relative}
.st-cta{margin-top:40px;text-align:center;background:var(--mist,#f4f6fb);border:1px solid #e7ebf4;border-radius:20px;padding:38px 30px}
.st-cta h3{font-family:"Newsreader",serif;font-weight:600;font-size:1.5rem;color:#08122a;margin:0 0 8px}
.st-cta p{color:#5a6680;margin:0 0 20px;max-width:46ch;margin-left:auto;margin-right:auto}

/* more grid */
.cs-more,.st-more{margin-top:54px;padding-top:40px;border-top:1px solid #eef1f8}
.cs-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cs-more-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7ebf4;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s}
.cs-more-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -28px rgba(13,26,56,.4)}
.cs-more-img{aspect-ratio:16/10;background:#0c1a38 center/cover no-repeat}
.cs-more-t{padding:16px 18px;font-family:"Newsreader",serif;font-weight:600;color:#08122a;font-size:1.05rem;line-height:1.3}
.cs-more-t em{display:block;font-style:normal;font-family:"Plus Jakarta Sans",sans-serif;font-size:.8rem;color:var(--gold-deep,#b18a35);font-weight:600;margin-top:4px}

/* detail-page lightbox */
.cs-lightbox[hidden]{display:none !important}
.cs-lightbox{position:fixed;inset:0;z-index:10010;background:rgba(6,12,28,.93);display:flex;align-items:center;justify-content:center;padding:40px}
.cs-lightbox img{max-width:94vw;max-height:90vh;border-radius:12px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.cs-lb-close{position:absolute;top:22px;right:26px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:24px;cursor:pointer;line-height:1}

@media(max-width:980px){.cs-body{grid-template-columns:1fr}.cs-side{position:static}}
@media(max-width:760px){.cs-gallery,.st-gallery,.cs-more-grid{grid-template-columns:1fr 1fr}.cs-hero,.st-hero{padding:48px 0 40px}}
@media(max-width:480px){.cs-gallery,.st-gallery,.cs-more-grid{grid-template-columns:1fr}}


/* v5.71 — magazine-style story sections (alternating image/text) */
.esv-chapters{margin:8px 0 0}
.esv-chapter{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin:38px 0}
.esv-chapter.chap-right{direction:rtl}
.esv-chapter.chap-right > *{direction:ltr}
.esv-chapter.chap-full{display:block}
.esv-chapter .chap-img{width:100%;aspect-ratio:4/3.2;border:0;border-radius:18px;background:#0c1a38 center/cover no-repeat;cursor:zoom-in;padding:0;box-shadow:0 18px 44px -26px rgba(13,26,56,.5);transition:transform .35s}
.esv-chapter .chap-img:hover{transform:translateY(-4px)}
.esv-chapter .chap-h{font-family:"Newsreader",Georgia,serif;font-weight:600;font-size:clamp(1.4rem,2.6vw,1.9rem);color:#08122a;margin:0 0 14px;line-height:1.2}
.esv-chapter .chap-b{color:#34405a;line-height:1.8;font-size:1.05rem}
.esv-chapter .chap-b p{margin:0 0 14px}
.esv-chapter.chap-full .chap-h{text-align:center}
.esv-chapter.chap-full .chap-b{max-width:760px;margin:0 auto}
@media(max-width:820px){.esv-chapter,.esv-chapter.chap-right{display:block;direction:ltr}.esv-chapter .chap-img{margin-bottom:18px;aspect-ratio:16/10}}


/* v5.72 — story slider + detail polish */
.story-track .story-card{transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s,border-color .4s}
.story-img{transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.story-card:hover .story-img{transform:scale(1.04)}
.story-img{overflow:hidden}
.story-badge{box-shadow:0 4px 14px -4px rgba(8,18,42,.5)}
.story-body h3{transition:color .25s}
.story-card:hover .story-body h3{color:var(--gold-deep,#b18a35)}
.story-side{transition:transform .25s,box-shadow .25s,background .25s}
.story-side:hover:not(:disabled){background:#08122a;color:#fff;transform:translateY(-50%) scale(1.06)}
/* detail hero kicker chip */
.cs-kicker,.st-kicker{background:rgba(200,162,76,.14);border:1px solid rgba(200,162,76,.3);padding:6px 14px;border-radius:50px}
/* stat band count animation-friendly */
.cs-stat b{letter-spacing:-.01em}
/* chapters: subtle reveal */
.esv-chapter{opacity:1}
@media(prefers-reduced-motion:no-preference){
  .esv-chapter{animation:chapIn .6s cubic-bezier(.22,.61,.36,1) both}
}
@keyframes chapIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}


/* v5.80 — multi-line memo fields render as even paragraphs */
.cand-summary p{margin:0 0 1em}
.cand-summary p:last-child{margin-bottom:0}


/* ====================================================================
   v6.01 — Case study editorial format (label left / value right,
   gold dividers) to match the reference layout. CSS-only.
   ==================================================================== */
.cs-single .cs-main{max-width:880px}
/* each field becomes a two-column row with a fine gold divider */
.cs-single .cs-block{display:grid;grid-template-columns:210px 1fr;gap:34px;align-items:start;padding:26px 0;margin:0;border-top:1px solid var(--line,#e4e8f1);position:relative}
.cs-single .cs-block:first-child{border-top:0}
.cs-single .cs-block::before{content:"";position:absolute;top:-1px;left:0;width:46px;height:2px;background:linear-gradient(90deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35))}
.cs-single .cs-h{margin:0;font-family:"Newsreader",Georgia,serif;font-weight:600;font-size:1.18rem;line-height:1.3;color:var(--navy-900,#08122a)}
.cs-single .cs-block p,.cs-single .cs-block .chap-b,.cs-single .cs-block li{font-size:1.02rem;line-height:1.75;color:#3a4358}
.cs-single .cs-block p{margin:0 0 12px}
.cs-single .cs-block p:last-child{margin-bottom:0}
.cs-single .cs-tag{display:inline-block;font-family:"Plus Jakarta Sans",sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:50px}
.cs-single .cs-tag.problem{background:#fdeceb;color:#c0392b}
.cs-single .cs-tag.solution{background:#e9f6ee;color:#1f7a4d}
.cs-single .cs-summary .cs-h{color:var(--gold-deep,#b18a35)}

/* entry-content (imported content) → render h2/h3 + body as label/value rows */
.cs-single .entry-content.prose{display:block}
.cs-single .entry-content.prose h2,.cs-single .entry-content.prose h3{font-family:"Newsreader",serif;font-weight:600;font-size:1.14rem;color:var(--navy-900,#08122a);margin:26px 0 8px;padding-top:22px;border-top:1px solid var(--line,#e4e8f1);position:relative}
.cs-single .entry-content.prose h2::before,.cs-single .entry-content.prose h3::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:2px;background:linear-gradient(90deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35))}
.cs-single .entry-content.prose p,.cs-single .entry-content.prose li{font-size:1.02rem;line-height:1.75;color:#3a4358}
.cs-single .entry-content.prose figure.wp-block-image{margin:24px 0}
.cs-single .entry-content.prose img{border-radius:14px;box-shadow:0 18px 44px -28px rgba(13,26,56,.4)}

/* "The Numbers" stat band — centered, editorial */
.cs-stats-band{background:#0c1a38;color:#fff;padding:40px 0}
.cs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px;text-align:center}
.cs-stat b{display:block;font-family:"Newsreader",serif;font-size:2.3rem;line-height:1;color:var(--gold,#c8a24c)}
.cs-stat span{display:block;margin-top:8px;font-size:.82rem;letter-spacing:.04em;color:#aeb9d2;text-transform:uppercase}

/* quote */
.cs-single .cs-quote{margin:34px 0;padding:28px 32px;background:#f8faff;border-left:4px solid var(--gold,#c8a24c);border-radius:0 14px 14px 0}
.cs-single .cs-quote blockquote{margin:0;font-family:"Newsreader",serif;font-size:1.3rem;font-style:italic;line-height:1.5;color:var(--navy-900,#08122a)}
.cs-single .cs-quote figcaption{margin-top:14px;font-weight:600;color:var(--gold-deep,#b18a35);font-size:.92rem}

/* gallery — full-width, generous */
.cs-single .cs-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:30px 0}
.cs-single .cs-gallery .cs-gimg{aspect-ratio:4/3;border-radius:16px;background-size:cover;background-position:center;border:0;cursor:zoom-in;box-shadow:0 18px 44px -28px rgba(13,26,56,.45);transition:transform .35s var(--ease,cubic-bezier(.22,.61,.36,1))}
.cs-single .cs-gallery .cs-gimg:hover{transform:translateY(-4px)}

/* responsive: stack label above value on phones */
@media(max-width:680px){
	.cs-single .cs-block{grid-template-columns:1fr;gap:10px;padding:22px 0}
	.cs-single .cs-main{max-width:none}
}


/* ====================================================================
   v6.02 — Case Study fixed 31-section template. CSS-only.
   ==================================================================== */
.cs-single .cs-hero-intro{max-width:60ch;margin:14px 0 0;font-size:1.1rem;line-height:1.6;color:#dbe4f3}
.cs-single .cs-feature{margin:0 0 30px;border-radius:18px;overflow:hidden;box-shadow:0 22px 50px -30px rgba(13,26,56,.5)}
.cs-single .cs-feature img{display:block;width:100%;height:auto}

/* label-left / value-right editorial rows */
.cs-single .cs-main{max-width:880px}
.cs-single .cs-block{display:grid;grid-template-columns:230px 1fr;gap:34px;align-items:start;padding:26px 0;margin:0;border-top:1px solid var(--line,#e4e8f1);position:relative}
.cs-single .cs-block::before{content:"";position:absolute;top:-1px;left:0;width:46px;height:2px;background:linear-gradient(90deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35))}
.cs-single .cs-h{margin:0;font-family:"Newsreader",Georgia,serif;font-weight:600;font-size:1.22rem;line-height:1.3;color:var(--navy-900,#08122a)}
.cs-single .cs-val{font-size:1.02rem;line-height:1.78;color:#3a4358}
.cs-single .cs-val p{margin:0 0 14px}
.cs-single .cs-val p:last-child{margin-bottom:0}
.cs-single .cs-summary .cs-h{color:var(--gold-deep,#b18a35)}

/* 18. The Numbers — KPI cards */
.cs-single .cs-numbers{padding:34px 0;border-top:1px solid var(--line,#e4e8f1)}
.cs-single .cs-numbers-h{margin:0 0 22px;font-size:1.5rem;text-align:center}
.cs-single .cs-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}
.cs-single .cs-kpi{background:linear-gradient(150deg,#0c1a38,#08122a);border-radius:18px;padding:30px 22px;text-align:center;color:#fff;box-shadow:0 20px 46px -30px rgba(8,18,42,.6)}
.cs-single .cs-kpi b{display:block;font-family:"Newsreader",serif;font-size:2.6rem;line-height:1;color:var(--gold,#c8a24c)}
.cs-single .cs-kpi span{display:block;margin-top:10px;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:#aeb9d2}

/* 27–28 Feedback */
.cs-single .cs-feedback{margin:26px 0;padding:28px 32px;background:#f8faff;border-left:4px solid var(--gold,#c8a24c);border-radius:0 16px 16px 0}
.cs-single .cs-feedback.cs-feedback-alt{background:#fbf7ee;border-left-color:var(--navy-800,#0c1a38)}
.cs-single .cs-feedback figcaption{font-family:"Plus Jakarta Sans",sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep,#b18a35);margin-bottom:10px}
.cs-single .cs-feedback.cs-feedback-alt figcaption{color:var(--navy-800,#0c1a38)}
.cs-single .cs-feedback blockquote{margin:0;font-family:"Newsreader",serif;font-size:1.22rem;font-style:italic;line-height:1.6;color:var(--navy-900,#08122a)}
.cs-single .cs-feedback blockquote p{margin:0 0 10px}
.cs-single .cs-feedback blockquote p:last-child{margin-bottom:0}

/* 30–31 contact + reviews */
.cs-single .cs-contact,.cs-single .cs-reviews{padding:26px 0;border-top:1px solid var(--line,#e4e8f1)}
.cs-single .cs-contact .cs-h,.cs-single .cs-reviews .cs-h{margin-bottom:14px}
.cs-single .cs-contact .cs-val{font-size:1.02rem;line-height:1.78;color:#3a4358}

/* gallery */
.cs-single .cs-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:30px 0}
.cs-single .cs-gallery .cs-gimg{aspect-ratio:4/3;border-radius:16px;background-size:cover;background-position:center;border:0;cursor:zoom-in;box-shadow:0 18px 44px -28px rgba(13,26,56,.45);transition:transform .35s var(--ease,cubic-bezier(.22,.61,.36,1))}
.cs-single .cs-gallery .cs-gimg:hover{transform:translateY(-4px)}

/* responsive */
@media(max-width:680px){
	.cs-single .cs-block{grid-template-columns:1fr;gap:8px;padding:22px 0}
	.cs-single .cs-main{max-width:none}
	.cs-single .cs-feedback{padding:22px 20px}
}


/* v6.05 — story/case thumbnails: clean featured image, no stray pin overlay.
   Safety guard so any inline SVG inside a card image can never blow up to its
   default size again, and a tasteful placeholder when no featured image. */
.story-img{background:#0c1a38 center/cover no-repeat}
.story-img svg{max-width:16px;max-height:16px}
.story-img:not([style*="background-image"]){background:linear-gradient(150deg,#11264c,#08122a)}
.story-img:not([style*="background-image"])::before{content:"";position:absolute;inset:0;background:radial-gradient(120px 120px at 50% 42%,rgba(200,162,76,.18),transparent 70%)}


/* v6.07 — story slider dots + autoplay parity with testimonials */
.story-controls{display:flex;justify-content:center;margin-top:26px}
.story-dots{display:flex;gap:9px;align-items:center}
.story-dot{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:#cdd4e3;cursor:pointer;transition:transform .25s,background .25s}
.story-dot:hover{background:#9aa6c0}
.story-dot.active{background:var(--gold,#c8a24c);transform:scale(1.35)}


/* v6.08 — story thumbnails: full uncropped image over a blurred backdrop (no crop) */
.story-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0c1a38;display:block}
.story-img-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(20px) saturate(1.15);transform:scale(1.18);opacity:.55;z-index:0}
.story-img-fg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:1;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.story-card:hover .story-img-fg{transform:scale(1.04)}
.story-img::after{z-index:2}
.story-img .story-badge{z-index:3}
/* clean placeholder when no image */
.story-img-empty{background:linear-gradient(150deg,#11264c,#08122a)}
.story-img-empty::before{content:"";position:absolute;inset:0;background:radial-gradient(120px 120px at 50% 42%,rgba(200,162,76,.18),transparent 70%);z-index:0}


/* ====================================================================
   v6.09 — Case Study editorial typography polish (billion-$ standard).
   Refines rhythm, spacing, dividers and readable measure. CSS-only.
   ==================================================================== */
.cs-single .cs-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px;align-items:start;padding-top:8px}
.cs-single .cs-main{max-width:760px}

/* hero spacing */
.cs-single .cs-hero{padding:78px 0 70px}
.cs-single .cs-kicker{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold,#c8a24c);margin-bottom:18px}
.cs-single .cs-hero h1{font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.08;letter-spacing:-.01em;margin:0;max-width:18ch}
.cs-single .cs-hero-intro{max-width:62ch;margin:20px 0 0;font-size:1.16rem;line-height:1.7;color:#d6deec}
.cs-single .cs-hero-meta{margin-top:26px;gap:22px}

/* lead featured image */
.cs-single .cs-feature{margin:0 0 8px;border-radius:20px}
.cs-single .cs-feature + .cs-block{border-top:0;padding-top:38px}

/* editorial rows — quieter labels, comfortable measure, even rhythm */
.cs-single .cs-block{grid-template-columns:200px minmax(0,1fr);gap:40px;padding:34px 0}
.cs-single .cs-block::before{width:38px;height:2px}
.cs-single .cs-h{font-size:1.06rem;line-height:1.35;letter-spacing:.005em;color:var(--navy-900,#08122a);position:sticky;top:96px}
.cs-single .cs-val{font-size:1.06rem;line-height:1.85;color:#39424f;max-width:62ch}
.cs-single .cs-val p{margin:0 0 16px}
.cs-single .cs-val p:last-child{margin-bottom:0}
.cs-single .cs-val ul,.cs-single .cs-val ol{margin:4px 0 16px 1.15em;padding:0}
.cs-single .cs-val li{margin:0 0 8px;line-height:1.75}
.cs-single .cs-summary{padding-top:38px}
.cs-single .cs-summary .cs-val{font-size:1.16rem;line-height:1.8;color:#2a3340}

/* The Numbers — more air, refined cards */
.cs-single .cs-numbers{padding:48px 0 44px;margin:8px 0;border-top:1px solid #e9edf5;border-bottom:1px solid #e9edf5}
.cs-single .cs-numbers-h{margin:0 0 30px;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:#8a93a8;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;position:static}
.cs-single .cs-kpi-grid{gap:22px}
.cs-single .cs-kpi{padding:34px 24px;border-radius:20px}
.cs-single .cs-kpi b{font-size:2.9rem;letter-spacing:-.02em}
.cs-single .cs-kpi span{margin-top:12px;font-size:.78rem;letter-spacing:.08em}

/* feedback quotes */
.cs-single .cs-feedback{margin:38px 0;padding:32px 36px;border-radius:0 18px 18px 0}
.cs-single .cs-feedback blockquote{font-size:1.3rem;line-height:1.62}
.cs-single .cs-feedback figcaption{margin-bottom:14px;letter-spacing:.12em}

/* contact + reviews */
.cs-single .cs-contact,.cs-single .cs-reviews{padding:38px 0 0;margin-top:30px;border-top:1px solid #e9edf5}
.cs-single .cs-contact .cs-h,.cs-single .cs-reviews .cs-h{position:static;font-size:1.35rem;font-family:"Newsreader",Georgia,serif;font-weight:600;margin-bottom:18px}
.cs-single .cs-contact .cs-val{max-width:62ch}

/* gallery rhythm */
.cs-single .cs-gallery{margin:36px 0;gap:18px}

/* sidebar card refinement */
.cs-single .cs-side{position:sticky;top:96px}
.cs-single .cs-card{padding:30px 28px;border-radius:20px;box-shadow:0 1px 2px rgba(13,26,56,.05),0 30px 60px -42px rgba(13,26,56,.28)}
.cs-single .cs-card h4{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#8a93a8;font-weight:700;margin:0 0 18px}
.cs-single .cs-facts li{padding:13px 0;font-size:.94rem}
.cs-single .cs-facts span{color:#67708218}
.cs-single .cs-facts span{color:#677082}
.cs-single .cs-facts b{font-weight:600;max-width:58%;text-align:right;line-height:1.4}
.cs-single .cs-services{margin-top:20px;padding-top:20px;border-top:1px solid #eef1f8}
.cs-single .cs-services-h{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#8a93a8;font-weight:700;display:block;margin-bottom:14px}
.cs-single .cs-services ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.cs-single .cs-services li{display:flex;gap:11px;align-items:flex-start;font-size:.92rem;line-height:1.5;color:#39424f}
.cs-single .cs-services li svg{width:17px;height:17px;color:var(--gold-deep,#b18a35);flex:none;margin-top:2px}

/* more case studies */
.cs-single .cs-more{margin-top:70px;padding-top:46px;border-top:1px solid #e9edf5}
.cs-single .cs-more .cs-h{position:static;font-size:1.6rem;font-family:"Newsreader",Georgia,serif;font-weight:600;margin-bottom:26px;text-align:center}
.cs-single .cs-more-grid{gap:22px}

/* responsive */
@media(max-width:980px){
	.cs-single .cs-body{grid-template-columns:1fr;gap:40px}
	.cs-single .cs-side{position:static}
	.cs-single .cs-main{max-width:none}
	.cs-single .cs-h{position:static}
}
@media(max-width:680px){
	.cs-single .cs-hero{padding:54px 0 48px}
	.cs-single .cs-block{grid-template-columns:1fr;gap:12px;padding:26px 0}
	.cs-single .cs-block::before{top:-1px}
	.cs-single .cs-feedback{padding:24px 22px}
	.cs-single .cs-numbers{padding:36px 0 32px}
}


/* v6.12 — case study hero + empty-state polish (hugs content, never a giant empty band) */
.cs-single .cs-hero{padding:clamp(48px,6vw,76px) 0;min-height:0}
.cs-single .cs-hero .wrap{max-width:var(--wrap,1240px)}
.cs-single .cs-hero h1{margin:0;max-width:22ch}
.cs-single .cs-hero h1::after{content:"";display:block;width:64px;height:2px;background:linear-gradient(90deg,var(--gold,#c8a24c),transparent);margin-top:20px}
.cs-single .cs-body{min-height:40vh;padding-top:46px}
.cs-single .cs-main:empty,.cs-single .cs-main > .cs-feature:only-child{margin-bottom:0}
/* when the main column has only the lead image, center it nicely */
.cs-single .cs-feature img{width:100%;display:block}


/* ====================================================================
   v6.16 — full uncropped feature images on single case study / story
   pages (with corner padding + rounded corners); thumbnails un-badged.
   ==================================================================== */
/* full image, never cropped, gentle framing */
.cs-single .cs-feature,.st-single .st-feature{margin:0 0 30px;border-radius:18px;overflow:hidden;background:#f4f6fb;padding:0;box-shadow:0 22px 50px -30px rgba(13,26,56,.4)}
.cs-single .cs-feature img,.st-single .st-feature img{display:block;width:100%;height:auto;object-fit:contain;border-radius:18px}
.st-single .st-feature{max-width:960px;margin-left:auto;margin-right:auto}
/* soften the hero backdrop so it reads as ambient, not a hard crop */
.cs-hero-bg,.st-hero-bg{filter:blur(3px);transform:scale(1.06)}


/* ====================================================================
   v6.19 — Candidate Story hero: featured image shown as a photo on top
   (mirrors the candidate passport photo). Layout below unchanged.
   ==================================================================== */
.st-hero-inner{display:flex;align-items:center;gap:28px;margin-top:8px}
.st-hero-photo{width:150px;height:150px;flex:none;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);box-shadow:0 22px 50px -26px rgba(0,0,0,.6)}
.st-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.st-hero-id{min-width:0}
.st-hero-id h1{margin:0}
@media(max-width:640px){
	.st-hero-inner{flex-direction:column;align-items:flex-start;gap:18px}
	.st-hero-photo{width:110px;height:110px}
}


/* ====================================================================
   v6.20 — Candidate Story page: premium polish + Visa Class (5 cards).
   ==================================================================== */
.st-single .st-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:40px}
.st-single .st-fact{background:linear-gradient(160deg,#fff,#f6f8fc);border:1px solid #e7ebf4;border-radius:16px;padding:20px 20px;box-shadow:0 1px 2px rgba(13,26,56,.04),0 16px 36px -30px rgba(13,26,56,.3);transition:transform .3s var(--ease,cubic-bezier(.22,.61,.36,1)),box-shadow .3s}
.st-single .st-fact:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(13,26,56,.05),0 26px 50px -30px rgba(13,26,56,.4)}
.st-single .st-fact span{color:var(--gold-deep,#b18a35)}
.st-single .st-fact b{font-size:1.06rem;line-height:1.3;display:block}
/* richer reading typography */
.st-single .st-body{max-width:820px}
.st-single .st-body .prose p{font-size:1.06rem;line-height:1.8;color:#3a4358}
.st-single .st-message{background:linear-gradient(150deg,#0c1a38,#08122a);color:#fff;border-radius:20px;padding:34px 36px;margin:36px 0;position:relative;box-shadow:0 30px 60px -34px rgba(8,18,42,.6)}
.st-single .st-message blockquote,.st-single .st-message p{font-family:"Newsreader",Georgia,serif;font-size:1.35rem;font-style:italic;line-height:1.55;color:#fff;margin:0}
.st-single .st-message::before{content:"\201C";position:absolute;top:6px;left:24px;font-family:"Newsreader",serif;font-size:5rem;color:var(--gold,#c8a24c);opacity:.4;line-height:1}


/* ====================================================================
   v6.21 — Candidate Story page: comprehensive layout / typography /
   image polish. Body + gallery images shown FULL (no crop), framed.
   ==================================================================== */
.st-single .st-body{max-width:840px;margin:0 auto}
/* comfortable, aligned reading typography */
.st-single .st-narrative.prose,.st-single .st-narrative .prose{font-size:1.075rem;line-height:1.85;color:#33405a}
.st-single .st-narrative p{margin:0 0 20px}
.st-single .st-narrative h2,.st-single .st-narrative h3{font-family:"Newsreader",Georgia,serif;color:#08122a;line-height:1.25;margin:38px 0 12px;letter-spacing:-.01em}
.st-single .st-narrative h2{font-size:1.7rem}
.st-single .st-narrative h3{font-size:1.32rem}
.st-single .st-narrative ul,.st-single .st-narrative ol{margin:0 0 20px 1.1em;line-height:1.8}
.st-single .st-narrative li{margin-bottom:8px}
/* FULL-FRAME body / chapter images: complete image, no crop, framed */
.st-single .st-narrative img,
.st-single .chap-img,
.st-single .chap-b img{display:block;width:100%;height:auto;object-fit:contain;border-radius:18px;margin:26px auto;background:#f4f6fb;box-shadow:0 22px 50px -32px rgba(13,26,56,.45)}
.st-single .chap{margin:0 0 30px}
.st-single .chap h3{font-family:"Newsreader",serif;font-size:1.5rem;color:#08122a;margin:0 0 12px}
.st-single .chap-b{font-size:1.075rem;line-height:1.85;color:#33405a}
/* gallery: full uncropped images in a clean grid */
.st-single .st-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:34px 0}
.st-single .st-gallery .st-gimg{padding:0;border:0;background:#f4f6fb;border-radius:16px;overflow:hidden;cursor:zoom-in;aspect-ratio:3/2;box-shadow:0 18px 44px -30px rgba(13,26,56,.45)}
.st-single .st-gallery .st-gimg img{width:100%;height:100%;object-fit:contain;display:block;padding:8px;box-sizing:border-box;transition:transform .4s var(--ease,cubic-bezier(.22,.61,.36,1))}
.st-single .st-gallery .st-gimg:hover img{transform:scale(1.04)}
/* CTA block — premium, centered, well-spaced */
.st-single .st-cta{margin:48px 0 0;text-align:center;background:linear-gradient(160deg,#f6f8fc,#eef1f8);border:1px solid #e7ebf4;border-radius:22px;padding:44px 32px}
.st-single .st-cta h3{font-family:"Newsreader",serif;font-size:1.7rem;color:#08122a;margin:0 0 10px}
.st-single .st-cta p{color:#5a6680;max-width:52ch;margin:0 auto 22px;line-height:1.7}
/* consistent vertical rhythm between blocks */
.st-single .st-message{margin:40px 0}


/* v6.41 — candidate-side profile: sticky Save Changes bar (all devices) */
.cf-candidate-side{position:static}
.cf-savebar{position:sticky;position:-webkit-sticky;top:84px;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
	background:linear-gradient(135deg,#0b1733,#11264c);color:#fff;
	border:1px solid rgba(255,255,255,.08);border-radius:16px;
	padding:16px 20px;margin:0 0 26px;
	box-shadow:0 18px 40px -24px rgba(8,18,42,.6)}
.admin-bar .cf-savebar{top:116px}
.cf-savebar-msg{display:inline-flex;align-items:center;gap:11px;font-size:14.5px;font-weight:500;line-height:1.45;color:#e7ecf6}
.cf-savebar-msg svg{width:20px;height:20px;color:var(--gold,#c8a24c);flex:none}
.cf-savebar-btn{flex:none;height:48px;border-radius:12px;padding:0 26px;font-weight:700}
@media(max-width:640px){
	.cf-savebar{padding:14px 16px}
	.cf-savebar-msg{font-size:13.5px}
	.cf-savebar-btn{width:100%;justify-content:center}
}


/* ---------- v6.43: Resume/CV — simplified "one click" generate flow ---------- */
.cv-generate-panel{text-align:center;padding:44px 40px}
.cv-generate-ico{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:16px;background:linear-gradient(150deg,var(--navy-700,#11264c),var(--navy-900,#08122a));color:var(--gold,#c8a24c);margin-bottom:18px}
.cv-generate-ico svg{width:30px;height:30px}
.cv-generate-panel h3{font-size:1.35rem;margin-bottom:10px}
.cv-generate-panel p{color:var(--slate,#5a6680);max-width:52ch;margin:0 auto 16px;font-size:.98rem;line-height:1.65}
.cv-generated-note{display:inline-block;font-size:.78rem;color:var(--slate-light,#7f8aa3);background:var(--mist,#f4f6fb);padding:6px 14px;border-radius:50px;margin-bottom:18px}
.cv-generate-btn{padding:15px 34px;font-size:1rem}
.cv-success{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,#0d3f2a,#125438);color:#fff;border-radius:16px;padding:18px 22px;margin-bottom:22px;box-shadow:0 18px 40px -26px rgba(8,42,24,.6)}
.cv-success-ico{flex:none;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;color:#7de6ad}
.cv-success-ico svg{width:19px;height:19px}
.cv-success-txt{flex:1;min-width:180px;font-weight:600;font-size:.98rem}
.cv-success .btn{flex:none}



.cv-generate-panel form{display:flex;flex-direction:column;align-items:center}
.cv-generate-panel .cv-generate-btn,.cv-generate-panel .cv-preview-btn{margin:6px 6px 0}


/* ---------- v6.46: archive grid pages (Testimonials / Case Studies / Stories) ---------- */
.sec-view-all{margin-top:22px}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.archive-grid-testi .quote{height:100%}
.archive-grid-testi .q-text-full{display:block;-webkit-line-clamp:unset;overflow:visible;white-space:pre-line}
@media(max-width:980px){.archive-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.archive-grid{grid-template-columns:1fr}}

/* avatar lightbox (mirrors the one used inline on the homepage) */
.av-lightbox{position:fixed;inset:0;z-index:10010;background:rgba(6,12,28,.93);display:flex;align-items:center;justify-content:center;padding:40px}
.av-lightbox[hidden]{display:none !important}
.av-lightbox img{max-width:min(92vw,520px);max-height:88vh;border-radius:18px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);object-fit:contain}
.av-lightbox-close{position:absolute;top:22px;right:26px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.av-lightbox-close:hover{background:rgba(255,255,255,.18)}


/* ---------- v6.47: archive grid card fixes ---------- */
/* Testimonial archive: match homepage card (5-line clamp + Read full review) */
.archive-grid-testi .quote{height:100%}
.archive-grid-testi .q-text{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
/* Case Study / Story archive: give the reused .story-card its full chrome
   (the slider's chrome is scoped to .story-track, so grid cards need it here) */
.archive-grid-story .story-card{background:#fff;border:1px solid #e7ebf4;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;box-shadow:0 1px 2px rgba(13,26,56,.04),0 18px 42px -34px rgba(13,26,56,.24);transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s,border-color .35s}
.archive-grid-story .story-card:hover{transform:translateY(-5px);box-shadow:0 24px 54px -30px rgba(13,26,56,.34);border-color:#dbe2ef}


/* v6.59 — candidate form field guide text (About me, drivers-license help) */
.candidate-form .field-guide{margin:0 0 10px;font-size:13px;line-height:1.6;color:#5a6680;background:#f4f6fb;border:1px solid #e4e8f1;border-radius:10px;padding:12px 14px}
.candidate-form select[multiple]{min-height:150px;padding:6px}


/* v6.61 — candidate hero meta labels */
.cand-meta-lbl{font-weight:600;color:#c8a24c;margin-right:2px}
.cand-meta span{align-items:baseline}


/* v6.77 — LinkedIn button on candidate public profile (centered, styled) */
.cand-linkedin{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:16px;padding:12px 18px;width:100%;
	font-weight:600;font-size:.92rem;color:#fff;text-decoration:none;
	background:linear-gradient(135deg,#0a66c2,#0959a8);border-radius:12px;
	box-shadow:0 10px 24px -12px rgba(10,102,194,.7);transition:transform .2s,box-shadow .2s}
.cand-linkedin svg{width:19px;height:19px;flex:none}
.cand-linkedin:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(10,102,194,.85);text-decoration:none}


/* v6.65 — field subheading (e.g. Test Scores) */
.candidate-form .field-subhead{margin:18px 0 6px;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#0b1733}
.candidate-form .pc-row{padding:14px 0;border-top:1px solid #eef1f8}
.candidate-form .pc-row:first-of-type{border-top:0}


/* v6.68 — read-only login section on candidate side */
.candidate-form input[readonly][disabled]{background:#eef1f8;color:#5a6680;cursor:not-allowed}


/* v6.72 — candidate hero identity cards (Full Name / Preferred / Occupation) */
.cand-idcards{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 6px}
.cand-idcard{display:flex;flex-direction:column;gap:3px;padding:12px 18px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);min-width:150px}
.cand-idcard .cic-lbl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold,#c8a24c);font-weight:700}
.cand-idcard .cic-val{font-size:1.02rem;font-weight:600;color:#fff;line-height:1.3}
@media(max-width:640px){.cand-idcards{gap:8px}.cand-idcard{flex:1 1 100%;flex-direction:row;align-items:baseline;justify-content:space-between}}


/* v6.73 — candidate hero identity cards refined (h1/occ removed above them) */
.cand-idcards{margin:0 0 4px}
.cand-idcard.cic-name{background:linear-gradient(135deg,rgba(200,162,76,.22),rgba(200,162,76,.08));border-color:rgba(200,162,76,.4)}
.cand-idcard.cic-name .cic-val{font-size:1.5rem;font-family:"Newsreader",Georgia,serif;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.cand-idcard.cic-name .verified-tick{width:20px;height:20px;color:#6db4ff}
.cand-idcard .cic-val{font-size:1.06rem}


/* v6.74 — candidate hero meta refined (no icons on location/visa) */
.cand-meta{gap:10px 26px;margin-top:16px}
.cand-meta span{display:inline-flex;align-items:baseline;gap:8px;font-size:.95rem;color:#dbe3f2}
.cand-meta .cand-meta-lbl{font-weight:600;color:var(--gold,#c8a24c);letter-spacing:.01em}
.cand-meta span:not(:last-child){padding-right:26px;border-right:1px solid rgba(255,255,255,.14)}


/* v6.75 — hero visa-expiry highlight pill (pulsing) */
.cand-visaexp{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:10px 18px;border-radius:50px;
	background:linear-gradient(135deg,rgba(200,162,76,.9),rgba(177,138,53,.9));color:#0b1733;font-weight:700;
	box-shadow:0 10px 30px -8px rgba(200,162,76,.6);animation:cveFlash 2.4s ease-in-out infinite}
.cand-visaexp .cve-dot{width:9px;height:9px;border-radius:50%;background:#0b1733;box-shadow:0 0 0 0 rgba(11,23,51,.5);animation:cveDot 1.6s ease-in-out infinite}
.cand-visaexp .cve-lbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.cand-visaexp .cve-val{font-size:1rem;font-weight:800}
@keyframes cveFlash{0%,100%{box-shadow:0 10px 30px -8px rgba(200,162,76,.55)}50%{box-shadow:0 10px 40px -4px rgba(200,162,76,.95)}}
@keyframes cveDot{0%,100%{box-shadow:0 0 0 0 rgba(11,23,51,.45)}50%{box-shadow:0 0 0 6px rgba(11,23,51,0)}}
@media(prefers-reduced-motion:reduce){.cand-visaexp,.cand-visaexp .cve-dot{animation:none}}


/* v6.80 — breadcrumbs disabled site-wide (also hides any inline .crumb markup) */
.pbanner .crumb,.cand-banner .crumb,.crumb{display:none !important}


/* v6.87 — admin-set Australian Visa Criteria (public profile) */
.cand-crit p{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.cand-crit .crit-label{flex:1;color:#3a4358}
.cand-crit .crit-val{font-weight:700;font-size:12px;padding:3px 12px;border-radius:50px;letter-spacing:.02em}
.cand-crit .crit-yes{background:#e6f6ec;color:#1a7f45}
.cand-crit .crit-no{background:#f4f6fb;color:#7a8296}
/* admin-only section marker in the edit form */
.cf-adminonly{border:1px solid #f0d9a8 !important;background:#fffdf5 !important}


/* ============================================================
   v6.90 — Candidate hero, complete premium redesign (.cand-hero-v2)
   ============================================================ */
.cand-hero-v2{position:relative;overflow:hidden;background:linear-gradient(140deg,#0a1938 0%,#0d2350 55%,#0a1734 100%);color:#fff;padding:64px 0 60px}
.cand-hero-v2 .chv2-bg{position:absolute;inset:0;opacity:.5;pointer-events:none}
.cand-hero-v2 .chv2-bg .pb-map{width:100%;height:100%}
.cand-hero-v2::after{content:"";position:absolute;right:-160px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(200,162,76,.20),transparent 62%);pointer-events:none}
.cand-hero-v2 .wrap{position:relative;z-index:2}
.chv2-grid{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:center}

/* left — portrait */
.chv2-left{display:flex;flex-direction:column;align-items:center;gap:16px}
.chv2-photo{position:relative;width:280px;height:280px;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);box-shadow:0 40px 80px -34px rgba(0,0,0,.7)}
.chv2-photo .cand-avatar-zoom{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.chv2-photo img{width:100%;height:100%;object-fit:cover;display:block}
.chv2-photo .cand-avatar-ico{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:9px;background:rgba(8,18,42,.72);display:grid;place-items:center;opacity:0;transition:.25s}
.chv2-photo:hover .cand-avatar-ico{opacity:1}
.chv2-photo .cand-avatar-ico svg{width:17px;height:17px;color:#fff}
.chv2-initial{display:grid;place-items:center;width:100%;height:100%;font-family:"Newsreader",serif;font-size:5rem;color:var(--gold,#c8a24c)}
.chv2-avail{display:inline-flex;align-items:center;gap:8px;background:rgba(31,138,91,.18);border:1px solid rgba(72,199,142,.4);color:#7ee6b0;font-size:13px;font-weight:600;padding:8px 16px;border-radius:50px}
.chv2-avail-dot{width:8px;height:8px;border-radius:50%;background:#48c78e;box-shadow:0 0 0 4px rgba(72,199,142,.25)}

/* right — identity + stats */
.chv2-right{min-width:0}
.chv2-kicker{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold,#c8a24c)}
.chv2-verified{display:inline-flex;align-items:center;gap:5px;color:#7fb5ff}
.chv2-verified svg{width:15px;height:15px}
.chv2-name{font-family:"Newsreader",serif;font-weight:600;color:#fff;font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.05;margin:14px 0 0}
.chv2-subline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:12px}
.chv2-pref{font-size:14px;color:#c2cee4}
.chv2-pref b{color:#fff;font-weight:600}
.chv2-occ{display:inline-block;background:rgba(200,162,76,.16);border:1px solid rgba(200,162,76,.36);color:var(--gold,#c8a24c);font-size:14px;font-weight:600;padding:6px 16px;border-radius:50px}

/* stat grid */
.chv2-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px;max-width:640px}
.chv2-stat{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:15px 17px;backdrop-filter:blur(6px)}
.chv2-stat-ic{flex:none;width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.chv2-stat-ic svg{width:20px;height:20px;color:var(--gold,#c8a24c)}
.chv2-stat-txt{display:flex;flex-direction:column;min-width:0}
.chv2-stat-lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#93a2c0;font-weight:600}
.chv2-stat-val{font-size:15.5px;font-weight:600;color:#fff;margin-top:3px;line-height:1.3}
/* highlighted, pulsing visa-expiry card */
.chv2-stat.is-expiry{background:linear-gradient(135deg,rgba(200,162,76,.20),rgba(200,162,76,.06));border-color:rgba(200,162,76,.5);animation:chv2pulse 2.4s ease-in-out infinite}
.chv2-stat.is-expiry .chv2-stat-ic{background:rgba(200,162,76,.22)}
.chv2-stat.is-expiry .chv2-stat-val{color:var(--gold,#f0d493)}
@keyframes chv2pulse{0%,100%{box-shadow:0 0 0 0 rgba(200,162,76,.28)}50%{box-shadow:0 0 0 7px rgba(200,162,76,0)}}
@media(prefers-reduced-motion:reduce){.chv2-stat.is-expiry{animation:none}}

/* relocation chips */
.chv2-relo{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}
.chv2-relo-lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#93a2c0;font-weight:600;margin-right:2px}
.chv2-relo-chip{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:#e7edf8;font-size:13px;font-weight:600;padding:6px 15px;border-radius:50px}

@media(max-width:900px){
	.cand-hero-v2{padding:44px 0 40px}
	.chv2-grid{grid-template-columns:1fr;gap:28px;text-align:center}
	.chv2-left{align-items:center}
	.chv2-subline,.chv2-relo{justify-content:center}
	.chv2-stats{grid-template-columns:1fr;max-width:none;text-align:left}
	.chv2-kicker{justify-content:center}
}
@media(max-width:480px){
	.chv2-photo{width:220px;height:220px}
	.chv2-stat{padding:13px 14px}
}


/* v6.91 — hero polish: refined 3-up stat row, sheen, tighter rhythm */
.chv2-stats{grid-template-columns:repeat(3,1fr)}
.chv2-stat{flex-direction:column;align-items:flex-start;gap:11px;padding:18px 18px}
.chv2-stat-ic{width:42px;height:42px}
.chv2-stat.is-expiry{grid-column:auto}
.chv2-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.14),transparent 42%);pointer-events:none}
.chv2-name{letter-spacing:-.01em}
@media(max-width:900px){.chv2-stats{grid-template-columns:1fr}}
@media(min-width:901px) and (max-width:1100px){.chv2-stats{grid-template-columns:1fr 1fr}}


/* v6.92 — candidate hero optional background image */
.cand-hero-v2.has-bg{background-size:cover;background-position:center;background-repeat:no-repeat}
.cand-hero-v2.has-bg .chv2-bg{opacity:.22}


/* v6.93 — form sub-heading + public sub-head spacing */
.candidate-form .cf-subhead{margin:22px 0 4px;font-size:15px;font-weight:700;color:#0b1733;padding-top:16px;border-top:1px solid #e4e8f1}
.cand-summary .cand-subhead{margin-top:14px}


/* ============ v6.95 — Candidate Work Diary ============ */
/* dashboard form */
.diary-form .diary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:14px}
.diary-form .field label{display:block;font-size:13px;font-weight:600;color:#3a4358;margin-bottom:6px}
.diary-form input[type=text],.diary-form input[type=date],.diary-form input[type=file],.diary-form textarea{width:100%;padding:11px 13px;border:1px solid #d8deeb;border-radius:10px;font-family:inherit;font-size:14px;background:#fbfcfe}
.diary-form textarea{resize:vertical;min-height:120px;line-height:1.6}
.diary-form .btn{margin-top:14px}
/* dashboard list */
.diary-list{display:flex;flex-direction:column;gap:12px}
.diary-item{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #e4e8f1;border-radius:14px;padding:14px 16px}
.diary-thumb{flex:none;width:64px;height:64px;border-radius:10px;background:#eef1f8 center/cover no-repeat}
.diary-body{flex:1;min-width:0}
.diary-date{display:inline-block;font-size:12px;font-weight:700;color:#b18a35;letter-spacing:.02em}
.diary-body b{display:block;font-size:15px;color:#0b1733;margin:2px 0}
.diary-env{font-size:13px;color:#5a6680}
.diary-body p{margin:8px 0 0;font-size:14px;line-height:1.6;color:#3a4358}
.diary-del{flex:none;width:38px;height:38px;border:1px solid #f0d9d9;background:#fff;border-radius:9px;color:#c0392b;cursor:pointer;display:grid;place-items:center}
.diary-del svg{width:17px;height:17px}
.diary-del:hover{background:#fdeceb}
/* public button */
.cand-diary-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:14px;padding:13px 18px;border:0;border-radius:12px;cursor:pointer;
	background:linear-gradient(135deg,#0b1733,#13294f);color:#fff;font-family:inherit;font-weight:700;font-size:14px;letter-spacing:.01em;box-shadow:0 12px 26px -14px rgba(11,26,51,.7);transition:transform .2s,box-shadow .2s}
.cand-diary-btn svg{width:18px;height:18px;color:#c8a24c}
.cand-diary-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(11,26,51,.8)}
/* modal */
.diary-modal{position:fixed;inset:0;z-index:100000;background:rgba(8,16,36,.72);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}
.diary-modal-inner{background:#f7f9fc;border-radius:20px;width:min(720px,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 90px -30px rgba(8,16,36,.7)}
.diary-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#0b1733,#13294f);color:#fff}
.diary-modal-head h3{margin:0;font-size:1.15rem;font-family:"Newsreader",Georgia,serif;font-weight:600}
.diary-modal-close{flex:none;width:38px;height:38px;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:10px;font-size:22px;line-height:1;cursor:pointer}
.diary-modal-close:hover{background:rgba(255,255,255,.22)}
.diary-modal-scroll{overflow-y:auto;padding:26px 24px;-webkit-overflow-scrolling:touch}
/* timeline */
.diary-timeline{position:relative;padding-left:26px}
.diary-timeline::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(#c8a24c,#e4e8f1)}
.dtl-item{position:relative;padding-bottom:22px}
.dtl-item:last-child{padding-bottom:0}
.dtl-dot{position:absolute;left:-26px;top:4px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #c8a24c}
.dtl-card{background:#fff;border:1px solid #e4e8f1;border-radius:14px;padding:16px 18px;box-shadow:0 10px 24px -18px rgba(11,26,51,.5)}
.dtl-date{display:inline-block;font-size:12px;font-weight:700;color:#b18a35}
.dtl-card h4{margin:4px 0 2px;font-size:1.02rem;color:#0b1733}
.dtl-env{font-size:13px;color:#5a6680}
.dtl-photo{display:block;width:100%;height:200px;margin:12px 0 4px;border-radius:10px;background:#eef1f8 center/cover no-repeat}
.dtl-card p{margin:10px 0 0;font-size:14px;line-height:1.7;color:#3a4358}
@media(max-width:640px){
	.diary-form .diary-grid{grid-template-columns:1fr}
	.diary-modal{padding:0}
	.diary-modal-inner{max-height:100vh;height:100vh;width:100%;border-radius:0}
	.dtl-photo{height:160px}
}


/* v6.96 — drivers-license extra blocks + police-clearance clear */
.dl-block{padding-top:6px}
.dl-block .cf-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dl-remove{border:1px solid #f0d9d9;background:#fff;color:#c0392b;border-radius:8px;width:30px;height:30px;font-size:18px;line-height:1;cursor:pointer}
.dl-remove:hover{background:#fdeceb}
.dl-add{margin-top:8px}
.pc-clear-wrap{display:flex;justify-content:flex-end;margin-top:-4px}
.pc-clear{border:1px solid #e4e8f1;background:#fff;color:#5a6680;border-radius:8px;padding:7px 14px;font-size:12.5px;font-weight:600;cursor:pointer}
.pc-clear:hover{background:#fdeceb;border-color:#f0d9d9;color:#c0392b}
.pc-row{border-bottom:1px solid #eef1f8;padding-bottom:14px;margin-bottom:14px}


/* v6.97 — extra drivers-license blocks on public profile */
.cand-summary.dl-extra-view{margin-top:14px;padding-top:14px;border-top:1px solid #eef1f8}
.dl-block-label{margin:0 0 6px;color:#b18a35;font-size:12px;letter-spacing:.04em;text-transform:uppercase}


/* v6.98 — hero Occupation + Current Role lines */
.chv2-roles{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:14px}
.chv2-role{display:flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:9px 16px;min-width:150px}
.chv2-role-l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#c8a24c;font-weight:700}
.chv2-role-v{font-size:15px;font-weight:600;color:#fff}
@media(max-width:560px){.chv2-role{flex:1 1 100%}}


/* v7.05 — diary edit actions */
.diary-actions{display:flex;flex-direction:column;gap:8px;flex:none}
.diary-edit{width:38px;height:38px;border:1px solid #d8deeb;background:#fff;border-radius:9px;color:#2563eb;cursor:pointer;display:grid;place-items:center;text-decoration:none}
.diary-edit svg{width:16px;height:16px}
.diary-edit:hover{background:#eef4ff;border-color:#b9cdf5}
.diary-item.is-editing{outline:2px solid var(--gold,#c8a24c);outline-offset:2px}
.diary-cur-photo{display:flex;align-items:center;gap:14px;margin:4px 0 12px}
.diary-cur-photo .diary-thumb{width:70px;height:70px;border-radius:10px;background-size:cover;background-position:center;flex:none}
.diary-rm{font-size:13px;color:#5a6680;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.diary-form-actions{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}


/* v7.07 — diary timeline labelled rows */
.dtl-card .dtl-row{margin:0 0 8px;font-size:14px;line-height:1.6;color:#3a4358}
.dtl-card .dtl-row:last-child{margin-bottom:0}
.dtl-card .dtl-l{font-weight:700;color:#0b1733}
.dtl-card .dtl-v{color:#3a4358}
.dtl-card .dtl-photo{margin-top:12px}


/* v7.08 — diary timeline photo is clickable (zoom cursor) */
.dtl-photo.dtl-zoom{border:0;cursor:zoom-in;padding:0;display:block;width:100%;height:200px;background-size:cover;background-position:center;border-radius:10px;transition:transform .25s}
.dtl-photo.dtl-zoom:hover{transform:scale(1.01)}
@media(max-width:640px){.dtl-photo.dtl-zoom{height:160px}}


/* v7.11 — Health & Medical Declaration (form + public) */
.hm-group{margin:6px 0 10px}
.hm-questions{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.hm-q{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fbfcfe;border:1px solid #e4e8f1;border-radius:10px;padding:11px 14px}
.hm-q-txt{font-size:14px;color:#3a4358;line-height:1.45;flex:1}
.hm-yn{display:flex;gap:8px;flex:none}
.hm-opt{display:inline-flex;align-items:center;gap:6px;border:1px solid #d8deeb;background:#fff;border-radius:9px;padding:7px 14px;cursor:pointer;font-size:13px;font-weight:600;color:#5a6680;user-select:none}
.hm-opt input{position:absolute;opacity:0;width:0;height:0}
.hm-opt.on,.hm-opt:has(input:checked){border-color:var(--gold,#c8a24c);background:#fbf3df;color:#0b1733}
.hm-detail label{display:block;font-size:13px;font-weight:600;color:#3a4358;margin:4px 0 6px}
.hm-detail textarea{width:100%;padding:11px 13px;border:1px solid #d8deeb;border-radius:10px;font-family:inherit;font-size:14px;background:#fbfcfe;line-height:1.6}
/* public view */
.hmv-group{margin-bottom:16px}
.hmv-group h3{font-size:1.02rem;color:#0b1733;margin:0 0 8px}
.hmv-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #eef1f8}
.hmv-q{font-size:13.5px;color:#3a4358;flex:1;line-height:1.4}
.hmv-a{font-size:12px;font-weight:700;padding:2px 11px;border-radius:50px;flex:none}
.hmv-yes{background:#e6f6ec;color:#1a7f45}
.hmv-no{background:#f4f6fb;color:#7a8296}
.hmv-detail{margin:8px 0 0;font-size:13.5px;color:#3a4358;line-height:1.6}
@media(max-width:640px){.hm-q{flex-direction:column;align-items:flex-start;gap:10px}.hm-yn{width:100%}.hm-opt{flex:1;justify-content:center}}


/* v7.12 — health per-question detail box */
.hm-q-wrap{border:1px solid #e4e8f1;border-radius:10px;overflow:hidden}
.hm-q-wrap .hm-q{border:0;border-radius:0;background:#fbfcfe}
.hm-qdetail{padding:0 14px 12px;background:#fbfcfe}
.hm-qdetail[hidden]{display:none}
.hm-qdetail label{display:block;font-size:12.5px;font-weight:600;color:#b18a35;margin:2px 0 6px}
.hm-qdetail textarea{width:100%;padding:10px 12px;border:1px solid #d8deeb;border-radius:9px;font-family:inherit;font-size:13.5px;background:#fff;line-height:1.55}
.hm-questions{gap:10px}
/* public per-question detail */
.hmv-qdetail{margin:2px 0 10px;padding:8px 12px;background:#fbf7ee;border-left:3px solid var(--gold,#c8a24c);border-radius:0 8px 8px 0;font-size:13px;color:#3a4358;line-height:1.55}


/* v7.15 — declaration row: full statement reads clearly */
.hm-q-declare{align-items:flex-start}
.hm-q-declare .hm-q-txt{font-size:13.5px;line-height:1.6;color:#3a4358}


/* v7.16 — health required states + declaration gating + public declaration */
.hm-declare-lock{display:flex;align-items:center;gap:9px;background:#fff7e6;border:1px solid #f0d28a;color:#9a6a00;border-radius:10px;padding:11px 14px;font-size:13.5px;margin:0 0 12px}
.hm-declare-lock svg{width:17px;height:17px;flex:none}
.hm-q-declare.hm-locked{opacity:.55}
.hm-q-declare.hm-locked .hm-opt{cursor:not-allowed}
.hm-opt input:invalid{outline:none}
/* public declaration */
.hmv-declaration{margin-top:6px;padding-top:12px;border-top:1px solid #eef1f8}
.hmv-declare-text{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.65;color:#3a4358;background:#eaf7ef;border:1px solid #bfe6cd;border-radius:12px;padding:14px 16px;margin:0}
.hmv-declare-text svg{width:20px;height:20px;color:#1a7f45;flex:none;margin-top:1px}


/* v7.20 — long record values break out to full-width single column so text
   is never lopsided beside an empty half. Short values keep the 2-col grid. */
.cr-fact--long{grid-column:1 / -1}
.cr-fact--long dd{max-width:none;line-height:1.7}


/* v7.23 — Employer dashboard: enterprise KPI grid + overview polish */
.dash-sub{color:var(--slate,#5a6680);font-size:.92rem;margin:2px 0 0}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.kpi{background:#fff;border:1px solid var(--line,#e4e8f1);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 2px rgba(13,26,56,.04);transition:transform .25s,box-shadow .25s}
.kpi:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(13,26,56,.28)}
.kpi-ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin-bottom:8px}
.kpi-ic svg{width:20px;height:20px}
.kpi-ic.ic-blue{background:#e8f0fe;color:#2a6fdb}.kpi-ic.ic-slate{background:#eef1f7;color:#5a6680}
.kpi-ic.ic-amber{background:#fdf3e2;color:#b8860b}.kpi-ic.ic-rose{background:#fdecef;color:#d2452f}
.kpi-ic.ic-indigo{background:#ebe9fd;color:#5546c6}.kpi-ic.ic-violet{background:#f0e9fb;color:#7b3ff2}
.kpi-ic.ic-green{background:#e6f6ec;color:#1a7f45}
.kpi b{font-family:"Newsreader",Georgia,serif;font-size:2rem;line-height:1;color:var(--navy-900,#08122a)}
.kpi-l{font-size:.82rem;color:var(--slate,#5a6680);font-weight:500}
.dash-cols{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}
.dash-side-col{display:flex;flex-direction:column;gap:20px}
.dash-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.dash-panel-head h3{margin:0}
.dash-empty-state{text-align:center;padding:30px 16px;color:var(--slate,#5a6680)}
.dash-empty-state .des-ic{width:54px;height:54px;border-radius:50%;background:var(--mist,#f4f6fb);display:grid;place-items:center;margin:0 auto 14px}
.dash-empty-state .des-ic svg{width:26px;height:26px;color:var(--slate-light,#9aa3b8)}
.dash-empty-state p{margin:0 0 14px}
.completion-card{text-align:center}
.completion-ring{--pct:0;width:132px;height:132px;border-radius:50%;margin:8px auto 16px;display:grid;place-items:center;
  background:conic-gradient(var(--gold,#c8a24c) calc(var(--pct)*1%),var(--mist,#eef1f7) 0)}
.completion-ring span{width:100px;height:100px;border-radius:50%;background:#fff;display:grid;place-items:center;font-family:"Newsreader",serif;font-size:1.7rem;font-weight:600;color:var(--navy-900,#08122a)}
.dash-joblist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.dash-joblist li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line,#eef1f7)}
.dash-joblist li:last-child{border-bottom:0}
.dash-joblist a{color:var(--navy-900,#08122a);font-weight:600;font-size:.92rem;text-decoration:none}
.dash-joblist a:hover{color:var(--gold-deep,#b18a35)}
.dash-head .btn svg{width:16px;height:16px}
@media(max-width:1024px){.dash-cols{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi b{font-size:1.7rem}}
@media(max-width:400px){.kpi-grid{grid-template-columns:1fr 1fr}}


/* v7.24 — employer company profile media row */
.co-media{display:flex;gap:20px;align-items:flex-start;margin-bottom:18px;flex-wrap:wrap}
.co-logo{width:88px;height:88px;border-radius:16px;overflow:hidden;flex:none;border:1px solid var(--line,#e4e8f1);background:var(--mist,#f4f6fb);display:grid;place-items:center}
.co-logo img{width:100%;height:100%;object-fit:cover}
.co-logo span{font-family:"Newsreader",serif;font-size:2rem;color:var(--gold-deep,#b18a35)}
.co-media-fields{flex:1;min-width:220px}
.co-media-fields label{display:block;font-size:.8rem;font-weight:600;color:var(--slate,#5a6680);margin:0 0 5px}
.co-media-fields input{margin-bottom:10px}
.co-cover-note{font-size:.8rem;color:#1a7f45}


/* v7.25 — public Employer/company profile */
.emp-cover{background:linear-gradient(135deg,#0b1733,#11264c);background-size:cover;background-position:center;padding:56px 0 40px}
.emp-cover.has-cover{background-size:cover}
.emp-head{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.emp-logo-lg{width:104px;height:104px;border-radius:20px;flex:none;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;box-shadow:0 20px 46px -26px rgba(8,18,42,.6)}
.emp-logo-lg img{width:100%;height:100%;object-fit:cover}
.emp-logo-lg span{font-family:"Newsreader",serif;font-size:2.8rem;color:var(--gold-deep,#b18a35)}
.emp-id h1{display:flex;align-items:center;gap:10px;color:#fff;font-size:clamp(1.6rem,3.4vw,2.4rem);margin:0}
.emp-id .verified-tick{width:22px;height:22px;color:#6db4ff}
.emp-trading{color:var(--gold,#c8a24c);font-weight:600;margin:6px 0 0}
.emp-meta{display:flex;flex-wrap:wrap;gap:18px;color:#cdd7e2;font-size:.92rem;margin-top:12px}
.emp-meta span{display:inline-flex;align-items:center;gap:7px}
.emp-meta svg{width:15px;height:15px;color:var(--gold,#c8a24c)}
.emp-layout{display:grid;grid-template-columns:1fr 330px;gap:34px;align-items:start}
.emp-main .cand-block{background:#fff;border:1px solid var(--line,#e4e8f1);border-radius:18px;padding:26px 28px;margin-bottom:20px;box-shadow:0 1px 2px rgba(13,26,56,.04)}
.emp-jobs-list{display:flex;flex-direction:column}
.emp-job{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line,#eef1f7);text-decoration:none}
.emp-job:last-child{border-bottom:0}
.emp-job-main b{display:block;color:var(--navy-900,#08122a);font-size:1.02rem}
.emp-job-meta{font-size:.86rem;color:var(--slate,#5a6680)}
.emp-job-arrow{width:34px;height:34px;border-radius:50%;border:1px solid var(--line,#e4e8f1);display:grid;place-items:center;color:var(--navy-900,#08122a);flex:none;transition:.25s}
.emp-job:hover .emp-job-arrow{background:var(--navy-900,#08122a);color:var(--gold,#c8a24c);border-color:var(--navy-900,#08122a)}
.emp-job-arrow svg{width:16px;height:16px}
.emp-side{position:sticky;top:100px}
.emp-side .cand-card{background:#fff;border:1px solid var(--line,#e4e8f1);border-radius:18px;padding:24px;box-shadow:0 1px 2px rgba(13,26,56,.04)}
.emp-socials{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line,#eef1f7)}
.emp-socials a{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--mist,#f4f6fb);color:var(--navy-800,#0c1a38);transition:.25s}
.emp-socials a:hover{background:var(--navy-900,#08122a);color:var(--gold,#c8a24c)}
.emp-socials svg{width:18px;height:18px}
@media(max-width:980px){.emp-layout{grid-template-columns:1fr}.emp-side{position:static}}
@media(max-width:560px){.emp-head{gap:16px}.emp-logo-lg{width:80px;height:80px}}


/* v7.26 — employer job/application management: tabs, search, candidate cards */
.dash-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.dash-tabs{display:flex;gap:4px;flex-wrap:wrap;background:var(--mist,#f4f6fb);padding:4px;border-radius:12px}
.dash-tabs a{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:9px;font-size:.86rem;font-weight:600;color:var(--slate,#5a6680);text-decoration:none;transition:.2s}
.dash-tabs a:hover{color:var(--navy-900,#08122a)}
.dash-tabs a.on{background:#fff;color:var(--navy-900,#08122a);box-shadow:0 1px 2px rgba(13,26,56,.08)}
.dash-tabs a span{font-size:.72rem;background:rgba(90,102,128,.16);color:inherit;padding:1px 7px;border-radius:50px;font-weight:700}
.dash-tabs a.on span{background:var(--gold,#c8a24c);color:var(--navy-900,#08122a)}
.dash-search{position:relative;display:flex;align-items:center;min-width:220px;flex:1;max-width:320px}
.dash-search svg{position:absolute;left:13px;width:16px;height:16px;color:var(--slate-light,#9aa3b8);pointer-events:none}
.dash-search input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--line,#e4e8f1);border-radius:10px;font-family:inherit;font-size:.9rem;background:#fff}
.dash-search input:focus{outline:none;border-color:var(--gold,#c8a24c);box-shadow:0 0 0 3px rgba(200,162,76,.12)}
.jobs-manage .jm-title{font-weight:600;color:var(--navy-900,#08122a)}
.jm-actions{text-align:right;white-space:nowrap}
.s-expired{background:#fdecef;color:#d2452f}

/* application candidate cards */
.app-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.app-card{display:flex;gap:14px;background:#fff;border:1px solid var(--line,#e4e8f1);border-radius:16px;padding:18px;box-shadow:0 1px 2px rgba(13,26,56,.04)}
.app-av{width:46px;height:46px;border-radius:50%;flex:none;background:linear-gradient(150deg,var(--navy-700,#11264c),var(--navy-900,#08122a));color:var(--gold,#c8a24c);display:grid;place-items:center;font-family:"Newsreader",serif;font-size:1.3rem;font-weight:600}
.app-card-body{flex:1;min-width:0}
.app-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.app-card-top b{display:block;color:var(--navy-900,#08122a)}
.app-card-sub{font-size:.84rem;color:var(--slate,#5a6680)}
.app-card-meta{display:flex;flex-direction:column;gap:5px;margin:10px 0 12px}
.app-card-meta span{display:inline-flex;align-items:center;gap:7px;font-size:.84rem;color:var(--slate,#5a6680);min-width:0}
.app-card-meta svg{width:14px;height:14px;color:var(--gold-deep,#b18a35);flex:none}
.app-card-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.btn-sm{padding:7px 13px;font-size:.8rem}
.app-status-form{margin-left:auto}
.app-status-form select{padding:8px 11px;border:1px solid var(--line,#e4e8f1);border-radius:9px;font-family:inherit;font-size:.82rem;cursor:pointer}
@media(max-width:900px){.app-cards{grid-template-columns:1fr}}
@media(max-width:600px){.dash-toolbar{flex-direction:column;align-items:stretch}.dash-search{max-width:none}.jobs-manage td:nth-child(4),.jobs-manage th:nth-child(4){display:none}}


/* v7.27 — settings danger zone polish */
.set-danger{border:1px solid #f3c9c1;background:#fef7f5}
.set-danger-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.set-danger-ic{width:44px;height:44px;border-radius:12px;flex:none;background:#fdecef;color:#d2452f;display:grid;place-items:center}
.set-danger-ic svg{width:22px;height:22px}
.set-danger-head h3{margin:0 0 4px;color:#c0392b}
.set-danger-head p{margin:0;color:var(--slate,#5a6680);font-size:.92rem;line-height:1.55}


/* v7.28 — employer self-registration on the login page */
.auth-reg-toggle{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#e4e8f1);font-size:.9rem;color:var(--slate,#5a6680);flex-wrap:wrap}
.auth-reg-link{background:none;border:0;color:var(--gold-deep,#b18a35);font-weight:700;cursor:pointer;font-family:inherit;font-size:.9rem;padding:0;text-decoration:underline}
.auth-reg-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line,#e4e8f1)}
.auth-reg-form h4{margin:0 0 14px;font-family:"Newsreader",Georgia,serif;font-size:1.2rem;color:var(--navy-900,#08122a)}
.auth-reg-note{margin:12px 0 0;font-size:.82rem;color:var(--slate-light,#9aa3b8);line-height:1.5}


/* v7.30 — candidate CV format picker */
.cv-format-picker{margin:6px 0 18px;text-align:left}
.cv-format-label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--slate,#5a6680);margin-bottom:10px}
.cv-format-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cv-format-opt{display:block;border:2px solid var(--line,#e4e8f1);border-radius:14px;padding:14px 16px;cursor:pointer;transition:.2s;position:relative}
.cv-format-opt:hover{border-color:var(--gold,#c8a24c)}
.cv-format-opt.on{border-color:var(--gold,#c8a24c);background:#fffdf5}
.cv-format-opt input{position:absolute;opacity:0}
.cv-format-opt b{display:block;color:var(--navy-900,#08122a);font-size:1rem}
.cv-format-opt span{font-size:.82rem;color:var(--slate,#5a6680)}
@media(max-width:520px){.cv-format-opts{grid-template-columns:1fr}}


/* v7.38 — candidate form profile-completion tracker */
.cf-progress{background:#fff;border:1px solid #e4e8f1;border-radius:16px;padding:20px 22px;margin:0 0 22px;box-shadow:0 10px 30px -24px rgba(11,26,51,.5)}
.cf-progress-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.cf-progress-label{font-weight:700;font-size:14px;color:#0b1733;letter-spacing:.01em}
.cf-progress-pct{font-family:"Newsreader",Georgia,serif;font-weight:600;font-size:1.9rem;line-height:1;color:var(--gold-deep,#b18a35)}
.cf-progress-track{height:10px;border-radius:50px;background:#eef1f7;overflow:hidden;margin:12px 0 10px}
.cf-progress-fill{display:block;height:100%;width:0;border-radius:50px;background:linear-gradient(90deg,var(--gold,#c8a24c),var(--gold-deep,#b18a35));transition:width .5s cubic-bezier(.22,.61,.36,1)}
.cf-progress.is-complete .cf-progress-fill{background:linear-gradient(90deg,#1f9d6b,#12805a)}
.cf-progress.is-complete .cf-progress-pct{color:#12805a}
.cf-progress-meta{font-size:12.5px;color:#5a6680}
.cf-progress-meta b{color:#0b1733}
.cf-progress-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.cf-chip{position:relative;width:34px;height:34px;border-radius:9px;border:1px solid #dfe3ec;background:#f7f8fb;color:#7a8398;font-weight:700;font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.18s;padding:0}
.cf-chip:hover{transform:translateY(-2px);box-shadow:0 6px 14px -8px rgba(11,26,51,.5)}
.cf-chip-num{transition:opacity .15s}
.cf-chip-tick{width:15px;height:15px;position:absolute;opacity:0}
.cf-chip-complete{background:linear-gradient(155deg,#25a971,#12805a);border-color:#0f6f4e;color:#fff;box-shadow:0 6px 14px -9px rgba(18,128,90,.7)}
.cf-chip-complete .cf-chip-num{opacity:0}
.cf-chip-complete .cf-chip-tick{opacity:1;color:#fff}
.cf-chip-started{background:linear-gradient(155deg,#f7c959,#e3a92c);border-color:#d29a22;color:#5c4406;box-shadow:0 5px 12px -9px rgba(210,154,34,.75)}
.cf-chip-empty{background:linear-gradient(155deg,#eef1f7,#dde3ec);border-color:#cbd2de;color:#7e889b}
/* legend */
.cf-progress-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px}
.cf-progress-legend .lg{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#5a6680}
.cf-progress-legend .lg i{width:13px;height:13px;border-radius:4px;display:inline-block;flex:none}
.lg-complete i{background:linear-gradient(155deg,#25a971,#12805a)}
.lg-started i{background:linear-gradient(155deg,#f7c959,#e3a92c)}
.lg-empty i{background:linear-gradient(155deg,#eef1f7,#dde3ec);border:1px solid #cbd2de}
@media(max-width:600px){.cf-progress-legend{gap:6px 12px}.cf-progress-legend .lg{font-size:11px}.cf-progress-chips{gap:6px}}
/* per-section state badge in the accordion header */
.sec-state{margin-left:auto;width:14px;height:14px;border-radius:50%;flex:none}
.ss-complete{background:linear-gradient(155deg,#25a971,#12805a);box-shadow:0 0 0 3px rgba(37,169,113,.16)}
.ss-started{background:linear-gradient(155deg,#f7c959,#e3a92c);box-shadow:0 0 0 3px rgba(227,169,44,.18)}
.ss-empty{background:#dde3ec;box-shadow:inset 0 0 0 1px #cbd2de}
.cf-card .sec-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:600px){
	.cf-progress{padding:16px}
	.cf-progress-pct{font-size:1.6rem}
	.cf-chip{width:30px;height:30px;font-size:11.5px}
	.sec-state{margin-left:auto}
}


/* v7.44 — dashboard sidebar collapse */
.dash-layout{transition:grid-template-columns .34s cubic-bezier(.22,.61,.36,1)}
.dash-side{position:relative}
.dash-collapse{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:9px;border:1px solid var(--line,#e4e8f1);background:#fff;color:var(--slate,#5a6680);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:.22s;z-index:3}
.dash-collapse:hover{background:var(--navy-900,#08122a);color:#fff;border-color:var(--navy-900,#08122a)}
.dash-collapse svg{width:16px;height:16px;transition:transform .3s cubic-bezier(.22,.61,.36,1)}
.dash-collapse.is-collapsed svg{transform:rotate(180deg)}
.dash-nav a span,.dash-user-meta{transition:opacity .2s ease}
/* collapsed (desktop only) */
@media(min-width:1081px){
	.dash-layout.dash-collapsed{grid-template-columns:76px 1fr}
	.dash-collapsed .dash-side{padding:16px 10px}
	.dash-collapsed .dash-collapse{right:50%;transform:translateX(50%)}
	.dash-collapsed .dash-user{grid-template-columns:1fr;justify-items:center;padding-top:34px}
	.dash-collapsed .dash-user-meta,.dash-collapsed .dash-bell{display:none}
	.dash-collapsed .dash-nav{align-items:center}
	.dash-collapsed .dash-nav a{justify-content:center;padding:12px 0;width:100%}
	.dash-collapsed .dash-nav a span{opacity:0;width:0;overflow:hidden;white-space:nowrap;display:inline-block}
	.dash-collapsed .dash-nav a svg{width:20px;height:20px}
	.dash-collapsed .dash-logout{font-size:0;text-align:center}
	.dash-collapsed .dash-nav a::before{display:none}
}
@media(max-width:1080px){ .dash-collapse{display:none} }

/* v9.24 — mobile dashboard menu toggle */
.dash-mobile-toggle{display:none}
@media(max-width:1080px){
	.dash-mobile-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:#fff;border:1px solid var(--line,#e4e8f1);border-radius:14px;padding:12px 14px;cursor:pointer;font-family:inherit;box-shadow:0 1px 2px rgba(13,26,56,.05)}
	.dash-mobile-toggle .dmt-user{display:flex;align-items:center;gap:11px;min-width:0}
	.dash-mobile-toggle .dmt-label{display:flex;flex-direction:column;text-align:left;min-width:0}
	.dash-mobile-toggle .dmt-label b{font-size:.94rem;color:var(--navy-900,#08122a);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	.dash-mobile-toggle .dmt-label span{font-size:.76rem;color:var(--slate,#5a6680);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
	.dash-mobile-toggle .dmt-caret{width:20px;height:20px;color:var(--slate,#5a6680);flex:none;transition:transform .3s cubic-bezier(.22,.61,.36,1)}
	.dash-mobile-toggle.is-open .dmt-caret{transform:rotate(180deg)}
	.dash-side .dash-user{display:none}
	.dash-side .dash-nav{display:none;flex-direction:column;flex-wrap:nowrap;margin-top:10px}
	.dash-side .dash-nav.is-open{display:flex;animation:dashNavIn .3s cubic-bezier(.22,.61,.36,1)}
	.dash-side .dash-nav a span{display:inline}
	.dash-side .dash-nav a{padding:13px 14px}
}
@keyframes dashNavIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* v7.49 gate helper note */
.candidate-form .gate-note{display:none;margin:8px 0 2px;font-size:12.5px;font-weight:600;color:#0f6f4e}

/* v7.51 — NAATI merged into the Languages section (no separate numbered card) */
.candidate-form .cf-card-merge{margin-top:0;border-top:0;border-top-left-radius:0;border-top-right-radius:0;box-shadow:none;padding-top:2px}
.candidate-form .cf-card:has(+ .cf-card-merge){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0;margin-bottom:0;box-shadow:none;padding-bottom:8px}
.candidate-form .cf-merge-head{margin-top:10px;padding-top:16px;border-top:1px solid var(--line,#e4e8f1)}

/* v7.56 — match Case Studies / Candidate Stories header→slider spacing to Testimonials */
.esv-story-section .sec-head{margin-bottom:0}
.esv-story-section .sec-head + .story-slider{margin-top:34px}
.story-slider{margin-top:34px}

/* v7.63 — case-study slider: labelled country facts */
.story-facts{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:7px}
.story-facts li{display:flex;flex-direction:column;gap:1px}
.story-facts li span{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep,#b18a35)}
.story-facts li b{font-size:.9rem;color:#08122a;font-weight:600;line-height:1.3}

/* v7.68 — two CV preview buttons */
.cv-preview-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:6px}


/* v7.72 — Health: highlighted intro + tick-mark Yes/No pills */
.candidate-form .hm-intro{display:flex;align-items:flex-start;gap:11px;background:linear-gradient(135deg,#fbf3df,#f6e8c6);border:1px solid #e6c766;border-left:4px solid var(--gold,#c8a24c);border-radius:12px;padding:14px 16px;margin:18px 0 16px}
.candidate-form .hm-intro svg{width:20px;height:20px;color:#b18a35;flex:none;margin-top:1px}
.candidate-form .hm-intro b{font-size:14px;font-weight:700;color:#5c4406;line-height:1.5}
.hm-opt{position:relative;padding-left:32px !important}
.hm-opt::before{content:"";position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;border-radius:5px;border:1.5px solid #c3ccdd;background:#fff;transition:.15s}
.hm-opt:has(input:checked)::before{border-color:var(--gold,#c8a24c);background:var(--gold,#c8a24c)}
.hm-opt:has(input:checked)::after{content:"";position:absolute;left:16px;top:47%;width:4px;height:8px;border:solid #0b1733;border-width:0 2px 2px 0;transform:translateY(-60%) rotate(45deg)}


/* v7.73 — Health: group-wise All Yes / All No quick-set */
.candidate-form .hm-group-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.candidate-form .hm-group-head .cf-subhead{margin:0}
.candidate-form .hm-groupall{margin-left:auto;display:inline-flex;gap:6px}
.candidate-form .hm-setall{border:1px solid #d8deeb;background:#fff;border-radius:50px;padding:5px 14px;font-size:12px;font-weight:700;letter-spacing:.02em;cursor:pointer;color:#5a6680;transition:.16s}
.candidate-form .hm-setall.y:hover{border-color:#1f9d6b;background:#e7f6ef;color:#0f6f4e}
.candidate-form .hm-setall.n:hover{border-color:#c3ccdd;background:#f4f6fb;color:#3a4358}
@media(max-width:640px){.candidate-form .hm-groupall{margin-left:0;width:100%}.candidate-form .hm-setall{flex:1;text-align:center}}


/* v7.74 — per-subsection highlighted intro (slightly lighter than the main one) */
.candidate-form .hm-intro-sub{margin:2px 0 14px;padding:11px 14px}
.candidate-form .hm-intro-sub b{font-size:13px}


/* v7.79 — declaration warning modal */
.esv-modal-ov{position:fixed;inset:0;z-index:100000;background:rgba(8,18,42,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s}
.esv-modal-ov.show{opacity:1}
.esv-modal{background:#fff;border-radius:18px;max-width:420px;width:100%;padding:30px 28px;text-align:center;box-shadow:0 40px 90px -30px rgba(8,18,42,.6);transform:translateY(12px) scale(.97);transition:transform .22s cubic-bezier(.22,.61,.36,1)}
.esv-modal-ov.show .esv-modal{transform:none}
.esv-modal-ic{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#fbf3df;color:#b18a35;margin-bottom:14px}
.esv-modal-ic svg{width:28px;height:28px}
.esv-modal h4{font-family:"Newsreader",Georgia,serif;font-size:1.4rem;color:#0b1733;margin:0 0 8px}
.esv-modal p{color:#5a6680;font-size:.98rem;line-height:1.6;margin:0 0 22px}
.esv-modal-btn{background:linear-gradient(135deg,#c8a24c,#b18a35);color:#0b1733;border:0;border-radius:50px;padding:13px 30px;font-weight:700;font-size:.95rem;cursor:pointer;transition:.18s}
.esv-modal-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}


/* v8.01 — gate validation warning banner */
.candidate-form .cf-warn{display:none;align-items:center;gap:10px;margin:12px 0 4px;padding:12px 15px;background:#fdecea;border:1px solid #f5c2bd;border-left:4px solid #d2452f;border-radius:10px;color:#a12a1b;font-size:13.5px;font-weight:600;line-height:1.45}
.candidate-form .cf-warn svg{width:19px;height:19px;color:#d2452f;flex:none}
.candidate-form .cf-card-invalid{box-shadow:0 0 0 2px rgba(210,69,47,.25)}


/* v8.05 — required-field cue on gated sections (single source of truth:
   the CSS star; hide any inline .req span inside a gatezone so it never doubles) */
.candidate-form [data-gatezone] .field > label::after{content:" *";color:#d2452f;font-weight:700}
.candidate-form [data-gatezone] .field > label .req{display:none}
.candidate-form .gate-note{display:none;align-items:center;gap:8px;margin:8px 0 2px;padding:9px 12px;background:#fff7e6;border:1px solid #f0d28a;border-radius:9px;color:#8a6a1e;font-size:12.5px;font-weight:600}
.candidate-form .gate-note::before{content:"*";color:#d2452f;font-weight:800;font-size:15px}

/* v8.09 apprenticeship required markers */
.candidate-form [data-repeat="Apprenticeship"] .record .grid > .field:not(:first-child) > label::after{content:" *";color:#d2452f;font-weight:700}


/* ============================================================
   v8.10 — smoother accordion section transitions + stable scroll
   ============================================================ */
html{scroll-behavior:smooth}
.candidate-form .cf-card{scroll-margin-top:120px;transition:box-shadow .3s ease,border-color .3s ease}
/* animate the collapsible body so open/close glides instead of jumping */
.candidate-form .cf-card .cf-body,.candidate-form .cf-card > .grid,.candidate-form .cf-card [data-repeat],.candidate-form .cf-card .sec-sub{
	transition:opacity .32s ease;
}
.candidate-form .cf-card:not(.is-open) .cf-body{opacity:0}
.candidate-form .cf-card.is-open .cf-body{opacity:1}
/* keep the section header comfortably clear of the sticky save bar when focused */
.candidate-form .cf-card.is-open{scroll-margin-top:130px}
@media(max-width:860px){ .candidate-form .cf-card{scroll-margin-top:96px} }

/* v8.13 — ensure hidden conditional fields truly hide (expertise details, etc.) */
.candidate-form .field[hidden],.candidate-form [hidden]{display:none !important}

/* v8.14 diary validation */
.diary-form .field-error input,.diary-form .field-error textarea,.diary-form input.field-error,.diary-form textarea.field-error{border-color:#d2452f !important;box-shadow:0 0 0 3px rgba(210,69,47,.15) !important}
.esv-flash.err,.diary-warn{background:#fdecea;border:1px solid #f5c2bc;color:#b3261e;padding:12px 15px;border-radius:10px;font-size:13.5px;font-weight:600}

/* v8.36 submit loading spinner */
.esv-spin{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;vertical-align:-2px;margin-right:8px;animation:esvspin .7s linear infinite}
@keyframes esvspin{to{transform:rotate(360deg)}}
button.is-saving{opacity:.9;cursor:progress}

/* v8.37 inline field error */
.field-error-msg{margin:6px 0 0;font-size:12.5px;font-weight:600;color:#d2452f;line-height:1.45}
.candidate-form [aria-invalid="true"]{border-color:#d2452f !important;box-shadow:0 0 0 3px rgba(210,69,47,.12) !important}

/* v8.39 a11y focus */
.candidate-form .field input:focus-visible,.candidate-form .field select:focus-visible,.candidate-form .field textarea:focus-visible{outline:2px solid #b18a35;outline-offset:1px}
.candidate-form .sec-head{cursor:pointer}
.candidate-form .sec-head:focus-visible{outline:2px solid #b18a35;outline-offset:3px;border-radius:8px}


/* v8.40 — forms audit Step 6: mobile validation polish */
.candidate-form .field-error-msg{font-size:12.5px;font-weight:600;color:#c0392b;margin-top:6px;line-height:1.4}
.candidate-form .field-error{outline:2px solid #e0503a;outline-offset:1px;border-radius:8px}
.candidate-form [aria-invalid="true"]{outline:2px solid #e0503a;outline-offset:1px}
/* keep a focused/invalid field clear of the sticky save bar on phones */
@media(max-width:640px){
	.candidate-form .field-error{scroll-margin-top:120px}
	.candidate-form .field-error-msg{font-size:13px}
	.cf-savebar{flex-direction:column;align-items:stretch;gap:10px}
	.cf-savebar .btn{width:100%;justify-content:center}
	.auth-error,.auth-success{font-size:13.5px;line-height:1.5}
}


/* v8.42 — required-field asterisk */
.candidate-form .req{color:#d0021b;font-weight:700;margin-left:2px}

.esv-photo-remove{margin-top:10px;cursor:pointer;display:inline-flex;align-items:center;border:1px solid var(--line,#e4e8f1);background:#fff;border-radius:9px;padding:9px 15px;font-weight:600;font-size:.85rem;color:var(--slate,#5a6680)}
.esv-photo-remove:hover{border-color:#e0503a;color:#b3261e}
.esv-photo-remove.is-armed{background:#fbeaea;border-color:#e0503a;color:#b3261e}
.photo-del-row{margin-top:8px;display:flex;align-items:center;flex-wrap:wrap}

/* v8.75 back-to-top */
.esv-backtop{position:fixed;right:22px;bottom:26px;z-index:9998;display:inline-flex;align-items:center;gap:7px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s;background:linear-gradient(135deg,#0b1733,#11264c);color:#fff;border:0;border-radius:50px;padding:12px 18px;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 12px 30px -12px rgba(8,18,42,.7)}
.esv-backtop.show{opacity:1;visibility:visible;transform:none}
.esv-backtop:hover{background:linear-gradient(135deg,#11264c,#1b3a6b)}
.esv-backtop svg{width:16px;height:16px}
.esv-backtop .esv-gold-tip{color:var(--gold,#c8a24c)}
@media(max-width:600px){.esv-backtop{right:14px;bottom:16px;padding:11px 15px}.esv-backtop span{display:none}}


/* v9.12 — candidate PUBLIC view: About/summary clean left alignment (read-only page only). */
.cand-main .entry-content,
.cand-main .entry-content p,
.cand-main .cand-summary,
.cand-main .cand-summary p{text-align:left;max-width:none}


/* ============================================================
   v9.14 — Candidate hero REDESIGN (CSS-only). Solid professional
   navy, no gradients, refined cards + typography. Markup/logic
   unchanged. Overrides .cand-hero-v2 / .chv2-*.
   ============================================================ */
.cand-hero-v2{background:#0d1b33 !important;color:#eaeef6;padding:64px 0 58px;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}
.cand-hero-v2.has-bg{background:#0d1b33 !important}
.cand-hero-v2 .chv2-bg{display:none !important} /* drop the dotted-route graphic */
.cand-hero-v2 .chv2-grid{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center}
/* photo */
.cand-hero-v2 .chv2-photo{width:210px;height:250px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#101f3b;box-shadow:0 20px 50px -24px rgba(0,0,0,.6);display:block}
.cand-hero-v2 .chv2-photo img,.cand-hero-v2 .cand-avatar-zoom{width:100%;height:100%;object-fit:cover;display:block;padding:0;border:0;cursor:zoom-in;background:none}
.cand-hero-v2 .chv2-initial{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-family:"Newsreader",serif;font-size:4rem;color:#c8a24c}
.cand-hero-v2 .chv2-avail{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:12.5px;color:#9fb0cc;font-weight:600}
.cand-hero-v2 .chv2-avail-dot{width:8px;height:8px;border-radius:50%;background:#3fb37f;box-shadow:0 0 0 3px rgba(63,179,127,.2)}
/* headings */
.cand-hero-v2 .chv2-kicker{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#c8a24c}
.cand-hero-v2 .chv2-name{font-family:"Newsreader",Georgia,serif;font-weight:600;font-size:clamp(2.1rem,3.6vw,2.9rem);line-height:1.06;color:#fff;margin:12px 0 8px;letter-spacing:-.01em}
.cand-hero-v2 .chv2-subline .chv2-pref{font-size:14.5px;color:#aebbd2}
.cand-hero-v2 .chv2-subline .chv2-pref b{color:#e7ecf5;font-weight:600}
/* occupation / current role — clean bordered chips */
.cand-hero-v2 .chv2-roles{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.cand-hero-v2 .chv2-role{display:flex;flex-direction:column;gap:3px;background:#12203c;border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:12px 18px;min-width:180px}
.cand-hero-v2 .chv2-role-l{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8ea0bd}
.cand-hero-v2 .chv2-role-v{font-size:15px;font-weight:600;color:#fff}
/* stat cards */
.cand-hero-v2 .chv2-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;max-width:680px}
.cand-hero-v2 .chv2-stat{display:flex;align-items:flex-start;gap:13px;background:#12203c;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:16px 18px;backdrop-filter:none}
.cand-hero-v2 .chv2-stat.is-expiry{border-color:rgba(200,162,76,.45);background:#17223c}
.cand-hero-v2 .chv2-stat-ic{flex:none;width:38px;height:38px;border-radius:10px;background:rgba(200,162,76,.14);display:grid;place-items:center;color:#c8a24c}
.cand-hero-v2 .chv2-stat-ic svg{width:19px;height:19px}
.cand-hero-v2 .chv2-stat-lbl{display:block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8ea0bd;line-height:1.3}
.cand-hero-v2 .chv2-stat-val{display:block;font-size:15px;font-weight:600;color:#fff;margin-top:3px}
.cand-hero-v2 .chv2-stat.is-expiry .chv2-stat-val{color:#e7c66a}
/* relocation */
.cand-hero-v2 .chv2-relo{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px}
.cand-hero-v2 .chv2-relo-lbl{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8ea0bd}
.cand-hero-v2 .chv2-relo-chip{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:50px;padding:7px 16px;font-size:13px;font-weight:600;color:#e7ecf5}
@media(max-width:820px){
	.cand-hero-v2 .chv2-grid{grid-template-columns:1fr;gap:26px;text-align:left}
	.cand-hero-v2 .chv2-photo{width:150px;height:180px}
	.cand-hero-v2 .chv2-stats{grid-template-columns:1fr}
}


/* v9.15 — hero: guarantee a FLAT solid background (no gradient) when no bg
   image is set; a bg image uses a single flat overlay (set inline). */
.cand-hero-v2:not(.has-bg){background:#0d1b33 !important;background-image:none !important}


/* ============================================================
   v9.16 — Candidate Terms & Conditions acceptance modal.
   ============================================================ */
.esv-terms-overlay{position:fixed;inset:0;z-index:100000;background:rgba(8,16,34,.72);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px}
.esv-terms-modal{background:#fff;width:100%;max-width:720px;max-height:90vh;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.esv-terms-head{padding:24px 28px 16px;border-bottom:1px solid #eceef4}
.esv-terms-head h2{font-family:"Newsreader",Georgia,serif;font-weight:600;font-size:1.5rem;color:#0d1b33;margin:0 0 6px}
.esv-terms-head p{margin:0;font-size:13.5px;color:#5a6680}
.esv-terms-body{overflow-y:auto;padding:22px 28px;flex:1;scrollbar-width:thin;scrollbar-color:#c8a24c #eef1f8}
.esv-terms-body::-webkit-scrollbar{width:10px}
.esv-terms-body::-webkit-scrollbar-track{background:#eef1f8;border-radius:8px}
.esv-terms-body::-webkit-scrollbar-thumb{background:#c8a24c;border-radius:8px;border:2px solid #eef1f8}
.esv-terms-body h4{font-size:14px;font-weight:700;color:#0d1b33;margin:20px 0 8px;letter-spacing:.01em}
.esv-terms-body h4:first-child{margin-top:0}
.esv-terms-body p{font-size:13.5px;line-height:1.7;color:#333;margin:0 0 11px}
.esv-terms-end{height:1px}
.esv-terms-scrollhint{text-align:center;font-size:12.5px;font-weight:600;color:#b18a35;padding:8px;background:#fbf7ee;border-top:1px solid #f0e6cf}
.esv-terms-foot{padding:18px 28px 22px;border-top:1px solid #eceef4;background:#fafbfe}
.esv-terms-agree{display:flex;align-items:flex-start;gap:11px;font-size:13.5px;color:#8a93a8;cursor:not-allowed;margin-bottom:16px}
.esv-terms-agree.ready{color:#1e2538;cursor:pointer}
.esv-terms-agree input{width:18px;height:18px;margin-top:1px;accent-color:#1f8a5b;flex:none}
.esv-terms-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.esv-terms-decline{font-size:13.5px;font-weight:600;color:#c0392b;text-decoration:none;padding:11px 6px}
.esv-terms-decline:hover{text-decoration:underline}
.esv-terms-confirm{background:#0d1b33;color:#fff;border:0;border-radius:50px;padding:13px 30px;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;transition:.2s}
.esv-terms-confirm:hover:not(:disabled){background:#11264c}
.esv-terms-confirm:disabled{background:#c3cbdb;color:#eef;cursor:not-allowed}
@media(max-width:560px){
	.esv-terms-overlay{padding:0}
	.esv-terms-modal{max-width:none;max-height:100vh;height:100vh;border-radius:0}
	.esv-terms-head{padding:20px 18px 14px}
	.esv-terms-body{padding:18px}
	.esv-terms-foot{padding:16px 18px 20px}
	.esv-terms-actions{flex-direction:column-reverse;align-items:stretch}
	.esv-terms-confirm{width:100%}
	.esv-terms-decline{text-align:center}
}


/* v9.17 — Terms text: discourage easy copying (select/context/drag disabled) */
.esv-terms-body,.esv-terms-body *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}


/* ============================================================
   v9.18 — CV "Coming Soon" lock + Admin Preview Tools
   ============================================================ */
.cv-soon-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#b18a35;background:#fbf7ee;border:1px solid #f0e6cf;border-radius:50px;padding:3px 11px;vertical-align:middle;margin-left:8px}
.dash-nav a.dash-locked{opacity:.6}
.dash-nav .dash-soon{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#b18a35;background:#fbf7ee;border-radius:50px;padding:1px 7px;margin-left:6px}
.cv-soon-card{background:#fff;border:1px solid var(--line,#e4e8f1);border-radius:18px;padding:44px 34px;text-align:center;max-width:560px;margin:10px auto;box-shadow:0 1px 2px rgba(13,26,56,.04)}
.cv-soon-ic{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:16px;background:#fbf7ee;color:#b18a35;margin-bottom:18px}
.cv-soon-ic svg{width:32px;height:32px}
.cv-soon-card h2{font-family:"Newsreader",serif;font-weight:600;font-size:1.55rem;color:#0d1b33;margin:0 0 12px}
.cv-soon-card p{color:#5a6680;line-height:1.7;max-width:44ch;margin:0 auto 22px}
.cv-soon-overlay[hidden]{display:none !important}
.cv-soon-overlay{position:fixed;inset:0;z-index:99999;background:rgba(8,16,34,.6);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:22px}
.cv-soon-modal{background:#fff;border-radius:18px;max-width:460px;padding:36px 32px;text-align:center;box-shadow:0 40px 90px -30px rgba(0,0,0,.55)}
.cv-soon-modal h2{font-family:"Newsreader",serif;font-weight:600;font-size:1.4rem;color:#0d1b33;margin:0 0 12px}
.cv-soon-modal p{color:#5a6680;line-height:1.7;margin:0 0 22px}
.admin-cv-tools{margin-top:16px;border:1px dashed #b7a15e;background:#fbf7ee;border-radius:14px;padding:18px}
.admin-cv-tools .act-tag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8a6d1e;background:#f0e6cf;border-radius:50px;padding:4px 11px;margin-bottom:8px}
.admin-cv-tools p{font-size:12.5px;color:#7a6a3e;margin:0 0 12px;line-height:1.5}
.admin-cv-tools .act-btn{width:100%;margin-bottom:8px}
.admin-cv-tools .act-gen-ok{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#1f7a4d;background:#e9f6ee;border:1px solid #b6e0c7;border-radius:10px;padding:9px 12px;margin:4px 0 10px}
.admin-cv-tools .act-gen-ok svg{width:16px;height:16px;flex:none}
.admin-cv-tools .act-gen-ok[hidden],.admin-cv-tools .act-previews[hidden]{display:none}


/* ====================================================================
   v10.6.0 — Candidate dashboard polish
   "View public profile" button: clear separation from the page heading
   and the profile form below; stacks neatly on small screens.
   ==================================================================== */
.dash-head{row-gap:12px;margin-bottom:30px;position:relative;z-index:1}
.dash-head h1{margin:0}
.dash-head .btn{white-space:nowrap;flex:none;margin-left:auto}
.dash-head + .resume-form,.dash-head + form,.dash-head + .candidate-form{margin-top:4px}
@media(max-width:760px){
	.dash-head{flex-direction:column;align-items:center;text-align:center;gap:12px;margin-bottom:24px}
	.dash-head .btn{margin-left:0}
}
