*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
body { font-family:system-ui,-apple-system,sans-serif; color:#111; background:#fff; line-height:1.6; }
a { color:inherit; text-decoration:none; }

/* ── Header ── */
header { display:flex; align-items:center; justify-content:space-between; height:68px; border-bottom:1px solid #eee; position:sticky; top:0; background:#fff; z-index:200; }
.logo { display:flex; flex-direction:column; gap:2px; text-decoration:none; }
.logo-wordmark { font-size:1.85rem; font-weight:800; letter-spacing:-.03em; color:#111; line-height:1; }
.logo-wordmark sup { font-size:.55em; font-weight:700; vertical-align:super; }
.logo-tagline { font-size:.62rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#aaa; }
nav { display:flex; gap:4px; font-size:.88rem; font-weight:500; color:#333; height:100%; align-items:center; }
.nav-item { position:relative; height:100%; display:flex; align-items:center; }
.nav-link { padding:0 14px; height:100%; display:flex; align-items:center; gap:4px; color:#333; white-space:nowrap; transition:color .15s; }
.nav-link:hover, .nav-item:hover .nav-link { color:var(--accent); }
.nav-link.has-dropdown::after { content:''; display:inline-block; width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:4px solid currentColor; margin-left:2px; transition:transform .2s; }
.nav-item:hover .nav-link.has-dropdown::after { transform:rotate(180deg); }
.nav-link.active { color:var(--accent); border-bottom:2px solid var(--accent); }
.dropdown { position:fixed; top:68px; left:50%; transform:translateX(-50%) translateY(10px); background:#fff; border:1px solid #e2e2e4; border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,.13),0 4px 16px rgba(0,0,0,.06); padding:10px; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; opacity:0; pointer-events:none; transition:opacity .2s,transform .2s; width:min(96vw,940px); }
.nav-item:hover .dropdown { opacity:1; pointer-events:all; transform:translateX(-50%) translateY(0); }
.dropdown::before { content:""; position:absolute; top:-10px; left:0; right:0; height:10px; }
.dd-card { min-height:160px; background:#F3F3F5; border:2px solid transparent; border-radius:14px; padding:20px 18px 18px; cursor:pointer; transition:background .15s,border-color .15s; text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.dd-card:has(.dd-title.red)    { --card-accent:#C8102E; }
.dd-card:has(.dd-title.blue)   { --card-accent:#1D4ED8; }
.dd-card:has(.dd-title.teal)   { --card-accent:#0D9488; }
.dd-card:has(.dd-title.indigo) { --card-accent:#4F46E5; }
.dd-card:has(.dd-title.orange) { --card-accent:#EA580C; }
.dd-card:has(.dd-title.sky)    { --card-accent:#0369A1; }
.dd-card:has(.dd-title.slate)  { --card-accent:#334155; }
.dd-card:has(.dd-title.purple) { --card-accent:#7C3AED; }
.dd-card:hover { background:#ebebee; border-color:var(--card-accent); }
.dd-card.active { border-color:var(--card-accent); background:#fff; }
.dd-brand { font-size:.65rem; font-weight:700; color:#999; letter-spacing:.08em; text-transform:uppercase; margin-bottom:5px; }
.dd-title { font-size:1.15rem; font-weight:800; margin-bottom:12px; line-height:1.2; white-space:nowrap; letter-spacing:-.02em; }
.dd-title.red{color:#C8102E;} .dd-title.blue{color:#1D4ED8;} .dd-title.teal{color:#0D9488;} .dd-title.indigo{color:#4F46E5;} .dd-title.orange{color:#EA580C;} .dd-title.sky{color:#0369A1;} .dd-title.slate{color:#334155;} .dd-title.purple{color:#7C3AED;}
.dd-desc { font-size:.8rem; color:#555; line-height:1.6; flex:1; }
.dd-arrow { margin-top:14px; font-size:.75rem; font-weight:700; color:#bbb; transition:color .15s,transform .15s; display:inline-block; }
.dd-card:hover .dd-arrow, .dd-card.active .dd-arrow { color:var(--card-accent); transform:translateX(3px); }
.btn { padding:10px 16px; border-radius:8px; font-size:.88rem; font-weight:600; cursor:pointer; border:none; display:inline-flex; align-items:center; gap:6px; transition:background .15s,border-color .15s,color .15s; }
.btn-red { background:var(--accent); color:#fff; } .btn-red:hover { background:var(--accent-dark); }
.btn-outline { background:transparent; border:1.5px solid #ddd; color:#111; } .btn-outline:hover { border-color:var(--accent); color:var(--accent); }
.btn-ghost { background:transparent; border:1.5px solid rgba(255,255,255,.35); color:#fff; } .btn-ghost:hover { border-color:#fff; }
.header-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:flex; align-items:center; justify-content:space-between; width:100%; height:100%; }
@media(max-width:860px){ .header-inner{padding:0 24px;} }
.mob-menu-btn { display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:40px; height:40px; background:none; border:1.5px solid #e8e8e8; border-radius:9px; cursor:pointer; padding:0; flex-shrink:0; }
.mob-menu-btn span { display:block; width:18px; height:2px; background:#333; border-radius:2px; transition:all .25s; }
.mob-menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mob-menu-btn.open span:nth-child(2){opacity:0;}
.mob-menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:860px){ .header-inner > nav,.header-cta{display:none !important;} .mob-menu-btn{display:flex;} }

/* ── Hero (service/inner pages) ── */
.page-hero { background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%); color:#fff; padding:88px 40px; text-align:center; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; width:600px; height:600px; border-radius:50%; border:80px solid rgba(255,255,255,.04); bottom:-240px; right:-160px; }
.page-hero::after  { content:''; position:absolute; width:300px; height:300px; border-radius:50%; border:50px solid rgba(255,255,255,.06); top:-80px; left:-60px; }
.page-hero h1 { font-size:clamp(2rem,5vw,3.2rem); font-weight:800; letter-spacing:-.04em; line-height:1.1; margin-bottom:20px; position:relative; z-index:1; color:#fff; }
.page-hero h1 em { font-style:normal; color:rgba(255,255,255,.82); }
.page-hero h2 { color:#fff; }
.page-hero p { font-size:1.05rem; color:rgba(255,255,255,.75); max-width:580px; margin:0 auto 36px; line-height:1.7; position:relative; z-index:1; }
.page-hero .eyebrow { display:block; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:20px; position:relative; z-index:1; }

/* ── Hero email form ── */
/* ── Homepage hero ── */
.hero-wrap { position:relative; min-height:580px; background-image:url('/img/dubai-hero.jpg'); background-position:center center; background-size:cover; background-repeat:no-repeat; display:flex; align-items:flex-start; }
.hero-overlay { position:absolute; top:0; right:0; bottom:0; left:0; background:linear-gradient(100deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 50%,rgba(0,0,0,.55) 100%); z-index:1; pointer-events:none; }
.hero-content { position:relative; z-index:2; display:flex; flex-direction:row; align-items:center; justify-content:space-between; flex:1; width:100%; max-width:1200px; margin:0 auto; padding:60px 48px 52px; gap:40px; }
.hero-left { flex:0 0 58%; max-width:640px; }
.hero-right { flex:0 0 36%; display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:18px; }
.hero-eyebrow-bar { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.hero-eyebrow-bar span { font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.hero-eyebrow-dash { display:block; width:32px; height:2px; background:#C8102E; flex-shrink:0; }
.hero-h1 { font-size:clamp(2.4rem,5vw,3.8rem); font-weight:900; line-height:1.05; letter-spacing:-.04em; color:#fff; margin-bottom:18px; }
.hero-h1 em { color:#C8102E; font-style:normal; display:block; }
.hero-sub { font-size:.95rem; color:rgba(255,255,255,.65); line-height:1.75; margin-bottom:28px; max-width:500px; }
.hero-email-form { margin:0; }
.hero-email-row { display:flex; border-radius:10px; overflow:hidden; background:#fff; box-shadow:0 6px 32px rgba(0,0,0,.35); max-width:480px; }
.hero-email-icon { display:flex; align-items:center; padding:0 10px 0 16px; color:#aaa; flex-shrink:0; }
.hero-email-row input { flex:1; border:none; padding:14px 16px; font-size:.88rem; font-family:inherit; color:#111; outline:none; min-width:0; background:transparent; }
.hero-email-row button { border:none; padding:14px 20px; font-size:.83rem; font-weight:700; cursor:pointer; font-family:inherit; white-space:nowrap; transition:background .15s; background:#C8102E; color:#fff; flex-shrink:0; }
.hero-email-row button:hover { background:#a50d26; }
.hero-trust-row { display:flex; align-items:center; gap:10px; margin-top:18px; flex-wrap:wrap; }
.hero-trust-row .hero-trust-item { display:inline-flex; align-items:center; gap:5px; font-size:.73rem; color:rgba(255,255,255,.5); }
.hero-trust-row .hero-trust-item svg { flex-shrink:0; }
.hero-trust-row .hero-trust-sep { color:rgba(255,255,255,.2); font-size:.75rem; }
/* Service page hero stats bar */
.page-hero .hero-email-row { margin:0 auto; }
.hero-trust { display:flex; align-items:center; justify-content:center; gap:0; margin-top:32px; flex-wrap:wrap; position:relative; z-index:1; }
.hero-trust .hero-trust-item { display:flex; flex-direction:column; align-items:center; padding:0 24px; }
.hero-trust .hero-trust-num { font-size:1.35rem; font-weight:800; color:#fff; line-height:1; }
.hero-trust .hero-trust-lbl { font-size:.68rem; color:rgba(255,255,255,.55); margin-top:4px; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.hero-trust .hero-trust-sep { width:1px; height:40px; background:rgba(255,255,255,.15); flex-shrink:0; }
@media(max-width:600px){ .hero-trust { gap:0; } .hero-trust .hero-trust-item { padding:10px 16px; } .hero-trust .hero-trust-sep { display:none; } }
.hero-cursive { font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:clamp(1.5rem,2.8vw,2.2rem); color:#fff; line-height:1.3; text-align:right; text-shadow:0 2px 12px rgba(0,0,0,.7); }
.hero-cursive-line { width:50px; height:2px; background:#C8102E; margin-left:auto; }
.hero-keywords { list-style:none; text-align:right; display:flex; flex-direction:column; gap:5px; }
.hero-keywords li { font-size:.68rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.5); text-shadow:0 1px 4px rgba(0,0,0,.6); }
.hero-keywords li:last-child { color:#fff; }
/* legacy compat */
.hero-email-form { margin-top:0; }
.hero-email-note { font-size:.73rem; color:rgba(255,255,255,.4); margin:8px 0 0; }
.hero-eyebrow { display:none; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:40px; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:28px; background:#fff5f6; border:1px solid #fcd0d6; border-radius:20px; padding:6px 14px; }
.eyebrow-dot { width:5px; height:5px; border-radius:50%; background:var(--accent); }
h1 { font-size:clamp(2.6rem,6vw,4.2rem); font-weight:800; line-height:1.05; letter-spacing:-.05em; margin-bottom:22px; color:#0d0d0d; }
h1 em { color:var(--accent); font-style:normal; }
@media(max-width:860px){
  .hero-wrap { min-height:0; }
  .hero-content { flex-direction:column; padding:52px 24px 44px; gap:20px; }
  .hero-left { flex:unset; max-width:100%; align-items:flex-start; }
  .hero-right { display:none; }
  .hero-trust-row { gap:6px; margin-top:14px; }
  .hero-trust-row .hero-trust-item { font-size:.7rem; }
  .hero-trust-row .hero-trust-sep { display:none; }
}
@media(max-width:500px){ .hero-email-row button { padding:14px 12px; font-size:.78rem; } }

/* ── Ticker ── */
.ticker-wrap { border-top:1px solid #f0f0f0; border-bottom:1px solid #f0f0f0; background:#fafafa; overflow:hidden; }
.ticker-track { display:flex; white-space:nowrap; animation:ticker 28s linear infinite; width:max-content; }
.ticker-wrap:hover .ticker-track { animation-play-state:paused; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ticker-item { display:inline-flex; align-items:center; gap:10px; padding:14px 28px; font-size:.8rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; text-decoration:none; color:#555; border-right:1px solid #eee; transition:background .15s; flex-shrink:0; }
.ticker-item:hover { background:#fff; color:#111; }
.ticker-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }

/* ── Stats bar ── */
.stats-bar { background:var(--accent); }
.stats-bar .stat-num { color:#fff !important; }
.stats-bar .stat-label { color:rgba(255,255,255,.65) !important; }
.stats-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:flex; }
.stat { flex:1; text-align:center; padding:28px 16px; border-right:1px solid rgba(255,255,255,.15); }
.stat:last-child { border-right:none; }
.stat-num { font-size:2rem; font-weight:800; color:#fff; letter-spacing:-.03em; line-height:1; }
.stat-label { font-size:.7rem; color:rgba(255,255,255,.65); margin-top:5px; text-transform:uppercase; letter-spacing:.08em; }
@media(max-width:640px){ .stats-inner{flex-wrap:wrap;padding:0;justify-content:center;} .stat{flex:1 1 50%;border-bottom:1px solid rgba(255,255,255,.12);border-right:none;text-align:center;padding:20px 12px;} .stat-num{font-size:1.55rem;} .stat-label{font-size:.65rem;} }

/* ── Section ── */
.section { padding:72px 40px; max-width:1200px; margin:0 auto; }
.section-label { font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.section-hd { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px; flex-wrap:wrap; }
h2 { font-size:clamp(1.6rem,3vw,2.2rem); font-weight:800; letter-spacing:-.03em; color:#0d0d0d; line-height:1.1; }
.section-sub { font-size:.9rem; color:#777; max-width:380px; text-align:right; line-height:1.6; }

/* ── Services grid ── */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#eee; border:1px solid #eee; border-radius:16px; overflow:hidden; }
.service-card { background:#fff; padding:32px 28px; text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:background .15s; }
.service-card:hover { background:#fafafa; }
.svc-num { font-size:.82rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#ccc; margin-bottom:14px; }
.service-card h3 { font-size:1.08rem; font-weight:800; margin-bottom:8px; letter-spacing:-.02em; }
.service-card p { font-size:.84rem; color:#666; line-height:1.65; flex:1; }
.svc-link { display:inline-flex; align-items:center; gap:4px; margin-top:18px; font-size:.78rem; font-weight:700; color:var(--accent); transition:gap .15s; }
.service-card:hover .svc-link { gap:8px; }
.svc-saas-badge { display:inline-block; font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:2px 7px; border-radius:4px; margin-left:6px; vertical-align:middle; }
@media(max-width:700px){ .services-grid{grid-template-columns:1fr;} }

/* ── Why section ── */
.why-wrap { background:#f4f4f6; }
.why { max-width:1200px; margin:0 auto; padding:72px 40px; }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; }
.why-card { background:#fff; border-radius:16px; padding:32px 28px; }
.why-num { font-size:2.4rem; font-weight:800; letter-spacing:-.05em; color:var(--accent); line-height:1; margin-bottom:12px; }
.why-card h3 { font-size:.95rem; font-weight:800; margin-bottom:8px; }
.why-card p { font-size:.84rem; color:#666; line-height:1.7; }
@media(max-width:700px){ .why-grid{grid-template-columns:1fr;gap:16px;} }

/* ── Pricing ── */
.pricing-wrap { padding:72px 40px; max-width:1100px; margin:0 auto; }
.plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
.plan { background:#fff; border:1.5px solid #eee; border-radius:18px; padding:32px 28px; display:flex; flex-direction:column; }
.plan.featured { border-color:var(--accent); position:relative; }
.plan-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--accent); color:#fff; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:4px 14px; border-radius:20px; white-space:nowrap; }
.plan-tier { font-size:.7rem; font-weight:700; color:#999; letter-spacing:.1em; text-transform:uppercase; margin-bottom:10px; }
.plan-price { font-size:1.9rem; font-weight:800; letter-spacing:-.04em; color:#0d0d0d; margin-bottom:2px; }
.plan-price span { font-size:.9rem; font-weight:500; color:#999; }
.plan-note { font-size:.72rem; color:#aaa; margin-bottom:18px; }
.plan-desc { font-size:.84rem; color:#666; line-height:1.6; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid #eee; }
.plan-features { list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:28px; flex:1; }
.plan-features li { font-size:.84rem; color:#444; display:flex; align-items:flex-start; gap:8px; }
.plan-features li::before { content:'✓'; color:var(--accent); font-weight:800; flex-shrink:0; }
.plan-btn { display:block; text-align:center; padding:12px; border-radius:8px; font-size:.88rem; font-weight:700; text-decoration:none; transition:opacity .15s; }
.plan-btn-dark { background:#0d0d0d; color:#fff; } .plan-btn-red { background:var(--accent); color:#fff; }
.plan-btn-dark:hover, .plan-btn-red:hover { opacity:.88; }
@media(max-width:700px){ .plan-grid{grid-template-columns:1fr;} }

/* ── Industries ── */
.industries-section { background:#f4f4f6; padding:72px 0 56px; }
.industries-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.industries-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:36px; flex-wrap:wrap; }
.industries-sub { font-size:.9rem; color:#666; max-width:400px; text-align:right; }
.ind-track-wrap { overflow:hidden; }
.ind-track { display:flex; gap:16px; transition:transform .4s cubic-bezier(.4,0,.2,1); will-change:transform; }
.ind-card { flex-shrink:0; width:340px; height:400px; border-radius:20px; padding:28px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; position:relative; overflow:hidden; }
.ind-card::after { content:''; position:absolute; inset:0; border-radius:20px; background:linear-gradient(to bottom,rgba(0,0,0,.05) 0%,rgba(0,0,0,.5) 100%); }
.ind-label { font-size:1.1rem; font-weight:800; letter-spacing:-.02em; position:relative; z-index:1; }
.ind-result { position:relative; z-index:1; }
.ind-result-text { font-size:.78rem; color:rgba(255,255,255,.7); margin-bottom:4px; line-height:1.4; }
.ind-result-num { font-size:2.8rem; font-weight:800; letter-spacing:-.04em; line-height:1; margin-bottom:6px; }
.ind-result-sub { font-size:.72rem; color:rgba(255,255,255,.55); padding-top:8px; border-top:1px solid rgba(255,255,255,.2); }
.ind-controls { display:flex; gap:10px; margin-top:24px; }
.ind-arrow { width:40px; height:40px; border-radius:50%; border:1.5px solid #ddd; background:#fff; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; transition:background .15s,border-color .15s,color .15s; color:#555; }
.ind-arrow:hover { background:var(--accent); border-color:var(--accent); color:#fff; }
@media(max-width:640px){ .industries-inner{padding:0 20px;} .ind-card{width:280px;height:340px;} .industries-sub{text-align:left;} }

/* ── CTA strip ── */
.cta-strip { background:#0d0d0d; color:#fff; padding:80px 40px; text-align:center; }
.cta-strip h2 { font-size:clamp(1.6rem,3.5vw,2.4rem); font-weight:800; letter-spacing:-.03em; color:#fff; margin-bottom:12px; }
.cta-strip p { font-size:1rem; color:rgba(255,255,255,.75); margin-bottom:36px; max-width:480px; margin-left:auto; margin-right:auto; }
.cta-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.btn-white { background:#fff; color:var(--accent); border-radius:8px; font-weight:700; padding:12px 24px; font-size:.92rem; }
.btn-white:hover { background:#f5e5e8; }

/* ── Footer ── */
.site-footer { background:#111; color:#fff; }
.footer-inner { max-width:1200px; margin:0 auto; padding:56px 40px 40px; display:grid; grid-template-columns:1fr auto; gap:60px; }
.footer-brand { display:flex; flex-direction:column; gap:14px; max-width:280px; }
.footer-logo { font-size:1.6rem; font-weight:800; letter-spacing:-.03em; line-height:1; }
.footer-logo sup { font-size:.5em; vertical-align:super; }
.footer-slogan { font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.footer-contact { display:flex; flex-direction:column; gap:6px; margin-top:6px; }
.footer-contact a, .footer-contact span { font-size:.83rem; color:rgba(255,255,255,.75); text-decoration:none; }
.footer-contact a:hover { color:#fff; }
.footer-profile-link { display:inline-flex; align-items:center; gap:6px; margin-top:4px; font-size:.8rem; font-weight:700; color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.25); border-radius:6px; padding:5px 10px; transition:all .15s; width:fit-content; }
.footer-profile-link:hover { color:#fff; border-color:#fff; background:rgba(255,255,255,.1); }
.footer-cols { display:flex; gap:48px; }
.footer-col { display:flex; flex-direction:column; gap:10px; }
.footer-col-title { font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:4px; }
.footer-col a { font-size:.84rem; color:rgba(255,255,255,.75); transition:color .15s; }
.footer-col a:hover { color:#fff; }
.footer-bottom-wrap { background:rgba(0,0,0,.35); }
.footer-bottom { max-width:1200px; margin:0 auto; padding:16px 40px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-legal { display:flex; align-items:center; flex-wrap:wrap; }
.footer-legal a { font-size:.78rem; color:rgba(255,255,255,.5); padding:4px 16px; border-right:1px solid rgba(255,255,255,.15); transition:color .15s; white-space:nowrap; }
.footer-legal a:first-child { padding-left:0; }
.footer-legal a:last-child { border-right:none; }
.footer-legal a:hover { color:#fff; }
.footer-right { display:flex; align-items:center; gap:20px; }
.footer-copy { font-size:.78rem; color:rgba(255,255,255,.35); }
.footer-social { display:flex; gap:8px; }
.footer-social a { width:30px; height:30px; border-radius:50%; border:1px solid rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; font-size:.65rem; font-weight:700; color:rgba(255,255,255,.6); transition:all .15s; }
.footer-social a:hover { border-color:#fff; color:#fff; background:rgba(255,255,255,.1); }
@media(max-width:700px){
  .footer-inner{grid-template-columns:1fr;gap:20px;padding:36px 20px 24px;text-align:center;}
  .footer-cols{display:none;}
  .footer-brand{max-width:100%;align-items:center;}
  .footer-contact{align-items:center;}
  .footer-profile-link{margin:0 auto;}
  .footer-bottom{flex-direction:column;text-align:center;padding:14px 16px;gap:6px;}
  .footer-legal{flex-wrap:nowrap;justify-content:center;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
  .footer-legal a{font-size:.7rem;padding:4px 10px;white-space:nowrap;}
  .footer-right{flex-direction:column;gap:8px;}
  .footer-copy{font-size:.72rem;}
}

/* ── Floating contact widget ── */
.fc-btn { position:fixed; right:40px; bottom:32px; z-index:900; display:flex; align-items:center; gap:8px; padding:12px 20px; background:var(--accent); color:#fff; border:none; border-radius:40px; font-size:.85rem; font-weight:700; cursor:pointer; box-shadow:0 4px 24px rgba(0,0,0,.18); transition:transform .15s; font-family:inherit; }
.fc-btn:hover { transform:translateY(-2px); }
.fc-btn svg { width:16px; height:16px; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.fc-panel { position:fixed; right:40px; bottom:92px; z-index:901; width:320px; background:#fff; border-radius:20px; box-shadow:0 12px 48px rgba(0,0,0,.18); overflow:hidden; transform:translateY(16px) scale(.97); opacity:0; pointer-events:none; transition:transform .22s cubic-bezier(.34,1.56,.64,1),opacity .18s; }
.fc-panel.open { transform:translateY(0) scale(1); opacity:1; pointer-events:all; }
.fc-head { background:var(--accent); color:#fff; padding:18px 20px 16px; display:flex; justify-content:space-between; align-items:center; }
.fc-head h3 { font-size:.95rem; font-weight:800; margin:0; }
.fc-head p { font-size:.72rem; opacity:.8; margin:2px 0 0; }
.fc-close { background:rgba(255,255,255,.2); border:none; color:#fff; width:28px; height:28px; border-radius:50%; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; }
.fc-body { padding:20px; display:flex; flex-direction:column; gap:10px; }
.fc-body input,.fc-body select,.fc-body textarea { width:100%; padding:11px 14px; border:1.5px solid #e2e2e4; border-radius:9px; font-size:.85rem; font-family:inherit; outline:none; transition:border-color .15s; }
.fc-body input:focus,.fc-body select:focus,.fc-body textarea:focus { border-color:var(--accent); }
.fc-body button:not(.fc-chip) { padding:13px; border-radius:9px; background:var(--accent); color:#fff; font-size:.88rem; font-weight:700; border:none; cursor:pointer; font-family:inherit; }
@media(max-width:480px){
  .fc-btn{right:16px;bottom:20px;font-size:.8rem;padding:10px 16px;}
  .fc-panel{left:8px;right:8px;width:auto;bottom:76px;border-radius:16px;max-height:88vh;overflow-y:auto;}
}
.fc-chip { padding:3px 9px; border-radius:5px; border:1px solid #e5e7eb; background:#f9fafb; font-size:.72rem; font-weight:500; color:#6b7280; cursor:pointer; font-family:inherit; transition:border-color .12s,color .12s; }
.fc-chip.active { border-color:#9ca3af; background:#f3f4f6; color:#111; font-weight:600; }

/* ── Mobile drawer ── */
.mob-overlay { position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:300; opacity:0; pointer-events:none; transition:opacity .28s; backdrop-filter:blur(4px); }
.mob-overlay.open { opacity:1; pointer-events:all; }
.mob-drawer { position:fixed; top:0; right:0; bottom:0; width:320px; max-width:92vw; background:#fff; z-index:301; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .32s cubic-bezier(.4,0,.2,1); box-shadow:-12px 0 48px rgba(0,0,0,.14); }
.mob-drawer.open { transform:translateX(0); }
.mob-head { display:flex; align-items:center; justify-content:space-between; padding:0 20px; height:68px; border-bottom:1px solid #f0f0f0; flex-shrink:0; }
.mob-close { width:36px; height:36px; border-radius:50%; background:#f5f5f7; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#555; font-size:1rem; transition:background .15s,color .15s; }
.mob-close:hover { background:#111; color:#fff; }
.mob-nav { flex:1; overflow-y:auto; padding:8px 0 0; display:flex; flex-direction:column; align-items:stretch; }
.mob-link { display:flex; align-items:center; padding:14px 22px; font-size:.95rem; font-weight:600; color:#222; border-left:3px solid transparent; transition:background .15s,color .15s,border-color .15s; text-decoration:none; }
.mob-link:hover { background:#fafafa; color:var(--accent); border-left-color:var(--accent); }
.mob-section { border-top:1px solid #f0f0f0; }
.mob-group-btn { width:100%; display:flex; align-items:center; justify-content:space-between; padding:14px 22px; font-size:.95rem; font-weight:600; color:#222; background:none; border:none; cursor:pointer; font-family:inherit; transition:background .15s,color .15s; text-align:left; }
.mob-group-btn:hover,.mob-group-btn.open { color:var(--accent); }
.mob-chevron { font-size:.8rem; color:#ccc; transition:transform .22s; }
.mob-group-btn.open .mob-chevron { transform:rotate(90deg); color:var(--accent); }
.mob-group-items { max-height:0; overflow:hidden; transition:max-height .32s ease; background:#fafafa; }
.mob-group-items.open { max-height:600px; }
.mob-group-items a { display:flex; align-items:center; gap:12px; padding:12px 22px 12px 36px; font-size:.88rem; font-weight:500; color:#444; border-left:3px solid transparent; transition:color .15s,border-color .15s; }
.mob-group-items a:hover { color:var(--accent); border-left-color:var(--accent); }
.mob-item-label { display:flex; flex-direction:column; line-height:1.25; }
.mob-item-label small { font-size:.72rem; color:#aaa; font-weight:400; margin-top:2px; }
.mob-contact-strip { padding:16px 22px; border-top:1px solid #f0f0f0; display:flex; flex-direction:column; gap:4px; }
.mob-contact-strip span,.mob-contact-strip a { font-size:.78rem; color:#999; }
.mob-contact-strip a:hover { color:var(--accent); }
.mob-footer { padding:16px 20px 20px; flex-shrink:0; }
.mob-wa-btn { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:15px; background:var(--accent); color:#fff; border-radius:14px; font-size:.93rem; font-weight:700; transition:background .15s; }
.mob-wa-btn:hover { background:var(--accent-dark); }

@media(max-width:640px){ .section{padding:52px 20px;} .cta-strip{padding:56px 20px;} .page-hero{padding:64px 20px 56px;} .hero{padding:64px 20px 56px;} }

/* ── Legal document pages (lp-*) ── */
.lp-hero { background:var(--accent); color:#fff; padding:64px 40px 52px; }
.lp-hero-inner { max-width:900px; margin:0 auto; }
.lp-back { display:inline-flex; align-items:center; gap:6px; font-size:.78rem; font-weight:600; color:rgba(255,255,255,.45); text-decoration:none; margin-bottom:20px; transition:color .15s; }
.lp-back:hover { color:#fff; }
.lp-hero h1 { font-size:clamp(1.8rem,4vw,2.6rem); font-weight:800; letter-spacing:-.03em; line-height:1.15; margin-bottom:14px; color:#fff; }
.lp-meta { font-size:.78rem; color:rgba(255,255,255,.4); }
.lp-body { max-width:900px; margin:0 auto; padding:56px 40px 80px; }
.lp-section { margin-bottom:48px; }
.lp-section h2 { font-size:1.15rem; font-weight:800; letter-spacing:-.02em; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid #eee; color:#111; }
.lp-section h3 { font-size:.95rem; font-weight:700; margin:18px 0 8px; color:#222; }
.lp-section p { font-size:.9rem; color:#444; line-height:1.85; margin-bottom:12px; }
.lp-section ul { padding-left:20px; margin-bottom:12px; }
.lp-section ul li { font-size:.9rem; color:#444; line-height:1.85; margin-bottom:4px; }
.lp-contact-box { background:#f7f7f8; border:1px solid #eee; border-radius:14px; padding:24px 28px; margin-top:32px; }
.lp-contact-box p { font-size:.88rem; color:#555; margin:0; }
.lp-contact-box a { color:var(--accent); font-weight:600; }
@media(max-width:640px){ .lp-hero{padding:48px 20px 40px;} .lp-body{padding:40px 20px 56px;} }

/* ── Responsible AI page (rai-*) ── */
.rai-hero { background:var(--accent); color:#fff; padding:80px 40px 72px; }
.rai-hero-inner { max-width:1200px; margin:0 auto; }
.rai-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55); background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); border-radius:20px; padding:5px 14px; display:inline-block; margin-bottom:18px; }
.rai-hero h1 { font-size:clamp(2rem,4.5vw,3rem); font-weight:800; letter-spacing:-.04em; line-height:1.1; margin-bottom:20px; max-width:700px; color:#fff; }
.rai-hero p { font-size:1.05rem; color:rgba(255,255,255,.65); max-width:600px; line-height:1.75; margin-bottom:32px; }
.rai-hero-cta { display:inline-flex; align-items:center; gap:10px; padding:13px 24px; background:rgba(255,255,255,.15); color:#fff; border:1.5px solid rgba(255,255,255,.3); border-radius:8px; font-size:.9rem; font-weight:700; transition:background .15s; }
.rai-hero-cta:hover { background:rgba(255,255,255,.25); }
.rai-intro { max-width:1200px; margin:0 auto; padding:64px 40px 0; }
.rai-intro p { font-size:1.05rem; color:#444; line-height:1.8; max-width:740px; }
.rai-principles { max-width:1200px; margin:0 auto; padding:56px 40px 80px; display:flex; flex-direction:column; gap:0; }
.rai-principle { display:grid; grid-template-columns:120px 1fr; gap:40px; padding:48px 0; border-bottom:1px solid #eee; }
.rai-principle:first-child { border-top:1px solid #eee; }
.rai-num { font-size:3.5rem; font-weight:900; color:#f0f0f0; line-height:1; letter-spacing:-.04em; padding-top:4px; }
.rai-p-label { font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.rai-p-title { font-size:1.35rem; font-weight:800; letter-spacing:-.02em; margin-bottom:14px; color:#111; }
.rai-p-sub { font-size:.88rem; font-weight:700; color:#555; margin-bottom:10px; }
.rai-p-body { font-size:.9rem; color:#555; line-height:1.8; }
.rai-cta-strip { background:var(--accent); color:#fff; }
.rai-cta-inner { max-width:1200px; margin:0 auto; padding:56px 40px; display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; }
.rai-cta-inner h2 { font-size:1.6rem; font-weight:800; letter-spacing:-.03em; max-width:480px; line-height:1.25; color:#fff; }
.rai-cta-btn { display:inline-flex; padding:14px 28px; background:#fff; color:var(--accent); border-radius:8px; font-size:.9rem; font-weight:800; white-space:nowrap; transition:opacity .15s; }
.rai-cta-btn:hover { opacity:.9; }
@media(max-width:640px){ .rai-hero{padding:56px 20px 52px;} .rai-principle{grid-template-columns:1fr;gap:16px;} .rai-intro,.rai-principles{padding-left:20px;padding-right:20px;} }

/* ── Service page shared body CSS ── */
.sub { font-size:.95rem; color:#666; max-width:600px; line-height:1.7; margin-bottom:40px; }
.features-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px; margin-top:36px; }
.feat { border:1px solid #eee; border-radius:16px; padding:28px 24px; transition:border-color .15s,box-shadow .15s; }
.feat:hover { border-color:#ddd; box-shadow:0 4px 20px rgba(0,0,0,.06); }
.feat-icon { width:48px; height:48px; border-radius:14px; background:#f0f0f2; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.feat-icon svg { width:22px; height:22px; stroke:var(--accent); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.feat h3 { font-size:1rem; font-weight:700; margin-bottom:8px; color:#0d0d0d; }
.feat p { font-size:.85rem; color:#666; line-height:1.65; }
.pricing-section { background:#f4f4f6; padding:72px 40px; }
.pricing-inner { max-width:1100px; margin:0 auto; }
.pricing-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; margin-top:40px; }
.plan-name { font-size:.82rem; font-weight:700; color:#999; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; }
.plan-from { font-size:.75rem; color:#aaa; margin-bottom:20px; }
.plan-cta { display:block; text-align:center; padding:12px; border-radius:8px; font-size:.88rem; font-weight:700; background:#111; color:#fff; transition:background .15s; margin-top:auto; text-decoration:none; }
.plan-cta:hover { background:#333; }
.plan.featured .plan-cta { background:var(--accent); }
.plan.featured .plan-cta:hover { background:var(--accent-dark); }
.certs-wrap { background:#f7f8fa; padding:36px 40px; border-top:1px solid #eee; }
.certs-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.certs-label { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#aaa; flex-shrink:0; padding-right:8px; }
.cert-badge { display:flex; align-items:center; gap:8px; padding:8px 18px; border:1.5px solid #e2e8f0; border-radius:30px; font-size:.82rem; font-weight:700; color:#334155; background:#fff; }
.cert-badge svg { width:16px; height:16px; stroke:var(--accent); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.process-wrap { background:#f4f6f8; padding:72px 0; }
.process-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.process-steps { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:0; counter-reset:step; margin-top:48px; }
.process-step { padding:28px 24px; border-left:1px solid #e2e8f0; counter-increment:step; }
.process-step:first-child { border-left:none; }
.step-num { font-size:2.2rem; font-weight:800; color:#CBD5E1; letter-spacing:-.04em; line-height:1; margin-bottom:12px; }
.process-steps .step-num::before { content:counter(step,decimal-leading-zero); }
.process-step h3 { font-size:.95rem; font-weight:700; color:#0d0d0d; margin-bottom:6px; }
.process-step p { font-size:.82rem; color:#666; line-height:1.6; }
@media(max-width:640px){ .pricing-section{padding:52px 20px;} .certs-wrap{padding:28px 20px;} .process-wrap{padding:52px 0;} .process-inner{padding:0 20px;} }

/* ── Case Studies page ── */
.filter-bar { display:flex; gap:8px; flex-wrap:wrap; margin:28px 0 36px; }
.filter-btn { padding:8px 18px; border:1.5px solid #e2e2e4; border-radius:40px; font-size:.82rem; font-weight:600; background:#fff; color:#555; cursor:pointer; transition:all .15s; font-family:inherit; }
.filter-btn:hover { border-color:var(--accent); color:var(--accent); }
.filter-btn.active { background:var(--accent); border-color:var(--accent); color:#fff; }
.cases-list { display:flex; flex-direction:column; gap:1px; background:#eee; border-radius:18px; overflow:hidden; }
.case-item { display:grid; grid-template-columns:1fr 300px; background:#fff; padding:36px 40px; gap:48px; align-items:center; transition:background .15s; }
.case-item:hover { background:#fafafa; }
.case-service { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px; }
.case-body h3 { font-size:1.15rem; font-weight:800; letter-spacing:-.02em; margin-bottom:10px; color:#0d0d0d; line-height:1.3; }
.case-body p { font-size:.88rem; color:#555; line-height:1.75; }
.case-stats { display:flex; gap:0; border-left:1px solid #f0f0f0; padding-left:40px; }
.case-stat { flex:1; text-align:center; padding:0 10px; border-right:1px solid #f0f0f0; }
.case-stat:last-child { border-right:none; }
.case-stat-val { font-size:1.75rem; font-weight:800; letter-spacing:-.04em; line-height:1; margin-bottom:5px; }
.case-stat-lbl { font-size:.65rem; color:#999; text-transform:uppercase; letter-spacing:.08em; line-height:1.3; }
@media(max-width:780px){ .case-item{grid-template-columns:1fr;gap:24px;padding:28px 24px;} .case-stats{border-left:none;border-top:1px solid #f0f0f0;padding-left:0;padding-top:20px;justify-content:space-around;} }

/* ── Testimonials page ── */
.tpage-hero { text-align:center; padding:80px 40px 56px; max-width:760px; margin:0 auto; }
.tpage-hero h1 { font-size:clamp(2rem,4.5vw,3rem); font-weight:800; letter-spacing:-.04em; margin-bottom:16px; color:#0d0d0d; }
.tpage-hero p { font-size:1rem; color:#666; line-height:1.75; }
.stats-row { background:#f7f7f8; border-top:1px solid #eee; border-bottom:1px solid #eee; }
.stats-row .stats-inner { max-width:1200px; margin:0 auto; padding:0 40px; display:flex; }
.stat-cell { flex:1; text-align:center; padding:28px 16px; border-right:1px solid #eee; }
.stat-cell:last-child { border-right:none; }
.stat-num { font-size:2.2rem; font-weight:800; letter-spacing:-.04em; color:var(--accent); line-height:1; }
.stat-sub { font-size:.68rem; color:#999; text-transform:uppercase; letter-spacing:.08em; margin-top:6px; }
.filter-wrap { max-width:1200px; margin:0 auto; padding:36px 40px 0; }
.filter-tabs { display:flex; gap:8px; flex-wrap:wrap; }
.filter-tab { padding:9px 20px; border:1.5px solid #e2e2e4; border-radius:40px; font-size:.82rem; font-weight:600; background:#fff; color:#555; cursor:pointer; transition:all .15s; font-family:inherit; }
.filter-tab:hover { border-color:var(--accent); color:var(--accent); }
.filter-tab.active { background:var(--accent); border-color:var(--accent); color:#fff; }
.stories-wrap { max-width:1200px; margin:0 auto; padding:32px 40px 72px; }
.stories-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.story-card { border-radius:20px; overflow:hidden; border:1.5px solid #eee; display:flex; flex-direction:column; transition:box-shadow .2s; }
.story-card:hover { box-shadow:0 8px 32px rgba(0,0,0,.1); }
.story-card.featured { grid-column:span 3; display:grid; grid-template-columns:380px 1fr; }
.story-visual { padding:28px; display:flex; flex-direction:column; justify-content:space-between; min-height:200px; position:relative; }
.story-card.featured .story-visual { min-height:auto; }
.story-visual-bg { position:absolute; inset:0; opacity:.08; display:flex; align-items:center; justify-content:center; overflow:hidden; pointer-events:none; }
.story-initials { font-size:5.5rem; font-weight:900; color:#fff; letter-spacing:-.05em; line-height:1; }
.story-stars { color:#FCD34D; font-size:1rem; letter-spacing:2px; position:relative; z-index:1; }
.story-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); border-radius:20px; padding:5px 12px; font-size:.72rem; font-weight:600; color:#fff; position:relative; z-index:1; width:fit-content; }
.story-badge-dot { width:6px; height:6px; border-radius:50%; background:#4ADE80; flex-shrink:0; }
.story-body { padding:28px; display:flex; flex-direction:column; flex:1; background:#fff; }
.story-tag { font-size:.7rem; font-weight:700; color:#aaa; letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px; }
.story-title { font-size:1rem; font-weight:800; letter-spacing:-.02em; line-height:1.4; margin-bottom:14px; color:#0d0d0d; }
.story-card.featured .story-title { font-size:1.25rem; }
.story-quote { font-size:.85rem; color:#555; line-height:1.75; flex:1; margin-bottom:24px; }
.story-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; border-top:1px solid #f0f0f0; padding-top:16px; }
.story-author { display:flex; align-items:center; gap:10px; }
.story-avatar { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.65rem; font-weight:800; color:#fff; flex-shrink:0; }
.story-name { font-size:.82rem; font-weight:700; color:#111; }
.story-role { font-size:.72rem; color:#999; margin-top:1px; }
.story-read { font-size:.78rem; font-weight:700; color:var(--accent); white-space:nowrap; transition:opacity .15s; }
.story-read:hover { opacity:.75; }
.tpage-cta { text-align:center; background:var(--accent); color:#fff; padding:80px 40px; }
.tpage-cta .eyebrow { color:rgba(255,255,255,.6); margin-bottom:16px; display:block; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.tpage-cta h2 { font-size:clamp(2rem,4vw,2.8rem); font-weight:800; letter-spacing:-.04em; margin-bottom:14px; color:#fff; line-height:1.1; }
.tpage-cta p { font-size:1rem; color:rgba(255,255,255,.7); max-width:460px; margin:0 auto 36px; line-height:1.7; }
.tpage-cta-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.btn-gold { display:inline-flex; align-items:center; padding:13px 28px; background:#fff; color:var(--accent); border-radius:8px; font-size:.92rem; font-weight:800; transition:opacity .15s; }
.btn-gold:hover { opacity:.9; }
.btn-outline-white { display:inline-flex; align-items:center; padding:13px 28px; background:transparent; border:1.5px solid rgba(255,255,255,.4); color:#fff; border-radius:8px; font-size:.92rem; font-weight:700; transition:border-color .15s; }
.btn-outline-white:hover { border-color:#fff; }
@media(max-width:900px){ .stories-grid{grid-template-columns:repeat(2,1fr);} .story-card.featured{grid-column:span 2;grid-template-columns:1fr;} }
@media(max-width:600px){ .stories-grid{grid-template-columns:1fr;} .story-card.featured{grid-column:span 1;} .stories-wrap,.filter-wrap{padding-left:20px;padding-right:20px;} .stats-row .stats-inner{flex-wrap:wrap;} .stat-cell{flex:1 1 50%;border-bottom:1px solid #eee;} .tpage-cta{padding:56px 20px;} .tpage-hero{padding:56px 20px 40px;} }

/* ── About page ── */
.page-hero-label { font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:16px; position:relative; z-index:1; }
.hero-download-btn { display:inline-flex; align-items:center; gap:8px; margin-top:28px; padding:12px 24px; background:rgba(255,255,255,.15); border:1.5px solid rgba(255,255,255,.3); border-radius:8px; font-size:.88rem; font-weight:700; color:#fff; transition:background .15s; position:relative; z-index:1; }
.hero-download-btn:hover { background:rgba(255,255,255,.25); }
.story-grid { display:grid; grid-template-columns:1fr 300px; gap:60px; align-items:start; margin-top:40px; }
.story-text { display:flex; flex-direction:column; gap:16px; }
.story-text p { font-size:.92rem; color:#555; line-height:1.85; }
.story-visual { background:#f7f7f8; border-radius:20px; padding:32px; display:flex; flex-direction:column; gap:0; }
.stat-row { padding:20px 0; border-bottom:1px solid #eee; display:flex; flex-direction:column; gap:4px; }
.stat-row:last-child { border-bottom:none; padding-bottom:0; }
.stat-row:first-child { padding-top:0; }
.stat-row .stat-num { font-size:2.4rem; font-weight:800; letter-spacing:-.04em; color:var(--accent); line-height:1; }
.stat-row .stat-label { font-size:.78rem; color:#777; }
.values-wrap { background:#f4f4f6; padding:72px 0; }
.values-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; }
.value-card { background:#fff; border-radius:18px; padding:32px 24px; }
.value-num { font-size:2.2rem; font-weight:900; color:#e8e8e8; letter-spacing:-.04em; line-height:1; margin-bottom:16px; }
.value-card h3 { font-size:1rem; font-weight:800; margin-bottom:10px; color:#0d0d0d; }
.value-card p { font-size:.85rem; color:#666; line-height:1.7; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; }
.team-card { background:#f7f7f8; border-radius:18px; padding:32px 20px; text-align:center; }
.team-avatar { width:64px; height:64px; border-radius:50%; background:var(--accent); color:#fff; font-size:.95rem; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.team-card h3 { font-size:.95rem; font-weight:800; margin-bottom:4px; color:#0d0d0d; }
.team-card span { font-size:.78rem; color:#888; }
@media(max-width:900px){ .story-grid{grid-template-columns:1fr;gap:36px;} .values-grid{grid-template-columns:repeat(2,1fr);} .team-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .values-inner{padding:0 20px;} .values-grid{grid-template-columns:1fr;} .team-grid{grid-template-columns:repeat(2,1fr);gap:12px;} }

/* ── SaaS platform badge strip ── */
.platform-strip { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; padding:24px 40px; background:#f7f8fa; border-top:1px solid #eee; border-bottom:1px solid #eee; }
.platform-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; background:#fff; border:1.5px solid #e2e8f0; border-radius:30px; font-size:.82rem; font-weight:600; color:#334155; }
.platform-badge svg { width:16px; height:16px; flex-shrink:0; }
.platform-badge span { font-size:1rem; line-height:1; }

/* ── Inline steps (SaaS how-it-works) ── */
.steps { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; margin-top:40px; }
.step { background:#fff; border-radius:16px; padding:28px 24px; }
.step .step-num { font-size:2rem; font-weight:900; color:var(--accent); letter-spacing:-.04em; line-height:1; margin-bottom:14px; opacity:.35; }
.step h3 { font-size:.95rem; font-weight:700; color:#0d0d0d; margin-bottom:6px; }
.step p { font-size:.82rem; color:#666; line-height:1.6; }

/* ── Hero form loading spinner ── */
@keyframes spin { to{transform:rotate(360deg)} }
.hero-spinner { display:inline-block; width:13px; height:13px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:spin .65s linear infinite; vertical-align:middle; margin-right:5px; }

/* ── Why Choose Us ── */
.why-choose-section { background:#f7f8fa; padding:80px 0; }
.why-choose-inner { max-width:1100px; margin:0 auto; padding:0 40px; }
.why-choose-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
.wc-card { background:#fff; border-radius:18px; padding:32px 28px; border:1.5px solid #eee; transition:box-shadow .2s,border-color .2s; }
.wc-card:hover { box-shadow:0 8px 32px rgba(0,0,0,.08); border-color:#ddd; }
.wc-icon { font-size:2rem; margin-bottom:14px; line-height:1; }
.wc-card h3 { font-size:1rem; font-weight:700; color:#111; margin-bottom:8px; }
.wc-card p { font-size:.86rem; color:#555; line-height:1.65; }
@media(max-width:860px){ .why-choose-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .why-choose-grid{ grid-template-columns:1fr; } }

/* ── How We Work ── */
.how-section { background:#fff; padding:80px 0; }
.how-inner { max-width:1100px; margin:0 auto; padding:0 40px; }
.how-steps { display:flex; align-items:flex-start; gap:0; margin-top:52px; }
.how-step { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.how-step-num { width:56px; height:56px; border-radius:50%; background:#111; color:#fff; font-size:1rem; font-weight:800; display:flex; align-items:center; justify-content:center; letter-spacing:-.02em; flex-shrink:0; position:relative; z-index:1; }
.how-step-body { margin-top:20px; padding:0 12px; }
.how-step-body h3 { font-size:.98rem; font-weight:700; color:#111; margin-bottom:6px; }
.how-step-body p { font-size:.83rem; color:#666; line-height:1.6; }
.how-connector { flex:0 0 80px; height:2px; background:linear-gradient(90deg,#ddd 0%,#ddd 100%); margin-top:28px; position:relative; }
.how-connector::after { content:''; position:absolute; right:-6px; top:-4px; border-left:8px solid #ddd; border-top:5px solid transparent; border-bottom:5px solid transparent; }
@media(max-width:720px){
  .how-steps { flex-direction:column; align-items:flex-start; gap:0; }
  .how-step { flex-direction:row; align-items:flex-start; text-align:left; width:100%; }
  .how-step-body { margin-top:0; padding:0 0 0 18px; }
  .how-connector { flex:0 0 2px; width:2px; height:40px; background:linear-gradient(180deg,#ddd,#ddd); margin-top:0; margin-left:27px; }
  .how-connector::after { right:auto; top:auto; left:-4px; bottom:-6px; border-left:5px solid transparent; border-right:5px solid transparent; border-top:8px solid #ddd; border-bottom:none; }
}

/* ── Final CTA ── */
.final-cta-section { background:linear-gradient(160deg,#0d0d0d 0%,#1a1a2e 55%,#16213e 100%); padding:96px 40px; text-align:center; position:relative; overflow:hidden; }
.final-cta-section::before { content:''; position:absolute; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(200,16,46,.2) 0%,transparent 70%); top:-200px; right:-100px; pointer-events:none; }
.final-cta-section::after { content:''; position:absolute; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(29,78,216,.12) 0%,transparent 70%); bottom:-150px; left:-80px; pointer-events:none; }
.final-cta-inner { max-width:720px; margin:0 auto; position:relative; z-index:1; }
.final-cta-label { display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:20px; }
.final-cta-h { font-size:clamp(1.7rem,3.5vw,2.6rem); font-weight:800; color:#fff; line-height:1.2; letter-spacing:-.03em; margin-bottom:20px; }
.final-cta-h em { color:#C8102E; font-style:normal; }
.final-cta-sub { font-size:1rem; color:rgba(255,255,255,.6); line-height:1.65; margin-bottom:36px; }
.final-cta-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:20px; }
.final-cta-btn-primary { background:#C8102E; color:#fff; padding:14px 28px; border-radius:10px; font-size:.95rem; font-weight:700; transition:background .15s,transform .1s; }
.final-cta-btn-primary:hover { background:#a50d26; transform:translateY(-1px); }
.final-cta-btn-wa { display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.08); color:#fff; border:1.5px solid rgba(255,255,255,.18); padding:14px 24px; border-radius:10px; font-size:.95rem; font-weight:600; transition:background .15s; }
.final-cta-btn-wa:hover { background:rgba(255,255,255,.14); }
.final-cta-note { font-size:.78rem; color:rgba(255,255,255,.35); }

/* ── Thank-You page ──────────────────────────────────────────────────────── */
.ty-hero { background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%); color:#fff; text-align:center; padding:80px 40px 72px; position:relative; overflow:hidden; }
.ty-hero::before { content:''; position:absolute; width:500px; height:500px; border-radius:50%; border:70px solid rgba(255,255,255,.05); bottom:-200px; right:-120px; }
.ty-hero::after  { content:''; position:absolute; width:280px; height:280px; border-radius:50%; border:50px solid rgba(255,255,255,.06); top:-80px; left:-60px; }
.ty-check { width:72px; height:72px; border-radius:50%; background:rgba(255,255,255,.15); border:2px solid rgba(255,255,255,.4); display:flex; align-items:center; justify-content:center; margin:0 auto 28px; position:relative; z-index:1; }
.ty-check svg { width:32px; height:32px; }
.ty-hero h1 { font-size:clamp(2rem,5vw,3rem); font-weight:800; letter-spacing:-.04em; margin-bottom:16px; position:relative; z-index:1; }
.ty-hero p { font-size:1rem; color:rgba(255,255,255,.8); max-width:540px; margin:0 auto 36px; line-height:1.7; position:relative; z-index:1; }
.ty-meta { display:flex; align-items:center; justify-content:center; gap:0; flex-wrap:wrap; position:relative; z-index:1; }
.ty-meta-item { display:flex; align-items:center; gap:7px; font-size:.8rem; color:rgba(255,255,255,.7); padding:0 20px; }
.ty-meta-item svg { width:15px; height:15px; flex-shrink:0; }
.ty-meta-sep { width:1px; height:28px; background:rgba(255,255,255,.2); flex-shrink:0; }
@media(max-width:600px){ .ty-meta { flex-direction:column; gap:10px; } .ty-meta-sep { display:none; } .ty-hero { padding:60px 24px 56px; } }

/* Offer band */
.offer-band { background:#0d0d0d; padding:22px 40px; }
.offer-band-inner { max-width:1100px; margin:0 auto; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.offer-pill { display:inline-flex; align-items:center; gap:5px; background:#C8102E; color:#fff; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:4px 10px; border-radius:20px; flex-shrink:0; }
.offer-band-text { flex:1; font-size:.88rem; color:rgba(255,255,255,.75); line-height:1.5; }
.offer-band-text span { color:#fff; font-weight:700; }
.offer-band-cta { flex-shrink:0; }
.btn-red { display:inline-block; background:#C8102E; color:#fff; padding:10px 20px; border-radius:8px; font-size:.83rem; font-weight:700; transition:background .15s; }
.btn-red:hover { background:#a50d26; }
@media(max-width:640px){ .offer-band { padding:20px 20px; } .offer-band-inner { justify-content:center; text-align:center; } }

/* Services grid */
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
.svc-card { background:#fff; border:1.5px solid #f0f0f2; border-radius:16px; padding:28px 24px; text-decoration:none; display:flex; flex-direction:column; gap:10px; transition:box-shadow .18s,transform .18s; }
.svc-card:hover { box-shadow:0 8px 32px rgba(0,0,0,.09); transform:translateY(-2px); }
.svc-icon { width:44px; height:44px; border-radius:12px; background:var(--icon-bg,#FEF2F2); display:flex; align-items:center; justify-content:center; }
.svc-icon svg { width:22px; height:22px; fill:none; stroke:var(--accent,#C8102E); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.svc-tag { font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent,#C8102E); }
.svc-name { font-size:.95rem; font-weight:800; color:#0d0d0d; line-height:1.3; }
.svc-desc { font-size:.8rem; color:#666; line-height:1.65; }
.svc-bullets { list-style:none; display:flex; flex-direction:column; gap:5px; margin:0; padding:0; }
.svc-bullets li { font-size:.77rem; color:#555; padding-left:14px; position:relative; }
.svc-bullets li::before { content:'·'; position:absolute; left:0; color:var(--accent,#C8102E); font-weight:900; }
.svc-link { font-size:.78rem; font-weight:700; color:var(--accent,#C8102E); margin-top:auto; }
@media(max-width:900px){ .svc-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .svc-grid { grid-template-columns:1fr; } }

/* SaaS row */
.saas-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.saas-card { border-radius:16px; padding:28px 24px; text-decoration:none; display:flex; flex-direction:column; gap:10px; transition:opacity .15s,transform .15s; }
.saas-card:hover { opacity:.92; transform:translateY(-2px); }
.saas-badge { font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.65); }
.saas-name { font-size:1.2rem; font-weight:800; color:#fff; }
.saas-desc { font-size:.8rem; color:rgba(255,255,255,.75); line-height:1.65; }
.saas-link { font-size:.78rem; font-weight:700; color:rgba(255,255,255,.9); margin-top:auto; }
@media(max-width:560px){ .saas-row { grid-template-columns:1fr; } }

/* WhatsApp band */
.wa-band { background:#25D366; padding:52px 40px; }
.wa-band-inner { max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.wa-band-text h2 { font-size:1.5rem; font-weight:800; color:#fff; margin-bottom:8px; }
.wa-band-text p { font-size:.88rem; color:rgba(255,255,255,.85); }
.wa-btn { display:inline-flex; align-items:center; gap:10px; background:#fff; color:#075e54; padding:14px 26px; border-radius:10px; font-size:.9rem; font-weight:800; transition:opacity .15s; flex-shrink:0; }
.wa-btn:hover { opacity:.9; }
.wa-btn svg { width:20px; height:20px; fill:#25D366; }
@media(max-width:600px){ .wa-band { padding:40px 24px; } .wa-band-inner { flex-direction:column; text-align:center; } }
