/* ============================================================
   LCO WIDGETS v3 — Shared Styles
   Colors: Navy #0D1B27, Red #C8102E, Green #C8102E
============================================================ */
.lco-w {
  --navy:   #0D1B27;
  --navy2:  #0D1B27;
  --red:    #C8102E;
  --red2:   #a50d25;
  --green:  #C8102E;
  --green2: #a50d25;
  --white:  #ffffff;
  --bg:     #f7f8fa;
  --bg2:    #eef1f5;
  --text:   #0D1B27;
  --mid:    #4a5a6b;
  --light:  #8899aa;
  --border: #dde3ec;
  --fh: 'Montserrat', sans-serif;
  --fb: 'Poppins', sans-serif;
  --tr: .3s cubic-bezier(.4,0,.2,1);
  --sh1: 0 2px 12px rgba(28,51,69,.07);
  --sh2: 0 8px 32px rgba(28,51,69,.11);
  --sh3: 0 20px 60px rgba(28,51,69,.15);
  font-family: var(--fb);
  -webkit-font-smoothing: antialiased;
}

/* ── Layout ── */
.lco-w .w { max-width:1200px; margin:0 auto; padding:0 48px; }
.lco-w .center { text-align:center; }

/* ── Typography ── */
.lco-w .h2 {
  font-family:var(--fh); font-size:clamp(26px,3vw,42px);
  font-weight:800; line-height:1.1; color:var(--text); margin:0;
}
.lco-w .h2 em { font-style:normal; color:var(--red); }
.lco-w .h2 span.green { color:var(--green); }
.lco-w .lead {
  font-family:var(--fb); font-size:16px; line-height:1.8;
  color:var(--mid); margin-top:14px; max-width:580px;
}
.lco-w .center .lead { margin-left:auto; margin-right:auto; }
.lco-w .div-line {
  width:48px; height:3px; background:var(--red);
  border-radius:2px; margin:16px 0;
}
.lco-w .center .div-line { margin-left:auto; margin-right:auto; }
.lco-w .sec { overflow:visible; padding:88px 0; }
.lco-w .sec-sm { padding:56px 0; }
.lco-w .sec-navy { background:var(--navy); }
.lco-w .sec-bg { background:var(--bg); }
.lco-w .sec-white { background:#fff; }

/* ── Buttons ── */
.lco-w .btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--fh); font-size:11.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; border-radius:6px;
  transition:all var(--tr); cursor:pointer; white-space:nowrap;
  text-decoration:none; padding:14px 30px; line-height:1;
  border:2px solid transparent;
}
.lco-w .btn-red   { background:var(--red); color:#fff; border-color:var(--red); }
.lco-w .btn-red:hover { background:var(--red2); border-color:var(--red2); box-shadow:0 8px 24px rgba(200,16,46,.35); transform:translateY(-2px); }
.lco-w .btn-green { background:var(--green); color:#fff; border-color:var(--green); }
.lco-w .btn-green:hover { background:var(--green2); border-color:var(--green2); box-shadow:0 8px 24px rgba(200,16,46,.35); transform:translateY(-2px); }
.lco-w .btn-dark  { background:transparent; color:var(--navy); border-color:var(--navy); }
.lco-w .btn-dark:hover { background:var(--navy); color:#fff; transform:translateY(-2px); }
.lco-w .btn-white { background:transparent; color:#fff; border-color:rgba(255,255,255,0.6); }
.lco-w .btn-white:hover { background:#fff; color:#0D1B27; transform:translateY(-2px); }
.lco-w .btn-outline-dark { background:transparent; color:#0D1B27; border-color:#0D1B27; }
.lco-w .btn-outline-dark:hover { background:#0D1B27; color:#fff; transform:translateY(-2px); }
.lco-w .btn-outline-red { background:transparent; color:var(--red); border-color:var(--red); }
.lco-w .btn-outline-red:hover { background:var(--red); color:#fff; transform:translateY(-2px); }
.lco-w .btn-lg { padding:17px 40px; font-size:12px; }
.lco-w .btn-sm { padding:10px 22px; font-size:10.5px; }
.lco-w .btn-full { width:100%; }

/* ============================================================
   HEADER
============================================================ */
.lco-hdr {
  position:fixed; top:0; left:0; right:0; z-index:9900;
  transition:background var(--tr), box-shadow var(--tr), height var(--tr);
}
.lco-hdr.at-top  { background:transparent; }
.lco-hdr.scrolled { background:#fff; box-shadow:0 1px 0 #dde3ec, 0 4px 20px rgba(28,51,69,.08); }
.lco-hdr-inner {
  display:flex; align-items:center; justify-content:space-between;
  height:80px; max-width:1200px; margin:0 auto; padding:0 48px; gap:20px;
  transition:height var(--tr);
}
.lco-hdr.scrolled .lco-hdr-inner { height:64px; }
.lco-hdr-logo { display:flex; align-items:center; text-decoration:none; flex-shrink:0; }
.lco-hdr-logo img { height:36px; width:auto; display:block; }
.lco-hdr-nav { display:flex; align-items:center; gap:28px; flex:1; justify-content:center; }
.lco-hdr-nav a {
  font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:.07em; text-transform:uppercase; color:#4a5a6b;
  text-decoration:none; transition:color var(--tr); white-space:nowrap;
}
.lco-hdr.at-top .lco-hdr-nav a { color:#ffffff; }
.lco-hdr-nav a:hover { color:#C8102E; }
.lco-hdr.at-top .lco-hdr-nav a:hover { color:#fff; }
.lco-hdr-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.lco-hdr-wa {
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%; background:#25d366;
  text-decoration:none; transition:all var(--tr); flex-shrink:0;
}
.lco-hdr-wa:hover { background:#1da851; transform:scale(1.1); }
.lco-hdr-wa svg { display:block; }
.lco-hdr-btn {
  display:inline-flex; align-items:center; font-family:'Montserrat',sans-serif;
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  border-radius:6px; padding:10px 22px; border:2px solid #0D1B27; color:#0D1B27;
  text-decoration:none; transition:all var(--tr); white-space:nowrap;
}
.lco-hdr.at-top .lco-hdr-btn { border-color:#ffffff; color:#fff; }
.lco-hdr-btn:hover { background:#0D1B27; color:#fff; }
.lco-hdr.at-top .lco-hdr-btn:hover { background:#fff; color:#0D1B27; }
/* Hamburger */
.lco-ham {
  display:none; flex-direction:column; gap:5px;
  padding:8px; background:none; border:none; cursor:pointer;
}
.lco-ham span { width:22px; height:2px; background:#0D1B27; border-radius:2px; display:block; transition:all var(--tr); }
.lco-hdr.at-top .lco-ham span { background:#fff; }
.lco-ham.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.lco-ham.open span:nth-child(2) { opacity:0; }
.lco-ham.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
/* Overlay + Drawer */
.lco-ov { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:9940; opacity:0; pointer-events:none; transition:opacity var(--tr); }
.lco-ov.open { opacity:1; pointer-events:all; }
.lco-drawer {
  position:fixed; top:0; right:0; bottom:0; width:min(320px,100vw);
  background:#fff; z-index:9950; transform:translateX(100%);
  transition:transform .4s cubic-bezier(.4,0,.2,1);
  display:flex; flex-direction:column; padding:80px 28px 40px;
  box-shadow:-8px 0 40px rgba(0,0,0,.15); overflow-y:auto;
}
.lco-drawer.open { transform:translateX(0); }
.lco-drawer-close {
  position:absolute; top:18px; right:18px;
  width:40px; height:40px; border-radius:50%;
  background:#f7f8fa; border:1.5px solid #dde3ec;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.lco-drawer a {
  font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700;
  color:#0D1B27; padding:14px 0; border-bottom:1px solid #dde3ec;
  display:block; text-transform:uppercase; letter-spacing:.05em; text-decoration:none;
}
.lco-drawer a:hover { color:#C8102E; }
.lco-drawer .drawer-cta {
  margin-top:24px; background:#C8102E; color:#fff; text-align:center;
  border-radius:6px; padding:14px; font-family:'Montserrat',sans-serif;
  font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; display:block;
}

/* ============================================================
   HERO
============================================================ */
.lco-hero-spacer { height:72px; display:block; }
.lco-hero {
  min-height:calc(100vh - 72px); position:relative; display:flex;
  align-items:center; padding-top:0;
}
.lco-hero-bg { position:absolute; inset:0;  }
.lco-hero-bg img { width:100%; height:100%; object-fit:cover; display:block; }
.lco-hero-overlay {
  position:absolute; inset:0;
  background:rgba(13,27,39,0.82);
}
.lco-hero-inner {
  display:grid; grid-template-columns:1fr 420px; gap:72px;
  align-items:center; max-width:1200px; margin:0 auto;
  padding:72px 48px; position:relative; z-index:2; width:100%;
}
.lco-hero-kicker {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Montserrat',sans-serif; font-size:10px; font-weight:700;
  letter-spacing:.28em; text-transform:uppercase; color:#ffffff;
  margin-bottom:20px;
}
.lco-hero-kicker::before { content:''; width:22px; height:1px; background:#C8102E; display:inline-block; }
.lco-hero-title {
  font-family:'Montserrat',sans-serif; font-size:clamp(32px,4vw,58px);
  font-weight:800; line-height:1.08; color:#fff; margin:0 0 18px;
}
.lco-hero-title em { font-style:normal; color:#C8102E !important; display:block; }
.lco-hero-sub {
  font-family:'Poppins',sans-serif; font-size:16px; line-height:1.8;
  color:#ffffff; max-width:480px; margin:0 0 30px;
}
.lco-hero-checks { display:flex; flex-direction:column; gap:10px; margin-bottom:32px; }
.lco-hero-check { display:flex; align-items:center; gap:12px; }
.lco-check-dot {
  width:22px; height:22px; border-radius:50%; flex-shrink:0;
  background:rgba(200,16,46,.15); border:1.5px solid rgba(200,16,46,.4);
  display:flex; align-items:center; justify-content:center;
}
.lco-check-dot svg { display:block; }
.lco-hero-check-txt { font-family:'Poppins',sans-serif; font-size:14px; font-weight:500; color:#ffffff; }
.lco-hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
/* Form */
.lco-hero-form { background:#fff; border-radius:10px; padding:36px 30px; box-shadow:0 24px 80px rgba(0,0,0,.25); }
.lco-hero-form h3 { font-family:'Montserrat',sans-serif; font-size:18px; font-weight:800; color:#0D1B27; margin:0 0 6px; }
.lco-hero-form p { font-family:'Poppins',sans-serif; font-size:13px; color:#8899aa; margin:0 0 20px; line-height:1.6; }
.lco-hero-form strong { color:#C8102E; font-weight:700; }
.lco-field { position:relative; margin-bottom:12px; }
.lco-field input, .lco-field select {
  width:100%; background:#f7f8fa; border:1.5px solid #dde3ec;
  border-radius:6px; padding:12px 14px 12px 44px;
  font-family:'Poppins',sans-serif; font-size:13.5px; color:#0D1B27;
  outline:none; display:block; transition:all var(--tr);
}
.lco-field input:focus, .lco-field select:focus {
  border-color:#C8102E; background:#fff;
  box-shadow:0 0 0 3px rgba(200,16,46,.09);
}
.lco-field-ico { position:absolute; left:13px; top:50%; transform:translateY(-50%); display:flex; align-items:center; pointer-events:none; }
.lco-form-note { display:flex; align-items:center; justify-content:center; gap:6px; font-family:'Poppins',sans-serif; font-size:11px; color:#8899aa; margin-top:10px; }

/* ============================================================
   WHY US — 6 blocks grid
============================================================ */
.lco-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px; }
.lco-why-card {
  background:#fff; border:1.5px solid #dde3ec; border-radius:10px;
  padding:28px 24px; transition:all var(--tr);
}
.lco-why-card:hover { border-color:#C8102E; box-shadow:0 8px 32px rgba(28,51,69,.1); transform:translateY(-4px); }
.lco-why-ico {
  width:48px; height:48px; border-radius:10px; margin-bottom:16px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(200,16,46,0.08);
  border:1px solid rgba(200,16,46,0.12);
}
.lco-why-ico span { font-size:24px; line-height:1; }
.lco-why-card h3 { font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; color:#0D1B27; margin:0 0 8px; }
.lco-why-card p  { font-family:'Poppins',sans-serif; font-size:13px; color:#4a5a6b; line-height:1.7; margin:0; }

/* ============================================================
   SERVICES — 7 cards
============================================================ */
.lco-svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px; }
.lco-svc-card {
  background:#fff; border-radius:10px; padding:28px 22px;
  border:1.5px solid #dde3ec; transition:all var(--tr); position:relative; 
}
.lco-svc-card::before { content:''; position:absolute; top:0; left:0; width:3px; height:0; background:#C8102E; transition:height var(--tr); }
.lco-svc-card:hover::before { height:100%; }
.lco-svc-card:hover { border-color:transparent; box-shadow:0 12px 40px rgba(28,51,69,.12); transform:translateY(-4px); }
.lco-svc-ico { width:44px; height:44px; border-radius:10px; margin-bottom:14px; display:flex; align-items:center; justify-content:center; background:rgba(200,16,46,0.08); border:1px solid rgba(200,16,46,0.12); }
.lco-svc-card h3 { font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; color:#0D1B27; margin:0 0 8px; }
.lco-svc-card p  { font-family:'Poppins',sans-serif; font-size:13px; color:#4a5a6b; line-height:1.7; margin:0; }

/* ============================================================
   POUR QUI — 7 audience segments
============================================================ */
.lco-pq-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:52px; }
.lco-pq-card {
  background:#fff; border-radius:10px; padding:24px 20px;
  border:1.5px solid #dde3ec; transition:all var(--tr); text-align:center;
}
.lco-pq-card:hover { border-color:#C8102E; box-shadow:0 8px 32px rgba(200,16,46,.1); transform:translateY(-3px); }
.lco-pq-ico { width:44px; height:44px; border-radius:10px; margin:0 auto 12px; display:flex; align-items:center; justify-content:center; background:rgba(200,16,46,0.08); border:1px solid rgba(200,16,46,0.12); }
.lco-pq-card h3 { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700; color:#0D1B27; margin:0 0 6px; }
.lco-pq-card p  { font-family:'Poppins',sans-serif; font-size:12px; color:#4a5a6b; line-height:1.6; margin:0; }
.lco-pq-cta { text-align:center; margin-top:40px; }

/* ============================================================
   JURISDICTIONS — 4 cards (USA/UK/HK/UAE)
============================================================ */
.lco-jur-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:52px; }
.lco-jur-card {
  background:#fff; border-radius:12px; border:1.5px solid #dde3ec;
  padding:32px 28px; transition:all var(--tr); position:relative; 
}
.lco-jur-card:hover { border-color:transparent; box-shadow:0 20px 60px rgba(28,51,69,.14); transform:translateY(-5px); }
.lco-jur-card-top { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.lco-jur-flag { font-size:40px; line-height:1; }
.lco-jur-name { font-family:'Montserrat',sans-serif; font-size:18px; font-weight:800; color:#0D1B27; margin:0; }
.lco-jur-sub  { font-family:'Poppins',sans-serif; font-size:12px; color:#8899aa; margin:2px 0 0; }
.lco-jur-desc { font-family:'Poppins',sans-serif; font-size:13.5px; color:#4a5a6b; line-height:1.75; margin-bottom:24px; }
.lco-jur-meta { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:22px; }
.lco-jur-meta-item { background:#f7f8fa; border-radius:6px; padding:10px 12px; }
.lco-jur-meta-label { font-family:'Montserrat',sans-serif; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#8899aa; display:block; margin-bottom:3px; }
.lco-jur-meta-val   { font-family:'Montserrat',sans-serif; font-size:14px; font-weight:800; color:#0D1B27; display:block; }
.lco-jur-meta-val.green { color:#C8102E; }
.lco-jur-badges { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.lco-jur-badge {
  font-family:'Montserrat',sans-serif; font-size:10px; font-weight:700;
  color:#0D1B27; background:#f7f8fa; border:1px solid #dde3ec;
  padding:4px 10px; border-radius:20px; display:inline-flex; align-items:center; gap:5px;
}
.lco-jur-badge.ok { color:#C8102E; background:rgba(0,168,120,.08); border-color:rgba(200,16,46,.15); }

/* ============================================================
   PRICING OFFERS — 3 cards
============================================================ */
.lco-pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px; }
.lco-price-card {
  background:#fff; border-radius:12px; padding:36px 28px;
  border:1.5px solid #dde3ec; position:relative;  transition:all var(--tr);
}
.lco-price-card:hover { box-shadow:0 20px 60px rgba(28,51,69,.12); transform:translateY(-5px); }
.lco-price-card.featured { border-color:#C8102E; }
.lco-price-card.featured::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:#0D1B27; }
.lco-price-card.vip { border-color:#0D1B27; background:#0D1B27; }
.lco-price-badge {
  display:inline-block; font-family:'Montserrat',sans-serif; font-size:9.5px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; padding:5px 14px; border-radius:20px; margin-bottom:16px;
}
.lco-price-badge.red   { background:rgba(200,16,46,.1); color:#C8102E; }
.lco-price-badge.navy  { background:rgba(255,255,255,.15); color:#fff; }
.lco-price-badge.star  { background:rgba(200,16,46,.1); color:#C8102E; }
.lco-price-plan { font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#8899aa; display:block; margin-bottom:6px; }
.lco-price-card.vip .lco-price-plan { color:#ffffff; }
.lco-price-card.featured .lco-price-plan { color:#C8102E; }
.lco-price-num { font-family:'Montserrat',sans-serif; font-size:50px; font-weight:800; color:#0D1B27; line-height:1; display:block; margin-bottom:4px; }
.lco-price-num sup { font-size:22px; vertical-align:super; font-weight:500; }
.lco-price-card.vip .lco-price-num { color:#fff; }
.lco-price-note { font-family:'Poppins',sans-serif; font-size:12px; color:#8899aa; display:block; margin-bottom:22px; }
.lco-price-card.vip .lco-price-note { color:#ffffff; }
.lco-price-div { height:1px; background:#dde3ec; margin:20px 0; }
.lco-price-card.vip .lco-price-div { background:rgba(255,255,255,.1); }
.lco-price-feats { list-style:none; padding:0; margin:0 0 26px; display:flex; flex-direction:column; gap:10px; }
.lco-price-feat { display:flex; align-items:flex-start; gap:10px; font-family:'Poppins',sans-serif; font-size:13px; color:#4a5a6b; line-height:1.5; }
.lco-price-card.vip .lco-price-feat { color:#ffffff; }
.lco-price-chk { flex-shrink:0; width:18px; height:18px; border-radius:50%; background:rgba(0,168,120,.1); display:flex; align-items:center; justify-content:center; margin-top:1px; }
.lco-price-card.vip .lco-price-chk { background:rgba(255,255,255,.1); }
.lco-price-sub { font-family:'Poppins',sans-serif; font-size:11px; color:#8899aa; display:block; margin-bottom:18px; }
.lco-price-card.vip .lco-price-sub { color:#ffffff; }
.lco-price-other { text-align:center; margin-top:28px; }
.lco-price-other p { font-family:'Poppins',sans-serif; font-size:14px; color:#8899aa; }

/* ============================================================
   BANKING — scrolling logos
============================================================ */
.lco-banking-logos {  position:relative; padding:10px 0; }
.lco-banking-track {
  display:flex; align-items:center; gap:48px;
  animation:lco-scroll 20s linear infinite;
  width:max-content;
}
.lco-banking-track:hover { animation-play-state:paused; }
.lco-banking-logo {
  background:#fff; border-radius:8px; padding:14px 22px;
  border:1.5px solid #dde3ec; flex-shrink:0;
  font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; color:#0D1B27;
  display:flex; align-items:center; gap:8px; white-space:nowrap;
  transition:all var(--tr);
}
.lco-banking-logo:hover { border-color:#C8102E; box-shadow:0 4px 16px rgba(0,168,120,.15); }
.lco-banking-logo span { font-size:20px; }
@keyframes lco-scroll { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }

/* ============================================================
   PROCESS — 8 steps
============================================================ */
.lco-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:52px; }
.lco-process-step {
  background:#fff; border-radius:10px; padding:24px 20px;
  border:1.5px solid #dde3ec; position:relative; transition:all var(--tr);
}
.lco-process-step:hover { border-color:#C8102E; transform:translateY(-3px); box-shadow:0 8px 28px rgba(28,51,69,.1); }
.lco-process-num {
  width:44px; height:44px; border-radius:50%;
  background:#0D1B27;
  display:flex; align-items:center; justify-content:center;
  font-family:'Montserrat',sans-serif; font-size:16px; font-weight:800; color:#fff;
  margin-bottom:14px; flex-shrink:0;
}
.lco-process-step h3 { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700; color:#0D1B27; margin:0 0 8px; line-height:1.4; }
.lco-process-step p  { font-family:'Poppins',sans-serif; font-size:12.5px; color:#4a5a6b; line-height:1.7; margin:0; }

/* ============================================================
   ETUDE — personalized study CTA
============================================================ */
.lco-etude-inner {
  display:grid; grid-template-columns:1fr auto; gap:60px;
  align-items:center; position:relative; z-index:1;
}
.lco-etude-inner h2 { font-family:'Montserrat',sans-serif; font-size:clamp(24px,2.8vw,38px); font-weight:800; color:#fff; margin:0 0 12px; line-height:1.15; }
.lco-etude-inner p  { font-family:'Poppins',sans-serif; font-size:15px; color:#ffffff; margin:0; line-height:1.75; max-width:520px; }
.lco-etude-btns { display:flex; flex-direction:column; gap:12px; flex-shrink:0; align-items:flex-end; }

/* ============================================================
   TESTIMONIALS
============================================================ */
.lco-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px; }
.lco-testi-card {
  background:#fff; border-radius:10px; padding:28px 24px;
  border:1.5px solid #dde3ec; transition:all var(--tr); position:relative;
}
.lco-testi-card:hover { border-color:#C8102E; box-shadow:0 8px 32px rgba(0,168,120,.1); transform:translateY(-4px); }
.lco-testi-stars { display:flex; gap:3px; margin-bottom:14px; }
.lco-testi-star { font-size:14px; }
.lco-testi-text { font-family:'Poppins',sans-serif; font-size:13.5px; line-height:1.8; color:#4a5a6b; margin-bottom:20px; }
.lco-testi-author { display:flex; align-items:center; gap:12px; border-top:1px solid #dde3ec; padding-top:16px; }
.lco-testi-av {
  width:42px; height:42px; border-radius:50%; flex-shrink:0;
  background:#0D1B27;
  display:flex; align-items:center; justify-content:center;
  font-family:'Montserrat',sans-serif; font-size:16px; font-weight:800; color:#fff;
}
.lco-testi-name { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700; color:#0D1B27; display:block; }
.lco-testi-loc  { font-family:'Poppins',sans-serif; font-size:12px; color:#8899aa; display:block; }
/* Carousel controls */
.lco-testi-ctrl { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:32px; }
.lco-testi-btn { width:44px; height:44px; border-radius:50%; border:2px solid #dde3ec; background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all var(--tr); }
.lco-testi-btn:hover { border-color:#C8102E; }
.lco-testi-dots { display:flex; gap:8px; align-items:center; }
.lco-testi-dot { width:8px; height:8px; border-radius:50%; background:#dde3ec; cursor:pointer; border:none; transition:all var(--tr); }
.lco-testi-dot.on { background:#C8102E; width:22px; border-radius:4px; }

/* ============================================================
   FAQ
============================================================ */
.lco-faq-cols { display:grid; grid-template-columns:1fr 320px; gap:48px; align-items:start; }
.lco-faq-list { display:flex; flex-direction:column; gap:10px; }
.lco-faq-item { background:#fff; border:1.5px solid #dde3ec; border-radius:10px;  transition:all var(--tr); }
.lco-faq-item.open { border-color:#C8102E; box-shadow:0 4px 20px rgba(200,16,46,.08); }
.lco-faq-q {
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:20px 22px; cursor:pointer;
  font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; color:#0D1B27; line-height:1.4;
}
.lco-faq-item.open .lco-faq-q { color:#C8102E; }
.lco-faq-icon {
  width:30px; height:30px; min-width:30px; border-radius:50%;
  border:1.5px solid #dde3ec; background:#f7f8fa;
  display:flex; align-items:center; justify-content:center; transition:all var(--tr);
}
.lco-faq-item.open .lco-faq-icon { background:#C8102E; border-color:#C8102E; }
.lco-faq-item.open .lco-faq-icon svg { transform:rotate(45deg); stroke:#fff; }
.lco-faq-a { display:block; }
.lco-faq-inner { max-height:0; overflow:hidden; transition:max-height .35s ease, padding .3s ease; font-family:'Poppins',sans-serif; font-size:14px; color:#4a5a6b; line-height:1.8; padding:0 22px; }
.lco-faq-item.open .lco-faq-inner { max-height:600px; padding:12px 22px 18px; border-top:1px solid #dde3ec; }
/* FAQ CTA box */
.lco-faq-cta { background:#0D1B27; border-radius:12px; padding:32px 26px; position:sticky; top:100px; }
.lco-faq-cta h3 { font-family:'Montserrat',sans-serif; font-size:18px; font-weight:800; color:#fff; margin:0 0 10px; line-height:1.25; }
.lco-faq-cta p  { font-family:'Poppins',sans-serif; font-size:13px; color:#ffffff; margin:0 0 22px; line-height:1.7; }
.lco-faq-cta-badge { background:rgba(200,16,46,.15); border:1px solid rgba(200,16,46,.3); border-radius:8px; padding:14px 16px; margin-bottom:22px; }
.lco-faq-cta-num { font-family:'Montserrat',sans-serif; font-size:28px; font-weight:800; color:#C8102E; display:block; }
.lco-faq-cta-lbl { font-family:'Poppins',sans-serif; font-size:12px; color:#ffffff; display:block; margin-top:3px; }

/* ============================================================
   CTA FINAL
============================================================ */
.lco-cta-final { padding:96px 0; background:#0D1B27; position:relative;  }
.lco-cta-final::before { content:''; position:absolute; right:-80px; top:-80px; width:400px; height:400px; border-radius:50%; background:rgba(0,168,120,.06); }
.lco-cta-final::after  { content:''; position:absolute; left:-60px; bottom:-60px; width:280px; height:280px; border-radius:50%; background:rgba(200,16,46,.05); }
.lco-cta-final-inner { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; position:relative; z-index:1; }
.lco-cta-final-inner h2 { font-family:'Montserrat',sans-serif; font-size:clamp(24px,2.8vw,38px); font-weight:800; color:#fff; margin:0 0 12px; line-height:1.15; }
.lco-cta-final-inner p  { font-family:'Poppins',sans-serif; font-size:15px; color:#ffffff; margin:0; line-height:1.7; }
.lco-cta-btns { display:flex; flex-direction:column; gap:12px; flex-shrink:0; align-items:flex-end; }

/* ============================================================
   FOOTER
============================================================ */
.lco-footer { background:#0d1b27; padding:72px 0 32px; border-top:3px solid #C8102E; }
.lco-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.lco-footer img { height:36px; margin-bottom:16px; display:block; filter:brightness(1.4); }
.lco-footer p { font-family:'Poppins',sans-serif; font-size:13px; color:#ffffff; line-height:1.8; max-width:240px; margin:0 0 16px; }
.lco-footer-contact a { display:flex; align-items:center; gap:8px; font-family:'Poppins',sans-serif; font-size:13px; color:#ffffff; margin-bottom:8px; text-decoration:none; transition:color var(--tr); }
.lco-footer-contact a:hover { color:#fff; }
.lco-footer-col-title { font-family:'Montserrat',sans-serif; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#fff; display:block; margin-bottom:14px; }
.lco-footer-links { display:flex; flex-direction:column; gap:8px; }
.lco-footer-links a { font-family:'Poppins',sans-serif; font-size:13px; color:#ffffff; text-decoration:none; transition:all var(--tr); display:block; }
.lco-footer-links a:hover { color:#fff; padding-left:5px; }
.lco-footer-bottom { border-top:1px solid rgba(255,255,255,.07); padding-top:24px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.lco-footer-copy { font-family:'Poppins',sans-serif; font-size:12px; color:#ffffff; }
.lco-footer-legal { display:flex; gap:18px; flex-wrap:wrap; }
.lco-footer-legal a { font-family:'Poppins',sans-serif; font-size:12px; color:#ffffff; text-decoration:none; transition:color var(--tr); }
.lco-footer-legal a:hover { color:#ffffff; }

/* ============================================================
   PAGE HERO (inner pages)
============================================================ */
.lco-ph { position:relative; padding:140px 0 80px; min-height:400px; display:flex; align-items:center;  }
.lco-ph-bg { position:absolute; inset:0; }
.lco-ph-bg img { width:100%; height:100%; object-fit:cover; display:block; }
.lco-ph-bg::after { content:''; position:absolute; inset:0; background:#0D1B27; }
.lco-ph-inner { max-width:1200px; margin:0 auto; padding:0 48px; position:relative; z-index:2; width:100%; }
.lco-ph-bc { font-family:'Poppins',sans-serif; font-size:12px; color:#ffffff; display:block; margin-bottom:14px; }
.lco-ph h1 { font-family:'Montserrat',sans-serif; font-size:clamp(26px,3.5vw,46px); font-weight:800; color:#fff; margin:0 0 16px; line-height:1.1; max-width:680px; }
.lco-ph p  { font-family:'Poppins',sans-serif; font-size:16px; color:#ffffff; margin:0 0 28px; max-width:560px; line-height:1.8; }
.lco-ph-btns { display:flex; gap:12px; flex-wrap:wrap; }

/* ============================================================
   CONTACT PAGE — centered
============================================================ */
.lco-contact-sec { padding:88px 0; background:#f7f8fa; }
.lco-contact-center { max-width:760px; margin:0 auto; padding:0 48px; text-align:center; }
.lco-contact-center .lco-contact-h { font-family:'Montserrat',sans-serif; font-size:clamp(28px,3vw,42px); font-weight:800; color:#0D1B27; margin:0 0 16px; }
.lco-contact-center .div-line { margin:0 auto 20px; }
.lco-contact-center p { font-family:'Poppins',sans-serif; font-size:15px; color:#4a5a6b; line-height:1.85; margin:0 0 32px; }
.lco-contact-infos { display:flex; justify-content:center; gap:32px; flex-wrap:wrap; margin-bottom:36px; }
.lco-contact-info-item { display:flex; align-items:center; gap:10px; font-family:'Poppins',sans-serif; font-size:14px; color:#4a5a6b; }
.lco-contact-info-item a { color:#0D1B27; font-weight:600; text-decoration:none; transition:color var(--tr); }
.lco-contact-info-item a:hover { color:#C8102E; }
.lco-contact-wa { display:inline-flex; align-items:center; justify-content:center; gap:10px; background:#25d366; color:#fff; font-family:'Montserrat',sans-serif; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border-radius:8px; padding:15px 32px; text-decoration:none; transition:all var(--tr); margin-bottom:40px; }
.lco-contact-wa:hover { background:#1da851; box-shadow:0 8px 24px rgba(37,211,102,.35); }
.lco-contact-form-box { background:#fff; border-radius:12px; padding:44px 40px; box-shadow:0 12px 48px rgba(28,51,69,.1); border:1.5px solid #dde3ec; text-align:left; }
.lco-contact-form-box h3 { font-family:'Montserrat',sans-serif; font-size:18px; font-weight:800; color:#0D1B27; margin:0 0 6px; }
.lco-contact-form-box .sub { font-family:'Poppins',sans-serif; font-size:13px; color:#8899aa; margin:0 0 24px; }
.lco-contact-rgpd { font-family:'Poppins',sans-serif; font-size:11.5px; color:#8899aa; line-height:1.7; margin-top:20px; padding:16px; background:#f7f8fa; border-radius:6px; border:1px solid #dde3ec; }

/* ============================================================
   TARIFS PAGE
============================================================ */
.lco-tarifs-sec { padding:88px 0; background:#f7f8fa; }

/* ============================================================
   FEATURE BOXES
============================================================ */
.lco-fb-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.lco-fb-box { background:#fff; border:1.5px solid #dde3ec; border-radius:10px; padding:26px 20px; transition:all var(--tr); }
.lco-fb-box:hover { border-color:#C8102E; box-shadow:0 8px 28px rgba(0,168,120,.1); transform:translateY(-3px); }
.lco-fb-emoji { font-size:30px; margin-bottom:12px; display:block; }
.lco-fb-box h3 { font-family:'Montserrat',sans-serif; font-size:14px; font-weight:700; color:#0D1B27; margin:0 0 7px; }
.lco-fb-box p  { font-family:'Poppins',sans-serif; font-size:13px; color:#4a5a6b; line-height:1.7; margin:0; }

/* ============================================================
   CONTENT BLOCK
============================================================ */
.lco-cb { padding:72px 0; }
.lco-cb h2 { font-family:'Montserrat',sans-serif; font-size:clamp(22px,2.6vw,34px); font-weight:800; color:#0D1B27; margin:0 0 16px; }
.lco-cb .div-line { margin:0 0 24px; }
.lco-cb-content { font-family:'Poppins',sans-serif; font-size:15px; color:#4a5a6b; line-height:1.9; max-width:840px; }
.lco-cb-content h3 { font-family:'Montserrat',sans-serif; font-size:19px; font-weight:700; color:#0D1B27; margin:30px 0 10px; }
.lco-cb-content h4 { font-family:'Montserrat',sans-serif; font-size:15px; font-weight:700; color:#0D1B27; margin:20px 0 8px; }
.lco-cb-content ul { list-style:none; padding:0; margin:0 0 16px; }
.lco-cb-content ul li { padding:5px 0 5px 22px; position:relative; }
.lco-cb-content ul li::before { content:'✓'; position:absolute; left:0; color:#C8102E; font-weight:700; }
.lco-cb-content strong { font-weight:700; color:#0D1B27; }

/* ============================================================
   BLOG PREVIEW
============================================================ */
.lco-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px; }
.lco-blog-card { background:#fff; border-radius:10px;  border:1.5px solid #dde3ec; transition:all var(--tr); }
.lco-blog-card:hover { border-color:transparent; box-shadow:0 12px 40px rgba(28,51,69,.12); transform:translateY(-5px); }
.lco-blog-img { height:180px;  }
.lco-blog-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; display:block; }
.lco-blog-card:hover .lco-blog-img img { transform:scale(1.07); }
.lco-blog-body { padding:22px 20px 26px; }
.lco-blog-tag { font-family:'Montserrat',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#C8102E; background:rgba(200,16,46,.07); padding:4px 10px; border-radius:20px; display:inline-block; margin-bottom:10px; }
.lco-blog-title { font-family:'Montserrat',sans-serif; font-size:15px; font-weight:700; color:#0D1B27; display:block; margin-bottom:8px; line-height:1.4; }
.lco-blog-desc  { font-family:'Poppins',sans-serif; font-size:13px; color:#4a5a6b; line-height:1.7; display:block; margin-bottom:14px; }
.lco-blog-link  { font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#C8102E; display:inline-flex; align-items:center; gap:6px; text-decoration:none; }

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width:1100px) {
  .lco-w .w { padding:0 28px; }
  .lco-hdr-inner { padding:0 28px; }
  .lco-hdr-nav { display:none; }
  .lco-hdr-actions .lco-hdr-btn { display:none; }
  .lco-ham { display:flex !important; }
  .lco-hero-inner { grid-template-columns:1fr !important; gap:44px; padding:28px; }
  .lco-why-grid { grid-template-columns:1fr 1fr !important; }
  .lco-svc-grid { grid-template-columns:1fr 1fr !important; }
  .lco-pq-grid { grid-template-columns:1fr 1fr 1fr !important; }
  .lco-jur-grid { grid-template-columns:1fr !important; }
  .lco-pricing-grid { grid-template-columns:1fr !important; }
  .lco-process-grid { grid-template-columns:1fr 1fr !important; }
  .lco-testi-grid { grid-template-columns:1fr 1fr !important; }
  .lco-faq-cols { grid-template-columns:1fr !important; }
  .lco-faq-cta { position:static !important; }
  .lco-footer-grid { grid-template-columns:1fr 1fr !important; gap:32px; }
  .lco-etude-inner { grid-template-columns:1fr !important; }
  .lco-etude-btns { align-items:flex-start !important; }
  .lco-cta-final-inner { grid-template-columns:1fr !important; }
  .lco-cta-btns { align-items:flex-start !important; }
  .lco-fb-grid { grid-template-columns:1fr 1fr !important; }
  .lco-blog-grid { grid-template-columns:1fr 1fr !important; }
}
@media (max-width:768px) {
  .lco-w .w { padding:0 16px; }
  .lco-hdr-inner { padding:0 16px; height:64px; }
  .lco-w .sec { overflow:visible; padding:56px 0; }
  .lco-hero-inner { padding:16px; }
  .lco-why-grid { grid-template-columns:1fr !important; }
  .lco-svc-grid { grid-template-columns:1fr !important; }
  .lco-pq-grid { grid-template-columns:1fr 1fr !important; }
  .lco-jur-grid { grid-template-columns:1fr !important; }
  .lco-pricing-grid { grid-template-columns:1fr !important; }
  .lco-process-grid { grid-template-columns:1fr 1fr !important; }
  .lco-testi-grid { grid-template-columns:1fr !important; }
  .lco-footer-grid { grid-template-columns:1fr !important; }
  .lco-fb-grid { grid-template-columns:1fr 1fr !important; }
  .lco-blog-grid { grid-template-columns:1fr !important; }
  .lco-hero-btns { flex-direction:column; }
  .lco-hero-btns .btn { width:100%; }
  .lco-contact-center { padding:0 16px; }
  .lco-contact-form-box { padding:28px 20px; }
  .lco-ph-inner { padding:0 16px; }
  .lco-footer-bottom { flex-direction:column; text-align:center; }
  .lco-footer-legal { justify-content:center; }
}
@media (max-width:480px) {
  .lco-pq-grid { grid-template-columns:1fr !important; }
  .lco-process-grid { grid-template-columns:1fr !important; }
  .lco-fb-grid { grid-template-columns:1fr !important; }
}
