:root {
  --ip-navy: #071d4a;
  --ip-blue: #0b63ff;
  --ip-cyan: #17d6f2;
  --ip-violet: #7a2cff;
  --ip-ink: #10213d;
  --ip-muted: #66758d;
  --ip-soft: #f5f8ff;
  --ip-line: #e4ebf7;
}
body { color: var(--ip-ink); }
.header { background: rgba(255,255,255,.94); box-shadow: 0 8px 30px rgba(7,29,74,.06); }
.header .navbar-brand img { max-height: 48px; }
.ipcard-hero { padding: 92px 0 82px; background: radial-gradient(circle at 82% 18%, rgba(23,214,242,.22), transparent 29%), radial-gradient(circle at 72% 76%, rgba(122,44,255,.16), transparent 28%), linear-gradient(135deg,#f7fbff 0%,#eef5ff 52%,#f8f5ff 100%); overflow: hidden; }
.ipcard-hero .eyebrow { display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border:1px solid rgba(11,99,255,.15); border-radius:999px; background:#fff; color:var(--ip-blue); font-weight:700; font-size:14px; }
.ipcard-hero h1 { font-size: clamp(44px,5.4vw,74px); line-height:1.02; letter-spacing:-.04em; color:var(--ip-navy); max-width:760px; }
.ipcard-hero .gradient-word { background:linear-gradient(90deg,var(--ip-blue),var(--ip-cyan),var(--ip-violet)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ipcard-hero .lead { color:var(--ip-muted); font-size:20px; line-height:1.7; max-width:650px; }
.ipcard-hero .hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.ipcard-btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:52px; padding:0 24px; border-radius:14px; background:linear-gradient(90deg,var(--ip-blue),#217dff); color:#fff!important; font-weight:700; box-shadow:0 14px 30px rgba(11,99,255,.22); text-decoration:none!important; }
.ipcard-btn-secondary { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:52px; padding:0 24px; border-radius:14px; background:#fff; color:var(--ip-navy)!important; border:1px solid var(--ip-line); font-weight:700; text-decoration:none!important; }
.ipcard-proof { display:flex; flex-wrap:wrap; gap:18px; margin-top:26px; color:#52627a; font-size:14px; }
.ipcard-proof span { display:flex; align-items:center; gap:7px; }
.ipcard-proof i { color:var(--ip-blue); }
.ipcard-mockup { position:relative; max-width:470px; margin:0 auto; }
.ipcard-card-preview { position:relative; border-radius:28px; padding:28px; background:linear-gradient(145deg,#071d4a 0%,#0a3b91 64%,#0b63ff 100%); color:#fff; box-shadow:0 34px 75px rgba(7,29,74,.28); min-height:310px; overflow:hidden; }
.ipcard-card-preview:after { content:""; position:absolute; width:220px; height:220px; right:-60px; top:-60px; border-radius:50%; background:linear-gradient(135deg,rgba(23,214,242,.55),rgba(122,44,255,.28)); filter:blur(2px); }
.ipcard-card-preview .brand-logo { width:112px; height:auto; filter:brightness(0) invert(1); opacity:.96; position:relative; z-index:2; }
.ipcard-card-preview .avatar { width:76px; height:76px; border-radius:22px; background:linear-gradient(135deg,#fff,#d8e9ff); display:flex; align-items:center; justify-content:center; color:var(--ip-blue); font-size:34px; margin-top:26px; position:relative; z-index:2; }
.ipcard-card-preview .person { position:relative; z-index:2; margin-top:18px; }
.ipcard-card-preview .person h3 { color:#fff; font-size:28px; margin:0 0 5px; }
.ipcard-card-preview .person p { margin:0; color:rgba(255,255,255,.76); }
.ipcard-card-preview .mini-actions { display:flex; gap:10px; margin-top:22px; position:relative; z-index:2; }
.ipcard-card-preview .mini-actions span { width:42px; height:42px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.16); }
.ipcard-chip { position:absolute; z-index:4; background:#fff; border:1px solid var(--ip-line); box-shadow:0 18px 36px rgba(7,29,74,.13); border-radius:15px; padding:11px 14px; font-weight:700; font-size:14px; color:var(--ip-navy); }
.ipcard-chip i { color:var(--ip-blue); margin-right:7px; }
.ipcard-chip.one { top:34px; right:-36px; }
.ipcard-chip.two { bottom:48px; left:-42px; }
.ipcard-section { padding:90px 0; }
.ipcard-section.soft { background:var(--ip-soft); }
.ipcard-section-head { max-width:720px; margin:0 auto 48px; text-align:center; }
.ipcard-section-head .kicker { color:var(--ip-blue); font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:13px; }
.ipcard-section-head h2 { color:var(--ip-navy); font-size:clamp(32px,4vw,48px); line-height:1.12; letter-spacing:-.025em; margin:10px 0 14px; }
.ipcard-section-head p { color:var(--ip-muted); font-size:18px; }
.ipcard-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ipcard-feature-card { background:#fff; border:1px solid var(--ip-line); border-radius:20px; padding:26px; box-shadow:0 12px 30px rgba(7,29,74,.05); height:100%; }
.ipcard-feature-card .icon { width:50px; height:50px; border-radius:15px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,rgba(11,99,255,.10),rgba(23,214,242,.16)); color:var(--ip-blue); font-size:21px; margin-bottom:18px; }
.ipcard-feature-card h3 { color:var(--ip-navy); font-size:20px; margin-bottom:10px; }
.ipcard-feature-card p { color:var(--ip-muted); margin:0; line-height:1.7; }
.ipcard-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ipcard-step { position:relative; background:#fff; border:1px solid var(--ip-line); border-radius:20px; padding:26px; }
.ipcard-step .num { width:38px; height:38px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:var(--ip-navy); color:#fff; font-weight:800; margin-bottom:18px; }
.ipcard-step h3 { color:var(--ip-navy); font-size:21px; }
.ipcard-step p { color:var(--ip-muted); margin:0; line-height:1.65; }
.pricing-plan-section { padding-top:90px; background:#fff; }
.pricing-plan-section .section-heading h2 { color:var(--ip-navy); }
.pricing-card { border-radius:22px!important; border:1px solid var(--ip-line)!important; box-shadow:0 14px 36px rgba(7,29,74,.07)!important; }
.pricing-card .card-title { color:var(--ip-blue)!important; }
.contact-section { background:var(--ip-soft); }
@media (max-width: 991px) { .ipcard-hero { padding:68px 0 60px; } .ipcard-hero h1 { font-size:52px; } .ipcard-mockup { margin-top:40px; } .ipcard-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ipcard-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .ipcard-chip.one { right:0; } .ipcard-chip.two { left:0; } }
@media (max-width: 575px) { .ipcard-hero { padding:52px 0; } .ipcard-hero h1 { font-size:42px; } .ipcard-hero .lead { font-size:18px; } .ipcard-hero .hero-actions a { width:100%; } .ipcard-feature-grid,.ipcard-steps { grid-template-columns:1fr; } .ipcard-section { padding:66px 0; } .ipcard-chip { display:none; } }

/* IPCard Frontend Revision v1.1 */
.header .navbar-brand img { max-height:64px; width:auto!important; }
.ipcard-mockup { padding-bottom:34px; }
.ipcard-chip.two { bottom:-8px; left:28px; max-width:calc(100% - 56px); white-space:normal; }
.ipcard-contact-panel,.ipcard-contact-form { background:#fff; border:1px solid var(--ip-line); border-radius:24px; padding:34px; box-shadow:0 16px 38px rgba(7,29,74,.07); }
.ipcard-contact-kicker { display:inline-block; color:var(--ip-blue); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; }
.ipcard-contact-panel h2 { color:var(--ip-navy); font-size:42px; letter-spacing:-.03em; margin:0 0 14px; }
.ipcard-contact-lead { color:var(--ip-muted); line-height:1.75; margin-bottom:26px; }
.ipcard-contact-address { display:flex; gap:14px; padding:18px; background:var(--ip-soft); border-radius:16px; margin-bottom:22px; }
.ipcard-contact-address i { color:var(--ip-blue); font-size:20px; margin-top:2px; }
.ipcard-contact-address strong,.ipcard-contact-address span { display:block; }
.ipcard-contact-address strong { color:var(--ip-navy); margin-bottom:4px; }
.ipcard-contact-address span { color:var(--ip-muted); line-height:1.55; }
.ipcard-whatsapp-cta { display:flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 20px; border-radius:15px; background:#16a34a; color:#fff!important; font-weight:800; text-decoration:none!important; box-shadow:0 14px 28px rgba(22,163,74,.18); }
.ipcard-whatsapp-cta i { font-size:23px; }
.ipcard-contact-note { color:var(--ip-muted); font-size:13px; margin:12px 0 0; text-align:center; }
footer.bg-light { background:linear-gradient(180deg,#eef4ff 0%,#e8f0fb 100%)!important; border-top:1px solid #dbe6f5; }
.curve-shape path { fill:#eef4ff!important; }
footer .footer-img img { max-height:82px!important; width:auto!important; }
.ipcard-legal { padding:130px 0 80px; background:#f7f9fd; min-height:70vh; }
.ipcard-legal-wrap { max-width:920px; margin:0 auto; background:#fff; border:1px solid var(--ip-line); border-radius:24px; padding:42px; box-shadow:0 16px 40px rgba(7,29,74,.06); }
.ipcard-legal h1 { color:var(--ip-navy); font-size:42px; margin-bottom:8px; }
.ipcard-legal h2 { color:var(--ip-navy); font-size:24px; margin-top:30px; margin-bottom:10px; }
.ipcard-legal p,.ipcard-legal li { color:#4e6078; line-height:1.75; }
.ipcard-legal .updated { color:#7b8799; font-size:14px; margin-bottom:28px; }
@media (max-width:991px) { .header .navbar-brand img { max-height:56px; } .ipcard-chip.two { left:24px; right:24px; bottom:-10px; max-width:none; text-align:center; } }
@media (max-width:575px) { .header .navbar-brand img { max-height:48px; } .ipcard-contact-panel,.ipcard-contact-form { padding:24px; border-radius:20px; } .ipcard-contact-panel h2 { font-size:34px; } .ipcard-legal { padding:105px 0 55px; } .ipcard-legal-wrap { padding:26px 20px; border-radius:18px; } .ipcard-legal h1 { font-size:34px; } }


/* IPCard Frontend Revision v1.2 */
:root { --ip-violet:#0b63ff; }
.header .navbar-brand img { height:96px!important; max-height:96px!important; width:auto!important; }
.ipcard-hero { padding-top:140px; }
.ipcard-hero .gradient-word { background:linear-gradient(90deg,var(--ip-blue),#168bff,var(--ip-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ipcard-card-preview:after { background:linear-gradient(135deg,rgba(23,214,242,.52),rgba(11,99,255,.24)); }
.ipcard-mockup { padding-bottom:0; }
.ipcard-chip-stack { position:absolute; z-index:5; top:34px; right:-42px; display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.ipcard-chip-stack .ipcard-chip { position:static; min-width:190px; text-align:left; white-space:nowrap; }
.ipcard-chip-stack .ipcard-chip:last-child { min-width:210px; }
.ipcard-feature-card { transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.ipcard-feature-card:hover { transform:translateY(-4px); border-color:#c9dbfb; box-shadow:0 18px 38px rgba(7,29,74,.09); }
.ipcard-feature-card .icon { width:68px; height:68px; border-radius:20px; font-size:29px; margin-bottom:20px; background:linear-gradient(145deg,#e9f3ff,#dffaff); box-shadow:0 10px 24px rgba(11,99,255,.12); }
.ipcard-step { transition:transform .22s ease, box-shadow .22s ease; }
.ipcard-step:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(7,29,74,.07); }
.ipcard-step .num { width:52px; height:52px; border-radius:16px; font-size:20px; background:linear-gradient(135deg,var(--ip-navy),var(--ip-blue)); box-shadow:0 10px 22px rgba(11,99,255,.16); }

/* Theme-2 purple -> IPCard blue */
.btn-primary,.btn-primary.active,.btn-primary:focus,.btn-primary:hover { background-color:var(--ip-blue)!important; border-color:var(--ip-blue)!important; color:#fff!important; }
.btn-primary-light { background:#fff!important; border-color:var(--ip-blue)!important; color:var(--ip-blue)!important; }
.btn-primary-light.active,.btn-primary-light:focus,.btn-primary-light:hover { background:var(--ip-blue)!important; border-color:var(--ip-blue)!important; color:#fff!important; }
.text-primary,mark { color:var(--ip-blue)!important; }
.bg-primary { background-color:var(--ip-blue)!important; }
.section-heading h2:after { background-color:var(--ip-blue)!important; }
.slick-arrow { background-color:var(--ip-blue)!important; border-color:var(--ip-blue)!important; color:#fff!important; }
.slick-arrow.active,.slick-arrow:active,.slick-arrow:focus,.slick-arrow:hover { background:#fff!important; border-color:var(--ip-blue)!important; color:var(--ip-blue)!important; }
.center-slider .slick-arrow { background:#fff!important; border:none!important; color:var(--ip-blue)!important; }
.pricing-plan-section .pricing-slider .pricing-card .pricing-plan-list li.active-check .check-box { color:var(--ip-blue)!important; }
.pricing-plan-section .pricing-slider .slick-current .pricing-card .price { color:var(--ip-blue)!important; }
.pricing-plan-section .pricing-slider .slick-current .pricing-card .btn-gray { background:var(--ip-blue)!important; color:#fff!important; }
.pricing-plan-section .pricing-slider .slick-dots li.slick-active button:before { color:var(--ip-blue)!important; }
.less-plan-icon-btn,.show-plan-icon-btn { color:var(--ip-blue)!important; }

/* Contact balance: 32% WhatsApp / 68% form */
.ipcard-contact-panel { display:flex; flex-direction:column; }
.ipcard-contact-action { margin-top:auto; }
@media (min-width:992px) {
  .ipcard-contact-left { flex:0 0 32%; max-width:32%; }
  .ipcard-contact-right { flex:0 0 68%; max-width:68%; }
}
.ipcard-contact-form { display:flex; flex-direction:column; }
.ipcard-contact-form .row { flex:1; }
.ipcard-contact-form .row > .col-lg-12:last-child { align-self:flex-end; }

/* Compact template gallery and View More area */
.vcard-template-section { padding-top:42px!important; padding-bottom:42px!important; }
.vcard-template-section .vcard-section { padding-bottom:0!important; margin-bottom:0!important; }
.vcard-template-section .section-heading { margin-bottom:34px!important; }
.center-slider .slick-slide { height:460px!important; }
.vcard-template-section .col-12.text-center.mt-5 { margin-top:26px!important; }

@media (max-width:991px) {
  .header .navbar-brand img { height:72px!important; max-height:72px!important; }
  .ipcard-hero { padding-top:112px; }
  .ipcard-chip-stack { right:0; }
  .center-slider .slick-slide { height:400px!important; }
}

@media (max-width:575px) {
  .header .navbar-brand img { height:60px!important; max-height:60px!important; }
  .ipcard-hero { padding-top:94px; }
  .ipcard-chip-stack { position:relative; top:auto; right:auto; margin-top:14px; align-items:stretch; gap:8px; }
  .ipcard-chip-stack .ipcard-chip { display:block; min-width:0; width:100%; text-align:center; white-space:normal; }
  .ipcard-feature-card .icon { width:62px; height:62px; font-size:27px; }
  .ipcard-step .num { width:48px; height:48px; }
  .vcard-template-section { padding-top:32px!important; padding-bottom:32px!important; }
  .center-slider .slick-slide { height:350px!important; }
  .vcard-template-section .col-12.text-center.mt-5 { margin-top:20px!important; }
}


/* IPCard Frontend Revision v1.3 */
.ipcard-contact-panel,.ipcard-contact-form { display:flex; flex-direction:column; }
.ipcard-contact-action { margin-top:auto; display:flex; flex-direction:column; }
.ipcard-contact-note { margin:0 0 12px; text-align:center; }
.ipcard-submit-wrap { margin-top:auto; }
.ipcard-contact-form > .row { margin-bottom:18px; }
.pricing-plan-section .all-features { display:block; }
.pricing-plan-section .less-plan-features { margin-top:8px; }
@media (max-width:991px) {
  .ipcard-contact-action,.ipcard-submit-wrap { margin-top:22px; }
}

/* IPCard Theme 5 pricing comparison normalization */
#frontPricingTab .pricing-card .card-title {
    color: #0b1f4d !important;
}
#frontPricingTab .pricing-card .price {
    color: var(--ip-blue) !important;
}
#frontPricingTab .pricing-plan-list .fa-check {
    color: var(--ip-blue) !important;
}


.ipcard-feature-card .icon img { width:44px; height:44px; object-fit:contain; display:block; }


/* Theme 5 public inner pages */
.ipcard-theme5-shell .hero-section {
  height:auto!important; min-height:300px; padding:150px 0 72px!important;
  background:radial-gradient(circle at 82% 20%,rgba(23,214,242,.24),transparent 31%),linear-gradient(135deg,var(--ip-navy),var(--ip-blue))!important;
}
.ipcard-theme5-shell .hero-section .container { padding-top:0!important; margin-top:0!important; }
.ipcard-theme5-shell .hero-section h2 { color:#fff!important; font-weight:800; letter-spacing:-.02em; }
.ipcard-theme5-shell .accordion { max-width:920px; margin-inline:auto; }
.ipcard-theme5-shell .container.w-50 { width:min(92%,920px)!important; }
.ipcard-theme5-shell .accordion-item { border:1px solid var(--ip-line); border-radius:16px!important; overflow:hidden; box-shadow:0 10px 28px rgba(7,29,74,.06); }
.ipcard-theme5-shell .accordion-button { font-weight:700; color:var(--ip-ink); padding:20px 22px; }
.ipcard-theme5-shell .accordion-button:not(.collapsed) { color:var(--ip-blue); background:#f0f6ff; box-shadow:none; }
.ipcard-theme5-shell .container.w-75 { width:min(92%,1080px)!important; }
.ipcard-theme5-shell .margin-b-80px > .row { background:#fff; border:1px solid var(--ip-line); border-radius:22px; padding:18px; box-shadow:0 16px 36px rgba(7,29,74,.07); }
.ipcard-theme5-shell .blog-img img { border-radius:16px; }
.ipcard-theme5-shell .blog-detail-img img { border-radius:22px; box-shadow:0 18px 40px rgba(7,29,74,.10); }
.ipcard-theme5-shell .article-content,.ipcard-theme5-shell .about-section .col-lg-8 { color:var(--ip-ink); line-height:1.75; }
.ipcard-theme5-shell .business-directory-card { border:1px solid var(--ip-line)!important; border-radius:20px!important; box-shadow:0 14px 34px rgba(7,29,74,.08)!important; overflow:hidden; transition:.2s ease; }
.ipcard-theme5-shell .business-directory-card:hover { transform:translateY(-4px); box-shadow:0 20px 44px rgba(7,29,74,.12)!important; }
.ipcard-theme5-shell .vcard-template-section { background:linear-gradient(180deg,#f7faff 0%,#fff 100%); }
.ipcard-theme5-shell .template-card { background:#fff; border:1px solid var(--ip-line); border-radius:20px; padding:14px; box-shadow:0 14px 34px rgba(7,29,74,.08); transition:.2s ease; overflow:hidden; }
.ipcard-theme5-shell .template-card:hover { transform:translateY(-5px); box-shadow:0 22px 48px rgba(7,29,74,.13); }
.ipcard-theme5-shell .template-card .card-img { border-radius:14px; overflow:hidden; background:#f5f8ff; }
.ipcard-theme5-shell .template-card h6 { color:var(--ip-ink); font-weight:700; }
@media (max-width:767.98px){
  .ipcard-theme5-shell .hero-section { min-height:240px; padding:125px 0 54px!important; }
  .ipcard-theme5-shell .margin-b-80px > .row { padding:12px; }
}
