:root {
  --brand: #0b4eb1;
  --brand-dark: #062f72;
  --brand-deep: #041f4d;
  --brand-soft: #eaf2ff;
  --accent: #ff650f;
  --accent-dark: #d94b00;
  --ink: #0d1b2f;
  --muted: #5e6c81;
  --line: #dce4ef;
  --surface: #f5f8fc;
  --white: #fff;
  --success: #138a58;
  --shadow-sm: 0 10px 30px rgba(17, 38, 72, .08);
  --shadow-lg: 0 28px 80px rgba(6, 47, 114, .16);
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 30px;
  --section-space: clamp(72px, 8vw, 120px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 108px; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--brand); text-underline-offset: 3px; }
a:hover { color: var(--brand-dark); }
button, input, select, textarea { font: inherit; }
::selection { background: #dbe9ff; color: var(--brand-deep); }

h1, h2, h3, h4, h5, h6 {
  color: var(--ink);
  letter-spacing: -.025em;
  line-height: 1.15;
  font-weight: 760;
}
h1 { font-size: clamp(2.55rem, 6vw, 5.35rem); }
h2 { font-size: clamp(2rem, 4vw, 3.55rem); }
h3 { font-size: clamp(1.2rem, 2.3vw, 1.65rem); }
p { color: var(--muted); }

.container { max-width: 1240px; }
.section { padding: var(--section-space) 0; }
.section-sm { padding: clamp(52px, 6vw, 82px) 0; }
.section-soft { background: var(--surface); }
.section-dark { background: var(--brand-deep); color: #fff; }
.section-dark h2, .section-dark h3, .section-dark p { color: #fff; }
.section-dark p { opacity: .78; }

.skip-link {
  position: fixed; left: 12px; top: -60px; z-index: 100000;
  background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 8px;
}
.skip-link:focus { top: 12px; color: #fff; }

.icon { width: 1.15em; height: 1.15em; flex: 0 0 auto; vertical-align: -.16em; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--brand); font-size: .77rem; font-weight: 800;
  letter-spacing: .13em; text-transform: uppercase; margin-bottom: 14px;
}
.eyebrow::before { content: ""; width: 24px; height: 2px; background: var(--accent); border-radius: 999px; }
.eyebrow--light { color: #fff; }
.eyebrow--light::before { background: #ff9a60; }
.section-heading { max-width: 780px; margin-bottom: 46px; }
.section-heading.text-center { margin-left: auto; margin-right: auto; }
.section-heading p { font-size: clamp(1rem, 1.5vw, 1.18rem); margin: 16px 0 0; }

.btn {
  --bs-btn-font-weight: 720;
  border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: .72rem 1.2rem; border-width: 1px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn .icon { width: 18px; height: 18px; }
.btn-brand {
  background: linear-gradient(135deg, var(--brand), #0968dc); color: #fff; border-color: transparent;
  box-shadow: 0 10px 24px rgba(11, 78, 177, .22);
}
.btn-brand:hover, .btn-brand:focus { color: #fff; background: linear-gradient(135deg, var(--brand-dark), var(--brand)); box-shadow: 0 14px 28px rgba(11,78,177,.28); }
.btn-accent { background: linear-gradient(135deg, var(--accent), #ff8b32); border-color: transparent; color: #fff; box-shadow: 0 10px 24px rgba(255,101,15,.24); }
.btn-accent:hover { color: #fff; background: linear-gradient(135deg, var(--accent-dark), var(--accent)); }
.btn-ghost { color: var(--brand-dark); background: var(--brand-soft); border-color: transparent; }
.btn-ghost:hover { color: var(--brand-deep); background: #dce9ff; }
.btn-outline-brand { border-color: #b8cbe8; color: var(--brand-dark); background: #fff; }
.btn-outline-brand:hover { background: var(--brand-soft); border-color: var(--brand); color: var(--brand-dark); }
.text-link { display: inline-flex; align-items: center; gap: 7px; font-weight: 760; text-decoration: none; color: var(--brand); }
.text-link .icon { transition: transform .2s ease; }
.text-link:hover .icon { transform: translateX(4px); }

.site-topbar { background: var(--brand-deep); color: #dbe9ff; font-size: .78rem; padding: 8px 0; }
.site-topbar p { color: #dbe9ff; }
.topbar-links { display: flex; align-items: center; gap: 22px; }
.topbar-links a, .topbar-links span { display: inline-flex; align-items: center; gap: 6px; color: #dbe9ff; text-decoration: none; }
.topbar-links a:hover { color: #fff; }

.site-header { background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(220,228,239,.8); backdrop-filter: blur(16px); z-index: 1040; transition: box-shadow .25s ease; }
.site-header.is-scrolled { box-shadow: 0 10px 30px rgba(17,38,72,.08); }
.site-header .navbar { min-height: 78px; padding: 8px 0; }
.navbar-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.brand-mark { object-fit: contain; }
.brand-copy { display: flex; flex-direction: column; line-height: .9; letter-spacing: .13em; }
.brand-copy strong { font-size: 1rem; color: var(--brand-dark); letter-spacing: .16em; }
.brand-copy small { color: var(--accent); font-weight: 800; font-size: .63rem; letter-spacing: .23em; margin-top: 6px; }
.navbar-nav { gap: 2px; }
.navbar .nav-link { color: #334156; font-weight: 690; padding: .78rem .83rem !important; border-radius: 9px; position: relative; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--brand); background: var(--brand-soft); }
.navbar-toggler { border: 0; width: 44px; height: 44px; padding: 9px; display: grid; align-content: center; gap: 5px; box-shadow: none !important; }
.navbar-toggler span { display: block; height: 2px; width: 24px; background: var(--brand-dark); border-radius: 999px; }
.nav-actions { display: flex; gap: 9px; align-items: center; }

.dropdown-menu { border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-lg); padding: 0; overflow: hidden; margin-top: 12px !important; }
.mega-menu { width: min(880px, calc(100vw - 32px)); display: none; grid-template-columns: 280px 1fr; }
.dropdown-menu.show { display: grid; }
.mega-menu__intro { padding: 30px; background: linear-gradient(145deg, var(--brand-deep), #083f95); color: #fff; }
.mega-menu__intro h2 { color: #fff; font-size: 1.5rem; margin: 0 0 12px; }
.mega-menu__intro p { color: rgba(255,255,255,.73); font-size: .92rem; }
.mega-menu__intro .text-link { color: #fff; }
.mega-menu__links { padding: 18px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; background: #fff; }
.mega-link { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; text-decoration: none; color: var(--ink); }
.mega-link:hover { background: var(--surface); color: var(--brand); }
.mega-link span:last-child { display: flex; flex-direction: column; line-height: 1.25; }
.mega-link strong { font-size: .9rem; }
.mega-link small { color: var(--muted); font-size: .72rem; margin-top: 3px; }
.mega-code { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; font-size: .68rem; font-weight: 850; color: #fff; background: var(--brand); }

.hero { position: relative; overflow: hidden; padding: clamp(70px, 9vw, 128px) 0 clamp(80px, 10vw, 140px); background: radial-gradient(circle at 80% 10%, #dceaff 0, transparent 35%), linear-gradient(180deg,#fff 0%,#f7faff 100%); }
.hero::before { content:""; position:absolute; inset:auto -160px -250px auto; width:600px; height:600px; border-radius:50%; border:90px solid rgba(255,101,15,.06); }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.03fr) minmax(430px,.97fr); gap: clamp(42px,6vw,80px); align-items: center; }
.hero h1 { margin: 0 0 24px; max-width: 760px; }
.hero h1 .accent { color: var(--accent); }
.hero .lead { font-size: clamp(1.08rem, 1.7vw, 1.3rem); max-width: 680px; margin-bottom: 30px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 18px; }
.hero-proof span { display: inline-flex; align-items: center; gap: 7px; color: #3e4e64; font-size: .9rem; font-weight: 650; }
.hero-proof .icon { color: var(--success); }

.dashboard-mockup { position: relative; max-width: 600px; margin-left: auto; }
.dashboard-shell { border-radius: 24px; background: #fff; border: 1px solid #dbe5f3; box-shadow: var(--shadow-lg); overflow: hidden; transform: perspective(1200px) rotateY(-3deg) rotateX(1deg); }
.dashboard-bar { height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 17px; background: #f8faff; border-bottom: 1px solid #e6edf6; }
.dashboard-dots { display: flex; gap: 6px; }
.dashboard-dots span { width: 8px; height: 8px; border-radius: 50%; background: #d4deeb; }
.dashboard-brand { font-size: .68rem; color: var(--brand); font-weight: 850; letter-spacing: .14em; }
.dashboard-body { display: grid; grid-template-columns: 110px 1fr; min-height: 400px; }
.dashboard-side { background: linear-gradient(180deg,var(--brand-deep),#073b8c); padding: 20px 12px; }
.dashboard-side span { display:block; height:10px; background:rgba(255,255,255,.16); border-radius:7px; margin-bottom:15px; }
.dashboard-side span:first-child { background:rgba(255,255,255,.85); width:72%; }
.dashboard-content { padding: 22px; background: #f7f9fc; }
.dashboard-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.dashboard-title strong { color:var(--ink); }
.dashboard-title span { width:90px; height:28px; background:#e4ecf8; border-radius:8px; }
.kpi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }
.kpi { background:#fff; border:1px solid #e1e9f3; border-radius:13px; padding:14px; }
.kpi small { display:block; color:#738197; font-size:.58rem; margin-bottom:7px; }
.kpi strong { display:block; font-size:.98rem; color:var(--ink); }
.kpi em { display:block; font-style:normal; font-size:.55rem; color:var(--success); margin-top:4px; }
.chart-panel { margin-top:13px; display:grid; grid-template-columns:1.35fr .65fr; gap:11px; }
.chart-card { background:#fff; border:1px solid #e1e9f3; border-radius:13px; padding:15px; min-height:190px; }
.chart-label { height:9px; width:105px; background:#dfe7f2; border-radius:8px; margin-bottom:20px; }
.line-chart { height:100px; display:flex; align-items:flex-end; gap:9px; border-bottom:1px solid #e1e9f3; }
.line-chart i { flex:1; display:block; border-radius:6px 6px 0 0; background:linear-gradient(180deg,#3c8bf0,#0b4eb1); height:var(--h); }
.donut { width:105px; height:105px; border-radius:50%; margin:16px auto 0; background:conic-gradient(var(--brand) 0 44%,var(--accent) 44% 72%,#49b998 72% 88%,#dbe5f3 88%); position:relative; }
.donut::after { content:""; position:absolute; inset:24px; border-radius:50%; background:#fff; }
.mockup-badge { position:absolute; right:-20px; bottom:46px; width:180px; padding:16px; border-radius:15px; color:#fff; background:linear-gradient(135deg,var(--accent),#ff8d34); box-shadow:0 20px 45px rgba(255,101,15,.25); }
.mockup-badge strong { display:block; font-size:.9rem; }
.mockup-badge small { opacity:.82; font-size:.7rem; }

.trust-strip { margin-top:-34px; position:relative; z-index:3; }
.trust-panel { background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-sm); padding:20px 24px; display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.trust-item { display:flex; align-items:center; justify-content:center; gap:9px; color:#3d4c62; font-weight:700; font-size:.85rem; text-align:center; }
.trust-item .icon { color:var(--brand); width:20px; height:20px; }

.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.product-card { --tone:#0b4eb1; position:relative; border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden; min-height:292px; box-shadow:0 8px 25px rgba(17,38,72,.04); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.product-card::before { content:""; position:absolute; width:150px; height:150px; border-radius:50%; top:-85px; right:-70px; background:color-mix(in srgb,var(--tone) 12%,transparent); }
.product-card:hover { transform:translateY(-7px); box-shadow:var(--shadow-sm); border-color:color-mix(in srgb,var(--tone) 35%,var(--line)); }
.product-card__link { display:flex; flex-direction:column; height:100%; padding:25px; color:inherit; text-decoration:none; }
.product-card__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; }
.product-code { width:52px; height:52px; display:grid; place-items:center; border-radius:15px; background:var(--tone); color:#fff; font-weight:850; letter-spacing:.04em; box-shadow:0 9px 20px color-mix(in srgb,var(--tone) 22%,transparent); }
.product-arrow { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:var(--tone); background:color-mix(in srgb,var(--tone) 8%,#fff); }
.product-category { color:var(--tone); font-size:.74rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; margin:0 0 8px; }
.product-card h3 { margin:0 0 10px; font-size:1.3rem; }
.product-card p:not(.product-category) { font-size:.92rem; margin-bottom:22px; }
.product-card .text-link { margin-top:auto; color:var(--tone); font-size:.88rem; }
.product-card--blue { --tone:#0b4eb1; }
.product-card--orange { --tone:#ef6417; }
.product-card--green { --tone:#16885b; }
.product-card--violet { --tone:#7048bd; }
.product-card--cyan { --tone:#0789a4; }
.product-card--amber { --tone:#b86b00; }
.product-card--indigo { --tone:#434fbd; }
.product-card--brown { --tone:#8a5534; }
.product-card--rose { --tone:#bf4365; }
.product-card--slate { --tone:#43536a; }

.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.feature-card { padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 8px 28px rgba(17,38,72,.04); }
.feature-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:var(--brand-soft); color:var(--brand); margin-bottom:20px; }
.feature-icon .icon { width:24px; height:24px; }
.feature-card h3 { font-size:1.14rem; margin:0 0 10px; }
.feature-card p { margin:0; font-size:.93rem; }

.industry-cloud { display:flex; flex-wrap:wrap; gap:10px; }
.industry-pill { display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border:1px solid var(--line); border-radius:999px; color:#3d4d64; background:#fff; font-weight:700; font-size:.88rem; }
.industry-pill::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--accent); }

.split-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(42px,7vw,90px); align-items:center; }
.list-checks { list-style:none; margin:24px 0 0; padding:0; display:grid; gap:13px; }
.list-checks li { display:flex; gap:10px; color:#38485f; font-weight:620; }
.list-checks .icon { color:var(--success); margin-top:4px; }

.visual-panel { position:relative; padding:30px; border-radius:var(--radius-lg); background:linear-gradient(145deg,#ecf4ff,#fff); border:1px solid #d6e4f7; min-height:450px; display:grid; align-items:center; }
.flow-map { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.flow-node { min-height:130px; padding:22px; border-radius:18px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.flow-node .feature-icon { margin-bottom:14px; }
.flow-node strong { display:block; margin-bottom:5px; }
.flow-node small { color:var(--muted); }
.flow-node:nth-child(2),.flow-node:nth-child(3){ transform:translateY(18px); }

.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; counter-reset:process; }
.process-step { position:relative; padding:28px 24px 24px; border-top:2px solid var(--line); }
.process-step::before { counter-increment:process; content:"0" counter(process); display:block; color:var(--accent); font-size:.76rem; font-weight:850; letter-spacing:.12em; margin-bottom:17px; }
.process-step h3 { font-size:1.08rem; }
.process-step p { font-size:.9rem; margin-bottom:0; }

.stats-panel { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.16); border-radius:20px; overflow:hidden; }
.stat { padding:30px; background:rgba(255,255,255,.06); }
.stat strong { display:block; color:#fff; font-size:clamp(1.6rem,3vw,2.3rem); }
.stat span { color:rgba(255,255,255,.7); font-size:.87rem; }

.page-hero { padding:clamp(62px,8vw,105px) 0; background:radial-gradient(circle at 85% 0,#dceaff 0,transparent 34%),linear-gradient(180deg,#fff,#f5f8fc); border-bottom:1px solid var(--line); }
.page-hero__grid { display:grid; grid-template-columns:1fr .8fr; gap:60px; align-items:center; }
.page-hero h1 { font-size:clamp(2.5rem,5vw,4.6rem); margin:0 0 20px; }
.page-hero p { font-size:clamp(1.04rem,1.6vw,1.25rem); max-width:720px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:7px; color:#718097; font-size:.83rem; margin-bottom:20px; }
.breadcrumbs a { color:var(--brand); text-decoration:none; }
.breadcrumbs span::before { content:"/"; margin-right:7px; color:#a0adbd; }
.page-hero__card { border-radius:24px; background:var(--brand-deep); color:#fff; padding:28px; box-shadow:var(--shadow-lg); position:relative; overflow:hidden; }
.page-hero__card::after { content:""; position:absolute; width:220px; height:220px; right:-110px; bottom:-110px; border:45px solid rgba(255,101,15,.25); border-radius:50%; }
.page-hero__card h2 { color:#fff; font-size:1.25rem; position:relative; z-index:1; }
.page-hero__card ul { position:relative; z-index:1; list-style:none; padding:0; margin:18px 0 0; display:grid; gap:12px; }
.page-hero__card li { display:flex; gap:9px; color:rgba(255,255,255,.83); }
.page-hero__card li .icon { color:#8fe0bd; margin-top:4px; }

.product-hero { --product:#0b4eb1; padding:clamp(65px,8vw,110px) 0; overflow:hidden; background:linear-gradient(180deg,#fff,#f6f9fd); border-bottom:1px solid var(--line); }
.product-hero__grid { display:grid; grid-template-columns:1fr .92fr; gap:clamp(42px,6vw,76px); align-items:center; }
.product-kicker { display:inline-flex; align-items:center; gap:11px; margin-bottom:18px; color:var(--product); font-weight:830; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
.product-kicker span { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:#fff; background:var(--product); letter-spacing:0; }
.product-hero h1 { font-size:clamp(2.55rem,5vw,4.75rem); margin:0 0 20px; }
.product-hero .lead { font-size:clamp(1.05rem,1.55vw,1.23rem); max-width:700px; }
.product-tags { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 30px; }
.product-tags span { padding:8px 12px; border-radius:999px; border:1px solid var(--line); background:#fff; color:#4f5e72; font-size:.8rem; font-weight:700; }
.product-visual { min-height:430px; border-radius:30px; padding:24px; background:linear-gradient(145deg,color-mix(in srgb,var(--product) 92%,#000),color-mix(in srgb,var(--product) 65%,#001b44)); box-shadow:var(--shadow-lg); color:#fff; position:relative; overflow:hidden; }
.product-visual::after { content:""; position:absolute; width:320px; height:320px; right:-160px; top:-160px; border:60px solid rgba(255,255,255,.08); border-radius:50%; }
.product-visual__bar { display:flex; justify-content:space-between; align-items:center; position:relative; z-index:1; }
.product-visual__brand { font-size:.7rem; letter-spacing:.16em; font-weight:850; }
.product-visual__status { font-size:.65rem; padding:6px 9px; border-radius:999px; background:rgba(255,255,255,.14); }
.product-visual__cards { margin-top:35px; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; position:relative; z-index:1; }
.product-visual__card { min-height:126px; padding:18px; border-radius:16px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(8px); }
.product-visual__card:first-child { grid-column:span 2; min-height:135px; }
.product-visual__card small { display:block; opacity:.7; margin-bottom:8px; }
.product-visual__card strong { display:block; font-size:1.2rem; }
.product-bars { display:flex; align-items:flex-end; height:52px; gap:7px; margin-top:15px; }
.product-bars i { flex:1; height:var(--h); background:rgba(255,255,255,.75); border-radius:5px 5px 0 0; }

.audience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.audience-card { padding:23px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.audience-card strong { display:block; margin-bottom:5px; }
.audience-card span { color:var(--muted); font-size:.88rem; }

.module-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.module-card { padding:25px; border-radius:18px; border:1px solid var(--line); background:#fff; }
.module-card .feature-icon { margin-bottom:16px; }
.module-card h3 { font-size:1.08rem; }
.module-card p { font-size:.9rem; margin:0; }

.workflow-panel { background:var(--brand-deep); border-radius:var(--radius-lg); padding:clamp(32px,5vw,60px); color:#fff; overflow:hidden; position:relative; }
.workflow-panel h2 { color:#fff; }
.workflow-panel p { color:rgba(255,255,255,.72); }
.workflow-list { margin-top:35px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.workflow-step { padding:20px; border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(255,255,255,.06); }
.workflow-step span { display:block; color:#ffab73; font-weight:850; font-size:.72rem; letter-spacing:.12em; margin-bottom:10px; }
.workflow-step strong { color:#fff; display:block; font-size:.95rem; }
.workflow-step small { display:block; color:rgba(255,255,255,.62); margin-top:7px; }

.gallery-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.gallery-card { border:1px solid var(--line); border-radius:20px; background:#fff; overflow:hidden; box-shadow:var(--shadow-sm); }
.gallery-card__image { aspect-ratio:16/9; background:#eef3f9; overflow:hidden; }
.gallery-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.gallery-card:hover img { transform:scale(1.025); }
.gallery-card__body { padding:18px 20px; }
.gallery-card__body strong { display:block; }
.gallery-card__body small { color:var(--muted); }

.faq-wrap { max-width:900px; margin:0 auto; }
.accordion-item { border:1px solid var(--line) !important; border-radius:14px !important; overflow:hidden; margin-bottom:12px; }
.accordion-button { font-weight:720; color:var(--ink); padding:20px 22px; box-shadow:none !important; }
.accordion-button:not(.collapsed) { color:var(--brand); background:var(--brand-soft); }
.accordion-body { color:var(--muted); padding:20px 22px; }

.contact-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:34px; align-items:start; }
.contact-card { border:1px solid var(--line); border-radius:20px; background:#fff; padding:28px; box-shadow:var(--shadow-sm); }
.contact-method { display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--line); }
.contact-method:last-child { border-bottom:0; }
.contact-method .feature-icon { width:42px; height:42px; margin:0; flex:0 0 auto; }
.contact-method strong { display:block; font-size:.92rem; }
.contact-method a,.contact-method span { color:var(--muted); text-decoration:none; font-size:.9rem; }
.contact-form { padding:clamp(25px,4vw,42px); border-radius:24px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.form-label { font-size:.85rem; font-weight:720; color:#344359; }
.form-control,.form-select { border-color:#cfd9e7; border-radius:11px; padding:.78rem .9rem; min-height:49px; color:var(--ink); }
.form-control:focus,.form-select:focus { border-color:var(--brand); box-shadow:0 0 0 .22rem rgba(11,78,177,.11); }
.form-check-label { font-size:.82rem; color:var(--muted); }
.form-note { font-size:.78rem; color:#758399; }
.honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.alert { border-radius:13px; }

.legal-content { max-width:900px; margin:auto; }
.legal-content h2 { font-size:1.45rem; margin-top:38px; }
.legal-content h3 { font-size:1.08rem; margin-top:26px; }
.legal-content p,.legal-content li { color:var(--muted); }
.legal-meta { display:inline-flex; padding:8px 12px; border-radius:999px; background:var(--brand-soft); color:var(--brand); font-size:.8rem; font-weight:700; }

.footer-cta { background:linear-gradient(180deg,#fff 50%,var(--brand-deep) 50%); padding-top:55px; }
.footer-cta__panel { display:grid; grid-template-columns:1.25fr .75fr; gap:40px; align-items:center; padding:clamp(32px,5vw,58px); border-radius:28px; background:linear-gradient(135deg,#0b4eb1,#063478 70%); box-shadow:0 30px 80px rgba(4,31,77,.25); position:relative; overflow:hidden; }
.footer-cta__panel::after { content:""; position:absolute; width:320px; height:320px; right:-170px; top:-180px; border:55px solid rgba(255,101,15,.27); border-radius:50%; }
.footer-cta h2 { color:#fff; margin:0 0 13px; font-size:clamp(1.8rem,3.4vw,3rem); }
.footer-cta p { color:rgba(255,255,255,.72); margin:0; max-width:720px; }
.footer-cta__actions { display:flex; flex-direction:column; gap:10px; position:relative; z-index:1; }
.site-footer { background:var(--brand-deep); color:#fff; padding:82px 0 28px; }
.footer-main { padding-bottom:55px; }
.footer-brand { display:inline-flex; align-items:center; gap:11px; text-decoration:none; color:#fff; }
.footer-brand span { display:flex; flex-direction:column; line-height:.9; }
.footer-brand strong { color:#fff; letter-spacing:.16em; }
.footer-brand small { color:#ff8d48; font-size:.62rem; font-weight:850; letter-spacing:.22em; margin-top:6px; }
.footer-summary { color:rgba(255,255,255,.68); max-width:390px; margin:20px 0; }
.trust-row { display:flex; flex-wrap:wrap; gap:13px; }
.trust-row span { display:inline-flex; align-items:center; gap:7px; color:#c7d6eb; font-size:.78rem; }
.site-footer h3 { color:#fff; font-size:.93rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:20px; }
.footer-links,.footer-contact { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.footer-links--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.footer-links a,.footer-contact a,.footer-contact span { color:rgba(255,255,255,.66); text-decoration:none; font-size:.87rem; }
.footer-links a:hover,.footer-contact a:hover { color:#fff; }
.footer-contact li { display:flex; align-items:flex-start; gap:9px; }
.footer-contact .icon { color:#7fb0f2; margin-top:4px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding-top:24px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.footer-bottom p { color:rgba(255,255,255,.55); margin:0; font-size:.8rem; }
.footer-bottom div { display:flex; flex-wrap:wrap; gap:16px; }
.footer-bottom a { color:rgba(255,255,255,.55); font-size:.78rem; text-decoration:none; }
.footer-bottom a:hover { color:#fff; }

.floating-whatsapp { position:fixed; right:20px; bottom:20px; z-index:1030; display:flex; align-items:center; gap:9px; padding:11px 15px; background:#20a864; color:#fff; border-radius:999px; text-decoration:none; font-weight:760; box-shadow:0 15px 35px rgba(25,135,84,.3); }
.floating-whatsapp svg { width:24px; height:24px; }
.floating-whatsapp:hover { color:#fff; background:#178c51; transform:translateY(-2px); }
.back-to-top { position:fixed; right:24px; bottom:83px; z-index:1029; width:42px; height:42px; border:0; border-radius:50%; background:var(--brand-deep); color:#fff; display:grid; place-items:center; opacity:0; visibility:hidden; transform:translateY(10px); transition:.2s ease; box-shadow:var(--shadow-sm); }
.back-to-top .icon { transform:rotate(-90deg); }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:none; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .65s ease; }
.reveal.is-visible { opacity:1; transform:none; }

@media (min-width:1200px) {
  .navbar .dropdown:hover > .dropdown-menu { display:grid; }
}
@media (max-width:1199.98px) {
  .navbar-collapse { position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); padding:18px max(20px,calc((100vw - 1140px)/2)); box-shadow:var(--shadow-sm); max-height:calc(100vh - 84px); overflow:auto; }
  .navbar-nav { align-items:stretch !important; }
  .nav-actions { margin-top:14px; }
  .nav-actions .btn { flex:1; }
  .mega-menu { width:100%; grid-template-columns:1fr; box-shadow:none; margin-top:3px !important; }
  .mega-menu__intro { display:none; }
  .mega-menu__links { grid-template-columns:repeat(2,1fr); border:1px solid var(--line); border-radius:13px; }
  .hero-grid,.product-hero__grid { grid-template-columns:1fr 1fr; }
  .product-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:991.98px) {
  .hero-grid,.product-hero__grid,.page-hero__grid,.split-layout,.contact-layout,.footer-cta__panel { grid-template-columns:1fr; }
  .hero { padding-top:70px; }
  .dashboard-mockup { margin:0 auto; width:100%; }
  .trust-panel { grid-template-columns:repeat(3,1fr); }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .feature-grid,.module-grid { grid-template-columns:repeat(2,1fr); }
  .process-grid,.workflow-list { grid-template-columns:repeat(2,1fr); }
  .audience-grid { grid-template-columns:repeat(2,1fr); }
  .footer-cta__actions { flex-direction:row; flex-wrap:wrap; }
}
@media (max-width:767.98px) {
  :root { --section-space:72px; }
  body { font-size:15.5px; }
  .site-header .navbar { min-height:70px; }
  .brand-mark { width:43px; height:43px; }
  .brand-copy strong { font-size:.9rem; }
  .mega-menu__links { grid-template-columns:1fr; }
  .hero h1 { font-size:clamp(2.45rem,13vw,4rem); }
  .dashboard-shell { transform:none; }
  .dashboard-body { grid-template-columns:72px 1fr; min-height:330px; }
  .dashboard-content { padding:14px; }
  .kpi-grid { grid-template-columns:1fr 1fr; }
  .kpi:nth-child(3){ display:none; }
  .chart-panel { grid-template-columns:1fr; }
  .chart-card:last-child { display:none; }
  .mockup-badge { right:10px; bottom:-25px; }
  .trust-panel { grid-template-columns:repeat(2,1fr); padding:18px 12px; }
  .trust-item:last-child { grid-column:span 2; }
  .product-grid,.feature-grid,.module-grid,.gallery-grid { grid-template-columns:1fr; }
  .process-grid,.workflow-list,.audience-grid,.stats-panel { grid-template-columns:1fr 1fr; }
  .flow-map { grid-template-columns:1fr; }
  .flow-node:nth-child(2),.flow-node:nth-child(3){ transform:none; }
  .visual-panel { min-height:auto; padding:20px; }
  .product-visual { min-height:380px; }
  .footer-cta__panel { padding:30px 24px; }
  .footer-cta__actions { flex-direction:column; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
  .floating-whatsapp span { display:none; }
  .floating-whatsapp { width:52px; height:52px; padding:0; justify-content:center; }
}
@media (max-width:479.98px) {
  .hero-actions .btn,.product-hero .btn { width:100%; }
  .hero-proof { display:grid; gap:10px; }
  .trust-panel { grid-template-columns:1fr; }
  .trust-item:last-child { grid-column:auto; }
  .process-grid,.workflow-list,.audience-grid,.stats-panel { grid-template-columns:1fr; }
  .product-visual { padding:17px; min-height:350px; }
  .product-visual__cards { grid-template-columns:1fr; }
  .product-visual__card:first-child { grid-column:auto; }
  .product-visual__card:nth-child(3){ display:none; }
  .footer-links--two { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
  .reveal { opacity:1; transform:none; }
}
