
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#fbfbfd;--fg:#0e1530;--muted:#5b6886;--border:#e4e8f1;--card:#fff;
  --primary:#3a47b8;--primary-2:#5b7df0;--accent:#5b7df0;--navy:#101a3f;--navy-deep:#070d28;--gold:#d4a843;
  --grad-hero:linear-gradient(135deg,#070d28 0%,#1b2660 50%,#3a47b8 100%);
  --grad-accent:linear-gradient(135deg,#3a47b8,#5b7df0);
  --grad-soft:linear-gradient(180deg,#fbfbfd 0%,#eef1f8 100%);
  --shadow-elegant:0 20px 60px -20px rgba(20,30,80,.25);
  --shadow-card:0 4px 20px -4px rgba(20,30,80,.08);
  --shadow-glow:0 0 60px rgba(91,125,240,.3);
  --r:.75rem;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;line-height:1.55;font-size:16px}
h1,h2,h3,h4,h5,h6{font-family:'Space Grotesk','Inter',sans-serif;letter-spacing:-.02em;font-weight:600;line-height:1.15;color:var(--fg)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}
.container-page{max-width:1240px;margin-inline:auto;padding-inline:1.5rem}
.gradient-hero{background:var(--grad-hero)}
.gradient-accent{background:var(--grad-accent)}
.gradient-soft{background:var(--grad-soft)}
.text-gradient{background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent}
.shadow-elegant{box-shadow:var(--shadow-elegant)}
.shadow-card{box-shadow:var(--shadow-card)}
.shadow-glow{box-shadow:var(--shadow-glow)}
.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-md{border-radius:.5rem}.rounded-full{border-radius:9999px}
.border{border:1px solid var(--border)}.border-y{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.bg-card{background:var(--card)}.bg-bg{background:var(--bg)}.bg-secondary{background:#eef1f8}
.text-muted{color:var(--muted)}.text-primary{color:var(--primary)}.text-fg{color:var(--fg)}
.text-white{color:#fff}.text-white-70{color:rgba(255,255,255,.7)}.text-white-80{color:rgba(255,255,255,.8)}.text-white-85{color:rgba(255,255,255,.85)}.text-white-60{color:rgba(255,255,255,.6)}
.text-navy-deep{color:var(--navy-deep)}
.bg-navy-deep{background:var(--navy-deep)}
.bg-secondary-40{background:rgba(238,241,248,.6)}
.uppercase{text-transform:uppercase}
.tracking-wide{letter-spacing:.05em}.tracking-wider{letter-spacing:.08em}.tracking-widest{letter-spacing:.15em}
.text-xs{font-size:.75rem;line-height:1.4}.text-sm{font-size:.875rem;line-height:1.5}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem;line-height:1.4}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-6xl{font-size:3.75rem}.text-7xl{font-size:4.5rem}
.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}
.font-display{font-family:'Space Grotesk',sans-serif}
.text-center{text-align:center}.text-left{text-align:left}
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}
.flex-col{flex-direction:column}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}
.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}
.mx-auto{margin-left:auto;margin-right:auto}
.p-3{padding:.75rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-10{padding:2.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}
.pt-20{padding-top:5rem}.pb-12{padding-bottom:3rem}.pb-20{padding-bottom:5rem}.pb-28{padding-bottom:7rem}
.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky;top:0}.fixed{position:fixed}
.inset-0{inset:0}.top-0{top:0}.right-0{right:0}
.z-40{z-index:40}.z-50{z-index:50}
.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}
.h-9{height:2.25rem}.w-9{width:2.25rem}.h-10{height:2.5rem}.w-10{width:2.5rem}.h-12{height:3rem}.w-12{width:3rem}.h-14{height:3.5rem}.w-14{width:3.5rem}.h-16{height:4rem}.w-16{width:4rem}
.list-disc{list-style:disc;padding-left:1.5rem}
.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-5>*+*{margin-top:1.25rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}.space-y-10>*+*{margin-top:2.5rem}
.leading-tight{line-height:1.05}.leading-relaxed{line-height:1.625}
.overflow-hidden{overflow:hidden}.backdrop{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:.5rem;padding:.85rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .25s;border:0}
.btn-primary{background:var(--grad-accent);color:#fff;box-shadow:var(--shadow-card)}
.btn-primary:hover{opacity:.92;transform:translateY(-1px)}
.btn-light{background:#fff;color:var(--navy-deep)}
.btn-light:hover{background:#f1f4ff;transform:translateY(-1px)}
.btn-outline{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.05);color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.12)}
.btn-ghost{border:1px solid var(--border);background:#fff;color:var(--fg)}
.btn-ghost:hover{background:#eef1f8}
/* Header */
.site-header{position:sticky;top:0;z-index:40;width:100%;transition:all .3s;background:transparent}
.site-header.scrolled{background:rgba(251,251,253,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(0,0,0,.02)}
.site-header .row{height:64px;display:flex;align-items:center;justify-content:space-between}
.site-header .logo{display:flex;align-items:center;gap:.5rem;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.25rem;color:var(--fg)}
.logo-mark{width:36px;height:36px;border-radius:.55rem;background:var(--grad-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:var(--shadow-card)}
.site-header nav{display:none;align-items:center;gap:.25rem}
.nav-link{padding:.55rem 1rem;font-size:.875rem;font-weight:500;color:var(--muted);border-radius:.5rem;transition:all .2s}
.nav-link:hover{color:var(--fg)}
.nav-link.active{color:var(--fg);background:#eef1f8}
.menu-toggle{padding:.5rem;color:var(--fg);display:flex}
.mobile-menu{display:none;border-top:1px solid var(--border);background:var(--bg)}
.mobile-menu.open{display:block}
.mobile-menu nav{display:flex;flex-direction:column;gap:.25rem;padding:1rem 0}
.mobile-menu .nav-link{padding:.85rem;font-size:1rem}
@media(min-width:1024px){.site-header nav{display:flex}.menu-toggle{display:none}}
/* Footer */
.site-footer{background:var(--navy-deep);color:#fff;margin-top:6rem}
.site-footer .grid-cols{display:grid;gap:3rem;grid-template-columns:1fr;padding:4rem 0}
@media(min-width:768px){.site-footer .grid-cols{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.site-footer .grid-cols{grid-template-columns:repeat(4,1fr)}}
.site-footer h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6);margin-bottom:1rem;font-family:'Space Grotesk',sans-serif}
.site-footer ul{list-style:none}
.site-footer li{font-size:.875rem;color:rgba(255,255,255,.8);margin-bottom:.5rem}
.site-footer li a:hover{color:#fff}
.site-footer .copyright{border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0;font-size:.75rem;color:rgba(255,255,255,.6);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
/* Hero */
.hero{position:relative;overflow:hidden;color:#fff;padding-top:5rem;padding-bottom:7rem}
.hero-grid{display:grid;gap:3rem;align-items:center}
@media(min-width:1024px){.hero-grid{grid-template-columns:7fr 5fr;padding-top:7rem}}
.hero h1{font-size:clamp(2.25rem,5vw,3.75rem);margin-top:1.5rem;color:#fff}
.hero p{margin-top:1.5rem;color:rgba(255,255,255,.8);max-width:36rem;font-size:1.125rem}
.hero-img{position:relative}
.hero-img img{border-radius:1rem;box-shadow:var(--shadow-elegant);border:1px solid rgba(255,255,255,.1)}
.hero-blur{position:absolute;inset:-1rem;border-radius:1rem;background:rgba(91,125,240,.2);filter:blur(40px);z-index:-1}
.badge-pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);padding:.4rem 1rem;border-radius:9999px;font-size:.75rem;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.dot-pulse{width:.5rem;height:.5rem;border-radius:50%;background:#5b7df0;animation:pulseGlow 3s ease-in-out infinite}
.cert-row{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.75rem;color:rgba(255,255,255,.6)}
.cert-row span{display:inline-flex;align-items:center;gap:.4rem}
/* Sections */
.section{padding:5rem 0}
@media(min-width:1024px){.section{padding:7rem 0}}
.eyebrow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--primary)}
.section-title{margin-top:.75rem;font-size:clamp(1.875rem,4vw,3rem);font-weight:700}
.section-lead{margin-top:1rem;font-size:1.125rem;color:var(--muted);line-height:1.7;max-width:42rem}
/* Cards grid */
.cards{display:grid;gap:1.25rem;margin-top:3rem;grid-template-columns:1fr}
@media(min-width:640px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.75rem;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant)}
.icon-box{width:48px;height:48px;border-radius:.85rem;background:var(--grad-accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);transition:transform .3s}
.card:hover .icon-box{transform:scale(1.08)}
.icon-box.lg{width:56px;height:56px;border-radius:1rem}
/* Stats */
.stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(238,241,248,.5)}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;padding:3rem 0;text-align:center}
@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
.stat-val{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.875rem,3vw,2.25rem);font-weight:700;background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-lbl{margin-top:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
/* About strip */
.split{display:grid;gap:3rem;align-items:center;grid-template-columns:1fr}
@media(min-width:1024px){.split{grid-template-columns:1fr 1fr}}
.split-img img{border-radius:1rem;box-shadow:var(--shadow-elegant)}
.check-list{margin-top:1.5rem;list-style:none}
.check-list li{display:flex;gap:.75rem;align-items:flex-start;font-size:.95rem;margin-bottom:.85rem}
.check-icon{color:var(--primary);flex-shrink:0;margin-top:2px}
/* Why us */
.why-grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:1024px){.why-grid{grid-template-columns:repeat(3,1fr)}}
/* Dark CTA */
.dark-cta{background:var(--navy-deep);color:#fff;padding:5rem 0;position:relative;overflow:hidden}
@media(min-width:1024px){.dark-cta{padding:7rem 0}}
.dark-cta h2{color:#fff;font-size:clamp(1.875rem,4vw,3rem)}
.dark-cta p{color:rgba(255,255,255,.75);margin-top:1rem;font-size:1.125rem}
/* Testimonials */
.testimonial{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.75rem;transition:transform .3s,box-shadow .3s}
.testimonial:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant)}
.stars{color:var(--gold);display:flex;gap:1px}
.quote{margin-top:1rem;line-height:1.6}
.fig-row{margin-top:1.5rem;display:flex;align-items:center;gap:.75rem}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--grad-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}
/* Final CTA */
.final-cta{background:var(--grad-accent);color:#fff;padding:4rem 2.5rem;border-radius:1.5rem;text-align:center;box-shadow:var(--shadow-elegant);position:relative;overflow:hidden}
@media(min-width:1024px){.final-cta{padding:5rem 4rem}}
.final-cta h2{color:#fff;font-size:clamp(1.875rem,4vw,3rem)}
/* Page hero */
.page-hero{padding-top:5rem;padding-bottom:3rem}
@media(min-width:1024px){.page-hero{padding-top:7rem}}
.page-hero h1{font-size:clamp(2.25rem,5vw,3.75rem);margin-top:.75rem;line-height:1.05}
.page-hero p{margin-top:1.5rem;font-size:1.125rem;color:var(--muted);line-height:1.7;max-width:48rem}
/* Services list */
.services-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}
.service-card{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:2rem;transition:transform .3s,box-shadow .3s}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant)}
@media(min-width:1024px){.service-card{padding:2.5rem}}
.service-card h2{font-size:1.5rem;margin-top:0}
/* Process timeline */
.process-step{display:grid;gap:2rem;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:2rem;grid-template-columns:1fr;transition:transform .3s,box-shadow .3s}
@media(min-width:1024px){.process-step{grid-template-columns:3fr 9fr;padding:3rem}}
.process-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant)}
.process-num{font-family:'Space Grotesk',sans-serif;font-size:3.75rem;font-weight:700;background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.tag{display:inline-block;border:1px solid var(--border);background:#eef1f8;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;color:var(--fg);margin:.25rem .25rem 0 0}
/* Case grid */
.case-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:768px){.case-grid{grid-template-columns:repeat(2,1fr)}}
.case-card{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:2rem;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.case-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant)}
.metric-box{margin-top:1.5rem;border:1px solid var(--border);background:var(--grad-soft);border-radius:1rem;padding:1.25rem;display:flex;gap:.75rem;align-items:center}
/* Contact */
.contact-grid{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media(min-width:1024px){.contact-grid{grid-template-columns:5fr 7fr}}
.contact-card{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;transition:transform .3s,box-shadow .3s}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant)}
.field{display:block;margin-bottom:1.25rem}
.field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.4rem}
.field input,.field textarea{width:100%;border:1px solid var(--border);background:var(--bg);border-radius:.5rem;padding:.85rem 1rem;font-size:.875rem;font-family:inherit;color:var(--fg);transition:border .2s,box-shadow .2s}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(58,71,184,.15)}
.required{color:#d33}
.row-2{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media(min-width:640px){.row-2{grid-template-columns:repeat(2,1fr)}}
.success-box{text-align:center;padding:3rem 1rem}
.success-icon{width:64px;height:64px;border-radius:50%;background:var(--grad-accent);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:var(--shadow-glow)}
/* Legal */
.legal-content{max-width:48rem}
.legal-content h2{font-size:1.25rem;margin-top:2rem;margin-bottom:.75rem}
.legal-content p{color:rgba(14,21,48,.85);font-size:.95rem;line-height:1.65;margin-bottom:.75rem}
.legal-content ul{list-style:disc;padding-left:1.5rem;margin:.5rem 0}
.legal-content li{margin-bottom:.4rem;color:rgba(14,21,48,.85);font-size:.95rem;line-height:1.65}
.legal-content a{color:var(--primary);text-decoration:underline}
/* Cookie banner */
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:50;max-width:28rem;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-elegant);display:none}
@media(min-width:640px){.cookie-banner{left:auto;right:1.5rem;bottom:1.5rem}}
.cookie-banner.show{display:block;animation:fadeUp .6s ease-out both}
.cookie-row{display:flex;gap:.75rem;align-items:flex-start}
.cookie-icon{width:40px;height:40px;border-radius:50%;background:var(--grad-accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cookie-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem}
/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 12px rgba(91,125,240,.4)}50%{box-shadow:0 0 28px rgba(91,125,240,.7)}}
.animate-fade-up{animation:fadeUp .8s cubic-bezier(.16,1,.3,1) both}
.animate-scale-in{animation:scaleIn .7s cubic-bezier(.16,1,.3,1) both}
.animate-fade-in{animation:fadeIn .6s ease-out both}
.animate-float{animation:float 6s ease-in-out infinite}
.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}
.bg-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.4;pointer-events:none}
.blob-1{top:-8rem;right:-8rem;width:24rem;height:24rem;background:rgba(91,125,240,.45);animation:float 7s ease-in-out infinite}
.blob-2{top:10rem;left:-5rem;width:18rem;height:18rem;background:rgba(58,71,184,.4);animation:float 9s ease-in-out infinite}
/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:translateY(0)}

@media(min-width:768px){.testimonials-row{grid-template-columns:repeat(3,1fr) !important}}

@media(min-width:640px){.vals-grid{grid-template-columns:repeat(2,1fr) !important}}
@media(min-width:1024px){.vals-grid{grid-template-columns:repeat(4,1fr) !important}}
