/* Shared light hero for Industries / Products / Modules / Services pages */
.ph-hero { --ph-blue:#0d5482; --ph-red:#e72c41; --ph-red-dark:#c9202f; --ph-ink:#0b2538;
  position:relative; overflow:hidden; color:var(--ph-ink); padding:118px 0 26px; min-height:min(calc(100vh - 26px),760px); display:flex; align-items:center;
  background-color:#e9f3fb;
  background-image:linear-gradient(100deg,rgba(233,243,251,.97) 0%,rgba(228,240,250,.94) 38%,rgba(220,235,247,.62) 70%,rgba(220,235,247,.30) 100%),var(--ph-photo);
  background-size:cover,cover; background-position:center,center 42%; background-repeat:no-repeat; }
.ph-hero > .container { width:100%; position:relative; }
.ph-crumbs { margin-bottom:14px; }
.ph-crumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; font-size:13.5px; color:#5b7183; }
.ph-crumbs li + li::before { content:"/"; margin-right:8px; opacity:.5; }
.ph-crumbs a { color:var(--ph-blue); text-decoration:none; }
.ph-crumbs a:hover { color:var(--ph-red); }
.ph-badge { display:inline-block; padding:5px 14px; margin-bottom:12px; border-radius:6px; font-size:12.5px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--ph-red); background:rgba(231,44,65,.08); border:1px solid rgba(231,44,65,.35); }
.ph-hero h1 { color:var(--ph-ink) !important; font-size:clamp(30px,3.1vw,46px) !important; line-height:1.14 !important; margin:0 0 14px !important; letter-spacing:-.4px; font-weight:700; }
.ph-accent { color:var(--ph-blue); text-decoration:underline; text-decoration-color:var(--ph-red); text-decoration-thickness:4px; text-underline-offset:9px; text-decoration-skip-ink:none; }
.ph-lead { color:#3d5365; font-size:16.5px; line-height:1.6; margin:0 0 18px; max-width:650px; }
.ph-chips { list-style:none; display:grid; grid-template-columns:repeat(3,auto); justify-content:start; gap:8px 10px; margin:0 0 20px; padding:0; }
.ph-chips li { display:inline-flex; align-items:center; gap:7px; padding:7px 13px; font-size:14px; font-weight:600; color:var(--ph-blue); background:rgba(255,255,255,.85); border:1px solid rgba(13,84,130,.22); border-radius:8px; white-space:nowrap; }
.ph-chips i { color:var(--ph-red); font-size:15px; }
.ph-cta { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.ph-hero .primary-btn1 { margin:0; }
.ph-hero .ph-cta-main { background:var(--ph-red) !important; border-color:var(--ph-red) !important; }
.ph-hero .ph-cta-main span { color:#fff !important; }
.ph-hero .ph-cta-main:hover { background:var(--ph-red-dark) !important; border-color:var(--ph-red-dark) !important; }
.ph-hero .ph-cta-ghost { background:transparent !important; border:1px solid var(--ph-blue) !important; }
.ph-hero .ph-cta-ghost span { color:var(--ph-blue) !important; }
.ph-hero .ph-cta-ghost:hover { background:var(--ph-blue) !important; }
.ph-hero .ph-cta-ghost:hover span { color:#fff !important; }
.ph-trust { list-style:none; display:flex; flex-wrap:wrap; gap:8px 22px; margin:0; padding:0; font-size:13.5px; color:#4b6173; }
.ph-trust li { display:inline-flex; align-items:center; gap:7px; }
.ph-trust i { color:var(--ph-red); }
.ph-form { border-radius:20px; box-shadow:0 26px 60px rgba(13,84,130,.22); }
.ph-form .quote-form-container { margin:0; background:#fff !important; border-top:4px solid var(--ph-red) !important; }
.ph-form .quote-form-container .primary-btn1 { background:var(--ph-blue) !important; border-color:var(--ph-blue) !important; }
.ph-form .quote-form-container .primary-btn1 span { color:#fff !important; }
.ph-form .quote-form-container .primary-btn1:hover { background:var(--ph-red) !important; border-color:var(--ph-red) !important; }
@media (min-width:992px) and (max-width:1199px) { .ph-chips { grid-template-columns:repeat(2,auto); } .ph-lead { max-width:100%; } }
@media (max-width:991px) {
  .ph-hero { padding:110px 0 40px; min-height:0; background-image:linear-gradient(180deg,rgba(233,243,251,.95) 0%,rgba(228,240,250,.9) 100%),var(--ph-photo-sm,var(--ph-photo)); }
  .ph-chips { grid-template-columns:repeat(2,auto); } .ph-chips li { white-space:normal; }
}
@media (max-width:575px) { .ph-chips { grid-template-columns:1fr; } }
@media (max-height:700px) and (min-width:992px) { .ph-hero { padding-top:108px; padding-bottom:20px; } .ph-lead { font-size:15.5px; margin-bottom:14px; } .ph-chips { margin-bottom:14px; } .ph-cta { margin-bottom:14px; } }

/* Module variant: dotted background, no photo */
.ph-hero--module { background-color:#f2f7fb; background-image:radial-gradient(#c3d6e5 1.2px,transparent 1.2px); background-size:22px 22px; }
.ph-hero--module::before { content:""; position:absolute; inset:0; background:linear-gradient(100deg,rgba(242,247,251,.96) 0%,rgba(242,247,251,.5) 60%,rgba(13,84,130,.07) 100%); pointer-events:none; }
.ph-watermark { position:absolute; right:-40px; bottom:-60px; font-size:420px; line-height:1; color:#0d5482; opacity:.07; pointer-events:none; }
.ph-mock { display:none !important; position:absolute; left:50%; bottom:26px; display:flex; align-items:flex-end; gap:10px; width:230px; height:110px; padding:12px 14px; transform:translateX(-30%); background:rgba(255,255,255,.7); border:1px solid rgba(13,84,130,.18); border-top:4px solid #e72c41; border-radius:10px; box-shadow:0 14px 30px rgba(13,84,130,.12); pointer-events:none; }
.ph-mock span { flex:1; height:var(--h); border-radius:4px 4px 0 0; background:linear-gradient(180deg,#0d5482,#4f93bf); }
.ph-mock span:nth-child(even) { background:linear-gradient(180deg,#e72c41,#f27a89); }
@media (max-width:1199px) { .ph-mock { display:none; } }
@media (max-width:991px) { .ph-hero--module { background-image:radial-gradient(#c3d6e5 1.2px,transparent 1.2px); } .ph-watermark { font-size:260px; } }

/* Service pages: white panel over a photo (same look as the home hero) */
.sv-hero { --sv-blue:#0d5482; --sv-red:#e72c41; --sv-red-dark:#c9202f; --sv-ink:#0b2538;
  position:relative; overflow:hidden; min-height:min(calc(100vh - 20px),760px); padding:128px 0 48px; display:flex; align-items:center;
  background:linear-gradient(110deg,#e9f3fb 0%,#d9eaf6 52%,#cfe3f2 100%); }
.sv-photo { position:absolute; top:0; right:0; bottom:0; width:62%; background-size:cover; background-position:68% center; background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 34%); mask-image:linear-gradient(90deg,transparent 0%,#000 34%); }
.sv-hero > .container { position:relative; z-index:1; width:100%; }
.sv-panel { background:#fff; padding:30px 38px 30px; border-radius:8px 56px 8px 8px; box-shadow:0 24px 60px rgba(13,84,130,.16); border-top:5px solid var(--sv-red); }
.sv-crumbs { margin-bottom:12px; }
.sv-crumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; font-size:13px; color:#5b7183; }
.sv-crumbs li + li::before { content:"/"; margin-right:8px; opacity:.5; }
.sv-crumbs a { color:var(--sv-blue); text-decoration:none; }
.sv-crumbs a:hover { color:var(--sv-red); }
.sv-badge { display:inline-block; margin-bottom:12px; padding:5px 13px; border-radius:6px; font-size:12.5px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--sv-red); background:rgba(231,44,65,.08); border:1px solid rgba(231,44,65,.35); }
.sv-hero h1 { color:var(--sv-ink) !important; font-size:clamp(28px,2.9vw,42px) !important; line-height:1.14 !important; margin:0 0 12px !important; letter-spacing:-.4px; font-weight:700; text-align:left; }
.sv-accent { color:var(--sv-blue); }
.sv-lead { color:#3d5365; font-size:16px; line-height:1.55; margin:0 0 16px; text-align:left; }
.sv-chips { list-style:none; display:flex; flex-wrap:wrap; gap:8px 10px; margin:0 0 18px; padding:0; }
.sv-chips li { display:inline-flex; align-items:center; gap:7px; padding:6px 12px; font-size:13.5px; font-weight:600; color:var(--sv-blue); background:#f1f7fc; border:1px solid rgba(13,84,130,.22); border-radius:8px; }
.sv-chips i { color:var(--sv-red); }
.sv-cta { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:14px; }
.sv-hero .primary-btn1 { margin:0; }
.sv-hero .sv-cta-main { background:var(--sv-red) !important; border-color:var(--sv-red) !important; }
.sv-hero .sv-cta-main span { color:#fff !important; }
.sv-hero .sv-cta-main:hover { background:var(--sv-red-dark) !important; border-color:var(--sv-red-dark) !important; }
.sv-hero .sv-cta-ghost { background:transparent !important; border:1px solid var(--sv-blue) !important; }
.sv-hero .sv-cta-ghost span { color:var(--sv-blue) !important; }
.sv-hero .sv-cta-ghost:hover { background:var(--sv-blue) !important; }
.sv-hero .sv-cta-ghost:hover span { color:#fff !important; }
.sv-trust { font-size:13.5px; color:#4b6173; display:flex; align-items:center; gap:7px; }
.sv-trust i { color:var(--sv-red); }
@media (max-width:1199px) { .sv-photo { width:70%; } }
@media (max-width:991px) { .sv-hero { min-height:0; padding:110px 0 40px; background:#e9f3fb; } .sv-photo { width:100%; opacity:.3; -webkit-mask-image:none; mask-image:none; } .sv-panel { padding:24px 22px; border-radius:8px 36px 8px 8px; } }
@media (max-height:820px) and (min-width:992px) { .sv-hero { padding-top:108px; padding-bottom:20px; } .sv-panel { padding:22px 32px 20px; } .sv-lead { font-size:15.5px; margin-bottom:12px; } .sv-chips { margin-bottom:14px; } }

/* Industry page content sections */
.ind-sec { padding:64px 0; background:#fff; }
.ind-sec.ind-alt { background:#f5f8fb radial-gradient(#c7d8e6 1.2px,transparent 1.2px) 0 0 / 22px 22px; }
.ind-eyebrow { display:inline-block; margin-bottom:12px; padding:5px 16px; border:1px solid #e72c41; border-radius:999px; font-size:12.5px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:#e72c41; background:rgba(255,255,255,.7); }
.ind-title { margin:0 0 14px; font-size:clamp(26px,2.6vw,36px); line-height:1.2; color:#0b2538; }
.ind-sec p { color:#4b6173; font-size:16.5px; line-height:1.7; }
.ind-sec p a, .ind-links a { color:#0d5482; font-weight:600; text-decoration:underline; }
.ind-sec p a:hover, .ind-links a:hover { color:#e72c41; }
.ind-head { max-width:820px; margin:0 auto 28px; text-align:center; }
.ind-panel { padding:26px; background:#fff; border:1px solid #e3ecf3; border-top:4px solid #e72c41; border-radius:14px; box-shadow:0 18px 40px rgba(13,84,130,.1); }
.ind-panel h3 { margin:0 0 14px; font-size:19px; color:#0b2538; }
.ind-panel ul { list-style:none; margin:0 0 18px; padding:0; }
.ind-panel li { display:flex; gap:10px; align-items:flex-start; padding:7px 0; font-size:15.5px; color:#3d5365; }
.ind-panel li i { color:#e72c41; margin-top:2px; }
.ind-btn { display:inline-block; padding:11px 22px; border-radius:50px; font-weight:700; color:#fff !important; background:#e72c41; text-decoration:none !important; }
.ind-btn:hover { background:#c9202f; }
.ind-card { height:100%; padding:22px; background:#fff; border:1px solid #e3ecf3; border-bottom:3px solid transparent; border-radius:12px; transition:.25s; }
.ind-card:hover { border-bottom-color:#e72c41; box-shadow:0 14px 30px rgba(13,84,130,.12); transform:translateY(-3px); }
.ind-card > i { display:grid; place-items:center; width:46px; height:46px; margin-bottom:14px; border-radius:12px; font-size:22px; color:#0d5482; background:#eaf3fa; }
.ind-card:hover > i { background:#0d5482; color:#fff; }
.ind-card h3 { margin:0 0 8px; font-size:18px; color:#0b2538; }
.ind-card p { margin:0; font-size:15px; line-height:1.55; color:#5b7183; }
.ind-table { background:#fff; border:1px solid #e3ecf3; border-radius:12px; overflow:hidden; }
.ind-table thead th { background:#0d5482; color:#fff; padding:14px 18px; border:0; font-weight:700; }
.ind-table thead th:nth-child(3) { background:#e72c41; }
.ind-table tbody th { width:22%; padding:14px 18px; background:#f4f8fb; color:#0b2538; }
.ind-table td { padding:14px 18px; color:#3d5365; }
.ind-links { margin:22px 0 0; font-size:15px; color:#4b6173; }
body.dark .ind-sec { background:#0e1a24; } body.dark .ind-sec.ind-alt { background:#101c27; }
body.dark .ind-title, body.dark .ind-card h3, body.dark .ind-panel h3 { color:#fff; }
body.dark .ind-sec p, body.dark .ind-card p, body.dark .ind-panel li, body.dark .ind-table td { color:rgba(255,255,255,.75); }
body.dark .ind-card, body.dark .ind-panel, body.dark .ind-table { background:#14212d; border-color:rgba(255,255,255,.08); }
body.dark .ind-table tbody th { background:#0b1e2c; color:#fff; }

/* Check lists: one tick bullet only (no default disc) on every page */
ul.check-list, ul.check-list-v2, .standard-body ul.check-list, .standard-body ul.check-list-v2, .standard-typography ul.check-list-v2 { list-style: none; padding-left: 0; }
ul.check-list li, ul.check-list-v2 li { position: relative; list-style: none; padding-left: 30px; margin-bottom: 14px; }
ul.check-list li::before, ul.check-list-v2 li::before { content: "\F26E"; font-family: "bootstrap-icons"; position: absolute; left: 0; top: 0; color: #e72c41; font-weight: bold; font-size: inherit; line-height: inherit; }

/* Tighter vertical rhythm between page sections */
.standard-headings.pt-100, .standard-headings.pt-120 { padding-top: 60px !important; }
.standard-headings.pb-100, .standard-headings.pb-120 { padding-bottom: 60px !important; }
.standard-headings.mb-120, .standard-headings.mb-100, .mb-120.cta-banner-area { margin-bottom: 60px !important; }
.standard-headings .text-center.mb-60, .standard-headings .mb-60 { margin-bottom: 32px !important; }
.ind-sec { padding: 56px 0; }
@media (max-width: 767px) {
  .standard-headings.pt-100, .standard-headings.pt-120 { padding-top: 40px !important; }
  .standard-headings.pb-100, .standard-headings.pb-120 { padding-bottom: 40px !important; }
}

/* Same tighter spacing for every other full-width section block on the site */
[class*="-section"].pt-100, [class*="-section"].pt-120, [class*="-section"].pt-150, .cta-banner-area.pt-100 { padding-top: 60px !important; }
[class*="-section"].pb-100, [class*="-section"].pb-120 { padding-bottom: 60px !important; }
[class*="-section"].mb-120, [class*="-section"].mb-100, [class*="-page"].mb-120, .cta-banner-area.mb-120, .cta-banner-area.mb-80 { margin-bottom: 60px !important; }
.row.mb-100, .row.mb-80 { margin-bottom: 48px !important; }
@media (max-width: 767px) {
  [class*="-section"].pt-100, [class*="-section"].pt-120, [class*="-section"].pt-150 { padding-top: 40px !important; }
  [class*="-section"].pb-100, [class*="-section"].pb-120 { padding-bottom: 40px !important; }
  [class*="-section"].mb-120, [class*="-section"].mb-100, [class*="-page"].mb-120 { margin-bottom: 40px !important; }
}

/* City / country landing pages: same section look as industry and module pages */
.industry-section, .local-edge-section, .home2-process-section, .cta-section { --dots: radial-gradient(#c7d8e6 1.2px, transparent 1.2px); }
.industry-section { background: linear-gradient(180deg, #fff 0%, #eef5fa 100%) !important; padding-top: 56px !important; padding-bottom: 56px !important; }
.ai-section { background: #f5f8fb radial-gradient(#c7d8e6 1.2px, transparent 1.2px) 0 0 / 22px 22px !important; padding-top: 56px !important; }
.local-edge-section { background: #fff !important; padding-top: 56px !important; }
.modules-section { background: #f5f8fb radial-gradient(#c7d8e6 1.2px, transparent 1.2px) 0 0 / 22px 22px !important; padding-top: 56px !important; }
.home2-process-section { background: linear-gradient(180deg, #fff 0%, #eef5fa 100%) !important; padding-top: 56px !important; padding-bottom: 56px !important; }
.faq-section.pb-80 { background: #f5f8fb radial-gradient(#c7d8e6 1.2px, transparent 1.2px) 0 0 / 22px 22px !important; padding-top: 56px !important; padding-bottom: 56px !important; }
.cta-section.pb-80 { background: #fff !important; padding-top: 40px !important; }
/* section headings and label pills */
.industry-section h2, .modules-section .section-title h2, .home2-process-section .section-title h2, .faq-section .section-title h2, .ai-section .section-title h2 { font-size: clamp(26px, 2.6vw, 36px) !important; line-height: 1.2 !important; }
.home2-process-section .section-title > span, .faq-section .section-title > span, .modules-section .section-title > span { color: #e72c41 !important; background: rgba(255,255,255,.7) !important; border: 1px solid #e72c41 !important; border-radius: 999px !important; }
.ai-section .section-title > span.text-red { display: inline-block !important; padding: 5px 16px; border: 1px solid #e72c41; border-radius: 999px; letter-spacing: 1.6px !important; font-size: 12.5px !important; }
/* cards: soft border, blue icon tile, red hover edge */
.industry-card, .benefit-card, .power-module-card, .ai-feature-card, .step-card-new { border: 1px solid #e3ecf3 !important; border-bottom: 3px solid transparent !important; border-radius: 14px !important; box-shadow: none; background: #fff !important; transition: .25s; }
.industry-card:hover, .benefit-card:hover, .power-module-card:hover, .ai-feature-card:hover, .process-step-item:hover .step-card-new { border-bottom-color: #e72c41 !important; box-shadow: 0 14px 30px rgba(13,84,130,.12) !important; transform: translateY(-3px); }
.industry-card { padding: 28px 24px !important; }
.industry-card .icon, .benefit-card .icon { color: #0d5482 !important; }
.faq-wrapper-premium { background: #fff !important; border: 1px solid #e3ecf3 !important; border-radius: 16px !important; padding: 36px !important; }
.cta-premium-box { border-radius: 20px !important; border-top: 4px solid #e72c41 !important; padding: 56px 40px !important; }
body.dark .industry-section, body.dark .ai-section, body.dark .local-edge-section, body.dark .modules-section, body.dark .home2-process-section, body.dark .faq-section.pb-80, body.dark .cta-section.pb-80 { background: #0e1a24 !important; }
body.dark .industry-card, body.dark .benefit-card, body.dark .power-module-card, body.dark .ai-feature-card, body.dark .step-card-new, body.dark .faq-wrapper-premium { background: #14212d !important; border-color: rgba(255,255,255,.08) !important; }

/* Hover: icon turns white on the blue tile so it stays visible */
.industry-card:hover .icon, .industry-card:hover .icon i, .benefit-card:hover .icon, .benefit-card:hover .icon i { color: #fff !important; }

/* City/country call-to-action banner: smaller type, better spacing */
.cta-premium-box { padding: 44px 40px !important; }
.cta-premium-box h2 { font-size: clamp(26px, 2.6vw, 36px) !important; line-height: 1.2 !important; margin-bottom: 14px !important; }
.cta-premium-box p { font-size: 17px !important; line-height: 1.6 !important; max-width: 760px !important; margin: 0 auto 24px !important; }
.cta-premium-box .product-badge { display: inline-block; margin-bottom: 16px !important; padding: 5px 16px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; background: rgba(231,44,65,.2) !important; color: #fff !important; border: 1px solid #e72c41 !important; }
.cta-premium-box .d-flex.gap-4 { gap: 14px !important; }
