/* =========================================================
   Zero One — web-v3  |  Cinematic dark/futuristic theme
   Customized AI & App Solutions. All assets local. No CDN.
   ========================================================= */

/* ---------- Fonts (local) ---------- */
@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/Montserrat-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'HelveticaLocal';
	src: url('../fonts/Helvetica.woff') format('woff'),
	     url('../fonts/Helvetica.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/* ---------- Design tokens ---------- */
:root {
	--bg:        #05070d;
	--bg-2:      #0a0e17;
	--bg-3:      #0f1521;
	--surface:   rgba(255,255,255,0.035);
	--surface-2: rgba(255,255,255,0.06);
	--line:      rgba(255,255,255,0.10);
	--line-2:    rgba(255,255,255,0.18);
	--txt:       #e8edf6;
	--txt-soft:  #9aa6bd;
	--txt-dim:   #67718a;
	--accent:    #38e8ff;
	--accent-2:  #5b8cff;
	--accent-3:  #8b5cf6;
	--green:     #1fbf55;
	--green-2:   #28d96a;
	--glow:      0 0 0 1px rgba(56,232,255,0.25), 0 10px 40px -10px rgba(56,232,255,0.35);
	--maxw:      1200px;
	--ease:      cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
	background:var(--bg);
	color:var(--txt);
	font-family:'HelveticaLocal', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
	line-height:1.65;
	overflow-x:hidden;
	-webkit-font-smoothing:antialiased;
}
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
::selection { background:var(--accent); color:#04121a; }

/* Ambient background glow */
body::before {
	content:"";
	position:fixed; inset:0; z-index:-2;
	background:
		radial-gradient(60vw 60vw at 80% -10%, rgba(91,140,255,0.10), transparent 60%),
		radial-gradient(50vw 50vw at -10% 30%, rgba(139,92,246,0.10), transparent 60%),
		radial-gradient(50vw 50vw at 50% 120%, rgba(56,232,255,0.08), transparent 60%),
		var(--bg);
}
/* faint grid */
body::after {
	content:"";
	position:fixed; inset:0; z-index:-1; pointer-events:none;
	background-image:
		linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
	background-size:64px 64px;
	mask-image:radial-gradient(circle at 50% 35%, #000 0%, transparent 75%);
	-webkit-mask-image:radial-gradient(circle at 50% 35%, #000 0%, transparent 75%);
}

/* ---------- Headings ---------- */
h1,h2,h3,h4,.font-display { font-family:'Montserrat', system-ui, sans-serif; font-weight:600; line-height:1.1; letter-spacing:-0.01em; }

/* ---------- Layout helpers ---------- */
.wrap { width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.section { position:relative; padding:120px 0; }
.eyebrow {
	display:inline-flex; align-items:center; gap:8px;
	font-family:'Montserrat', sans-serif; font-size:12px; letter-spacing:0.22em; text-transform:uppercase;
	color:var(--accent); margin-bottom:18px;
}
.eyebrow::before { content:""; width:26px; height:1px; background:linear-gradient(90deg,var(--accent),transparent); }
.section-title { font-size:clamp(28px, 4vw, 46px); margin-bottom:20px; }
.section-intro { color:var(--txt-soft); font-size:18px; max-width:640px; }
.center { text-align:center; }
.center .eyebrow::before { display:none; }
.center .section-intro { margin-left:auto; margin-right:auto; }
.grad-text {
	background:linear-gradient(100deg,var(--accent),var(--accent-2) 55%,var(--accent-3));
	-webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---------- Buttons ---------- */
.btn {
	display:inline-flex; align-items:center; gap:10px;
	font-family:'Montserrat', sans-serif; font-size:14px; letter-spacing:0.02em;
	padding:14px 26px; border-radius:999px; cursor:pointer; border:1px solid transparent;
	transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s, border-color .3s;
	will-change:transform;
}
.btn svg { width:17px; height:17px; }
.btn-primary { color:#04121a; background:linear-gradient(100deg,var(--accent),var(--accent-2)); box-shadow:0 10px 30px -8px rgba(56,232,255,0.45); }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 16px 44px -10px rgba(56,232,255,0.6); }
.btn-ghost { color:var(--txt); background:var(--surface); border-color:var(--line-2); }
.btn-ghost:hover { transform:translateY(-3px); border-color:var(--accent); box-shadow:var(--glow); }

/* =========================================================
   NAVBAR
   ========================================================= */
.nav {
	position:fixed; top:0; left:0; right:0; z-index:100;
	transition:background .4s var(--ease), border-color .4s, padding .4s var(--ease), backdrop-filter .4s;
	border-bottom:1px solid transparent;
}
.nav.scrolled {
	background:rgba(5,7,13,0.72);
	backdrop-filter:saturate(160%) blur(14px);
	-webkit-backdrop-filter:saturate(160%) blur(14px);
	border-bottom:1px solid var(--line);
}
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:76px; transition:height .4s var(--ease); }
.nav.scrolled .nav-inner { height:64px; }
.brand { display:flex; align-items:center; gap:12px; font-family:'Montserrat',sans-serif; font-size:17px; letter-spacing:0.04em; color:#ffffff; }
.brand img { width:34px; height:auto; filter:drop-shadow(0 0 14px rgba(56,232,255,0.5)); }
.brand b { font-weight:600; color:#ffffff; }
.nav-links { display:flex; align-items:center; gap:34px; }
.nav-links a {
	font-family:'Montserrat',sans-serif; font-size:13.5px; color:var(--txt-soft);
	letter-spacing:0.02em; position:relative; transition:color .25s;
}
.nav-links a::after { content:""; position:absolute; left:0; bottom:-7px; height:2px; width:0; background:var(--accent); transition:width .3s var(--ease); }
.nav-links a:hover { color:var(--txt); }
.nav-links a:hover::after { width:100%; }
.nav-cta { margin-left:6px; }
/* Nav CTA: keep button text readable (override nav link color + underline) */
.nav-links a.nav-cta { color:#021018; font-weight:600; }
.nav-links a.nav-cta:hover { color:#021018; }
.nav-links a.nav-cta::after { display:none; }
.nav-toggle { display:none; background:none; border:0; cursor:pointer; padding:8px; }
.nav-toggle span { display:block; width:24px; height:2px; background:var(--txt); margin:5px 0; transition:.3s var(--ease); }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* =========================================================
   HERO (video)
   ========================================================= */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.hero-video-wrap { position:absolute; inset:0; z-index:0; }
.hero-video-wrap video { width:100%; height:100%; object-fit:cover; }
.hero-video-wrap::after {
	content:""; position:absolute; inset:0;
	background:
		linear-gradient(180deg, rgba(5,7,13,0.55) 0%, rgba(5,7,13,0.35) 35%, rgba(5,7,13,0.78) 80%, var(--bg) 100%),
		linear-gradient(90deg, rgba(5,7,13,0.85), rgba(5,7,13,0.25) 60%);
}
.hero-video-wrap::before {
	content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.4;
	background:repeating-linear-gradient(0deg, rgba(0,0,0,0.18) 0 1px, transparent 1px 3px);
}
.hero .wrap { position:relative; z-index:2; }
.hero-content { max-width:780px; }
.hero h1 { font-size:clamp(38px, 6.4vw, 78px); letter-spacing:-0.02em; margin-bottom:24px; }
.hero h1 .line { display:block; }
.hero p.lead { font-size:clamp(17px,2vw,21px); color:var(--txt-soft); max-width:600px; margin-bottom:38px; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; }
.hero-meta { display:flex; gap:34px; margin-top:54px; flex-wrap:wrap; }
.hero-meta .m b { font-family:'Montserrat',sans-serif; font-size:26px; color:var(--txt); display:block; }
.hero-meta .m span { font-size:13px; color:var(--txt-dim); letter-spacing:0.04em; }
.scroll-cue {
	position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:2;
	display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--txt-dim);
	font-family:'Montserrat',sans-serif; font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
}
.scroll-cue .mouse { width:24px; height:38px; border:2px solid var(--line-2); border-radius:14px; position:relative; }
.scroll-cue .mouse::after { content:""; position:absolute; top:7px; left:50%; transform:translateX(-50%); width:4px; height:7px; border-radius:2px; background:var(--accent); animation:scrolldot 1.8s infinite; }
@keyframes scrolldot { 0%{ opacity:0; transform:translate(-50%,0);} 30%{opacity:1;} 100%{ opacity:0; transform:translate(-50%,12px);} }

/* =========================================================
   MARQUEE / STATS strip
   ========================================================= */
.strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(180deg, var(--bg-2), var(--bg)); }
.stats { display:grid; grid-template-columns:repeat(4,1fr); }
.stat { padding:46px 20px; text-align:center; border-right:1px solid var(--line); }
.stat:last-child { border-right:0; }
.stat .num { font-family:'Montserrat',sans-serif; font-size:clamp(32px,4vw,48px); line-height:1; }
.stat .num .grad-text { display:inline; }
.stat .label { color:var(--txt-soft); font-size:14px; margin-top:10px; letter-spacing:0.03em; }

/* =========================================================
   ABOUT
   ========================================================= */
.about-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; }
.about-copy p { color:var(--txt-soft); margin-bottom:18px; font-size:16.5px; }
.about-copy p strong { color:var(--txt); }
.vm { display:grid; gap:16px; margin-top:30px; }
.vm-card { padding:22px 24px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.vm-card h4 { font-size:15px; letter-spacing:0.14em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; display:flex; align-items:center; gap:10px; }
.vm-card h4 svg { width:18px; height:18px; }
.vm-card p { color:var(--txt-soft); font-size:15px; margin:0; }
.vm-card ul { list-style:none; }
.vm-card li { color:var(--txt-soft); font-size:15px; padding-left:22px; position:relative; margin-bottom:8px; }
.vm-card li::before { content:""; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:2px; background:var(--accent); box-shadow:0 0 8px var(--accent); }
.about-visual { position:relative; }
.about-visual .frame { position:relative; border-radius:20px; overflow:hidden; border:1px solid var(--line-2); box-shadow:0 30px 80px -30px rgba(0,0,0,0.8); }
.about-visual .frame img { width:100%; height:520px; object-fit:cover; filter:saturate(.9) contrast(1.05); }
.about-visual .frame::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(5,7,13,0.85)); }
.about-visual .float {
	position:absolute; left:-24px; bottom:34px; padding:18px 22px; border-radius:16px;
	background:rgba(10,14,23,0.82); border:1px solid var(--line-2); backdrop-filter:blur(10px);
	box-shadow:var(--glow);
}
.about-visual .float b { font-family:'Montserrat',sans-serif; font-size:30px; }
.about-visual .float span { display:block; color:var(--txt-soft); font-size:13px; }

/* =========================================================
   SERVICES
   ========================================================= */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:56px; }
.svc {
	position:relative; padding:30px 26px; border-radius:18px; border:1px solid var(--line);
	background:var(--surface); overflow:hidden;
	transition:transform .4s var(--ease), border-color .4s, background .4s;
}
.svc::before {
	content:""; position:absolute; inset:0; opacity:0; transition:opacity .4s;
	background:radial-gradient(420px 180px at var(--mx,50%) 0%, rgba(56,232,255,0.14), transparent 70%);
}
.svc:hover { transform:translateY(-6px); border-color:var(--line-2); background:var(--surface-2); }
.svc:hover::before { opacity:1; }
.svc-ico {
	width:52px; height:52px; border-radius:13px; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(160deg, rgba(56,232,255,0.16), rgba(91,140,255,0.10));
	border:1px solid var(--line-2); margin-bottom:18px; color:var(--accent);
	transition:box-shadow .4s, color .4s;
}
.svc-ico svg { width:26px; height:26px; }
.svc:hover .svc-ico { box-shadow:var(--glow); }
.svc h3 { font-size:18px; margin-bottom:8px; }
.svc p { color:var(--txt-soft); font-size:14.5px; }

/* =========================================================
   OWNERSHIP (highlight)
   ========================================================= */
.ownership { padding-top:40px; }
.own-card {
	position:relative; padding:72px 56px; border-radius:28px; overflow:hidden;
	border:1px solid rgba(56,232,255,0.25);
	background:
		radial-gradient(800px 320px at 50% -10%, rgba(56,232,255,0.12), transparent 70%),
		linear-gradient(180deg, rgba(15,21,33,0.9), rgba(10,14,23,0.9));
	box-shadow:0 40px 120px -40px rgba(0,0,0,0.9), 0 0 80px -30px rgba(56,232,255,0.25);
}
.own-card::before {
	content:""; position:absolute; top:0; left:10%; right:10%; height:2px;
	background:linear-gradient(90deg, transparent, var(--accent), var(--accent-2), transparent);
}
.own-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:54px; }
.own-item {
	padding:30px 28px; border-radius:18px; border:1px solid var(--line);
	background:var(--surface);
	transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
}
.own-item:hover { transform:translateY(-6px); border-color:rgba(56,232,255,0.45); box-shadow:var(--glow); }
.own-head { display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.own-ico {
	flex-shrink:0;
	width:54px; height:54px; border-radius:14px; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(160deg, rgba(56,232,255,0.18), rgba(91,140,255,0.12));
	border:1px solid rgba(56,232,255,0.35); color:var(--accent);
	box-shadow:0 0 24px -8px rgba(56,232,255,0.45);
}
.own-ico svg { width:26px; height:26px; }
.own-item h3 { font-size:19px; margin:0; }
.own-item p { color:var(--txt-soft); font-size:14.5px; }

/* =========================================================
   PROCESS
   ========================================================= */
.process { position:relative; }
.process-bg { position:absolute; inset:0; z-index:0; overflow:hidden; }
.process-bg img { width:100%; height:100%; object-fit:cover; opacity:0.12; filter:grayscale(1); }
.process-bg::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, var(--bg), rgba(5,7,13,0.7) 50%, var(--bg)); }
.process .wrap { position:relative; z-index:1; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:56px; counter-reset:step; }
.step { padding:30px 26px; border-radius:18px; border:1px solid var(--line); background:rgba(10,14,23,0.6); backdrop-filter:blur(6px); position:relative; }
.step .n { font-family:'Montserrat',sans-serif; font-size:13px; color:var(--accent); letter-spacing:0.18em; }
.step h3 { font-size:19px; margin:12px 0 10px; }
.step p { color:var(--txt-soft); font-size:14.5px; }
.step .bar { position:absolute; left:26px; right:26px; top:0; height:2px; background:linear-gradient(90deg,var(--accent),transparent); border-radius:2px; }

/* =========================================================
   CLIENTS
   ========================================================= */
.clients { text-align:center; }
.clients-frame {
	margin-top:48px; padding:42px; border-radius:22px; border:1px solid var(--line);
	background:linear-gradient(180deg, #f7f9fc, #eef2f8);
	box-shadow:0 30px 80px -30px rgba(0,0,0,0.7);
}
.clients-frame img { width:100%; height:auto; }
.clients-note { margin-top:22px; color:var(--txt-dim); font-size:13.5px; letter-spacing:0.04em; }

/* =========================================================
   TESTIMONIAL
   ========================================================= */
.quote-wrap { max-width:900px; margin:0 auto; text-align:center; }
.quote-mark { font-family:'Montserrat',sans-serif; font-size:90px; line-height:0.4; color:var(--accent); opacity:.5; }
.quote { font-family:'Montserrat',sans-serif; font-size:clamp(22px,3vw,32px); line-height:1.35; margin:24px 0 28px; }
.quote-by { color:var(--txt-soft); font-size:15px; }
.quote-by b { color:var(--txt); }

/* =========================================================
   CTA / CONTACT
   ========================================================= */
.cta { position:relative; overflow:hidden; }
.cta-bg { position:absolute; inset:0; z-index:0; }
.cta-bg img { width:100%; height:100%; object-fit:cover; opacity:.18; }
.cta-bg::after { content:""; position:absolute; inset:0; background:radial-gradient(60% 80% at 50% 50%, rgba(5,7,13,0.6), var(--bg)); }
.cta .wrap { position:relative; z-index:1; }
.cta-card {
	max-width:880px; margin:0 auto; text-align:center; padding:64px 48px; border-radius:26px;
	border:1px solid var(--line-2); background:rgba(10,14,23,0.7); backdrop-filter:blur(14px);
	box-shadow:0 40px 120px -40px rgba(0,0,0,0.9);
}
.cta-card h2 { font-size:clamp(30px,4.4vw,52px); margin-bottom:16px; }
.cta-card p { color:var(--txt-soft); font-size:18px; max-width:560px; margin:0 auto 34px; }
.btn-wa {
	display:inline-block; padding:16px 30px; border-radius:18px; cursor:pointer;
	background:linear-gradient(150deg, var(--green), var(--green-2));
	box-shadow:0 14px 40px -10px rgba(31,191,85,0.6);
	transition:transform .3s var(--ease), box-shadow .3s var(--ease), filter .3s;
}
.btn-wa img { width:260px; max-width:100%; height:auto; display:block; }
.btn-wa:hover { transform:translateY(-3px) scale(1.02); box-shadow:0 20px 54px -10px rgba(40,217,106,0.75); filter:brightness(1.08); }
.cta-card p.contact-alt { margin:56px auto 0; color:var(--txt-soft); font-size:14.5px; }
.contact-alt a { color:var(--accent); }

/* =========================================================
   FOOTER
   ========================================================= */
.footer { border-top:1px solid var(--line); background:var(--bg-2); padding:54px 0 30px; }
.footer-top { display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.footer-brand { max-width:320px; }
.footer-brand .brand { margin-bottom:16px; }
.footer-brand p { color:var(--txt-soft); font-size:14px; }
.footer-cols { display:flex; gap:64px; flex-wrap:wrap; }
.footer-col h5 { font-family:'Montserrat',sans-serif; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--txt-dim); margin-bottom:16px; }
.footer-col a, .footer-col p { display:block; color:var(--txt-soft); font-size:14px; margin-bottom:10px; transition:color .25s; }
.footer-col a:hover { color:var(--accent); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
	margin-top:44px; padding-top:24px; border-top:1px solid var(--line); color:var(--txt-dim); font-size:12.5px; }
.footer-bottom .socials { display:flex; gap:10px; }
.footer-bottom .socials a { width:36px; height:36px; border-radius:10px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--txt-soft); transition:.3s var(--ease); }
.footer-bottom .socials a:hover { color:var(--accent); border-color:var(--accent); transform:translateY(-2px); }
.footer-bottom .socials svg { width:17px; height:17px; }

/* Floating WhatsApp */
.wa-float {
	position:fixed; right:22px; bottom:22px; z-index:90; width:58px; height:58px; border-radius:50%;
	background:linear-gradient(150deg,var(--green),var(--green-2)); display:flex; align-items:center; justify-content:center;
	box-shadow:0 14px 34px -8px rgba(31,191,85,0.6); transition:transform .3s var(--ease);
}
.wa-float:hover { transform:scale(1.08) translateY(-2px); }
.wa-float svg { width:30px; height:30px; color:#fff; }

/* =========================================================
   Scroll-reveal
   ========================================================= */
[data-reveal] { opacity:0; transform:translateY(30px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal].in { opacity:1; transform:none; }
[data-reveal][data-delay="1"]{ transition-delay:.08s; }
[data-reveal][data-delay="2"]{ transition-delay:.16s; }
[data-reveal][data-delay="3"]{ transition-delay:.24s; }
[data-reveal][data-delay="4"]{ transition-delay:.32s; }
[data-reveal][data-delay="5"]{ transition-delay:.40s; }

@media (prefers-reduced-motion: reduce) {
	* { animation:none !important; scroll-behavior:auto !important; }
	[data-reveal] { opacity:1; transform:none; transition:none; }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1024px) {
	.section { padding:96px 0; }
	.about-grid { grid-template-columns:1fr; gap:44px; }
	.about-visual .frame img { height:420px; }
	.services-grid { grid-template-columns:repeat(2,1fr); }
	.steps { grid-template-columns:repeat(2,1fr); }
	.own-grid { grid-template-columns:1fr; }
	.own-card { padding:56px 36px; }
}
@media (max-width:760px) {
	.nav-links { position:fixed; inset:64px 0 auto 0; flex-direction:column; gap:0; align-items:stretch;
		background:rgba(5,7,13,0.97); backdrop-filter:blur(16px); border-bottom:1px solid var(--line);
		padding:8px 0 18px; transform:translateY(-120%); transition:transform .4s var(--ease); }
	.nav-links.open { transform:none; }
	.nav-links a { padding:15px 24px; font-size:15px; }
	.nav-links a::after { display:none; }
	.nav-links .nav-cta { margin:12px 24px 0; justify-content:center; }
	.nav-toggle { display:block; }
	.stats { grid-template-columns:repeat(2,1fr); }
	.stat:nth-child(2n){ border-right:0; }
	.stat:nth-child(-n+2){ border-bottom:1px solid var(--line); }
	.services-grid { grid-template-columns:1fr; }
	.steps { grid-template-columns:1fr; }
	.hero-meta { gap:24px; }
	.clients-frame { padding:24px; }
	.cta-card { padding:44px 24px; }
	.own-card { padding:44px 22px; }
	.section { padding:80px 0; }
	.about-visual .float { left:12px; }
	.footer-top { gap:30px; }
}

/* =========================================================
   PRIVATE AI (highlight) — web-v3
   ========================================================= */
.private-ai { position:relative; overflow:hidden; padding-top:130px; padding-bottom:130px; }
.pai-bg { position:absolute; inset:0; z-index:0; }
.pai-bg img { width:100%; height:100%; object-fit:cover; opacity:0.22; }
.pai-bg::after {
	content:""; position:absolute; inset:0;
	background:
		radial-gradient(70% 60% at 50% 0%, rgba(56,232,255,0.10), transparent 60%),
		linear-gradient(180deg, var(--bg) 0%, rgba(5,7,13,0.78) 45%, var(--bg) 100%);
}
.private-ai .wrap { position:relative; z-index:1; }
.pai-head { max-width:820px; margin:0 auto; text-align:center; }
.pai-head .section-title { margin-top:6px; }

.pai-pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:54px; }
.pai-pillar {
	padding:32px 28px; border-radius:18px; text-align:center;
	border:1px solid rgba(56,232,255,0.22);
	background:radial-gradient(120% 120% at 50% 0%, rgba(56,232,255,0.07), rgba(255,255,255,0.03));
	transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
}
.pai-pillar:hover { transform:translateY(-6px); border-color:rgba(56,232,255,0.5); box-shadow:var(--glow); }
.pai-ico {
	width:60px; height:60px; margin:0 auto 18px; border-radius:16px;
	display:flex; align-items:center; justify-content:center; color:var(--accent);
	background:linear-gradient(160deg, rgba(56,232,255,0.2), rgba(91,140,255,0.12));
	border:1px solid rgba(56,232,255,0.35); box-shadow:0 0 28px -8px rgba(56,232,255,0.5);
}
.pai-ico svg { width:30px; height:30px; }
.pai-pillar h3 { font-size:21px; margin-bottom:10px; }
.pai-pillar p { color:var(--txt-soft); font-size:15px; }

/* Use cases */
.pai-cases {
	margin-top:30px; padding:48px 44px; border-radius:24px;
	border:1px solid var(--line); background:rgba(10,14,23,0.66); backdrop-filter:blur(10px);
}
.pai-cases-head { text-align:center; max-width:620px; margin:0 auto 40px; }
.pai-cases-head h3 { font-size:clamp(22px,3vw,30px); margin-bottom:12px; }
.pai-cases-head p { color:var(--txt-soft); font-size:16px; }
/* Use-case slider */
.pai-slider { position:relative; }
.pai-track {
	display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
	scroll-behavior:smooth; padding:6px 2px 18px; -webkit-overflow-scrolling:touch;
	scrollbar-width:none;
}
.pai-track::-webkit-scrollbar { display:none; }
.pai-slide {
	flex:0 0 calc((100% - 40px) / 3); scroll-snap-align:start;
	border-radius:18px; overflow:hidden; border:1px solid var(--line); background:var(--surface-2);
	display:flex; flex-direction:column; transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
}
.pai-slide:hover { transform:translateY(-5px); border-color:rgba(56,232,255,0.4); box-shadow:var(--glow); }
.pai-slide-img { position:relative; aspect-ratio:16 / 10; overflow:hidden; }
.pai-slide-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.pai-slide:hover .pai-slide-img img { transform:scale(1.06); }
.pai-slide-img::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(5,7,13,0.55)); }
.pai-slide-body { padding:22px 22px 26px; }
.pai-slide-body h4 { font-family:'Montserrat',sans-serif; font-size:18px; margin-bottom:9px; }
.pai-slide-body p { color:var(--txt-soft); font-size:14px; }

.pai-nav {
	position:absolute; top:38%; transform:translateY(-50%); z-index:3;
	width:48px; height:48px; border-radius:50%; cursor:pointer;
	display:flex; align-items:center; justify-content:center; color:var(--txt);
	background:rgba(10,14,23,0.86); border:1px solid var(--line-2); backdrop-filter:blur(8px);
	transition:transform .3s var(--ease), border-color .3s, color .3s, opacity .3s, background .3s;
}
.pai-nav svg { width:22px; height:22px; }
.pai-nav:hover { color:var(--accent); border-color:var(--accent); box-shadow:var(--glow); }
.pai-nav.prev { left:-10px; }
.pai-nav.next { right:-10px; }
.pai-nav[disabled] { opacity:0; pointer-events:none; }

.pai-dots { display:flex; justify-content:center; gap:9px; margin-top:6px; }
.pai-dots button {
	width:9px; height:9px; padding:0; border-radius:50%; cursor:pointer;
	background:var(--line-2); border:0; transition:width .3s var(--ease), background .3s;
}
.pai-dots button.active { width:26px; border-radius:6px; background:linear-gradient(90deg,var(--accent),var(--accent-2)); }

.pai-cta { text-align:center; margin-top:46px; }

@media (max-width:1024px) {
	.pai-pillars { grid-template-columns:1fr; }
	.pai-cases { padding:40px 28px; }
	.pai-slide { flex-basis:calc((100% - 20px) / 2); }
	.pai-nav.prev { left:-6px; } .pai-nav.next { right:-6px; }
}
@media (max-width:760px) {
	.private-ai { padding-top:84px; padding-bottom:84px; }
	.pai-cases { padding:30px 16px; }
	.pai-slide { flex-basis:88%; }
	.pai-nav { display:none; }
}

/* =========================================================
   DEMO INQUIRY FORM (contact)
   ========================================================= */
.demo-form { margin-top:30px; text-align:left; }
.df-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 16px; }
.df-field { display:flex; flex-direction:column; }
.df-field.df-full { grid-column:1 / -1; }
.df-field label { font-family:'Montserrat',sans-serif; font-size:12.5px; letter-spacing:0.04em; color:var(--txt-soft); margin-bottom:7px; }
.df-opt { color:var(--txt-dim); font-weight:400; text-transform:none; letter-spacing:0; }
.df-field input,
.df-field select,
.df-field textarea {
	width:100%; font-family:inherit; font-size:15px; color:var(--txt);
	background:rgba(255,255,255,0.04); border:1px solid var(--line-2); border-radius:12px;
	padding:13px 15px; transition:border-color .25s, box-shadow .25s, background .25s; outline:none;
}
.df-field textarea { resize:vertical; min-height:84px; }
.df-field select { appearance:none; -webkit-appearance:none; cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239aa6bd' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 14px center; padding-right:40px; }
.df-field select option { background:#0b0f18; color:var(--txt); }
.df-field input::placeholder,
.df-field textarea::placeholder { color:var(--txt-dim); }
.df-field input:focus,
.df-field select:focus,
.df-field textarea:focus { border-color:var(--accent); background:rgba(56,232,255,0.05); box-shadow:0 0 0 3px rgba(56,232,255,0.14); }
.df-field.invalid input,
.df-field.invalid select,
.df-field.invalid textarea { border-color:#ff6b6b; box-shadow:0 0 0 3px rgba(255,107,107,0.14); }

/* Equal control height across inputs, selects and the country trigger */
.df-field input,
.df-field select,
.cc-trigger { height:50px; padding-top:0; padding-bottom:0; line-height:normal; }
.df-field textarea { height:auto; padding-top:13px; padding-bottom:13px; }

/* Searchable country combobox (standalone field) */
.cc { position:relative; width:100%; }
.cc-trigger {
	width:100%; display:flex; align-items:center; gap:8px; justify-content:space-between;
	background:rgba(255,255,255,0.04); border:1px solid var(--line-2); border-radius:12px;
	color:var(--txt); font-family:inherit; font-size:15px; padding:0 14px; cursor:pointer; transition:border-color .2s, box-shadow .2s;
	overflow:hidden;
}
.cc-trigger:focus, .cc.open .cc-trigger { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(56,232,255,0.14); }
.cc-current { flex:1; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cc-current.placeholder { color:var(--txt-dim); }
.cc-arrow { width:16px; height:16px; flex-shrink:0; color:var(--txt-soft); transition:transform .25s var(--ease); }
.cc.open .cc-arrow { transform:rotate(180deg); }
.df-field.invalid .cc-trigger { border-color:#ff6b6b; box-shadow:0 0 0 3px rgba(255,107,107,0.14); }

.cc-panel {
	position:absolute; z-index:30; top:calc(100% + 8px); left:0; width:330px; max-width:80vw;
	background:#0b0f18; border:1px solid var(--line-2); border-radius:14px;
	box-shadow:0 26px 64px -22px rgba(0,0,0,0.85); overflow:hidden;
}
.cc-search-wrap { display:flex; align-items:center; gap:8px; padding:11px 13px; border-bottom:1px solid var(--line); }
.cc-search-wrap svg { width:16px; height:16px; color:var(--txt-dim); flex-shrink:0; }
.cc-search { flex:1; background:none; border:0; outline:none; color:var(--txt); font-family:inherit; font-size:14px; padding:0; }
.cc-search::placeholder { color:var(--txt-dim); }
.cc-list { list-style:none; margin:0; padding:6px; max-height:244px; overflow-y:auto; }
.cc-item { display:flex; align-items:center; gap:11px; padding:10px; border-radius:9px; cursor:pointer; font-size:14px; }
.cc-item:hover, .cc-item.active { background:rgba(56,232,255,0.10); }
.cc-item .fl { font-size:18px; width:22px; text-align:center; flex-shrink:0; }
.cc-item .nm { flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cc-item .dl { color:var(--txt-soft); flex-shrink:0; font-variant-numeric:tabular-nums; }
.cc-empty { padding:18px; text-align:center; color:var(--txt-dim); font-size:13px; }

@media (max-width:520px) {
	.df-phone { flex-direction:column; }
	.cc { width:100%; }
	.cc-panel { width:100%; max-width:100%; }
}

.df-err { display:none; color:#ff8585; font-size:12px; margin-top:6px; }
.df-field.invalid .df-err { display:block; }

.df-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.df-submit { margin-top:22px; width:100%; justify-content:center; font-size:15px; padding:16px 26px; }
.df-submit[disabled] { opacity:.7; cursor:wait; }
.df-note { margin-top:14px; text-align:center; color:var(--txt-dim); font-size:12.5px; }

.df-success { padding:30px 10px 6px; text-align:center; }
.df-success-ico {
	width:64px; height:64px; margin:0 auto 18px; border-radius:50%;
	display:flex; align-items:center; justify-content:center; color:#04121a;
	background:linear-gradient(150deg,var(--green),var(--green-2)); box-shadow:0 12px 34px -10px rgba(40,217,106,0.6);
}
.df-success-ico svg { width:30px; height:30px; }
.df-success h3 { font-size:22px; margin-bottom:10px; }
.df-success p { color:var(--txt-soft); }

@media (max-width:620px) {
	.df-grid { grid-template-columns:1fr; }
}
