:root{
  --brand:#2563eb;--brand2:#06b6d4;--navy:#07162d;--navy2:#0e274c;--ink:#0b1b32;--body:#526178;--muted:#7a8799;--line:#e6edf5;--soft:#f6f9fd;--white:#fff;--shadow:0 18px 50px rgba(9,23,47,.09);--shadow2:0 28px 80px rgba(9,23,47,.16);--radius:22px;--container:1220px;--ease:cubic-bezier(.2,.8,.2,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.container{width:min(var(--container),calc(100% - 40px));margin:auto}
.section{padding:92px 0}
.section-soft{background:linear-gradient(180deg,#f8fbff,#f3f7fc)}

/* ── Header ── */
.header{position:fixed;inset:0 0 auto;z-index:999;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(230,237,245,.75);transition:.3s var(--ease)}
.header.scrolled{box-shadow:0 12px 35px rgba(9,23,47,.08)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo img{height:62px;width:auto}
.nav{display:flex;align-items:center;gap:24px}
.nav a,.nav button{border:0;background:none;color:#26364d;font-weight:700;font-size:.96rem;cursor:pointer;display:flex;align-items:center;gap:8px;padding:12px 0;position:relative}
.nav a.active,.nav a:hover,.nav button:hover{color:var(--brand)}
.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:20px}
.dropdown{position:relative}
.dropdown-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(12px);width:270px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px;opacity:0;visibility:hidden;transition:.25s var(--ease)}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown-menu a{display:block;padding:11px 14px;border-radius:12px;color:#26364d}
.dropdown-menu a:hover{background:#eff6ff;color:var(--brand)}
.nav-cta{height:46px!important;padding:0 20px!important;border-radius:13px!important;background:linear-gradient(135deg,var(--brand),var(--brand2))!important;color:#fff!important;box-shadow:0 12px 25px rgba(37,99,235,.22)}
.nav-cta:after{display:none!important}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;place-items:center;cursor:pointer}
.menu-btn span{display:block;width:20px;height:2px;background:var(--ink);margin:4px;border-radius:99px;transition:.3s}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border-radius:14px;font-weight:800;transition:.3s var(--ease);border:1px solid transparent;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 16px 30px rgba(37,99,235,.23)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(37,99,235,.29)}
.btn-light{background:#fff;color:var(--brand);border-color:#dbeafe}
.btn-light:hover{background:#eff6ff}
.btn-dark{background:var(--ink);color:#fff}
.btn-sm{height:46px;padding:0 20px}
a:focus-visible,button:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:4px}

/* ── Hero ── */
.hero{position:relative;overflow:hidden;padding:150px 0 95px;background:radial-gradient(circle at 80% 10%,rgba(6,182,212,.26),transparent 28%),radial-gradient(circle at 10% 5%,rgba(37,99,235,.22),transparent 25%),linear-gradient(135deg,#06152e 0%,#0b2346 55%,#06162e 100%)}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(#000,transparent 75%);opacity:.35}
.hero-grid{position:relative;display:grid;grid-template-columns:1.03fr .97fr;gap:56px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);border-radius:999px;padding:8px 14px;color:#d9efff;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:800}
.eyebrow.dark{background:#eef6ff;color:var(--brand);border-color:#dbeafe}
.hero h1{font-family:Manrope,sans-serif;color:#fff;font-size:clamp(2.65rem,5vw,4.7rem);line-height:1.04;letter-spacing:-.045em;margin:18px 0}
.hero p{color:#d4e0f4;font-size:1.1rem;max-width:650px;margin:0 0 30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.hero-badges{display:flex;flex-wrap:wrap;gap:18px;color:#caddff;font-weight:700;font-size:.95rem}
.hero-badges span{display:flex;align-items:center;gap:8px}
.hero-badges i{color:#76d2ff}
.hero-img{position:relative}
.hero-img>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow2)}
.float-card{position:absolute;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);padding:16px 18px;min-width:210px}
.float-card strong{display:block;color:var(--ink)}
.float-card span{display:block;color:var(--muted);font-size:.83rem}
.float-a{top:26px;left:-20px}
.float-b{right:-18px;bottom:24px}

/* ── Stats ── */
.stats{margin-top:-45px;position:relative;z-index:3}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:22px;display:flex;align-items:center;gap:16px}
.stat i{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-size:1.35rem;flex-shrink:0}
.stat strong{font-family:Manrope,sans-serif;font-size:1.9rem;line-height:1}
.stat span{display:block;color:var(--muted);font-size:.9rem}

/* ── Section headers ── */
.section-head{max-width:760px;margin:0 auto 42px;text-align:center}
.section-head.left{text-align:left;margin:0 0 30px}
.section-head h2,.panel h2,.cta-panel h2{font-family:Manrope,sans-serif;font-size:clamp(2rem,4vw,2.9rem);line-height:1.12;letter-spacing:-.035em;margin:12px 0;color:var(--ink)}
.section-head p,.panel > p,.cta-panel p{color:var(--body);margin:0}

/* ── Grids ── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:26px}

/* ── Cards ── */
.card,.panel,.price-card,.post-card,.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card{padding:28px;display:block;color:inherit;cursor:pointer;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),border-color .4s ease}
.card:hover{transform:translateY(-9px);box-shadow:0 30px 60px -12px rgba(15,35,65,.18),0 10px 24px rgba(15,35,65,.08);border-color:#cfe1fb}
.card:active{transform:translateY(-5px);transition-duration:.15s}
.icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#eef6ff,#e0f2fe);color:var(--brand);font-size:1.35rem;margin-bottom:18px;transition:transform .4s cubic-bezier(.22,1,.36,1),background .4s ease,color .4s ease}
.card:hover .icon{transform:scale(1.08) rotate(-4deg);background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}
.card h3{font-family:Manrope,sans-serif;margin:0 0 10px;color:var(--ink);font-size:1.25rem;transition:color .3s ease}
.card:hover h3{color:var(--brand)}
.card p{color:var(--body);margin:0}
.link{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:800;margin-top:16px}
.link i{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.card:hover .link i,a.card:hover .link i{transform:translateX(5px)}

/* ── Industry / work cards ── */
.industry{overflow:hidden;padding:0}
.industry img,.work img,.post-card img{width:100%;height:215px;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1);display:block}
.industry:hover img,.post-card:hover img{transform:scale(1.08)}
.industry div,.work div,.post-card div{padding:22px}
.industry h3,.post-card h3{transition:color .3s ease}
.industry:hover h3,.post-card:hover h3{color:var(--brand)}

/* ── Panel ── */
.panel{padding:34px}
.feature-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:18px}
.feature-list li{display:grid;grid-template-columns:28px 1fr;gap:14px}
.feature-list i{color:var(--brand);margin-top:4px}
.feature-list strong{display:block;color:var(--ink)}
.feature-list span{color:var(--body)}

/* ── Work grid ── */
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.work{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px}
.work img{height:145px}
.work h4{margin:0 0 4px}
.work p{font-size:.9rem;color:var(--body);margin:0}

/* ── Pricing ── */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.price-card{padding:30px;position:relative;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1)}
.price-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -10px rgba(15,35,65,.16)}
.price-card.featured{border-color:#bfdbfe;box-shadow:0 28px 70px rgba(37,99,235,.14);transform:translateY(-8px)}
.tag{display:inline-flex;background:#eef6ff;color:var(--brand);font-weight:900;border-radius:999px;padding:6px 12px;font-size:.78rem}
.price{font-family:Manrope,sans-serif;font-size:2.4rem;font-weight:800;margin:12px 0;color:var(--ink)}
.price-card h3{font-family:Manrope,sans-serif;margin:0 0 6px;font-size:1.3rem}
.price-card > p{color:var(--body);margin:0 0 4px;font-size:.95rem}
.price-card ul{list-style:none;margin:20px 0 26px;padding:0;display:grid;gap:11px;color:var(--body)}
.price-card li:before{content:"✓";color:#10b981;font-weight:900;margin-right:10px}

/* ── CTA panel ── */
.cta-panel{background:linear-gradient(135deg,#06152e,#12386f);border-radius:28px;padding:42px;color:#fff;box-shadow:var(--shadow2)}
.cta-panel h2{color:#fff}
.cta-panel p{color:#d3e1f3;margin-bottom:26px}

/* ── Contact ── */
.contact-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:26px}
.contact-card{padding:34px}
.contact-list{display:grid;gap:15px;margin-top:22px}
.contact-list div{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:700}
.contact-list i{width:42px;height:42px;border-radius:14px;background:#eef6ff;color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.contact-list a{color:var(--ink)}
.contact-list a:hover{color:var(--brand)}

/* ── Form ── */
.form{display:grid;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:block;font-size:.88rem;font-weight:700;color:var(--ink);margin-bottom:5px}
.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:15px 16px;outline:0;background:#fbfdff;color:var(--ink);transition:.25s}
.form input:focus,.form select:focus,.form textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(147,197,253,.22)}

/* ── Map ── */
.map-card{margin-top:26px;overflow:hidden;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff}
.map-card iframe{width:100%;height:360px;border:0;display:block}

/* ── Testimonials ── */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.testi-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1)}
.testi-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -10px rgba(15,35,65,.16)}
.testi-stars{color:#f59e0b;margin-bottom:14px;font-size:1.05rem}
.testi-card blockquote{margin:0 0 20px;color:var(--body);line-height:1.7;font-style:italic}
.testi-author{display:flex;align-items:center;gap:12px}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;color:#fff;font-weight:800;font-size:1rem;flex-shrink:0}
.testi-author strong{display:block;color:var(--ink);font-size:.95rem}
.testi-author span{color:var(--muted);font-size:.85rem}

/* ── FAQ ── */
.faq-list{display:grid;gap:14px;max-width:820px;margin:0 auto}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:none;border:0;cursor:pointer;text-align:left;font-weight:700;color:var(--ink);font-size:1rem;gap:16px}
.faq-question i{color:var(--brand);font-size:.9rem;transition:.3s;flex-shrink:0}
.faq-item.open .faq-question i{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-answer p{padding:0 24px 20px;color:var(--body);margin:0;line-height:1.7}
.faq-item.open .faq-answer{max-height:300px}

/* ── Page intro ── */
.page-intro{padding:135px 0 70px;background:linear-gradient(135deg,#06152e,#0e274c);color:#fff}
.page-intro .container{max-width:900px}
.page-intro h1{font-family:Manrope,sans-serif;font-size:clamp(2.4rem,5vw,4.1rem);line-height:1.08;margin:14px 0}
.page-intro p{color:#d4e0f4;font-size:1.08rem}

/* ── Portfolio disclaimer ── */
.portfolio-note{text-align:center;color:var(--muted);font-size:.9rem;margin-top:28px;padding:16px;background:#f8fbff;border-radius:14px;border:1px solid var(--line)}

/* ── About page ── */
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:14px}
.value-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;text-align:center;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1)}
.value-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -10px rgba(15,35,65,.16)}
.value-card .icon{margin:0 auto 16px}
.value-card h3{font-family:Manrope,sans-serif;margin:0 0 8px;font-size:1.1rem}
.value-card p{color:var(--body);font-size:.95rem;margin:0}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;counter-reset:step}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;position:relative;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1)}
.step:hover{transform:translateY(-6px);box-shadow:0 26px 50px -10px rgba(15,35,65,.16)}
.step-num{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:900;font-size:1.1rem;display:grid;place-items:center;margin-bottom:14px}
.step h4{font-family:Manrope,sans-serif;margin:0 0 8px;font-size:1.05rem}
.step p{color:var(--body);font-size:.92rem;margin:0}

/* ── Footer ── */
.site-footer{background:#06152e;color:#ccdaf0;padding:72px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:36px}
.footer-logo{display:inline-block}
.footer-logo img{height:56px;width:auto;margin-bottom:18px}
.footer-text{color:#9fb2ce;max-width:330px;margin:0 0 20px;line-height:1.7}
.footer-col h4{color:#fff;font-family:Poppins,Manrope,sans-serif;font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:.92rem;margin:0 0 20px;padding-bottom:14px;border-bottom:2px solid #1d8cff;display:inline-block}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col ul li{margin:12px 0}
.footer-col ul li a{display:flex;align-items:center;gap:9px;color:#b9c9e2;transition:.2s;font-size:.96rem}
.footer-col ul li a:before{content:"\276F";color:#1d8cff;font-size:.72rem;flex-shrink:0}
.footer-col ul li a:hover{color:#fff;transform:translateX(3px)}
.footer-contact{list-style:none;margin:0;padding:0}
.footer-contact li{display:flex;align-items:flex-start;gap:12px;margin:16px 0;color:#c7d4ea;font-size:.95rem;line-height:1.5}
.footer-contact li a{color:#c7d4ea}
.footer-contact li a:hover{color:#fff}
.footer-contact li i{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;background:rgba(29,140,255,.14);color:#4fb2ff;border-radius:10px;font-size:.92rem;margin-top:1px}
.socials{display:flex;gap:12px}
.socials a{width:40px;height:40px;display:grid!important;place-items:center;background:rgba(255,255,255,.08);border-radius:12px;color:#fff!important;transition:.2s;border:1px solid rgba(255,255,255,.12)}
.socials a:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.footer-bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#aabbd4;font-size:.92rem}
.footer-bottom .brand-accent{color:#4fb2ff;font-weight:700}
.footer-legal{display:flex;gap:16px;flex-wrap:wrap}
.footer-legal a{color:#cbd8ed}
.footer-legal a:hover{color:#fff}

/* ── WhatsApp FAB ── */
.whatsapp{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;font-size:1.55rem;box-shadow:0 16px 34px rgba(37,211,102,.32);z-index:1000;transition:.2s}
.whatsapp:hover{transform:scale(1.08)}

/* ── Reveal animation ── */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.show{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.card,.industry img,.icon,.price-card,.testi-card,.value-card,.step,.link i{transition:none}}
a.card{text-decoration:none}

/* ── Responsive ── */
@media(max-width:1100px){
  .menu-btn{display:grid}
  .nav{position:fixed;top:82px;right:-100%;height:calc(100vh - 82px);width:min(360px,calc(100% - 24px));background:rgba(255,255,255,.98);box-shadow:-18px 0 40px rgba(9,23,47,.18);display:flex;flex-direction:column;align-items:flex-start;padding:28px;border-radius:24px 0 0 24px;gap:18px;transition:.3s;overflow-y:auto}
  .nav.open{right:0}
  .nav a,.nav button{color:var(--ink)}
  .dropdown-menu{position:static;transform:none;opacity:1;visibility:visible;display:none;margin-top:8px;box-shadow:none;border:1px solid var(--line)}
  .dropdown.open .dropdown-menu{display:block}
  .dropdown:hover .dropdown-menu{transform:none}
  .nav-cta{width:100%;margin-top:8px}
  .hero-grid,.grid-2,.contact-grid{grid-template-columns:1fr}
  .stats-grid,.grid-3,.price-grid,.footer-grid,.testimonials,.about-values,.process-steps{grid-template-columns:repeat(2,1fr)}
  .pricing-combo{grid-template-columns:1fr}
  .float-card{position:static;margin-top:14px}
  .hero{padding-top:130px}
  .work-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .container{width:calc(100% - 24px)}
  .header-inner{height:74px}
  .logo img{height:50px}
  .nav{top:74px;height:calc(100vh - 74px)}
  .hero{padding:118px 0 70px}
  .hero h1{font-size:2.55rem}
  .hero-actions,.form-row{display:grid}
  .stats-grid,.grid-3,.price-grid,.footer-grid,.work-grid,.testimonials,.about-values,.process-steps{grid-template-columns:1fr}
  .section{padding:70px 0}
  .panel,.contact-card,.cta-panel{padding:24px}
  .footer-bottom{flex-direction:column}
  .hero-badges{flex-direction:column;gap:10px}
  .price-card.featured{transform:none}
}

