﻿/* ===== DESIGN SYSTEM — identique aux autres pages ===== */
:root {
  --blue:       #8BC5D3;
  --blue-dark:  #1A3A5C;
  --blue-mid:   #2A6080;
  --blue-light: #BDE0EA;
  --blue-xlight:#E8F4F8;
  --white:      #FFFFFF;
  --gray:       #6B7280;
  --gray-light: #F4F8FB;
  --dark:       #0F2236;
  --text:       #1A2B3C;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Nunito Sans',sans-serif; color:var(--text); background:var(--white); overflow-x:hidden; }

/* ── KEYFRAMES ── */
@keyframes slideUp  { from{opacity:0;transform:translateY(32px)} to{opacity:1;transform:translateY(0)} }
@keyframes float    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-18px)} }
@keyframes pulse    { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.8)} }
@keyframes growBar  { from{transform:scaleY(0);transform-origin:bottom} to{transform:scaleY(1);transform-origin:bottom} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes scanline { 0%{top:-20%} 100%{top:110%} }

.fade-up { opacity:0; transform:translateY(30px); transition:opacity .7s ease,transform .7s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* ── NAVBAR ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(255,255,255,.97); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(139,197,211,.2);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 5%; height:72px; transition:box-shadow .3s;
}
.nav-logo { display:flex; align-items:center; text-decoration:none; }
.nav-links { display:flex; gap:32px; list-style:none; }
.nav-links a {
  text-decoration:none; color:var(--text); font-size:.88rem;
  font-weight:600; letter-spacing:.02em; transition:color .2s;
}
.nav-links a:hover, .nav-links a.active { color:var(--blue-mid); }
.nav-cta {
  background:var(--blue); color:var(--white)!important;
  padding:10px 24px; border-radius:50px; font-weight:700!important;
  transition:background .2s,transform .2s!important;
}
.nav-cta:hover { background:var(--blue-mid)!important; transform:translateY(-1px); }
.nav-hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.nav-hamburger span { width:24px; height:2px; background:var(--dark); border-radius:2px; transition:all .3s; }

/* ── HERO ── */
.hero {
  min-height:100vh;
  background:linear-gradient(135deg,#0F2236 0%,#1A3A5C 40%,#2A6080 75%,#8BC5D3 100%);
  display:flex; align-items:center; padding:100px 5% 120px;
  position:relative; overflow:hidden;
}
.hero::before {
  content:''; position:absolute; top:-200px; right:-200px;
  width:700px; height:700px;
  background:radial-gradient(circle,rgba(139,197,211,.18) 0%,transparent 70%);
  border-radius:50%;
}
.hero::after {
  content:''; position:absolute; bottom:-150px; left:-100px;
  width:500px; height:500px;
  background:radial-gradient(circle,rgba(139,197,211,.1) 0%,transparent 70%);
  border-radius:50%;
}
.hero-shape {
  position:absolute; border-radius:50%;
  background:rgba(139,197,211,.07);
  animation:float 6s ease-in-out infinite;
}
.hero-shape:nth-child(1){width:80px;height:80px;top:20%;right:15%;}
.hero-shape:nth-child(2){width:120px;height:120px;top:60%;right:8%;animation-delay:2s;}
.hero-shape:nth-child(3){width:50px;height:50px;top:35%;right:30%;animation-delay:4s;}

.hero-inner { display:flex; align-items:center; gap:60px; width:100%; position:relative; z-index:2; max-width:1200px; margin:0 auto; }
.hero-content { flex:1; max-width:580px; }

.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(139,197,211,.2); border:1px solid rgba(139,197,211,.4);
  color:var(--blue-light); padding:8px 18px; border-radius:50px;
  font-size:.78rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; margin-bottom:28px;
}
.hero-badge::before {
  content:''; width:8px; height:8px; background:var(--blue);
  border-radius:50%; animation:pulse 2s infinite;
}
.hero h1 {
  font-family:'Nunito',sans-serif; font-size:3.4rem; font-weight:900;
  color:var(--white); line-height:1.1; margin-bottom:22px;
  animation:slideUp .8s ease both;
}
.hero h1 span { color:var(--blue); }
.hero-desc {
  font-size:1.05rem; color:rgba(255,255,255,.72); line-height:1.75;
  margin-bottom:40px; animation:slideUp .8s ease both .15s;
}
.hero-btns { display:flex; gap:16px; flex-wrap:wrap; animation:slideUp .8s ease both .3s; }

.btn-primary {
  background:var(--blue); color:var(--dark); padding:16px 36px;
  border-radius:50px; font-weight:800; font-size:.95rem;
  text-decoration:none; transition:all .3s;
  box-shadow:0 8px 30px rgba(139,197,211,.35);
  display:inline-flex; align-items:center; gap:8px;
}
.btn-primary:hover { background:var(--white); transform:translateY(-2px); box-shadow:0 12px 40px rgba(139,197,211,.5); }
.btn-secondary {
  border:2px solid rgba(255,255,255,.35); color:var(--white);
  padding:16px 36px; border-radius:50px; font-weight:700;
  font-size:.95rem; text-decoration:none; transition:all .3s;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-secondary:hover { border-color:var(--blue); background:rgba(139,197,211,.1); transform:translateY(-2px); }

/* Hero visual — browser mockup */
.hero-visual { flex:1; display:flex; justify-content:center; padding-left:40px; animation:slideUp 1s ease both .4s; }
.hero-mockup {
  width:470px; background:rgba(255,255,255,.05);
  border:1px solid rgba(139,197,211,.3); border-radius:20px;
  overflow:hidden; backdrop-filter:blur(20px);
  box-shadow:0 40px 80px rgba(0,0,0,.4),0 0 0 1px rgba(139,197,211,.1);
}
.mockup-bar {
  background:rgba(0,0,0,.4); padding:12px 18px;
  display:flex; align-items:center; gap:8px;
  border-bottom:1px solid rgba(139,197,211,.15);
}
.mockup-dot{width:11px;height:11px;border-radius:50%;}
.mockup-dot:nth-child(1){background:#ff5f57}
.mockup-dot:nth-child(2){background:#febc2e}
.mockup-dot:nth-child(3){background:#28c840}
.mockup-url {
  flex:1; background:rgba(255,255,255,.07); border-radius:6px;
  padding:5px 12px; color:rgba(255,255,255,.5); font-size:.72rem;
  text-align:center; font-family:monospace;
}
.mockup-content { background:linear-gradient(160deg,#0a1628 0%,#0f2236 100%); padding:0; }

/* Mockup wireframe website preview */
.mockup-hero-row {
  padding:18px 20px 14px;
  border-bottom:1px solid rgba(139,197,211,.1);
  display:flex; gap:12px; align-items:center;
}
.mkp-nav { display:flex; gap:8px; flex:1; align-items:center; }
.mkp-logo { width:48px; height:12px; background:var(--blue); border-radius:4px; opacity:.8; }
.mkp-navlinks { display:flex; gap:6px; margin-left:auto; }
.mkp-navlinks span { width:28px; height:7px; background:rgba(255,255,255,.15); border-radius:3px; }
.mkp-navlinks span:last-child { background:rgba(139,197,211,.4); border-radius:3px; }

.mockup-hero-block {
  padding:18px 20px; border-bottom:1px solid rgba(139,197,211,.08);
  background:linear-gradient(135deg,rgba(26,58,92,.8),rgba(42,96,128,.5));
}
.mkp-h1 { width:75%; height:10px; background:rgba(255,255,255,.7); border-radius:4px; margin-bottom:8px; }
.mkp-h1-sub { width:50%; height:10px; background:rgba(255,255,255,.7); border-radius:4px; margin-bottom:14px; }
.mkp-p { width:90%; height:6px; background:rgba(255,255,255,.2); border-radius:3px; margin-bottom:6px; }
.mkp-p.short { width:65%; }
.mkp-btns { display:flex; gap:8px; margin-top:12px; }
.mkp-btn { height:20px; border-radius:20px; }
.mkp-btn.solid { width:80px; background:var(--blue); opacity:.9; }
.mkp-btn.outline { width:70px; background:transparent; border:1px solid rgba(255,255,255,.3); }

.mockup-cards-row {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:rgba(139,197,211,.05);
  border-bottom:1px solid rgba(139,197,211,.08);
}
.mkp-card { background:rgba(10,22,40,.8); padding:12px; text-align:center; }
.mkp-card-icon { width:28px; height:28px; border-radius:8px; margin:0 auto 8px; }
.mkp-card:nth-child(1) .mkp-card-icon { background:rgba(139,197,211,.3); }
.mkp-card:nth-child(2) .mkp-card-icon { background:rgba(42,96,128,.5); }
.mkp-card:nth-child(3) .mkp-card-icon { background:rgba(26,58,92,.6); }
.mkp-card-t { height:6px; background:rgba(255,255,255,.2); border-radius:3px; margin-bottom:5px; }
.mkp-card-t.short { width:70%; margin:0 auto 5px; }
.mkp-card-lines { display:flex; flex-direction:column; gap:3px; }
.mkp-card-lines span { height:4px; background:rgba(255,255,255,.1); border-radius:2px; display:block; }

.mockup-stats-row {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:rgba(139,197,211,.05);
}
.mkp-stat { background:rgba(10,22,40,.9); padding:12px 14px; text-align:center; }
.mkp-stat-val { color:var(--blue); font-size:1.1rem; font-weight:800; font-family:'Nunito',sans-serif; display:block; }
.mkp-stat-lbl { color:rgba(255,255,255,.35); font-size:.58rem; text-transform:uppercase; letter-spacing:.05em; margin-top:2px; display:block; }

/* ── SECTION WRAPPER ── */
section { padding:96px 5%; }
.section-inner { max-width:1200px; margin:0 auto; }
.section-center { text-align:center; max-width:760px; margin:0 auto 64px; }
.section-tag {
  display:inline-block; background:var(--blue-xlight); color:var(--blue-mid);
  padding:6px 18px; border-radius:50px; font-size:.75rem; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px;
}
.section-title {
  font-family:'Nunito',sans-serif; font-size:2.5rem; font-weight:900;
  color:var(--dark); line-height:1.15; margin-bottom:18px;
}
.section-title span { color:var(--blue-mid); }
.section-desc { font-size:1.05rem; color:var(--gray); line-height:1.75; }

/* ── INTRO CARDS (3 avantages) ── */
.advantages { background:var(--gray-light); }
.adv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:1200px; margin:0 auto; }
.adv-card {
  background:var(--white); border-radius:20px; padding:36px 30px;
  border:1px solid rgba(139,197,211,.2);
  transition:transform .3s,box-shadow .3s;
  display:flex; flex-direction:column; gap:18px;
}
.adv-card:hover { transform:translateY(-6px); box-shadow:0 20px 60px rgba(42,96,128,.12); }
.adv-img {
  width:100%; height:180px; border-radius:14px; object-fit:cover;
  background:linear-gradient(135deg,var(--blue-xlight),var(--blue-light));
  display:flex; align-items:center; justify-content:center;
  font-size:3rem; overflow:hidden;
}
.adv-img svg { width:100%; height:100%; }
.adv-card h3 {
  font-family:'Nunito',sans-serif; font-size:1.15rem; font-weight:800;
  color:var(--blue-mid);
}
.adv-card p { font-size:.9rem; color:var(--gray); line-height:1.7; }

/* ── DARK BANNER ── */
.dark-banner {
  background:var(--dark); color:var(--white);
  padding:100px 5%; text-align:center; position:relative; overflow:hidden;
}
.dark-banner::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at center,rgba(139,197,211,.08) 0%,transparent 70%);
}
/* Floating decorative shapes */
.db-shape {
  position:absolute; pointer-events:none;
  animation:float 7s ease-in-out infinite;
}
.db-shape:nth-child(1){ width:40px;height:40px;background:var(--blue);clip-path:polygon(50% 0%,100% 100%,0% 100%);top:15%;left:6%;opacity:.4;animation-delay:0s; }
.db-shape:nth-child(2){ width:16px;height:16px;background:#f6d365;border-radius:50%;top:30%;right:8%;opacity:.5;animation-delay:1s; }
.db-shape:nth-child(3){ width:24px;height:24px;background:#a18cd1;clip-path:polygon(50% 0%,0% 100%,100% 100%);bottom:25%;left:10%;opacity:.3;animation-delay:2s; }
.db-shape:nth-child(4){ width:14px;height:14px;background:var(--blue);bottom:20%;right:12%;border-radius:3px;opacity:.4;animation-delay:3s; }
.db-shape:nth-child(5){ width:30px;height:30px;background:#34d399;clip-path:polygon(50% 0%,100% 100%,0% 100%);top:55%;left:18%;opacity:.3;animation-delay:1.5s; }
.db-shape:nth-child(6){ width:12px;height:12px;background:#f9a8d4;border-radius:50%;top:20%;right:22%;opacity:.5;animation-delay:2.5s; }

.dark-banner-inner { position:relative; z-index:2; max-width:860px; margin:0 auto; }
.dark-banner h2 {
  font-family:'Nunito',sans-serif; font-size:2.8rem; font-weight:900;
  line-height:1.2; margin-bottom:24px;
}
.dark-banner h2 span { color:var(--blue); }
.dark-banner p { font-size:1.05rem; color:rgba(255,255,255,.68); line-height:1.8; max-width:700px; margin:0 auto 0; }
.dark-banner p strong { color:var(--blue-light); font-weight:700; }

/* Image strip below banner */
.img-strip {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:0; height:280px; overflow:hidden;
}
.img-strip-item {
  overflow:hidden; position:relative;
}
.img-strip-item img { width:100%; height:100%; object-fit:cover; display:block; filter:brightness(.85); transition:filter .3s,transform .4s; }
.img-strip-item:hover img { filter:brightness(1); transform:scale(1.04); }
/* Placeholder gradients for images */
.img-strip-item.ph1 { background:linear-gradient(135deg,#f6d365,#fda085); display:flex; align-items:center; justify-content:center; font-size:3rem; }
.img-strip-item.ph2 { background:linear-gradient(135deg,#a1c4fd,#c2e9fb); display:flex; align-items:center; justify-content:center; font-size:3rem; }
.img-strip-item.ph3 { background:linear-gradient(135deg,#d4fc79,#96e6a1); display:flex; align-items:center; justify-content:center; font-size:3rem; }

/* ── ÉTAPES (processus) ── */
.steps { background:var(--white); }
.steps-layout { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; max-width:1200px; margin:0 auto; }
.steps-visual {
  border-radius:24px; overflow:hidden;
  box-shadow:0 30px 80px rgba(42,96,128,.15);
  background:var(--dark); position:relative;
  aspect-ratio:4/3;
}
.steps-visual-inner {
  padding:30px 28px; height:100%;
  background:linear-gradient(160deg,#0a1628,#0f2236);
  display:flex; flex-direction:column; gap:16px;
}
.step-vis-title { color:rgba(255,255,255,.5); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.step-vis-row {
  display:flex; align-items:center; gap:12px;
  background:rgba(255,255,255,.04); border-radius:10px;
  padding:12px 16px; border:1px solid rgba(139,197,211,.08);
}
.step-vis-num {
  width:28px; height:28px; border-radius:50%;
  background:var(--blue-mid); color:var(--white);
  font-size:.75rem; font-weight:800; display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.step-vis-label { color:rgba(255,255,255,.65); font-size:.82rem; font-weight:600; }
.step-vis-bar { margin-left:auto; height:4px; border-radius:4px; background:rgba(139,197,211,.15); flex:1; max-width:80px; overflow:hidden; }
.step-vis-bar-fill { height:100%; background:linear-gradient(to right,var(--blue),var(--blue-light)); border-radius:4px; }

.steps-list { display:flex; flex-direction:column; gap:28px; }
.step-item {
  display:flex; gap:20px; padding:24px 28px;
  border-radius:16px; background:var(--white);
  border:1px solid rgba(139,197,211,.15);
  transition:all .3s;
}
.step-item:hover { background:var(--blue-xlight); border-color:rgba(139,197,211,.4); transform:translateX(6px); }
.step-num {
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  background:var(--blue-xlight); color:var(--blue-mid);
  font-family:'Nunito',sans-serif; font-size:1.1rem; font-weight:900;
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--blue-light);
}
.step-body { flex:1; }
.step-body h3 { font-family:'Nunito',sans-serif; font-size:1.05rem; font-weight:800; color:var(--dark); margin-bottom:6px; }
.step-body p { font-size:.88rem; color:var(--gray); line-height:1.65; }
.step-tag {
  display:inline-block; margin-top:10px;
  background:rgba(139,197,211,.15); color:var(--blue-mid);
  padding:3px 12px; border-radius:20px; font-size:.7rem; font-weight:700;
}

/* ── SERVICES / TYPES DE SITES ── */
.services { background:var(--gray-light); }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1200px; margin:0 auto; }
.service-card {
  background:var(--white); border-radius:18px; padding:32px 28px;
  border:1px solid rgba(139,197,211,.15); position:relative; overflow:hidden;
  transition:all .3s;
}
.service-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(to right,var(--blue),var(--blue-light));
  transform:scaleX(0); transform-origin:left; transition:transform .3s;
}
.service-card:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(42,96,128,.12); }
.service-card:hover::before { transform:scaleX(1); }
.service-icon {
  width:52px; height:52px; border-radius:14px;
  background:var(--blue-xlight); display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; margin-bottom:20px;
}
.service-card h3 { font-family:'Nunito',sans-serif; font-size:1.1rem; font-weight:800; color:var(--dark); margin-bottom:10px; }
.service-card p { font-size:.875rem; color:var(--gray); line-height:1.7; margin-bottom:18px; }
.service-features { list-style:none; display:flex; flex-direction:column; gap:7px; }
.service-features li {
  font-size:.82rem; color:var(--text); display:flex; align-items:center; gap:8px;
}
.service-features li::before { content:'✓'; color:var(--blue-mid); font-weight:800; }

/* ── STATS BAND ── */
.stats-band { background:var(--dark); padding:60px 5%; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; max-width:1200px; margin:0 auto; }
.stat-item {
  text-align:center; padding:28px 20px;
  border-right:1px solid rgba(139,197,211,.1);
}
.stat-item:last-child { border-right:none; }
.stat-num {
  font-family:'Nunito',sans-serif; font-size:2.8rem; font-weight:900;
  color:var(--blue); display:block; line-height:1;
}
.stat-label { color:rgba(255,255,255,.5); font-size:.82rem; margin-top:8px; letter-spacing:.03em; }

/* ── TECHNOLOGIES ── */
.tech { background:var(--white); }
.tech-grid { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; max-width:900px; margin:0 auto; }
.tech-badge {
  background:var(--gray-light); border-radius:50px;
  padding:10px 24px; font-size:.88rem; font-weight:700; color:var(--text);
  border:1px solid rgba(139,197,211,.2); transition:all .25s;
  display:flex; align-items:center; gap:8px;
}
.tech-badge:hover { background:var(--blue-xlight); border-color:var(--blue); color:var(--blue-mid); transform:translateY(-2px); }
.tech-badge span { font-size:1.1rem; }

/* ── ACCORDION OFFRE CLE EN MAIN ── */
.offer { background:var(--blue-xlight); }
.offer-layout { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:flex-start; max-width:1200px; margin:0 auto; }
.offer-intro { position:sticky; top:100px; }
.offer-intro h2 {
  font-family:'Nunito',sans-serif; font-size:2.4rem; font-weight:900;
  color:var(--dark); line-height:1.2; margin-bottom:20px;
}
.offer-intro h2 span { color:var(--blue-mid); }
.offer-intro p { font-size:1rem; color:var(--gray); line-height:1.75; margin-bottom:28px; }
.offer-highlight {
  background:var(--white); border-radius:16px; padding:24px 28px;
  border:1px solid rgba(139,197,211,.3);
}
.offer-highlight h4 { font-family:'Nunito',sans-serif; font-size:1rem; font-weight:800; color:var(--dark); margin-bottom:14px; }
.offer-hl-item { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.offer-hl-dot { width:8px; height:8px; border-radius:50%; background:var(--blue-mid); flex-shrink:0; }
.offer-hl-item span { font-size:.88rem; color:var(--text); font-weight:600; }

.acc-list { display:flex; flex-direction:column; gap:12px; }
.acc-item {
  background:var(--white); border-radius:14px;
  border:1px solid rgba(139,197,211,.2); overflow:hidden;
  transition:box-shadow .3s;
}
.acc-item.open { box-shadow:0 8px 30px rgba(42,96,128,.1); }
.acc-q {
  display:flex; align-items:center; gap:14px; padding:20px 24px;
  cursor:pointer; user-select:none;
  font-family:'Nunito',sans-serif; font-size:.95rem; font-weight:800; color:var(--dark);
}
.acc-q:hover { color:var(--blue-mid); }
.acc-icon {
  width:36px; height:36px; border-radius:10px;
  background:var(--blue-xlight); color:var(--blue-mid);
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; flex-shrink:0;
}
.acc-arrow {
  margin-left:auto; color:var(--blue-mid); transition:transform .3s; font-size:.9rem;
}
.acc-item.open .acc-arrow { transform:rotate(180deg); }
.acc-a {
  max-height:0; overflow:hidden;
  transition:max-height .35s ease, padding .35s ease;
  padding:0 24px;
}
.acc-item.open .acc-a { max-height:300px; padding:0 24px 20px; }
.acc-a p { font-size:.88rem; color:var(--gray); line-height:1.7; }

/* ── FAQ ── */
.faq { background:var(--white); }
.faq-inner { max-width:780px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq-item {
  border:1px solid rgba(139,197,211,.25); border-radius:14px; overflow:hidden;
  transition:box-shadow .3s;
}
.faq-item.open { box-shadow:0 6px 24px rgba(42,96,128,.1); }
.faq-q {
  padding:20px 24px; cursor:pointer; user-select:none;
  font-family:'Nunito',sans-serif; font-size:.95rem; font-weight:800; color:var(--dark);
  display:flex; justify-content:space-between; align-items:center;
  transition:color .2s;
}
.faq-q:hover { color:var(--blue-mid); }
.faq-arrow { color:var(--blue-mid); transition:transform .3s; }
.faq-item.open .faq-arrow { transform:rotate(180deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .35s ease,padding .35s ease; padding:0 24px; }
.faq-item.open .faq-a { max-height:200px; padding:0 24px 20px; }
.faq-a p { font-size:.88rem; color:var(--gray); line-height:1.7; }

/* ── CTA STRIP ── */
.cta-strip {
  background:linear-gradient(135deg,#0F2236 0%,#1A3A5C 50%,#2A6080 100%);
  padding:100px 5%; text-align:center; position:relative; overflow:hidden;
}
.cta-strip::before {
  content:''; position:absolute; top:-100px; left:50%; transform:translateX(-50%);
  width:600px; height:600px;
  background:radial-gradient(circle,rgba(139,197,211,.12) 0%,transparent 70%);
  border-radius:50%;
}
.cta-strip h2 {
  font-family:'Nunito',sans-serif; font-size:2.6rem; font-weight:900;
  color:var(--white); margin-bottom:18px; position:relative; z-index:2;
}
.cta-strip h2 span { color:var(--blue); }
.cta-strip p { font-size:1.05rem; color:rgba(255,255,255,.68); margin-bottom:42px; position:relative; z-index:2; }
.cta-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; position:relative; z-index:2; }
.btn-white {
  background:var(--white); color:var(--dark);
  padding:16px 36px; border-radius:50px; font-weight:800; font-size:.95rem;
  text-decoration:none; transition:all .3s; box-shadow:0 8px 30px rgba(0,0,0,.2);
  display:inline-flex; align-items:center; gap:8px;
}
.btn-white:hover { background:var(--blue); transform:translateY(-2px); }
.btn-outline-white {
  border:2px solid rgba(255,255,255,.4); color:var(--white);
  padding:16px 36px; border-radius:50px; font-weight:700; font-size:.95rem;
  text-decoration:none; transition:all .3s;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-outline-white:hover { border-color:var(--blue); background:rgba(139,197,211,.1); transform:translateY(-2px); }

/* ── FOOTER ── */
footer { background:var(--dark); color:var(--white); }
.footer-top {
  display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr;
  gap:48px; padding:72px 5% 48px; max-width:1200px; margin:0 auto;
  border-bottom:1px solid rgba(139,197,211,.1);
}
.footer-brand p { font-size:.88rem; color:rgba(255,255,255,.5); line-height:1.75; margin-top:20px; }
.footer-col h4 { font-family:'Nunito',sans-serif; font-size:.85rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); margin-bottom:20px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-col ul li a { text-decoration:none; color:rgba(255,255,255,.5); font-size:.88rem; transition:color .2s; }
.footer-col ul li a:hover { color:var(--blue); }
.footer-contact-item { display:flex; gap:10px; margin-bottom:12px; }
.footer-contact-item span:first-child { opacity:.7; }
.footer-contact-item span:last-child { font-size:.86rem; color:rgba(255,255,255,.5); line-height:1.55; }
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  padding:24px 5%; max-width:1200px; margin:0 auto;
}
.footer-bottom span { font-size:.82rem; color:rgba(255,255,255,.35); }
.footer-socials { display:flex; gap:10px; }
.social-btn {
  width:36px; height:36px; border-radius:50%;
  background:rgba(139,197,211,.1); border:1px solid rgba(139,197,211,.2);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.5); font-size:.8rem; text-decoration:none;
  transition:all .25s;
}
.social-btn:hover { background:var(--blue); color:var(--white); border-color:var(--blue); }

/* WhatsApp float */
.wa-float {
  position:fixed; bottom:28px; right:28px; z-index:999;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; color:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; text-decoration:none;
  box-shadow:0 8px 24px rgba(37,211,102,.4);
  transition:transform .3s,box-shadow .3s;
  animation:float 3s ease-in-out infinite;
}
.wa-float:hover { transform:scale(1.1); box-shadow:0 12px 36px rgba(37,211,102,.55); }

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .hero-inner { flex-direction:column; gap:48px; }
  .hero-visual { padding-left:0; width:100%; }
  .hero-mockup { width:100%; max-width:480px; margin:0 auto; }
  .adv-grid { grid-template-columns:1fr 1fr; }
  .steps-layout, .offer-layout { grid-template-columns:1fr; }
  .offer-intro { position:static; }
  .services-grid { grid-template-columns:1fr 1fr; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px) {
  .hero h1 { font-size:2.4rem; }
  .section-title { font-size:1.9rem; }
  .adv-grid { grid-template-columns:1fr; }
  .services-grid { grid-template-columns:1fr; }
  .img-strip { height:200px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:32px; }
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .dark-banner h2 { font-size:2rem; }
}