/*
Theme Name: SAM Manpower
Theme URI: https://sammanpower.com
Author: SAM Manpower & Career Services LLP
Description: Custom WordPress theme for SAM Manpower & Career Services LLP — a recruitment agency landing page built for speed and 30-day hiring.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sam-manpower
*/

/* ==========================================================================
   0. Reset & Base
   ========================================================================== */
:root{
	--navy:#152B52;
	--navy-2:#1E3E75;
	--blue:#2F5FD6;
	--blue-dark:#1E45AC;
	--bg:#FFFFFF;
	--bg-soft:#F3F6FC;
	--bg-soft-2:#EAF0FB;
	--text:#1B2430;
	--text-muted:#5B6474;
	--border:#E4E9F2;
	--white:#FFFFFF;
	--radius-lg:16px;
	--radius-md:12px;
	--radius-sm:8px;
	--shadow-sm:0 2px 10px rgba(21,43,82,0.06);
	--shadow-md:0 12px 30px rgba(21,43,82,0.10);
	--font-head:'Sora', sans-serif;
	--font-body:'Inter', sans-serif;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:hidden; }
body{
	margin:0;
	font-family:var(--font-body);
	color:var(--text);
	background:var(--bg);
	font-size:16px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}
body.nav-open{ overflow:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ font-family:var(--font-head); color:var(--navy); line-height:1.2; margin:0 0 .5em; font-weight:700; }
h1{ font-size:clamp(2.1rem, 4vw, 3.2rem); }
h2{ font-size:clamp(1.7rem, 3vw, 2.4rem); }
h3{ font-size:1.15rem; }
p{ margin:0 0 1em; color:var(--text-muted); }
.container{ max-width:1180px; margin:0 auto; padding:0 24px; }
.container-narrow{ max-width:820px; }
.section{ padding:80px 0; }
.screen-reader-text{ position:absolute; clip:rect(1px,1px,1px,1px); overflow:hidden; height:1px; width:1px; }
:focus-visible{ outline:3px solid var(--blue); outline-offset:2px; }

@media (prefers-reduced-motion: reduce){
	*{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* ==========================================================================
   1. Buttons & badges
   ========================================================================== */
.btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:14px 26px; border-radius:var(--radius-sm); font-weight:600; font-size:.95rem;
	border:1px solid transparent; transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
	white-space:nowrap;
}
.btn svg{ width:18px; height:18px; }
.btn-primary{ background:var(--blue); color:#fff; box-shadow:0 8px 20px rgba(47,95,214,.25); }
.btn-primary:hover{ background:var(--blue-dark); transform:translateY(-2px); }
.btn-outline{ background:#fff; color:var(--blue); border-color:var(--blue); }
.btn-outline:hover{ background:var(--bg-soft-2); transform:translateY(-2px); }
.btn-outline-light{ background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.5); backdrop-filter:blur(4px); }
.btn-outline-light:hover{ background:rgba(255,255,255,.18); transform:translateY(-2px); }
.btn-sm{ padding:10px 20px; font-size:.88rem; }

.eyebrow-badge{
	display:inline-flex; align-items:center; gap:8px; padding:7px 16px;
	border-radius:999px; background:rgba(255,255,255,.12); color:#fff;
	font-size:.78rem; font-weight:600; letter-spacing:.03em; text-transform:uppercase;
	border:1px solid rgba(255,255,255,.25); margin-bottom:20px;
}
.eyebrow-badge svg{ width:14px; height:14px; }
.eyebrow-badge-light{ background:rgba(255,255,255,.14); }
.section .eyebrow-badge:not(.eyebrow-badge-light){ background:var(--bg-soft-2); color:var(--blue-dark); border-color:var(--bg-soft-2); }

.icon-badge{
	width:52px; height:52px; border-radius:14px; background:var(--bg-soft-2);
	display:flex; align-items:center; justify-content:center; color:var(--blue); margin-bottom:18px;
}
.icon-badge svg{ width:24px; height:24px; }
.icon-badge-sm{ width:44px; height:44px; border-radius:12px; }
.icon-badge-sm svg{ width:20px; height:20px; }

.text-link{ display:inline-flex; align-items:center; gap:6px; color:var(--blue); font-weight:600; font-size:.9rem; }
.text-link svg{ width:15px; height:15px; transition:transform .15s ease; }
.text-link:hover svg{ transform:translateX(3px); }
.text-accent{ color:var(--blue); }

/* ==========================================================================
   2. Header
   ========================================================================== */
.site-header{
	position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid var(--border);
}
#about, #employers, #payroll, #sam-assured{ scroll-margin-top:92px; }
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:76px; }
.header-cta{ display:flex; align-items:center; gap:10px; }
.site-branding{ flex-shrink:0; }
.site-branding .custom-logo-link,
.site-logo{ display:flex; align-items:center; line-height:0; }
.site-logo img,
.site-branding .custom-logo{
	max-height:58px;
	max-width:220px;
	width:auto;
	height:auto;
	object-fit:contain;
}
.footer-logo-link{
	display:inline-block;
	margin-bottom:10px;
	line-height:0;
}
.footer-logo-link img,
.footer-logo-link .custom-logo{
	max-height:56px;
	max-width:200px;
	width:auto;
	background:#fff;
	padding:6px 10px;
	border-radius:8px;
	object-fit:contain;
}
.nav-menu{ display:flex; gap:32px; }
.nav-menu a{ font-weight:600; font-size:.95rem; color:var(--text); padding:8px 2px; position:relative; }
.nav-menu li.current-menu-item a, .nav-menu a:hover{ color:var(--blue); }
.nav-menu li.current-menu-item a::after{
	content:''; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--blue); border-radius:2px;
}
.menu-toggle{ display:none; background:none; border:0; width:36px; height:30px; flex-direction:column; justify-content:space-between; padding:2px 0; flex-shrink:0; }
.menu-toggle span{ display:block; height:2px; background:var(--navy); border-radius:2px; }
.mobile-nav-cta{ display:none; }

.breadcrumbs{ margin-bottom:18px; }
.breadcrumb-list{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; margin:0; padding:0; list-style:none; font-size:.8rem; }
.breadcrumb-list li{ display:flex; align-items:center; gap:6px; color:rgba(255,255,255,.7); }
.breadcrumb-list li + li::before{ content:'›'; color:rgba(255,255,255,.45); font-size:1rem; line-height:1; }
.breadcrumb-list a{ color:rgba(255,255,255,.75); font-weight:500; transition:color .15s ease; }
.breadcrumb-list a:hover{ color:#fff; }
.breadcrumb-list li[aria-current="page"]{ color:#fff; font-weight:600; }

.legal-content .legal-block{ margin-bottom:28px; }
.legal-content h2{ font-family:var(--font-head); color:var(--navy); font-size:1.2rem; margin:0 0 10px; }
.legal-content p{ margin:0; color:var(--text-muted); }

/* ==========================================================================
   Hiring requirement form
   ========================================================================== */
.hiring-form{ background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-lg); padding:32px; box-shadow:var(--shadow-sm); }
.form-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:0 20px; }
.hiring-form p{ margin:0 0 18px; }
.hiring-form label{ display:block; margin-bottom:7px; color:var(--navy); font-size:.9rem; font-weight:600; }
.hiring-form label span{ color:var(--blue); }
.hiring-form input, .hiring-form select, .hiring-form textarea{ width:100%; border:1px solid var(--border); border-radius:var(--radius-sm); background:#fff; color:var(--text); font:inherit; padding:11px 12px; }
.hiring-form textarea{ resize:vertical; }
.hiring-form input:focus, .hiring-form select:focus, .hiring-form textarea:focus{ border-color:var(--blue); outline:2px solid rgba(47,95,214,.15); }
.form-submit{ margin:8px 0 0 !important; }
.form-honeypot{ position:absolute; left:-9999px; }
.form-notice{ margin-bottom:20px; padding:14px 20px; border-radius:var(--radius-sm); font-weight:600; display:flex; align-items:center; gap:10px; font-size:1rem; }
.form-notice svg{ width:20px; height:20px; flex-shrink:0; }
.form-notice-success{ background:#e9f8ef; color:#176c3b; border:1px solid #bce7cb; }
.form-notice-error{ background:#fff0f0; color:#9f2525; border:1px solid #f1c4c4; }

/* ==========================================================================
   3. Hero
   ========================================================================== */
.hero{
	position:relative; padding:130px 0 100px; color:#fff; text-align:center; overflow:hidden;
	background:linear-gradient(180deg, #35405A 0%, #232C41 100%);
	background-size:cover; background-position:center;
}
.hero::before{
	content:''; position:absolute; inset:0;
	background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><circle cx="20" cy="20" r="1.4" fill="white" opacity="0.08"/></svg>');
}
.hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(21,32,54,.75), rgba(21,32,54,.9)); }
.hero-inner{ position:relative; max-width:820px; }
.hero-title{ color:#fff; margin-bottom:20px; }
.hero-sub{ color:rgba(255,255,255,.82); max-width:640px; margin:0 auto 34px; font-size:1.05rem; }
.hero-actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ==========================================================================
   4. Stats strip
   ========================================================================== */
.stats-strip{ background:var(--bg-soft); padding:44px 0; border-bottom:1px solid var(--border); }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.stat-item{ display:flex; flex-direction:column; gap:4px; }
.stat-num{ font-family:var(--font-head); font-weight:800; font-size:1.8rem; color:var(--navy); }
.stat-label{ font-size:.78rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; }

/* ==========================================================================
   5. Section heads & grids
   ========================================================================== */
.section-head{ text-align:center; max-width:640px; margin:0 auto 50px; }
.section-head-left{ text-align:left; margin:0 0 40px; max-width:640px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }

/* Focus cards */
.focus-card, .why-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:32px 28px; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease;
}
.focus-card:hover, .why-card:hover, .service-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.focus-card h3{ margin-bottom:8px; }
.focus-section{ background:var(--bg-soft); }

/* Services */
.service-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:30px 26px; transition:transform .2s ease, box-shadow .2s ease;
}
.service-card h3{ margin-bottom:8px; font-size:1.05rem; }
.service-card p{ font-size:.92rem; margin-bottom:16px; }

/* ==========================================================================
   6. Recruitment journey
   ========================================================================== */
.journey-section{ background:var(--bg-soft); }
.journey-track{
	display:grid; grid-template-columns:repeat(6,1fr); gap:16px; background:#fff;
	border-radius:var(--radius-lg); padding:36px 24px; box-shadow:var(--shadow-sm); position:relative;
}
.journey-step{ text-align:center; padding:0 6px; }
.journey-icon{
	width:52px; height:52px; border-radius:50%; background:var(--bg-soft-2); color:var(--blue);
	display:flex; align-items:center; justify-content:center; margin:0 auto 12px; transition:background .2s, color .2s;
}
.journey-icon svg{ width:22px; height:22px; }
.journey-step.is-active .journey-icon{ background:var(--blue); color:#fff; }
.journey-step-num{ display:block; font-size:.68rem; font-weight:700; color:var(--blue); letter-spacing:.05em; text-transform:uppercase; margin-bottom:4px; }
.journey-step strong{ display:block; font-family:var(--font-head); font-size:.95rem; color:var(--navy); margin-bottom:4px; }
.journey-step p{ font-size:.78rem; margin:0; }

/* ==========================================================================
   7. SAM Assured
   ========================================================================== */
.assured-section{ background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%); color:#fff; }
.assured-inner{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.assured-copy h2{ color:#fff; }
.assured-copy p{ color:rgba(255,255,255,.8); }
.assured-steps{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.assured-step{
	background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15); border-radius:var(--radius-md);
	padding:20px; display:flex; align-items:center; gap:14px; transition:background .2s;
}
.assured-step svg{ width:26px; height:26px; flex-shrink:0; color:#9DB6F5; }
.assured-step span{ font-family:var(--font-head); font-weight:700; font-size:.9rem; }
.assured-step small{ font-family:var(--font-body); font-weight:400; color:rgba(255,255,255,.65); font-size:.75rem; }
.assured-step.is-active{ background:var(--blue); border-color:var(--blue); }
.assured-step.is-active svg{ color:#fff; }

/* ==========================================================================
   7b. Payroll section (home page)
   ========================================================================== */
.payroll-section{ background:var(--bg-soft); }
.payroll-inner{ display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:center; }
.payroll-copy h2{ margin-bottom:16px; }
.payroll-checklist{ display:flex; flex-direction:column; gap:12px; margin:24px 0 30px; }
.payroll-checklist li{ display:flex; align-items:center; gap:10px; font-weight:600; color:var(--navy); font-size:.95rem; }
.payroll-checklist svg{ width:18px; height:18px; color:var(--blue); flex-shrink:0; }
.payroll-stats-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:36px 28px; box-shadow:var(--shadow-md); display:grid; grid-template-columns:1fr 1fr; gap:28px;
}
.payroll-stat{ display:flex; flex-direction:column; gap:4px; text-align:center; padding:14px 8px; border-radius:var(--radius-md); background:var(--bg-soft-2); }
.payroll-stat .stat-num{ font-size:1.5rem; }

/* Payroll queries for existing employees */
.employee-query-section{ background:#fff; }
.employee-query-section .eyebrow-badge{ background:var(--bg-soft-2); color:var(--blue-dark); border-color:var(--bg-soft-2); }
.employee-query-card{ padding:28px; background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-lg); }
.employee-query-card > svg{ width:28px; height:28px; color:var(--blue); margin-bottom:16px; }
.employee-query-card h3{ margin-bottom:8px; }
.employee-query-card p{ margin:0; font-size:.92rem; }
.employee-query-action{ text-align:center; margin-top:32px; }
.employee-query-action .btn svg{ width:18px; height:18px; }
.employee-query-action p{ max-width:620px; margin:14px auto 0; font-size:.82rem; }

/* ==========================================================================
   8. Testimonials
   ========================================================================== */
.testimonials-section{ background:var(--bg-soft); }
.testimonial-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:30px; box-shadow:var(--shadow-sm);
}
.testimonial-card > p{ color:var(--text); font-style:italic; margin-bottom:20px; }
.testimonial-author{ display:flex; align-items:center; gap:12px; }
.author-avatar{
	width:42px; height:42px; border-radius:50%; background:var(--blue); color:#fff;
	display:flex; align-items:center; justify-content:center; font-weight:700; font-family:var(--font-head); flex-shrink:0;
}
.testimonial-author strong{ display:block; font-size:.9rem; color:var(--navy); }
.testimonial-author span{ font-size:.78rem; color:var(--text-muted); }

/* ==========================================================================
   9. Partnering / image section
   ========================================================================== */
.partner-inner{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.partner-media img, .partner-media-placeholder{
	width:100%; aspect-ratio:4/3; border-radius:var(--radius-lg); object-fit:cover; box-shadow:var(--shadow-md);
}
.partner-media-placeholder{ background:linear-gradient(135deg, var(--bg-soft-2), var(--border)); }
.partner-copy h2{ margin-bottom:16px; }
.partner-stats{ display:flex; gap:40px; margin-top:24px; }
.partner-stats .stat-num{ font-size:1.6rem; }
.partner-cta{ margin-top:24px; }

/* ==========================================================================
   10. FAQ (Accordion Dropdown)
   ========================================================================== */
.faq-accordion{ 
	display:flex; 
	flex-direction:column; 
	gap:14px; 
	max-width:860px; 
	margin:0 auto; 
}
.faq-item{ 
	background:#ffffff; 
	border:1px solid #E2E8F0; 
	border-radius:12px; 
	overflow:hidden; 
	transition:all .25s ease;
	box-shadow:0 1px 3px rgba(15,23,42,0.03);
}
.faq-item:hover{ 
	border-color:#CBD5E1; 
	box-shadow:0 4px 12px rgba(15,23,42,0.06); 
}
.faq-question{
	width:100%; 
	background:none; 
	border:0; 
	padding:20px 24px; 
	display:flex; 
	align-items:center; 
	justify-content:space-between;
	font-family:var(--font-head); 
	font-weight:600; 
	font-size:1.05rem; 
	color:var(--text-dark, #0F172A); 
	text-align:left;
	cursor:pointer;
	transition:color .2s ease, background-color .2s ease;
}
.faq-question:hover{ 
	color:var(--primary, #0284C7); 
}
.faq-toggle-icon{ 
	display:inline-flex; 
	align-items:center; 
	justify-content:center;
	width:30px; 
	height:30px; 
	border-radius:50%; 
	background:#F1F5F9;
	font-size:1.25rem; 
	font-weight:400; 
	line-height:1; 
	color:var(--primary, #0284C7); 
	transition:transform .3s ease, background-color .3s ease, color .3s ease; 
	flex-shrink:0; 
	margin-left:16px; 
}
.faq-question[aria-expanded="true"]{
	color:var(--primary, #0284C7);
	border-bottom:1px solid #F1F5F9;
}
.faq-question[aria-expanded="true"] .faq-toggle-icon{ 
	transform:rotate(45deg); 
	background:var(--primary, #0284C7);
	color:#ffffff;
}
.faq-answer{ 
	max-height:0; 
	overflow:hidden; 
	transition:max-height .35s cubic-bezier(0.4, 0, 0.2, 1); 
}
.faq-answer p{ 
	padding:18px 24px 22px; 
	margin:0; 
	color:var(--text-muted, #475569); 
	font-size:.96rem; 
	line-height:1.65; 
}

/* ==========================================================================
   11. Blog
   ========================================================================== */
.blog-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.blog-card-thumb{ display:block; aspect-ratio:16/10; background:var(--bg-soft-2); overflow:hidden; }
.blog-card-thumb img{ width:100%; height:100%; object-fit:cover; }
.blog-thumb-placeholder{ display:flex; width:100%; height:100%; align-items:center; justify-content:center; color:var(--border); }
.blog-card-body{ padding:22px; }
.blog-category{ font-size:.72rem; font-weight:700; color:var(--blue); text-transform:uppercase; letter-spacing:.05em; }
.blog-card-body h3{ font-size:1.05rem; margin:8px 0 14px; }
.blog-card-body h3 a{ color:var(--navy); }
.blog-card-body h3 a:hover{ color:var(--blue); }

/* ==========================================================================
   12. CTA band (interior pages)
   ========================================================================== */
.cta-band{ background:var(--bg-soft-2); }
.cta-band-inner{ text-align:center; max-width:560px; }
.cta-band-inner h2{ margin-bottom:8px; }

/* ==========================================================================
   13. Page hero (interior pages — upgraded modern dark theme)
   ========================================================================== */
.page-hero{
	position:relative;
	background:linear-gradient(135deg, #070D1E 0%, #0D1B3E 45%, #081126 100%);
	color:#fff;
	padding:115px 0 80px;
	text-align:center;
	overflow:hidden;
}
.page-hero::before{
	content:'';
	position:absolute;
	inset:0;
	pointer-events:none;
	background-image:
		linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
	background-size:40px 40px;
}
.page-hero::after{
	content:'';
	position:absolute;
	width:450px;
	height:450px;
	border-radius:50%;
	background:#2563EB;
	top:-120px;
	left:50%;
	transform:translateX(-50%);
	filter:blur(140px);
	opacity:.22;
	pointer-events:none;
}
.page-hero-inner{ position:relative; z-index:5; max-width:840px; margin:0 auto; }
.page-hero-inner h1{
	color:#fff;
	font-size:2.6rem;
	font-weight:800;
	line-height:1.2;
	letter-spacing:-0.02em;
	margin-bottom:16px;
}
.page-hero-inner p{ color:rgba(255,255,255,.82); font-size:1.06rem; line-height:1.6; }
.page-hero-simple{ padding:90px 0 60px; }

/* ==========================================================================
   14. Executive 5-Column Footer
   ========================================================================== */
.site-footer{
	position:relative;
	background:linear-gradient(180deg, #070D1E 0%, #030712 100%);
	color:#94A3B8;
	border-top:1px solid rgba(255,255,255,.08);
	overflow:hidden;
}
.site-footer::before{
	content:'';
	position:absolute;
	top:-100px;
	left:15%;
	width:500px;
	height:250px;
	background:radial-gradient(ellipse, rgba(37,99,235,0.08) 0%, transparent 70%);
	pointer-events:none;
}
.site-footer::after{
	content:'';
	position:absolute;
	bottom:50px;
	right:10%;
	width:400px;
	height:250px;
	background:radial-gradient(ellipse, rgba(56,189,248,0.06) 0%, transparent 70%);
	pointer-events:none;
}

/* Pre-footer CTA banner */
.footer-pre-banner{
	background:linear-gradient(135deg, rgba(30,41,59,0.5) 0%, rgba(15,23,42,0.85) 100%);
	border-bottom:1px solid rgba(255,255,255,.08);
	padding:36px 0;
	position:relative;
	z-index:2;
}
.footer-pre-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:32px;
	flex-wrap:wrap;
}
.footer-pre-copy{
	max-width:680px;
}
.footer-pre-badge{
	display:inline-flex;
	align-items:center;
	background:rgba(16,185,129,0.12);
	border:1px solid rgba(16,185,129,0.25);
	color:#34D399;
	font-size:0.75rem;
	font-weight:700;
	padding:4px 12px;
	border-radius:100px;
	margin-bottom:10px;
	text-transform:uppercase;
	letter-spacing:0.04em;
}
.footer-pre-copy h3{
	font-size:1.45rem;
	font-weight:800;
	color:#FFFFFF;
	margin:0 0 6px;
	letter-spacing:-0.01em;
}
.footer-pre-copy p{
	font-size:0.92rem;
	color:#94A3B8;
	margin:0;
	line-height:1.55;
}
.footer-pre-actions{
	display:flex;
	gap:14px;
	flex-wrap:wrap;
}
.footer-btn-mandate{
	background:#2563EB !important;
	border-color:#2563EB !important;
	padding:12px 24px !important;
	font-weight:700 !important;
	box-shadow:0 4px 16px rgba(37,99,235,0.3) !important;
}
.footer-btn-cv{
	padding:12px 22px !important;
	background:rgba(255,255,255,0.06) !important;
	border-color:rgba(255,255,255,0.2) !important;
	color:#fff !important;
}

/* Main footer columns */
.footer-main-wrapper{
	padding:54px 0 42px;
	position:relative;
	z-index:2;
}
.footer-grid-5{
	display:grid;
	grid-template-columns:1.3fr 0.95fr 0.95fr 1.05fr 1.05fr;
	gap:36px;
	align-items:start;
}

/* Col 1 — Brand */
.footer-col-brand{
	display:flex;
	flex-direction:column;
}
.footer-logo-card{
	display:inline-flex;
	align-items:center;
	background:#FFFFFF;
	padding:10px 18px;
	border-radius:12px;
	box-shadow:0 4px 20px rgba(0,0,0,0.25);
	border:1px solid rgba(255,255,255,0.2);
	margin-bottom:18px;
	width:fit-content;
}
.footer-logo-card .footer-logo-link{
	background:none !important;
	padding:0 !important;
	margin:0 !important;
	border-radius:0 !important;
	display:inline-flex;
	align-items:center;
}
.footer-logo-card img,
.footer-logo-card .custom-logo{
	max-height:44px;
	width:auto;
	display:block;
}
.footer-tagline{
	font-size:0.86rem;
	line-height:1.6;
	color:#94A3B8;
	margin:0 0 20px;
}
.footer-contact-stack{
	display:flex;
	flex-direction:column;
	gap:13px;
	margin-bottom:24px;
}
.footer-contact-row{
	display:flex;
	align-items:flex-start;
	gap:12px;
}
.footer-c-icon{
	width:32px;
	height:32px;
	border-radius:8px;
	background:rgba(56,189,248,0.1);
	color:#38BDF8;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	margin-top:1px;
}
.footer-c-icon svg{ width:16px; height:16px; }
.footer-c-text{
	font-size:0.84rem;
	color:#CBD5E1;
	line-height:1.45;
}
.footer-c-text a{
	color:#F8FAFC;
	font-weight:600;
	text-decoration:none;
	transition:color .15s ease;
}
.footer-c-text a:hover{ color:#38BDF8; }
.footer-c-text small{
	display:block;
	font-size:0.72rem;
	color:#64748B;
	margin-top:2px;
}

/* Social media pills */
.footer-social-wrapper{
	margin-top:4px;
}
.footer-social-title{
	display:block;
	font-size:0.72rem;
	font-weight:700;
	letter-spacing:0.06em;
	text-transform:uppercase;
	color:#64748B;
	margin-bottom:10px;
}
.footer-social-icons{
	display:flex;
	align-items:center;
	gap:10px;
}
.f-soc-btn{
	width:36px;
	height:36px;
	border-radius:10px;
	background:rgba(255,255,255,0.06);
	border:1px solid rgba(255,255,255,0.12);
	color:#E2E8F0;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	text-decoration:none;
}
.f-soc-btn svg{ width:18px; height:18px; }
.f-soc-btn:hover{
	transform:translateY(-3px);
	box-shadow:0 6px 16px rgba(0,0,0,0.3);
}
.f-soc-linkedin:hover{
	background:#0A66C2;
	border-color:#0A66C2;
	color:#fff;
}
.f-soc-instagram:hover{
	background:linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
	border-color:#dc2743;
	color:#fff;
}
.f-soc-facebook:hover{
	background:#1877F2;
	border-color:#1877F2;
	color:#fff;
}

/* Footer widget title */
.footer-title{
	font-size:0.8rem;
	font-weight:800;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:#FFFFFF;
	margin:0 0 18px;
	position:relative;
	padding-bottom:8px;
}
.footer-title::after{
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	width:24px;
	height:2px;
	background:#38BDF8;
	border-radius:2px;
}

/* Footer menus */
.footer-menu{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:10px;
}
.footer-menu li{ margin:0; }
.footer-menu a{
	color:#94A3B8;
	font-size:0.86rem;
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	transition:all 0.15s ease;
	line-height:1.45;
}
.footer-menu a:hover{
	color:#FFFFFF;
	transform:translateX(4px);
}
.f-highlight-link{
	color:#E2E8F0 !important;
	font-weight:600;
}
.f-badge-speed{
	font-size:0.65rem;
	font-weight:800;
	background:#16A34A;
	color:#fff;
	padding:2px 6px;
	border-radius:6px;
	margin-left:6px;
	text-transform:uppercase;
	letter-spacing:0.03em;
}

/* Quick Action Cards in Col 4 */
.footer-quick-action-cards{
	display:flex;
	flex-direction:column;
	gap:10px;
}
.f-action-card{
	display:flex;
	align-items:center;
	gap:12px;
	background:rgba(255,255,255,0.04);
	border:1px solid rgba(255,255,255,0.08);
	padding:10px 14px;
	border-radius:10px;
	text-decoration:none;
	transition:all 0.2s ease;
}
.f-action-card:hover{
	background:rgba(37,99,235,0.15);
	border-color:rgba(56,189,248,0.35);
	transform:translateY(-2px);
}
.f-act-icon{
	width:32px;
	height:32px;
	border-radius:8px;
	background:rgba(255,255,255,0.08);
	color:#38BDF8;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
}
.f-act-icon svg{ width:16px; height:16px; }
.f-act-info strong{
	display:block;
	font-size:0.83rem;
	color:#F8FAFC;
	font-weight:700;
	line-height:1.3;
}
.f-act-info small{
	display:block;
	font-size:0.72rem;
	color:#94A3B8;
	line-height:1.2;
}

/* ISO Card in Col 5 */
.footer-iso-card{
	background:rgba(255,255,255,0.03);
	border:1px solid rgba(255,255,255,0.1);
	border-radius:14px;
	padding:16px;
	margin-bottom:18px;
}
.footer-iso-header{
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:8px;
}
.footer-iso-icon{
	width:36px;
	height:36px;
	border-radius:10px;
	background:rgba(16,185,129,0.15);
	color:#10B981;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
}
.footer-iso-icon svg{ width:20px; height:20px; }
.footer-iso-header strong{
	display:block;
	font-size:0.88rem;
	color:#FFFFFF;
	font-weight:800;
	line-height:1.2;
}
.iso-status{
	display:block;
	font-size:0.7rem;
	color:#10B981;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.04em;
	margin-top:2px;
}
.footer-iso-text{
	font-size:0.76rem;
	color:#94A3B8;
	line-height:1.45;
	margin:0;
}
.footer-menu-legal a{ font-size:0.82rem; }

/* Bottom Sub-Bar */
.footer-bottom-bar{
	background:#030712;
	border-top:1px solid rgba(255,255,255,0.07);
	padding:18px 0;
	position:relative;
	z-index:2;
}
.footer-bottom-flex{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:14px;
}
.footer-copyright-info{
	display:flex;
	align-items:center;
	gap:10px;
	font-size:0.8rem;
	color:#64748B;
	flex-wrap:wrap;
}
.footer-copyright-info p{ margin:0; }
.footer-sep{ color:#475569; }
.footer-reg-info{ color:#475569; }
.footer-bottom-right{
	display:flex;
	align-items:center;
	gap:18px;
}
.footer-bottom-right a{
	font-size:0.8rem;
	color:#64748B;
	text-decoration:none;
	transition:color .15s ease;
}
.footer-bottom-right a:hover{ color:#F8FAFC; }
.footer-back-to-top{
	width:32px;
	height:32px;
	border-radius:8px;
	background:rgba(255,255,255,0.06);
	border:1px solid rgba(255,255,255,0.1);
	color:#94A3B8;
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	transition:all .2s ease;
	margin-left:6px;
}
.footer-back-to-top:hover{
	background:#2563EB;
	border-color:#2563EB;
	color:#fff;
	transform:translateY(-2px);
}

/* Responsive Footer */
@media (max-width: 1200px){
	.footer-grid-5{
		grid-template-columns:1.4fr 1fr 1fr 1.1fr;
	}
	.footer-col:last-child{
		grid-column:1 / -1;
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:24px;
		border-top:1px solid rgba(255,255,255,0.08);
		padding-top:28px;
	}
}
@media (max-width: 900px){
	.footer-grid-5{
		grid-template-columns:1fr 1fr;
		gap:32px;
	}
	.footer-col-brand{
		grid-column:1 / -1;
	}
	.footer-col:last-child{
		grid-column:1 / -1;
		display:block;
		border-top:none;
		padding-top:0;
	}
	.footer-pre-inner{
		flex-direction:column;
		align-items:flex-start;
	}
}
@media (max-width: 600px){
	.footer-grid-5{
		grid-template-columns:1fr;
		gap:32px;
	}
	.footer-bottom-flex{
		flex-direction:column;
		align-items:flex-start;
		gap:12px;
	}
	.footer-pre-actions{
		width:100%;
		flex-direction:column;
	}
	.footer-pre-actions .btn{
		width:100%;
		text-align:center;
		justify-content:center;
	}
}

/* ==========================================================================
   15. Contact page
   ========================================================================== */
.contact-info-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:40px; }
.contact-card{ padding:24px; text-align:center; }
.contact-card .icon-badge{ margin:0 auto 16px; }
.contact-card h4{ margin:0 0 8px; color:var(--navy); font-size:1rem; }
.contact-card p{ margin:0; }
.contact-card a{ color:var(--blue); font-weight:600; text-decoration:none; word-break:break-word; }
.contact-card a:hover{ text-decoration:underline; }

/* ==========================================================================
   16. Responsive
   ========================================================================== */
@media (max-width: 1024px){
	.header-inner{ gap:16px; }
	.nav-menu{ gap:20px; }
	.grid-4{ grid-template-columns:repeat(2,1fr); }
	.journey-track{ grid-template-columns:repeat(3,1fr); row-gap:28px; }
	.assured-inner, .partner-inner, .payroll-inner{ grid-template-columns:1fr; }
	.partner-media{ order:-1; }
	.footer-inner{ grid-template-columns:1fr; gap:28px; }
	.footer-links-grid{ grid-template-columns:repeat(2,1fr); }
	.footer-social-col{ grid-column:1 / -1; }
	.contact-info-cards{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 782px){
	.container{ padding:0 16px; }
	.header-inner{ height:64px; gap:12px; }
	.site-logo img,
	.site-branding .custom-logo{ max-height:42px; }
	.footer-logo-link img,
	.footer-logo-link .custom-logo{ max-height:46px; padding:5px 8px; }
	.menu-toggle{ display:flex; }
	.header-cta{ display:none; }

	.main-navigation{
		position:fixed; top:64px; left:0; right:0; bottom:0; z-index:99;
		background:#fff; overflow-y:auto; -webkit-overflow-scrolling:touch;
		opacity:0; visibility:hidden; pointer-events:none;
		transition:opacity .2s ease, visibility .2s ease;
	}
	.main-navigation.is-open{ opacity:1; visibility:visible; pointer-events:auto; }
	.nav-menu{
		display:flex; flex-direction:column; gap:0;
		transform:none; opacity:1; pointer-events:auto;
	}
	.nav-menu li{ border-top:1px solid var(--border); }
	.nav-menu a{ display:block; padding:16px 20px; font-size:1rem; }
	.nav-menu li.current-menu-item a::after{ display:none; }
	.mobile-nav-cta{
		display:flex; flex-direction:column; gap:10px;
		padding:16px 20px 28px; border-top:1px solid var(--border);
	}
	.mobile-nav-cta .btn{ width:100%; white-space:normal; justify-content:center; }

	.grid-3, .grid-4{ grid-template-columns:1fr; }
	.stats-grid{ grid-template-columns:repeat(2,1fr); gap:20px; }
	.journey-track{ grid-template-columns:repeat(2,1fr); padding:28px 16px; }
	.assured-steps{ grid-template-columns:1fr; }
	.payroll-stats-card{ grid-template-columns:repeat(2,1fr); gap:16px; padding:24px 16px; }
	.partner-stats{ flex-direction:column; gap:16px; align-items:flex-start; }
	.footer-inner{ grid-template-columns:1fr; gap:24px; padding-bottom:20px; }
	.footer-links-grid{ grid-template-columns:1fr; }
	.footer-social-col{ grid-column:auto; }
	.footer-bottom-inner{ flex-direction:column; text-align:center; }
	.site-footer{ padding-top:28px; }
	.form-grid{ grid-template-columns:1fr; }
	.contact-info-cards{ grid-template-columns:1fr; }

	.section{ padding:56px 0; }
	.section-head{ margin-bottom:36px; }
	.section-head-left{ text-align:left; margin:0 0 28px; }
	.hero{ padding:88px 0 60px; }
	.hero-sub{ font-size:1rem; }
	.hero-actions{ flex-direction:column; align-items:stretch; gap:12px; }
	.hero-actions .btn, .page-hero-inner .hero-actions .btn, .cta-band-inner .btn{ width:100%; }
	.page-hero{ padding:72px 0 48px; }
	.page-hero-simple{ padding:56px 0 40px; }
	.page-hero-inner p{ font-size:.98rem; }
	.hiring-form, .candidate-form{ padding:22px 16px; }
	.btn{ white-space:normal; }
	.btn-lg{ width:100%; padding:14px 20px; font-size:1rem; }
	.radio-options{ flex-direction:column; }
	.radio-card{ width:100%; }
	.focus-card, .why-card, .service-card{ padding:24px 20px; }
	.employee-query-action .btn{ width:100%; }
}

@media (max-width: 480px){
	.container{ padding:0 14px; }
	.stats-grid{ gap:14px; }
	.stat-num{ font-size:1.45rem; }
	.stat-label{ font-size:.72rem; }
	.journey-track{ grid-template-columns:1fr; }
	.payroll-stats-card{ grid-template-columns:1fr; }
	.stats-strip{ padding:32px 0; }
	.assured-step{ padding:16px; }
	.partner-stats .stat-num{ font-size:1.35rem; }
	.form-notice{ font-size:.92rem; padding:12px 14px; }
	.file-upload-ui{ padding:18px 14px; }
	.breadcrumb-list{ font-size:.75rem; }
}
/* ==========================================================================
   16. Candidate Registration Form & File Upload Styling
   ========================================================================== */
.candidate-form { background: #ffffff; border: 1px solid var(--border); border-radius: 12px; padding: 36px; box-shadow: 0 10px 30px rgba(0,0,0,0.04); }
.form-section-header { border-bottom: 2px solid var(--bg-soft); margin: 32px 0 20px; padding-bottom: 8px; }
.form-section-header:first-child { margin-top: 0; }
.form-section-header h3 { font-size: 1.15rem; color: var(--navy); margin: 0; display: flex; align-items: center; gap: 8px; }

.full-width { grid-column: 1 / -1; }
.field-hint { display: block; font-weight: normal; color: var(--text-muted); font-size: 0.82rem; margin-top: 2px; }

.radio-group-container { margin-bottom: 12px; }
.group-label { font-weight: 600; color: var(--navy); display: block; margin-bottom: 10px; font-size: 0.95rem; }
.radio-options { display: flex; flex-wrap: wrap; gap: 14px; }
.radio-card { display: flex; align-items: center; gap: 10px; background: var(--bg-soft); border: 1px solid var(--border); padding: 12px 18px; border-radius: 8px; cursor: pointer; transition: all 0.2s ease; user-select: none; }
.radio-card:hover { border-color: var(--blue); background: rgba(37, 99, 235, 0.03); }
.radio-card input[type="radio"] { accent-color: var(--blue); width: 18px; height: 18px; cursor: pointer; margin: 0; }
.radio-label { font-size: 0.92rem; font-weight: 500; color: var(--text-main); }

.file-field-group { margin-top: 20px; }
.file-upload-wrapper { position: relative; margin-top: 6px; }
.file-upload-wrapper input[type="file"] { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; }
.file-upload-ui { border: 2px dashed #cbd5e1; background: #f8fafc; border-radius: 10px; padding: 24px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; transition: all 0.2s ease; }
.file-upload-wrapper:hover .file-upload-ui { border-color: var(--blue); background: #eff6ff; }
.upload-icon { width: 40px; height: 40px; color: var(--blue); background: rgba(37, 99, 235, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.upload-icon svg { width: 20px; height: 20px; }
.upload-text { font-size: 0.92rem; font-weight: 500; color: var(--navy); }
.file-name-preview { font-size: 0.85rem; color: #16a34a; font-weight: 600; word-break: break-all; }
.file-name-preview.has-file { margin-top: 6px; padding: 4px 10px; background: #dcfce7; border-radius: 4px; border: 1px solid #bbf7d0; }

.conditional-upload-box { background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 10px; padding: 20px; margin-top: 10px; transition: all 0.3s ease; }
.hidden-field { display: none; }

.btn-lg { padding: 16px 36px; font-size: 1.05rem; }

/* ==========================================================================
   FP — HERO (Section 1 — Redesigned Modern Split Hero)
   ========================================================================== */
.fp-hero-v2{
	position:relative;
	background:linear-gradient(135deg, #070D1E 0%, #0D1B3E 45%, #081126 100%);
	padding:120px 0 90px;
	overflow:hidden;
	color:#fff;
}

/* Ambient glowing orbs */
.fp-glow-orb{ position:absolute; border-radius:50%; filter:blur(120px); pointer-events:none; opacity:.25; }
.fp-glow-orb-1{ width:520px; height:520px; background:#2563EB; top:-120px; left:-80px; }
.fp-glow-orb-2{ width:480px; height:480px; background:#06B6D4; bottom:-80px; right:-80px; }

/* Subtle high-tech grid */
.fp-hero-grid-bg{
	position:absolute; inset:0; pointer-events:none;
	background-image:
		linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
	background-size:40px 40px;
}

.fp-hero-container{ max-width:1240px; margin:0 auto; position:relative; z-index:10; }
.fp-hero-split{
	display:grid;
	grid-template-columns:1.25fr 1fr;
	gap:52px;
	align-items:center;
}

/* Left Column */
.fp-hero-left{ display:flex; flex-direction:column; text-align:left; }

.fp-live-status-pill{
	display:inline-flex; align-items:center; gap:10px;
	background:rgba(37,99,235,.15); border:1px solid rgba(96,165,250,.35);
	border-radius:999px; padding:6px 16px; font-size:.82rem; color:#93C5FD;
	margin-bottom:22px; backdrop-filter:blur(8px); width:fit-content;
}
.fp-pulse-wrapper{ position:relative; width:10px; height:10px; display:flex; align-items:center; justify-content:center; }
.fp-pulse-beacon{
	position:absolute; width:100%; height:100%; border-radius:50%;
	background:#22C55E; animation:fpPing 1.8s cubic-bezier(0,0,.2,1) infinite; opacity:.75;
}
.fp-pulse-center{ width:6px; height:6px; border-radius:50%; background:#22C55E; }
@keyframes fpPing{ 75%, 100%{ transform:scale(2.5); opacity:0; } }

.fp-hero-h1{
	font-size:2.85rem; font-weight:800; line-height:1.18; color:#FFFFFF;
	letter-spacing:-0.02em; margin-bottom:20px; font-family:var(--font-head);
}
.fp-text-gradient{
	background:linear-gradient(90deg, #60A5FA 0%, #38BDF8 50%, #A78BFA 100%);
	-webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.fp-tag-days{
	background:rgba(37,99,235,.28); border:1px solid #3B82F6; color:#93C5FD;
	padding:2px 14px; border-radius:8px; display:inline-block; -webkit-text-fill-color:#93C5FD;
}

.fp-hero-lead{
	font-size:1.06rem; line-height:1.65; color:rgba(255,255,255,.82);
	margin-bottom:26px; max-width:620px;
}

/* Capability Chips */
.fp-caps-chips{
	display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; margin-bottom:32px;
}
.fp-chip{
	display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:8px 12px;
	font-size:.84rem; color:rgba(255,255,255,.9); font-weight:500; transition:all .2s ease;
}
.fp-chip:hover{
	background:rgba(37,99,235,.18); border-color:rgba(96,165,250,.4);
	transform:translateX(2px);
}
.fp-chip-icon{ font-size:.95rem; flex-shrink:0; }

/* CTAs */
.fp-hero-cta-group{
	display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:34px;
}
.fp-btn-primary{
	display:inline-flex; align-items:center; gap:10px;
	background:linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
	color:#fff; padding:15px 30px; border-radius:10px; font-weight:700; font-size:.96rem;
	box-shadow:0 10px 25px rgba(37,99,235,.4); transition:all .2s ease; text-decoration:none;
	border:1px solid rgba(255,255,255,.2);
}
.fp-btn-primary:hover{
	transform:translateY(-2px); box-shadow:0 16px 32px rgba(37,99,235,.55);
	background:linear-gradient(135deg, #3B82F6 0%, #2563EB 100%); color:#fff;
}
.btn-arrow-icon{ transition:transform .2s ease; }
.fp-btn-primary:hover .btn-arrow-icon{ transform:translateX(4px); }

.fp-btn-glass{
	display:inline-flex; align-items:center; gap:10px;
	background:rgba(255,255,255,.08); color:#FFFFFF; padding:15px 26px; border-radius:10px;
	font-weight:600; font-size:.96rem; border:1px solid rgba(255,255,255,.25);
	backdrop-filter:blur(8px); transition:all .2s ease; text-decoration:none;
}
.fp-btn-glass:hover{
	background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.45);
	transform:translateY(-2px); color:#fff;
}

/* Trust Bar */
.fp-hero-trust-bar{
	display:flex; align-items:center; gap:16px; padding-top:24px;
	border-top:1px solid rgba(255,255,255,.12); flex-wrap:wrap;
}
.fp-trust-avatars{ display:flex; margin-right:4px; }
.fp-avatar{
	width:34px; height:34px; border-radius:50%; border:2px solid #0D1B38;
	display:inline-flex; align-items:center; justify-content:center; font-size:.72rem;
	font-weight:700; color:#fff; margin-left:-8px;
}
.fp-avatar:first-child{ margin-left:0; }
.fp-av-1{ background:#3B82F6; }
.fp-av-2{ background:#10B981; }
.fp-av-3{ background:#8B5CF6; }
.fp-rating-stars{ color:#FBBF24; font-size:.85rem; font-weight:700; display:flex; align-items:center; gap:4px; }
.fp-rating-num{ color:#fff; font-size:.8rem; background:rgba(255,255,255,.12); padding:1px 6px; border-radius:4px; }
.fp-trust-text{ font-size:.82rem; color:rgba(255,255,255,.75); line-height:1.35; }
.fp-trust-text strong{ color:#fff; }
.fp-trust-divider{ width:1px; height:28px; background:rgba(255,255,255,.15); }
.fp-trust-micro{ display:flex; gap:12px; font-size:.78rem; color:rgba(255,255,255,.7); }

/* Right Column: Interactive Console */
.fp-hero-right{ position:relative; }

.fp-floating-badge{
	position:absolute; z-index:20; background:rgba(15,23,42,.85); backdrop-filter:blur(12px);
	border:1px solid rgba(255,255,255,.18); border-radius:12px; padding:10px 16px;
	display:flex; align-items:center; gap:10px; box-shadow:0 16px 36px rgba(0,0,0,.4);
}
.fp-float-top-right{ top:-20px; right:-15px; animation:fpFloat 4s ease-in-out infinite; }
.fp-float-bottom-left{ bottom:-20px; left:-15px; animation:fpFloat 4s ease-in-out infinite 2s; }
.fp-float-icon{ font-size:1.3rem; }
.fp-floating-badge strong{ display:block; font-size:.82rem; color:#fff; }
.fp-floating-badge small{ font-size:.72rem; color:#94A3B8; }
@keyframes fpFloat{
	0%, 100%{ transform:translateY(0); }
	50%{ transform:translateY(-8px); }
}

.fp-radar-card{
	background:rgba(15,23,42,.78); backdrop-filter:blur(20px);
	border:1px solid rgba(255,255,255,.14); border-radius:20px;
	overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.45); position:relative;
}
.fp-radar-header{
	display:flex; justify-content:space-between; align-items:center; padding:18px 24px;
	border-bottom:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.02);
}
.fp-radar-title-group{ display:flex; align-items:center; gap:10px; }
.fp-radar-pulse-ring{
	width:8px; height:8px; border-radius:50%; background:#06B6D4;
	box-shadow:0 0 10px #06B6D4;
}
.fp-radar-title{ font-size:.95rem; font-weight:700; color:#fff; letter-spacing:.02em; }
.fp-radar-live-tag{
	font-size:.72rem; background:rgba(6,182,212,.15); color:#38BDF8;
	border:1px solid rgba(6,182,212,.3); padding:3px 10px; border-radius:999px; font-weight:600;
}

.fp-radar-tabs{
	display:grid; grid-template-columns:repeat(3, 1fr); padding:10px 16px 0; gap:6px;
	background:rgba(255,255,255,.02); border-bottom:1px solid rgba(255,255,255,.08);
}
.fp-radar-tab{
	background:transparent; border:none; border-bottom:2px solid transparent;
	color:rgba(255,255,255,.65); padding:10px 8px; font-size:.8rem; font-weight:600;
	cursor:pointer; transition:all .2s ease;
}
.fp-radar-tab.active, .fp-radar-tab:hover{ color:#fff; border-bottom-color:#38BDF8; }

.fp-radar-body{ padding:24px; }
.fp-radar-selector-row{ margin-bottom:16px; }
.fp-radar-label{
	display:block; font-size:.78rem; font-weight:600; color:rgba(255,255,255,.7);
	text-transform:uppercase; letter-spacing:.04em; margin-bottom:8px;
}
.fp-radar-select{
	width:100%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18);
	border-radius:8px; padding:11px 14px; font-size:.88rem; color:#fff; font-family:inherit;
	cursor:pointer; outline:none; transition:border-color .2s ease;
}
.fp-radar-select:focus{ border-color:#38BDF8; }
.fp-radar-select option{ background:#0F172A; color:#fff; }

.fp-radar-notice-toggle{ margin-bottom:18px; }
.fp-notice-pills{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.fp-notice-pill{
	background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
	border-radius:8px; padding:9px 12px; font-size:.82rem; font-weight:600;
	color:rgba(255,255,255,.7); cursor:pointer; transition:all .2s ease;
}
.fp-notice-pill.active, .fp-notice-pill:hover{
	background:rgba(37,99,235,.25); border-color:#3B82F6; color:#93C5FD;
}

.fp-radar-match-box{
	background:rgba(37,99,235,.12); border:1px solid rgba(96,165,250,.25);
	border-radius:12px; padding:16px; margin-bottom:20px;
}
.fp-match-stat-row{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.fp-match-icon{ font-size:1.4rem; }
.fp-match-stat-info strong{
	display:block; font-size:1.05rem; font-weight:800; color:#60A5FA; line-height:1.2;
}
.fp-match-stat-info span{ font-size:.76rem; color:rgba(255,255,255,.7); }

.fp-radar-snippets{
	display:flex; flex-direction:column; gap:8px; padding-top:10px;
	border-top:1px solid rgba(255,255,255,.1);
}
.fp-candidate-snippet{
	display:flex; align-items:center; gap:8px; font-size:.78rem;
	color:rgba(255,255,255,.85); background:rgba(0,0,0,.25);
	padding:7px 10px; border-radius:6px;
}
.fp-cand-dot{ width:6px; height:6px; border-radius:50%; background:#10B981; flex-shrink:0; }

.fp-radar-submit-btn{
	display:block; width:100%; text-align:center;
	background:linear-gradient(135deg, #0EA5E9 0%, #2563EB 100%);
	color:#fff; padding:13px 20px; border-radius:10px; font-weight:700; font-size:.92rem;
	text-decoration:none; box-shadow:0 8px 24px rgba(14,165,233,.35); transition:all .2s ease;
	margin-bottom:12px;
}
.fp-radar-submit-btn:hover{
	transform:translateY(-2px); box-shadow:0 12px 28px rgba(14,165,233,.5); color:#fff;
}
.fp-radar-footer-guarantee{ text-align:center; font-size:.74rem; color:rgba(255,255,255,.65); }
.fp-radar-footer-guarantee strong{ color:#38BDF8; }

/* Responsive Adjustments for Hero */
@media (max-width: 1024px){
	.fp-hero-split{ grid-template-columns:1fr; gap:40px; }
	.fp-hero-h1{ font-size:2.3rem; }
	.fp-floating-badge{ position:static; margin-bottom:12px; }
	.fp-float-top-right, .fp-float-bottom-left{ display:none; }
}
@media (max-width: 640px){
	.fp-hero-v2{ padding:90px 0 60px; }
	.fp-hero-h1{ font-size:1.85rem; }
	.fp-caps-chips{ grid-template-columns:1fr; }
	.fp-hero-cta-group{ flex-direction:column; width:100%; }
	.fp-btn-primary, .fp-btn-glass{ width:100%; justify-content:center; }
	.fp-trust-divider{ display:none; }
	.fp-hero-trust-bar{ flex-direction:column; align-items:flex-start; }
}

/* Stats strip — extended to 5 cols */
.fp-stats-strip{ background:linear-gradient(90deg,#F3F6FC 0%,#EAF0FB 100%); }
.fp-stats-grid{ grid-template-columns:repeat(5,1fr); }
.stat-plus{ font-size:1.2rem; color:var(--blue); }

/* ==========================================================================
   FP — BOTTLENECK (Section 2)
   ========================================================================== */
.fp-bottleneck-section{ background:#fff; }
.fp-bottleneck-inner{
	display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;
}
.fp-bottleneck-copy .eyebrow-badge{ margin-bottom:18px; }
.fp-bottleneck-copy h2{ margin-bottom:16px; }
.fp-bottleneck-cards{ display:flex; flex-direction:column; gap:18px; }
.fp-problem-card{
	background:var(--bg-soft); border:1px solid var(--border);
	border-radius:var(--radius-lg); padding:24px 26px;
	display:flex; flex-direction:column; gap:8px;
	transition:transform .2s, box-shadow .2s;
}
.fp-problem-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.fp-problem-icon{
	width:42px; height:42px; border-radius:10px;
	background:var(--bg-soft-2); color:var(--blue);
	display:flex; align-items:center; justify-content:center; margin-bottom:4px;
}
.fp-problem-icon svg{ width:20px; height:20px; }
.fp-problem-card h3{ font-size:1rem; margin:0 0 4px; }
.fp-problem-card p{ font-size:.9rem; margin:0; }

/* Eyebrow variant for light backgrounds */
.eyebrow-badge-dark{
	background:var(--bg-soft-2) !important; color:var(--blue-dark) !important;
	border-color:var(--bg-soft-2) !important;
}

/* ==========================================================================
   FP — DIFFERENCE (Section 3)
   ========================================================================== */
.fp-difference-section{ background:var(--bg-soft); }
.fp-difference-grid{
	display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
}
.fp-diff-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:32px 28px; position:relative; overflow:hidden;
	transition:transform .2s, box-shadow .2s;
}
.fp-diff-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.fp-diff-num{
	font-family:var(--font-head); font-size:3rem; font-weight:800;
	color:var(--bg-soft-2); line-height:1; margin-bottom:16px;
	position:absolute; top:20px; right:20px;
}
.fp-diff-card h3{ font-size:1.05rem; margin-bottom:10px; position:relative; }
.fp-diff-card p{ font-size:.9rem; margin:0; position:relative; }

/* ==========================================================================
   FP — CAPABILITIES (Section 4)
   ========================================================================== */
.fp-capabilities-section{ background:#fff; }
.fp-capabilities-grid{
	display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
.fp-cap-card{
	background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:32px 28px; transition:transform .2s, box-shadow .2s;
}
.fp-cap-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); background:#fff; }
.fp-cap-card h3{ font-size:1.05rem; margin-bottom:10px; }
.fp-cap-card p{ font-size:.9rem; margin-bottom:18px; }

/* ==========================================================================
   FP — PRIMARY FOCUS (Section 5)
   ========================================================================== */
.fp-focus-section{ background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%); color:#fff; }
.fp-focus-inner{ display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; }
.fp-focus-copy .eyebrow-badge{ background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.25); }
.fp-focus-copy h2{ color:#fff; }
.fp-focus-copy > p{ color:rgba(255,255,255,.8); }
.fp-focus-cards-stacked{ display:flex; flex-direction:column; gap:16px; margin:24px 0; }
.fp-focus-item{
	display:flex; gap:14px; align-items:flex-start;
	background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15);
	border-radius:var(--radius-md); padding:18px 20px;
}
.fp-focus-item strong{ display:block; color:#fff; font-family:var(--font-head); font-size:.95rem; margin-bottom:4px; }
.fp-focus-item p{ color:rgba(255,255,255,.7); font-size:.88rem; margin:0; }
.fp-focus-badge{
	width:36px; height:36px; border-radius:10px;
	display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.fp-focus-badge svg{ width:18px; height:18px; }
.fp-badge-green{ background:#16a34a; color:#fff; }
.fp-badge-blue{ background:var(--blue); color:#fff; }
.fp-badge-purple{ background:#7c3aed; color:#fff; }
.fp-focus-footer-copy{ color:rgba(255,255,255,.75); font-size:.92rem; margin:4px 0 20px; }

/* Timeline visual */
.fp-timeline-card{
	background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15);
	border-radius:var(--radius-lg); padding:28px 24px;
	display:flex; flex-direction:column; gap:0;
}
.fp-tl-row{
	display:flex; align-items:flex-start; gap:14px; padding:12px 0;
	border-bottom:1px solid rgba(255,255,255,.08);
}
.fp-tl-row:last-child{ border-bottom:none; }
.fp-tl-dot{
	width:12px; height:12px; border-radius:50%; background:rgba(255,255,255,.3);
	margin-top:5px; flex-shrink:0;
}
.fp-tl-row.fp-tl-active .fp-tl-dot{ background:var(--blue); box-shadow:0 0 0 3px rgba(47,95,214,.4); }
.fp-tl-row.fp-tl-success .fp-tl-dot{ background:#16a34a; box-shadow:0 0 0 3px rgba(22,163,74,.4); }
.fp-tl-row strong{ display:block; color:#fff; font-size:.88rem; font-family:var(--font-head); margin-bottom:2px; }
.fp-tl-row span{ font-size:.8rem; color:rgba(255,255,255,.65); }
.fp-tl-row.fp-tl-success strong{ color:#4ade80; }

/* ==========================================================================
   FP — PROCESS (Section 6)
   ========================================================================== */
.fp-process-section{ background:var(--bg-soft); }
.fp-process-track{
	display:grid; grid-template-columns:repeat(6,1fr); gap:16px;
	background:#fff; border-radius:var(--radius-lg); padding:40px 28px;
	box-shadow:var(--shadow-sm);
}
.fp-process-step{ text-align:center; padding:0 8px; }
.fp-process-icon{
	width:54px; height:54px; border-radius:50%; background:var(--bg-soft-2); color:var(--blue);
	display:flex; align-items:center; justify-content:center; margin:0 auto 12px;
	transition:background .2s, color .2s;
}
.fp-process-icon svg{ width:22px; height:22px; }
.fp-process-step-active .fp-process-icon{ background:var(--blue); color:#fff; }
.fp-process-stage{ display:block; font-size:.68rem; font-weight:700; color:var(--blue); letter-spacing:.05em; text-transform:uppercase; margin-bottom:4px; }
.fp-process-label{ display:block; font-family:var(--font-head); font-size:.9rem; color:var(--navy); margin-bottom:6px; }
.fp-process-step p{ font-size:.78rem; margin:0; }

/* ==========================================================================
   FP — DOMAINS (Section 7)
   ========================================================================== */
.fp-domains-section{ background:#fff; }
.fp-domains-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.fp-domain-card{
	background:var(--bg-soft); border:1px solid var(--border);
	border-radius:var(--radius-lg); padding:30px 26px;
	transition:transform .2s, box-shadow .2s;
}
.fp-domain-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); background:#fff; }
.fp-domain-icon{
	width:48px; height:48px; border-radius:12px; background:var(--bg-soft-2);
	color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.fp-domain-icon svg{ width:22px; height:22px; }
.fp-domain-card h3{ font-size:1.02rem; margin-bottom:8px; }
.fp-domain-card p{ font-size:.88rem; margin:0; }

/* ==========================================================================
   FP — STRATEGIC PARTNER (Section 8)
   ========================================================================== */
.fp-partner-section{ background:var(--bg-soft); }
.fp-partner-inner{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.fp-partner-copy .eyebrow-badge{ margin-bottom:18px; }
.fp-partner-copy h2{ margin-bottom:20px; }
.fp-partner-points{ display:flex; flex-direction:column; gap:20px; }
.fp-partner-point{
	display:flex; gap:14px; align-items:flex-start;
}
.fp-pp-icon{
	width:36px; height:36px; border-radius:10px; background:var(--bg-soft-2); color:var(--blue);
	display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.fp-pp-icon svg{ width:18px; height:18px; }
.fp-partner-point strong{ display:block; color:var(--navy); font-family:var(--font-head); font-size:.95rem; margin-bottom:4px; }
.fp-partner-point p{ font-size:.88rem; margin:0; }
.fp-partner-media{ position:relative; }
.fp-partner-media img,
.fp-partner-placeholder{
	width:100%; aspect-ratio:4/3; border-radius:var(--radius-lg); object-fit:cover;
	box-shadow:var(--shadow-md);
}
.fp-partner-placeholder{ background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%); }
.fp-partner-stat-overlay{
	position:absolute; bottom:20px; left:20px; right:20px;
	background:rgba(255,255,255,.92); backdrop-filter:blur(8px);
	border-radius:var(--radius-md); padding:16px 20px;
	display:flex; justify-content:space-around; gap:16px;
	border:1px solid var(--border);
}
.fp-po-stat{ display:flex; flex-direction:column; align-items:center; gap:2px; }
.fp-po-stat .stat-num{ font-size:1.6rem; }

/* ==========================================================================
   FP — SAM ASSURED (Section 9 override)
   ========================================================================== */
.fp-assured-sub{ font-size:1rem; font-weight:600; color:rgba(255,255,255,.9); margin-top:-8px; }
.fp-assured-flow{
	display:flex; flex-wrap:wrap; align-items:center; gap:8px;
	margin:20px 0 16px; font-size:.9rem; font-weight:600; color:rgba(255,255,255,.85);
}
.fp-flow-arrow{ color:rgba(255,255,255,.4); }
.fp-flow-final{ color:#7EB4FF; }
.fp-assured-benefits{ display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.fp-ab-item{
	display:flex; align-items:center; gap:8px;
	font-size:.9rem; color:rgba(255,255,255,.8); font-weight:500;
}
.fp-ab-item svg{ width:16px; height:16px; color:#4ade80; flex-shrink:0; }

/* ==========================================================================
   FP — CASE STUDIES (Section 10)
   ========================================================================== */
.fp-cases-section{ background:var(--bg-soft); }
.fp-cases-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.fp-case-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:36px 32px; box-shadow:var(--shadow-sm);
}
.fp-case-tag{
	display:inline-block; font-size:.72rem; font-weight:700; color:var(--blue);
	text-transform:uppercase; letter-spacing:.05em; margin-bottom:12px;
	background:var(--bg-soft-2); padding:4px 12px; border-radius:999px;
}
.fp-case-card h3{ font-size:1.2rem; margin-bottom:20px; }
.fp-case-dl{ display:flex; flex-direction:column; gap:14px; }
.fp-case-row{ display:grid; grid-template-columns:auto 1fr; gap:12px 16px; align-items:flex-start; }
.fp-case-row dt{
	display:flex; align-items:center; gap:6px; font-size:.82rem; font-weight:700;
	color:var(--navy); white-space:nowrap; padding-top:2px;
}
.fp-case-row dt svg{ width:14px; height:14px; color:var(--blue); }
.fp-case-row dd{ margin:0; font-size:.9rem; color:var(--text-muted); }
.fp-case-result dt{ color:var(--blue); }
.fp-case-result dd{ color:var(--navy); font-weight:600; }

/* ==========================================================================
   FP — IMPACT STATS (Section 11)
   ========================================================================== */
.fp-impact-section{
	background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%); color:#fff;
}
.fp-impact-section .section-head h2{ color:#fff; }
.fp-impact-section .section-head p{ color:rgba(255,255,255,.75); }
.fp-impact-section .eyebrow-badge{ background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.25); }
.fp-impact-grid{
	display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.fp-impact-card{
	background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15);
	border-radius:var(--radius-lg); padding:32px 24px; text-align:center;
	transition:background .2s;
}
.fp-impact-card:hover{ background:rgba(255,255,255,.12); }
.fp-impact-card-wide{ grid-column:span 4; }
.fp-impact-num{
	display:block; font-family:var(--font-head); font-weight:800;
	font-size:clamp(2rem,4vw,2.8rem); color:#7EB4FF; margin-bottom:8px;
}
.fp-impact-label{ font-size:.88rem; color:rgba(255,255,255,.75); line-height:1.4; }

/* ==========================================================================
   FP — TESTIMONIALS (Section 12 override)
   ========================================================================== */
.fp-testimonial-card{ position:relative; }
.fp-tc-stars{ color:#FBBF24; font-size:1rem; letter-spacing:1px; margin-bottom:14px; }

/* ==========================================================================
   FP — EMPLOYER FORM (Section 13)
   ========================================================================== */
.fp-employer-form-section{ background:var(--bg-soft); }
.fp-employer-form-inner{
	display:grid; grid-template-columns:1fr 1.4fr; gap:56px; align-items:start;
}
.fp-ef-copy h2{ margin-bottom:16px; }
.fp-ef-trust{ display:flex; flex-direction:column; gap:10px; margin:20px 0 24px; }
.fp-ef-trust li{
	display:flex; align-items:center; gap:8px; font-size:.92rem; font-weight:600; color:var(--navy);
}
.fp-ef-trust svg{ width:16px; height:16px; color:var(--blue); }
.fp-ef-contact{ margin-top:20px; }
.fp-ef-contact p{ font-size:.88rem; margin-bottom:4px; }
.fp-ef-phone{
	font-family:var(--font-head); font-size:1.3rem; font-weight:700;
	color:var(--blue); display:inline-block;
}
.fp-inline-form{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:32px; box-shadow:var(--shadow-md); }
.fp-inline-form .full-width{ grid-column:1/-1; }
.fp-inline-form label span{ color:var(--blue); }

/* ==========================================================================
   FP — CANDIDATES (Section 14)
   ========================================================================== */
.fp-candidates-section{ background:#fff; }
.fp-candidates-inner{ display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; }
.fp-cand-copy h2{ margin-bottom:16px; }
.fp-cand-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:24px; }
.fp-cand-highlights{ display:flex; flex-direction:column; gap:16px; }
.fp-cand-hl{
	display:flex; gap:14px; align-items:flex-start;
	background:var(--bg-soft); border:1px solid var(--border);
	border-radius:var(--radius-md); padding:18px 20px;
}
.fp-cand-icon{
	width:40px; height:40px; border-radius:10px; background:var(--bg-soft-2); color:var(--blue);
	display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.fp-cand-icon svg{ width:20px; height:20px; }
.fp-cand-hl strong{ display:block; color:var(--navy); font-family:var(--font-head); font-size:.95rem; margin-bottom:4px; }
.fp-cand-hl p{ font-size:.88rem; margin:0; }

/* ==========================================================================
   FP — FINAL CTA (Section 16)
   ========================================================================== */
.fp-final-cta-section{
	background:linear-gradient(160deg, #0D1B38 0%, #182D5E 60%, #0D1B38 100%);
	color:#fff; text-align:center;
}
.fp-final-cta-inner{ max-width:760px; margin:0 auto; }
.fp-fcta-content .eyebrow-badge{ margin-bottom:18px; }
.fp-fcta-content h2{ color:#fff; margin-bottom:16px; }
.fp-fcta-content > p{ color:rgba(255,255,255,.8); max-width:620px; margin:0 auto 28px; }
.fp-fcta-actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.fp-fcta-stat-strip{
	display:flex; justify-content:center; gap:40px; margin-top:48px;
	padding-top:32px; border-top:1px solid rgba(255,255,255,.12);
}
.fp-fcta-stat{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.fp-fcta-stat span{
	font-family:var(--font-head); font-size:2rem; font-weight:800; color:#7EB4FF;
}
.fp-fcta-stat small{ font-size:.78rem; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:.04em; }

/* ==========================================================================
   FP — SEO COPY (Section 17)
   ========================================================================== */
.fp-seo-copy-section{
	background:var(--bg-soft); padding:24px 0;
	border-top:1px solid var(--border);
}
.fp-seo-copy-section p{
	font-size:.82rem; color:var(--text-muted); line-height:1.7; margin:0;
}

/* ==========================================================================
   FP — RESPONSIVE
   ========================================================================== */
@media (max-width: 1100px){
	.fp-stats-grid{ grid-template-columns:repeat(3,1fr); }
	.fp-difference-grid{ grid-template-columns:repeat(2,1fr); }
	.fp-capabilities-grid{ grid-template-columns:repeat(2,1fr); }
	.fp-domains-grid{ grid-template-columns:repeat(2,1fr); }
	.fp-process-track{ grid-template-columns:repeat(3,1fr); row-gap:28px; }
	.fp-impact-grid{ grid-template-columns:repeat(2,1fr); }
	.fp-impact-card-wide{ grid-column:span 2; }
	.fp-partner-stat-overlay{ position:static; margin-top:16px; }
}
@media (max-width: 900px){
	.fp-bottleneck-inner,
	.fp-focus-inner,
	.fp-partner-inner,
	.fp-candidates-inner,
	.fp-employer-form-inner,
	.fp-assured-inner{ grid-template-columns:1fr; }
	.fp-focus-visual{ order:-1; }
	.fp-hero-caps{ flex-direction:column; align-items:center; }
}
@media (max-width: 782px){
	.fp-stats-grid{ grid-template-columns:repeat(2,1fr); gap:16px; }
	.fp-difference-grid,
	.fp-capabilities-grid,
	.fp-domains-grid,
	.fp-cases-grid{ grid-template-columns:1fr; }
	.fp-process-track{ grid-template-columns:repeat(2,1fr); padding:24px 16px; }
	.fp-impact-grid{ grid-template-columns:1fr 1fr; }
	.fp-impact-card-wide{ grid-column:span 2; }
	.fp-fcta-stat-strip{ flex-wrap:wrap; gap:24px; }
	.fp-cand-actions{ flex-direction:column; }
	.fp-partner-stat-overlay{ flex-direction:column; gap:10px; align-items:flex-start; }
	.fp-hero{ padding:96px 0 64px; }
	.fp-assured-flow{ font-size:.82rem; gap:6px; }
}
@media (max-width: 480px){
	.fp-stats-grid{ grid-template-columns:1fr 1fr; }
	.fp-process-track{ grid-template-columns:1fr; }
	.fp-impact-grid{ grid-template-columns:1fr; }
	.fp-impact-card-wide{ grid-column:span 1; }
	.fp-cases-grid{ grid-template-columns:1fr; }
	.fp-fcta-stat-strip{ gap:16px; }
}

/* ==========================================================================
   DROPDOWN NAVIGATION
   ========================================================================== */
.nav-menu .has-dropdown{ position:relative; }
.nav-menu .has-dropdown > a{ display:flex; align-items:center; gap:5px; }
.nav-arrow{ font-size:.6rem; transition:transform .2s ease; display:inline-block; }
.has-dropdown:hover .nav-arrow,
.has-dropdown:focus-within .nav-arrow{ transform:rotate(180deg); }

.dropdown-menu{
	position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%);
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	box-shadow:0 20px 40px rgba(21,43,82,.14);
	min-width:230px; padding:10px 0; list-style:none; margin:0;
	opacity:0; visibility:hidden; pointer-events:none;
	transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
	transform:translateX(-50%) translateY(-6px);
	z-index:200;
}
.has-dropdown:hover .dropdown-menu,
.has-dropdown:focus-within .dropdown-menu{
	opacity:1; visibility:visible; pointer-events:auto;
	transform:translateX(-50%) translateY(0);
}
.dropdown-menu li{ margin:0; padding:0; }
.dropdown-menu a{
	display:block; padding:10px 20px;
	font-size:.9rem; font-weight:500; color:var(--text);
	transition:background .15s ease, color .15s ease, padding-left .15s ease;
}
.dropdown-menu a:hover,
.dropdown-menu .current-menu-item a{
	background:var(--bg-soft); color:var(--blue); padding-left:26px;
}
.dropdown-menu::before{
	content:''; position:absolute; bottom:100%; left:50%; transform:translateX(-50%);
	border:7px solid transparent; border-bottom-color:#fff;
	filter:drop-shadow(0 -1px 0 rgba(228,233,242,.8));
}
.nav-menu .has-dropdown.current-menu-parent > a{ color:var(--blue); }

/* ==========================================================================
   FOOTER — brand col + 4 link columns
   ========================================================================== */
.footer-inner-5col{ grid-template-columns:1.15fr 2.85fr; }
.footer-links-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.footer-link-cta{ color:rgba(255,255,255,.78) !important; font-weight:600 !important; }
.footer-link-cta:hover{ color:#fff !important; }
.footer-cert-badge{
	display:flex; align-items:center; gap:10px; margin-top:24px;
	padding:14px 16px; background:rgba(255,255,255,.07);
	border:1px solid rgba(255,255,255,.15); border-radius:var(--radius-md);
}
.footer-cert-icon{ color:#9DB6F5; flex-shrink:0; }
.footer-cert-icon svg{ width:22px; height:22px; }
.footer-cert-badge strong{ display:block; font-size:.82rem; color:#fff; }
.footer-cert-badge small{ font-size:.72rem; color:rgba(255,255,255,.55); }

@media (max-width: 1100px){
	.footer-links-grid-4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 900px){
	.footer-inner-5col{ grid-template-columns:1fr; }
}
@media (max-width: 782px){
	/* Mobile nav — dropdown becomes accordion */
	.nav-menu .has-dropdown > a .nav-arrow{ display:none; }
	.dropdown-menu{
		position:static; transform:none !important; opacity:1; visibility:visible;
		pointer-events:auto; box-shadow:none; border:none; border-radius:0;
		background:var(--bg-soft); padding:0; max-height:0; overflow:hidden;
		transition:max-height .3s ease;
	}
	.has-dropdown.mobile-open .dropdown-menu{ max-height:600px; }
	.dropdown-menu a{ padding:12px 32px; border-top:1px solid var(--border); }
	.dropdown-menu a:hover{ padding-left:36px; }
	.dropdown-menu::before{ display:none; }
	.footer-links-grid-4{ grid-template-columns:1fr; }
}

/* ==========================================================================
   ENHANCED PAGES STYLING
   ========================================================================== */

/* Hero Stats Row */
.hero-stats-row{ display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.hero-stat-pill{
	background:rgba(255,255,255,.12); backdrop-filter:blur(8px);
	border:1px solid rgba(255,255,255,.2); border-radius:999px;
	padding:6px 16px; font-size:.84rem; color:rgba(255,255,255,.9);
}
.hero-stat-pill strong{ color:#fff; }

/* JOBS & CAREER */
.jobs-search-box{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:24px; box-shadow:0 10px 30px rgba(15,23,42,.06); margin-bottom:36px;
}
.jobs-search-row{ display:grid; grid-template-columns:1.5fr 2fr; gap:16px; align-items:center; }
.jobs-search-input-wrap{ position:relative; display:flex; align-items:center; }
.jobs-search-input-wrap .search-icon{ position:absolute; left:16px; color:var(--text-muted); display:flex; }
.jobs-search-input-wrap .search-icon svg{ width:20px; height:20px; }
.jobs-search-input-wrap input{
	width:100%; padding:12px 16px 12px 46px; border:1px solid var(--border);
	border-radius:var(--radius-md); font-size:.95rem; font-family:inherit;
}
.jobs-filter-group{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.jobs-select{
	padding:11px 12px; border:1px solid var(--border); border-radius:var(--radius-md);
	font-size:.85rem; font-family:inherit; background:#fff; color:var(--text); cursor:pointer;
}
.jobs-quick-tags{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:16px; padding-top:16px; border-top:1px solid var(--border-light); font-size:.85rem; }
.quick-tag-label{ color:var(--text-muted); font-weight:500; }
.quick-tag-btn{
	background:var(--bg-soft); border:1px solid var(--border); border-radius:999px;
	padding:4px 12px; font-size:.8rem; cursor:pointer; color:var(--text);
	transition:all .15s ease;
}
.quick-tag-btn:hover{ background:var(--blue); color:#fff; border-color:var(--blue); }

.jobs-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.job-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:28px; display:flex; flex-direction:column; justify-content:space-between;
	box-shadow:0 4px 16px rgba(15,23,42,.04); transition:transform .2s ease, box-shadow .2s ease;
}
.job-card:hover{ transform:translateY(-4px); box-shadow:0 16px 32px rgba(15,23,42,.08); border-color:#CBD5E1; }
.job-card-header{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:14px; }
.job-badge{ display:inline-block; font-size:.76rem; font-weight:700; padding:4px 10px; border-radius:999px; margin-right:6px; }
.badge-urgent{ background:#FEF3C7; color:#92400E; border:1px solid #FDE68A; }
.badge-serving{ background:#EFF6FF; color:#1E40AF; border:1px solid #BFDBFE; }
.job-type-badge{ font-size:.76rem; color:var(--text-muted); font-weight:500; }
.job-salary{ font-size:1rem; font-weight:700; color:#0F172A; }
.job-title{ font-size:1.2rem; font-weight:700; margin-bottom:6px; line-height:1.35; color:#0F172A; }
.job-company{ font-size:.86rem; color:var(--text-muted); margin-bottom:12px; }
.job-desc{ font-size:.9rem; color:var(--text); line-height:1.55; margin-bottom:16px; }
.job-meta-row{ display:flex; flex-wrap:wrap; gap:16px; font-size:.82rem; color:var(--text-muted); padding:10px 0; border-top:1px solid var(--border-light); border-bottom:1px solid var(--border-light); margin-bottom:14px; }
.job-meta-row strong{ color:var(--text); }
.job-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.job-tags span{ background:var(--bg-soft); border:1px solid var(--border); border-radius:4px; font-size:.75rem; padding:3px 8px; color:var(--text-muted); }
.job-card-actions{ display:flex; gap:10px; }

.upload-cta-card{
	background:linear-gradient(135deg, #0F172A 0%, #1E3A8A 100%);
	border-radius:var(--radius-xl); padding:48px; color:#fff;
	display:grid; grid-template-columns:1.8fr 1fr; gap:40px; align-items:center;
}
.upload-cta-content h2{ color:#fff; font-size:1.9rem; margin:12px 0; }
.upload-cta-content p{ color:rgba(255,255,255,.8); font-size:1.05rem; line-height:1.6; margin-bottom:20px; }
.upload-perks-list{ list-style:none; padding:0; margin:0 0 28px; display:flex; flex-direction:column; gap:8px; }
.upload-perks-list li{ display:flex; align-items:center; gap:8px; font-size:.92rem; color:rgba(255,255,255,.9); }
.upload-perks-list li svg{ width:16px; height:16px; color:#38BDF8; flex-shrink:0; }
.candidate-trust-box{
	background:rgba(255,255,255,.1); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.2);
	border-radius:var(--radius-lg); padding:32px; text-align:center;
}
.trust-stat{ font-size:2.8rem; font-weight:800; color:#38BDF8; line-height:1; margin-bottom:8px; }
.trust-label{ font-size:.85rem; color:rgba(255,255,255,.85); margin:0; line-height:1.4; }
.trust-divider{ height:1px; background:rgba(255,255,255,.2); margin:20px 0; }

/* CASE STUDIES */
.cases-filter-tabs{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; justify-content:center; }
.case-tab{
	background:#fff; border:1px solid var(--border); border-radius:999px;
	padding:8px 20px; font-size:.88rem; font-weight:600; cursor:pointer; color:var(--text);
	transition:all .18s ease;
}
.case-tab.active, .case-tab:hover{ background:var(--blue); color:#fff; border-color:var(--blue); }

.case-studies-stack{ display:flex; flex-direction:column; gap:32px; }
.case-card-expanded{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-xl);
	padding:36px; box-shadow:0 6px 24px rgba(15,23,42,.04);
}
.case-card-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.case-badge-group{ display:flex; gap:8px; flex-wrap:wrap; }
.case-tag{ font-size:.78rem; font-weight:700; padding:4px 12px; border-radius:999px; }
.tag-tech{ background:#EFF6FF; color:#1D4ED8; }
.tag-mfg{ background:#FEF3C7; color:#B45309; }
.tag-bfsi{ background:#ECFDF5; color:#047857; }
.tag-scm{ background:#F3E8FF; color:#7E22CE; }
.tag-speed{ background:rgba(15,23,42,.06); color:#0F172A; }
.case-location{ font-size:.84rem; color:var(--text-muted); font-weight:500; }
.case-card-title{ font-size:1.5rem; font-weight:700; color:#0F172A; line-height:1.35; margin-bottom:24px; }
.case-three-col{ display:grid; grid-template-columns:1fr 1fr 1.15fr; gap:24px; margin-bottom:28px; }
.case-col-box{ background:var(--bg-soft); border-radius:var(--radius-md); padding:20px; border:1px solid var(--border); }
.case-col-head{ font-size:.88rem; text-transform:uppercase; letter-spacing:.5px; font-weight:700; margin-bottom:10px; }
.head-challenge{ color:#DC2626; }
.head-solution{ color:#2563EB; }
.head-impact{ color:#059669; }
.case-col-box p{ font-size:.88rem; line-height:1.55; color:var(--text); margin:0; }
.case-metric-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; font-size:.88rem; }
.case-metric-list li strong{ color:#059669; }
.case-quote-banner{
	background:#F8FAFC; border-left:4px solid var(--blue); padding:20px 24px;
	border-radius:0 var(--radius-md) var(--radius-md) 0; position:relative;
}
.quote-symbol{ font-size:2.4rem; line-height:1; color:var(--blue); font-family:serif; height:20px; }
.quote-text{ font-style:italic; font-size:.95rem; line-height:1.6; color:#334155; margin:6px 0 12px; }
.quote-author strong{ display:block; font-size:.88rem; color:#0F172A; }
.quote-author span{ font-size:.8rem; color:var(--text-muted); }

.assured-callout-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-xl);
	padding:40px; display:grid; grid-template-columns:2fr 1fr; gap:36px; align-items:center;
}
.assured-pill-group{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.assured-pill{ display:inline-flex; align-items:center; gap:6px; background:#ECFDF5; border:1px solid #A7F3D0; color:#065F46; padding:6px 14px; border-radius:999px; font-size:.82rem; font-weight:600; }
.assured-pill svg{ width:15px; height:15px; }
.assured-callout-cta{ display:flex; flex-direction:column; gap:12px; }

/* BLOG & RESOURCES */
.featured-blog-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-xl);
	padding:40px; box-shadow:0 8px 30px rgba(15,23,42,.05); display:flex; flex-direction:column;
}
.featured-blog-badge-col{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.blog-cat-badge{ background:#EFF6FF; color:#1D4ED8; font-weight:700; font-size:.78rem; padding:4px 12px; border-radius:999px; }
.blog-read-time{ font-size:.82rem; color:var(--text-muted); }
.featured-blog-content h2{ font-size:1.85rem; font-weight:800; line-height:1.3; color:#0F172A; margin-bottom:14px; }
.featured-blog-content p{ font-size:1rem; line-height:1.65; color:var(--text); margin-bottom:24px; max-width:960px; }
.featured-blog-footer{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:20px; border-top:1px solid var(--border-light); }
.blog-author-meta strong{ display:block; font-size:.9rem; color:#0F172A; }
.blog-author-meta span{ font-size:.8rem; color:var(--text-muted); }

.blog-filter-pills{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:30px; }
.blog-pill{
	background:#fff; border:1px solid var(--border); border-radius:999px;
	padding:7px 16px; font-size:.84rem; font-weight:600; cursor:pointer; color:var(--text);
	transition:all .15s ease;
}
.blog-pill.active, .blog-pill:hover{ background:var(--blue); color:#fff; border-color:var(--blue); }

.blog-cards-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.blog-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:26px; display:flex; flex-direction:column; justify-content:space-between;
	box-shadow:0 4px 16px rgba(15,23,42,.03); transition:transform .2s ease, box-shadow .2s ease;
}
.blog-card:hover{ transform:translateY(-4px); box-shadow:0 14px 28px rgba(15,23,42,.08); border-color:#CBD5E1; }
.blog-card-meta{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.blog-topic-tag{ font-size:.74rem; font-weight:700; padding:3px 8px; border-radius:4px; }
.tag-notice{ background:#FEF3C7; color:#92400E; }
.tag-models{ background:#EFF6FF; color:#1E40AF; }
.tag-compliance{ background:#ECFDF5; color:#065F46; }
.tag-market{ background:#F3E8FF; color:#6B21A8; }
.blog-date{ font-size:.76rem; color:var(--text-muted); }
.blog-title{ font-size:1.15rem; font-weight:700; line-height:1.4; color:#0F172A; margin-bottom:10px; }
.blog-excerpt{ font-size:.88rem; line-height:1.55; color:var(--text-muted); margin-bottom:18px; }
.blog-card-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:1px solid var(--border-light); font-size:.84rem; }
.blog-author-sm{ color:var(--text-muted); font-size:.8rem; }

.resource-download-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:30px; display:flex; flex-direction:column; justify-content:space-between;
	box-shadow:0 4px 16px rgba(15,23,42,.04);
}
.resource-icon-badge{
	width:48px; height:48px; border-radius:12px; background:var(--bg-soft);
	color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.resource-icon-badge svg{ width:24px; height:24px; }
.resource-download-card h4{ font-size:1.15rem; font-weight:700; color:#0F172A; margin-bottom:10px; }
.resource-download-card p{ font-size:.88rem; color:var(--text-muted); line-height:1.55; margin-bottom:20px; }

.newsletter-box{
	background:linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
	border-radius:var(--radius-xl); padding:44px; color:#fff;
	display:grid; grid-template-columns:1.5fr 1fr; gap:36px; align-items:center;
}
.newsletter-copy h2{ color:#fff; font-size:1.75rem; margin:10px 0; }
.newsletter-copy p{ color:rgba(255,255,255,.8); font-size:.95rem; line-height:1.6; margin:0; }
.newsletter-input-group{ display:flex; gap:10px; }
.newsletter-input{
	flex:1; padding:12px 16px; border:1px solid rgba(255,255,255,.2);
	border-radius:var(--radius-md); font-size:.92rem; background:rgba(255,255,255,.08);
	color:#fff; font-family:inherit;
}
.newsletter-input::placeholder{ color:rgba(255,255,255,.5); }
.newsletter-disclaimer{ display:block; margin-top:8px; font-size:.76rem; color:rgba(255,255,255,.55); }

/* COMPARISON TABLE */
.comparison-table-wrapper{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	overflow-x:auto; box-shadow:0 6px 20px rgba(15,23,42,.04);
}
.comparison-table{ width:100%; border-collapse:collapse; text-align:left; font-size:.92rem; }
.comparison-table th, .comparison-table td{ padding:16px 22px; border-bottom:1px solid var(--border); }
.comparison-table th{ background:var(--bg-soft); font-weight:700; color:#0F172A; }
.comparison-table th.table-highlight, .comparison-table td.table-highlight{
	background:rgba(37,99,235,.04); font-weight:600; color:#0F172A;
}
.table-badge{ display:inline-block; padding:4px 10px; border-radius:999px; font-size:.82rem; font-weight:700; }
.badge-green{ background:#ECFDF5; color:#065F46; border:1px solid #A7F3D0; }

/* DOMAIN CARDS */
.domain-card{
	background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg);
	padding:32px; box-shadow:0 4px 16px rgba(15,23,42,.04); display:flex; flex-direction:column;
}
.domain-card-icon{ width:48px; height:48px; border-radius:12px; background:var(--bg-soft); color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.domain-card-icon svg{ width:24px; height:24px; }
.domain-card h3{ font-size:1.25rem; font-weight:700; color:#0F172A; margin-bottom:14px; }
.domain-roles-list{ list-style:none; padding:0; margin:0 0 20px; display:flex; flex-direction:column; gap:8px; font-size:.88rem; color:var(--text); }
.domain-roles-list li::before{ content:'•'; color:var(--blue); font-weight:bold; display:inline-block; width:14px; }

/* ABOUT SPLIT */
.about-split-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:44px; align-items:center; }
.lead-paragraph{ font-size:1.15rem; font-weight:500; color:#0F172A; line-height:1.6; margin-bottom:16px; }
.about-check-list{ list-style:none; padding:0; margin:20px 0; display:flex; flex-direction:column; gap:12px; }
.about-check-list li{ position:relative; padding-left:26px; font-size:.95rem; line-height:1.55; color:var(--text); }
.about-check-list li::before{ content:'✓'; position:absolute; left:0; top:0; color:#059669; font-weight:bold; font-size:1.1rem; }
.about-highlight-box{
	background:linear-gradient(135deg, #0F172A 0%, #1E3A8A 100%);
	border-radius:var(--radius-xl); padding:36px; color:#fff;
}
.cert-icon-large{ color:#38BDF8; margin-bottom:14px; }
.cert-icon-large svg{ width:36px; height:36px; }
.about-card-badge h3{ color:#fff; font-size:1.3rem; margin-bottom:8px; }
.about-card-badge p{ color:rgba(255,255,255,.8); font-size:.88rem; line-height:1.55; margin-bottom:24px; }
.about-metrics-stack{ display:flex; flex-direction:column; gap:16px; border-top:1px solid rgba(255,255,255,.15); padding-top:20px; }
.about-metric-item .metric-num{ display:block; font-size:1.8rem; font-weight:800; color:#38BDF8; line-height:1; margin-bottom:4px; }
.about-metric-item .metric-text{ font-size:.82rem; color:rgba(255,255,255,.78); line-height:1.4; }

/* CONTACT SPLIT */
.contact-layout-split{ display:grid; grid-template-columns:1.75fr 1fr; gap:36px; align-items:flex-start; }
.contact-form-styled{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-xl); padding:36px; box-shadow:0 8px 30px rgba(15,23,42,.04); }
.contact-sidebar-card{ background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--radius-lg); padding:26px; }
.contact-sidebar-card h4{ font-size:1.1rem; font-weight:700; color:#0F172A; margin:8px 0 6px; }
.contact-sidebar-card p{ font-size:.86rem; color:var(--text-muted); line-height:1.5; margin:0; }
.contact-directory-box{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:26px; box-shadow:0 4px 16px rgba(15,23,42,.03); }
.contact-directory-box h4{ font-size:1.05rem; font-weight:700; color:#0F172A; margin-bottom:14px; }
.regional-desk-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.regional-desk-list li strong{ display:block; font-size:.86rem; color:#0F172A; }
.regional-desk-list li span{ font-size:.78rem; color:var(--text-muted); }

/* RESPONSIVE QUERIES FOR NEW SECTIONS */
@media (max-width: 1024px){
	.jobs-search-row{ grid-template-columns:1fr; }
	.jobs-grid{ grid-template-columns:1fr; }
	.case-three-col{ grid-template-columns:1fr; }
	.blog-cards-grid{ grid-template-columns:repeat(2,1fr); }
	.upload-cta-card, .assured-callout-card, .newsletter-box, .about-split-grid, .contact-layout-split{ grid-template-columns:1fr; }
}
@media (max-width: 640px){
	.jobs-filter-group{ grid-template-columns:1fr; }
	.blog-cards-grid{ grid-template-columns:1fr; }
	.upload-cta-card, .featured-blog-card, .case-card-expanded, .contact-form-styled{ padding:24px; }
	.newsletter-input-group{ flex-direction:column; }
}

/* ==========================================================================
   HIRE TALENT PAGE — NEW STYLE
   ========================================================================== */
.hire-page-hero{ padding:100px 0 80px; }
.hire-hero-header{ text-align:center; display:flex; flex-direction:column; align-items:center; }
.hire-main-section{ padding-top:0; margin-top:-30px; position:relative; z-index:20; }

.hire-split-grid{
	display:grid;
	grid-template-columns:1.8fr 1.05fr;
	gap:44px;
	align-items:start;
}

/* Form Card */
.hire-mandate-card{
	background:#fff;
	border:1px solid var(--border);
	border-radius:20px;
	padding:40px;
	box-shadow:0 12px 40px rgba(15,23,42,.08);
}
.hire-card-header{
	margin-bottom:28px;
	padding-bottom:20px;
	border-bottom:1px solid var(--border-light);
}
.hire-card-header h2{
	font-size:1.6rem;
	font-weight:800;
	color:#0F172A;
	margin:0 0 6px;
}
.hire-card-header p{
	font-size:.92rem;
	color:var(--text-muted);
	margin:0;
	line-height:1.5;
}

.form-subheading{
	display:flex;
	align-items:center;
	gap:10px;
	font-size:1rem;
	font-weight:700;
	color:#0F172A;
	margin-bottom:18px;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.form-subheading span{
	background:#EFF6FF;
	color:#2563EB;
	font-size:.74rem;
	font-weight:800;
	padding:3px 8px;
	border-radius:6px;
	border:1px solid #BFDBFE;
}

/* Bulletproof Form Controls */
.hire-mandate-form .form-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px 20px;
	margin-bottom:0;
}
.hire-mandate-form .form-field{
	display:flex;
	flex-direction:column;
	width:100%;
	margin-bottom:16px;
}
.hire-mandate-form .form-field.full-width{
	grid-column:span 2;
	width:100%;
}
.hire-mandate-form label{
	display:block !important;
	font-size:.88rem !important;
	font-weight:600 !important;
	color:#1E293B !important;
	margin-bottom:6px !important;
}
.hire-mandate-form label span{
	color:#DC2626 !important;
}

.hire-mandate-form input[type="text"],
.hire-mandate-form input[type="email"],
.hire-mandate-form input[type="tel"],
.hire-mandate-form input[type="number"],
.hire-mandate-form select,
.hire-mandate-form textarea{
	width:100% !important;
	max-width:100% !important;
	box-sizing:border-box !important;
	display:block !important;
	padding:13px 16px !important;
	border:1.5px solid #CBD5E1 !important;
	border-radius:10px !important;
	font-size:.95rem !important;
	font-family:inherit !important;
	color:#0F172A !important;
	background:#F8FAFC !important;
	transition:all .2s ease !important;
}
.hire-mandate-form input:focus,
.hire-mandate-form select:focus,
.hire-mandate-form textarea:focus{
	background:#FFFFFF !important;
	border-color:#2563EB !important;
	box-shadow:0 0 0 3px rgba(37,99,235,.15) !important;
	outline:none !important;
}
.hire-mandate-form textarea{
	min-height:95px;
	resize:vertical;
}

.mandate-disclaimer{
	font-size:.8rem;
	color:var(--text-muted);
	line-height:1.5;
	text-align:center;
	margin-top:14px;
	padding:12px 16px;
	background:var(--bg-soft);
	border-radius:8px;
}

/* Sidebar Styles */
.hire-sidebar-col{
	display:flex;
	flex-direction:column;
	gap:24px;
}
.hire-sidebar-card{
	background:#fff;
	border:1px solid var(--border);
	border-radius:18px;
	padding:30px;
	box-shadow:0 8px 30px rgba(15,23,42,.05);
}
.sidebar-card-badge{
	display:inline-block;
	background:#EFF6FF;
	color:#1D4ED8;
	border:1px solid #BFDBFE;
	font-size:.75rem;
	font-weight:700;
	padding:4px 10px;
	border-radius:999px;
	margin-bottom:12px;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.hire-sidebar-card h4{
	font-size:1.2rem;
	font-weight:700;
	color:#0F172A;
	margin:0 0 6px;
}
.sidebar-sub{
	font-size:.86rem;
	color:var(--text-muted);
	line-height:1.5;
	margin:0 0 20px;
}

/* SLA Steps */
.sla-steps-track{
	display:flex;
	flex-direction:column;
	gap:16px;
	position:relative;
}
.sla-step{
	display:flex;
	gap:14px;
	align-items:flex-start;
	position:relative;
}
.sla-step::before{
	content:'';
	position:absolute;
	left:17px;
	top:36px;
	bottom:-16px;
	width:2px;
	background:#E2E8F0;
}
.sla-step.is-final::before{ display:none; }
.sla-step-num{
	width:34px;
	height:34px;
	border-radius:50%;
	background:#EFF6FF;
	color:#2563EB;
	border:2px solid #BFDBFE;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:800;
	font-size:.82rem;
	flex-shrink:0;
	position:relative;
	z-index:2;
}
.sla-step.is-final .sla-step-num{
	background:#10B981;
	border-color:#059669;
	color:#fff;
}
.sla-step-content strong{
	display:block;
	font-size:.88rem;
	color:#0F172A;
	margin-bottom:2px;
}
.sla-step-content p{
	font-size:.8rem;
	color:var(--text-muted);
	line-height:1.45;
	margin:0;
}

/* Hotline Card */
.hotline-card{
	background:linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
	color:#fff;
	border-color:rgba(255,255,255,.1);
}
.hotline-card h4{ color:#fff; }
.hotline-card p{ color:rgba(255,255,255,.75); }
.hotline-contact-list{
	display:flex;
	flex-direction:column;
	gap:10px;
	margin:16px 0;
}
.hotline-btn{
	display:flex;
	align-items:center;
	gap:12px;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.16);
	border-radius:10px;
	padding:12px 16px;
	color:#fff;
	text-decoration:none;
	transition:all .2s ease;
}
.hotline-btn:hover{
	background:rgba(255,255,255,.16);
	border-color:rgba(255,255,255,.3);
	color:#fff;
	transform:translateY(-2px);
}
.hotline-btn svg{ width:20px; height:20px; color:#38BDF8; flex-shrink:0; }
.hotline-btn small{ display:block; font-size:.72rem; color:rgba(255,255,255,.6); }
.hotline-btn strong{ font-size:.9rem; color:#fff; font-weight:700; }
.hotline-hours{
	display:block;
	font-size:.74rem;
	color:rgba(255,255,255,.5);
	text-align:center;
}

/* Shield Card */
.shield-card-header{
	display:flex;
	align-items:center;
	gap:14px;
	margin-bottom:18px;
}
.shield-icon-badge{
	width:44px;
	height:44px;
	border-radius:12px;
	background:#ECFDF5;
	color:#059669;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
}
.shield-icon-badge svg{ width:22px; height:22px; }
.shield-card-header h4{ font-size:1.15rem; margin:0 0 2px; }
.shield-card-header small{ font-size:.78rem; color:var(--text-muted); }
.shield-perks-list{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.shield-perks-list li{
	display:flex;
	gap:10px;
	align-items:flex-start;
	font-size:.84rem;
	line-height:1.45;
	color:var(--text);
}
.shield-perks-list li > span{
	color:#059669;
	font-weight:bold;
	font-size:1rem;
	flex-shrink:0;
	margin-top:-1px;
}

/* FAQ Stack */
.faq-stack{
	display:grid;
	gap:14px;
	max-width:820px;
	margin:0 auto;
}
.faq-item-card{
	background:#fff;
	border:1px solid var(--border);
	border-radius:12px;
	padding:22px 26px;
	box-shadow:0 4px 14px rgba(15,23,42,.03);
}
.faq-item-card h4{
	font-size:1.02rem;
	font-weight:700;
	color:#0F172A;
	margin:0 0 8px;
}
.faq-item-card p{
	font-size:.88rem;
	color:var(--text-muted);
	line-height:1.55;
	margin:0;
}

/* Responsive */
@media (max-width: 1024px){
	.hire-split-grid{
		grid-template-columns:1fr;
		gap:36px;
	}
	.hire-mandate-card{
		padding:28px 22px;
	}
	.mandate-step-head{
		flex-direction:column;
		gap:8px;
	}
}
@media (max-width: 640px){
	.engagement-cards-grid{
		grid-template-columns:1fr;
	}
	.hire-mandate-card{
		padding:20px 16px;
	}
}

/* ==========================================================================
   CANDIDATE REGISTRATION FORM STYLING
   ========================================================================== */
.candidate-radio-pills{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
	margin-top:6px;
}
.cand-radio-pill{
	position:relative;
	cursor:pointer;
	margin:0;
}
.cand-radio-pill input[type="radio"]{
	position:absolute;
	opacity:0;
	pointer-events:none;
}
.cand-radio-btn{
	display:block;
	background:#F8FAFC;
	border:1.5px solid var(--border);
	border-radius:10px;
	padding:12px 16px;
	font-size:.88rem;
	font-weight:600;
	color:#334155;
	text-align:center;
	transition:all .2s ease;
}
.cand-radio-pill:hover .cand-radio-btn{
	border-color:#93C5FD;
	background:#EFF6FF;
}
.cand-radio-pill input[type="radio"]:checked + .cand-radio-btn{
	background:#EFF6FF;
	border-color:#2563EB;
	color:#1D4ED8;
	box-shadow:0 0 0 1px #2563EB;
}

/* Conditional Notice Upload Box */
.candidate-conditional-box{
	background:#F0FDF4;
	border:1.5px dashed #86EFAC;
	border-radius:12px;
	padding:20px;
	margin:16px 0;
	transition:all .3s ease;
}
.conditional-head{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin-bottom:14px;
}
.cond-icon{ font-size:1.3rem; flex-shrink:0; }
.conditional-head strong{
	display:block;
	font-size:.9rem;
	color:#14532D;
	margin-bottom:2px;
}
.conditional-head p{
	font-size:.78rem;
	color:#166534;
	margin:0;
	line-height:1.45;
}

/* Custom File Upload Box */
.cand-file-box{
	position:relative;
	border:2px dashed #CBD5E1;
	border-radius:12px;
	background:#F8FAFC;
	padding:24px 20px;
	text-align:center;
	cursor:pointer;
	transition:all .2s ease;
}
.cand-file-box:hover{
	border-color:#2563EB;
	background:#EFF6FF;
}
.cand-file-box input[type="file"]{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	opacity:0;
	cursor:pointer;
	z-index:2;
}
.cand-file-label{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:6px;
	pointer-events:none;
}
.cand-file-icon{
	width:44px;
	height:44px;
	border-radius:50%;
	background:#EFF6FF;
	color:#2563EB;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:4px;
}
.cand-file-icon svg{ width:22px; height:22px; }
.cand-file-prompt{
	font-size:.92rem;
	color:#0F172A;
}
.cand-file-name{
	display:none;
	margin-top:8px;
	font-size:.82rem;
	font-weight:700;
	color:#15803D;
	background:#DCFCE7;
	padding:4px 12px;
	border-radius:999px;
	border:1px solid #BBF7D0;
}

/* Candidate Perks Sidebar */
.cand-perks-stack{
	display:flex;
	flex-direction:column;
	gap:16px;
}
.cand-perk-item{
	display:flex;
	gap:12px;
	align-items:flex-start;
}
.cand-perk-icon{
	font-size:1.3rem;
	flex-shrink:0;
	line-height:1.2;
}
.cand-perk-item strong{
	display:block;
	font-size:.88rem;
	color:#0F172A;
	margin-bottom:2px;
}
.cand-perk-item p{
	font-size:.8rem;
	color:var(--text-muted);
	line-height:1.45;
	margin:0;
}

@media (max-width: 640px){
	.candidate-radio-pills{ grid-template-columns:1fr; }
}

/* ==========================================================================
   ANIMATIONS — Home Page (v2.3.0)
   ========================================================================== */

/* ── Keyframes ─────────────────────────────────────────────────────────── */
@keyframes sam-fadeInUp {
	from { opacity:0; transform:translateY(28px); }
	to   { opacity:1; transform:translateY(0);    }
}
@keyframes sam-fadeInLeft {
	from { opacity:0; transform:translateX(-32px); }
	to   { opacity:1; transform:translateX(0);     }
}
@keyframes sam-fadeInRight {
	from { opacity:0; transform:translateX(32px); }
	to   { opacity:1; transform:translateX(0);    }
}
@keyframes sam-fadeIn {
	from { opacity:0; }
	to   { opacity:1; }
}
@keyframes sam-scaleIn {
	from { opacity:0; transform:scale(.88); }
	to   { opacity:1; transform:scale(1);   }
}
@keyframes sam-slideDown {
	from { opacity:0; transform:translateY(-18px); }
	to   { opacity:1; transform:translateY(0);     }
}
@keyframes sam-bob {
	0%,100% { transform:translateY(0);    }
	50%      { transform:translateY(-8px); }
}
@keyframes sam-pulse-ring {
	0%   { transform:scale(1);   opacity:.7; }
	100% { transform:scale(2.2); opacity:0;  }
}
@keyframes sam-spin-slow {
	to { transform:rotate(360deg); }
}
@keyframes sam-draw-line {
	from { height:0; }
	to   { height:100%; }
}
@keyframes sam-count-up {
	from { opacity:0; transform:translateY(6px); }
	to   { opacity:1; transform:translateY(0);   }
}
@keyframes sam-shimmer {
	0%   { background-position: -200% center; }
	100% { background-position:  200% center; }
}
@keyframes sam-gradient-shift {
	0%   { background-position:0%   50%; }
	50%  { background-position:100% 50%; }
	100% { background-position:0%   50%; }
}
@keyframes sam-card-glow {
	0%,100% { box-shadow:0 0 0 0 rgba(47,95,214,.15); }
	50%      { box-shadow:0 0 24px 4px rgba(47,95,214,.22); }
}

/* ── Respect prefers-reduced-motion ────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.01ms !important;
	}
}

/* ── Scroll-Reveal Utility ─────────────────────────────────────────────── */
.sam-reveal {
	opacity:0;
	transform:translateY(32px);
	transition:opacity .65s cubic-bezier(.22,.68,0,1.2), transform .65s cubic-bezier(.22,.68,0,1.2);
}
.sam-reveal.sam-reveal--left {
	transform:translateX(-32px);
}
.sam-reveal.sam-reveal--right {
	transform:translateX(32px);
}
.sam-reveal.sam-reveal--scale {
	transform:scale(.92);
}
.sam-reveal.is-visible {
	opacity:1;
	transform:none;
}
/* Staggered children */
.sam-stagger > * {
	opacity:0;
	transform:translateY(24px);
	transition:opacity .55s ease, transform .55s ease;
}
.sam-stagger.is-visible > *:nth-child(1)  { opacity:1; transform:none; transition-delay:.05s; }
.sam-stagger.is-visible > *:nth-child(2)  { opacity:1; transform:none; transition-delay:.13s; }
.sam-stagger.is-visible > *:nth-child(3)  { opacity:1; transform:none; transition-delay:.21s; }
.sam-stagger.is-visible > *:nth-child(4)  { opacity:1; transform:none; transition-delay:.29s; }
.sam-stagger.is-visible > *:nth-child(5)  { opacity:1; transform:none; transition-delay:.37s; }
.sam-stagger.is-visible > *:nth-child(6)  { opacity:1; transform:none; transition-delay:.45s; }
.sam-stagger.is-visible > *:nth-child(n+7){ opacity:1; transform:none; transition-delay:.52s; }

/* ── HERO — Entrance Sequence ──────────────────────────────────────────── */
.fp-live-status-pill {
	animation:sam-slideDown .6s cubic-bezier(.22,.68,0,1.2) .1s both;
}
.fp-hero-h1 {
	animation:sam-fadeInUp .75s cubic-bezier(.22,.68,0,1.2) .25s both;
}
.fp-hero-lead {
	animation:sam-fadeInUp .7s ease .42s both;
}
.fp-caps-chips {
	animation:sam-fadeInUp .7s ease .55s both;
}
.fp-hero-cta-group {
	animation:sam-fadeInUp .7s ease .68s both;
}
.fp-hero-trust-bar {
	animation:sam-fadeIn .8s ease .85s both;
}
/* Right column — console */
.fp-radar-card {
	animation:sam-scaleIn .8s cubic-bezier(.22,.68,0,1.2) .35s both;
}
.fp-floating-badge.fp-float-top-right {
	animation:sam-fadeInRight .65s ease .9s both, sam-bob 3.5s ease-in-out 1.5s infinite;
}
.fp-floating-badge.fp-float-bottom-left {
	animation:sam-fadeInLeft .65s ease 1.0s both, sam-bob 4s ease-in-out 2s infinite;
}

/* ── STATS STRIP — counter entrance ───────────────────────────────────── */
.stat-item {
	transition:transform .3s ease, box-shadow .3s ease;
}
.stat-item:hover {
	transform:translateY(-4px);
}
/* Animated number class added by JS */
.stat-num.is-counting {
	animation:sam-count-up .5s ease both;
}

/* ── CHIP — hover lift ─────────────────────────────────────────────────── */
.fp-chip {
	transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.fp-chip:hover {
	transform:translateY(-3px) scale(1.03);
	box-shadow:0 8px 20px rgba(47,95,214,.18);
}

/* ── BOTTLENECK CARDS ──────────────────────────────────────────────────── */
.fp-problem-card {
	transition:transform .3s ease, box-shadow .3s ease;
}
.fp-problem-card:hover {
	transform:translateY(-6px);
	box-shadow:0 20px 40px rgba(21,43,82,.12);
}

/* ── DIFFERENCE CARDS ──────────────────────────────────────────────────── */
.fp-diff-card {
	transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
	position:relative;
	overflow:hidden;
}
.fp-diff-card::after {
	content:'';
	position:absolute;
	inset:0;
	background:linear-gradient(135deg, rgba(47,95,214,.06) 0%, transparent 60%);
	opacity:0;
	transition:opacity .3s ease;
}
.fp-diff-card:hover {
	transform:translateY(-6px);
	box-shadow:0 24px 48px rgba(21,43,82,.13);
}
.fp-diff-card:hover::after { opacity:1; }
.fp-diff-num {
	transition:color .3s ease, transform .3s ease;
}
.fp-diff-card:hover .fp-diff-num {
	color:var(--blue);
	transform:scale(1.1);
}

/* ── CAPABILITIES (service cards) ─────────────────────────────────────── */
.fp-cap-card {
	transition:transform .3s ease, box-shadow .3s ease;
}
.fp-cap-card:hover {
	transform:translateY(-7px);
	box-shadow:0 24px 50px rgba(21,43,82,.14);
}
.fp-cap-card .icon-badge {
	transition:transform .3s ease, background .3s ease;
}
.fp-cap-card:hover .icon-badge {
	transform:scale(1.15) rotate(-4deg);
	background:var(--blue);
	color:#fff;
}

/* ── PROCESS STEPS ────────────────────────────────────────────────────── */
.fp-process-step {
	transition:transform .3s ease, box-shadow .3s ease;
}
.fp-process-step:hover {
	transform:translateY(-5px);
	box-shadow:0 16px 36px rgba(21,43,82,.12);
}
.fp-process-icon {
	transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.fp-process-step:hover .fp-process-icon {
	transform:scale(1.18) rotate(6deg);
}

/* ── DOMAIN CARDS ─────────────────────────────────────────────────────── */
.fp-domain-card {
	transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.fp-domain-card:hover {
	transform:translateY(-6px);
	box-shadow:0 20px 40px rgba(21,43,82,.12);
	border-color:rgba(47,95,214,.3);
}
.fp-domain-icon {
	transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.fp-domain-card:hover .fp-domain-icon {
	transform:scale(1.2) rotate(-5deg);
}

/* ── PARTNER POINTS ───────────────────────────────────────────────────── */
.fp-partner-point {
	transition:transform .25s ease;
}
.fp-partner-point:hover {
	transform:translateX(5px);
}

/* ── CASE STUDY CARDS ─────────────────────────────────────────────────── */
.fp-case-card {
	transition:transform .3s ease, box-shadow .3s ease;
}
.fp-case-card:hover {
	transform:translateY(-5px);
	box-shadow:0 24px 48px rgba(21,43,82,.13);
}

/* ── IMPACT CARDS ─────────────────────────────────────────────────────── */
.fp-impact-card {
	transition:transform .3s ease, box-shadow .3s ease;
}
.fp-impact-card:hover {
	transform:translateY(-5px);
	box-shadow:0 20px 40px rgba(21,43,82,.12);
}
/* Animated number shimmer */
.fp-impact-num {
	background:linear-gradient(90deg, var(--navy) 0%, var(--blue) 40%, #6dd5fa 60%, var(--navy) 100%);
	background-size:200% auto;
	-webkit-background-clip:text;
	background-clip:text;
	-webkit-text-fill-color:transparent;
	animation:sam-shimmer 3s linear infinite;
}

/* ── TESTIMONIAL CARDS ───────────────────────────────────────────────── */
.fp-testimonial-card {
	transition:transform .3s ease, box-shadow .3s ease;
}
.fp-testimonial-card:hover {
	transform:translateY(-6px);
	box-shadow:0 24px 50px rgba(21,43,82,.14);
}

/* ── TIMELINE (focus section) ─────────────────────────────────────────── */
.fp-tl-row {
	transition:background .25s ease, padding .25s ease;
}
.fp-tl-row:hover {
	background:rgba(47,95,214,.06);
	border-radius:8px;
	padding-left:6px;
}
.fp-tl-dot {
	transition:transform .3s cubic-bezier(.34,1.56,.64,1), background .3s ease;
}
.fp-tl-row:hover .fp-tl-dot {
	transform:scale(1.5);
	background:var(--blue);
}

/* ── SAM ASSURED FLOW ─────────────────────────────────────────────────── */
.fp-assured-flow span {
	transition:transform .25s ease, color .25s ease;
}
.fp-assured-flow span:not(.fp-flow-arrow):hover {
	transform:scale(1.06);
	color:var(--blue);
}
.assured-step {
	transition:transform .3s ease, box-shadow .3s ease;
}
.assured-step:hover {
	transform:translateY(-5px);
	box-shadow:0 16px 30px rgba(21,43,82,.14);
}

/* ── FAQ ITEMS ────────────────────────────────────────────────────────── */
.faq-item {
	transition:box-shadow .25s ease;
}
.faq-item:hover {
	box-shadow:0 8px 24px rgba(21,43,82,.08);
}

/* ── CTA BUTTONS — extra pop ──────────────────────────────────────────── */
.btn {
	transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
}
.btn:hover {
	transform:translateY(-2px);
	box-shadow:0 10px 24px rgba(21,43,82,.18);
}
.btn:active {
	transform:translateY(0);
}

/* ── HERO RADAR PULSE RING ────────────────────────────────────────────── */
.fp-radar-pulse-ring {
	animation:sam-pulse-ring 1.8s cubic-bezier(.215,.61,.355,1) infinite;
}

/* ── GRADIENT ANIMATED HERO BACKGROUND ────────────────────────────────── */
.fp-hero-v2 {
	background-size:200% 200%;
	animation:sam-gradient-shift 12s ease infinite;
}

/* ── SECTION ENTRANCE via JS observer ────────────────────────────────── */
/* Cards targeted by the enhanced IntersectionObserver will have
   sam-reveal or sam-stagger classes applied dynamically via JS */

