:root {
  --ai-ink: #132039;
  --ai-blue: #2b70e8;
  --ai-blue-dark: #1c55bb;
  --ai-pale: #f1f6ff;
  --ai-line: #d8e3f2;
  --ai-text: #40516a;
  --ai-muted: #73839a;
  --ai-acid: #d5f06d;
}

html { scroll-behavior: smooth; }
body.ai-consultation-page { margin: 0; background: #f8fbff; color: var(--ai-ink); font-family: Inter, Arial, sans-serif; }
.ai-page-shell { overflow-x: clip; }
.ai-header { max-width: none; margin: 0; padding: 16px max(32px, calc((100% - 1240px)/2 + 32px)); display: flex; align-items: center; gap: 28px; position: sticky; top: 0; z-index: 25; background: rgba(247,247,242,.92); border-bottom: 1px solid rgba(17,19,16,.12); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.ai-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ai-ink); text-decoration: none; font-weight: 700; letter-spacing: -.02em; white-space: nowrap; }
.ai-brand-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--ai-ink); color: var(--ai-acid); font-size: 12px; }
.ai-header-nav { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.ai-header-nav a, .ai-footer a { color: var(--ai-muted); text-decoration: none; font-size: 14px; }
.ai-header-nav a:hover, .ai-footer a:hover { color: var(--ai-blue); }
.ai-header-cta { padding: 12px 17px; border: 1px solid var(--ai-line); border-radius: 10px; color: var(--ai-ink); text-decoration: none; font-size: 14px; font-weight: 700; }
.ai-header-cta:hover { border-color: var(--ai-blue); color: var(--ai-blue-dark); }

.ai-hero { max-width: 1240px; min-height: 620px; margin: 32px auto; padding: 72px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, .88fr); gap: 52px; align-items: center; position: relative; border-radius: 28px; background: linear-gradient(118deg, #f0f6ff 0%, #eaf2ff 58%, #d4e5ff 100%); isolation: isolate; }
.ai-hero::before { content: ''; position: absolute; width: 520px; height: 520px; right: 22%; top: -240px; border-radius: 50%; border: 1px solid rgba(47,115,239,.15); box-shadow: 0 0 0 44px rgba(47,115,239,.03), 0 0 0 96px rgba(47,115,239,.025); z-index: -1; }
.ai-hero-copy { position: relative; z-index: 2; }
.ai-pills { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 28px; }
.ai-pills span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border-radius: 999px; background: rgba(255,255,255,.8); color: var(--ai-blue-dark); font-size: 13px; font-weight: 800; box-shadow: 0 6px 22px rgba(37,78,139,.06); }
.ai-pills i { width: 7px; height: 7px; border-radius: 50%; background: var(--ai-blue); }
.ai-hero h1 { max-width: 720px; margin: 0; font-size: clamp(42px, 5vw, 76px); line-height: .98; letter-spacing: -.065em; font-weight: 800; }
.ai-hero-lead { max-width: 650px; margin: 26px 0 0; color: var(--ai-text); font-size: 20px; line-height: 1.45; }
.ai-hero-audience { max-width: 600px; margin: 18px 0 0; color: var(--ai-ink); font-size: 15px; line-height: 1.45; font-weight: 700; }
.ai-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 34px; }
.ai-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 54px; padding: 0 23px; border-radius: 12px; text-decoration: none; font-weight: 800; white-space: nowrap; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.ai-button:hover { transform: translateY(-2px); }
.ai-button-primary { background: var(--ai-blue); color: #fff; box-shadow: 0 14px 26px rgba(47,115,239,.25); }
.ai-button-primary:hover { background: var(--ai-blue-dark); }
.ai-button-light { background: #fff; color: var(--ai-ink); box-shadow: 0 12px 24px rgba(5,24,57,.14); }
.ai-button-light:hover { background: var(--ai-acid); }
.ai-hero-note { max-width: 500px; margin: 17px 0 0; color: var(--ai-muted); font-size: 13px; line-height: 1.45; }
.ai-hero-note strong { color: var(--ai-ink); }

.ai-hero-visual { min-height: 500px; position: relative; }
.ai-hero-portrait { position: absolute; inset: 55px 18px 0 108px; overflow: hidden; border-radius: 24px; background: #c4d7f3; box-shadow: 0 26px 55px rgba(21,54,106,.18); }
.ai-hero-portrait::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,40,74,.02), rgba(17,40,74,.34)); }
.ai-hero-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.ai-visual-card { position: absolute; z-index: 2; border: 1px solid rgba(255,255,255,.85); background: rgba(255,255,255,.92); box-shadow: 0 18px 34px rgba(19,52,104,.14); backdrop-filter: blur(12px); }
.ai-visual-card-main { top: 0; left: 0; width: 255px; padding: 20px; border-radius: 18px; }
.ai-visual-kicker { display: block; margin-bottom: 8px; color: var(--ai-blue); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.ai-visual-card-main strong { display: block; font-size: 20px; line-height: 1.08; letter-spacing: -.04em; }
.ai-visual-flow { display: flex; align-items: center; gap: 6px; margin-top: 18px; color: var(--ai-muted); font-size: 10px; }
.ai-visual-flow b { color: var(--ai-blue); }.ai-visual-flow .ai-visual-accent { color: var(--ai-blue-dark); font-weight: 800; }
.ai-visual-card-side { right: -8px; width: 145px; padding: 13px 15px; border-radius: 14px; }
.ai-side-docs { top: 188px; }.ai-side-leads { top: 320px; }
.ai-icon { float: left; width: 24px; height: 24px; margin-right: 8px; display: grid; place-items: center; border-radius: 8px; background: #dbeaff; color: var(--ai-blue); font-size: 16px; }
.ai-visual-card-side b { display: block; margin-top: 2px; font-size: 12px; }.ai-visual-card-side small { display: block; clear: both; padding-top: 8px; color: var(--ai-muted); font-size: 10px; line-height: 1.25; }
.ai-visual-label { position: absolute; bottom: 18px; left: 0; z-index: 3; padding: 11px 14px; border-radius: 11px; background: var(--ai-ink); color: #fff; font-size: 11px; line-height: 1.3; box-shadow: 0 12px 24px rgba(17,40,74,.2); }.ai-visual-label b { color: var(--ai-acid); }
.ai-visual-orbit { position: absolute; z-index: -1; border: 1px solid rgba(47,115,239,.18); border-radius: 50%; }.ai-orbit-one { width: 430px; height: 430px; right: -80px; top: 35px; }.ai-orbit-two { width: 610px; height: 610px; right: -170px; top: -55px; }

.ai-section { max-width: 1240px; margin: 0 auto; padding: 108px 72px; }.ai-section-light { background: #f0f6ff; max-width: none; padding-left: max(72px, calc((100% - 1240px)/2 + 72px)); padding-right: max(72px, calc((100% - 1240px)/2 + 72px)); }
.ai-section-heading { max-width: 740px; }.ai-section-heading-split { max-width: none; display: grid; grid-template-columns: 1fr .72fr; gap: 70px; align-items: end; }.ai-section-heading-split > p { margin: 0; color: var(--ai-muted); line-height: 1.6; }
.ai-eyebrow { margin: 0 0 18px; color: var(--ai-blue); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.ai-eyebrow span { margin-right: 10px; }.ai-section h2, .ai-cta-section h2 { margin: 0; color: var(--ai-ink); font-size: clamp(34px, 4vw, 58px); line-height: 1.02; letter-spacing: -.055em; }.ai-section-heading > p:last-child { color: var(--ai-muted); font-size: 18px; line-height: 1.55; }.ai-eyebrow-light { color: var(--ai-acid); }
.ai-result-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 48px; }.ai-result-grid article { min-height: 190px; padding: 24px; border: 1px solid var(--ai-line); border-radius: 16px; background: #fff; }.ai-result-grid b { color: var(--ai-blue); font-size: 12px; }.ai-result-grid h3 { margin: 38px 0 10px; font-size: 20px; letter-spacing: -.035em; }.ai-result-grid p { margin: 0; color: var(--ai-muted); font-size: 14px; line-height: 1.5; }
.ai-section-cta { display: flex; justify-content: flex-start; margin-top: 28px; }
.ai-section-cta .ai-button { background: var(--ai-ink); color: #fff; }
.ai-section-cta .ai-button:hover { background: var(--ai-acid); color: var(--ai-ink); }
.ai-cta-section > .ai-button.ai-button-primary { background: var(--ai-acid); color: var(--ai-ink); box-shadow: 0 14px 26px rgba(17,19,16,.24); }
.ai-cta-section > .ai-button.ai-button-primary:hover { background: #fff; color: var(--ai-ink); }
.ai-situations-section { background: #fff; }.ai-situations-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-top: 48px; }.ai-situations-grid article { padding: 22px; border: 1px solid var(--ai-line); border-radius: 16px; background: var(--ai-pale); }.ai-situations-grid span { color: var(--ai-blue); font-size: 12px; font-weight: 800; }.ai-situations-grid h3 { margin: 30px 0 12px; font-size: 19px; line-height: 1.1; letter-spacing: -.04em; }.ai-situations-grid p { margin: 0; color: var(--ai-muted); font-size: 14px; line-height: 1.5; }
.ai-dark-section { max-width: none; display: grid; grid-template-columns: .78fr 1fr; gap: 100px; background: var(--ai-ink); color: #fff; padding-left: max(72px, calc((100% - 1240px)/2 + 72px)); padding-right: max(72px, calc((100% - 1240px)/2 + 72px)); }.ai-dark-section h2 { color: #fff; }.ai-dark-content { align-self: end; max-width: 600px; }.ai-dark-content > p { color: #d3def0; font-size: 21px; line-height: 1.5; }.ai-process-chain { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 38px 0; }.ai-process-chain span, .ai-process-chain strong { padding: 10px 12px; border: 1px solid rgba(213,240,109,.5); border-radius: 999px; color: #fff; font-size: 12px; }.ai-process-chain b { color: var(--ai-acid); }.ai-process-chain strong { background: var(--ai-acid); border-color: var(--ai-acid); color: var(--ai-ink); }.ai-dark-note { max-width: 500px; padding-left: 18px; border-left: 2px solid var(--ai-acid); color: #9eb0c9 !important; font-size: 14px !important; }
.ai-steps { margin-top: 48px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }.ai-steps article { display: flex; gap: 18px; padding: 25px 0; border-top: 1px solid var(--ai-line); }.ai-steps article > span { color: var(--ai-blue); font-size: 12px; font-weight: 800; }.ai-steps h3 { margin: 0 0 10px; font-size: 20px; letter-spacing: -.04em; }.ai-steps p { margin: 0; color: var(--ai-muted); font-size: 14px; line-height: 1.5; }
.ai-no-section { background: var(--ai-pale); }.ai-no-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 70px; margin-top: 48px; align-items: start; }.ai-no-grid ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }.ai-no-grid li { padding: 16px 0 16px 28px; border-top: 1px solid var(--ai-line); color: var(--ai-text); line-height: 1.45; position: relative; }.ai-no-grid li::before { content: '×'; position: absolute; left: 0; color: var(--ai-blue); font-size: 20px; line-height: 1; }.ai-no-callout { padding: 28px; border-radius: 16px; background: #fff; box-shadow: 0 16px 30px rgba(30,64,111,.08); }.ai-no-callout strong, .ai-no-callout span { display: block; }.ai-no-callout strong { font-size: 22px; letter-spacing: -.04em; }.ai-no-callout span { margin-top: 16px; color: var(--ai-muted); line-height: 1.55; }
.ai-measure-section { background: #fff; }.ai-measure-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 48px; }.ai-measure-grid span { padding: 18px 20px; border-top: 2px solid var(--ai-blue); background: var(--ai-pale); color: var(--ai-text); font-size: 14px; line-height: 1.4; }
.ai-cta-section { max-width: 1240px; margin: 0 auto 32px; padding: 68px 72px; display: flex; align-items: center; justify-content: space-between; gap: 40px; border-radius: 22px; background: var(--ai-ink); }.ai-cta-section h2 { color: #fff; max-width: 650px; }.ai-cta-section > div > p:nth-of-type(2) { max-width: 550px; margin-bottom: 0; color: #becce0; line-height: 1.55; }.ai-cta-section small { display: block; max-width: 550px; margin-top: 16px; color: #9eb0c9; line-height: 1.5; }.ai-cta-section .ai-button { flex: 0 0 auto; }
.ai-footer { max-width: 1240px; margin: 0 auto; padding: 40px 72px 50px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; align-items: center; border-top: 1px solid var(--ai-line); border-bottom: 1px solid var(--ai-line); }.ai-footer p { margin: 0; color: var(--ai-muted); font-size: 13px; line-height: 1.45; }.ai-footer > div { display: flex; justify-content: flex-end; gap: 18px; }
.ai-mobile-sticky-cta { display: none; }
.ai-button:focus-visible, .ai-header a:focus-visible, .ai-footer a:focus-visible { outline: 3px solid var(--ai-acid); outline-offset: 4px; }

@media (max-width: 1080px) { .ai-situations-grid { grid-template-columns: repeat(3, 1fr); }.ai-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 980px) { .ai-header { padding: 20px 24px; }.ai-header-nav { display: none; }.ai-header-cta { margin-left: auto; }.ai-hero { margin: 16px 16px; padding: 52px 36px; grid-template-columns: 1fr; }.ai-hero-visual { min-height: 470px; max-width: 650px; width: 100%; margin: 0 auto; }.ai-section, .ai-section-light, .ai-dark-section { padding: 82px 36px; }.ai-result-grid, .ai-no-grid, .ai-measure-grid { grid-template-columns: repeat(2, 1fr); }.ai-dark-section { grid-template-columns: 1fr; gap: 38px; }.ai-cta-section { margin: 0 16px 16px; padding: 52px 36px; }.ai-footer { padding: 38px 36px; } }
@media (max-width: 620px) { .ai-header { display: none; }.ai-header-cta { display: none; }.ai-brand { font-size: 13px; }.ai-brand-mark { width: 30px; height: 30px; font-size: 10px; }.ai-hero { min-height: 0; padding: 32px 22px 52px; border-radius: 20px; }.ai-pills { gap: 7px; margin-bottom: 22px; }.ai-pills span { padding: 8px 10px; font-size: 11px; }.ai-hero h1 { font-size: 42px; text-wrap: balance; }.ai-hero-lead { font-size: 17px; }.ai-hero-audience { font-size: 14px; }.ai-hero-actions { align-items: stretch; flex-direction: column; gap: 18px; }.ai-button { width: 100%; box-sizing: border-box; }.ai-hero-note { display: none; }.ai-hero-visual { min-height: 310px; transform: none; margin: 18px auto -28px; }.ai-hero-portrait { inset: 52px 18px 0 58px; }.ai-visual-card-main { width: 196px; padding: 18px; }.ai-visual-card-side { display: none; }.ai-visual-label { bottom: 8px; }.ai-section, .ai-section-light, .ai-dark-section { padding: 64px 22px; }.ai-section-heading-split { grid-template-columns: 1fr; gap: 22px; }.ai-section h2, .ai-cta-section h2 { font-size: 38px; text-wrap: balance; }.ai-section-heading > p:last-child { font-size: 16px; }.ai-result-grid, .ai-situations-grid, .ai-steps, .ai-no-grid, .ai-measure-grid { grid-template-columns: 1fr; }.ai-result-grid article { min-height: 0; }.ai-result-grid h3 { margin-top: 24px; text-wrap: balance; }.ai-situations-grid { margin-top: 34px; }.ai-situations-grid h3 { margin-top: 22px; text-wrap: balance; }.ai-process-chain { align-items: flex-start; flex-direction: column; }.ai-process-chain b { display: block; margin-left: 16px; }.ai-no-grid { gap: 32px; margin-top: 34px; }.ai-cta-section { margin: 0 10px 10px; padding: 42px 22px; flex-direction: column; align-items: stretch; }.ai-footer { padding: 32px 22px calc(94px + env(safe-area-inset-bottom)); grid-template-columns: 1fr; }.ai-footer > div { justify-content: flex-start; flex-wrap: wrap; }.ai-footer > div:last-child { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--ai-line); }.ai-footer-identity { flex-wrap: nowrap; }.ai-mobile-sticky-cta { position: fixed; z-index: 30; left: 12px; right: 12px; bottom: 12px; display: flex; min-height: 54px; align-items: center; justify-content: center; gap: 10px; padding: 0 18px; border-radius: 14px; background: var(--ai-blue); color: #fff; box-shadow: 0 10px 24px rgba(19,32,57,.28); text-decoration: none; font-weight: 800; white-space: nowrap; }.ai-mobile-sticky-cta:hover { background: var(--ai-blue-dark); }.ai-mobile-sticky-cta:focus-visible { outline: 3px solid var(--ai-acid); outline-offset: 3px; } body.ai-consultation-page { padding-bottom: 0; } }
@supports (padding: max(0px)) { @media (max-width: 620px) { .ai-mobile-sticky-cta { bottom: max(12px, env(safe-area-inset-bottom)); } body.ai-consultation-page { padding-bottom: max(82px, calc(70px + env(safe-area-inset-bottom))); } } }

@media (max-width: 390px) {
  .ai-hero { box-sizing: border-box; margin-left: 8px; margin-right: 8px; padding: 26px 18px 132px; }
  .ai-hero h1 { font-size: 38px; }
  .ai-hero-lead { font-size: 16px; }
  .ai-hero-audience { font-size: 13px; }
  .ai-button { min-width: 0; padding-left: 16px; padding-right: 16px; font-size: 16px; }
  .ai-hero-visual { min-height: 274px; margin-top: 12px; margin-bottom: -20px; }
  .ai-hero-portrait { inset: 58px 8px 0 76px; border-radius: 20px; }
  .ai-visual-card-main { box-sizing: border-box; width: 184px; padding: 15px; border-radius: 16px; }
  .ai-visual-card-main strong { font-size: 18px; }
  .ai-visual-flow, .ai-visual-label { display: none; }
  .ai-mobile-sticky-cta { left: 10px; right: 10px; padding-left: 14px; padding-right: 14px; font-size: 15px; }
}

/* Direct-call fallback for visitors who do not want to choose a slot online. */
.ai-phone-sticky-cta {
  position: fixed;
  z-index: 31;
  right: 24px;
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  box-sizing: border-box;
  padding: 9px 16px;
  border: 1px solid var(--ai-ink);
  border-radius: 14px;
  background: #fff;
  color: var(--ai-ink);
  box-shadow: 0 10px 24px rgba(17,19,16,.18);
  text-decoration: none;
  font-family: Unbounded, Manrope, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.15;
}
.ai-phone-sticky-cta:hover { background: var(--ai-acid); }
.ai-phone-sticky-cta:focus-visible { outline: 3px solid var(--ai-acid); outline-offset: 3px; }
.ai-phone-sticky-icon { flex: 0 0 auto; font-family: Arial, sans-serif; font-size: 22px; line-height: 1; }
.ai-phone-sticky-copy { display: grid; gap: 3px; }
.ai-phone-sticky-copy strong { font-size: 13px; letter-spacing: -.04em; }
.ai-phone-sticky-copy small { font-family: Manrope, Arial, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 0; }
@media (max-width: 620px) {
  .ai-phone-sticky-cta { left: 10px; right: 10px; bottom: max(88px, calc(76px + env(safe-area-inset-bottom))); justify-content: center; min-height: 52px; padding: 8px 12px; }
  .ai-phone-sticky-copy { display: flex; align-items: baseline; gap: 8px; }
  .ai-phone-sticky-copy strong { font-size: 13px; }
  .ai-phone-sticky-copy small { font-size: 11px; }
  body.ai-consultation-page { padding-bottom: 190px; }
}
@media (max-width: 390px) {
  .ai-phone-sticky-cta { left: 10px; right: 10px; bottom: max(88px, calc(76px + env(safe-area-inset-bottom))); }
  .ai-phone-sticky-copy { gap: 6px; }
  .ai-phone-sticky-copy strong { font-size: 12px; }
  .ai-phone-sticky-copy small { font-size: 10px; }
}

/* Conversion pass: VizOnBiz black / white / acid palette and a shorter CTA path. */
:root {
  --ai-blue: var(--ai-ink);
  --ai-blue-dark: #000000;
  --ai-pale: #f3f4ec;
  --ai-line: #d8dbd0;
  --ai-text: #343a34;
  --ai-muted: #6c756c;
  --ai-cyan: var(--ai-acid);
  --ai-paper: #f7f7f2;
}

.ai-consultation-page { background: var(--ai-paper); }
.ai-header-nav a:hover, .ai-footer a:hover { color: var(--ai-ink); }
.ai-header-cta { border-color: var(--ai-ink); }
.ai-header-cta:hover { background: var(--ai-acid); border-color: var(--ai-acid); color: var(--ai-ink); }
.ai-hero { border-color: var(--ai-line); background: linear-gradient(135deg, #ffffff 0%, #f7f8f2 62%, #edf0df 100%); box-shadow: 0 18px 50px rgba(17,19,16,.07); }
.ai-hero::before { border-color: rgba(17,19,16,.12); box-shadow: 0 0 0 44px rgba(17,19,16,.025), 0 0 0 96px rgba(17,19,16,.018); }
.ai-pills span { color: var(--ai-ink); box-shadow: 0 6px 22px rgba(17,19,16,.06); }
.ai-pills i { background: var(--ai-acid); box-shadow: 0 0 0 6px rgba(216,255,69,.24); }
.ai-button-primary { background: var(--ai-ink); color: #fff; box-shadow: 0 14px 26px rgba(17,19,16,.2); }
.ai-button-primary:hover { background: var(--ai-acid); color: var(--ai-ink); }
.ai-hero-portrait { background: #dfe3d7; border-color: var(--ai-line); box-shadow: 0 18px 40px rgba(17,19,16,.14); }
.ai-visual-card-main { border-color: var(--ai-line); box-shadow: 0 16px 30px rgba(17,19,16,.1); }
.ai-visual-kicker { color: var(--ai-ink); }
.ai-visual-orbit { border-color: rgba(17,19,16,.14); }
.ai-section-light, .ai-no-section { background: var(--ai-paper); }
.ai-eyebrow, .ai-result-grid b, .ai-situations-grid span, .ai-steps article > span { color: var(--ai-ink); }
.ai-result-grid article { border-color: var(--ai-line); box-shadow: 0 10px 24px rgba(17,19,16,.05); }
.ai-card-icon { background: #eef3d7; color: var(--ai-ink); }
.ai-result-index { background: var(--ai-acid); color: var(--ai-ink); }
.ai-situations-grid article { border-color: var(--ai-line); border-top: 2px solid var(--ai-acid); background: #fff; }
.ai-measure-grid span { border-color: var(--ai-line); border-top: 2px solid var(--ai-acid); background: #fff; }
.ai-measure-grid svg { color: var(--ai-ink); }
.ai-scope-grid { display: block; max-width: 820px; margin-top: 34px; }
.ai-scope-card { border-color: var(--ai-line); }
.ai-scope-card-main { padding: 30px; box-shadow: 0 14px 30px rgba(17,19,16,.07); }
.ai-scope-label { color: var(--ai-ink); }
.ai-scope-card-main li::before { background: var(--ai-acid); color: var(--ai-ink); }
.ai-scope-card-secondary { display: none; }
.ai-cta-section { max-width: 980px; padding: 58px 64px; background: var(--ai-ink); }
.ai-cta-section > div { max-width: 900px; }
.ai-cta-section h2 { max-width: 900px; }
.ai-cta-section > div > p:nth-of-type(2) { color: #f2f4eb; }
.ai-cta-section small { color: #b9c1b6; }
.ai-accent-text { color: var(--ai-ink); background: var(--ai-acid); padding: .02em .1em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.ai-footer { max-width: 980px; }
.ai-footer a, .ai-footer p { overflow-wrap: anywhere; }
.ai-mobile-sticky-cta { background: var(--ai-acid); color: var(--ai-ink); box-shadow: 0 10px 24px rgba(17,19,16,.24); }
.ai-mobile-sticky-cta:hover { background: var(--ai-ink); color: #fff; }

@media (max-width: 620px) {
  .ai-cta-section { margin: 0 10px 10px; padding: 38px 22px; }
  .ai-cta-section h2 { font-size: 34px; }
  .ai-footer { max-width: none; margin: 0 10px; padding: 28px 18px calc(94px + env(safe-area-inset-bottom)); }
  .ai-footer > div { gap: 10px 14px; }
}

@media (max-width: 390px) {
  .ai-hero h1 { width: 100%; max-width: none; font-size: clamp(30px, 8.6vw, 34px); line-height: .96; letter-spacing: -.065em; text-wrap: wrap; }
  .ai-cta-section { padding: 32px 18px; }
  .ai-cta-section h2 { font-size: 30px; }
  .ai-scope-card-main { padding: 18px; }
  .ai-scope-card h3 { font-size: 20px; }
  .ai-footer { margin-left: 10px; margin-right: 10px; padding-left: 14px; padding-right: 14px; }
}

/* Final mobile overflow guard. */
@media (max-width: 620px) {
  .ai-hero-copy,
  .ai-hero h1 { min-width: 0; }
  .ai-hero h1 { max-width: 100%; overflow-wrap: anywhere; word-break: normal; }
  .ai-hero h1 .ai-accent-text { white-space: normal; }
  .ai-button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; line-height: 1.15; padding-left: 10px; padding-right: 10px; }
  .ai-mobile-sticky-cta { max-width: calc(100vw - 20px); white-space: normal; overflow-wrap: anywhere; text-align: center; line-height: 1.15; padding: 12px 10px; }
  body.ai-consultation-page { padding-bottom: 110px; }
}

/* Unified heading rhythm for the mobile-first consultation page. */
.ai-page-shell h1,
.ai-page-shell h2,
.ai-page-shell h3 {
  font-size: 24px;
  line-height: 1.28;
  letter-spacing: -.035em;
}
.ai-page-shell h1 { width: 100%; max-width: none; text-wrap: wrap; }
.ai-accent-text { padding-top: .06em; padding-bottom: .06em; }

/* Explicit final sizes: these rules intentionally win over older mobile overrides. */
.ai-hero h1,
.ai-page-shell h2,
.ai-page-shell h3 { font-size: 24px; }
.ai-button,
.ai-header-cta,
.ai-mobile-sticky-cta { font-size: 24px; }

/* Hard final override for the requested visible sizes. */
.ai-hero h1 { font-size: 24px !important; }
.ai-page-shell h2,
.ai-page-shell h3 { font-size: 24px !important; }
.ai-button,
.ai-header-cta,
.ai-mobile-sticky-cta { font-size: 24px !important; }

/* Mobile overflow fix after enforcing the requested 24 px type scale. */
@media (max-width: 620px) {
  .ai-hero-copy,
  .ai-hero h1 { min-width: 0; }
  .ai-hero h1 { max-width: 100%; overflow-wrap: anywhere; word-break: normal; }
  .ai-hero h1 .ai-accent-text { white-space: normal; }
  .ai-button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; line-height: 1.15; padding-left: 10px; padding-right: 10px; }
  .ai-mobile-sticky-cta { max-width: calc(100vw - 20px); white-space: normal; overflow-wrap: anywhere; text-align: center; line-height: 1.15; padding: 12px 10px; }
  body.ai-consultation-page { padding-bottom: 110px; }
}

:root { --ai-ink: #111310; --ai-blue: #216fe5; --ai-blue-dark: #1555b7; --ai-pale: #f1f5fb; --ai-line: #d7e2f1; --ai-text: #40516a; --ai-muted: #6f819c; --ai-acid: #d8ff45; --ai-paper: #f2f1eb; }
.ai-consultation-page { background: var(--ai-paper); color: var(--ai-ink); font-family: Manrope, Arial, sans-serif; }
.ai-page-shell, .ai-page-shell * { box-sizing: border-box; }
.ai-brand-mark { border: 1px solid var(--ai-ink); background: var(--ai-ink); color: var(--ai-acid); font-family: Manrope, Arial, sans-serif; font-weight: 800; }
.ai-header { border-bottom-color: rgba(17,19,16,.14); }
.ai-header-nav a, .ai-footer a { color: #64738a; }
.ai-header-cta { border-color: #c8d8ec; background: #fff; }
.ai-hero { border: 1px solid #d6e2f0; background: linear-gradient(135deg, #f9fbff 0%, #edf4ff 62%, #dceaff 100%); box-shadow: 0 18px 50px rgba(39,78,132,.07); }
.ai-hero h1, .ai-section h2, .ai-cta-section h2 { font-family: Unbounded, Manrope, Arial, sans-serif; font-weight: 700; }
.ai-hero-visual { display: flex; flex-direction: column; gap: 14px; min-height: 0; }
.ai-visual-orbit { opacity: .45; }
.ai-visual-card-main { position: relative; inset: auto; order: 0; width: 100%; padding: 24px; border: 1px solid #cbdcf0; border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 16px 30px rgba(39,78,132,.12); }
.ai-visual-kicker { display: flex; align-items: center; gap: 9px; }
.ai-visual-kicker::before { content: ''; width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--ai-blue); box-shadow: 0 0 0 6px #e6f0ff; }
.ai-visual-card-main strong { font-family: Manrope, Arial, sans-serif; font-size: 24px; line-height: 1.1; }
.ai-hero-portrait { position: relative; inset: auto; order: 1; width: 100%; height: 370px; border: 1px solid #c7d8ed; border-radius: 22px; box-shadow: 0 18px 40px rgba(21,54,106,.16); }
.ai-hero-portrait::after { background: linear-gradient(180deg, rgba(17,40,74,.02), rgba(17,40,74,.2)); }
.ai-visual-card-side { display: none; }
.ai-visual-label { position: relative; inset: auto; order: 2; align-self: flex-start; padding: 12px 16px; border-radius: 12px; background: var(--ai-ink); color: #fff; font-size: 12px; box-shadow: 0 10px 22px rgba(17,19,16,.16); }
.ai-section-light { background: var(--ai-paper); }
.ai-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ai-result-grid article { min-height: 174px; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 16px; align-items: start; padding: 22px; border: 1px solid #cbdcf0; border-radius: 16px; background: #fff; box-shadow: 0 10px 24px rgba(39,78,132,.05); }
.ai-card-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; background: #e9f2ff; color: var(--ai-blue); }
.ai-card-icon svg, .ai-measure-grid svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ai-result-index { display: inline-flex; min-width: 28px; min-height: 24px; align-items: center; justify-content: center; padding: 4px 8px; border-radius: 999px; background: #e9f2ff; color: var(--ai-blue); font-size: 11px; }
.ai-result-grid h3 { margin: 10px 0 8px; font-family: Manrope, Arial, sans-serif; font-size: 18px; line-height: 1.2; }
.ai-result-grid p { font-size: 13px; }
.ai-dark-section { background: var(--ai-ink); }
.ai-process-chain { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 34px 0; }
.ai-process-node { min-height: 106px; display: grid; align-content: start; gap: 7px; padding: 15px 16px; border: 1px solid rgba(115,232,255,.28); border-radius: 14px; background: rgba(255,255,255,.035); }
.ai-process-node > span { color: var(--ai-cyan, #73e8ff); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.ai-process-node strong { color: #fff; font-family: Manrope, Arial, sans-serif; font-size: 16px; }
.ai-process-node small { color: #a7b7cc; font-size: 11px; line-height: 1.35; }
.ai-process-node-accent { border-color: var(--ai-acid); background: var(--ai-acid); }
.ai-process-node-accent > span, .ai-process-node-accent strong, .ai-process-node-accent small { color: var(--ai-ink); }
.ai-process-chain > b { display: none; }
.ai-measure-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ai-measure-grid span { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: center; padding: 16px; border: 1px solid #cbdcf0; border-top: 1px solid #cbdcf0; border-radius: 14px; background: #fff; color: var(--ai-text); }
.ai-measure-grid svg { width: 28px; height: 28px; color: var(--ai-blue); }
.ai-measure-grid b { font-size: 13px; line-height: 1.35; font-weight: 700; }
.ai-scope-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 16px; margin-top: 48px; }
.ai-scope-card { min-width: 0; border: 1px solid #cbdcf0; border-radius: 16px; background: #fff; }
.ai-scope-card-main { padding: 28px; box-shadow: 0 14px 30px rgba(39,78,132,.07); }
.ai-scope-label { margin: 0 0 16px; color: var(--ai-blue); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ai-scope-card h3 { margin: 0 0 20px; font-family: Manrope, Arial, sans-serif; font-size: 25px; line-height: 1.15; }
.ai-scope-card-main ul { display: grid; gap: 9px; margin: 0 0 24px; padding: 0; list-style: none; }
.ai-scope-card-main li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: start; color: var(--ai-text); font-size: 14px; line-height: 1.4; }
.ai-scope-card-main li::before { content: '✓'; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; background: #e5f0ff; color: var(--ai-blue); font-weight: 800; }
.ai-scope-card-main .ai-button { width: 100%; }
.ai-scope-card-secondary { display: grid; align-content: start; gap: 0; padding: 18px; background: #f8fbff; }
.ai-scope-row { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--ai-line); }
.ai-scope-row:last-child { border-bottom: 0; }
.ai-scope-row-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #e0ecff; color: var(--ai-blue); font-size: 23px; line-height: 1; }
.ai-scope-row strong { display: block; margin: 0 0 5px; font-size: 15px; }
.ai-scope-row p { margin: 0; color: var(--ai-muted); font-size: 13px; line-height: 1.45; }
.ai-footer { border-top-color: rgba(17,19,16,.14); }

@media (max-width: 980px) {
  .ai-hero-visual { max-width: 620px; }
}
@media (max-width: 620px) {
  .ai-hero { padding: 28px 18px 74px; }
  .ai-hero h1 { font-size: 40px; }
  .ai-hero-visual { gap: 12px; margin: 18px auto -28px; }
  .ai-visual-card-main { padding: 18px; }
  .ai-visual-card-main strong { font-size: 20px; }
  .ai-visual-flow { display: none; }
  .ai-hero-portrait { height: 280px; border-radius: 18px; }
  .ai-visual-label { font-size: 11px; }
  .ai-result-grid { grid-template-columns: 1fr; gap: 12px; }
  .ai-result-grid article { min-height: 0; padding: 18px; }
  .ai-process-chain { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ai-process-node { min-height: 94px; padding: 12px; }
  .ai-process-node strong { font-size: 14px; }
  .ai-process-node small { font-size: 10px; }
  .ai-measure-grid { grid-template-columns: 1fr; gap: 10px; }
  .ai-scope-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 34px; }
  .ai-scope-card-main { padding: 20px; }
  .ai-scope-card h3 { font-size: 21px; }
}
@media (max-width: 390px) {
  .ai-hero { margin-left: 8px; margin-right: 8px; padding: 24px 16px 112px; }
  .ai-hero h1 { font-size: 36px; }
  .ai-hero-lead { font-size: 16px; }
  .ai-hero-visual { min-height: 0; margin-top: 10px; margin-bottom: -18px; }
  .ai-visual-card-main { padding: 16px; }
  .ai-visual-card-main strong { font-size: 18px; }
  .ai-hero-portrait { height: 228px; }
  .ai-visual-label { display: none; }
  .ai-result-grid article { grid-template-columns: 46px minmax(0, 1fr); gap: 12px; padding: 15px; }
  .ai-card-icon { width: 44px; height: 44px; border-radius: 12px; }
  .ai-card-icon svg { width: 25px; height: 25px; }
  .ai-result-grid h3 { font-size: 16px; }
  .ai-result-grid p { font-size: 12px; }
  .ai-process-node { min-height: 88px; }
  .ai-scope-card-main { padding: 17px; }
  .ai-scope-row { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; padding: 15px 0; }
  .ai-scope-row-icon { width: 30px; height: 30px; font-size: 19px; }
}

/* Final palette override: keep the page strictly black, white and acid. */
:root {
  --ai-blue: var(--ai-ink);
  --ai-blue-dark: #000000;
  --ai-pale: #f3f4ec;
  --ai-line: #d8dbd0;
  --ai-text: #343a34;
  --ai-muted: #6c756c;
  --ai-cyan: var(--ai-acid);
  --ai-paper: #f7f7f2;
}
.ai-consultation-page { background: var(--ai-paper); }
.ai-header-nav a:hover, .ai-footer a:hover { color: var(--ai-ink); }
.ai-header-cta { border-color: var(--ai-ink); }
.ai-header-cta:hover { background: var(--ai-acid); border-color: var(--ai-acid); color: var(--ai-ink); }
.ai-hero { border-color: var(--ai-line); background: linear-gradient(135deg, #ffffff 0%, #f7f8f2 62%, #edf0df 100%); box-shadow: 0 18px 50px rgba(17,19,16,.07); }
.ai-hero::before { border-color: rgba(17,19,16,.12); box-shadow: 0 0 0 44px rgba(17,19,16,.025), 0 0 0 96px rgba(17,19,16,.018); }
.ai-pills span { color: var(--ai-ink); box-shadow: 0 6px 22px rgba(17,19,16,.06); }
.ai-pills i { background: var(--ai-acid); box-shadow: 0 0 0 6px rgba(216,255,69,.24); }
.ai-button-primary { background: var(--ai-ink); color: #fff; box-shadow: 0 14px 26px rgba(17,19,16,.2); }
.ai-button-primary:hover { background: var(--ai-acid); color: var(--ai-ink); }
.ai-hero-portrait { background: #dfe3d7; border-color: var(--ai-line); box-shadow: 0 18px 40px rgba(17,19,16,.14); }
.ai-visual-card-main { border-color: var(--ai-line); box-shadow: 0 16px 30px rgba(17,19,16,.1); }
.ai-visual-kicker, .ai-eyebrow, .ai-result-grid b, .ai-situations-grid span, .ai-steps article > span { color: var(--ai-ink); }
.ai-visual-kicker::before { background: var(--ai-acid); box-shadow: 0 0 0 6px rgba(216,255,69,.24); }
.ai-visual-orbit { border-color: rgba(17,19,16,.14); }
.ai-section-light, .ai-no-section { background: var(--ai-paper); }
.ai-result-grid article { border-color: var(--ai-line); box-shadow: 0 10px 24px rgba(17,19,16,.05); }
.ai-card-icon { background: #eef3d7; color: var(--ai-ink); }
.ai-result-index { background: var(--ai-acid); color: var(--ai-ink); }
.ai-situations-grid article { border-color: var(--ai-line); border-top: 2px solid var(--ai-acid); background: #fff; }
.ai-measure-grid span { border-color: var(--ai-line); border-top: 2px solid var(--ai-acid); background: #fff; }
.ai-measure-grid svg { color: var(--ai-ink); }
.ai-scope-grid { display: block; max-width: 820px; margin-top: 34px; }
.ai-scope-card { border-color: var(--ai-line); }
.ai-scope-card-main { padding: 30px; box-shadow: 0 14px 30px rgba(17,19,16,.07); }
.ai-scope-label { color: var(--ai-ink); }
.ai-scope-card-main li::before { background: var(--ai-acid); color: var(--ai-ink); }
.ai-scope-card-secondary { display: none; }
.ai-cta-section { max-width: 980px; padding: 58px 64px; background: var(--ai-ink); }
.ai-cta-section > div, .ai-cta-section h2 { max-width: 900px; }
.ai-cta-section > div > p:nth-of-type(2) { color: #f2f4eb; }
.ai-cta-section small { color: #b9c1b6; }
.ai-accent-text { color: var(--ai-ink); background: var(--ai-acid); padding: .02em .1em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.ai-footer { max-width: 980px; }
.ai-footer a, .ai-footer p { overflow-wrap: anywhere; }
.ai-mobile-sticky-cta { background: var(--ai-acid); color: var(--ai-ink); box-shadow: 0 10px 24px rgba(17,19,16,.24); }
.ai-mobile-sticky-cta:hover { background: var(--ai-ink); color: #fff; }
@media (max-width: 620px) {
  .ai-cta-section { margin: 0 10px 10px; padding: 38px 22px; }
  .ai-cta-section h2 { font-size: 34px; }
  .ai-footer { max-width: none; margin: 0 10px; padding: 28px 18px calc(94px + env(safe-area-inset-bottom)); }
  .ai-footer > div { gap: 10px 14px; }
}
@media (max-width: 390px) {
  .ai-cta-section { padding: 32px 18px; }
  .ai-cta-section h2 { font-size: 30px; }
  .ai-scope-card-main { padding: 18px; }
  .ai-scope-card h3 { font-size: 20px; }
  .ai-footer { margin-left: 10px; margin-right: 10px; padding-left: 14px; padding-right: 14px; }
}

/* Final hero composition, audience cue and button typography. */
.ai-hero-actions { margin-top: 24px; }
.ai-hero-highlight { display: inline; color: var(--ai-ink); background: var(--ai-acid); padding: .08em .14em; border-radius: .18em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.ai-hero-audience { margin-top: 16px; padding: 13px 15px; border: 1px solid var(--ai-line); border-left: 3px solid var(--ai-acid); border-radius: 12px; background: rgba(255,255,255,.72); font-size: 13px; line-height: 1.4; }
.ai-hero-visual { display: block; min-height: 370px; }
.ai-visual-card-main { display: none; }
.ai-hero-portrait { position: relative; inset: auto; width: 100%; height: 370px; }
.ai-visual-label { position: absolute; inset: auto 16px 16px 16px; z-index: 4; display: block; align-self: auto; padding: 11px 13px; border-radius: 11px; background: rgba(17,19,16,.9); color: #fff; font-family: Manrope, Arial, sans-serif; font-size: 11px; line-height: 1.35; box-shadow: 0 10px 24px rgba(17,19,16,.2); }
.ai-visual-label b { color: var(--ai-acid); font-family: Unbounded, Manrope, Arial, sans-serif; font-size: 12px; }
.ai-hero-portrait img { object-position: center top; }
.ai-one-to-one {
  position: absolute;
  z-index: 5;
  top: 10px;
  left: 12px;
  display: grid;
  gap: 4px;
  width: max-content;
  max-width: calc(100% - 24px);
  padding: 13px 17px 14px;
  border: 1px solid rgba(17,19,16,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 16px 30px rgba(17,19,16,.14);
}
.ai-one-to-one span {
  color: var(--ai-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.2;
}
.ai-one-to-one strong {
  color: var(--ai-ink);
  font-family: Unbounded, Manrope, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.12;
  letter-spacing: -.045em;
}
.ai-one-to-one small {
  color: var(--ai-muted);
  font-size: 11px;
  line-height: 1.25;
}
.ai-footer { grid-template-columns: 1fr auto; }
.ai-header-identity { display: flex; align-items: center; gap: 10px; min-width: 0; white-space: nowrap; }
.ai-header-site-inline { color: var(--ai-muted); font-size: 13px; font-weight: 700; text-decoration: none; }
.ai-footer-identity { display: flex; align-items: center; gap: 10px; min-width: 0; white-space: nowrap; }
.ai-footer-site-inline { color: var(--ai-ink); font-size: 13px; font-weight: 700; text-decoration: none; }
.ai-header-cta { background: var(--ai-acid); border-color: var(--ai-acid); color: var(--ai-ink); box-shadow: 0 10px 20px rgba(17,19,16,.12); }
.ai-header-cta:hover { background: var(--ai-ink); border-color: var(--ai-ink); color: #fff; }
.ai-button,
.ai-header-cta,
.ai-mobile-sticky-cta {
  font-family: Unbounded, Manrope, Arial, sans-serif;
  font-size: 16px !important;
  line-height: 1.25;
  letter-spacing: -.03em;
}
.ai-sticky-cta-copy { display: grid; min-width: 0; gap: 3px; text-align: left; }
.ai-sticky-cta-copy strong { display: block; font-family: Unbounded, Manrope, Arial, sans-serif; font-size: 12px; line-height: 1.1; letter-spacing: -.045em; white-space: nowrap; }
.ai-sticky-cta-copy small { display: block; max-width: 290px; font-family: Manrope, Arial, sans-serif; font-size: 9px; font-weight: 700; line-height: 1.18; letter-spacing: -.02em; white-space: normal; }
.ai-mobile-sticky-cta > span[aria-hidden] { flex: 0 0 auto; font-size: 18px; }
@media (max-width: 620px) {
  .ai-hero { padding-bottom: 72px; }
  .ai-hero-audience { margin-top: 14px; padding: 12px 13px; font-size: 12px; }
  .ai-hero-visual { min-height: 340px; height: 340px; margin-top: 18px; margin-bottom: 0; }
  .ai-hero-portrait { height: 340px; }
  .ai-one-to-one { top: 8px; left: 12px; padding: 12px 14px 13px; }
  .ai-one-to-one strong { font-size: 16px; }
  .ai-visual-label { inset: auto 14px 14px 14px; padding: 10px 12px; font-size: 10px; }
  .ai-visual-label b { font-size: 11px; }
  body.ai-consultation-page { padding-bottom: 0; }
  .ai-footer-identity { gap: 8px; }
  .ai-footer-site-inline { font-size: 12px; }
  .ai-one-to-one { gap: 2px; padding: 9px 12px 10px; }
  .ai-one-to-one span { font-size: 8px; line-height: 1.1; }
  .ai-one-to-one strong { font-size: 14px; line-height: 1.05; }
  .ai-one-to-one small { font-size: 9px; line-height: 1.1; }
  .ai-mobile-sticky-cta { min-height: 70px; padding: 8px 14px; }
}
@media (max-width: 390px) {
  .ai-hero { padding-bottom: 64px; }
  .ai-hero-visual { min-height: 300px; height: 300px; margin-top: 12px; margin-bottom: 0; }
  .ai-hero-portrait { height: 300px; }
  .ai-one-to-one { top: 7px; left: 10px; padding: 10px 12px 11px; border-radius: 14px; }
  .ai-one-to-one span { font-size: 9px; }
  .ai-one-to-one strong { font-size: 15px; }
  .ai-one-to-one small { font-size: 10px; }
  .ai-one-to-one { top: 5px; left: 9px; padding: 8px 10px 9px; }
  .ai-one-to-one span { font-size: 7px; }
  .ai-one-to-one strong { font-size: 13px; }
  .ai-one-to-one small { font-size: 8px; }
  .ai-mobile-sticky-cta { min-height: 68px; left: 10px; right: 10px; padding: 8px 11px; }
  .ai-sticky-cta-copy strong { font-size: 11px; }
  .ai-sticky-cta-copy small { max-width: 270px; font-size: 8.5px; }
  .ai-visual-label { inset: auto 10px 10px 10px; padding: 8px 10px; font-size: 9px; }
  .ai-visual-label b { font-size: 10px; }
}

/* Bitrix24 form overlay: centered dialog, dimmed page, no footer/sticky CTA collision. */
body.vob-b24-open { overflow: hidden; }
.vob-b24-modal[hidden] { display: none !important; }
.vob-b24-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(17,19,16,.72);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.vob-b24-backdrop { position: absolute; inset: 0; cursor: pointer; }
.vob-b24-dialog {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  max-height: calc(100svh - 32px);
  overflow: auto;
  padding: 36px 28px 28px;
  border: 1px solid rgba(17,19,16,.16);
  border-radius: 20px;
  background: var(--ai-paper);
  color: var(--ai-ink);
  box-shadow: 0 24px 80px rgba(0,0,0,.34);
}
.vob-b24-close {
  position: absolute;
  top: 9px;
  right: 11px;
  z-index: 2;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(17,19,16,.14);
  border-radius: 9px;
  background: #fff;
  color: var(--ai-ink);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.vob-b24-close:hover { background: var(--ai-acid); }
.vob-b24-form-host { min-height: 40px; padding-top: 8px; }
.vob-b24-dialog .b24-form-wrapper,
.vob-b24-dialog .b24-form { width: 100% !important; max-width: none !important; min-height: 0 !important; }

@media (max-width: 620px) {
  .ai-footer { grid-template-columns: 1fr; align-items: stretch; gap: 14px; padding: 24px 16px calc(122px + env(safe-area-inset-bottom)); }
  .ai-footer-identity { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; width: 100%; gap: 8px; }
  .ai-footer-identity .ai-brand { min-width: 0; }
  .ai-footer-identity .ai-brand > span:last-child { display: block; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ai-footer-site-inline { white-space: nowrap; }
  .ai-footer > div:last-child { display: flex; align-items: center; justify-content: flex-start; width: 100%; margin-top: 0; padding-top: 12px; border-top: 1px solid var(--ai-line); gap: 8px 14px; }
  .ai-footer > div:last-child a { white-space: nowrap; font-size: 12px; }
  .ai-footer { padding-bottom: calc(122px + env(safe-area-inset-bottom)); }
  .ai-footer-identity { width: 100%; gap: 6px; }
  .ai-footer-identity .ai-brand { flex: 1 1 auto; min-width: 0; gap: 7px; font-size: 11px; }
  .ai-footer-identity .ai-brand > span:last-child { overflow: hidden; text-overflow: ellipsis; }
  .ai-footer-site-inline { flex: 0 0 auto; font-size: 10px; }
  .ai-footer > div:last-child { width: 100%; gap: 10px 14px; }
  .vob-b24-modal { padding: 8px; }
  .vob-b24-dialog { max-height: calc(100svh - 16px); padding: 34px 16px 18px; border-radius: 14px; }
}
@media (max-width: 390px) {
  .ai-footer { padding-left: 14px; padding-right: 14px; }
  .ai-footer-identity { gap: 6px; }
  .ai-footer-identity .ai-brand { font-size: 10px; }
  .ai-footer-site-inline { font-size: 9px; }
  .ai-footer > div:last-child a { font-size: 11px; }
}

/* Keep both mobile fixed actions clear of the page content. */
@media (max-width: 620px) {
  body.ai-consultation-page { padding-bottom: 190px; }
}

/* Final responsive action bar: one phone action on desktop, two balanced actions on mobile. */
.ai-mobile-action-bar {
  position: fixed;
  z-index: 31;
  right: 24px;
  bottom: 24px;
  display: block;
}
.ai-mobile-action-bar .ai-phone-sticky-cta {
  position: static;
  display: inline-flex;
  min-width: 190px;
  background: var(--ai-acid);
  color: var(--ai-ink);
}
.ai-mobile-action-bar .ai-phone-sticky-cta:hover { background: var(--ai-ink); color: #fff; }
.ai-mobile-action-bar .ai-mobile-sticky-cta { display: none; }
@media (max-width: 620px) {
  .ai-mobile-action-bar {
    left: 10px;
    right: 10px;
    bottom: max(12px, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: minmax(0, .62fr) minmax(0, 1fr);
    gap: 8px;
  }
  .ai-mobile-action-bar .ai-phone-sticky-cta,
  .ai-mobile-action-bar .ai-mobile-sticky-cta {
    position: static;
    width: 100%;
    min-width: 0;
    min-height: 68px;
    box-sizing: border-box;
    border-radius: 14px;
    padding: 8px 10px;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
    line-height: 1.15;
  }
  .ai-mobile-action-bar .ai-phone-sticky-cta {
    display: flex;
    justify-content: center;
    gap: 7px;
    background: var(--ai-acid);
    color: var(--ai-ink);
  }
  .ai-mobile-action-bar .ai-phone-sticky-cta:hover { background: var(--ai-ink); color: #fff; }
  .ai-mobile-action-bar .ai-mobile-sticky-cta {
    display: flex;
    justify-content: center;
    gap: 8px;
    background: var(--ai-ink);
    color: #fff;
  }
  .ai-mobile-action-bar .ai-mobile-sticky-cta:hover { background: var(--ai-acid); color: var(--ai-ink); }
  .ai-mobile-action-bar .ai-phone-sticky-copy { display: grid; gap: 3px; min-width: 0; }
  .ai-mobile-action-bar .ai-phone-sticky-copy strong { font-family: Unbounded, Manrope, Arial, sans-serif; font-size: 12px; letter-spacing: -.04em; }
  .ai-mobile-action-bar .ai-phone-sticky-copy small { font-family: Manrope, Arial, sans-serif; font-size: 9px; white-space: nowrap; }
  .ai-mobile-action-bar .ai-phone-sticky-icon { font-size: 19px; }
  .ai-mobile-action-bar .ai-sticky-cta-copy { display: grid; min-width: 0; gap: 3px; text-align: center; }
  .ai-mobile-action-bar .ai-sticky-cta-copy strong { font-size: 12px; white-space: nowrap; }
  .ai-mobile-action-bar .ai-sticky-cta-copy small { max-width: none; font-size: 8px; line-height: 1.15; white-space: normal; }
  .ai-mobile-action-bar > .ai-mobile-sticky-cta > span[aria-hidden] { flex: 0 0 auto; font-size: 17px; }
  body.ai-consultation-page { padding-bottom: 120px; }
}
@media (max-width: 390px) {
  .ai-mobile-action-bar { grid-template-columns: minmax(0, .6fr) minmax(0, 1fr); gap: 6px; }
  .ai-mobile-action-bar .ai-phone-sticky-cta,
  .ai-mobile-action-bar .ai-mobile-sticky-cta { min-height: 64px; padding: 7px 7px; }
  .ai-mobile-action-bar .ai-phone-sticky-copy strong,
  .ai-mobile-action-bar .ai-sticky-cta-copy strong { font-size: 10px; }
  .ai-mobile-action-bar .ai-phone-sticky-copy small { font-size: 8px; }
  .ai-mobile-action-bar .ai-sticky-cta-copy small { font-size: 7.5px; }
}

/* Mobile hierarchy: online booking stays acid; phone remains a quiet secondary action. */
@media (max-width: 620px) {
  .ai-mobile-action-bar .ai-phone-sticky-cta {
    border: 1px solid #c7ccc5;
    background: #dfe3df;
    color: var(--ai-ink);
    box-shadow: 0 8px 18px rgba(17,19,16,.12);
  }
  .ai-mobile-action-bar .ai-phone-sticky-cta:hover { background: #d2d8d1; color: var(--ai-ink); }
  .ai-mobile-action-bar .ai-mobile-sticky-cta {
    background: var(--ai-acid);
    color: var(--ai-ink);
    box-shadow: 0 10px 22px rgba(17,19,16,.2);
  }
  .ai-mobile-action-bar .ai-mobile-sticky-cta:hover { background: var(--ai-ink); color: #fff; }
}

/* Equalize the mobile action geometry: matching edge padding, icon scale and text gaps. */
@media (max-width: 620px) {
  .ai-mobile-action-bar .ai-phone-sticky-cta,
  .ai-mobile-action-bar .ai-mobile-sticky-cta {
    padding: 8px 16px;
    gap: 10px;
  }
  .ai-mobile-action-bar .ai-phone-sticky-cta { justify-content: center; }
  .ai-mobile-action-bar .ai-mobile-sticky-cta { justify-content: center; }
  .ai-mobile-action-bar .ai-phone-sticky-icon { font-size: 20px; }
  .ai-mobile-action-bar .ai-calendar-icon {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    margin-left: 0;
  }
}
@media (max-width: 390px) {
  .ai-mobile-action-bar .ai-phone-sticky-cta,
  .ai-mobile-action-bar .ai-mobile-sticky-cta { padding-left: 14px; padding-right: 14px; }
  .ai-mobile-action-bar .ai-calendar-icon { width: 21px; height: 21px; flex-basis: 21px; }
}

/* Keep the secondary phone action inside the mobile action bar on narrow screens. */
@media (max-width: 620px) {
  .ai-mobile-action-bar { box-sizing: border-box; min-width: 0; max-width: calc(100vw - 20px); grid-template-columns: minmax(0, .72fr) minmax(0, 1fr); }
  .ai-mobile-action-bar .ai-phone-sticky-cta,
  .ai-mobile-action-bar .ai-mobile-sticky-cta { min-width: 0; max-width: 100%; overflow: hidden; }
  .ai-mobile-action-bar .ai-phone-sticky-copy { min-width: 0; max-width: 100%; overflow: hidden; }
  .ai-mobile-action-bar .ai-phone-sticky-copy small { overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 390px) {
  .ai-mobile-action-bar { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); }
  .ai-mobile-action-bar .ai-phone-sticky-cta,
  .ai-mobile-action-bar .ai-mobile-sticky-cta { padding-left: 9px; padding-right: 9px; }
  .ai-mobile-action-bar .ai-phone-sticky-copy small { font-size: 7.5px; }
}

.ai-calendar-icon { display:inline-flex; width:18px; height:18px; flex:0 0 18px; align-items:center; justify-content:center; margin-left:4px; }
.ai-calendar-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ai-calendar-icon svg rect { fill:currentColor; fill-opacity:.08; }
.ai-mobile-action-bar .ai-calendar-icon { width:17px; height:17px; flex-basis:17px; margin-left:0; }

/* The AI consultation page keeps online booking as its only fixed action. */
.ai-consultation-page .ai-mobile-action-bar .ai-phone-sticky-cta { display: none; }
@media (max-width: 620px) {
  .ai-consultation-page .ai-mobile-action-bar { grid-template-columns: minmax(0, 1fr); }
  .ai-consultation-page .ai-mobile-action-bar .ai-mobile-sticky-cta { grid-column: 1; }
  .ai-consultation-page { padding-bottom: 96px; }
}

/* Consultation request replaces the hidden phone action and opens the B24 form in the same modal. */
.ai-consultation-page .ai-mobile-action-bar .ai-request-sticky-cta {
  position: static;
  display: inline-flex;
  min-width: 190px;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  box-sizing: border-box;
  padding: 9px 16px;
  border: 1px solid #c7ccc5;
  border-radius: 14px;
  background: #dfe3df;
  color: var(--ai-ink);
  box-shadow: 0 8px 18px rgba(17,19,16,.12);
  text-decoration: none;
  font-family: Unbounded, Manrope, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.15;
  text-align: center;
}
.ai-consultation-page .ai-mobile-action-bar .ai-request-sticky-cta:hover { background: #d2d8d1; }
.ai-request-sticky-icon { display: inline-flex; width: 21px; height: 21px; flex: 0 0 21px; align-items: center; justify-content: center; }
.ai-request-sticky-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ai-request-sticky-copy { display: inline-flex; min-width: 0; align-items: center; justify-content: center; }
.ai-request-sticky-copy strong { font-size: 12px; letter-spacing: -.04em; }
@media (max-width: 620px) {
  .ai-consultation-page .ai-mobile-action-bar { grid-template-columns: minmax(0, .72fr) minmax(0, 1fr); }
  .ai-consultation-page .ai-mobile-action-bar .ai-mobile-sticky-cta { grid-column: 2; }
  .ai-consultation-page .ai-mobile-action-bar .ai-request-sticky-cta,
  .ai-consultation-page .ai-mobile-action-bar .ai-mobile-sticky-cta {
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 64px;
    padding: 8px 16px;
  }
  .ai-consultation-page .ai-mobile-action-bar .ai-request-sticky-cta { gap: 7px; }
  .ai-request-sticky-copy strong { font-size: 10px; }
}
@media (max-width: 390px) {
  .ai-consultation-page .ai-mobile-action-bar .ai-request-sticky-cta { padding-left: 9px; padding-right: 9px; }
  .ai-request-sticky-copy strong { font-size: 9px; }
}

/* Keep the two visible consultation actions on one row on desktop. */
@media (min-width: 621px) {
  .ai-consultation-page .ai-mobile-action-bar {
    display: flex;
    align-items: stretch;
    gap: 10px;
  }
  .ai-consultation-page .ai-mobile-action-bar .ai-request-sticky-cta,
  .ai-consultation-page .ai-mobile-action-bar .ai-mobile-sticky-cta {
    position: static;
    display: flex;
    width: auto;
    min-width: 0;
    max-width: min(42vw, 360px);
    box-sizing: border-box;
    min-height: 64px;
  }
  .ai-consultation-page .ai-mobile-action-bar .ai-request-sticky-cta { flex: 0 1 220px; }
  .ai-consultation-page .ai-mobile-action-bar .ai-mobile-sticky-cta { flex: 1 1 300px; }
  .ai-consultation-page .ai-mobile-action-bar .ai-mobile-sticky-cta {
    justify-content: center;
    gap: 14px;
    padding: 10px 18px;
    text-align: center;
  }
  .ai-consultation-page .ai-mobile-action-bar .ai-sticky-cta-copy {
    text-align: center;
  }
  .ai-consultation-page .ai-mobile-action-bar .ai-sticky-cta-copy strong {
    font-size: 14px;
  }
  .ai-consultation-page .ai-mobile-action-bar .ai-sticky-cta-copy small {
    font-size: 10px;
  }
}

/* Final mobile CTA geometry overrides: keep the icon and edge padding in proportion. */
@media (max-width: 620px) {
  .ai-mobile-action-bar .ai-phone-sticky-cta,
  .ai-mobile-action-bar .ai-mobile-sticky-cta {
    padding: 8px 16px;
    gap: 10px;
  }
  .ai-mobile-action-bar .ai-phone-sticky-icon { font-size: 20px; }
  .ai-mobile-action-bar .ai-calendar-icon {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    margin-left: 0;
  }
}
@media (max-width: 390px) {
  .ai-mobile-action-bar .ai-phone-sticky-cta,
  .ai-mobile-action-bar .ai-mobile-sticky-cta { padding-left: 14px; padding-right: 14px; }
  .ai-mobile-action-bar .ai-calendar-icon { width: 21px; height: 21px; flex-basis: 21px; }
}
