/* ==========================================================================
   Digimanic — Bootstrap 5 redesign stylesheet
   ========================================================================== */

:root{
  --ink:#0A0E1A;
  --ink-soft:#4B5568;
  --ink-faint:#8891A4;
  --paper:#F6F8FC;
  --paper-raised:#FFFFFF;
  --line:#E4E9F2;
  --brand:#2c8cf4;
  --brand-ink:#0B2D6B;
  --brand-soft:#EAF1FE;
  --ai:#7C5CFC;
  --ai-soft:#F1EDFF;
  --good:#0E9F6E;
  --amber:#DE8F1B;
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:10px;
  --shadow-sm: 0 1px 2px rgba(10,14,26,.04), 0 1px 1px rgba(10,14,26,.03);
  --shadow-md: 0 8px 24px -8px rgba(10,14,26,.12), 0 2px 6px rgba(10,14,26,.04);
  --shadow-lg: 0 24px 60px -20px rgba(10,14,26,.22), 0 4px 12px rgba(10,14,26,.06);
  --font-display:'Poppins', 'Inter', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; font-size:17px;}
@media (max-width:575.98px){ html{ font-size:15.5px; } }
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; transition-duration:.001ms !important;}
}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.7;
  font-size:1.06rem;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-.01em;
  line-height:1.16;
  color:var(--ink);
}
h2{ font-size:clamp(1.9rem, 3.4vw, 2.6rem); }
h3{ font-size:1.6rem; }
h4{ font-size:1.15rem; }
p{ font-size:1.02rem; }
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; }

.eyebrow{
  font-family:var(--font-mono); font-size:.86rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--brand); font-weight:600; display:inline-flex; align-items:center; gap:8px;
}
.eyebrow::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--brand); display:inline-block; }
.eyebrow.ai{ color:var(--ai); }
.eyebrow.ai::before{ background:var(--ai); }
.eyebrow.on-dark{ color:#9DB8F5; }
.eyebrow.on-dark::before{ background:#9DB8F5; }

/* Section rhythm — every page section gets a section-N hook class */
[class^="section-"]{ padding:6.5rem 0; }
@media (max-width:767.98px){ [class^="section-"]{ padding:4.2rem 0; } }

.sec-head p.lead-p{ color:var(--ink-soft); font-size:1.14rem; }

/* Buttons */
.btn{ border-radius:999px; font-weight:600; padding:.95rem 1.85rem; font-size:1.02rem; }
.btn-ink{ background:var(--ink); color:#fff; border:1px solid var(--ink); }
.btn-ink:hover{ background:#151B2E; color:#fff; transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-outline-ink{ background:#fff; color:var(--ink); border:1px solid var(--line); }
.btn-outline-ink:hover{ border-color:var(--ink); color:var(--ink); transform:translateY(-2px); }
.btn-brand{ background:var(--brand); color:#fff; border:1px solid var(--brand); }
.btn-brand:hover{ background:#154DBE; color:#fff; transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-on-dark{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.28); }
.btn-on-dark:hover{ border-color:#fff; color:#fff; transform:translateY(-2px); }

/* Navbar */
.navbar-digimanic{
  background:rgba(247,249,252,.82);
  backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease, box-shadow .25s ease;
  padding-top:.9rem; padding-bottom:.9rem;
}
.navbar-digimanic.scrolled{ border-bottom-color:var(--line); box-shadow:0 2px 20px -14px rgba(10,14,26,.25); }
.navbar-brand-digimanic{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:700; font-size:1.5rem; color:var(--ink); }
.logo-mark{ width:36px; height:36px; border-radius:9px; background:linear-gradient(155deg, var(--brand), var(--brand-ink)); position:relative; flex:none; }
.logo-mark::before{ content:''; position:absolute; inset:9px; border-radius:3px; background:#fff; opacity:.92; clip-path:polygon(0 100%, 0 55%, 30% 55%, 30% 25%, 60% 25%, 60% 70%, 100% 70%, 100% 100%); }
.navbar-digimanic .nav-link{ font-weight:500; color:var(--ink-soft); font-size:1.02rem; }
.navbar-digimanic .nav-link:hover{ color:var(--ink); }
.nav-tel{ font-weight:600; font-size:.98rem; color:var(--ink); display:flex; align-items:center; gap:6px; }

/* ===== SECTION 1 — HERO ===== */
.section-1{
  padding-top:0;
  padding-bottom:5.5rem;
  position:relative;
  overflow:hidden;
}
.hero-bg{ position:absolute; inset:0; z-index:0; overflow:hidden; background:
    radial-gradient(1100px 620px at 82% -10%, #EAF1FE 0%, var(--paper) 62%),
    var(--paper);
}
.hero-bg-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(11,45,107,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,45,107,.05) 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(900px 560px at 78% 8%, #000 0%, transparent 72%);
  mask-image:radial-gradient(900px 560px at 78% 8%, #000 0%, transparent 72%);
}
.hero-bg-blob{ position:absolute; border-radius:50%; filter:blur(6px); opacity:.55; }
.hero-bg-blob-1{ width:520px; height:520px; top:-180px; right:-140px; background:radial-gradient(closest-side, rgba(27,95,224,.20), transparent 72%); }
.hero-bg-blob-2{ width:380px; height:380px; top:220px; right:180px; background:radial-gradient(closest-side, rgba(124,92,252,.16), transparent 72%); }
.hero-bg-lines{ position:absolute; inset:0; width:100%; height:100%; }
@media (max-width:991.98px){
  .hero-bg-blob-2, .hero-bg-lines{ display:none; }
  .hero-bg-grid{ -webkit-mask-image:radial-gradient(700px 500px at 90% 0%, #000 0%, transparent 70%); mask-image:radial-gradient(700px 500px at 90% 0%, #000 0%, transparent 70%); }
}
.section-1 .container{ padding-top:4.5rem; position:relative; z-index:1; }
.hero-title{ font-size:clamp(2.2rem,4.6vw,3.6rem); }
.hero-title em{ font-style:normal; color:var(--brand); background:linear-gradient(180deg, transparent 62%, var(--brand-soft) 62%); }
.hero-sub{ color:var(--ink-soft); font-size:1.18rem; max-width:540px; }
.hero-meta strong{ display:block; font-family:var(--font-mono); font-size:1.3rem; color:var(--ink); }
.hero-meta div{ font-size:.88rem; color:var(--ink-faint); }
.hero-figure{
  border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); border:1px solid var(--line); position:relative;
}
.hero-figure img{ width:100%; height:340px; object-fit:cover; display:block; }
.hero-figure .hero-figcap{
  position:absolute; left:0; right:0; bottom:0; padding:1.1rem 1.3rem;
  background:linear-gradient(0deg, rgba(10,14,26,.86), rgba(10,14,26,0));
  color:#fff;
}
.console{ background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); overflow:hidden; }
.console-bar{ display:flex; align-items:center; gap:8px; padding:14px 18px; border-bottom:1px solid var(--line); background:#FBFCFE; }
.console-dot{ width:9px; height:9px; border-radius:50%; background:var(--line); }
.console-url{ margin-left:10px; font-family:var(--font-mono); font-size:.72rem; color:var(--ink-faint); background:var(--paper); border-radius:6px; padding:4px 10px; flex:1; }
.console-tabs{ display:flex; gap:6px; padding:14px 16px 0; flex-wrap:wrap; }
.ctab{ font-family:var(--font-mono); font-size:.72rem; padding:7px 12px; border-radius:8px; color:var(--ink-faint); cursor:pointer; border:1px solid transparent; user-select:none; background:none; }
.ctab.active{ background:var(--brand-soft); color:var(--brand-ink); border-color:#D9E6FC; }
.console-body{ padding:20px 20px 24px; }
.console-row{ display:flex; justify-content:space-between; align-items:center; padding:11px 0; border-bottom:1px dashed var(--line); }
.console-row:last-child{ border-bottom:none; }
.console-row .label{ font-size:.85rem; color:var(--ink-soft); display:flex; align-items:center; gap:9px; }
.console-row .swatch{ width:8px; height:8px; border-radius:2px; background:var(--brand); flex:none; }
.console-row .val{ font-family:var(--font-mono); font-size:.85rem; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:8px; }
.up{ color:var(--good); font-size:.72rem; font-family:var(--font-mono); }
.bar-track{ width:96px; height:6px; border-radius:4px; background:var(--paper); overflow:hidden; }
.bar-fill{ height:100%; border-radius:4px; background:linear-gradient(90deg, var(--brand), #4C8CF5); width:0%; transition:width 1.1s cubic-bezier(.16,1,.3,1); }
.console-foot{ display:flex; justify-content:space-between; align-items:center; padding:14px 20px; border-top:1px solid var(--line); background:#FBFCFE; font-size:.72rem; color:var(--ink-faint); font-family:var(--font-mono); }
.pulse{ width:7px; height:7px; border-radius:50%; background:var(--good); position:relative; display:inline-block; margin-right:6px; vertical-align:middle; }
.pulse::after{ content:''; position:absolute; inset:-4px; border-radius:50%; border:1.5px solid var(--good); animation:pulse 2s ease-out infinite; }
@keyframes pulse{ 0%{ transform:scale(.6); opacity:.9; } 100%{ transform:scale(1.8); opacity:0; } }

/* ===== SECTION 2 — TRUST BAR ===== */
.section-2{ padding:2.8rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.trust-label{ text-align:center; font-size:.78rem; color:var(--ink-faint); font-family:var(--font-mono); letter-spacing:.06em; text-transform:uppercase; margin-bottom:1.6rem; }

/* Pure-CSS marquee — no slick, no autoplaySpeed:0 jerk. One continuous
   linear transform, GPU-accelerated, restarts seamlessly because the
   track holds two identical sets of logos back-to-back. */
.trust-track-wrap{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.trust-track{
  display:flex;
  width:max-content;
  animation:scrollTrust 28s linear infinite;
  will-change:transform;
}
.trust-track-wrap:hover .trust-track{ animation-play-state:paused; }
.trust-track-set{
  display:flex;
  align-items:center;
  gap:3.5rem;
  padding-right:3.5rem;
  flex:none;
}
@keyframes scrollTrust{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.trust-item{ font-family:var(--font-display); font-weight:600; font-size:1rem; color:var(--ink-faint); white-space:nowrap; display:flex; align-items:center; gap:8px; }
.trust-item .dot{ width:5px; height:5px; border-radius:50%; background:var(--ink-faint); opacity:.5; }
.trust-track img{
  height:100px;
  width:auto;
  max-width:200px;
  object-fit:contain;
  transition:filter .2s ease, opacity .2s ease;
  display:block;
}
.trust-track img:hover{ filter:grayscale(0%); opacity:1; }

/* ===== SECTION 3 — RESULTS / STATS ===== */
.results-panel{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md); overflow:hidden;
}
.stat-cell{
  background:#fff; padding:2.6rem 2rem; height:100%; position:relative;
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  transition:background .2s ease, transform .2s ease;
}
.stat-cell::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--brand);
  transform:scaleY(0); transform-origin:top; transition:transform .28s ease;
}
.stat-cell:hover{ background:#FBFCFF; transform:translateY(-2px); }
.stat-cell:hover::before{ transform:scaleY(1); }
.stat-cell:nth-child(3n){ border-right:none; }
@media (max-width:991.98px){ .stat-cell:nth-child(3n){ border-right:1px solid var(--line); } .stat-cell:nth-child(2n){ border-right:none; } }
@media (max-width:575.98px){ .stat-cell{ border-right:none !important; } }
.results-panel .row > div:nth-last-child(-n+3){ border-bottom:none; }
@media (max-width:991.98px){ .results-panel .row > div:nth-last-child(-n+3){ border-bottom:1px solid var(--line); } .results-panel .row > div:nth-last-child(-n+2){ border-bottom:none; } }
@media (max-width:575.98px){ .results-panel .row > div{ border-bottom:1px solid var(--line) !important; } .results-panel .row > div:last-child{ border-bottom:none !important; } }
.stat-ic{
  width:46px; height:46px; border-radius:12px; background:var(--brand-soft); color:var(--brand-ink);
  display:flex; align-items:center; justify-content:center; font-size:1.25rem; margin-bottom:1.1rem;
}
.stat-num{ font-family:var(--font-mono); font-size:clamp(1.8rem,3vw,2.4rem); font-weight:600; color:var(--ink); }
.stat-num .suffix{ color:var(--brand); }
.stat-lbl{ margin-top:.5rem; font-size:.95rem; color:var(--ink-soft); }

/* ===== SECTION 4 — DOMINANCE ===== */
.section-4-panel{ background:var(--ink); color:#fff; border-radius:28px; padding:4.5rem; position:relative; overflow:hidden; }
@media (max-width:767.98px){ .section-4-panel{ padding:2.8rem 1.4rem; border-radius:20px; } }
.section-4-panel::before{ content:''; position:absolute; top:-200px; left:-100px; width:520px; height:520px; border-radius:50%; background:radial-gradient(closest-side, rgba(124,92,252,.22), transparent); }
.section-4-panel h2{ color:#fff; }
.section-4-panel p{ color:#B7C0D6; }
.surface-chip{ border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:1rem .9rem; background:rgba(255,255,255,.03); font-size:.82rem; color:#D7DCEB; display:flex; flex-direction:column; gap:8px; transition:border-color .2s ease, background .2s ease, transform .2s ease; height:100%; }
.surface-chip:hover{ border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.06); transform:translateY(-3px); }
.surface-chip .ic{ width:26px; height:26px; border-radius:7px; background:linear-gradient(155deg, var(--brand), var(--ai)); display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:.68rem; font-weight:700; color:#fff; }
.dom-stat{ background:rgba(10,14,26,.35); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:1.5rem 1.3rem; height:100%; }
.dom-stat .n{ font-family:var(--font-mono); font-size:1.5rem; font-weight:600; color:#fff; }
.dom-stat .l{ margin-top:.4rem; font-size:.8rem; color:#9AA4BE; }

/* ===== SECTION 5 — WHY US ===== */
.why-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:1.9rem 1.6rem;
  height:100%; transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease; position:relative; overflow:hidden;
}
.why-card::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:3px; background:linear-gradient(90deg, var(--brand), var(--ai)); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.why-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-4px); border-color:#D9E1F0; }
.why-card:hover::after{ transform:scaleX(1); }
.why-num{
  display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:10px;
  background:var(--brand-soft); color:var(--brand-ink);
  font-family:var(--font-mono); font-size:.82rem; font-weight:700;
}
.why-card h4{ margin-top:1rem; font-size:1.12rem; }
.why-card p{ margin-top:.55rem; font-size:.95rem; color:var(--ink-soft); line-height:1.6; }

/* ===== SECTION 6 — INDUSTRIES ===== */
.tile{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; height:100%; transition:transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s ease, border-color .22s ease; }
.tile:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:#D9E1F0; }
.tile .tile-media{ height:150px; overflow:hidden; }
.tile .tile-media img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.tile:hover .tile-media img{ transform:scale(1.06); }
.tile .tile-body{ padding:1.3rem 1.2rem; }
.tile h4{ font-size:1.1rem; }
.tile p{ margin-top:.45rem; font-size:.95rem; color:var(--ink-soft); }
.tile .tag{ margin-top:.8rem; font-family:var(--font-mono); font-size:.74rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.05em; }

/* ===== SECTION 7 — SERVICES ===== */
.service-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:1.6rem; height:100%; display:flex; flex-direction:column; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.service-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:#D9E1F0; }
.service-card .glyph{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:.9rem; color:#fff; background:linear-gradient(155deg, var(--brand), var(--brand-ink)); }
.service-card.ai .glyph{ background:linear-gradient(155deg, var(--ai), #2c8cf4); }
.service-card h4{ margin-top:1rem; font-size:1.15rem; }
.service-card p{ margin-top:.5rem; font-size:.97rem; color:var(--ink-soft); flex:1; }
.service-card .link{ margin-top:1rem; font-size:.92rem; font-weight:600; color:var(--brand); }
.service-card.ai .link{ color:var(--ai); }

/* ===== SECTION 8 — PROCESS ===== */
.proc-step{ position:relative; height:100%; }
.proc-dot{ width:38px; height:38px; border-radius:50%; background:#fff; border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:.75rem; font-weight:600; color:var(--brand); }
.proc-step h4{ margin-top:1.1rem; font-size:1.05rem; }
.proc-step p{ margin-top:.5rem; font-size:.92rem; color:var(--ink-soft); }
.process-line{ display:none; }
@media (min-width:992px){
  .process-line{ display:block; position:absolute; top:19px; left:0; right:0; height:1px; background:var(--line); z-index:0; }
  .proc-step{ position:relative; z-index:1; }
}

/* ===== SECTION 9 — CASE STUDIES ===== */
.case-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; height:100%; transition:box-shadow .2s ease, transform .2s ease; }
.case-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-4px); }
.case-media{ height:150px; overflow:hidden; }
.case-media img{ width:100%; height:100%; object-fit:cover; }
.case-top{ padding:1.3rem 1.4rem 0; }
.case-tag{ font-family:var(--font-mono); font-size:.68rem; color:var(--brand); text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
.case-top h4{ margin-top:.6rem; font-size:1.12rem; }
.case-chart{ margin:1.1rem 1.4rem 0; height:80px; display:flex; align-items:flex-end; gap:5px; }
.case-chart .bar{ flex:1; background:linear-gradient(180deg, var(--brand-soft), transparent); border-top:2px solid var(--brand); border-radius:3px 3px 0 0; transition:height 1s cubic-bezier(.16,1,.3,1); height:0; }
.case-metrics{ display:flex; border-top:1px solid var(--line); margin-top:1.1rem; }
.case-metrics div{ flex:1; padding:1rem 1.4rem; border-right:1px solid var(--line); }
.case-metrics div:last-child{ border-right:none; }
.case-metrics .n{ font-family:var(--font-mono); font-weight:600; font-size:1.3rem; color:var(--good); }
.case-metrics .l{ font-size:.72rem; color:var(--ink-faint); margin-top:.2rem; }

/* ===== SECTION 10 — TESTIMONIALS ===== */
.testi-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-md); padding:1.6rem; height:100%; display:flex; flex-direction:column; gap:1rem; }
.stars{ color:#F2A93C; font-size:.8rem; letter-spacing:2px; }
.testi-card p.quote{ font-size:1rem; color:var(--ink); flex:1; }
.testi-who{ display:flex; align-items:center; gap:12px; padding-top:.9rem; border-top:1px solid var(--line); }
.avatar{ width:38px; height:38px; border-radius:50%; object-fit:cover; flex:none; background:var(--brand-soft); color:var(--brand-ink); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:.8rem; }
.testi-who .name{ font-size:.94rem; font-weight:600; }
.testi-who .role{ font-size:.75rem; color:var(--ink-faint); }

/* ===== SECTION 11 — COMPARISON ===== */
.compare{ background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; }
.compare-row{ display:flex; align-items:stretch; }
.compare-row:not(:last-child){ border-bottom:1px solid var(--line); }
.compare-row.head{ background:var(--paper); }
.compare-row > div{ padding:1.1rem 1.3rem; font-size:.88rem; flex:1; }
.compare-row .col-label{ flex:1.4; color:var(--ink-soft); font-size:.85rem; }
.compare-row.head .col-label{ font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); }
.compare-row .no{ color:var(--ink-faint); }
.compare-row .yes{ color:var(--brand-ink); font-weight:600; background:var(--brand-soft); }
@media (max-width:575.98px){ .compare-row > div{ padding:.8rem .7rem; font-size:.75rem; } }

/* ===== SECTION 12 — AI SEARCH ===== */
.section-12-panel{ background:linear-gradient(180deg, #100B29 0%, #171232 100%); color:#fff; border-radius:28px; padding:4.5rem; position:relative; overflow:hidden; }
@media (max-width:767.98px){ .section-12-panel{ padding:2.8rem 1.4rem; border-radius:20px; } }
.section-12-panel::before{ content:''; position:absolute; bottom:-220px; right:-120px; width:560px; height:560px; border-radius:50%; background:radial-gradient(closest-side, rgba(124,92,252,.28), transparent); }
.section-12-panel h2{ color:#fff; }
.section-12-panel p{ color:#C6CAE0; }
.ai-badge{ border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04); border-radius:12px; padding:.85rem 1.1rem; display:flex; align-items:center; gap:10px; font-size:.85rem; color:#E4E7F5; }
.ai-badge .dotm{ width:22px; height:22px; border-radius:6px; background:linear-gradient(155deg, var(--ai), #3E9BFF); flex:none; }
.ai-col{ border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:1.6rem; background:rgba(255,255,255,.02); height:100%; }
.ai-col .k{ font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; color:#9DB8F5; }
.ai-col h4{ color:#fff; font-size:1.1rem; margin-top:.7rem; }
.ai-col ul{ margin:1rem 0 0; padding-left:1.1rem; color:#C6CAE0; font-size:.85rem; line-height:1.8; }
.ai-figure{ border-radius:16px; overflow:hidden; border:1px solid rgba(255,255,255,.14); height:100%; min-height:220px; }
.ai-figure img{ width:100%; height:100%; object-fit:cover; opacity:.9; }

/* ===== SECTION 13 — FAQ ===== */
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{ width:100%; text-align:left; background:none; border:none; padding:1.35rem .25rem; display:flex; justify-content:space-between; align-items:center; gap:1.2rem; cursor:pointer; font-family:var(--font-body); font-size:1.12rem; font-weight:600; color:var(--ink); }
.faq-icon{ width:26px; height:26px; border-radius:50%; border:1px solid var(--line); flex:none; position:relative; }
.faq-icon::before,.faq-icon::after{ content:''; position:absolute; background:var(--ink-soft); top:50%; left:50%; transform:translate(-50%,-50%); }
.faq-icon::before{ width:10px; height:1.5px; }
.faq-icon::after{ width:1.5px; height:10px; transition:opacity .2s ease; }
.faq-item.open .faq-icon::after{ opacity:0; }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-a-in{ padding:0 .25rem 1.35rem; font-size:1rem; color:var(--ink-soft); max-width:680px; }

/* ===== SECTION 14 — FINAL CTA ===== */
.section-14-panel{ background:var(--ink); border-radius:28px; padding:4.5rem; text-align:center; color:#fff; position:relative; overflow:hidden; }
@media (max-width:767.98px){ .section-14-panel{ padding:2.8rem 1.4rem; border-radius:20px; } }
.section-14-panel::before{ content:''; position:absolute; top:-160px; left:50%; transform:translateX(-50%); width:700px; height:400px; background:radial-gradient(closest-side, rgba(27,95,224,.35), transparent); }
.section-14-panel h2{ color:#fff; max-width:760px; margin:0 auto; position:relative; }
.section-14-panel p{ color:#B7C0D6; margin-top:1rem; position:relative; }
.final-note{ margin-top:1.4rem; font-size:.78rem; color:#7C87A3; position:relative; }

/* Footer */
footer.site-footer{ background:#0A0E1A; color:#B7C0D6; padding:4rem 0 1.8rem; }
.site-footer h5{ color:#fff; font-size:.8rem; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.06em; margin-bottom:1rem; font-weight:600; }
.site-footer ul{ list-style:none; margin:0; padding:0; }
.site-footer li{ margin-bottom:.6rem; }
.site-footer a{ color:#9AA4BE; font-size:.85rem; }
.site-footer a:hover{ color:#fff; }
.foot-logo{ color:#fff; font-family:var(--font-display); font-weight:700; font-size:1.3rem; }
.foot-desc{ margin-top:.9rem; font-size:.85rem; color:#8A94AE; max-width:280px; }
.foot-social a{ width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.14); display:inline-flex; align-items:center; justify-content:center; font-size:.75rem; }
.foot-bottom{ margin-top:3.4rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.08); font-size:.78rem; color:#6E7893; }

/* Sticky mobile CTA */
.sticky-cta{ position:fixed; left:0; right:0; bottom:0; z-index:1050; background:#fff; border-top:1px solid var(--line); padding:.7rem .9rem; display:none; gap:.6rem; box-shadow:0 -8px 24px -12px rgba(10,14,26,.15); }
@media (max-width:767.98px){ .sticky-cta{ display:flex; } body{ padding-bottom:4.6rem; } }

/* Floating WhatsApp */
.fab-whatsapp{ position:fixed; right:22px; bottom:22px; z-index:1040; width:56px; height:56px; border-radius:50%; background:#1FAA59; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px -8px rgba(31,170,89,.55); border:none; }
@media (max-width:767.98px){ .fab-whatsapp{ bottom:92px; width:50px; height:50px; } }

/* Entrance animation is handled by the AOS library (see data-aos attributes in HTML) */

/* Modal tweaks */
.modal-content-digimanic{ border-radius:20px; border:none; box-shadow:var(--shadow-lg); }
.modal-content-digimanic .form-control{ border-radius:10px; padding:.75rem .9rem; }