/* ITDev Agency 2.0 — additive front-end layer. */
:root {
  --itdev-ink: #0f172a;
  --itdev-muted: #64748b;
  --itdev-soft: #f8fafc;
  --itdev-line: #e2e8f0;
  --itdev-primary: #0d6efd;
  --itdev-dark: #07111f;
}
body { color: var(--itdev-ink); }
.itdev-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 85% 15%, rgba(13,110,253,.22), transparent 34%), linear-gradient(135deg, #07111f 0%, #0b1f3a 58%, #0d6efd 160%);
  color: #fff;
  padding: 7rem 0 5.5rem;
}
.itdev-hero::after { content:""; position:absolute; inset:auto -10% -45% 40%; height:26rem; border-radius:50%; background:rgba(255,255,255,.05); filter:blur(4px); }
.itdev-kicker { display:inline-flex; align-items:center; gap:.55rem; padding:.5rem .85rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.08); font-size:.9rem; }
.itdev-hero h1 { font-size:clamp(2.45rem, 5vw, 4.8rem); font-weight:800; line-height:1.04; letter-spacing:-.04em; max-width:900px; }
.itdev-hero .lead { max-width:800px; color:#dbeafe; font-size:clamp(1.05rem, 2vw, 1.3rem); }
.itdev-hero-points { display:flex; flex-wrap:wrap; gap:.7rem 1.1rem; color:#e2e8f0; font-size:.95rem; }
.itdev-hero-points span::before { content:"✓"; margin-right:.45rem; color:#86efac; font-weight:700; }
.itdev-stat { padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.15); border-radius:16px; background:rgba(255,255,255,.07); backdrop-filter:blur(8px); }
.itdev-stat strong { display:block; font-size:1.7rem; }
.itdev-section { padding:5rem 0; }
.itdev-section-soft { background:var(--itdev-soft); }
.itdev-section-title { max-width:800px; margin:0 auto 2.6rem; text-align:center; }
.itdev-section-title h2 { font-weight:800; letter-spacing:-.025em; }
.itdev-section-title p { color:var(--itdev-muted); font-size:1.08rem; }
.itdev-service-card { height:100%; padding:1.5rem; border:1px solid var(--itdev-line); border-radius:20px; background:#fff; box-shadow:0 12px 32px rgba(15,23,42,.05); transition:transform .2s ease, box-shadow .2s ease; }
.itdev-service-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(15,23,42,.09); }
.itdev-icon { width:3rem; height:3rem; display:grid; place-items:center; border-radius:14px; background:#eaf2ff; color:var(--itdev-primary); font-size:1.2rem; margin-bottom:1rem; }
.itdev-service-card h3 { font-size:1.18rem; font-weight:750; }
.itdev-service-card p { color:var(--itdev-muted); }
.itdev-service-link { font-weight:650; text-decoration:none; }
.itdev-problem { height:100%; padding:1.4rem; border-radius:18px; background:#fff; border:1px solid var(--itdev-line); }
.itdev-problem i { color:var(--itdev-primary); }
.itdev-process-step { position:relative; height:100%; padding:1.4rem; border-radius:18px; border:1px solid var(--itdev-line); background:#fff; }
.itdev-process-step .step-num { width:2.2rem; height:2.2rem; display:grid; place-items:center; border-radius:50%; background:var(--itdev-dark); color:#fff; font-weight:700; margin-bottom:.8rem; }
.itdev-package { height:100%; border:1px solid var(--itdev-line); border-radius:22px; padding:1.7rem; background:#fff; }
.itdev-package.featured { border:2px solid var(--itdev-primary); box-shadow:0 18px 44px rgba(13,110,253,.12); }
.itdev-price { font-size:1.8rem; font-weight:800; }
.itdev-small { color:var(--itdev-muted); font-size:.9rem; }
.itdev-checklist { list-style:none; padding:0; margin:1rem 0 0; }
.itdev-checklist li { margin:.55rem 0; color:#334155; }
.itdev-checklist li::before { content:"✓"; color:#16a34a; font-weight:800; margin-right:.55rem; }
.itdev-case-card { height:100%; overflow:hidden; border:1px solid var(--itdev-line); border-radius:20px; background:#fff; }
.itdev-case-card img { width:100%; height:210px; object-fit:cover; }
.itdev-case-placeholder { height:210px; }
.itdev-case-body { padding:1.35rem; }
.itdev-cta { padding:3rem; border-radius:28px; background:linear-gradient(135deg, #0b1f3a, #0d6efd); color:#fff; }
.itdev-cta p { color:#dbeafe; }
.itdev-service-hero { background:linear-gradient(135deg,#07111f,#0b1f3a); color:#fff; padding:5rem 0 4rem; }
.itdev-service-hero .lead { color:#dbeafe; max-width:800px; }
.itdev-anchor-nav { position:sticky; top:76px; z-index:20; background:rgba(255,255,255,.95); backdrop-filter:blur(10px); border-bottom:1px solid var(--itdev-line); }
.itdev-anchor-nav a { color:#334155; text-decoration:none; font-size:.92rem; font-weight:600; white-space:nowrap; }
.itdev-form-panel { border:1px solid var(--itdev-line); border-radius:22px; padding:1.6rem; background:#fff; box-shadow:0 16px 38px rgba(15,23,42,.07); }
.itdev-trust-strip { margin-top:-2.2rem; position:relative; z-index:2; }
.itdev-trust-strip .inner { background:#fff; border:1px solid var(--itdev-line); border-radius:20px; box-shadow:0 12px 35px rgba(15,23,42,.08); padding:1.15rem 1.4rem; }
.navbar .dropdown-menu { border-radius:14px; border:1px solid rgba(255,255,255,.08); box-shadow:0 16px 40px rgba(0,0,0,.18); }
footer a:hover { opacity:.82; }
@media (max-width: 767.98px) {
  .itdev-hero { padding:5.5rem 0 4rem; }
  .itdev-section { padding:3.6rem 0; }
  .itdev-cta { padding:2rem 1.3rem; }
  .itdev-trust-strip { margin-top:-1.4rem; }
}

/* Shared content/case refinements */
.itdev-rich-content { font-size:1.05rem; line-height:1.75; }
.itdev-rich-content h1,.itdev-rich-content h2,.itdev-rich-content h3,.itdev-rich-content h4 { margin-top:1.65em; margin-bottom:.65em; font-weight:750; color:var(--itdev-ink); }
.itdev-rich-content h1:first-child,.itdev-rich-content h2:first-child,.itdev-rich-content h3:first-child { margin-top:0; }
.itdev-rich-content p,.itdev-rich-content ul,.itdev-rich-content ol,.itdev-rich-content blockquote { margin-bottom:1rem; }
.itdev-rich-content img { max-width:100%; height:auto; border-radius:16px; }
.itdev-rich-content a { overflow-wrap:anywhere; }
.itdev-rich-content blockquote { border-left:4px solid var(--itdev-primary); padding-left:1rem; color:var(--itdev-muted); }
.itdev-article-cover { max-height:520px; object-fit:cover; }
.itdev-project-cover { max-height:560px; object-fit:cover; }
.itdev-project-description { line-height:1.75; white-space:normal; overflow-wrap:anywhere; }
.portfolio-item[hidden] { display:none !important; }
