:root {
  --ink: #07152c;
  --muted: #66758b;
  --blue: #2468ff;
  --indigo: #6554e8;
  --violet: #8b45dc;
  --pink: #df3e9f;
  --coral: #ff665b;
  --paper: #f7f9ff;
  --white: #ffffff;
  --line: rgba(8, 27, 59, 0.11);
  --gradient: linear-gradient(120deg, #1f6fff 0%, #6d4fe5 38%, #d83ba4 70%, #ff6f55 100%);
  --shadow: 0 24px 70px rgba(55, 69, 135, 0.14);
  --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.section-pad { padding: 112px 0; position: relative; }
.section-pad-sm { padding: 64px 0; }
.noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 99; opacity: .02;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}

.site-header {
  position: fixed; left: 0; right: 0; top: 0; z-index: 50; padding: 18px 0;
  transition: .3s ease;
}
.site-header.scrolled {
  background: rgba(255,255,255,.8); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); padding: 10px 0;
}
.nav-wrap { display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-size: 23px; font-weight: 800; letter-spacing: -.04em; }
.brand img { width: 42px; height: 42px; object-fit: contain; }
.nav-links { display: flex; align-items: center; gap: 34px; font-size: 14px; font-weight: 650; }
.nav-links > a:not(.nav-cta) { color: #34435a; position: relative; }
.nav-links > a:not(.nav-cta)::after { content:""; position:absolute; left:0; bottom:-7px; width:0; height:2px; background:var(--gradient); transition:.25s; }
.nav-links > a:hover::after { width:100%; }
.nav-cta { color:#fff; background:var(--ink); padding:12px 18px; border-radius:999px; box-shadow:0 8px 24px rgba(7,21,44,.18); }
.nav-toggle { display:none; border:0; background:transparent; width:44px; height:44px; }
.nav-toggle span { display:block; width:24px; height:2px; background:var(--ink); margin:6px auto; transition:.3s; }

.hero {
  min-height: 100vh; display:flex; align-items:center; padding-top: 150px; overflow:hidden;
  background:
    radial-gradient(circle at 85% 15%, rgba(255, 88, 104, .12), transparent 26%),
    radial-gradient(circle at 12% 50%, rgba(43, 111, 255, .09), transparent 26%),
    linear-gradient(180deg,#fbfcff 0%,#fff 100%);
}
.hero-grid { position:absolute; inset:0; opacity:.36; mask-image:linear-gradient(to bottom,#000,transparent 75%); background-image:linear-gradient(rgba(40,78,140,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(40,78,140,.05) 1px,transparent 1px); background-size:44px 44px; }
.hero-orb { position:absolute; border-radius:50%; filter:blur(4px); animation:float 8s ease-in-out infinite; }
.orb-a { width:220px;height:220px;top:3%;right:-70px;background:linear-gradient(145deg,rgba(255,96,83,.24),rgba(217,51,165,.06)); }
.orb-b { width:150px;height:150px;bottom:7%;left:-65px;background:linear-gradient(145deg,rgba(35,107,255,.2),rgba(103,78,231,.05)); animation-delay:-3s; }
.hero-layout { display:grid; grid-template-columns:1.02fr .98fr; gap:54px; align-items:center; position:relative; z-index:2; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 13px; box-shadow:0 8px 30px rgba(40,60,110,.08); font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.09em; color:#4b5b72; }
.eyebrow-dot { width:7px;height:7px;border-radius:50%;background:var(--gradient);box-shadow:0 0 0 5px rgba(102,80,232,.09); }
.hero h1 { font-size:clamp(54px,6.5vw,86px); line-height:.99; letter-spacing:-.065em; margin:26px 0 24px; max-width:760px; }
.hero h1 span, h2 span { background:var(--gradient); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-lead { max-width:620px; color:var(--muted); font-size:18px; line-height:1.75; }
.hero-actions { display:flex; gap:14px; margin:34px 0 43px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:54px; padding:0 23px; border-radius:999px; font-weight:750; border:1px solid transparent; transition:.25s ease; }
.btn:hover { transform:translateY(-3px); }
.btn-primary { color:#fff; background:var(--gradient); box-shadow:0 14px 34px rgba(104,79,230,.25); }
.btn-secondary { background:rgba(255,255,255,.72); border-color:var(--line); color:var(--ink); }
.hero-proof { display:flex; align-items:center; gap:0; }
.hero-proof div { padding:0 24px; border-right:1px solid var(--line); }
.hero-proof div:first-child { padding-left:0; }
.hero-proof div:last-child { border:0; }
.hero-proof strong { display:block; font-size:23px; letter-spacing:-.04em; }
.hero-proof span { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
.hero-visual { min-height:550px; position:relative; display:grid; place-items:center; }
.logo-stage { width:min(440px,86%); aspect-ratio:1; border-radius:50%; display:grid;place-items:center;position:relative; background:radial-gradient(circle at 35% 25%,#fff 0%,#f5f4ff 42%,#fbeef5 100%); border:1px solid rgba(98,78,226,.14); box-shadow:0 45px 90px rgba(62,76,154,.18),inset 0 0 80px rgba(255,255,255,.85); animation:stageFloat 6s ease-in-out infinite; }
.logo-stage::after { content:""; position:absolute;inset:7%;border:1px dashed rgba(106,78,226,.22);border-radius:50%;animation:spin 28s linear infinite; }
.logo-stage img { width:75%; filter:drop-shadow(0 20px 25px rgba(96,71,212,.18)); animation:logoPulse 4s ease-in-out infinite; position:relative;z-index:2; }
.logo-glow { position:absolute; width:56%; height:56%; border-radius:50%; background:linear-gradient(130deg,rgba(38,107,255,.3),rgba(221,55,158,.25),rgba(255,101,82,.25)); filter:blur(50px); animation:glowShift 6s ease-in-out infinite; }
.orbit { position:absolute;border-radius:50%;border:1px solid rgba(91,76,190,.14); }
.orbit-one { width:510px;height:510px;animation:spin 22s linear infinite; }
.orbit-two { width:580px;height:360px;transform:rotate(-18deg);border-color:rgba(239,79,133,.16);animation:spinReverse 26s linear infinite; }
.floating-card { position:absolute; display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.82); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.9); box-shadow:0 18px 45px rgba(48,65,125,.14); border-radius:16px; padding:12px 16px; animation:float 5s ease-in-out infinite; z-index:4; }
.floating-card b,.floating-card small { display:block; }
.floating-card b { font-size:13px; }
.floating-card small { color:var(--muted);font-size:10px;margin-top:2px; }
.mini-icon { width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(140deg,rgba(41,108,255,.12),rgba(222,56,159,.15));color:var(--violet);font-weight:900; }
.card-creative { left:-3%;top:18%; }
.card-content { right:-2%;top:30%;animation-delay:-1.5s; }
.card-growth { left:4%;bottom:12%;animation-delay:-3s; }
.pulse-dot { position:absolute;width:12px;height:12px;border-radius:50%;background:var(--gradient);box-shadow:0 0 0 8px rgba(108,79,229,.08);animation:pulse 2s ease-out infinite; }
.pulse-one { right:8%;bottom:18%; }.pulse-two{left:13%;top:12%;animation-delay:-1s;}
.hero-scroll { position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#8290a4;font-size:11px;letter-spacing:.1em;text-transform:uppercase;z-index:3; }
.hero-scroll i { width:38px;height:1px;background:#aab3c3;position:relative;overflow:hidden; }
.hero-scroll i::after { content:"";position:absolute;inset:0;background:var(--gradient);transform:translateX(-100%);animation:scrollLine 2s infinite; }

.section-kicker { color:var(--violet);font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:850;margin-bottom:16px; }
.section-heading { display:grid;grid-template-columns:1.5fr .7fr;gap:70px;align-items:end;margin-bottom:52px; }
.section-heading h2,.about-copy h2,.testimonial-intro h2,.faq-intro h2,.contact-copy h2 { font-size:clamp(38px,4.2vw,58px);line-height:1.08;letter-spacing:-.055em;margin:0; }
.section-heading p,.testimonial-intro>p,.faq-intro>p { color:var(--muted);line-height:1.75;margin:0; }

.about { overflow:hidden; background:linear-gradient(180deg,#fff 0%,#f7f9ff 100%); }
.about-layout { display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center;position:relative;z-index:2; }
.about-copy>p { color:var(--muted);font-size:17px;line-height:1.8;margin:26px 0 34px; }
.about-visual { position:relative;z-index:4;isolation:isolate; }
.about-copy em { color:var(--violet);font-style:normal;font-weight:750; }
.liquid-card { min-height:560px;border-radius:42% 58% 56% 44% / 48% 39% 61% 52%;position:relative;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(235,239,255,.88));border:1px solid rgba(255,255,255,.9);box-shadow:0 40px 90px rgba(55,71,145,.17),inset 0 0 60px rgba(255,255,255,.65);animation:morph 12s ease-in-out infinite;overflow:hidden; }
.liquid-card::before { content:"";position:absolute;width:78%;height:78%;border-radius:44% 56% 58% 42% / 50% 44% 56% 50%;background:linear-gradient(145deg,rgba(39,107,255,.15),rgba(113,76,229,.15),rgba(239,72,142,.17));filter:blur(2px);animation:morph 9s ease-in-out infinite reverse; }
.liquid-shape { position:absolute;width:65%;height:65%;border-radius:58% 42% 48% 52% / 42% 58% 42% 58%;background:linear-gradient(140deg,rgba(37,108,255,.22),rgba(221,54,160,.2),rgba(255,104,82,.2));filter:blur(28px);animation:float 7s ease-in-out infinite; }
.liquid-logo { width:56%;position:relative;z-index:2;filter:drop-shadow(0 18px 25px rgba(67,69,150,.13)); }
.liquid-caption { position:absolute;right:-2%;bottom:8%;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.95);padding:16px 20px;border-radius:18px;box-shadow:0 22px 60px rgba(46,56,116,.22);z-index:20;transform:translateZ(0); }
.liquid-caption span,.liquid-caption strong { display:block; }.liquid-caption span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.liquid-caption strong{font-size:18px;margin-top:4px;}
.about-points { display:grid;gap:20px; }
.about-points article { display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line); }
.about-points article>span { width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:var(--violet);font-size:11px;font-weight:800; }
.about-points h3 { font-size:17px;margin:0 0 7px; }.about-points p{margin:0;color:var(--muted);font-size:14px;line-height:1.65;}
.water-blob { position:absolute;border-radius:50%;filter:blur(1px);opacity:.7; }
.water-one { width:250px;height:250px;right:-120px;top:16%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9),rgba(83,121,255,.16));box-shadow:inset -25px -35px 60px rgba(105,72,227,.1); }
.water-two { width:105px;height:105px;left:2%;bottom:9%;background:radial-gradient(circle at 30% 30%,#fff,rgba(237,73,151,.14)); }
.droplets span { position:absolute;border-radius:50% 50% 50% 10%;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(91,121,250,.14));box-shadow:inset -10px -12px 24px rgba(97,78,221,.09);transform:rotate(-45deg);animation:float 7s ease-in-out infinite; }
.droplets span:nth-child(1){width:34px;height:34px;left:7%;top:20%}.droplets span:nth-child(2){width:19px;height:19px;right:12%;top:10%;animation-delay:-2s}.droplets span:nth-child(3){width:45px;height:45px;right:5%;bottom:20%;animation-delay:-4s}.droplets span:nth-child(4){width:14px;height:14px;left:43%;bottom:8%;animation-delay:-1s}

.brands { border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#fff; }
.brands-head { display:flex;justify-content:space-between;gap:20px;margin-bottom:32px; }
.brands-head p{margin:0;font-weight:750}.brands-head span{color:var(--muted);font-size:13px}
.brand-marquee { overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.brand-track { width:max-content;display:flex;gap:14px;animation:marquee 32s linear infinite; }
.brand-track span { min-width:165px;padding:17px 24px;border:1px solid var(--line);border-radius:16px;background:#fafbff;text-align:center;font-weight:800;color:#42516a;letter-spacing:-.02em; }

.services { background:#fff; }
.service-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.service-card { min-height:330px;padding:28px;border:1px solid var(--line);border-radius:24px;background:#fff;position:relative;overflow:hidden;transition:.35s ease; }
.service-card::before { content:"";position:absolute;inset:auto -30% -55% auto;width:220px;height:220px;border-radius:50%;background:linear-gradient(145deg,rgba(36,104,255,.07),rgba(220,60,158,.08));transition:.35s; }
.service-card:hover { transform:translateY(-8px);box-shadow:var(--shadow);border-color:rgba(104,79,230,.2); }
.service-card:hover::before { transform:scale(1.3); }
.service-card.featured { background:linear-gradient(145deg,#0d1b35,#14264b);color:#fff;border:0;box-shadow:0 25px 65px rgba(10,26,56,.19); }
.service-card.featured::before { background:var(--gradient);opacity:.22;filter:blur(15px); }
.service-num { position:absolute;right:24px;top:23px;color:#a5afbf;font-size:11px;font-weight:850;letter-spacing:.12em; }
.service-icon { width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#f3f5ff;color:var(--violet);font-size:20px;margin-bottom:44px; }
.featured .service-icon { background:rgba(255,255,255,.12);color:#fff; }
.service-card h3 { font-size:21px;letter-spacing:-.035em;margin:0 0 13px; }
.service-card p { color:var(--muted);font-size:14px;line-height:1.7;margin:0;position:relative;z-index:1; }
.featured p{color:#c8d1e2}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px;position:relative;z-index:1}.tags span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:750;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:#65738a}.featured .tags span{border-color:rgba(255,255,255,.15);color:#d8deec}

.work { background:#f6f8fd; }
.work-grid { display:grid;grid-template-columns:1fr 1fr;gap:22px; }
.case-card { border-radius:28px;overflow:hidden;background:#fff;border:1px solid rgba(14,31,61,.08);transition:.35s;box-shadow:0 10px 35px rgba(44,60,118,.06); }
.case-card:hover { transform:translateY(-8px);box-shadow:0 28px 70px rgba(45,61,120,.15); }
.case-top { display:flex;align-items:center;justify-content:space-between;padding:22px 24px 0;font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#5f6d82; }
.case-top i { width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-style:normal;font-size:15px; }
.case-art { height:280px;margin:18px 20px;border-radius:20px;display:grid;place-items:center;position:relative;overflow:hidden; }
.case-reestify .case-art{background:linear-gradient(145deg,#f1efff,#e5ebff)}.case-pagifye .case-art{background:linear-gradient(145deg,#fff1f6,#f2eaff)}.case-flowfye .case-art{background:linear-gradient(145deg,#eaf8ff,#edf1ff)}.case-influx .case-art{background:linear-gradient(145deg,#fff5ea,#fff0f5)}
.abstract-window { width:66%;height:68%;background:rgba(255,255,255,.84);border-radius:18px;box-shadow:0 22px 50px rgba(75,64,145,.14);padding:24px;position:relative;transform:rotate(-5deg); }
.abstract-window b { width:62px;height:62px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(140deg,#624be0,#2370ff);color:#fff;font-size:30px; }.abstract-window span{display:block;height:10px;border-radius:99px;background:#e7e9f3;margin-top:16px}.abstract-window span:nth-of-type(1){width:80%}.abstract-window span:nth-of-type(2){width:60%}.abstract-window span:nth-of-type(3){width:72%}
.component-stack { position:relative;width:62%;height:70%; }.component-stack span{position:absolute;width:72%;height:72%;left:14%;top:14%;border-radius:22px;background:#fff;box-shadow:0 18px 45px rgba(130,69,150,.12)}.component-stack span:nth-child(1){transform:rotate(-12deg);background:#ffdce9}.component-stack span:nth-child(2){transform:rotate(9deg);background:#e1ddff}.component-stack span:nth-child(3){transform:rotate(-1deg);background:#fff}.component-stack b{position:absolute;inset:0;display:grid;place-items:center;font-size:72px;color:#9b4ed8;z-index:3}
.browser-art { width:72%;height:70%;background:#fff;border-radius:15px;box-shadow:0 22px 50px rgba(64,93,145,.13);padding:18px;position:relative; }.browser-art>span{display:block;width:50px;height:7px;border-radius:10px;background:linear-gradient(90deg,#2c7aff,#8a5ce6);margin-bottom:24px}.browser-art div{height:19px;border-radius:6px;background:#e9eef7;margin:12px 0}.browser-art div:nth-of-type(2){width:74%}.browser-art div:nth-of-type(3){height:58px;background:linear-gradient(140deg,#dceeff,#eef0ff)}
.growth-chart { width:70%;height:68%;background:rgba(255,255,255,.78);border-radius:20px;box-shadow:0 22px 50px rgba(150,75,84,.1);display:flex;align-items:end;justify-content:center;gap:14px;padding:35px;position:relative}.growth-chart i{display:block;width:28px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#ff6e57,#df3b9f)}.growth-chart i:nth-child(1){height:32%}.growth-chart i:nth-child(2){height:49%}.growth-chart i:nth-child(3){height:67%}.growth-chart i:nth-child(4){height:88%}.growth-chart span{position:absolute;right:23%;top:17%;font-size:34px;color:#e14b8d}
.case-copy { padding:5px 24px 26px; }.case-copy h3{font-size:27px;letter-spacing:-.045em;margin:0 0 5px}.case-copy>p{color:var(--muted);font-size:14px;margin:0 0 20px}.case-metrics{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:7px 12px;align-items:center;border-top:1px solid var(--line);padding-top:18px}.case-metrics strong{font-size:17px}.case-metrics span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;line-height:1.3}

.process { background:#08172f;color:#fff;overflow:hidden; }
.process::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(222,56,158,.2),transparent 29%),radial-gradient(circle at 12% 85%,rgba(37,108,255,.23),transparent 33%); }
.process-wave { position:absolute;left:-10%;right:-10%;top:54%;height:240px;border:1px solid rgba(255,255,255,.08);border-radius:50%;transform:rotate(-8deg); }.process-wave::after{content:"";position:absolute;inset:30px -60px;border:1px solid rgba(255,255,255,.05);border-radius:50%}
.process-flow{position:relative;margin-top:64px;min-height:640px;z-index:2}
.process-line{position:absolute;left:50%;top:4px;width:min(760px,72vw);aspect-ratio:772/560;transform:translateX(-50%);pointer-events:none}
.process-logo-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 55px rgba(65,61,170,.18));opacity:.96}
.process-motion-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.process-motion-path{fill:none;stroke:transparent;stroke-width:1}
.process-arrow-glow circle{fill:rgba(255,255,255,.48)}
.process-arrow circle{fill:#fff;stroke:rgba(255,255,255,.7);stroke-width:2}
.process-arrow path{fill:none;stroke:#6554e8;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.process-arrow,.process-arrow-glow{transform-box:fill-box;transform-origin:center}
.process-grid { position:relative;z-index:2;min-height:640px; }
.process-step { width:min(220px,calc(100% - 24px));padding:24px 22px 22px;text-align:left;position:absolute;background:rgba(9,22,44,.72);border:1px solid rgba(255,255,255,.08);border-radius:22px;backdrop-filter:blur(14px);box-shadow:0 24px 60px rgba(4,10,24,.18); }
.process-step:nth-child(1){left:0;top:250px}
.process-step:nth-child(2){left:7%;top:10px}
.process-step:nth-child(3){left:calc(50% - 110px);top:448px}
.process-step:nth-child(4){right:7%;top:10px}
.process-step:nth-child(5){right:0;top:250px}
.process-step>span{font-size:10px;color:#71809a;letter-spacing:.1em;display:block;margin-bottom:10px}.step-dot{width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid #614fe4;box-shadow:0 0 0 6px rgba(97,79,228,.13);margin:0 0 18px;position:relative;z-index:2}.process-step:nth-child(3) .step-dot{border-color:#b343c5}.process-step:nth-child(4) .step-dot,.process-step:nth-child(5) .step-dot{border-color:#ef587a}.process-step h3{font-size:19px;margin:0 0 10px}.process-step p{font-size:13px;color:#aeb8ca;line-height:1.65;margin:0}


.testimonials { background:#fff; }
.testimonial-layout { display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:center; }
.testimonial-intro>p { margin-top:24px; }
.testimonial-controls{display:flex;gap:10px;margin-top:30px}.testimonial-controls button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px;transition:.25s}.testimonial-controls button:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.testimonial-stage{min-width:0}.testimonial-track{display:flex;overflow:hidden}.testimonial-card{min-width:100%;padding:45px;border-radius:28px;background:linear-gradient(145deg,#f7f8ff,#fff4f7);border:1px solid rgba(70,67,145,.08);opacity:0;transform:translateX(20px);transition:.45s ease}.testimonial-card.active{opacity:1;transform:none}.quote-mark{font-family:Georgia,serif;font-size:80px;line-height:.65;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.testimonial-card>p{font-size:23px;line-height:1.55;letter-spacing:-.025em;margin:24px 0 38px}.person{display:flex;align-items:center;gap:13px}.person>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--gradient);color:#fff;font-size:12px;font-weight:850}.person strong,.person small{display:block}.person small{color:var(--muted);margin-top:3px}.testimonial-dots{display:flex;gap:8px;margin-top:18px;justify-content:center}.testimonial-dots button{width:8px;height:8px;border:0;border-radius:10px;background:#d1d6e1;padding:0;transition:.25s}.testimonial-dots button.active{width:28px;background:var(--gradient)}

.faq { background:#f7f9fd; }
.faq-layout { display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start; }.faq-intro>p{margin:24px 0}.text-link{display:inline-flex;gap:8px;font-weight:800;color:var(--violet)}
.faq-list { background:#fff;border:1px solid var(--line);border-radius:24px;padding:6px 24px;box-shadow:0 16px 50px rgba(45,62,125,.07); }.faq-item{border-bottom:1px solid var(--line)}.faq-item:last-child{border:0}.faq-item button{width:100%;border:0;background:transparent;padding:22px 0;display:flex;justify-content:space-between;gap:25px;text-align:left;font-weight:750;color:var(--ink)}.faq-item button i{font-style:normal;font-size:22px;color:var(--violet);transition:.3s}.faq-answer{display:grid;grid-template-rows:0fr;transition:.35s ease}.faq-answer p{overflow:hidden;margin:0;color:var(--muted);font-size:14px;line-height:1.75}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer p{padding:0 35px 22px 0}.faq-item.open button i{transform:rotate(45deg)}

.contact { background:#fff;overflow:hidden; }
.contact-card { border-radius:36px;background:linear-gradient(135deg,#14234a 0%,#6e4ae1 48%,#de3fa3 78%,#ff7156 100%);padding:68px;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;color:#fff;position:relative;overflow:hidden;box-shadow:0 35px 90px rgba(82,63,186,.25); }
.contact-card::after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-190px;top:-180px}.contact-copy,.contact-form{position:relative;z-index:2}.light-kicker{color:#d8d7ff}.contact-copy h2{font-size:clamp(40px,4.5vw,60px)}.contact-copy h2 span{background:none;color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:8px}.contact-copy>p{color:rgba(255,255,255,.73);font-size:16px;line-height:1.75;margin:24px 0 34px}.contact-details{display:grid;gap:13px}.contact-details a{display:flex;align-items:center;gap:12px}.contact-details a>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.12)}.contact-details small,.contact-details strong{display:block}.contact-details small{color:rgba(255,255,255,.6);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.contact-details strong{font-size:13px;margin-top:2px}
.contact-form{background:rgba(255,255,255,.96);color:var(--ink);padding:28px;border-radius:24px;display:grid;gap:17px;box-shadow:0 20px 50px rgba(36,29,89,.18)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label span{display:block;font-size:11px;font-weight:800;margin-bottom:7px;color:#536178}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #dfe3ed;border-radius:12px;background:#fff;padding:13px 14px;color:var(--ink);outline:none;transition:.2s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#7a57e5;box-shadow:0 0 0 4px rgba(122,87,229,.08)}.contact-form textarea{resize:vertical}.btn-form{border:0;background:var(--ink);color:#fff;border-radius:13px;min-height:50px}.form-status{font-size:12px;color:#5c6b81;margin:0;min-height:18px}.contact-orb{position:absolute;border-radius:50%;filter:blur(2px)}.contact-orb-a{width:190px;height:190px;left:-80px;top:20%;background:linear-gradient(145deg,rgba(35,107,255,.13),rgba(102,79,228,.08))}.contact-orb-b{width:120px;height:120px;right:1%;bottom:4%;background:linear-gradient(145deg,rgba(223,60,159,.13),rgba(255,105,82,.09))}

.footer { background:#07152c;color:#fff;padding:70px 0 26px; }.footer .brand{color:#fff}.footer-brand p{color:#9eabbe;max-width:330px;line-height:1.7}.footer-top{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;padding-bottom:55px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.footer-links div{display:grid;align-content:start;gap:11px}.footer-links strong{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#d8deea;margin-bottom:5px}.footer-links a,.footer-links span{color:#9eabbe;font-size:13px}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;color:#79879b;font-size:11px}

.reveal { opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1); }.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.18s}.delay-3{transition-delay:.26s}.delay-4{transition-delay:.34s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
@keyframes stageFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-13px) rotate(1deg)}}
@keyframes logoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinReverse{from{transform:rotate(-18deg)}to{transform:rotate(-378deg)}}
@keyframes glowShift{0%,100%{transform:translate(-8px,8px) scale(1)}50%{transform:translate(16px,-8px) scale(1.15)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(108,79,229,.24)}70%{box-shadow:0 0 0 18px rgba(108,79,229,0)}100%{box-shadow:0 0 0 0 rgba(108,79,229,0)}}
@keyframes scrollLine{to{transform:translateX(100%)}}
@keyframes morph{0%,100%{border-radius:42% 58% 56% 44% / 48% 39% 61% 52%}33%{border-radius:55% 45% 40% 60% / 55% 55% 45% 45%}66%{border-radius:48% 52% 62% 38% / 38% 62% 38% 62%}}
@keyframes marquee{to{transform:translateX(-50%)}}

@media (max-width: 1020px){
  .hero-layout{grid-template-columns:1fr;gap:35px}.hero-copy{text-align:center}.hero-lead{margin-inline:auto}.hero-actions,.hero-proof{justify-content:center}.hero-visual{min-height:500px}.hero{padding-top:135px}.about-layout{grid-template-columns:1fr;gap:55px}.about-visual{max-width:620px;margin:auto;width:100%}.section-heading{grid-template-columns:1fr;gap:20px}.service-grid{grid-template-columns:1fr 1fr}.process-flow{min-height:720px}.process-line{width:min(700px,78vw);top:48px}.process-step:nth-child(1){left:0;top:250px}.process-step:nth-child(2){left:3%;top:20px}.process-step:nth-child(3){left:calc(50% - 110px);top:470px}.process-step:nth-child(4){right:3%;top:20px}.process-step:nth-child(5){right:0;top:250px}.testimonial-layout,.faq-layout{grid-template-columns:1fr;gap:45px}.contact-card{grid-template-columns:1fr;gap:45px;padding:52px}.footer-top{grid-template-columns:1fr;gap:40px}
}
@media (max-width: 760px){
  .container{width:min(100% - 28px,1160px)}.section-pad{padding:82px 0}.site-header{padding:10px 0}.site-header.scrolled{background:rgba(255,255,255,.96);backdrop-filter:none;-webkit-backdrop-filter:none}.brand{font-size:20px}.brand img{width:38px;height:38px}.nav-toggle{display:block;z-index:3}.nav-links{position:fixed;inset:0;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;gap:28px;font-size:23px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-100%);transition:transform .4s ease,opacity .25s ease,visibility 0s linear .4s}.nav-links.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:transform .4s ease,opacity .25s ease}.nav-toggle.open span:first-child{transform:translateY(4px) rotate(45deg)}.nav-toggle.open span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav-cta{font-size:15px}.hero{min-height:auto;padding-top:125px;padding-bottom:85px}.hero h1{font-size:50px}.hero-lead{font-size:16px}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.hero-proof div{padding:0 10px}.hero-proof strong{font-size:19px}.hero-proof span{font-size:9px}.hero-visual{min-height:400px}.logo-stage{width:310px}.orbit-one{width:365px;height:365px}.orbit-two{width:410px;height:280px}.floating-card{padding:9px 11px}.card-creative{left:0}.card-content{right:0}.card-growth{bottom:4%}.hero-scroll{display:none}.about-layout{gap:40px}.liquid-card{min-height:430px}.about-copy h2,.section-heading h2,.testimonial-intro h2,.faq-intro h2,.contact-copy h2{font-size:39px}.brands-head{display:block}.brands-head span{display:block;margin-top:8px}.brand-track span{min-width:145px}.service-grid,.work-grid{grid-template-columns:1fr}.case-art{height:240px}.process-grid{grid-template-columns:1fr 1fr}.process-step{padding:0 10px}.testimonial-card{padding:30px}.testimonial-card>p{font-size:19px}.contact-card{padding:34px 22px;border-radius:26px}.field-row{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.footer-bottom{display:grid;gap:8px}.case-metrics{grid-template-columns:auto 1fr}.faq-list{padding:5px 18px}
}
@media (max-width: 480px){
  .hero h1{font-size:44px}.btn{width:100%}.hero-actions{display:grid}.hero-visual{min-height:340px}.logo-stage{width:270px}.orbit-one{width:310px;height:310px}.orbit-two{width:345px;height:240px}.floating-card small{display:none}.card-content{top:23%}.card-growth{left:0}.card-creative{top:12%}.liquid-card{min-height:365px}.section-heading h2,.about-copy h2,.testimonial-intro h2,.faq-intro h2,.contact-copy h2{font-size:34px}.process-line{margin-bottom:20px}.process-grid{grid-template-columns:1fr}.process-step{text-align:left;display:grid;grid-template-columns:45px 1fr;column-gap:10px}.process-step>span{grid-row:1/4}.step-dot{display:none}.process-step h3{margin-top:0}.process-step p{grid-column:2}.footer-links{grid-template-columns:1fr}.contact-form{padding:20px}.testimonial-card>p{font-size:17px}.case-copy h3{font-size:24px}
}

@media (max-width: 760px){
  .process-flow{min-height:auto;margin-top:42px}
  .process-line{position:relative;left:auto;top:auto;transform:none;width:100%;height:auto;max-width:680px;margin:0 auto 26px}
  .process-motion-layer{height:100%}
  .process-grid{min-height:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .process-step{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:auto;padding:22px 18px 20px;background:rgba(9,22,44,.72)}
}
@media (max-width: 480px){
  .process-grid{grid-template-columns:1fr}
  .process-step{text-align:left;display:grid;grid-template-columns:45px 1fr;column-gap:10px}
  .process-step>span{grid-row:1/4}
  .step-dot{display:none}
  .process-step h3{margin-top:0}
  .process-step p{grid-column:2}
}


@media (max-width: 760px){
  .liquid-caption{right:2%;bottom:5%;z-index:20}
}
@media (max-width: 480px){
  .liquid-caption{right:3%;bottom:4%;padding:13px 16px}
  .liquid-caption strong{font-size:16px}
}

/* Brand marquee logos — the CMS falls back to a plain name when no logo is set. */
.brand-track span.brand-logo { display:grid;place-items:center;padding:13px 24px; }
.brand-track span.brand-logo img { width:auto;max-width:118px;max-height:40px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .25s ease,opacity .25s ease; }
.brand-track span.brand-logo:hover img { filter:none;opacity:1; }

/* Case card cover pictures replace the generated abstract art. */
.case-art.has-cover { display:block;padding:0; }
.case-cover { width:100%;height:100%;object-fit:cover;border-radius:20px;transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.case-card:hover .case-cover { transform:scale(1.045); }

/* ---------- Individual case study page ---------- */
.case-page .site-header { background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line); }
.cs-status { padding-top:180px;text-align:center; }
.cs-status h1 { font-size:clamp(32px,4vw,46px);letter-spacing:-.05em;margin:0 0 14px; }
.cs-status p { color:var(--muted);max-width:520px;margin:0 auto 30px; }

.cs-hero { position:relative;overflow:hidden;padding:150px 0 60px;background:linear-gradient(180deg,#f7f9ff 0%,#fff 100%); }
.cs-orb { position:absolute;border-radius:50%;filter:blur(90px);opacity:.2;pointer-events:none; }
.cs-orb-a { width:420px;height:420px;background:#2468ff;top:-160px;left:-90px; }
.cs-orb-b { width:380px;height:380px;background:#df3e9f;top:-120px;right:-120px; }
.cs-crumbs { position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:38px;font-size:12px;font-weight:700;color:var(--muted); }
.cs-crumbs a:hover { color:var(--violet); }
.cs-crumbs span { opacity:.45; }
.cs-crumbs b { color:var(--ink); }
.cs-hero-grid { position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:start; }
.cs-hero-copy h1 { font-size:clamp(38px,4.4vw,60px);line-height:1.06;letter-spacing:-.055em;margin:0; }
.cs-summary { color:var(--muted);font-size:17px;line-height:1.75;margin:24px 0 0;max-width:60ch; }
.cs-actions { display:flex;flex-wrap:wrap;gap:14px;margin-top:34px; }
.cs-facts { display:grid;gap:18px;margin:6px 0 0;padding:26px 28px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.72);backdrop-filter:blur(10px);box-shadow:var(--shadow); }
.cs-facts dt { font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:850;color:var(--muted); }
.cs-facts dd { margin:5px 0 0;font-weight:700;letter-spacing:-.02em; }

.cs-cover-wrap { margin-top:14px; }
.cs-cover { margin:0;aspect-ratio:16/9;border-radius:30px;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(14,31,61,.08);box-shadow:0 30px 80px rgba(45,61,120,.14); }
.cs-cover.case-reestify { background:linear-gradient(145deg,#f1efff,#e5ebff); }
.cs-cover.case-pagifye { background:linear-gradient(145deg,#fff1f6,#f2eaff); }
.cs-cover.case-flowfye { background:linear-gradient(145deg,#eaf8ff,#edf1ff); }
.cs-cover.case-influx { background:linear-gradient(145deg,#fff5ea,#fff0f5); }
.cs-cover-image { width:100%;height:100%;object-fit:cover; }
.cs-cover-fallback { font-size:clamp(70px,11vw,140px);font-weight:850;letter-spacing:-.06em;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent; }

.cs-metrics-band { padding:52px 0 0; }
.cs-metrics { display:grid;grid-template-columns:1fr 1fr;gap:22px; }
.cs-metrics div { padding:30px 32px;border:1px solid var(--line);border-radius:var(--radius);background:#f7f9ff; }
.cs-metrics strong { display:block;font-size:clamp(32px,3.4vw,44px);letter-spacing:-.05em;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent; }
.cs-metrics span { display:block;margin-top:7px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted); }

.cs-body { padding-top:86px; }
.cs-body-inner { display:grid;gap:56px; }
.cs-prose { display:grid;gap:48px;max-width:760px; }
.cs-block h2 { font-size:clamp(26px,2.6vw,34px);letter-spacing:-.045em;margin:0 0 16px; }
.cs-block h2::before { content:"";display:block;width:44px;height:3px;border-radius:99px;background:var(--gradient);margin-bottom:18px; }
.cs-block p { color:#42506a;font-size:16px;line-height:1.85;margin:0 0 16px; }
.cs-block p:last-child { margin-bottom:0; }
.cs-gallery { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px; }
.cs-gallery figure { margin:0;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#f7f9ff; }
.cs-gallery img { width:100%;height:100%;object-fit:cover; }
.cs-quote { margin:0;padding:44px;border-radius:28px;background:linear-gradient(145deg,#f7f8ff,#fff4f7);border:1px solid rgba(70,67,145,.08);max-width:820px; }
.cs-quote p { font-size:22px;line-height:1.55;letter-spacing:-.025em;margin:18px 0 26px; }
.cs-quote footer strong, .cs-quote footer small { display:block; }
.cs-quote footer small { color:var(--muted);margin-top:3px; }

.cs-more { background:#f6f8fd;border-top:1px solid var(--line);padding-top:72px;padding-bottom:72px; }
.cs-more-head { display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:32px; }
.cs-more-head h2 { font-size:clamp(26px,2.6vw,34px);letter-spacing:-.045em;margin:0; }
.cs-more-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px; }
.cs-more-card { display:block;border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(14,31,61,.08);transition:.35s;box-shadow:0 10px 35px rgba(44,60,118,.06); }
.cs-more-card:hover { transform:translateY(-8px);box-shadow:0 28px 70px rgba(45,61,120,.15); }
.cs-more-art { height:160px;display:grid;place-items:center;overflow:hidden; }
.cs-more-card.case-reestify .cs-more-art { background:linear-gradient(145deg,#f1efff,#e5ebff); }
.cs-more-card.case-pagifye .cs-more-art { background:linear-gradient(145deg,#fff1f6,#f2eaff); }
.cs-more-card.case-flowfye .cs-more-art { background:linear-gradient(145deg,#eaf8ff,#edf1ff); }
.cs-more-card.case-influx .cs-more-art { background:linear-gradient(145deg,#fff5ea,#fff0f5); }
.cs-more-art img { width:100%;height:100%;object-fit:cover; }
.cs-more-art b { font-size:54px;letter-spacing:-.05em;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent; }
.cs-more-copy { padding:20px 22px 24px; }
.cs-more-copy span { font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#5f6d82; }
.cs-more-copy h3 { font-size:21px;letter-spacing:-.04em;margin:9px 0 5px; }
.cs-more-copy p { color:var(--muted);font-size:13px;line-height:1.6;margin:0; }

.cs-cta { padding:92px 0 104px; }
.cs-cta-card { display:grid;grid-template-columns:1.2fr auto;gap:44px;align-items:center;padding:56px;border-radius:36px;background:linear-gradient(135deg,#14234a 0%,#6e4ae1 48%,#de3fa3 78%,#ff7156 100%);color:#fff;box-shadow:0 35px 90px rgba(82,63,186,.25); }
.cs-cta-card h2 { font-size:clamp(30px,3.2vw,42px);line-height:1.1;letter-spacing:-.05em;margin:0 0 16px; }
.cs-cta-card p { color:rgba(255,255,255,.75);line-height:1.75;margin:0;max-width:52ch; }
.cs-cta-card .btn-primary { background:#fff;color:var(--ink);box-shadow:0 14px 34px rgba(10,20,45,.28); }

@media (max-width: 1020px){
  .cs-hero-grid{grid-template-columns:1fr;gap:38px}
  .cs-facts{grid-template-columns:1fr 1fr;gap:20px 28px}
  .cs-cta-card{grid-template-columns:1fr;gap:30px;padding:44px}
}
@media (max-width: 760px){
  .cs-hero{padding:126px 0 44px}
  .cs-crumbs{margin-bottom:26px}
  .cs-actions .btn{width:100%}
  .cs-facts{grid-template-columns:1fr;padding:22px}
  .cs-cover{aspect-ratio:4/3;border-radius:22px}
  .cs-metrics{grid-template-columns:1fr}
  .cs-body{padding-top:62px}
  .cs-body-inner{gap:40px}
  .cs-prose{gap:36px}
  .cs-quote{padding:28px}
  .cs-quote p{font-size:19px}
  .cs-cta{padding:64px 0 76px}
  .cs-cta-card{padding:32px 24px;border-radius:26px}
  .brand-track span.brand-logo img{max-width:100px;max-height:34px}
}

/* ---------- Blog ---------- */
.blog-hero { position:relative;overflow:hidden;padding:150px 0 20px;background:linear-gradient(180deg,#f7f9ff 0%,#fff 100%); }
.blog-hero-top { position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px; }
.blog-hero h1 { font-size:clamp(38px,4.4vw,58px);line-height:1.06;letter-spacing:-.055em;margin:0;max-width:16ch; }
.blog-hero h1 span { background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent; }
.blog-hero .cs-summary { margin-top:22px; }

.lang-toggle { display:inline-flex;gap:2px;padding:4px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.8);backdrop-filter:blur(10px); }
.lang-toggle button { min-height:36px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:#54617a;font-size:13px;font-weight:800;transition:.2s; }
.lang-toggle button:hover { color:var(--ink); }
.lang-toggle button.active { background:var(--gradient);color:#fff;box-shadow:0 6px 16px rgba(104,79,230,.25); }

.blog-list { padding-top:44px; }
.post-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px; }
.post-card { display:block;border-radius:26px;overflow:hidden;background:#fff;border:1px solid rgba(14,31,61,.08);box-shadow:0 10px 35px rgba(44,60,118,.06);transition:.35s; }
.post-card:hover { transform:translateY(-8px);box-shadow:0 28px 70px rgba(45,61,120,.15); }
.post-card.featured { display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;margin-bottom:22px; }
.post-art { min-height:190px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f1efff,#e5ebff); }
.post-card:nth-child(even) .post-art { background:linear-gradient(145deg,#fff1f6,#f2eaff); }
.post-card.featured .post-art { min-height:320px; }
.post-art img { width:100%;height:100%;object-fit:cover; }
.post-art b { font-size:64px;letter-spacing:-.05em;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent; }
.post-copy { display:flex;flex-direction:column;align-items:flex-start;padding:24px 26px 28px; }
.post-card.featured .post-copy { justify-content:center;padding:40px; }
.post-flag { margin-bottom:14px;padding:5px 12px;border-radius:999px;background:var(--gradient);color:#fff;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em; }
.post-meta { display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;font-weight:750;color:var(--muted); }
.post-meta > span + span::before { content:"·";margin-right:10px;opacity:.55; }
.post-cat { color:var(--violet);text-transform:uppercase;letter-spacing:.1em;font-weight:850; }
.post-copy h3 { font-size:22px;line-height:1.25;letter-spacing:-.04em;margin:12px 0 8px; }
.post-card.featured .post-copy h3 { font-size:clamp(26px,2.6vw,34px); }
.post-copy > p { color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 18px; }
.post-read { margin-top:auto;font-size:13px;font-weight:800;color:var(--violet); }
.blog-empty { display:grid;justify-items:start;gap:20px;padding:44px;border:1px dashed var(--line);border-radius:var(--radius);background:#f8faff; }
.blog-empty p { margin:0;color:var(--muted);font-size:16px; }

.post-head { position:relative;overflow:hidden;padding:150px 0 40px;background:linear-gradient(180deg,#f7f9ff 0%,#fff 100%); }
.post-head > .container { position:relative;z-index:2; }
.post-meta-lead { margin-bottom:18px;font-size:12px; }
.post-head h1 { font-size:clamp(34px,4.2vw,54px);line-height:1.08;letter-spacing:-.05em;margin:0;max-width:20ch; }
.post-byline { display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:32px;padding-top:26px;border-top:1px solid var(--line); }
.post-author { display:flex;align-items:center;gap:12px;margin-right:auto; }
.post-avatar, .post-avatar-fallback { width:46px;height:46px;flex:none;border-radius:50%; }
.post-avatar { object-fit:cover; }
.post-avatar-fallback { display:grid;place-items:center;background:var(--gradient);color:#fff;font-weight:850; }
.post-author strong, .post-author small { display:block; }
.post-author small { margin-top:2px;color:var(--muted);font-size:12px; }
.post-lang-link { font-size:13px;font-weight:800;color:var(--violet); }
.post-note { margin:20px 0 0;padding:12px 16px;border:1px solid #fde3c2;border-radius:12px;background:#fff7ed;color:#8a5620;font-size:13px; }
.post-cover-wrap { margin-top:34px; }
.post-cover { margin:0;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(14,31,61,.08);border-radius:30px;background:linear-gradient(145deg,#f1efff,#e5ebff);box-shadow:0 30px 80px rgba(45,61,120,.14); }
.post-cover-image { width:100%;height:100%;object-fit:cover; }
.post-body { padding:70px 0 20px; }
.post-back { margin-top:46px; }

.prose { max-width:720px;color:#3d4a63;font-size:17px;line-height:1.85; }
.prose > * { max-width:100%; }
.prose > :first-child { margin-top:0; }
.prose h2 { margin:46px 0 14px;font-size:clamp(24px,2.4vw,31px);line-height:1.2;letter-spacing:-.045em;color:var(--ink); }
.prose h3 { margin:34px 0 10px;font-size:20px;letter-spacing:-.03em;color:var(--ink); }
.prose h4 { margin:28px 0 8px;font-size:17px;letter-spacing:-.02em;color:var(--ink); }
.prose h5 { margin:24px 0 6px;font-size:15px;font-weight:800;letter-spacing:.01em;color:var(--ink); }
.prose h6 { margin:22px 0 6px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted); }
.prose p { margin:0 0 20px; }
.prose a { color:var(--violet);font-weight:700;text-decoration:underline;text-underline-offset:3px; }
.prose strong { color:var(--ink); }
.prose ul, .prose ol { margin:0 0 22px;padding-left:22px; }
.prose li { margin-bottom:9px;padding-left:4px; }
.prose li::marker { color:var(--violet);font-weight:800; }
.prose blockquote { margin:30px 0;padding:22px 26px;border-left:3px solid var(--violet);border-radius:0 18px 18px 0;background:linear-gradient(145deg,#f7f8ff,#fff4f7);font-size:19px;line-height:1.6;color:var(--ink); }
.prose figure { margin:30px 0; }
.prose figure img { width:100%;border:1px solid var(--line);border-radius:20px; }
.prose figure figcaption { margin-top:10px;color:var(--muted);font-size:13px; }
.prose hr { margin:36px 0;border:0;border-top:1px solid var(--line); }

/* Code, tables, callouts and embeds — the richer blocks markdown.js emits. */
.prose code { padding:.15em .4em;border-radius:5px;background:#eef1fa;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.88em; }
.prose pre { margin:26px 0;padding:18px 20px;border-radius:14px;background:#0d1b30;overflow-x:auto; }
.prose pre code { padding:0;background:none;color:#dbe5f6;font-size:13.5px;line-height:1.7; }
.table-scroll { margin:26px 0;overflow-x:auto;border:1px solid var(--line);border-radius:14px; }
.table-scroll table { width:100%;border-collapse:collapse;font-size:15px; }
.table-scroll th, .table-scroll td { padding:12px 16px;text-align:left;border-bottom:1px solid var(--line); }
.table-scroll th { background:#f7f9ff;font-weight:800;font-size:13px;letter-spacing:.02em; }
.table-scroll tr:last-child td { border-bottom:0; }
.callout { margin:28px 0;padding:18px 22px;border-left:3px solid var(--violet);border-radius:0 14px 14px 0;background:#f6f4ff; }
.callout > :first-child { margin-top:0; }
.callout > :last-child { margin-bottom:0; }
.callout-tip { border-left-color:#0f9d70;background:#eefaf5; }
.callout-warning { border-left-color:#e0812b;background:#fff6ea; }
.embed { position:relative;margin:30px 0;padding-top:56.25%;border-radius:16px;overflow:hidden;background:#0d1b30; }
.embed iframe { position:absolute;inset:0;width:100%;height:100%;border:0; }

.blog-more { padding-top:64px;padding-bottom:64px;border-top:1px solid var(--line);background:#f6f8fd; }

/* Bangla gets its own stack, and none of the tight Latin tracking. */
.lang-bn, [lang="bn"] {
  font-family: "Noto Sans Bengali", "Hind Siliguri", Kalpurush, SolaimanLipi, "Nirmala UI", Vrinda, Inter, ui-sans-serif, system-ui, sans-serif;
}
[lang="bn"] { letter-spacing:normal; }
.lang-bn h1, .lang-bn h2, .lang-bn h3 { letter-spacing:-.005em;line-height:1.35; }
.lang-bn .prose { line-height:2; }
.lang-bn .prose blockquote { line-height:1.85; }
.lang-bn .cs-summary, .lang-bn .post-copy > p { line-height:1.9; }
.lang-bn .post-cat, .lang-bn .post-flag { letter-spacing:.04em; }

@media (max-width: 1020px){
  .post-card.featured { grid-template-columns:1fr; }
  .post-card.featured .post-art { min-height:230px; }
  .post-card.featured .post-copy { padding:30px; }
}
@media (max-width: 760px){
  .blog-hero { padding:126px 0 12px; }
  .blog-hero-top { align-items:flex-start; }
  .blog-list { padding-top:32px; }
  .post-head { padding:126px 0 32px; }
  .post-cover { aspect-ratio:4/3;border-radius:22px; }
  .post-body { padding-top:48px; }
  .prose { font-size:16px; }
  .prose h2 { margin-top:36px; }
  .prose blockquote { padding:18px 20px;font-size:17px; }
  .post-byline { gap:14px; }
  .blog-empty { padding:28px 22px; }
}

/* A testimonial photo occupies the same circle as the initials badge. */
.person > .person-photo { width:48px;height:48px;flex:none;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:#fff; }

/* ---------- Service pages ---------- */
a.service-card { display:block;color:inherit; }
.service-more { display:block;margin-top:16px;font-size:13px;font-weight:800;color:var(--violet); }
.service-card.featured .service-more { color:#fff; }

.svc-hero { position:relative;overflow:hidden;padding:140px 0 10px;background:linear-gradient(180deg,#f7f9ff 0%,#fff 100%); }
.svc-hero > .container { position:relative;z-index:2; }
.svc-image { margin:0 0 34px;aspect-ratio:16/7;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(14,31,61,.08);border-radius:30px;background:linear-gradient(140deg,#eef1ff,#fdf0f7);box-shadow:0 30px 80px rgba(45,61,120,.14); }
.svc-image-file { width:100%;height:100%;object-fit:cover; }
.svc-image-glyph { font-size:clamp(64px,9vw,120px);line-height:1;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent; }
.svc-headline h1 { font-size:clamp(34px,4.2vw,54px);line-height:1.07;letter-spacing:-.05em;margin:0;max-width:20ch; }
.svc-headline .cs-summary { margin-top:22px; }
.svc-tags { margin-top:26px; }

.svc-section-head { margin-bottom:38px;max-width:640px; }
.svc-section-head h2 { margin:0;font-size:clamp(26px,2.8vw,36px);line-height:1.15;letter-spacing:-.045em; }
.svc-section-head p { margin:14px 0 0;color:var(--muted);line-height:1.75; }
.svc-plans { padding-top:70px;padding-bottom:20px; }
.plan-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;align-items:stretch; }
.plan-card { display:flex;flex-direction:column;padding:32px 30px 30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 35px rgba(44,60,118,.06);transition:.35s; }
.plan-card:hover { transform:translateY(-6px);box-shadow:0 28px 70px rgba(45,61,120,.14); }
.plan-card.featured { border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--gradient) border-box;box-shadow:0 24px 60px rgba(104,79,230,.16); }
.plan-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px; }
.plan-name { font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.13em;color:var(--violet); }
.plan-badge { padding:5px 11px;border-radius:999px;background:var(--gradient);color:#fff;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.1em; }
.plan-price { display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding-bottom:20px;border-bottom:1px solid var(--line); }
.plan-price strong { font-size:clamp(32px,3.4vw,42px);line-height:1;letter-spacing:-.05em; }
.plan-price span { color:var(--muted);font-size:12px;font-weight:700; }
.plan-summary { margin:18px 0 0;color:var(--muted);font-size:14px;line-height:1.65; }
.plan-features { display:grid;gap:11px;margin:20px 0 26px;padding:0;list-style:none; }
.plan-features li { position:relative;padding-left:26px;font-size:14px;line-height:1.55;color:#3d4a63; }
.plan-features li::before { content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--gradient);opacity:.16; }
.plan-features li::after { content:"";position:absolute;left:5px;top:9px;width:5px;height:8px;border:solid var(--violet);border-width:0 2px 2px 0;transform:rotate(45deg); }
.plan-cta { margin-top:auto;width:100%; }

.svc-addons { padding:70px 0 0; }
.addon-table { display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff; }
.addon-row { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 26px;border-bottom:1px solid var(--line); }
.addon-row:last-child { border-bottom:0; }
.addon-row:nth-child(odd) { background:#fafbff; }
.addon-row span { color:#3d4a63;font-size:15px; }
.addon-row strong { font-size:17px;letter-spacing:-.03em;white-space:nowrap; }

.svc-custom { padding:34px 0 76px; }
.svc-custom-card { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding:38px 40px;border:1px dashed rgba(104,79,230,.35);border-radius:var(--radius);background:linear-gradient(145deg,#f7f8ff,#fff4f7); }
.svc-custom-card h2 { margin:0 0 8px;font-size:clamp(21px,2.2vw,27px);letter-spacing:-.04em; }
.svc-custom-card p { margin:0;max-width:56ch;color:var(--muted);line-height:1.7; }

@media (max-width: 1020px){
  .plan-grid { grid-template-columns:1fr; }
  .plan-card.featured { order:-1; }
}
@media (max-width: 760px){
  .svc-hero { padding:126px 0 6px; }
  .svc-image { aspect-ratio:4/3;margin-bottom:26px;border-radius:22px; }
  .svc-plans { padding-top:52px; }
  .svc-section-head { margin-bottom:28px; }
  .plan-card { padding:26px 22px; }
  .svc-addons { padding-top:52px; }
  .addon-row { padding:16px 18px; }
  .svc-custom-card { padding:26px 22px; }
  .svc-custom-card .btn { width:100%; }
}

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