:root{
  --ib-bg:#f8fafc;
  --ib-surface:#ffffff;
  --ib-surface-2:#f1f5f9;
  --ib-text:#0f172a;
  --ib-muted:#475569;
  --ib-primary:#2563eb;
  --ib-primary-text:#ffffff;
  --ib-accent:#14b8a6;
  --ib-border:#dbe4ee;
  --ib-input-bg:#ffffff;
  --ib-input-text:#0f172a;
  --ib-success:#15803d;
  --ib-warning:#b45309;
  --ib-danger:#dc2626;
  --ib-theme-primary:#2563eb;
  --ib-theme-primary-rgb:37,99,235;
  --ib-theme-accent:#14b8a6;
  --ib-avatar-tint-color:#2563eb;
  --ib-avatar-tint-rgb:37,99,235;
  --ib-avatar-tint-strength:.5;
  --ib-avatar-glow-strength:.42;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.ib-v2-body{
  margin:0;
  background:
    radial-gradient(circle at top left,color-mix(in srgb,var(--ib-primary) 20%,transparent),transparent 34rem),
    radial-gradient(circle at top right,color-mix(in srgb,var(--ib-accent) 18%,transparent),transparent 30rem),
    linear-gradient(180deg,color-mix(in srgb,var(--ib-bg) 96%,#fff),var(--ib-bg));
  color:var(--ib-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  min-height:100vh;
}
a{color:inherit}
.ib-v2{min-height:100vh;padding:24px clamp(16px,3vw,36px) 36px}
.ib-v2-shell{max-width:calc(var(--ib-v2-form-min,700px) + var(--ib-v2-summary-col,240px) + 280px);margin:0 auto;display:grid;gap:16px}
.ib-v2-header{
  display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;
  padding:12px 14px;border:1px solid color-mix(in srgb,var(--ib-border) 76%,transparent);
  border-radius:28px;background:color-mix(in srgb,var(--ib-surface) 88%,transparent);
  box-shadow:0 16px 50px rgba(15,23,42,.08);backdrop-filter:blur(18px)
}
.ib-v2-brand{display:flex;align-items:center;gap:14px;min-width:0}
.ib-v2-logo{width:var(--ib-v2-logo-size,64px);height:var(--ib-v2-logo-size,64px);display:grid;place-items:center;border:1px solid var(--ib-border);border-radius:18px;background:var(--ib-surface);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.ib-v2-logo.is-unframed{border:0;background:transparent;box-shadow:none}
.ib-v2-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.ib-v2-brand h1{font-size:1.08rem;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(360px,50vw)}
.ib-v2-brand p{margin:4px 0 0;color:var(--ib-muted);font-size:.88rem;font-weight:650}
.ib-v2-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.ib-v2-panel,.ib-v2-summary,.ib-v2-guide{
  background:color-mix(in srgb,var(--ib-surface) 94%,transparent);
  border:1px solid color-mix(in srgb,var(--ib-border) 84%,transparent);
  border-radius:28px;
  box-shadow:0 22px 70px rgba(15,23,42,.10);
}
.ib-v2-guide{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;
  overflow:hidden;position:relative;
}
.ib-v2-guide:before{content:"";position:absolute;inset:-2px;background:linear-gradient(110deg,color-mix(in srgb,var(--ib-primary) 12%,transparent),transparent 42%,color-mix(in srgb,var(--ib-accent) 14%,transparent));pointer-events:none}
.ib-v2-guide>*{position:relative;z-index:1}
.ib-v2-guide-orb{width:46px;height:46px;border-radius:999px;background:radial-gradient(circle at 35% 30%,#fff, color-mix(in srgb,var(--ib-accent) 76%,var(--ib-primary)) 34%, var(--ib-primary));box-shadow:0 0 0 8px color-mix(in srgb,var(--ib-primary) 10%,transparent),0 0 38px color-mix(in srgb,var(--ib-primary) 35%,transparent);animation:ibV2Pulse 2.4s ease-in-out infinite}
.ib-v2-guide p{margin:4px 0 0;color:var(--ib-text);font-size:1.02rem;line-height:1.45;font-weight:720}
.ib-v2-eyebrow{display:block;color:var(--ib-muted);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.ib-v2-steprail{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.ib-v2-step-pill{border:1px solid var(--ib-border);border-radius:999px;background:color-mix(in srgb,var(--ib-surface) 88%,transparent);color:var(--ib-muted);padding:9px 10px;font-size:.78rem;font-weight:850;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-v2-step-pill.is-current{border-color:var(--ib-primary);background:color-mix(in srgb,var(--ib-primary) 14%,var(--ib-surface));color:var(--ib-text);box-shadow:0 10px 28px color-mix(in srgb,var(--ib-primary) 18%,transparent)}
.ib-v2-step-pill.is-done{border-color:color-mix(in srgb,var(--ib-success) 42%,var(--ib-border));color:var(--ib-text)}
.ib-v2-progress{height:9px;background:color-mix(in srgb,var(--ib-surface-2) 84%,transparent);border-radius:999px;overflow:hidden;border:1px solid var(--ib-border)}
.ib-v2-progress div{height:100%;width:0;background:linear-gradient(90deg,var(--ib-primary),var(--ib-accent));transition:width .25s ease;box-shadow:0 0 28px color-mix(in srgb,var(--ib-primary) 40%,transparent)}
.ib-v2-layout{display:grid;grid-template-columns:minmax(var(--ib-v2-form-min,700px),1fr) var(--ib-v2-summary-col,240px);gap:18px;align-items:start}
.ib-v2-panel{padding:clamp(20px,3vw,34px);min-height:560px;position:relative;overflow:hidden}
.ib-v2-panel:after{content:"";position:absolute;right:-140px;bottom:-160px;width:360px;height:360px;border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--ib-primary) 10%,transparent),transparent 66%);pointer-events:none}
.ib-v2-panel>*{position:relative;z-index:1}
.ib-v2-summary{padding:20px;position:sticky;top:18px;display:grid;gap:16px}
.ib-v2-step-head{display:grid;gap:8px;margin-bottom:20px;max-width:780px}
.ib-v2-step-head h2{margin:0;font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.04;letter-spacing:-.04em}
.ib-v2-step-head p{margin:0;color:var(--ib-muted);line-height:1.55;font-size:1rem;font-weight:620}
.ib-v2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ib-v2-stack{display:grid;gap:14px}
.ib-v2-field{display:grid;gap:8px;margin-bottom:14px}
.ib-v2-field label{font-size:.9rem;font-weight:900;color:var(--ib-text)}
.ib-v2-field small{color:var(--ib-muted);line-height:1.35}
.ib-v2-input,.ib-v2-textarea{width:100%;min-height:54px;border:1px solid var(--ib-border);border-radius:16px;background:var(--ib-input-bg);color:var(--ib-input-text);padding:13px 14px;font:inherit;font-size:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.ib-v2-textarea{min-height:108px;resize:vertical}
.ib-v2-input:focus,.ib-v2-textarea:focus{outline:4px solid color-mix(in srgb,var(--ib-primary) 22%,transparent);border-color:var(--ib-primary)}
.ib-v2-error{color:var(--ib-danger);font-size:.92rem;margin-top:14px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--ib-danger) 9%,var(--ib-surface));border:1px solid color-mix(in srgb,var(--ib-danger) 24%,var(--ib-border));font-weight:750}
.ib-v2-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.ib-v2-card{border:1px solid var(--ib-border);border-radius:var(--ib-v2-card-radius,22px);background:linear-gradient(180deg,color-mix(in srgb,var(--ib-surface) 98%,#fff),color-mix(in srgb,var(--ib-surface-2) 42%,var(--ib-surface)));color:var(--ib-text);padding:16px;text-align:left;cursor:pointer;min-height:112px;display:grid;gap:10px;align-content:start;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;position:relative;overflow:hidden}
.ib-v2-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.10)}
.ib-v2-card.is-selected{border-color:var(--ib-primary);background:linear-gradient(180deg,color-mix(in srgb,var(--ib-primary) 12%,var(--ib-surface)),color-mix(in srgb,var(--ib-accent) 7%,var(--ib-surface)));box-shadow:0 18px 42px color-mix(in srgb,var(--ib-primary) 22%,transparent)}
.ib-v2-card.is-selected:after{content:"✓";position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--ib-primary);color:var(--ib-primary-text);font-weight:1000}
.ib-v2-card strong{font-size:1.05rem;line-height:1.2;padding-right:30px;min-width:0;overflow-wrap:anywhere}
.ib-v2-card span,.ib-v2-card small{color:var(--ib-muted);line-height:1.4;font-weight:590}
.ib-v2-card-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;color:var(--ib-text)!important}
.ib-v2-card-copy{display:block;color:var(--ib-muted)!important;overflow-wrap:anywhere}
.ib-v2-card-icon,.ib-v2-card-badge{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:rgba(var(--ib-theme-primary-rgb,37,99,235),.12);border:1px solid rgba(var(--ib-theme-primary-rgb,37,99,235),.28);color:var(--ib-theme-primary,var(--ib-primary));font-weight:1000;flex:0 0 auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 22px rgba(var(--ib-theme-primary-rgb,37,99,235),.12)}
.ib-v2-card-icon svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.ib-v2-card-icon svg path:first-child:last-child,.ib-v2-card-icon svg circle{fill:none}
.ib-v2-card-icon img{width:24px;height:24px;object-fit:contain;display:block}
.ib-v2-choice-row{display:flex;flex-wrap:wrap;gap:10px}
.ib-v2-choice{border:1px solid var(--ib-border);border-radius:999px;background:var(--ib-surface-2);color:var(--ib-text);padding:12px 15px;cursor:pointer;font-weight:850;min-height:46px}
.ib-v2-choice.is-selected{background:var(--ib-primary);border-color:var(--ib-primary);color:var(--ib-primary-text);box-shadow:0 10px 22px color-mix(in srgb,var(--ib-primary) 22%,transparent)}
.ib-v2-question-group{display:grid;gap:12px;padding:16px;border:1px solid var(--ib-border);border-radius:var(--ib-v2-card-radius,24px);background:color-mix(in srgb,var(--ib-surface-2) 38%,var(--ib-surface))}
.ib-v2-question-group h3{margin:0 0 4px;font-size:1rem}
.ib-v2-addon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--ib-border);border-radius:var(--ib-v2-card-radius,22px);padding:16px;background:color-mix(in srgb,var(--ib-surface) 94%,transparent)}
.ib-v2-addon.is-selected{border-color:var(--ib-primary);background:color-mix(in srgb,var(--ib-primary) 8%,var(--ib-surface))}
.ib-v2-addon strong{display:block;font-size:1rem}.ib-v2-addon small{color:var(--ib-muted);line-height:1.35}
.ib-v2-addon-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.ib-v2-addon-main strong,.ib-v2-addon-main small{overflow-wrap:anywhere}
.ib-v2-qty{display:inline-grid;grid-template-columns:40px 46px 40px;gap:6px;align-items:center}
.ib-v2-qty button,.ib-v2-qty input{height:40px;border:1px solid var(--ib-border);border-radius:14px;background:var(--ib-input-bg);color:var(--ib-input-text);text-align:center;font-weight:900}
.ib-v2-qty button{cursor:pointer}.ib-v2-qty button:hover{border-color:var(--ib-primary)}
.ib-v2-toggle{min-width:96px;height:42px;border:1px solid var(--ib-border);border-radius:999px;background:var(--ib-surface-2);color:var(--ib-text);font-weight:900;cursor:pointer}
.ib-v2-toggle.is-selected{background:var(--ib-primary);border-color:var(--ib-primary);color:var(--ib-primary-text)}
.ib-v2-upload-card{display:grid;gap:14px}
.ib-v2-upload-drop{display:grid;place-items:center;text-align:center;gap:8px;min-height:220px;padding:22px;border:2px dashed color-mix(in srgb,var(--ib-primary) 34%,var(--ib-border));border-radius:var(--ib-v2-card-radius,22px);background:linear-gradient(180deg,color-mix(in srgb,var(--ib-primary) 8%,var(--ib-surface)),color-mix(in srgb,var(--ib-surface-2) 46%,var(--ib-surface)));cursor:pointer}
.ib-v2-upload-drop input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.ib-v2-upload-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:var(--ib-primary);color:var(--ib-primary-text);font-size:1.7rem;font-weight:1000;box-shadow:0 16px 34px color-mix(in srgb,var(--ib-primary) 26%,transparent)}
.ib-v2-upload-drop strong{font-size:1.08rem}
.ib-v2-upload-drop small{max-width:460px;color:var(--ib-muted);font-weight:650;line-height:1.45}
.ib-v2-upload-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.ib-v2-upload-item{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;padding:10px;border:1px solid var(--ib-border);border-radius:18px;background:color-mix(in srgb,var(--ib-surface) 92%,transparent);text-decoration:none;color:var(--ib-text)}
.ib-v2-upload-thumb{width:58px;height:58px;border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--ib-primary) 12%,var(--ib-surface-2));display:grid;place-items:center;color:var(--ib-primary);font-size:.76rem;font-weight:950}
.ib-v2-upload-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ib-v2-upload-item strong,.ib-v2-upload-item small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ib-v2-upload-item small{color:var(--ib-muted);font-size:.82rem;margin-top:3px}
.ib-v2-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px;flex-wrap:wrap}
.ib-v2-actions .ib-v2-primary{margin-left:auto}
.ib-v2-actions .ib-v2-primary,.ib-v2-actions .ib-v2-secondary{min-width:148px;max-width:100%;white-space:normal;text-align:center}
.ib-v2-primary,.ib-v2-secondary,.ib-v2-link{border:0;border-radius:16px;min-height:48px;padding:12px 17px;font-weight:950;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.15;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.ib-v2-primary{background:linear-gradient(135deg,var(--ib-primary),color-mix(in srgb,var(--ib-primary) 72%,var(--ib-accent)));color:var(--ib-primary-text);box-shadow:0 14px 28px color-mix(in srgb,var(--ib-primary) 25%,transparent)}
.ib-v2-secondary,.ib-v2-link{background:color-mix(in srgb,var(--ib-surface-2) 82%,var(--ib-surface));color:var(--ib-text);border:1px solid var(--ib-border)}
.ib-v2-primary:hover,.ib-v2-secondary:hover,.ib-v2-link:hover{transform:translateY(-1px)}
.ib-v2-voice-stop{white-space:nowrap}
.ib-v2-voice-stop:hover{border-color:color-mix(in srgb,var(--ib-danger) 34%,var(--ib-border));color:var(--ib-danger)}
.ib-v2-primary:disabled,.ib-v2-secondary:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.ib-v2-caption-chip{min-height:42px;padding:10px 14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--ib-primary) 26%,var(--ib-border));background:color-mix(in srgb,var(--ib-primary) 10%,var(--ib-surface));color:var(--ib-text);font-weight:950;white-space:nowrap}
.ib-v2-summary h3{margin:0;font-size:1rem}
.ib-v2-summary-card{display:grid;gap:8px;padding:14px;border:1px solid var(--ib-border);border-radius:20px;background:color-mix(in srgb,var(--ib-surface-2) 42%,var(--ib-surface))}
.ib-v2-summary-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--ib-border);color:var(--ib-muted);font-size:.92rem}
.ib-v2-summary-row:first-of-type{border-top:0}
.ib-v2-summary-row strong{color:var(--ib-text);text-align:right;max-width:52%;overflow:hidden;text-overflow:ellipsis}
.ib-v2-trust-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ib-v2-trust-list li{display:flex;gap:8px;align-items:flex-start;color:var(--ib-muted);font-size:.88rem;line-height:1.35}
.ib-v2-trust-list li:before{content:"✓";color:var(--ib-success);font-weight:1000}
.ib-v2-reveal{display:grid;gap:18px;padding:clamp(18px,3vw,28px);border:1px solid color-mix(in srgb,var(--ib-primary) 28%,var(--ib-border));border-radius:28px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--ib-primary) 16%,transparent),transparent 22rem),color-mix(in srgb,var(--ib-surface-2) 38%,var(--ib-surface));text-align:center;overflow:hidden;position:relative}
.ib-v2-reveal:before{content:"";position:absolute;inset:-60% -20%;background:linear-gradient(110deg,transparent 35%,color-mix(in srgb,#fff 22%,transparent) 50%,transparent 65%);animation:ibV2Sweep 3.2s ease-in-out infinite;pointer-events:none}
.ib-v2-lock{margin:0 auto;width:72px;height:72px;border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--ib-primary) 14%,var(--ib-surface));box-shadow:0 0 0 10px color-mix(in srgb,var(--ib-primary) 8%,transparent),0 0 48px color-mix(in srgb,var(--ib-primary) 34%,transparent);font-size:2rem;position:relative;z-index:1}
.ib-v2-price{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:1000;color:var(--ib-text);letter-spacing:-.06em;position:relative;z-index:1;animation:ibV2Reveal .62s cubic-bezier(.2,.9,.2,1)}
.ib-v2-reveal p{margin:0;color:var(--ib-muted);font-weight:700;position:relative;z-index:1}
.ib-v2-cta-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;position:relative;z-index:1}
.ib-v2-empty{padding:16px;border:1px dashed var(--ib-border);border-radius:20px;color:var(--ib-muted);background:color-mix(in srgb,var(--ib-surface-2) 44%,transparent)}
@keyframes ibV2Pulse{0%,100%{transform:scale(1);opacity:.96}50%{transform:scale(1.06);opacity:.82}}
@keyframes ibV2Reveal{from{opacity:0;transform:translateY(12px) scale(.96);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes ibV2Sweep{0%{transform:translateX(-60%) rotate(6deg)}55%,100%{transform:translateX(60%) rotate(6deg)}}

.ib-v2[data-show-progress="0"] .ib-v2-steprail,.ib-v2[data-show-progress="0"] .ib-v2-progress{display:none!important}
.ib-v2[data-show-live-summary="0"] .ib-v2-layout{grid-template-columns:minmax(var(--ib-v2-form-min,700px),1fr)}
.ib-v2[data-show-live-summary="0"] .ib-v2-summary{display:none!important}
.ib-v2[data-show-assistant-panel="0"] .ib-v2-guide{display:none!important}
.ib-v2[data-visual-density="compact"] .ib-v2-shell{gap:10px}.ib-v2[data-visual-density="compact"] .ib-v2-panel{padding:18px}.ib-v2[data-visual-density="compact"] .ib-v2-card{min-height:96px}
.ib-v2-guide-orb.has-avatar{width:var(--ib-v2-avatar-size,156px);height:var(--ib-v2-avatar-size,156px);max-width:220px;max-height:220px;min-width:72px;min-height:72px;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.92),var(--ib-v2-avatar-bg,#fff));overflow:hidden;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 32%,var(--ib-border));box-shadow:0 0 0 9px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 11%,transparent),0 0 48px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 36%,transparent);animation:ibV2Float 5.5s ease-in-out infinite}
.ib-v2-guide-orb.has-avatar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 25%,transparent),transparent 62%);pointer-events:none;z-index:2;mix-blend-mode:multiply}
.ib-v2-guide-orb.has-avatar:after{content:"";position:absolute;inset:-18%;background:conic-gradient(from 180deg,color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 0%,transparent),color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 22%,transparent),color-mix(in srgb,var(--ib-v2-avatar-accent-2,var(--ib-accent)) 18%,transparent),transparent 70%);opacity:.64;filter:blur(16px);z-index:0;pointer-events:none;animation:ibV2AvatarAura 7s linear infinite}
.ib-v2-avatar-ring{position:absolute;inset:7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 52%,transparent);box-shadow:inset 0 0 20px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 18%,transparent),0 0 20px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 18%,transparent);z-index:3;pointer-events:none}
.ib-v2-avatar-face{position:absolute;inset:9px;border-radius:999px;overflow:hidden;display:grid;place-items:center;background:var(--ib-v2-avatar-bg,#fff);z-index:1}
.ib-v2-avatar-media{width:100%;height:100%;object-fit:cover;object-position:var(--ib-v2-avatar-crop-x,50%) var(--ib-v2-avatar-crop-y,41%);transform:scale(var(--ib-v2-avatar-zoom,1.22));transform-origin:center;display:block;filter:saturate(1.08) contrast(1.02)}
.ib-v2[data-avatar-kind="video"][data-avatar-preserve-face-color="0"] .ib-v2-avatar-face:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 22%,transparent),color-mix(in srgb,var(--ib-v2-avatar-accent-2,var(--ib-accent)) 13%,transparent));mix-blend-mode:soft-light;z-index:2;pointer-events:none}
.ib-v2[data-avatar-theme-sync="0"] .ib-v2-guide-orb.has-avatar:before{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 22%,transparent),transparent 62%)}
.ib-v2-avatar-speakfx{position:absolute;inset:16px;border-radius:999px;border:2px solid color-mix(in srgb,var(--ib-v2-avatar-accent-2,var(--ib-accent)) 50%,transparent);opacity:0;z-index:4;pointer-events:none}
.ib-v2-avatar-mouth{position:absolute;left:50%;top:68%;width:24%;height:10%;min-width:24px;min-height:10px;max-width:42px;transform:translate(-50%,-50%);display:grid;place-items:center;z-index:5;pointer-events:none;opacity:.9;filter:drop-shadow(0 3px 8px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 22%,transparent))}
.ib-v2-avatar-mouth-inner{position:relative;width:100%;height:100%;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 38%,#111827),color-mix(in srgb,#111827 84%,var(--ib-v2-avatar-accent,var(--ib-primary)) 16%));border:1px solid color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 24%,rgba(255,255,255,.32));box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -2px 4px rgba(0,0,0,.22);transform-origin:center 50%;opacity:.84}
.ib-v2-avatar-mouth-shine{position:absolute;left:50%;top:34%;width:48%;height:22%;transform:translate(-50%,-50%);border-radius:999px;background:rgba(255,255,255,.34);filter:blur(.4px);opacity:.55}
.ib-v2[data-avatar-preserve-face-color="1"] .ib-v2-avatar-mouth-inner{background:linear-gradient(180deg,rgba(40,40,48,.9),rgba(10,10,14,.92));border-color:rgba(255,255,255,.18)}
.ib-v2:not(.is-voice-speaking) .ib-v2-avatar-mouth{animation:ibV2IdleMouth 4.8s ease-in-out infinite}
.ib-v2.is-voice-speaking .ib-v2-avatar-mouth{animation:ibV2TalkBob .6s ease-in-out infinite}
.ib-v2.is-voice-speaking .ib-v2-avatar-mouth-inner{animation:ibV2TalkMouth .32s cubic-bezier(.4,0,.2,1) infinite}
.ib-v2.is-voice-speaking .ib-v2-avatar-mouth-shine{animation:ibV2TalkShine .32s ease-in-out infinite}
.ib-v2[data-lip-sync="live"].is-voice-speaking .ib-v2-avatar-mouth,.ib-v2[data-lip-sync="boundary"].is-voice-speaking .ib-v2-avatar-mouth{animation:none;transform:translate(-50%,calc(-50% + var(--ib-v2-mouth-bob,0px)))}
.ib-v2[data-lip-sync="live"].is-voice-speaking .ib-v2-avatar-mouth-inner,.ib-v2[data-lip-sync="boundary"].is-voice-speaking .ib-v2-avatar-mouth-inner{animation:none;transform:scaleX(var(--ib-v2-mouth-wide,1)) scaleY(var(--ib-v2-mouth-open,.72));border-radius:var(--ib-v2-mouth-radius,999px);transition:transform 48ms linear,border-radius 48ms linear,opacity 48ms linear}
.ib-v2[data-lip-sync="live"].is-voice-speaking .ib-v2-avatar-mouth-shine,.ib-v2[data-lip-sync="boundary"].is-voice-speaking .ib-v2-avatar-mouth-shine{animation:none;opacity:var(--ib-v2-mouth-shine,.32);transition:opacity 48ms linear}
.ib-v2[data-lip-sync="idle"] .ib-v2-avatar-mouth-inner{transform:scaleX(1) scaleY(.42)}

.ib-v2.is-voice-speaking .ib-v2-avatar-speakfx{animation:ibV2Speak 1s ease-in-out infinite;opacity:.85}
.ib-v2.is-voice-speaking .ib-v2-guide-orb.has-avatar{box-shadow:0 0 0 10px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 14%,transparent),0 0 72px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 52%,transparent)}
@keyframes ibV2Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes ibV2AvatarAura{to{transform:rotate(360deg)}}
@keyframes ibV2Speak{0%{transform:scale(.88);opacity:.2}45%{transform:scale(1.14);opacity:.95}100%{transform:scale(1.28);opacity:0}}
@keyframes ibV2IdleMouth{0%,100%{transform:translate(-50%,-50%) scaleX(1) scaleY(1)}50%{transform:translate(-50%,-50%) scaleX(1.03) scaleY(.95)}}
@keyframes ibV2TalkBob{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(1px)}}
@keyframes ibV2TalkMouth{0%{transform:scaleX(.92) scaleY(.66);border-radius:999px;opacity:.82}18%{transform:scaleX(1.02) scaleY(1.85);border-radius:14px 14px 16px 16px/10px 10px 18px 18px;opacity:.97}36%{transform:scaleX(.88) scaleY(.82);border-radius:999px;opacity:.86}54%{transform:scaleX(1.1) scaleY(1.55);border-radius:12px 12px 18px 18px/10px 10px 22px 22px;opacity:1}72%{transform:scaleX(.96) scaleY(.74);border-radius:999px;opacity:.88}100%{transform:scaleX(.9) scaleY(1.28);border-radius:13px 13px 16px 16px/9px 9px 18px 18px;opacity:.95}}
@keyframes ibV2TalkShine{0%,100%{opacity:.26;transform:translate(-50%,-50%) scaleX(.84)}50%{opacity:.55;transform:translate(-50%,-50%) scaleX(1.05)}}

@media (max-width:980px){
  .ib-v2-layout{grid-template-columns:1fr}.ib-v2-summary{position:static;order:-1}.ib-v2-steprail{grid-template-columns:repeat(3,minmax(0,1fr))}.ib-v2-panel{min-height:auto}
}
@media (max-width:640px){
  body.ib-v2-body{background:var(--ib-bg)}
  .ib-v2{padding:10px 10px calc(18px + env(safe-area-inset-bottom))}
  .ib-v2-shell{gap:10px}
  .ib-v2-header{position:sticky;top:0;z-index:20;border-radius:22px;min-height:60px;padding:10px;align-items:flex-start;box-shadow:0 12px 30px rgba(15,23,42,.12)}
  .ib-v2-brand h1{font-size:.98rem;max-width:58vw}.ib-v2-brand p{font-size:.76rem}.ib-v2-logo{width:44px!important;height:44px!important;border-radius:14px}
  .ib-v2-header-actions{width:100%;justify-content:stretch}.ib-v2-header-actions .ib-v2-link,.ib-v2-header-actions .ib-v2-primary,.ib-v2-header-actions .ib-v2-secondary{flex:1;min-height:42px;padding:10px 9px;font-size:.82rem;border-radius:14px}
  .ib-v2-guide{grid-template-columns:auto minmax(0,1fr);padding:13px;border-radius:22px}.ib-v2-guide-orb{width:36px;height:36px}.ib-v2-guide-orb.has-avatar{width:min(86px,var(--ib-v2-avatar-size,156px));height:min(86px,var(--ib-v2-avatar-size,156px));min-width:64px;min-height:64px}.ib-v2-guide-orb.has-avatar .ib-v2-avatar-mouth{min-width:18px;min-height:8px;max-width:30px}.ib-v2-guide-fallback{grid-column:1 / -1}.ib-v2-guide p{font-size:.92rem}
  .ib-v2-steprail{display:none}.ib-v2-progress{height:7px}
  .ib-v2-summary{display:none}
  .ib-v2-panel{border-radius:24px;padding:17px 14px 12px}.ib-v2-panel:after{display:none}
  .ib-v2-step-head{margin-bottom:16px}.ib-v2-step-head h2{font-size:1.72rem}.ib-v2-step-head p{font-size:.94rem}
  .ib-v2-grid,.ib-v2-card-grid{grid-template-columns:1fr;gap:10px}.ib-v2-card{min-height:96px;border-radius:20px}.ib-v2-input,.ib-v2-textarea{min-height:52px;border-radius:15px;font-size:16px}
  .ib-v2-addon{grid-template-columns:1fr;align-items:stretch}.ib-v2-qty{grid-template-columns:1fr 56px 1fr}.ib-v2-toggle{width:100%}
  .ib-v2-actions{position:sticky;bottom:0;z-index:12;margin:20px -14px 0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ib-surface) 94%,transparent) 26%,var(--ib-surface));border-top:1px solid var(--ib-border);display:grid;grid-template-columns:1fr 1.25fr;gap:10px}
  .ib-v2-actions .ib-v2-secondary,.ib-v2-actions .ib-v2-primary{width:100%;min-width:0;min-height:52px;margin-left:0;padding-left:12px;padding-right:12px}
  .ib-v2-actions .ib-v2-secondary:disabled{display:none}
  .ib-v2-price{font-size:2.7rem}.ib-v2-cta-row{display:grid;grid-template-columns:1fr}.ib-v2-cta-row>*{width:100%}
}

/* Build 100X6: final-step marketing offer banner, customer-safe voice labels, and stronger avatar color handling. */
.ib-v2-offer{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;margin:2px auto 0;padding:16px;border-radius:22px;border:1px solid color-mix(in srgb,var(--ib-primary) 34%,var(--ib-border));background:linear-gradient(135deg,color-mix(in srgb,var(--ib-primary) 12%,var(--ib-surface)),color-mix(in srgb,var(--ib-accent) 9%,var(--ib-surface)));box-shadow:0 14px 34px color-mix(in srgb,var(--ib-primary) 14%,transparent)}
.ib-v2-offer-main{display:grid;gap:5px}.ib-v2-offer-kicker{font-size:.74rem;font-weight:1000;letter-spacing:.11em;text-transform:uppercase;color:var(--ib-primary)}.ib-v2-offer strong{font-size:1.02rem;color:var(--ib-text)}.ib-v2-offer p{margin:0;color:var(--ib-muted);font-weight:750;line-height:1.35}.ib-v2-offer-side{display:grid;gap:8px;justify-items:center}.ib-v2-offer-timer{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:9px 12px;border-radius:999px;background:color-mix(in srgb,var(--ib-primary) 15%,var(--ib-surface));border:1px solid color-mix(in srgb,var(--ib-primary) 30%,var(--ib-border));color:var(--ib-text);font-weight:1000;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 22px color-mix(in srgb,var(--ib-primary) 12%,transparent)}.ib-v2-offer.is-expired{opacity:.78}.ib-v2-offer.is-expired .ib-v2-offer-timer{color:var(--ib-muted)}
@media (max-width:640px){.ib-v2-offer{grid-template-columns:1fr;text-align:center}.ib-v2-offer-side{justify-items:stretch}.ib-v2-offer-side .ib-v2-primary{width:100%}}


/* Build 100X16: auto-fit avatar tuning, stronger theme-sync visuals, and animated guide subtitles. */
.ib-v2-guide-copy{min-width:0;display:grid;gap:4px}
.ib-v2-guide p{display:flex;flex-wrap:wrap;gap:.18em .32em;align-items:flex-end;position:relative;max-width:62ch;text-wrap:pretty}
.ib-v2-guide p.is-animated .ib-v2-caption-word{animation:ibV2CaptionWord .55s cubic-bezier(.18,.78,.2,1) both;animation-delay:calc(var(--ib-v2-word-index,0) * 34ms)}
.ib-v2-caption-word{display:inline-block;position:relative;padding:0 .02em;text-shadow:0 1px 0 rgba(255,255,255,.12),0 0 18px color-mix(in srgb,var(--ib-primary) 12%,transparent)}
.ib-v2-caption-word::after{content:'';position:absolute;left:-.05em;right:-.05em;bottom:-.08em;height:.48em;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--ib-primary) 18%,transparent),color-mix(in srgb,var(--ib-accent) 22%,transparent));opacity:.16;transform:scaleX(.2);transform-origin:left center}
.ib-v2-guide.is-speaking .ib-v2-caption-word::after,.ib-v2-guide p.is-animated .ib-v2-caption-word::after{animation:ibV2CaptionGlow .82s ease both;animation-delay:calc(var(--ib-v2-word-index,0) * 34ms)}
.ib-v2-avatar-face{isolation:isolate;background:var(--ib-v2-avatar-bg,#fff)}
.ib-v2-avatar-media{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.ib-v2[data-avatar-sync-active='1'] .ib-v2-avatar-face::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 40%,transparent),color-mix(in srgb,var(--ib-v2-avatar-accent-2,var(--ib-accent)) 28%,transparent));mix-blend-mode:screen;opacity:var(--ib-v2-avatar-overlay-opacity,.58);z-index:2;pointer-events:none}
.ib-v2[data-avatar-sync-active='1'][data-avatar-kind='image'] .ib-v2-avatar-face::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 28% 24%,color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 20%,transparent),transparent 42%),radial-gradient(circle at 72% 76%,color-mix(in srgb,var(--ib-v2-avatar-accent-2,var(--ib-accent)) 18%,transparent),transparent 48%);mix-blend-mode:soft-light;opacity:.78;z-index:2;pointer-events:none}
.ib-v2[data-avatar-preserve-face-color='1'] .ib-v2-avatar-face::before,.ib-v2[data-avatar-preserve-face-color='1'] .ib-v2-avatar-face::after{display:none}
.ib-v2[data-avatar-tint-active='1'] .ib-v2-avatar-face::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 32% 22%,rgba(255,255,255,.24),transparent 26%),radial-gradient(circle at 50% 46%,rgba(var(--ib-avatar-tint-rgb,37,99,235),calc(var(--ib-avatar-tint-strength,.5) * .82)),rgba(var(--ib-avatar-tint-rgb,37,99,235),calc(var(--ib-avatar-tint-strength,.5) * .44)) 46%,transparent 78%);mix-blend-mode:color;opacity:1;z-index:2;pointer-events:none}
.ib-v2[data-avatar-tint-active='1'] .ib-v2-avatar-face::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--ib-avatar-tint-rgb,37,99,235),calc(var(--ib-avatar-tint-strength,.5) * .48)),transparent 52%,rgba(var(--ib-theme-primary-rgb,37,99,235),calc(var(--ib-avatar-tint-strength,.5) * .28)));mix-blend-mode:screen;opacity:.9;z-index:2;pointer-events:none}
.ib-v2[data-avatar-tint-active='1'] .ib-v2-guide-orb.has-avatar{border-color:rgba(var(--ib-avatar-tint-rgb,37,99,235),.48);box-shadow:0 0 0 9px rgba(var(--ib-avatar-tint-rgb,37,99,235),calc(var(--ib-avatar-glow-strength,.42) * .28)),0 0 68px rgba(var(--ib-avatar-tint-rgb,37,99,235),var(--ib-avatar-glow-strength,.42))}
.ib-v2[data-avatar-tint-active='1'] .ib-v2-guide-orb.has-avatar:before{background:radial-gradient(circle at 50% 40%,rgba(var(--ib-avatar-tint-rgb,37,99,235),calc(var(--ib-avatar-tint-strength,.5) * .52)),transparent 64%);mix-blend-mode:screen}
.ib-v2[data-avatar-tint-active='1'] .ib-v2-guide-orb.has-avatar:after{background:conic-gradient(from 180deg,transparent,rgba(var(--ib-avatar-tint-rgb,37,99,235),calc(var(--ib-avatar-glow-strength,.42) * .55)),rgba(var(--ib-theme-primary-rgb,37,99,235),calc(var(--ib-avatar-glow-strength,.42) * .42)),transparent 72%)}
.ib-v2[data-avatar-tint-active='1'] .ib-v2-avatar-ring{border-color:rgba(var(--ib-avatar-tint-rgb,37,99,235),.62);box-shadow:inset 0 0 22px rgba(var(--ib-avatar-tint-rgb,37,99,235),.24),0 0 24px rgba(var(--ib-avatar-tint-rgb,37,99,235),.28)}
.ib-v2[data-avatar-tint-active='1'].is-voice-speaking .ib-v2-avatar-speakfx{border-color:rgba(var(--ib-avatar-tint-rgb,37,99,235),.68)}
.ib-v2[data-avatar-tint-active='1'].is-voice-speaking .ib-v2-guide-orb.has-avatar{box-shadow:0 0 0 10px rgba(var(--ib-avatar-tint-rgb,37,99,235),calc(var(--ib-avatar-glow-strength,.42) * .34)),0 0 82px rgba(var(--ib-avatar-tint-rgb,37,99,235),calc(var(--ib-avatar-glow-strength,.42) + .12))}
.ib-v2-reveal{box-shadow:0 24px 80px rgba(var(--ib-theme-primary-rgb,37,99,235),.16)}
.ib-v2-reveal:after{content:"";position:absolute;inset:auto 10% -40% 10%;height:42%;border-radius:999px;background:radial-gradient(circle,rgba(var(--ib-theme-primary-rgb,37,99,235),.22),transparent 68%);filter:blur(12px);pointer-events:none}
.ib-v2-avatar-mouth{top:var(--ib-v2-mouth-top,68%);width:var(--ib-v2-mouth-width,24%);height:var(--ib-v2-mouth-height,10%)}
.ib-v2[data-avatar-id^='approved_orb_'] .ib-v2-avatar-mouth,.ib-v2[data-avatar-id^='approved_robot_'] .ib-v2-avatar-mouth,.ib-v2[data-avatar-id^='approved_line_'] .ib-v2-avatar-mouth{filter:drop-shadow(0 2px 6px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 24%,transparent))}
@keyframes ibV2CaptionWord{0%{opacity:0;transform:translateY(10px) scale(.98);filter:blur(5px)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes ibV2CaptionGlow{0%{opacity:0;transform:scaleX(.25)}100%{opacity:.2;transform:scaleX(1)}}
@media (max-width:640px){.ib-v2-guide p{gap:.12em .24em;line-height:1.42}.ib-v2-caption-word::after{height:.42em}}


/* Build 100X18: hide premium voice controls, browser-first prompt support, and theme-synced subtitle plate. */
.ib-v2-guide-copy{position:relative;overflow:hidden;padding:12px 14px;border-radius:22px;border:1px solid color-mix(in srgb,var(--ib-primary) 20%,var(--ib-border));background:linear-gradient(135deg,color-mix(in srgb,var(--ib-primary) 12%,var(--ib-surface)),color-mix(in srgb,var(--ib-accent) 9%,var(--ib-surface)));box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 12px 28px color-mix(in srgb,var(--ib-primary) 10%,transparent)}
.ib-v2-guide-copy::before{content:'';position:absolute;inset:auto auto 8px 14px;width:42px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--ib-primary),var(--ib-accent));opacity:.75;box-shadow:0 0 20px color-mix(in srgb,var(--ib-primary) 35%,transparent)}
.ib-v2-guide p{margin:6px 0 0;color:var(--ib-text);font-weight:820}
.ib-v2-guide.is-speaking .ib-v2-guide-copy{border-color:color-mix(in srgb,var(--ib-primary) 38%,var(--ib-border));box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 16px 36px color-mix(in srgb,var(--ib-primary) 16%,transparent),0 0 0 4px color-mix(in srgb,var(--ib-primary) 6%,transparent)}
.ib-v2[data-voice-provider='openai'] [data-v2-guide-fallback]{display:none!important}
@media (max-width:640px){.ib-v2-guide-copy{padding:10px 12px;border-radius:18px}.ib-v2-guide-copy::before{left:12px;bottom:6px;width:34px}}


/* Build 100X19: working free Browser/Google device voice setup. */
.ib-v2[data-free-voice-ready='1'] .ib-v2-voice-start{box-shadow:0 14px 32px color-mix(in srgb,var(--ib-primary) 26%,transparent),inset 0 1px 0 rgba(255,255,255,.18)}
.ib-v2[data-free-voice-ready='1'] .ib-v2-guide-copy::after{content:'Voice guide is optional';display:inline-flex;width:max-content;margin-top:6px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--ib-primary) 10%,var(--ib-surface));border:1px solid color-mix(in srgb,var(--ib-primary) 20%,var(--ib-border));color:var(--ib-muted);font-size:.72rem;font-weight:900;letter-spacing:.02em}
.ib-v2[data-free-voice-ready='1'].is-voice-speaking .ib-v2-guide-copy::after{content:'Voice guide on'}
@media (max-width:640px){.ib-v2[data-free-voice-ready='1'] .ib-v2-guide-copy::after{font-size:.68rem}}


/* Build 100X20: better mobile avatar holder fit and stronger browser-voice chrome handling support. */
@media (max-width:640px){
  .ib-v2-guide{grid-template-columns:1fr;justify-items:center;text-align:center;gap:10px}
  .ib-v2-guide-copy{justify-items:center;text-align:center}
  .ib-v2-guide-orb.has-avatar{width:min(108px,var(--ib-v2-avatar-size,156px));height:min(108px,var(--ib-v2-avatar-size,156px));min-width:92px;min-height:92px;margin-inline:auto}
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face{inset:8px}
  .ib-v2[data-avatar-id^='approved_line_'] .ib-v2-guide-orb.has-avatar .ib-v2-avatar-media{transform:scale(calc(var(--ib-v2-avatar-zoom,1.06) * .9));object-position:var(--ib-v2-avatar-crop-x,50%) var(--ib-v2-avatar-crop-y,50%)}
  .ib-v2[data-avatar-id^='approved_line_'] .ib-v2-guide-orb.has-avatar .ib-v2-avatar-mouth{top:calc(var(--ib-v2-mouth-top,68%) - 1%)}
  .ib-v2-guide-fallback{width:100%;max-width:340px;margin-inline:auto}
}


/* Build 100X23: Browser/free voice removed + premium animated subtitle stage. */
.ib-v2[data-free-voice-ready='1'] .ib-v2-guide-copy::after{display:none!important;content:''!important}
.ib-v2-guide{
  --ib-v2-caption-glow: color-mix(in srgb,var(--ib-primary) 48%,transparent);
}
.ib-v2-guide-copy{
  position:relative;
  isolation:isolate;
  padding:16px 18px 18px!important;
  border-radius:26px!important;
  border:1px solid color-mix(in srgb,var(--ib-primary) 34%,var(--ib-border))!important;
  background:
    radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--ib-primary) 24%,transparent),transparent 34%),
    radial-gradient(circle at 88% 100%,color-mix(in srgb,var(--ib-accent) 20%,transparent),transparent 38%),
    linear-gradient(135deg,color-mix(in srgb,var(--ib-surface) 90%,transparent),color-mix(in srgb,var(--ib-primary) 9%,var(--ib-surface)) 52%,color-mix(in srgb,var(--ib-accent) 10%,var(--ib-surface)))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    0 18px 46px color-mix(in srgb,var(--ib-primary) 15%,transparent),
    0 0 0 1px color-mix(in srgb,#fff 32%,transparent)!important;
}
.ib-v2-guide-copy::after{
  content:'';
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  z-index:-1;
  background:linear-gradient(110deg,transparent 0%,color-mix(in srgb,var(--ib-primary) 34%,transparent) 22%,color-mix(in srgb,var(--ib-accent) 28%,transparent) 48%,transparent 74%);
  opacity:.42;
  filter:blur(18px);
  transform:translateX(-32%);
  animation:ibV2SubtitleAurora 5.8s ease-in-out infinite;
}
.ib-v2-guide-copy::before{
  content:''!important;
  position:absolute!important;
  left:16px!important;
  right:16px!important;
  bottom:8px!important;
  width:auto!important;
  height:3px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent,var(--ib-primary),var(--ib-accent),transparent)!important;
  opacity:.82!important;
  box-shadow:0 0 18px var(--ib-v2-caption-glow)!important;
  animation:ibV2SubtitleLine 2.4s ease-in-out infinite!important;
}
.ib-v2-guide p{
  font-size:clamp(1.03rem,1.5vw,1.2rem)!important;
  line-height:1.5!important;
  letter-spacing:-.012em;
  color:var(--ib-text)!important;
}
.ib-v2-caption-word{
  display:inline-block;
  position:relative;
  padding:0 .025em;
  background:linear-gradient(92deg,var(--ib-text) 0%,color-mix(in srgb,var(--ib-primary) 84%,var(--ib-text)) 48%,color-mix(in srgb,var(--ib-accent) 86%,var(--ib-text)) 78%,var(--ib-text) 100%);
  background-size:240% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:none!important;
  filter:drop-shadow(0 0 10px color-mix(in srgb,var(--ib-primary) 10%,transparent));
}
.ib-v2-guide p.is-animated .ib-v2-caption-word{
  animation:ibV2CaptionRise .72s cubic-bezier(.18,.9,.2,1) both, ibV2CaptionShimmer 3.6s ease-in-out infinite;
  animation-delay:calc(var(--ib-v2-word-index,0) * 42ms), calc(var(--ib-v2-word-index,0) * 34ms);
}
.ib-v2-caption-word::after{
  content:'';
  position:absolute;
  left:-.08em;
  right:-.08em;
  bottom:-.12em;
  height:.42em;
  border-radius:999px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--ib-primary) 8%,transparent),color-mix(in srgb,var(--ib-primary) 24%,transparent),color-mix(in srgb,var(--ib-accent) 24%,transparent));
  opacity:0;
  transform:scaleX(.16) translateY(4px);
  transform-origin:left center;
}
.ib-v2-guide p.is-animated .ib-v2-caption-word::after,
.ib-v2-guide.is-speaking .ib-v2-caption-word::after{
  animation:ibV2CaptionUnderglow 1.15s ease both;
  animation-delay:calc(var(--ib-v2-word-index,0) * 42ms);
}
.ib-v2-guide.is-speaking .ib-v2-guide-copy{
  animation:ibV2SubtitlePlatePulse 1.7s ease-in-out infinite;
}
.ib-v2-guide.is-speaking .ib-v2-caption-word{
  filter:drop-shadow(0 0 12px color-mix(in srgb,var(--ib-primary) 18%,transparent));
}
@keyframes ibV2SubtitleAurora{0%,100%{transform:translateX(-34%) scale(1);opacity:.28}50%{transform:translateX(28%) scale(1.04);opacity:.56}}
@keyframes ibV2SubtitleLine{0%,100%{transform:scaleX(.42);opacity:.38}50%{transform:scaleX(1);opacity:.9}}
@keyframes ibV2SubtitlePlatePulse{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 18px 46px color-mix(in srgb,var(--ib-primary) 16%,transparent),0 0 0 1px color-mix(in srgb,#fff 32%,transparent)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 22px 58px color-mix(in srgb,var(--ib-primary) 25%,transparent),0 0 0 5px color-mix(in srgb,var(--ib-primary) 7%,transparent)}}
@keyframes ibV2CaptionRise{0%{opacity:0;transform:translateY(13px) scale(.94);filter:blur(7px)}60%{opacity:1;transform:translateY(-1px) scale(1.015);filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes ibV2CaptionShimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes ibV2CaptionUnderglow{0%{opacity:0;transform:scaleX(.16) translateY(5px)}45%{opacity:.45;transform:scaleX(1) translateY(0)}100%{opacity:.18;transform:scaleX(1) translateY(0)}}
@media (max-width:640px){
  .ib-v2-guide-copy{padding:13px 13px 16px!important;border-radius:21px!important;width:100%}
  .ib-v2-guide p{font-size:.98rem!important;line-height:1.42!important;justify-content:center}
  .ib-v2-guide-copy::before{left:12px!important;right:12px!important;bottom:7px!important}
}

.ib-v2-subtitle-only.is-active{border-color:var(--ib-primary);background:color-mix(in srgb,var(--ib-primary) 10%,var(--ib-surface));color:var(--ib-primary);box-shadow:0 10px 24px color-mix(in srgb,var(--ib-primary) 12%,transparent)}
.ib-v2-subtitle-only.is-active::before{content:'•';font-size:1.15em;line-height:1;color:var(--ib-primary)}


/* Build 100X28: default avatar 20+ real color looks. */
.ib-v2[data-avatar-id="male_blue"] .ib-v2-guide-orb.has-avatar{
  background:radial-gradient(circle at 48% 26%,#fff 0 9%,color-mix(in srgb,var(--ib-v2-avatar-accent) 42%,var(--ib-v2-avatar-bg,#fff)) 48%,var(--ib-v2-avatar-bg,#fff) 100%);
  border-color:color-mix(in srgb,var(--ib-v2-avatar-accent) 62%,var(--ib-border));
  box-shadow:0 0 0 10px color-mix(in srgb,var(--ib-v2-avatar-accent) 16%,transparent),0 0 58px color-mix(in srgb,var(--ib-v2-avatar-accent) 58%,transparent),inset 0 0 24px color-mix(in srgb,var(--ib-v2-avatar-accent) 18%,transparent);
}
.ib-v2[data-avatar-id="male_blue"] .ib-v2-avatar-ring{border-color:color-mix(in srgb,var(--ib-v2-avatar-accent) 72%,transparent);box-shadow:inset 0 0 26px color-mix(in srgb,var(--ib-v2-avatar-accent) 32%,transparent),0 0 28px color-mix(in srgb,var(--ib-v2-avatar-accent) 34%,transparent)}
.ib-v2[data-avatar-id="male_blue"] .ib-v2-avatar-face::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 48% 32%,color-mix(in srgb,#fff 26%,transparent),transparent 25%),linear-gradient(135deg,color-mix(in srgb,var(--ib-v2-avatar-accent) 74%,transparent),color-mix(in srgb,var(--ib-v2-avatar-accent-2) 52%,transparent));mix-blend-mode:color;opacity:.58;z-index:2;pointer-events:none}
.ib-v2[data-avatar-id="male_blue"] .ib-v2-avatar-face::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--ib-v2-avatar-accent) 44%,transparent),transparent 42%,color-mix(in srgb,var(--ib-v2-avatar-accent-2) 36%,transparent));mix-blend-mode:screen;opacity:.7;z-index:3;pointer-events:none}
.ib-v2[data-avatar-id="male_blue"][data-avatar-custom-color-active="1"] .ib-v2-avatar-media{filter:saturate(1.22) contrast(1.06) brightness(1.04)}
.ib-v2[data-avatar-tint-active="1"][data-avatar-preserve-face-color="0"] .ib-v2-avatar-media{filter:grayscale(.72) saturate(.72) contrast(1.12) brightness(1.04)}
.ib-v2[data-avatar-tint-active="1"][data-avatar-preserve-face-color="0"] .ib-v2-avatar-face::before{background:radial-gradient(circle at 48% 28%,rgba(255,255,255,.26),transparent 24%),linear-gradient(135deg,rgba(var(--ib-avatar-tint-rgb,37,99,235),calc(var(--ib-avatar-media-tint-opacity,.68) * .95)),rgba(var(--ib-theme-primary-rgb,37,99,235),calc(var(--ib-avatar-media-tint-opacity,.68) * .78)));mix-blend-mode:color!important;opacity:.96!important;z-index:2}
.ib-v2[data-avatar-tint-active="1"][data-avatar-preserve-face-color="0"] .ib-v2-avatar-face::after{background:radial-gradient(circle at 50% 36%,rgba(255,255,255,.2),transparent 30%),linear-gradient(135deg,rgba(var(--ib-avatar-tint-rgb,37,99,235),calc(var(--ib-avatar-media-tint-opacity,.68) * .46)),transparent 42%,rgba(var(--ib-theme-primary-rgb,37,99,235),calc(var(--ib-avatar-media-tint-opacity,.68) * .42)));mix-blend-mode:screen!important;opacity:.94!important;z-index:3}
.ib-v2[data-avatar-id="male_blue"] .ib-v2-avatar-mouth-inner{background:linear-gradient(180deg,color-mix(in srgb,var(--ib-v2-avatar-accent) 64%,#0f172a),color-mix(in srgb,#020617 70%,var(--ib-v2-avatar-accent) 30%));}


/* Build 100X29: full default-avatar color synchronization across the V2 customer experience. */
.ib-v2[data-avatar-full-sync='1']{
  --ib-v2-sync-primary:var(--ib-v2-full-sync-primary,var(--ib-v2-avatar-accent,var(--ib-primary)));
  --ib-v2-sync-accent:var(--ib-v2-full-sync-accent,var(--ib-v2-avatar-accent-2,var(--ib-accent)));
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-header,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-panel,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-summary,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-guide{
  border-color:color-mix(in srgb,var(--ib-v2-sync-primary) 24%,var(--ib-border));
  box-shadow:0 22px 70px color-mix(in srgb,var(--ib-v2-sync-primary) 12%,transparent);
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-guide{
  background:
    radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--ib-v2-sync-primary) 20%,transparent),transparent 34%),
    radial-gradient(circle at 95% 100%,color-mix(in srgb,var(--ib-v2-sync-accent) 18%,transparent),transparent 36%),
    color-mix(in srgb,var(--ib-surface) 94%,transparent);
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-guide:before{
  background:linear-gradient(110deg,color-mix(in srgb,var(--ib-v2-sync-primary) 22%,transparent),transparent 42%,color-mix(in srgb,var(--ib-v2-sync-accent) 20%,transparent));
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-guide-copy{
  border-color:color-mix(in srgb,var(--ib-v2-sync-primary) 42%,var(--ib-border))!important;
  background:
    radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--ib-v2-sync-primary) 26%,transparent),transparent 34%),
    radial-gradient(circle at 90% 100%,color-mix(in srgb,var(--ib-v2-sync-accent) 24%,transparent),transparent 38%),
    linear-gradient(135deg,color-mix(in srgb,var(--ib-surface) 88%,transparent),color-mix(in srgb,var(--ib-v2-sync-primary) 12%,var(--ib-surface)) 52%,color-mix(in srgb,var(--ib-v2-sync-accent) 13%,var(--ib-surface)))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 18px 48px color-mix(in srgb,var(--ib-v2-sync-primary) 18%,transparent),0 0 0 1px color-mix(in srgb,#fff 34%,transparent)!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-guide-copy::before,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-progress div,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-primary,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-price-ctas .ib-v2-primary,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-reveal-actions .ib-v2-primary{
  background:linear-gradient(135deg,var(--ib-v2-sync-primary),var(--ib-v2-sync-accent))!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-primary,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-card.is-selected,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-step-pill.is-current,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-choice.is-selected,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-toggle.is-selected{
  box-shadow:0 16px 36px color-mix(in srgb,var(--ib-v2-sync-primary) 25%,transparent)!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-card.is-selected,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-addon.is-selected,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-choice.is-selected,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-toggle.is-selected,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-step-pill.is-current,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-subtitle-only.is-active{
  border-color:var(--ib-v2-sync-primary)!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-card.is-selected,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-addon.is-selected,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-step-pill.is-current,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-subtitle-only.is-active{
  background:linear-gradient(180deg,color-mix(in srgb,var(--ib-v2-sync-primary) 14%,var(--ib-surface)),color-mix(in srgb,var(--ib-v2-sync-accent) 9%,var(--ib-surface)))!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-card.is-selected:after,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-choice.is-selected,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-toggle.is-selected{
  background:var(--ib-v2-sync-primary)!important;
  color:var(--ib-primary-text)!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-caption-word{
  background:linear-gradient(92deg,var(--ib-text) 0%,color-mix(in srgb,var(--ib-v2-sync-primary) 86%,var(--ib-text)) 44%,color-mix(in srgb,var(--ib-v2-sync-accent) 88%,var(--ib-text)) 76%,var(--ib-text) 100%)!important;
  background-size:240% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-caption-word::after{
  background:linear-gradient(90deg,color-mix(in srgb,var(--ib-v2-sync-primary) 8%,transparent),color-mix(in srgb,var(--ib-v2-sync-primary) 26%,transparent),color-mix(in srgb,var(--ib-v2-sync-accent) 26%,transparent))!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-price,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-offer-kicker,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-summary strong,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-card-badge,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-subtitle-only.is-active{
  color:var(--ib-v2-sync-primary)!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-offer{
  border-color:color-mix(in srgb,var(--ib-v2-sync-primary) 40%,var(--ib-border));
  background:linear-gradient(135deg,color-mix(in srgb,var(--ib-v2-sync-primary) 14%,var(--ib-surface)),color-mix(in srgb,var(--ib-v2-sync-accent) 12%,var(--ib-surface)));
  box-shadow:0 16px 40px color-mix(in srgb,var(--ib-v2-sync-primary) 16%,transparent);
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-offer-timer,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-card-badge{
  background:color-mix(in srgb,var(--ib-v2-sync-primary) 13%,var(--ib-surface));
  border-color:color-mix(in srgb,var(--ib-v2-sync-primary) 28%,var(--ib-border));
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-avatar-face::before{
  mix-blend-mode:color!important;
  opacity:.74!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-avatar-face::after{
  opacity:.78!important;
}
.ib-v2[data-avatar-full-sync='1'] .ib-v2-avatar-ring,
.ib-v2[data-avatar-full-sync='1'] .ib-v2-avatar-mouth{
  filter:drop-shadow(0 0 12px color-mix(in srgb,var(--ib-v2-sync-primary) 54%,transparent));
}

/* Build 101N: mobile app polish for voice storefront.
   Keeps CTA controls compact, removes broken logo noise, shrinks the assistant stage,
   and brings Step 1 above the fold on iPhone/Safari. */
@media (max-width:640px){
  html{scroll-behavior:auto!important}
  body.ib-v2-body{background:linear-gradient(180deg,color-mix(in srgb,var(--ib-bg) 96%,#fff),var(--ib-bg))!important;overflow-x:hidden}
  .ib-v2{padding:8px 10px calc(20px + env(safe-area-inset-bottom))!important}
  .ib-v2-shell{gap:8px!important;max-width:100%!important}

  /* Compact mobile control bar: no broken/squeezed logo box, no full-row Email. */
  .ib-v2-header{
    position:sticky!important;
    top:0!important;
    z-index:30!important;
    display:block!important;
    min-height:0!important;
    padding:8px!important;
    border-radius:22px!important;
    background:color-mix(in srgb,var(--ib-surface) 92%,transparent)!important;
    box-shadow:0 10px 28px rgba(15,23,42,.10)!important;
    backdrop-filter:blur(18px)!important;
  }
  .ib-v2-brand{display:none!important}
  .ib-v2-header-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    align-items:stretch!important;
    justify-content:stretch!important;
  }
  .ib-v2-header-actions .ib-v2-link,
  .ib-v2-header-actions .ib-v2-primary,
  .ib-v2-header-actions .ib-v2-secondary,
  .ib-v2-header-actions .ib-v2-caption-chip{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    padding:7px 4px!important;
    border-radius:15px!important;
    font-size:.74rem!important;
    line-height:1.02!important;
    letter-spacing:-.02em!important;
    white-space:normal!important;
    text-align:center!important;
    box-shadow:none!important;
  }
  .ib-v2-header-actions .ib-v2-subtitle-only,
  .ib-v2-header-actions .ib-v2-voice-start{font-size:0!important;gap:0!important}
  .ib-v2-header-actions .ib-v2-subtitle-only::after{content:'Captions';font-size:.74rem;font-weight:950;line-height:1.02}
  .ib-v2-header-actions .ib-v2-subtitle-only.is-active::after{content:'Captions On'}
  .ib-v2-header-actions .ib-v2-voice-start::after{content:'Guide';font-size:.76rem;font-weight:1000;line-height:1.02}

  /* Assistant stage: small, premium, and not eating the screen. */
  .ib-v2-guide{
    display:grid!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    align-items:center!important;
    justify-items:stretch!important;
    text-align:left!important;
    gap:10px!important;
    padding:10px!important;
    border-radius:22px!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .ib-v2-guide-orb{width:42px!important;height:42px!important;margin:0!important}
  .ib-v2-guide-orb.has-avatar{
    width:70px!important;
    height:70px!important;
    min-width:70px!important;
    min-height:70px!important;
    max-width:70px!important;
    max-height:70px!important;
    margin:0!important;
    box-shadow:0 0 0 6px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 10%,transparent),0 0 28px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 34%,transparent)!important;
  }
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face{inset:6px!important}
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-ring{inset:5px!important}
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-speakfx{inset:9px!important}
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-mouth{min-width:14px!important;min-height:6px!important;max-width:22px!important}
  .ib-v2-avatar-media{object-position:var(--ib-v2-avatar-crop-x,50%) var(--ib-v2-avatar-crop-y,41%)!important;transform:scale(var(--ib-v2-avatar-zoom,1.18))!important}
  .ib-v2-guide-copy{
    width:100%!important;
    justify-items:start!important;
    text-align:left!important;
    padding:10px 11px 13px!important;
    border-radius:18px!important;
    gap:2px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 10px 24px color-mix(in srgb,var(--ib-primary) 10%,transparent)!important;
  }
  .ib-v2-guide-copy::before{left:11px!important;right:11px!important;bottom:6px!important;height:2px!important}
  .ib-v2-guide-copy::after{filter:blur(12px)!important;opacity:.25!important}
  .ib-v2-guide .ib-v2-eyebrow{font-size:.62rem!important;letter-spacing:.14em!important;line-height:1.1!important}
  .ib-v2-guide p{
    display:block!important;
    margin:3px 0 0!important;
    max-width:100%!important;
    font-size:.82rem!important;
    line-height:1.26!important;
    font-weight:850!important;
    letter-spacing:-.02em!important;
    text-wrap:balance!important;
  }
  .ib-v2-caption-word{display:inline!important;padding:0!important;filter:none!important}
  .ib-v2-caption-word::after{display:none!important}
  .ib-v2-guide-fallback{grid-column:1 / -1!important;width:100%!important;max-width:none!important;min-height:40px!important}

  .ib-v2-progress{height:5px!important;border-radius:999px!important}

  /* Form comes up earlier and reads cleaner on mobile. */
  .ib-v2-layout{display:block!important}
  .ib-v2-summary{display:none!important}
  .ib-v2-panel{
    border-radius:23px!important;
    padding:15px 14px 10px!important;
    min-height:auto!important;
    box-shadow:0 16px 42px rgba(15,23,42,.08)!important;
  }
  .ib-v2-step-head{gap:6px!important;margin-bottom:13px!important}
  .ib-v2-step-head .ib-v2-eyebrow{font-size:.72rem!important;letter-spacing:.16em!important}
  .ib-v2-step-head h2{
    font-size:clamp(1.46rem,7.4vw,1.86rem)!important;
    line-height:1.02!important;
    letter-spacing:-.055em!important;
  }
  .ib-v2-step-head p{font-size:.91rem!important;line-height:1.38!important;font-weight:720!important}
  .ib-v2-field{gap:6px!important;margin-bottom:11px!important}
  .ib-v2-field label{font-size:.88rem!important}
  .ib-v2-input,.ib-v2-textarea{min-height:48px!important;border-radius:15px!important;padding:11px 12px!important;font-size:16px!important}
  .ib-v2-card{min-height:86px!important;padding:13px!important;border-radius:18px!important}
  .ib-v2-card-icon,.ib-v2-card-badge{width:36px!important;height:36px!important;border-radius:13px!important}
  .ib-v2-choice{min-height:42px!important;padding:10px 12px!important}
  .ib-v2-actions{margin-top:14px!important}
}

@media (max-width:380px){
  .ib-v2-header-actions{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important}
  .ib-v2-header-actions .ib-v2-link,
  .ib-v2-header-actions .ib-v2-primary,
  .ib-v2-header-actions .ib-v2-secondary,
  .ib-v2-header-actions .ib-v2-caption-chip{font-size:.68rem!important;padding-inline:2px!important}
  .ib-v2-header-actions .ib-v2-subtitle-only::after{content:'Caption';font-size:.68rem!important}
  .ib-v2-header-actions .ib-v2-voice-start::after{font-size:.7rem!important}
  .ib-v2-guide{grid-template-columns:66px minmax(0,1fr)!important;gap:8px!important}
  .ib-v2-guide-orb.has-avatar{width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;max-width:62px!important;max-height:62px!important}
  .ib-v2-guide p{font-size:.78rem!important;line-height:1.24!important}
  .ib-v2-step-head h2{font-size:1.38rem!important}
  .ib-v2-step-head p{font-size:.86rem!important}
}


/* Build 101O: mobile logo restore + contained avatar frame.
   The 101N mobile bar hid the brand to remove a broken logo box. This restores a
   real logo slot with fallback handling while keeping the action buttons compact. */
@media (max-width:640px){
  .ib-v2-header{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:center!important;
  }
  .ib-v2-brand{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    width:46px!important;
    height:46px!important;
    overflow:hidden!important;
  }
  .ib-v2-brand .ib-v2-brand-text{display:none!important}
  .ib-v2-logo{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    border-radius:15px!important;
    padding:3px!important;
    background:color-mix(in srgb,var(--ib-surface) 96%,#fff)!important;
    border:1px solid color-mix(in srgb,var(--ib-border) 84%,transparent)!important;
    box-shadow:0 8px 22px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.45)!important;
  }
  .ib-v2-logo.is-unframed{
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .ib-v2-logo img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    display:block!important;
  }
  .ib-v2-header-actions{
    grid-column:2!important;
    width:100%!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .ib-v2-header-actions .ib-v2-link,
  .ib-v2-header-actions .ib-v2-primary,
  .ib-v2-header-actions .ib-v2-secondary,
  .ib-v2-header-actions .ib-v2-caption-chip{
    min-height:40px!important;
    height:40px!important;
    border-radius:14px!important;
    font-size:.7rem!important;
    padding-inline:2px!important;
  }

  .ib-v2-guide{
    grid-template-columns:88px minmax(0,1fr)!important;
  }
  .ib-v2-guide-orb.has-avatar{
    position:relative!important;
    isolation:isolate!important;
    width:82px!important;
    height:82px!important;
    min-width:82px!important;
    min-height:82px!important;
    max-width:82px!important;
    max-height:82px!important;
    border-radius:24px!important;
    padding:6px!important;
    overflow:hidden!important;
    background:
      radial-gradient(circle at 34% 18%,rgba(255,255,255,.92),transparent 36%),
      linear-gradient(145deg,color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 18%,var(--ib-surface)),color-mix(in srgb,var(--ib-v2-avatar-accent-2,var(--ib-accent)) 14%,var(--ib-surface)))!important;
    border:1px solid color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 42%,var(--ib-border))!important;
    box-shadow:0 12px 28px rgba(15,23,42,.12),0 0 0 5px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 10%,transparent),0 0 34px color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 26%,transparent)!important;
  }
  .ib-v2-guide-orb.has-avatar::before,
  .ib-v2-guide-orb.has-avatar::after{border-radius:inherit!important;overflow:hidden!important}
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face{
    inset:7px!important;
    border-radius:20px!important;
    overflow:hidden!important;
    clip-path:inset(0 round 20px)!important;
    border:1px solid rgba(255,255,255,.58)!important;
    background:linear-gradient(180deg,color-mix(in srgb,var(--ib-surface) 96%,#fff),color-mix(in srgb,var(--ib-v2-avatar-accent,var(--ib-primary)) 9%,var(--ib-surface)))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.5)!important;
  }
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-media{
    width:100%!important;
    height:100%!important;
    border-radius:20px!important;
    clip-path:inset(0 round 20px)!important;
    object-fit:cover!important;
    transform:scale(var(--ib-v2-avatar-zoom,1.14))!important;
  }
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-ring,
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-speakfx{
    border-radius:21px!important;
  }
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-ring{inset:6px!important}
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-speakfx{inset:10px!important}
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-mouth{max-width:20px!important;min-width:12px!important;min-height:5px!important}
}

@media (max-width:380px){
  .ib-v2-header{grid-template-columns:40px minmax(0,1fr)!important;gap:6px!important}
  .ib-v2-brand{width:40px!important;height:40px!important}
  .ib-v2-logo{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:13px!important}
  .ib-v2-header-actions{gap:4px!important}
  .ib-v2-header-actions .ib-v2-link,
  .ib-v2-header-actions .ib-v2-primary,
  .ib-v2-header-actions .ib-v2-secondary,
  .ib-v2-header-actions .ib-v2-caption-chip{font-size:.62rem!important;min-height:38px!important;height:38px!important}
  .ib-v2-guide{grid-template-columns:74px minmax(0,1fr)!important}
  .ib-v2-guide-orb.has-avatar{width:70px!important;height:70px!important;min-width:70px!important;min-height:70px!important;max-width:70px!important;max-height:70px!important;border-radius:21px!important}
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face,
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-media{border-radius:17px!important;clip-path:inset(0 round 17px)!important}
}

/* Build 101P: mobile header/nav usability pass.
   Fixes the cramped 101O header by giving the logo its own brand strip, using
   one captions control, using short action labels, and keeping the assistant
   frame/text fully contained on iPhone Safari widths. */
@media (max-width:640px){
  .ib-v2{padding-top:6px!important}
  .ib-v2-header{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:8px 10px 10px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .ib-v2-brand{
    grid-column:1!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    justify-content:center!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  .ib-v2-logo,
  .ib-v2-logo.is-unframed{
    width:min(118px,42vw)!important;
    height:26px!important;
    min-width:74px!important;
    min-height:26px!important;
    max-width:118px!important;
    max-height:26px!important;
    border-radius:10px!important;
    padding:2px 5px!important;
    background:color-mix(in srgb,var(--ib-surface) 96%,#fff)!important;
    border:1px solid color-mix(in srgb,var(--ib-border) 75%,transparent)!important;
    box-shadow:0 5px 14px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.45)!important;
  }
  .ib-v2-logo img{object-fit:contain!important}
  .ib-v2-header-actions{
    grid-column:1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .ib-v2-header-actions .ib-v2-link,
  .ib-v2-header-actions .ib-v2-primary,
  .ib-v2-header-actions .ib-v2-secondary,
  .ib-v2-header-actions .ib-v2-caption-chip{
    height:39px!important;
    min-height:39px!important;
    max-height:39px!important;
    padding:5px 2px!important;
    border-radius:14px!important;
    font-size:.72rem!important;
    line-height:1!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  /* 101O overrode 101N and showed both the real label and ::after label. Keep one real label only. */
  .ib-v2-header-actions .ib-v2-subtitle-only::after,
  .ib-v2-header-actions .ib-v2-voice-start::after{content:none!important;display:none!important}
  .ib-v2-header-actions .ib-v2-subtitle-only,
  .ib-v2-header-actions .ib-v2-voice-start{font-size:.72rem!important;gap:0!important}
  .ib-v2-header-actions .ib-v2-voice-start{font-weight:1000!important}

  .ib-v2-guide{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:9px!important;
    padding:9px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .ib-v2-guide-orb.has-avatar{
    width:76px!important;
    height:76px!important;
    min-width:76px!important;
    min-height:76px!important;
    max-width:76px!important;
    max-height:76px!important;
    border-radius:22px!important;
  }
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face,
  .ib-v2-guide-orb.has-avatar .ib-v2-avatar-media{
    border-radius:17px!important;
    clip-path:inset(0 round 17px)!important;
    overflow:hidden!important;
  }
  .ib-v2-guide-copy{
    min-width:0!important;
    overflow:hidden!important;
    padding:9px 10px 12px!important;
    border-radius:17px!important;
  }
  .ib-v2-guide p{
    font-size:.78rem!important;
    line-height:1.2!important;
    max-height:3.7em!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    text-wrap:auto!important;
  }
  .ib-v2-step-head h2{
    font-size:clamp(1.34rem,6.4vw,1.66rem)!important;
    letter-spacing:-.05em!important;
  }
  .ib-v2-step-head p{font-size:.86rem!important;line-height:1.34!important}
}

@media (max-width:380px){
  .ib-v2-header-actions{gap:4px!important}
  .ib-v2-header-actions .ib-v2-link,
  .ib-v2-header-actions .ib-v2-primary,
  .ib-v2-header-actions .ib-v2-secondary,
  .ib-v2-header-actions .ib-v2-caption-chip{font-size:.64rem!important;height:36px!important;min-height:36px!important;border-radius:12px!important}
  .ib-v2-guide{grid-template-columns:70px minmax(0,1fr)!important;gap:8px!important}
  .ib-v2-guide-orb.has-avatar{width:66px!important;height:66px!important;min-width:66px!important;min-height:66px!important;max-width:66px!important;max-height:66px!important;border-radius:19px!important}
  .ib-v2-guide p{font-size:.73rem!important;line-height:1.18!important}
}

/* Build 101U: mobile full-logo view patch.
   Wide tenant logos were being squeezed into a short 26px mobile slot. This
   gives the brand its own full-width contain frame so the entire logo is visible
   without cropping, while keeping the action row compact below it. */
@media (max-width:640px){
  .ib-v2-header{
    gap:10px!important;
    padding:10px 12px 12px!important;
  }
  .ib-v2-brand{
    display:flex!important;
    grid-column:1!important;
    width:100%!important;
    height:auto!important;
    min-height:58px!important;
    max-height:none!important;
    padding:6px 8px!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    border-radius:20px!important;
    background:linear-gradient(180deg,color-mix(in srgb,var(--ib-surface) 98%,#fff),color-mix(in srgb,var(--ib-surface) 92%,var(--ib-primary) 8%))!important;
    border:1px solid color-mix(in srgb,var(--ib-border) 78%,transparent)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 8px 22px rgba(15,23,42,.07)!important;
  }
  .ib-v2-logo,
  .ib-v2-logo.is-unframed{
    width:min(300px,82vw)!important;
    max-width:min(300px,82vw)!important;
    min-width:160px!important;
    height:58px!important;
    min-height:58px!important;
    max-height:58px!important;
    padding:6px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border-radius:17px!important;
    background:#fff!important;
    border:1px solid color-mix(in srgb,var(--ib-border) 70%,transparent)!important;
    box-shadow:0 6px 16px rgba(15,23,42,.06),inset 0 1px 0 rgba(255,255,255,.65)!important;
  }
  .ib-v2-logo.is-unframed{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  .ib-v2-logo img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
  }
  .ib-v2-header-actions{
    grid-column:1!important;
    width:100%!important;
  }
  .ib-v2-header-actions .ib-v2-subtitle-only,
  .ib-v2-header-actions .ib-v2-caption-chip{
    white-space:nowrap!important;
    font-size:.68rem!important;
    letter-spacing:-.03em!important;
  }
}

@media (max-width:380px){
  .ib-v2-brand{min-height:54px!important;padding:5px 6px!important;border-radius:18px!important}
  .ib-v2-logo,
  .ib-v2-logo.is-unframed{
    width:min(270px,84vw)!important;
    max-width:min(270px,84vw)!important;
    min-width:140px!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    padding:5px 10px!important;
    border-radius:15px!important;
  }
}

/* Build 101BJ: Chrome/Safari/Edge consistency patch.
   Normalizes form controls, viewport height, text rendering, and media sizing so
   Google Chrome and Safari render the customer demo with the same structure. */
:root{
  --ib-vh:1vh;
  --ib-viewport-height:100vh;
  --ib-browser-control-radius:16px;
}
html.ib-browser-consistency{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-bottom:max(96px, env(safe-area-inset-bottom));
}
html.ib-browser-consistency body.ib-v2-body{
  min-height:100vh;
  min-height:calc(var(--ib-vh,1vh) * 100);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
html.ib-browser-consistency .ib-v2{
  min-height:100vh;
  min-height:calc(var(--ib-vh,1vh) * 100);
  overflow-x:clip;
}
html.ib-browser-consistency button,
html.ib-browser-consistency input,
html.ib-browser-consistency select,
html.ib-browser-consistency textarea{
  font:inherit;
  letter-spacing:inherit;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html.ib-browser-consistency button,
html.ib-browser-consistency .ib-v2-primary,
html.ib-browser-consistency .ib-v2-secondary,
html.ib-browser-consistency .ib-v2-link,
html.ib-browser-consistency .ib-v2-choice,
html.ib-browser-consistency .ib-v2-card{
  -webkit-appearance:none;
  appearance:none;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
html.ib-browser-consistency .ib-v2-input,
html.ib-browser-consistency .ib-v2-textarea,
html.ib-browser-consistency select.ib-v2-input{
  -webkit-appearance:none;
  appearance:none;
  border-radius:var(--ib-browser-control-radius)!important;
  line-height:1.25;
}
html.ib-browser-consistency input[type="checkbox"],
html.ib-browser-consistency input[type="radio"]{
  -webkit-appearance:auto;
  appearance:auto;
}
html.ib-browser-consistency .ib-v2-header,
html.ib-browser-consistency .ib-v2-panel,
html.ib-browser-consistency .ib-v2-summary,
html.ib-browser-consistency .ib-v2-guide,
html.ib-browser-consistency .ib-v2-card,
html.ib-browser-consistency .ib-v2-question-group,
html.ib-browser-consistency .ib-v2-addon,
html.ib-browser-consistency .ib-v2-total-card{
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
html.ib-browser-consistency .ib-v2-logo img,
html.ib-browser-consistency .ib-v2-avatar-media,
html.ib-browser-consistency video,
html.ib-browser-consistency img,
html.ib-browser-consistency svg{
  max-width:100%;
}
html.ib-browser-consistency .ib-v2-avatar-media,
html.ib-browser-consistency video.ib-v2-avatar-media{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
html.ib-browser-consistency .ib-v2-step-head,
html.ib-browser-consistency .ib-v2-guide-copy,
html.ib-browser-consistency .ib-v2-card,
html.ib-browser-consistency .ib-v2-card-copy,
html.ib-browser-consistency .ib-v2-addon,
html.ib-browser-consistency .ib-v2-summary,
html.ib-browser-consistency .ib-v2-total-card{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:normal;
}
html.ib-browser-consistency .ib-v2-step-head h2,
html.ib-browser-consistency .ib-v2-step-head p,
html.ib-browser-consistency .ib-v2-guide p,
html.ib-browser-consistency .ib-v2-card strong,
html.ib-browser-consistency .ib-v2-card span,
html.ib-browser-consistency .ib-v2-card small{
  max-width:100%;
}
@supports not (overflow: clip){
  html.ib-browser-consistency .ib-v2{overflow-x:hidden;}
}
@media (max-width:720px){
  html.ib-browser-consistency body.ib-v2-body{
    min-height:-webkit-fill-available;
  }
  html.ib-browser-consistency .ib-v2{
    padding-bottom:calc(96px + env(safe-area-inset-bottom));
  }
  html.ib-browser-consistency .ib-v2-panel{
    min-height:auto!important;
  }
  html.ib-browser-consistency .ib-v2-layout,
  html.ib-browser-consistency .ib-v2-shell,
  html.ib-browser-consistency .ib-v2-panel,
  html.ib-browser-consistency .ib-v2-summary{
    width:100%;
    max-width:100%;
  }
  html.ib-browser-consistency .ib-v2-header-actions,
  html.ib-browser-consistency .ib-v2-choice-row,
  html.ib-browser-consistency .ib-v2-actions{
    -webkit-overflow-scrolling:touch;
  }
}


/* Build 101BK: strict Chrome/Safari storefront proportion lock.
   Safari was compressing the desktop header/logo, avatar row, narration card,
   and step pills differently from Chrome. These rules intentionally lock the
   customer storefront desktop layout to one shared grid so both engines use the
   same widths, heights, padding, and text metrics. */
html.ib-browser-consistency,
html.ib-browser-consistency body.ib-v2-body,
html.ib-browser-consistency body.ib-v2-body *{
  box-sizing:border-box;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

@media (min-width:721px){
  html.ib-browser-consistency .ib-v2-shell{
    width:min(1280px, calc(100vw - 64px));
    max-width:min(1280px, calc(100vw - 64px));
    margin-inline:auto;
    gap:16px;
  }

  html.ib-browser-consistency .ib-v2-header{
    display:grid!important;
    grid-template-columns:minmax(220px,1fr) max-content!important;
    align-items:center!important;
    gap:24px!important;
    min-height:218px!important;
    height:218px!important;
    padding:28px 30px!important;
    overflow:hidden!important;
    border-radius:28px!important;
  }

  html.ib-browser-consistency .ib-v2-brand{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    height:116px!important;
    min-height:116px!important;
    max-height:116px!important;
    flex:1 1 auto!important;
    gap:14px!important;
    overflow:hidden!important;
  }

  html.ib-browser-consistency .ib-v2-brand .ib-v2-brand-text{
    min-width:0!important;
    max-width:260px!important;
  }

  html.ib-browser-consistency .ib-v2-brand:has(.ib-v2-logo) .ib-v2-brand-text{
    display:none!important;
  }

  html.ib-browser-consistency .ib-v2-logo,
  html.ib-browser-consistency .ib-v2-logo.is-unframed{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:min(304px, 32vw)!important;
    min-width:220px!important;
    max-width:304px!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    padding:8px 12px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }

  html.ib-browser-consistency .ib-v2-logo.is-unframed{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }

  html.ib-browser-consistency .ib-v2-logo img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:260px!important;
    max-height:76px!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  html.ib-browser-consistency .ib-v2-header-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    min-width:max-content!important;
    width:auto!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-primary,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-secondary,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-link,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-caption-chip{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    padding:0 18px!important;
    border-radius:17px!important;
    font-size:.94rem!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    letter-spacing:-.01em!important;
  }

  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-primary{
    min-width:120px!important;
  }

  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-secondary,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-caption-chip{
    min-width:92px!important;
  }

  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-link{
    min-width:66px!important;
  }

  html.ib-browser-consistency .ib-v2-guide{
    display:grid!important;
    grid-template-columns:174px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:24px!important;
    min-height:196px!important;
    height:auto!important;
    padding:28px 30px!important;
    overflow:hidden!important;
    border-radius:28px!important;
  }

  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar{
    width:156px!important;
    height:156px!important;
    min-width:156px!important;
    min-height:156px!important;
    max-width:156px!important;
    max-height:156px!important;
    border-radius:999px!important;
    margin:0!important;
  }

  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face{
    inset:9px!important;
    border-radius:999px!important;
    overflow:hidden!important;
  }

  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-media{
    width:100%!important;
    height:100%!important;
    border-radius:999px!important;
    object-fit:cover!important;
    object-position:var(--ib-v2-avatar-crop-x,50%) var(--ib-v2-avatar-crop-y,41%)!important;
    transform:scale(var(--ib-v2-avatar-zoom,1.22))!important;
  }

  html.ib-browser-consistency .ib-v2-guide-copy{
    width:100%!important;
    min-width:0!important;
    min-height:118px!important;
    padding:22px 28px 24px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }

  html.ib-browser-consistency .ib-v2-guide p{
    max-width:none!important;
    width:100%!important;
    min-width:0!important;
    margin:6px 0 0!important;
    font-size:clamp(1.05rem, 1.25vw, 1.24rem)!important;
    line-height:1.5!important;
    font-weight:820!important;
    letter-spacing:-.015em!important;
    text-wrap:normal!important;
    overflow-wrap:break-word!important;
  }

  html.ib-browser-consistency .ib-v2-steprail{
    display:grid!important;
    grid-template-columns:repeat(6, minmax(112px,1fr))!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }

  html.ib-browser-consistency .ib-v2-step-pill{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    font-size:.82rem!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  html.ib-browser-consistency .ib-v2-layout,
  html.ib-browser-consistency .ib-v2-panel,
  html.ib-browser-consistency .ib-v2-summary,
  html.ib-browser-consistency .ib-v2-stage,
  html.ib-browser-consistency [data-v2-stage],
  html.ib-browser-consistency [data-v2-summary]{
    min-width:0!important;
  }
}

@media (min-width:721px) and (max-width:920px){
  html.ib-browser-consistency .ib-v2-shell{
    width:calc(100vw - 40px);
    max-width:calc(100vw - 40px);
  }

  html.ib-browser-consistency .ib-v2-header{
    grid-template-columns:minmax(190px,1fr) max-content!important;
    gap:18px!important;
    padding:24px!important;
  }

  html.ib-browser-consistency .ib-v2-logo,
  html.ib-browser-consistency .ib-v2-logo.is-unframed{
    width:240px!important;
    min-width:190px!important;
    max-width:240px!important;
    height:88px!important;
    min-height:88px!important;
    max-height:88px!important;
  }

  html.ib-browser-consistency .ib-v2-header-actions{
    gap:8px!important;
  }

  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-primary,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-secondary,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-link,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-caption-chip{
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    padding-inline:14px!important;
    font-size:.9rem!important;
    border-radius:16px!important;
  }

  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-primary{min-width:112px!important;}
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-secondary,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-caption-chip{min-width:86px!important;}
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-link{min-width:60px!important;}

  html.ib-browser-consistency .ib-v2-guide{
    grid-template-columns:158px minmax(0,1fr) auto!important;
    gap:20px!important;
    padding:24px!important;
  }

  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar{
    width:142px!important;
    height:142px!important;
    min-width:142px!important;
    min-height:142px!important;
    max-width:142px!important;
    max-height:142px!important;
  }

  html.ib-browser-consistency .ib-v2-guide-copy{
    min-height:112px!important;
    padding:20px 24px 22px!important;
  }

  html.ib-browser-consistency .ib-v2-steprail{
    grid-template-columns:repeat(6, minmax(96px,1fr))!important;
  }
}

@media (max-width:720px){
  html.ib-browser-consistency .ib-v2-header,
  html.ib-browser-consistency .ib-v2-brand,
  html.ib-browser-consistency .ib-v2-logo,
  html.ib-browser-consistency .ib-v2-logo img,
  html.ib-browser-consistency .ib-v2-guide,
  html.ib-browser-consistency .ib-v2-guide-copy,
  html.ib-browser-consistency .ib-v2-steprail,
  html.ib-browser-consistency .ib-v2-step-pill{
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
}

/* Build 101BK continued: JS-added logo class fallback for Safari versions where :has can be inconsistent inside dynamic DOM updates. */
@media (min-width:721px){
  html.ib-browser-consistency .ib-v2-brand.has-logo .ib-v2-brand-text{
    display:none!important;
  }
}

/* Build 101BL: one tenant logo element across Chrome, Safari, Edge, and mobile. */
.ib-v2-logo.tenant-logo,
.ib-v2-logo.tenant-logo.is-unframed{
  width:auto!important;
  height:auto!important;
  max-width:260px!important;
  max-height:76px!important;
}
.ib-v2-logo.tenant-logo img{
  object-fit:contain!important;
  width:auto!important;
  height:auto!important;
  max-width:260px!important;
  max-height:76px!important;
}
.ib-v2-brand.is-logo-missing .ib-v2-logo,
.ib-v2-brand.has-logo .brand-badge{
  display:none!important;
}

/* Build 101BM: lock avatar media inside the same frame in Safari/Chrome/Edge/mobile.
   Safari can paint transformed video outside a rounded parent unless the face
   and media are both explicitly clipped and composited. */
.ib-v2-guide-orb.has-avatar{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  contain:paint!important;
  -webkit-mask-image:-webkit-radial-gradient(white, black)!important;
}
.ib-v2-guide-orb.has-avatar .ib-v2-avatar-face{
  position:absolute!important;
  inset:9px!important;
  width:auto!important;
  height:auto!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:999px!important;
  clip-path:circle(50% at 50% 50%)!important;
  -webkit-clip-path:circle(50% at 50% 50%)!important;
  contain:paint!important;
  transform:translateZ(0)!important;
  -webkit-transform:translateZ(0)!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.ib-v2-guide-orb.has-avatar .ib-v2-avatar-media{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:var(--ib-v2-avatar-crop-x,50%) var(--ib-v2-avatar-crop-y,41%)!important;
  border-radius:999px!important;
  clip-path:circle(50% at 50% 50%)!important;
  -webkit-clip-path:circle(50% at 50% 50%)!important;
  transform:translateZ(0) scale(var(--ib-v2-avatar-zoom,1.22))!important;
  -webkit-transform:translateZ(0) scale(var(--ib-v2-avatar-zoom,1.22))!important;
  transform-origin:center center!important;
  -webkit-transform-origin:center center!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
@media (min-width:721px){
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar,
  html.ib-browser-safari .ib-v2-guide-orb.has-avatar{
    width:156px!important;
    height:156px!important;
    min-width:156px!important;
    min-height:156px!important;
    max-width:156px!important;
    max-height:156px!important;
    border-radius:999px!important;
  }
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-ring,
  html.ib-browser-safari .ib-v2-guide-orb.has-avatar .ib-v2-avatar-ring{
    inset:7px!important;
    border-radius:999px!important;
  }
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face,
  html.ib-browser-safari .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face{
    inset:9px!important;
  }
}
@media (max-width:720px){
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face,
  html.ib-browser-safari .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face{
    inset:8px!important;
  }
}

/* Build 101BN: best mobile storefront view across Safari, Chrome, Edge, and mobile webviews.
   This is a final mobile-only layer that wins over older mobile patches without
   changing desktop layout or replacing tenant assets. */
@media (max-width:720px){
  html.ib-browser-consistency,
  html.ib-browser-consistency body.ib-v2-body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain;
  }
  html.ib-browser-consistency body.ib-v2-body{
    min-height:100svh!important;
    min-height:calc(var(--ib-vh, 1vh) * 100)!important;
    background:
      radial-gradient(circle at top left,color-mix(in srgb,var(--ib-primary) 14%,transparent),transparent 22rem),
      linear-gradient(180deg,color-mix(in srgb,var(--ib-bg) 98%,#fff),var(--ib-bg))!important;
  }
  html.ib-browser-consistency .ib-v2{
    width:100%!important;
    min-height:100svh!important;
    min-height:calc(var(--ib-vh, 1vh) * 100)!important;
    padding:8px max(10px, env(safe-area-inset-left)) calc(112px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-right))!important;
    overflow-x:hidden!important;
  }
  html.ib-browser-consistency .ib-v2-shell{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    gap:10px!important;
    margin:0!important;
  }

  html.ib-browser-consistency .ib-v2-header{
    position:sticky!important;
    top:env(safe-area-inset-top, 0px)!important;
    z-index:50!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:8px!important;
    border-radius:20px!important;
    overflow:hidden!important;
    background:color-mix(in srgb,var(--ib-surface) 96%,transparent)!important;
    border:1px solid color-mix(in srgb,var(--ib-border) 82%,transparent)!important;
    box-shadow:0 12px 28px rgba(15,23,42,.12)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    backdrop-filter:blur(18px)!important;
  }
  html.ib-browser-consistency .ib-v2-brand{
    grid-column:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:54px!important;
    max-height:none!important;
    padding:5px 6px!important;
    overflow:visible!important;
    border-radius:17px!important;
    background:linear-gradient(180deg,color-mix(in srgb,var(--ib-surface) 98%,#fff),color-mix(in srgb,var(--ib-surface) 94%,var(--ib-primary) 6%))!important;
    border:1px solid color-mix(in srgb,var(--ib-border) 70%,transparent)!important;
  }
  html.ib-browser-consistency .ib-v2-brand .ib-v2-brand-text{
    max-width:100%!important;
    text-align:center!important;
  }
  html.ib-browser-consistency .ib-v2-logo.tenant-logo,
  html.ib-browser-consistency .ib-v2-logo.tenant-logo.is-unframed,
  html.ib-browser-consistency .ib-v2-logo,
  html.ib-browser-consistency .ib-v2-logo.is-unframed{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:min(260px, 82vw)!important;
    min-width:0!important;
    max-width:min(260px, 82vw)!important;
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    padding:4px 8px!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  html.ib-browser-consistency .ib-v2-logo img,
  html.ib-browser-consistency .ib-v2-logo.tenant-logo img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:48px!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  html.ib-browser-consistency .ib-v2-header-actions{
    grid-column:1!important;
    display:grid!important;
    grid-template-columns:repeat(3, minmax(0, 1fr))!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-primary,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-secondary,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-link,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-caption-chip{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:42px!important;
    height:42px!important;
    max-height:42px!important;
    padding:6px 5px!important;
    border-radius:13px!important;
    font-size:clamp(.68rem, 2.9vw, .78rem)!important;
    line-height:1.05!important;
    letter-spacing:0!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-align:center!important;
    text-overflow:clip!important;
  }
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-subtitle-only::after,
  html.ib-browser-consistency .ib-v2-header-actions .ib-v2-voice-start::after{
    content:none!important;
    display:none!important;
  }

  html.ib-browser-consistency .ib-v2-guide{
    display:grid!important;
    grid-template-columns:76px minmax(0, 1fr)!important;
    gap:9px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:9px!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar{
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    min-height:72px!important;
    max-width:72px!important;
    max-height:72px!important;
    margin:0!important;
    border-radius:999px!important;
  }
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-ring{
    inset:6px!important;
  }
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face{
    inset:7px!important;
    border-radius:999px!important;
    clip-path:circle(50% at 50% 50%)!important;
    -webkit-clip-path:circle(50% at 50% 50%)!important;
  }
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-media{
    border-radius:999px!important;
    clip-path:circle(50% at 50% 50%)!important;
    -webkit-clip-path:circle(50% at 50% 50%)!important;
  }
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-speakfx{
    inset:11px!important;
  }
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-mouth{
    min-width:12px!important;
    min-height:5px!important;
    max-width:20px!important;
  }
  html.ib-browser-consistency .ib-v2-guide-copy{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:10px 11px 13px!important;
    border-radius:16px!important;
    overflow:hidden!important;
    text-align:left!important;
    justify-items:start!important;
  }
  html.ib-browser-consistency .ib-v2-guide .ib-v2-eyebrow{
    font-size:.62rem!important;
    line-height:1.1!important;
    letter-spacing:.12em!important;
  }
  html.ib-browser-consistency .ib-v2-guide p{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    max-height:4.2em!important;
    margin:5px 0 0!important;
    overflow:hidden!important;
    font-size:clamp(.82rem, 3.3vw, .98rem)!important;
    line-height:1.34!important;
    font-weight:780!important;
    letter-spacing:0!important;
    text-align:left!important;
    text-wrap:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
  html.ib-browser-consistency .ib-v2-guide-fallback{
    grid-column:1 / -1!important;
    width:100%!important;
    min-height:42px!important;
  }

  html.ib-browser-consistency .ib-v2-steprail{
    display:none!important;
  }
  html.ib-browser-consistency .ib-v2-progress{
    display:block!important;
    height:7px!important;
    border-radius:999px!important;
  }
  html.ib-browser-consistency .ib-v2-layout{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  html.ib-browser-consistency .ib-v2-summary{
    display:none!important;
  }
  html.ib-browser-consistency .ib-v2-panel{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:16px 13px 10px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  html.ib-browser-consistency .ib-v2-panel::after{
    display:none!important;
  }
  html.ib-browser-consistency .ib-v2-step-head{
    gap:7px!important;
    margin-bottom:15px!important;
  }
  html.ib-browser-consistency .ib-v2-step-head h2{
    font-size:clamp(1.42rem, 8vw, 1.92rem)!important;
    line-height:1.06!important;
    letter-spacing:0!important;
  }
  html.ib-browser-consistency .ib-v2-step-head p{
    font-size:.93rem!important;
    line-height:1.4!important;
  }
  html.ib-browser-consistency .ib-v2-grid,
  html.ib-browser-consistency .ib-v2-card-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  html.ib-browser-consistency .ib-v2-card,
  html.ib-browser-consistency .ib-v2-addon,
  html.ib-browser-consistency .ib-v2-total-card,
  html.ib-browser-consistency .ib-v2-offer,
  html.ib-browser-consistency .ib-v2-reveal{
    width:100%!important;
    min-width:0!important;
    border-radius:18px!important;
  }
  html.ib-browser-consistency .ib-v2-card{
    min-height:88px!important;
    padding:13px!important;
  }
  html.ib-browser-consistency .ib-v2-card strong,
  html.ib-browser-consistency .ib-v2-card span,
  html.ib-browser-consistency .ib-v2-card small{
    min-width:0!important;
    white-space:normal!important;
  }
  html.ib-browser-consistency .ib-v2-field{
    gap:7px!important;
    margin-bottom:12px!important;
  }
  html.ib-browser-consistency .ib-v2-input,
  html.ib-browser-consistency .ib-v2-textarea,
  html.ib-browser-consistency select.ib-v2-input{
    width:100%!important;
    min-height:52px!important;
    padding:12px!important;
    border-radius:15px!important;
    font-size:16px!important;
    line-height:1.3!important;
  }
  html.ib-browser-consistency .ib-v2-textarea{
    min-height:110px!important;
  }
  html.ib-browser-consistency .ib-v2-addon{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  html.ib-browser-consistency .ib-v2-qty{
    grid-template-columns:1fr 58px 1fr!important;
    width:100%!important;
  }
  html.ib-browser-consistency .ib-v2-toggle{
    width:100%!important;
    min-height:46px!important;
  }
  html.ib-browser-consistency .ib-v2-actions{
    position:sticky!important;
    bottom:0!important;
    z-index:40!important;
    display:grid!important;
    grid-template-columns:minmax(0, .9fr) minmax(0, 1.3fr)!important;
    gap:9px!important;
    width:auto!important;
    margin:18px -13px 0!important;
    padding:10px 13px calc(10px + env(safe-area-inset-bottom))!important;
    border-top:1px solid color-mix(in srgb,var(--ib-border) 86%,transparent)!important;
    background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--ib-surface) 94%,transparent) 18%,var(--ib-surface) 52%)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    backdrop-filter:blur(14px)!important;
  }
  html.ib-browser-consistency .ib-v2-actions .ib-v2-primary,
  html.ib-browser-consistency .ib-v2-actions .ib-v2-secondary{
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    height:auto!important;
    padding:12px 10px!important;
    border-radius:15px!important;
    font-size:.95rem!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  html.ib-browser-consistency .ib-v2-actions .ib-v2-secondary:disabled{
    display:none!important;
  }
  html.ib-browser-consistency .ib-v2-actions .ib-v2-secondary:disabled + .ib-v2-primary,
  html.ib-browser-consistency .ib-v2-actions .ib-v2-primary:only-child{
    grid-column:1 / -1!important;
  }
}

@media (max-width:390px){
  html.ib-browser-consistency .ib-v2{
    padding-inline:8px!important;
  }
  html.ib-browser-consistency .ib-v2-header-actions{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  }
  html.ib-browser-consistency .ib-v2-guide{
    grid-template-columns:64px minmax(0, 1fr)!important;
    gap:8px!important;
    padding:8px!important;
  }
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar{
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    min-height:62px!important;
    max-width:62px!important;
    max-height:62px!important;
  }
  html.ib-browser-consistency .ib-v2-guide-orb.has-avatar .ib-v2-avatar-face{
    inset:6px!important;
  }
  html.ib-browser-consistency .ib-v2-guide p{
    -webkit-line-clamp:3!important;
    font-size:.8rem!important;
    line-height:1.28!important;
  }
}
