:root {
  --ib-green: #083f30;
  --ib-green-2: #0d5b45;
  --ib-gold: #eacb7f;
  --ib-gold-2: #f6e3ad;
  --ib-ink: #13231f;
  --ib-muted: #64716d;
  --ib-bg: #f7f3ea;
  --ib-card: #ffffff;
  --ib-line: rgba(8, 63, 48, 0.14);
  --ib-shadow: 0 22px 60px rgba(8, 63, 48, 0.12);
  --ib-radius: 26px;
}

.ib-wrap, .ib-wrap * { box-sizing: border-box; }
.ib-wrap { color: var(--ib-ink); font-family: inherit; }
.ib-section { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 72px 0; }
.ib-section + .ib-section { border-top: 1px solid var(--ib-line); }
.ib-section-head { max-width: 820px; margin: 0 auto 34px; text-align: center; }
.ib-section-head h2, .ib-hero h1, .ib-cta h2 { margin: 0; color: var(--ib-green); line-height: 1.05; letter-spacing: -0.04em; }
.ib-section-head h2 { font-size: clamp(2rem, 4vw, 3.3rem); }
.ib-section-head p, .ib-hero__subtitle, .ib-card p, .ib-cta p, .ib-ladder__step p { color: var(--ib-muted); line-height: 1.75; font-size: 1rem; }
.ib-eyebrow { color: var(--ib-green-2) !important; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.76rem !important; margin: 0 0 14px !important; }

.ib-hero { min-height: 640px; display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 36px; align-items: center; padding-top: 88px; }
.ib-hero--compact { min-height: auto; }
.ib-hero__content h1 { font-size: clamp(2.6rem, 7vw, 5.7rem); max-width: 930px; }
.ib-hero__subtitle { max-width: 730px; font-size: clamp(1.05rem, 1.8vw, 1.32rem); margin: 24px 0 0; }
.ib-hero__panel { background: radial-gradient(circle at top right, rgba(234,203,127,.35), transparent 34%), linear-gradient(145deg, var(--ib-green), #041f18); border-radius: var(--ib-radius); padding: 26px; color: #fff; box-shadow: var(--ib-shadow); display: grid; gap: 14px; }
.ib-metric { padding: 20px; border: 1px solid rgba(234,203,127,.24); border-radius: 20px; background: rgba(255,255,255,.06); }
.ib-metric strong { display: block; color: var(--ib-gold); font-size: 1.05rem; margin-bottom: 6px; }
.ib-metric span { color: rgba(255,255,255,.78); line-height: 1.55; }
.ib-status { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; color: var(--ib-green); font-weight: 700; }
.ib-status span { width: 10px; height: 10px; background: #19b36b; border-radius: 999px; box-shadow: 0 0 0 7px rgba(25,179,107,.12); }

.ib-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; align-items: center; }
.ib-actions--center { justify-content: center; }
.ib-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border-radius: 999px; text-decoration: none !important; font-weight: 800; border: 1px solid transparent; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; cursor: pointer; }
.ib-btn:hover { transform: translateY(-2px); }
.ib-btn--primary { background: var(--ib-green); color: #fff !important; box-shadow: 0 14px 28px rgba(8,63,48,.18); }
.ib-btn--ghost { background: #fff; color: var(--ib-green) !important; border-color: var(--ib-line); }
.ib-btn--ghost-light { background: rgba(255,255,255,.12); color: #fff !important; border-color: rgba(255,255,255,.22); }
.ib-btn--small { min-height: 42px; padding: 0 16px; background: rgba(8,63,48,.08); color: var(--ib-green) !important; }

.ib-grid { display: grid; gap: 18px; }
.ib-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ib-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ib-card { background: var(--ib-card); border: 1px solid var(--ib-line); border-radius: var(--ib-radius); padding: 24px; box-shadow: 0 12px 36px rgba(8,63,48,.06); }
.ib-card h3 { color: var(--ib-green); margin: 10px 0 10px; font-size: 1.25rem; line-height: 1.25; letter-spacing: -0.02em; }
.ib-card p { margin: 0; }
.ib-card--path { min-height: 220px; display: flex; flex-direction: column; }
.ib-link { margin-top: auto; color: var(--ib-green) !important; font-weight: 800; text-decoration: none !important; }
.ib-tag { display: inline-flex; width: fit-content; color: var(--ib-green); background: rgba(234,203,127,.32); border: 1px solid rgba(234,203,127,.55); border-radius: 999px; padding: 6px 10px; font-size: .75rem; font-weight: 800; }
.ib-price { color: var(--ib-green) !important; font-size: 1.45rem !important; font-weight: 900; margin-bottom: 10px !important; }
.ib-package ul { padding-left: 18px; margin: 18px 0 22px; color: var(--ib-muted); line-height: 1.65; }
.ib-package li + li { margin-top: 8px; }
.ib-case__meta { color: var(--ib-green-2) !important; font-weight: 800; font-size: .85rem !important; margin-bottom: 12px !important; }
.ib-proof { margin-top: 18px; padding: 16px; border-radius: 18px; background: rgba(8,63,48,.06); color: var(--ib-ink); line-height: 1.6; }

.ib-ladder__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.ib-ladder__step { border-radius: var(--ib-radius); padding: 22px; background: linear-gradient(180deg, #fff, rgba(234,203,127,.18)); border: 1px solid var(--ib-line); }
.ib-ladder__step span { display: inline-flex; color: var(--ib-green); font-weight: 900; margin-bottom: 18px; }
.ib-ladder__step h3 { color: var(--ib-green); margin: 0 0 10px; }

.ib-split { display: grid; grid-template-columns: .95fr 1.05fr; gap: 30px; align-items: center; }
.ib-split .ib-section-head { text-align: left; margin-left: 0; margin-right: 0; }
.ib-checklist { display: grid; gap: 14px; }
.ib-checklist p { display: flex; gap: 12px; align-items: flex-start; }
.ib-checklist span { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: var(--ib-green); color: var(--ib-gold); font-weight: 900; }

.ib-faq__list { display: grid; gap: 12px; max-width: 920px; margin: 0 auto; }
.ib-faq__item { background: #fff; border: 1px solid var(--ib-line); border-radius: 18px; padding: 18px 20px; }
.ib-faq__item summary { cursor: pointer; color: var(--ib-green); font-weight: 900; }
.ib-faq__item p { color: var(--ib-muted); line-height: 1.7; margin: 14px 0 0; }

.ib-cta { width: min(1080px, calc(100% - 32px)); border-radius: 34px; background: radial-gradient(circle at 15% 20%, rgba(234,203,127,.28), transparent 25%), linear-gradient(135deg, var(--ib-green), #031d16); color: #fff; text-align: center; padding: 64px 32px; box-shadow: var(--ib-shadow); }
.ib-cta h2 { color: #fff; font-size: clamp(2rem, 4.6vw, 4rem); max-width: 860px; margin: 0 auto; }
.ib-cta p { color: rgba(255,255,255,.78); max-width: 740px; margin: 20px auto 0; }

.ib-form-section { max-width: 980px; }
.ib-lead-form { background: #fff; border: 1px solid var(--ib-line); border-radius: var(--ib-radius); padding: 26px; box-shadow: var(--ib-shadow); display: grid; gap: 18px; }
.ib-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ib-lead-form label { display: grid; gap: 8px; color: var(--ib-green); font-weight: 800; }
.ib-lead-form input, .ib-lead-form select, .ib-lead-form textarea { width: 100%; border: 1px solid var(--ib-line); border-radius: 14px; padding: 13px 14px; font: inherit; color: var(--ib-ink); background: #fff; }
.ib-lead-form textarea { resize: vertical; }
.ib-hp { position: absolute; left: -9999px; visibility: hidden; }
.ib-alert { padding: 16px 18px; border-radius: 16px; margin-bottom: 18px; font-weight: 800; }
.ib-alert--success { background: rgba(25,179,107,.12); color: #08663c; }
.ib-alert--error { background: rgba(200,30,30,.10); color: #8f1717; }

.rtl .ib-split .ib-section-head { text-align: right; margin-right: 0; }
.rtl .ib-package ul { padding-left: 0; padding-right: 18px; }

@media (max-width: 980px) {
  .ib-hero, .ib-split { grid-template-columns: 1fr; }
  .ib-grid--4, .ib-grid--3, .ib-ladder__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ib-hero { min-height: auto; padding-top: 56px; }
}

@media (max-width: 640px) {
  .ib-section { width: min(100% - 22px, 1180px); padding: 48px 0; }
  .ib-grid--4, .ib-grid--3, .ib-ladder__steps, .ib-form-grid { grid-template-columns: 1fr; }
  .ib-card, .ib-lead-form { padding: 20px; border-radius: 22px; }
  .ib-hero__content h1 { font-size: clamp(2.15rem, 13vw, 3.4rem); }
  .ib-actions, .ib-actions--center { align-items: stretch; }
  .ib-btn { width: 100%; }
  .ib-cta { padding: 44px 20px; border-radius: 26px; }
}

/* v1.1.0+ refinements */
.ib-trust-bar { padding-top: 30px; }
.ib-trust-item { background: linear-gradient(180deg, #fff, rgba(234,203,127,.16)); border: 1px solid var(--ib-line); border-radius: 22px; padding: 20px; min-height: 154px; }
.ib-trust-item strong { display: block; color: var(--ib-green); font-size: 1rem; line-height: 1.25; margin-bottom: 10px; }
.ib-trust-item span { display: block; color: var(--ib-muted); line-height: 1.65; font-size: .95rem; }
.ib-diagnostic { background: linear-gradient(180deg, transparent, rgba(8,63,48,.025)); }
.ib-diagnostic-card { position: relative; overflow: hidden; }
.ib-diagnostic-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg, var(--ib-green), var(--ib-gold)); }
.ib-mini-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.ib-mini-links a { color: var(--ib-green) !important; background: rgba(8,63,48,.06); border: 1px solid var(--ib-line); padding: 8px 12px; border-radius: 999px; text-decoration: none !important; font-weight: 800; font-size: .9rem; }
.ib-contact-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.ib-contact-link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border-radius: 999px; background: #fff; border: 1px solid var(--ib-line); color: var(--ib-green) !important; font-weight: 900; text-decoration: none !important; box-shadow: 0 10px 26px rgba(8,63,48,.06); }
.ib-consent { display: flex !important; grid-template-columns: auto 1fr !important; align-items: center; gap: 10px !important; color: var(--ib-muted) !important; font-weight: 700 !important; }
.ib-consent input { width: auto !important; }
.ib-form-note { margin: -8px 0 0 !important; color: var(--ib-muted); font-size: .9rem !important; line-height: 1.55; }
.ib-lead-form input:focus, .ib-lead-form select:focus, .ib-lead-form textarea:focus { outline: 3px solid rgba(234,203,127,.35); border-color: rgba(8,63,48,.35); }
.ib-card, .ib-trust-item, .ib-ladder__step, .ib-faq__item, .ib-contact-link { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.ib-card:hover, .ib-trust-item:hover, .ib-contact-link:hover { transform: translateY(-2px); box-shadow: 0 16px 42px rgba(8,63,48,.10); border-color: rgba(8,63,48,.22); }
@media (prefers-reduced-motion: reduce) {
  .ib-btn, .ib-card, .ib-trust-item, .ib-ladder__step, .ib-faq__item, .ib-contact-link { transition: none; }
  .ib-btn:hover, .ib-card:hover, .ib-trust-item:hover, .ib-contact-link:hover { transform: none; }
}
@media (max-width: 640px) {
  .ib-trust-item { min-height: auto; }
  .ib-mini-links, .ib-contact-links { align-items: stretch; }
  .ib-mini-links a, .ib-contact-link { width: 100%; }
}

.ib-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ib-standard-card h3::before { content: '•'; color: var(--ib-gold); margin-right: 8px; }
.rtl .ib-standard-card h3::before { margin-right: 0; margin-left: 8px; }
.ib-fit-grid { max-width: 980px; margin: 0 auto; }
.ib-fit-card ul { margin: 16px 0 0; padding-left: 20px; color: var(--ib-muted); line-height: 1.7; }
.ib-fit-card li + li { margin-top: 10px; }
.ib-fit-card--good { border-color: rgba(25,179,107,.28); }
.ib-fit-card--bad { background: linear-gradient(180deg, #fff, rgba(8,63,48,.035)); }
@media (max-width: 980px) { .ib-grid--2 { grid-template-columns: 1fr; } }

/* v1.2.0 sales-system refinements */
.ib-table-wrap { overflow-x: auto; border: 1px solid var(--ib-line); border-radius: var(--ib-radius); background: #fff; box-shadow: 0 12px 36px rgba(8,63,48,.06); }
.ib-offer-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.ib-offer-table th, .ib-offer-table td { padding: 18px 20px; text-align: left; border-bottom: 1px solid var(--ib-line); vertical-align: top; line-height: 1.55; }
.ib-offer-table th { color: var(--ib-green); background: rgba(234,203,127,.18); font-weight: 900; }
.ib-offer-table td { color: var(--ib-muted); }
.ib-offer-table tr:last-child td { border-bottom: 0; }
.ib-offer-table strong { color: var(--ib-green); }
.ib-stack-card { background: linear-gradient(180deg, #fff, rgba(8,63,48,.025)); }
.ib-stack-card h3::after { content: ''; display: block; width: 42px; height: 3px; margin-top: 10px; border-radius: 99px; background: var(--ib-gold); }
.ib-readiness-card { max-width: 980px; margin: 0 auto 24px; display: grid; gap: 14px; }
.ib-readiness-card p { display: flex; align-items: flex-start; gap: 12px; margin: 0; }
.ib-readiness-card span { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: rgba(8,63,48,.08); color: var(--ib-green); font-weight: 900; }
.ib-roi-calc { max-width: 920px; margin: 0 auto; }
.ib-roi-result { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.ib-roi-result p { margin: 0; padding: 20px; border-radius: 20px; background: linear-gradient(180deg, rgba(234,203,127,.2), rgba(8,63,48,.045)); border: 1px solid var(--ib-line); }
.ib-roi-result span { display: block; color: var(--ib-muted); margin-bottom: 8px; font-weight: 700; }
.ib-roi-result strong { display: block; color: var(--ib-green); font-size: clamp(1.5rem, 4vw, 2.2rem); line-height: 1.1; }
.ib-alert { scroll-margin-top: 90px; }
.ib-lead-form select { cursor: pointer; }
.rtl .ib-offer-table th, .rtl .ib-offer-table td { text-align: right; }
.rtl .ib-stack-card h3::after { margin-left: auto; }
@media (max-width: 640px) {
  .ib-roi-result { grid-template-columns: 1fr; }
  .ib-offer-table { min-width: 680px; }
}

/* v1.3.0 multilingual refinements */
.ib-page--localized[dir="rtl"], .ib-form-section[dir="rtl"] { text-align: right; }
.ib-page--localized[dir="rtl"] .ib-hero, .ib-page--localized[dir="rtl"] .ib-split { direction: rtl; }
.ib-page--localized[dir="rtl"] .ib-actions, .ib-form-section[dir="rtl"] .ib-consent, .ib-page--localized[dir="rtl"] .ib-proof-row, .ib-page--localized[dir="rtl"] .ib-readiness-card p { direction: rtl; }
.ib-page--localized[dir="rtl"] .ib-mini-links, .ib-page--localized[dir="rtl"] .ib-contact-links, .ib-page--localized[dir="rtl"] .ib-chip-list { direction: rtl; }
.ib-page--localized[dir="rtl"] input, .ib-page--localized[dir="rtl"] textarea, .ib-page--localized[dir="rtl"] select,
.ib-form-section[dir="rtl"] input, .ib-form-section[dir="rtl"] textarea, .ib-form-section[dir="rtl"] select { text-align: right; direction: rtl; }
.ib-page--localized[dir="ltr"] input, .ib-page--localized[dir="ltr"] textarea, .ib-page--localized[dir="ltr"] select,
.ib-form-section[dir="ltr"] input, .ib-form-section[dir="ltr"] textarea, .ib-form-section[dir="ltr"] select { text-align: left; direction: ltr; }
.ib-lang-switcher { width: min(100% - 36px, 1180px); margin: 22px auto -18px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; font-weight: 800; color: var(--ib-muted); }
.ib-lang-switcher span { margin-inline-end: 6px; color: var(--ib-green); }
.ib-lang-switcher a { color: var(--ib-green) !important; text-decoration: none !important; border: 1px solid var(--ib-line); border-radius: 999px; padding: 8px 12px; background: rgba(255,255,255,.86); box-shadow: 0 8px 24px rgba(8,63,48,.045); }
.ib-lang-switcher a.is-active { background: var(--ib-green); color: #fff !important; border-color: var(--ib-green); }
.ib-page--localized .ib-trust-bar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ib-page--localized .ib-trust-bar > div { background: #fff; border: 1px solid var(--ib-line); border-radius: 18px; padding: 14px 16px; color: var(--ib-green); font-weight: 900; text-align: center; }
.ib-page--localized .ib-chip-list { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.ib-page--localized .ib-chip-list span { background: rgba(8,63,48,.06); border: 1px solid var(--ib-line); color: var(--ib-green); padding: 10px 14px; border-radius: 999px; font-weight: 800; }
.ib-page--localized .ib-faq { max-width: 980px; margin: 0 auto; display: grid; gap: 12px; }
.ib-page--localized .ib-faq details { background: #fff; border: 1px solid var(--ib-line); border-radius: 18px; padding: 16px 18px; box-shadow: 0 10px 28px rgba(8,63,48,.05); }
.ib-page--localized .ib-faq summary { cursor: pointer; color: var(--ib-green); font-weight: 900; }
.ib-page--localized .ib-faq p { color: var(--ib-muted); margin: 12px 0 0; line-height: 1.7; }
@media (max-width: 980px) { .ib-page--localized .ib-trust-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ib-lang-switcher { margin-top: 12px; justify-content: flex-start; } .ib-page--localized .ib-trust-bar { grid-template-columns: 1fr; } }

/* v1.4.0 pricing and contact refinements */
.ib-pricing-table-section[dir="rtl"] { text-align: right; }
.ib-pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.ib-pricing-card { position: relative; display: flex; flex-direction: column; gap: 14px; padding: clamp(22px, 3vw, 30px); border: 1px solid var(--ib-line); border-radius: var(--ib-radius); background: #fff; box-shadow: 0 16px 42px rgba(8,63,48,.07); min-height: 100%; }
.ib-pricing-card.is-featured { border-color: rgba(234,203,127,.72); box-shadow: 0 22px 60px rgba(8,63,48,.12); transform: translateY(-4px); }
.ib-pricing-badge { align-self: flex-start; padding: 7px 11px; border-radius: 999px; background: var(--ib-green); color: #fff; font-weight: 900; font-size: .78rem; letter-spacing: .02em; }
.ib-pricing-card h3 { margin: 0; color: var(--ib-green); font-size: clamp(1.25rem, 2vw, 1.55rem); }
.ib-pricing-price { margin: 0; color: var(--ib-green); font-weight: 950; font-size: clamp(1.55rem, 3vw, 2.05rem); line-height: 1.1; }
.ib-pricing-time { margin: -6px 0 0; color: var(--ib-muted); font-weight: 800; }
.ib-pricing-best { padding: 14px 16px; border-radius: 18px; background: rgba(8,63,48,.055); color: var(--ib-muted); line-height: 1.6; }
.ib-pricing-best strong { color: var(--ib-green); }
.ib-pricing-card h4 { margin: 0; color: var(--ib-green); }
.ib-pricing-card ul { margin: 0 0 4px; padding-left: 20px; color: var(--ib-muted); line-height: 1.7; }
.ib-pricing-card li + li { margin-top: 8px; }
.ib-pricing-card .ib-btn { margin-top: auto; align-self: flex-start; }
.ib-pricing-note { max-width: 920px; margin: 18px auto 0; text-align: center; color: var(--ib-muted); font-weight: 700; line-height: 1.6; }
.ib-pricing-table-section[dir="rtl"] .ib-pricing-card ul { padding-left: 0; padding-right: 20px; }
.ib-pricing-table-section[dir="rtl"] .ib-pricing-card .ib-btn,
.ib-pricing-table-section[dir="rtl"] .ib-pricing-badge { align-self: flex-end; }
@media (max-width: 980px) { .ib-pricing-grid { grid-template-columns: 1fr; } .ib-pricing-card.is-featured { transform: none; } }

/* v1.4.1 engagement-model and contact hardening */
.ib-order-decision[dir="rtl"] { text-align: right; }
.ib-order-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; max-width: 1040px; margin: 0 auto; }
.ib-order-card { background: linear-gradient(180deg, #fff, rgba(8,63,48,.025)); }
.ib-order-card--primary { border-color: rgba(234,203,127,.72); box-shadow: 0 20px 56px rgba(8,63,48,.09); }
.ib-order-card h3 { color: var(--ib-green); margin-top: 0; }
.ib-order-card ul { margin: 0; padding-left: 20px; color: var(--ib-muted); line-height: 1.75; }
.ib-order-decision[dir="rtl"] .ib-order-card ul { padding-left: 0; padding-right: 20px; }
.ib-order-card li + li { margin-top: 8px; }
.ib-order-recommendation { max-width: 980px; margin: 18px auto 0; padding: 18px 20px; border: 1px solid rgba(234,203,127,.6); border-radius: 20px; background: rgba(234,203,127,.16); color: var(--ib-green); font-weight: 850; line-height: 1.7; }
.ib-contact-bar[dir="rtl"] { text-align: right; }
.ib-contact-bar[dir="rtl"] .ib-contact-links { direction: rtl; }
@media (max-width: 780px) { .ib-order-grid { grid-template-columns: 1fr; } }


/* v1.5.1 production visual rescue
   Goal: make generated shortcode pages match a clean product-engineering portfolio,
   avoid the previous green/gold-heavy landing-kit look, and fix missing layout rules. */
.ib-wrap {
  --ib-green: #111827;
  --ib-green-2: #334155;
  --ib-gold: #d4a64a;
  --ib-gold-2: #f3d88f;
  --ib-ink: #111827;
  --ib-muted: #5b6678;
  --ib-bg: #f8fafc;
  --ib-card: #ffffff;
  --ib-line: rgba(15, 23, 42, 0.11);
  --ib-shadow: 0 22px 70px rgba(15, 23, 42, 0.09);
  --ib-radius: 24px;
  width: 100%;
  max-width: 100%;
  color: var(--ib-ink);
  isolation: isolate;
}

/* Full-width only for complete marketing pages. Standalone blocks stay friendly inside existing pages. */
.ib-wrap.ib-page {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background:
    radial-gradient(circle at 12% 8%, rgba(212, 166, 74, 0.16), transparent 26rem),
    radial-gradient(circle at 88% 0%, rgba(15, 23, 42, 0.08), transparent 28rem),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 44%, #ffffff 100%);
  overflow: hidden;
}

.ib-page .ib-section {
  width: min(1120px, calc(100% - 40px));
  padding: clamp(52px, 7vw, 86px) 0;
  border-top-color: rgba(15, 23, 42, 0.08);
}

.ib-page .ib-section-head {
  max-width: 820px;
  margin-bottom: 32px;
}

.ib-page .ib-section-head h2,
.ib-page .ib-hero h1,
.ib-page .ib-cta h2,
.ib-pricing-table-section .ib-section-head h2,
.ib-order-decision .ib-section-head h2,
.ib-form-section .ib-section-head h2 {
  color: #0f172a;
  letter-spacing: -0.055em;
}

.ib-page .ib-section-head p,
.ib-page .ib-hero__subtitle,
.ib-page .ib-card p,
.ib-page .ib-cta p,
.ib-pricing-note,
.ib-form-note {
  color: var(--ib-muted);
}

.ib-page .ib-eyebrow,
.ib-pricing-table-section .ib-eyebrow,
.ib-order-decision .ib-eyebrow,
.ib-form-section .ib-eyebrow {
  color: #9a6b11 !important;
  letter-spacing: 0.115em;
}

/* Fix: generic .ib-card previously overrode the intended hero panel. */
.ib-page .ib-hero {
  min-height: auto;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.82fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: center;
  padding-top: clamp(46px, 6vw, 88px);
  padding-bottom: clamp(50px, 6vw, 82px);
}

.ib-page .ib-hero__content h1 {
  font-size: clamp(2.55rem, 6.5vw, 5.35rem);
  line-height: 0.98;
  max-width: 980px;
}

.ib-page .ib-hero__subtitle {
  font-size: clamp(1.03rem, 1.5vw, 1.22rem);
  max-width: 760px;
}

.ib-page .ib-hero__panel.ib-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(212, 166, 74, .38), transparent 36%),
    linear-gradient(145deg, #0f172a 0%, #172033 54%, #0b1220 100%) !important;
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .24);
  border-radius: 30px;
  padding: clamp(24px, 3vw, 34px);
}

.ib-page .ib-status-dot {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #f8fafc !important;
  font-weight: 850;
  line-height: 1.55;
  margin: 0 0 8px !important;
}
.ib-page .ib-status-dot::before {
  content: '';
  width: 11px;
  height: 11px;
  border-radius: 99px;
  background: #22c55e;
  box-shadow: 0 0 0 7px rgba(34,197,94,.16);
  flex: 0 0 auto;
}

.ib-page .ib-proof-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid rgba(255,255,255,.12);
}
.ib-page .ib-proof-row span {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: rgba(212,166,74,.18);
  color: #f6d88b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-weight: 950;
}
.ib-page .ib-proof-row strong { color: rgba(255,255,255,.9); font-weight: 800; }

/* Fix: secondary buttons were rendered but not styled. */
.ib-btn--secondary,
.ib-btn--ghost {
  background: #ffffff;
  color: #111827 !important;
  border-color: rgba(15,23,42,.14);
  box-shadow: 0 12px 28px rgba(15,23,42,.07);
}
.ib-btn--secondary:hover,
.ib-btn--ghost:hover {
  border-color: rgba(212,166,74,.55);
  box-shadow: 0 18px 38px rgba(15,23,42,.10);
}
.ib-btn--primary {
  background: #111827;
  color: #fff !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .20);
}
.ib-btn--primary:hover { background: #1f2937; }
.ib-btn--small {
  background: rgba(15,23,42,.06);
  color: #111827 !important;
  border: 1px solid rgba(15,23,42,.10);
}

/* Fix: section_cards() output used .ib-grid only, so cards stacked instead of forming a designed grid. */
.ib-page .ib-grid:not(.ib-grid--2):not(.ib-grid--3):not(.ib-grid--4):not(.ib-grid--packages),
.ib-page .ib-grid--packages {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ib-page .ib-grid--packages .ib-package {
  border-top: 4px solid rgba(212,166,74,.58);
}

/* Fix: process steps were missing a layout style. */
.ib-page .ib-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}
.ib-page .ib-step { min-height: 100%; }
.ib-page .ib-step > span {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #111827;
  color: #f3d88f;
  font-weight: 950;
  margin-bottom: 12px;
}

.ib-page .ib-card,
.ib-pricing-card,
.ib-order-card,
.ib-lead-form,
.ib-table-wrap,
.ib-page--localized .ib-faq details {
  background: rgba(255,255,255,.92);
  border-color: rgba(15,23,42,.095);
  box-shadow: 0 14px 44px rgba(15,23,42,.065);
}

.ib-page .ib-card h3,
.ib-pricing-card h3,
.ib-order-card h3,
.ib-page .ib-faq summary {
  color: #111827;
}

.ib-page .ib-card:hover,
.ib-pricing-card:hover,
.ib-order-card:hover,
.ib-contact-link:hover {
  transform: translateY(-3px);
  border-color: rgba(212,166,74,.42);
  box-shadow: 0 22px 60px rgba(15,23,42,.10);
}

.ib-page--localized .ib-trust-bar {
  padding-top: clamp(24px, 4vw, 42px);
  padding-bottom: clamp(34px, 5vw, 56px);
  border-top: 0;
}
.ib-page--localized .ib-trust-bar > div {
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(15,23,42,.08);
  color: #0f172a;
  box-shadow: 0 12px 32px rgba(15,23,42,.055);
}

.ib-page--localized .ib-chip-list span,
.ib-mini-links a,
.ib-contact-link {
  background: rgba(255,255,255,.88);
  color: #111827 !important;
  border-color: rgba(15,23,42,.11);
}
.ib-mini-links a:hover,
.ib-contact-link:hover,
.ib-lang-switcher a:hover {
  border-color: rgba(212,166,74,.55);
}

.ib-lang-switcher {
  margin-top: 18px;
  margin-bottom: -12px;
}
.ib-lang-switcher a {
  color: #111827 !important;
  background: rgba(255,255,255,.88);
  border-color: rgba(15,23,42,.11);
}
.ib-lang-switcher a.is-active {
  background: #111827;
  color: #fff !important;
  border-color: #111827;
}

.ib-pricing-card.is-featured {
  border-color: rgba(212,166,74,.72);
  box-shadow: 0 28px 80px rgba(15,23,42,.12);
}
.ib-pricing-badge {
  background: #111827;
  color: #f7d98d;
}
.ib-pricing-price,
.ib-pricing-best strong,
.ib-order-recommendation,
.ib-package__price {
  color: #111827 !important;
}
.ib-pricing-best,
.ib-order-recommendation {
  background: rgba(212,166,74,.13);
  border-color: rgba(212,166,74,.34);
}

.ib-lead-form label { color: #111827; }
.ib-lead-form input,
.ib-lead-form select,
.ib-lead-form textarea {
  border-color: rgba(15,23,42,.13);
  background: #fff;
  min-height: 48px;
}
.ib-lead-form input:focus,
.ib-lead-form select:focus,
.ib-lead-form textarea:focus {
  border-color: #d4a64a;
  box-shadow: 0 0 0 4px rgba(212,166,74,.16);
}

.ib-page .ib-cta {
  width: min(1120px, calc(100% - 40px));
  background:
    radial-gradient(circle at 14% 18%, rgba(212,166,74,.28), transparent 26%),
    linear-gradient(135deg, #111827 0%, #1f2937 52%, #0b1120 100%);
  box-shadow: 0 28px 86px rgba(15,23,42,.20);
}
.ib-page .ib-cta .ib-btn--primary {
  background: #fff;
  color: #111827 !important;
}

/* Better spacing when shortcode is inserted into page-builder/theme content. */
.entry-content .ib-wrap:first-child,
.wp-site-blocks .ib-wrap:first-child,
.elementor-widget-container .ib-wrap:first-child { margin-top: 0; }
.entry-content .ib-section:first-child { padding-top: clamp(38px, 5vw, 72px); }

@media (max-width: 1100px) {
  .ib-page .ib-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .ib-page .ib-hero { grid-template-columns: 1fr; }
  .ib-page .ib-grid:not(.ib-grid--2):not(.ib-grid--3):not(.ib-grid--4):not(.ib-grid--packages),
  .ib-page .ib-grid--packages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .ib-wrap.ib-page {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .ib-page .ib-section,
  .ib-page .ib-cta { width: min(100% - 24px, 1120px); }
  .ib-page .ib-grid:not(.ib-grid--2):not(.ib-grid--3):not(.ib-grid--4):not(.ib-grid--packages),
  .ib-page .ib-grid--packages,
  .ib-page .ib-steps { grid-template-columns: 1fr; }
  .ib-page .ib-hero__content h1 { font-size: clamp(2.25rem, 12vw, 3.45rem); }
}

/* RTL polish for the new production skin. */
.ib-page--localized[dir="rtl"] .ib-status-dot::before { order: 2; }
.ib-page--localized[dir="rtl"] .ib-proof-row { direction: rtl; }
.ib-page--localized[dir="rtl"] .ib-step > span { margin-left: 0; }

/* v1.5.1 extra polish for standalone shortcode pages and section-specific cards */
.ib-service,
.ib-case,
.ib-process-card,
.ib-product-card,
.ib-stack-card,
.ib-fit-card { min-height: 100%; }
.ib-service .ib-tag,
.ib-case .ib-tag,
.ib-product-card .ib-tag { margin-bottom: 8px; }
.ib-case { border-left: 4px solid rgba(212,166,74,.42); }
.ib-page--localized[dir="rtl"] .ib-case,
.rtl .ib-case { border-left: 1px solid rgba(15,23,42,.095); border-right: 4px solid rgba(212,166,74,.42); }
.ib-process-card .ib-tag,
.ib-product-card .ib-tag,
.ib-stack-card .ib-tag { background: rgba(15,23,42,.055); border-color: rgba(15,23,42,.10); color: #111827; }
.ib-outreach .ib-section:first-child { padding-top: clamp(42px, 6vw, 76px); }
.ib-readiness .ib-readiness-card { box-shadow: 0 18px 52px rgba(15,23,42,.08); }
.ib-roi-section .ib-lead-form { max-width: 920px; margin-inline: auto; }
.ib-packages .ib-package,
.ib-case-studies .ib-case,
.ib-services .ib-service { position: relative; overflow: hidden; }
.ib-packages .ib-package::after,
.ib-case-studies .ib-case::after,
.ib-services .ib-service::after {
  content: '';
  position: absolute;
  inset: auto 18px 0 18px;
  height: 3px;
  border-radius: 99px 99px 0 0;
  background: linear-gradient(90deg, rgba(212,166,74,.72), rgba(15,23,42,.18));
  opacity: .55;
}

/* v1.6.0 centralized website header, menu, and language UX */
.ib-site-header {
  width: min(1120px, calc(100% - 40px));
  margin: 18px auto 0;
  position: sticky;
  top: 12px;
  z-index: 40;
}
.ib-site-header__inner {
  display: grid;
  grid-template-columns: minmax(220px, 0.9fr) minmax(360px, 1.25fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 72px;
  padding: 10px 12px;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 54px rgba(15,23,42,.10);
  backdrop-filter: blur(18px);
}
.ib-site-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: #111827 !important;
  text-decoration: none !important;
}
.ib-site-brand__mark {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: #111827;
  color: #f3d88f;
  font-weight: 950;
  letter-spacing: -.04em;
}
.ib-site-brand__text {
  display: grid;
  min-width: 0;
  line-height: 1.16;
}
.ib-site-brand__text strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: .98rem;
}
.ib-site-brand__text small {
  color: var(--ib-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: .76rem;
  margin-top: 2px;
}
.ib-site-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
}
.ib-site-nav a {
  color: #334155 !important;
  text-decoration: none !important;
  font-weight: 850;
  font-size: .88rem;
  padding: 10px 11px;
  border-radius: 999px;
  white-space: nowrap;
}
.ib-site-nav a:hover {
  color: #111827 !important;
  background: rgba(15,23,42,.055);
}
.ib-site-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.ib-language-menu {
  position: relative;
}
.ib-language-menu summary {
  list-style: none;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 999px;
  background: rgba(15,23,42,.045);
  color: #111827;
  font-weight: 900;
  cursor: pointer;
}
.ib-language-menu summary::-webkit-details-marker { display: none; }
.ib-language-menu[open] summary { border-color: rgba(212,166,74,.55); background: #fff; }
.ib-language-menu .ib-lang-switcher--compact {
  position: absolute;
  inset-inline-end: 0;
  top: calc(100% + 10px);
  width: max-content;
  min-width: 220px;
  max-width: min(320px, calc(100vw - 32px));
  margin: 0;
  padding: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(15,23,42,.14);
}
.ib-language-menu .ib-lang-switcher--compact span {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--ib-muted);
  font-size: .78rem;
}
.ib-language-menu .ib-lang-switcher--compact a {
  text-align: center;
  padding: 9px 10px;
  box-shadow: none;
}
.ib-site-cta { white-space: nowrap; }
.ib-page .ib-site-header + .ib-hero { padding-top: clamp(34px, 5vw, 68px); }
.ib-page--localized[dir="rtl"] .ib-site-header__inner,
.ib-site-header[dir="rtl"] .ib-site-header__inner { direction: rtl; }
.ib-page--localized[dir="rtl"] .ib-site-actions,
.ib-site-header[dir="rtl"] .ib-site-actions { justify-content: flex-start; }

@media (max-width: 1040px) {
  .ib-site-header__inner {
    grid-template-columns: 1fr auto;
    border-radius: 30px;
    padding: 12px;
  }
  .ib-site-nav {
    grid-column: 1 / -1;
    order: 3;
    justify-content: flex-start;
    overflow-x: auto;
    padding-top: 4px;
    scrollbar-width: none;
  }
  .ib-site-nav::-webkit-scrollbar { display: none; }
}
@media (max-width: 700px) {
  .ib-site-header {
    width: min(100% - 24px, 1120px);
    top: 8px;
  }
  .ib-site-header__inner {
    grid-template-columns: 1fr;
    gap: 10px;
    border-radius: 24px;
  }
  .ib-site-actions {
    justify-content: stretch;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .ib-language-menu summary,
  .ib-site-cta { width: 100%; }
  .ib-language-menu .ib-lang-switcher--compact {
    inset-inline-start: 0;
    inset-inline-end: auto;
    width: min(320px, calc(100vw - 48px));
  }
  .ib-site-nav {
    gap: 6px;
    padding-bottom: 2px;
  }
  .ib-site-nav a { padding: 9px 10px; }
}
