
:root{
  --brand:#0B328A; --brand-dark:#07256A; --brand-orange:#FF5A00; --ink:#0e1933; --muted:#61708b;
  --soft:#f5f8ff; --line:#dfe7f5; --success:#087f5b; --warning:#a15c00;
  --radius:18px; --shadow:0 18px 55px rgba(31,58,120,.12); --max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}
img,svg{max-width:100%;display:block} a{color:inherit}
.container{width:min(calc(100% - 32px),var(--max));margin:auto}
.skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:10px 14px;z-index:9999}
.skip-link:focus{left:8px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(223,231,245,.8)}
.nav{min-height:76px;display:flex;align-items:center;gap:20px}
.brand{font-size:1.35rem;font-weight:900;text-decoration:none;letter-spacing:-.04em}.brand span{color:var(--brand)}
.nav-links{display:flex;align-items:center;gap:16px;margin-left:auto}
.nav-links a{text-decoration:none;font-weight:700;font-size:.94rem;color:#34435e}
.nav-links a:hover,.nav-links a:focus{color:var(--brand)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:12px;text-decoration:none;font-weight:800;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.nav-cta,.btn-primary{background:var(--brand-orange);color:#fff;box-shadow:0 10px 26px rgba(255,90,0,.22)}
.btn-primary:hover,.nav-cta:hover{background:#D94C00}
.btn-secondary{border-color:var(--line);background:#fff;color:var(--ink)}
.menu-btn{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:12px;width:46px;height:46px;font-size:1.35rem}
.breadcrumb{font-size:.9rem;color:var(--muted);padding-top:22px}.breadcrumb a{color:var(--brand);text-decoration:none}
.hero{padding:64px 0 44px;background:radial-gradient(circle at 85% 8%,#e7efff 0,transparent 35%),linear-gradient(180deg,#fbfdff,#fff)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}
.eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:#e9f0ff;color:var(--brand-dark);font-weight:800;font-size:.82rem;margin-bottom:18px}
h1{font-size:clamp(2.25rem,5vw,4.35rem);line-height:1.05;letter-spacing:-.055em;margin:.1em 0 .28em}
h2{font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.13;letter-spacing:-.04em;margin:0 0 14px}
h3{line-height:1.25}.lead{font-size:1.12rem;color:var(--muted);max-width:700px}
.hero-actions,.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.trustline{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;color:#41516d;font-size:.91rem;font-weight:700}
.dashboard{background:#0f1930;color:#fff;border-radius:26px;padding:18px;box-shadow:var(--shadow);transform:rotate(1deg)}
.dashboard-top{display:flex;justify-content:space-between;align-items:center;padding:8px 4px 16px}
.dots{display:flex;gap:6px}.dots i{width:8px;height:8px;border-radius:50%;background:#8090ad}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.kpi,.mock-card{background:#fff;color:var(--ink);padding:15px;border-radius:14px}
.kpi span{font-size:.78rem;color:var(--muted)}.kpi strong{display:block;font-size:1.25rem;margin-top:4px}
.mock-table{margin-top:10px;background:#fff;color:var(--ink);border-radius:14px;padding:14px}
.mock-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef2f8;font-size:.88rem}.mock-row:last-child{border:0}
section{padding:72px 0}.section-head{max-width:760px;margin-bottom:34px}.section-head p{color:var(--muted);font-size:1.05rem}
.grid{display:grid;gap:18px}.pain-grid{grid-template-columns:repeat(3,1fr)}.feature-grid{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;box-shadow:0 8px 28px rgba(31,58,120,.06)}
.card h3{margin:8px 0}.card p{color:var(--muted);margin-bottom:0}.icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#FFF0E7;color:var(--brand-orange);font-weight:900}
.pain{border-top:4px solid var(--brand-orange)}.solution{border-top:4px solid var(--brand)}
.band{background:var(--soft)}.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.checks{display:grid;gap:12px;padding:0;list-style:none}.checks li{display:flex;gap:10px}.checks li:before{content:"✓";flex:0 0 auto;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e9f8f2;color:var(--success);font-weight:900}
.workflow{grid-template-columns:repeat(4,1fr);counter-reset:step}.workflow .card{position:relative}.workflow .card:before{counter-increment:step;content:counter(step);position:absolute;right:18px;top:16px;font-size:2rem;font-weight:900;color:#dce7ff}
.local-box{border-radius:24px;padding:32px;background:#0f1930;color:#fff}.local-box p{color:#cfdbf5}
.faq{max-width:900px}.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;justify-content:space-between;gap:20px;text-align:left;padding:20px 0;border:0;background:transparent;font:inherit;font-weight:850;color:var(--ink);cursor:pointer}
.faq-a{display:none;padding:0 0 20px;color:var(--muted)}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q span{transform:rotate(45deg)}
.cta{padding:62px 0}.cta-box{padding:42px;border-radius:28px;background:linear-gradient(135deg,#0d43a6,#1557d5 60%,#4a80ef);color:#fff}.cta-box p{color:#e5edff;max-width:700px}.cta-box .btn-primary{background:#fff;color:var(--brand-dark)}
.footer{background:#0b1427;color:#dce4f4;padding:54px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
.footer a{display:block;text-decoration:none;color:#c8d4e9;margin:8px 0}.footer a:hover{color:#fff}.footer .brand{color:#fff}.footer h3{color:#fff;font-size:1rem}.legal{border-top:1px solid #26324a;margin-top:34px;padding-top:20px;font-size:.88rem;color:#93a3bf}
.blog-grid{grid-template-columns:repeat(3,1fr)}.article-card a{color:var(--brand);font-weight:800;text-decoration:none}
.tag{display:inline-block;font-size:.75rem;padding:5px 9px;border-radius:999px;background:#eef4ff;color:var(--brand-dark);font-weight:800}
:focus-visible{outline:3px solid #f7b500;outline-offset:3px}
@media(max-width:960px){.hero-grid,.split{grid-template-columns:1fr}.pain-grid{grid-template-columns:repeat(2,1fr)}.feature-grid,.workflow{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.nav-links{display:none;position:absolute;top:76px;left:16px;right:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.menu-btn{display:block}.nav-cta.desktop{display:none}}
@media(max-width:620px){.container{width:min(calc(100% - 24px),var(--max))}.hero{padding-top:38px}section{padding:54px 0}.pain-grid,.feature-grid,.workflow,.blog-grid,.footer-grid{grid-template-columns:1fr}.cta-box{padding:28px}.hero-actions .btn,.cta-actions .btn{width:100%}.dashboard{transform:none}h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.brand-logo{display:flex;align-items:center;flex:0 0 auto}
.brand-logo img{width:158px;height:58px;object-fit:contain}
.footer-logo{width:170px;background:#fff;border-radius:8px;padding:4px}
h1,h2{color:var(--brand)}
.cta-box{border-bottom:6px solid var(--brand-orange)}

/* Solutions dropdown — industry pages + blog (matches home page nav). */
.nav-dropdown{position:relative}
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0;font-family:inherit;font-weight:700;font-size:.94rem;color:#34435e;cursor:pointer}
.nav-dropdown-toggle:hover,.nav-dropdown-toggle:focus{color:var(--brand)}
.nav-caret{font-size:.65em;line-height:1;transition:transform .2s}
.nav-dropdown.open .nav-caret{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;z-index:80;margin:0;min-width:220px;padding:10px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:none}
.nav-dropdown-menu a{display:block;padding:9px 12px;border-radius:9px;color:#34435e}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus{color:var(--brand);background:var(--soft)}
.nav-dropdown-menu a.active{color:var(--brand)}
@media(max-width:960px){
.nav-dropdown-menu{position:static;min-width:0;padding:0 0 0 14px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
.nav-dropdown-toggle{width:100%;justify-content:space-between;font-size:1rem}
}
@media(max-width:620px){.nav-dropdown-menu{padding:0 0 0 10px}}

/* Related Articles */
.related {
  padding-block: 12px 35px;
  border-top: 1px solid var(--line);
}

.related h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1.22;
  color: var(--blue);
  margin: 1.2em 0 0.65em;
  letter-spacing: -0.025em;
}

.cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.card {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 20px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.card:hover {
  border-color: var(--orange2);
  background: #fffaf6;
}

.card span {
  font-size: 0.78rem;
  color: var(--muted);
}

.card strong {
  font-size: 1.05rem;
  line-height: 1.4;
  color: var(--blue);
  overflow-wrap: break-word;
}

/* Tablet */
@media (min-width: 600px) {
  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile: keep cards single-column */
@media (max-width: 599px) {
  .cards {
    grid-template-columns: 1fr;
  }

  .card {
    padding: 18px;
  }
}


/* =========================================================
   MOBILE ACCEPTANCE / OVERFLOW CORRECTION
   Primary acceptance viewport: 384px × 832px CSS pixels.
   This layer preserves the existing design and only prevents
   narrow-screen overflow and unnecessary horizontal whitespace.
   ========================================================= */

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

@media (max-width: 620px) {
  /* Use the available mobile width without creating side overflow. */
  .container {
    width: calc(100% - 24px);
    max-width: 100%;
    margin-inline: auto;
  }

  /* Prevent flex/grid children from forcing the page wider. */
  .nav,
  .nav-links,
  .hero-grid,
  .split,
  .grid,
  .card,
  .cta-box,
  .dashboard,
  .mock-row,
  .hero-actions,
  .cta-actions,
  .trustline {
    min-width: 0;
    max-width: 100%;
  }

  /* Allow buttons to wrap where necessary on narrow screens. */
  .nav-cta,
  .btn {
    white-space: normal;
    overflow-wrap: anywhere;
    max-width: 100%;
  }

  /* Keep all media inside the viewport. */
  img,
  svg,
  video,
  iframe {
    max-width: 100%;
  }

  /* Prevent long words, URLs and unbroken strings from widening content. */
  p,
  li,
  h1,
  h2,
  h3,
  a,
  span,
  strong,
  td,
  th,
  .lead,
  .section-head,
  .faq-q,
  .faq-a {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  /* Ensure single-column mobile layouts cannot exceed the viewport. */
  .pain-grid,
  .feature-grid,
  .workflow,
  .blog-grid,
  .footer-grid,
  .cards {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  /* Prevent decorative dashboard content from causing overflow. */
  .dashboard {
    width: 100%;
    transform: none;
    overflow: hidden;
  }

  .kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mock-row {
    flex-wrap: wrap;
  }

  /* Keep mobile action buttons within the content width. */
  .hero-actions .btn,
  .cta-actions .btn {
    width: 100%;
    max-width: 100%;
  }

  /* Keep the mobile navigation inside the viewport. */
  .nav-links {
    left: 12px;
    right: 12px;
    width: auto;
    max-width: none;
    overflow-x: hidden;
  }

  /* Avoid headings becoming wider than the viewport. */
  h1,
  h2,
  h3 {
    max-width: 100%;
  }

  /* Related article cards remain one column on mobile. */
  .related,
  .cards,
  .card {
    min-width: 0;
    max-width: 100%;
  }

  .card {
    width: 100%;
  }
}

/* Extra protection for very narrow CSS viewports, including 384px. */
@media (max-width: 384px) {
  .container {
    width: calc(100% - 20px);
  }

  h1 {
    font-size: clamp(2rem, 10vw, 2.5rem);
  }

  .hero {
    padding-top: 32px;
  }

  section {
    padding-block: 44px;
  }

  .cta-box {
    padding: 22px;
  }

  .card {
    padding: 16px;
  }
}
