/* Defensive setup: WordPress themes (Mesmerize in particular) ship global,
   often !important, rules for plain buttons/divs/grids. Every rule below is
   written as ".iyc-rb .iyc-rb__x" (not just ".iyc-rb__x") so it carries two
   classes' worth of specificity and reliably wins the cascade, and every
   layout-critical property carries !important so it can't be knocked out
   of position by the active theme's stylesheet. */
.iyc-rb, .iyc-rb *, .iyc-rb *::before, .iyc-rb *::after { box-sizing:border-box!important; }
.iyc-rb { max-width:1120px!important; width:100%!important; margin:40px auto!important; padding:0!important; color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
.iyc-rb { --ink:#182238; --muted:#5c6a82; --blue:#2f63ff; --blue-dark:#1444d6; --blue-light:#6b93ff; --gold:#ffc928; --gold-dark:#e6a800; --wash:#f4f7ff; --line:#e2e8f4; --surface:#ffffff; --shadow-sm:0 6px 18px rgba(25,48,93,.08); --shadow-md:0 16px 40px rgba(25,48,93,.12); --shadow-lg:0 26px 70px rgba(20,40,90,.16); }

/* Low-specificity baseline reset for every descendant: neutralises any
   theme/plugin script that positions or sizes elements with inline styles
   (e.g. a masonry/grid layout script), since !important stylesheet rules
   beat non-important inline styles regardless of specificity. Every rule
   below this point is written with two classes' worth of specificity
   (".iyc-rb .iyc-rb__x"), so it still correctly overrides this baseline
   wherever we deliberately need position/width/transform to differ. */
.iyc-rb * { position:static!important; float:none!important; top:auto!important; right:auto!important; bottom:auto!important; left:auto!important; width:auto!important; transform:none!important; }

/* Confirmed root cause of the misplaced fields: the theme's global clearfix
   rule (`*::before,*::after { content:""; display:table }`) generates real
   boxes on every element's pseudo-elements. Inside a display:grid or
   display:flex container, those generated boxes become actual grid/flex
   items and silently occupy a cell — e.g. an empty ::before eats column 1
   of row 1, pushing "Your name" into column 2 and wrapping the next field
   onto row 2. `content:none` stops the pseudo-element from generating a box
   at all. The two decorative hero circles are the only pseudo-elements we
   actually want, so they explicitly restore their own content below with
   higher specificity. */
.iyc-rb *::before, .iyc-rb *::after { content:none!important; }

/* The theme also sets a bare `legend { line-height: 0 }`, which we never
   overrode — that collapses every legend to a zero-height box while its
   text still paints, so it visually overlaps whatever is above/below it. */
.iyc-rb legend { line-height:1.4!important; }

.iyc-rb .iyc-rb__picker { display:block!important; width:100%!important; }
.iyc-rb .iyc-rb__instance { display:block!important; width:100%!important; }
.iyc-rb .iyc-rb__picker[hidden], .iyc-rb .iyc-rb__instance[hidden] { display:none!important; }
.iyc-rb button { all:unset!important; box-sizing:border-box!important; }

/* Shared hero styling (used by both the picker screen and each form) */
.iyc-rb .iyc-rb__hero, .iyc-rb .iyc-rb__picker-hero { display:block!important; position:relative!important; overflow:hidden!important; width:100%!important; padding:58px 7% 46px!important; text-align:center!important; color:#fff!important; background:radial-gradient(120% 160% at 12% -10%,rgba(255,255,255,.16),rgba(255,255,255,0) 55%),linear-gradient(135deg,#0f2f85 0%,#2f63ff 55%,#5f9bff 100%)!important; border-radius:28px 28px 0 0!important; box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important; }
.iyc-rb .iyc-rb__hero:before,.iyc-rb .iyc-rb__hero:after,.iyc-rb .iyc-rb__picker-hero:before,.iyc-rb .iyc-rb__picker-hero:after { content:""!important; display:block!important; position:absolute!important; border-radius:50%!important; background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 70%)!important; }
.iyc-rb .iyc-rb__hero:before,.iyc-rb .iyc-rb__picker-hero:before { width:300px!important;height:300px!important;left:-140px!important;top:-155px!important; }
.iyc-rb .iyc-rb__hero:after,.iyc-rb .iyc-rb__picker-hero:after { width:210px!important;height:210px!important;right:-75px!important;bottom:-110px!important; }
.iyc-rb .iyc-rb__eyebrow { display:inline-block!important; position:relative!important; z-index:1!important; margin:0 0 15px!important; padding:8px 15px!important; color:#1a3170!important; background:linear-gradient(135deg,#ffe28a,var(--gold))!important; border-radius:999px!important; box-shadow:0 6px 16px rgba(255,201,40,.35)!important; font-size:11.5px!important; font-weight:900!important; letter-spacing:.14em!important; }
.iyc-rb .iyc-rb__hero h2, .iyc-rb .iyc-rb__picker-hero h2 { display:block!important; position:relative!important; z-index:1!important; margin:0 0 14px!important; color:#fff!important; font-size:clamp(32px,5vw,54px)!important; line-height:1.05!important; letter-spacing:-.035em!important; }
.iyc-rb .iyc-rb__hero>p, .iyc-rb .iyc-rb__picker-hero>p { display:block!important; position:relative!important; z-index:1!important; max-width:720px!important; margin:0 auto!important; color:#e7efff!important; font-size:17px!important; line-height:1.65!important; }
.iyc-rb .iyc-rb__steps { display:flex!important; position:relative!important; z-index:1!important; align-items:center!important; justify-content:center!important; max-width:670px!important; margin:36px auto 0!important; }
.iyc-rb .iyc-rb__steps span { display:flex!important; align-items:center!important; justify-content:center!important; width:36px!important;height:36px!important; flex:0 0 36px!important; border:2px solid rgba(255,255,255,.5)!important; border-radius:50%!important; font-weight:900!important; transition:.2s ease; }
.iyc-rb .iyc-rb__steps span.is-active { color:#16357a!important; background:linear-gradient(135deg,#ffe28a,var(--gold))!important; border-color:var(--gold)!important; box-shadow:0 8px 18px rgba(255,201,40,.35)!important; }
.iyc-rb .iyc-rb__steps i { display:block!important; width:28%!important; height:2px!important; background:rgba(255,255,255,.35)!important; }
.iyc-rb .iyc-rb__steps em { display:block!important; position:absolute!important; margin-top:68px!important; width:130px!important; color:#eaf0ff!important; font-size:12px!important; font-style:normal!important; font-weight:700!important; }

/* Back-to-picker link */
.iyc-rb .iyc-rb__back { display:inline-flex!important; align-items:center!important; gap:7px!important; margin:0 0 16px 4px!important; padding:9px 4px!important; color:var(--blue)!important; background:none!important; border:0!important; font:800 14px/1 inherit!important; letter-spacing:-.01em!important; cursor:pointer!important; transition:.15s ease; }
.iyc-rb .iyc-rb__back:hover { color:var(--blue-dark)!important; transform:translateX(-2px)!important; }

/* Picker screen. Flexbox (not grid) so a trailing, incomplete row of cards
   centers itself instead of stranding a lone card at the left edge. */
.iyc-rb .iyc-rb__picker-cards { display:flex!important; flex-wrap:wrap!important; align-items:stretch!important; justify-content:center!important; gap:22px!important; width:100%!important; padding:44px 7% 52px!important; background:var(--surface)!important; border-radius:0 0 28px 28px!important; box-shadow:var(--shadow-lg)!important; }
.iyc-rb .iyc-rb__picker-card { display:flex!important; flex:1 1 260px!important; max-width:340px!important; flex-direction:column!important; align-items:flex-start!important; gap:16px!important; padding:30px 26px!important; text-align:left!important; color:inherit!important; background:linear-gradient(180deg,#fff,var(--wash))!important; border:1.5px solid var(--line)!important; border-radius:22px!important; font:inherit!important; cursor:pointer!important; transition:.2s ease; }
.iyc-rb .iyc-rb__picker-card:hover, .iyc-rb .iyc-rb__picker-card:focus-visible { transform:translateY(-5px)!important; border-color:var(--blue)!important; box-shadow:var(--shadow-md)!important; outline:none!important; }
.iyc-rb .iyc-rb__picker-card-icon { display:grid!important; place-items:center!important; width:54px!important;height:54px!important; flex:0 0 54px!important; color:#fff!important; background:linear-gradient(135deg,var(--blue),var(--blue-dark))!important; border-radius:16px!important; box-shadow:0 10px 22px rgba(47,99,255,.28)!important; font-size:22px!important; font-weight:900!important; }
.iyc-rb .iyc-rb__picker-card-body { display:flex!important; flex-direction:column!important; gap:5px!important; width:100%!important; }
.iyc-rb .iyc-rb__picker-card-body strong { display:block!important; font-size:19px!important; font-weight:850!important; letter-spacing:-.01em!important; }
.iyc-rb .iyc-rb__picker-card-body em { display:block!important; color:var(--muted)!important; font-size:14px!important; font-style:normal!important; line-height:1.5!important; }
.iyc-rb .iyc-rb__picker-cta { display:inline-flex!important; align-items:center!important; gap:7px!important; margin-top:auto!important; padding-top:4px!important; color:var(--blue)!important; font-weight:850!important; font-size:14px!important; transition:.18s ease; }
.iyc-rb .iyc-rb__picker-card:hover .iyc-rb__picker-cta { gap:11px; color:var(--blue-dark)!important; }

/* Form shell: questions on the left, the review draft as a sticky column on
   the right that stays in view (and keeps building live) as you scroll
   through the questions. Collapses to a single stacked column on mobile. */
.iyc-rb .iyc-rb__form { display:block!important; overflow:hidden!important; width:100%!important; background:var(--surface)!important; border-radius:0 0 28px 28px!important; box-shadow:var(--shadow-lg)!important; }
.iyc-rb .iyc-rb__layout { display:grid!important; width:100%!important; align-items:start!important; grid-template-columns:1.15fr 1fr!important; }
.iyc-rb .iyc-rb__questions { display:block!important; width:100%!important; min-width:0!important; }
.iyc-rb .iyc-rb__review-panel { display:block!important; position:sticky!important; top:24px!important; width:100%!important; min-width:0!important; align-self:start!important; padding:50px 7%!important; background:linear-gradient(180deg,#f5f8ff 0%,#fff 100%)!important; border-left:1px solid var(--line)!important; }
.iyc-rb .iyc-rb__section { display:block!important; width:100%!important; padding:50px 7%!important; border-bottom:1px solid var(--line)!important; }
.iyc-rb .iyc-rb__section:last-child { border-bottom:0!important; }
.iyc-rb .iyc-rb__section-title { display:flex!important; align-items:center!important; gap:16px!important; margin:0 0 32px!important; }
.iyc-rb .iyc-rb__section-title>span { display:grid!important; place-items:center!important; width:48px!important;height:48px!important; flex:0 0 48px!important; color:#fff!important; background:linear-gradient(135deg,var(--blue),var(--blue-dark))!important; border-radius:15px!important; box-shadow:0 8px 18px rgba(47,99,255,.25)!important; font-weight:900!important; }
.iyc-rb .iyc-rb__section-title h3 { display:block!important; margin:0 0 3px!important; font-size:26px!important; letter-spacing:-.02em!important; }
.iyc-rb .iyc-rb__section-title p { display:block!important; margin:0!important; color:var(--muted)!important; }
.iyc-rb .iyc-rb__grid { display:grid!important; width:100%!important; gap:22px!important; }
.iyc-rb .iyc-rb__grid--2 { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
.iyc-rb .iyc-rb__field { display:block!important; }
.iyc-rb .iyc-rb__field>span,.iyc-rb legend { display:block!important; margin:0 0 10px!important; color:var(--ink)!important; font-size:15px!important; font-weight:800!important; }
.iyc-rb .iyc-rb__field small { color:var(--muted)!important; font-weight:500!important; }
.iyc-rb input[type=text],.iyc-rb input[type=email],.iyc-rb select,.iyc-rb textarea { display:block!important; width:100%!important; min-height:54px!important; margin:0!important; padding:14px 16px!important; color:var(--ink)!important; background:#fbfcff!important; border:1.5px solid var(--line)!important; border-radius:13px!important; box-shadow:none!important; font:inherit!important; text-transform:none!important; transition:.18s ease; }
.iyc-rb textarea { min-height:122px!important; resize:vertical!important; line-height:1.55!important; }
.iyc-rb input:hover,.iyc-rb select:hover,.iyc-rb textarea:hover { border-color:var(--blue-light)!important; }
.iyc-rb input:focus,.iyc-rb select:focus,.iyc-rb textarea:focus { border-color:var(--blue)!important; outline:3px solid rgba(47,99,255,.13)!important; background:#fff!important; }
.iyc-rb fieldset { display:block!important; min-width:0!important; margin:0!important; padding:0!important; border:0!important; }
.iyc-rb .iyc-rb__choice-group { margin-top:26px!important; }
.iyc-rb .iyc-rb__choices { display:grid!important; width:100%!important; gap:10px!important; }
.iyc-rb .iyc-rb__choices--3 { grid-template-columns:repeat(3,1fr)!important; }
.iyc-rb .iyc-rb__choices label,.iyc-rb .iyc-rb__stars label { display:block!important; cursor:pointer!important; }
.iyc-rb .iyc-rb__choices input,.iyc-rb .iyc-rb__stars input { position:absolute!important; opacity:0!important; pointer-events:none!important; }
.iyc-rb .iyc-rb__choices span { display:flex!important; align-items:center!important; justify-content:center!important; gap:10px!important; min-height:57px!important; padding:11px 14px!important; color:#41516a!important; background:#fff!important; border:1.5px solid var(--line)!important; border-radius:13px!important; font-weight:750!important; text-align:center!important; transition:.18s ease; }
.iyc-rb .iyc-rb__choices b { color:var(--blue)!important; font-size:20px!important; }
.iyc-rb .iyc-rb__choices input:checked+span { color:#fff!important; background:linear-gradient(135deg,var(--blue),var(--blue-dark))!important; border-color:var(--blue-dark)!important; box-shadow:0 8px 20px rgba(47,99,255,.28)!important; transform:translateY(-1px)!important; }
.iyc-rb .iyc-rb__choices input:checked+span b { color:#fff!important; }
.iyc-rb .iyc-rb__choices input:focus-visible+span { outline:3px solid rgba(47,99,255,.25)!important; outline-offset:2px!important; }
.iyc-rb .iyc-rb__question-grid { display:grid!important; width:100%!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:15px!important; }
.iyc-rb .iyc-rb__question { display:block!important; padding:20px!important; background:var(--wash)!important; border:1px solid #e6ebf7!important; border-radius:18px!important; }
.iyc-rb .iyc-rb__choices--answers { grid-template-columns:repeat(3,1fr)!important; }
.iyc-rb .iyc-rb__choices--answers span { min-height:44px!important; padding:8px!important; font-size:13px!important; background:#fff!important; }
.iyc-rb .iyc-rb__rating { display:block!important; margin:26px 0!important; padding:26px!important; text-align:center!important; background:linear-gradient(180deg,#fffaf0,#fff6e2)!important; border:1px solid #ffedb5!important; border-radius:19px!important; }
.iyc-rb .iyc-rb__rating legend { display:block!important; width:100%!important; font-size:18px!important; }
.iyc-rb .iyc-rb__rating p { display:block!important; margin:3px 0 17px!important; color:var(--muted)!important; font-size:13px!important; }
.iyc-rb .iyc-rb__stars { display:flex!important; width:100%!important; justify-content:center!important; gap:9px!important; }
.iyc-rb .iyc-rb__stars span { display:block!important; color:#dde3ee!important; font-size:42px!important; line-height:1!important; transition:.18s; }
.iyc-rb .iyc-rb__stars em { display:block!important; margin-top:6px!important; color:var(--muted)!important; font-size:11px!important; font-style:normal!important; }
.iyc-rb .iyc-rb__stars label:hover span,.iyc-rb .iyc-rb__stars label:has(input:checked) span,.iyc-rb .iyc-rb__stars label:has(~ label input:checked) span { color:var(--gold)!important; text-shadow:0 4px 10px rgba(255,201,40,.4); transform:translateY(-2px)!important; }
.iyc-rb .iyc-rb__stars input:focus-visible+span { outline:3px solid rgba(47,99,255,.25)!important; border-radius:4px!important; }
.iyc-rb .iyc-rb__review-card { display:block!important; overflow:hidden!important; width:100%!important; background:#fff!important; border:1px solid var(--line)!important; border-radius:20px!important; box-shadow:var(--shadow-md)!important; }
.iyc-rb .iyc-rb__google-line { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:15px!important; padding:17px 22px!important; background:linear-gradient(180deg,#fbfcff,#f5f8ff)!important; border-bottom:1px solid var(--line)!important; }
.iyc-rb .iyc-rb__google-line strong { display:flex!important; align-items:center!important; gap:9px!important; font-size:15px!important; }
.iyc-rb .iyc-rb__google-line strong span { display:grid!important; place-items:center!important; width:29px!important;height:29px!important; color:#4285f4!important; background:#fff!important; border:1px solid var(--line)!important; border-radius:50%!important; box-shadow:var(--shadow-sm)!important; font-family:Arial,sans-serif!important; font-weight:700!important; }
.iyc-rb .iyc-rb__mini-stars { display:block!important; color:var(--gold)!important; font-size:20px!important; letter-spacing:2px!important; text-shadow:0 3px 8px rgba(255,201,40,.35); }
.iyc-rb .iyc-rb__review-card textarea { display:block!important; width:100%!important; min-height:180px!important; border:0!important; border-radius:0!important; background:#fff!important; font-size:17px!important; line-height:1.65!important; }
.iyc-rb .iyc-rb__review-card textarea:focus { outline:3px solid rgba(47,99,255,.13)!important; outline-offset:-3px!important; }
.iyc-rb .iyc-rb__review-meta { display:flex!important; justify-content:space-between!important; gap:15px!important; padding:11px 18px!important; color:var(--muted)!important; background:#fbfcff!important; border-top:1px solid var(--line)!important; font-size:12px!important; }
.iyc-rb .iyc-rb__actions { display:grid!important; width:100%!important; grid-template-columns:1fr 1.35fr!important; gap:14px!important; margin-top:22px!important; }
.iyc-rb .iyc-rb__button { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:58px!important; padding:14px 18px!important; border-radius:14px!important; font:800 16px/1.2 inherit!important; letter-spacing:-.01em!important; text-transform:none!important; cursor:pointer!important; transition:.18s ease; }
.iyc-rb .iyc-rb__button--secondary { color:var(--blue)!important; background:#fff!important; border:1.5px solid var(--blue)!important; }
.iyc-rb .iyc-rb__button--secondary:hover { background:var(--wash)!important; }
.iyc-rb .iyc-rb__button--primary { color:#fff!important; background:linear-gradient(135deg,var(--blue),var(--blue-dark))!important; border:1.5px solid var(--blue-dark)!important; box-shadow:0 12px 26px rgba(47,99,255,.28)!important; }
.iyc-rb .iyc-rb__button:hover { transform:translateY(-2px)!important; }
.iyc-rb .iyc-rb__button--primary:hover { box-shadow:0 16px 32px rgba(47,99,255,.35)!important; }
.iyc-rb .iyc-rb__button:active { transform:translateY(0)!important; }
.iyc-rb .iyc-rb__privacy,.iyc-rb .iyc-rb__copy-status { display:block!important; margin:14px 0 0!important; color:var(--muted)!important; font-size:12px!important; text-align:center!important; }
.iyc-rb .iyc-rb__copy-status { min-height:18px!important; color:#176b3a!important; font-weight:800!important; }
.iyc-rb .iyc-rb__notice { display:block!important; width:100%!important; padding:15px 7%!important; color:#176b3a!important; background:linear-gradient(180deg,#eafbf1,#e2f7ea)!important; border-bottom:1px solid #bde8cc!important; font-weight:800!important; text-align:center!important; }
.iyc-rb .iyc-rb__sr-only { position:absolute!important; width:1px!important;height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

@media (max-width:760px) {
  .iyc-rb { margin:16px auto!important; }
  .iyc-rb .iyc-rb__hero, .iyc-rb .iyc-rb__picker-hero { padding:42px 22px!important; border-radius:22px 22px 0 0!important; }
  .iyc-rb .iyc-rb__picker-cards { padding:30px 20px 36px!important; border-radius:0 0 22px 22px!important; }
  .iyc-rb .iyc-rb__picker-card { flex-basis:100%!important; max-width:100%!important; }
  .iyc-rb .iyc-rb__layout { grid-template-columns:1fr!important; }
  .iyc-rb .iyc-rb__review-panel { position:static!important; top:auto!important; border-left:0!important; border-top:1px solid var(--line)!important; padding:34px 20px!important; }
  .iyc-rb .iyc-rb__section { padding:34px 20px!important; }
  .iyc-rb .iyc-rb__grid--2,.iyc-rb .iyc-rb__question-grid,.iyc-rb .iyc-rb__actions { grid-template-columns:1fr!important; }
  .iyc-rb .iyc-rb__choices--3 { grid-template-columns:1fr!important; }
  .iyc-rb .iyc-rb__steps em { display:none!important; }
  .iyc-rb .iyc-rb__stars { gap:4px!important; }
  .iyc-rb .iyc-rb__stars span { font-size:35px!important; }
  .iyc-rb .iyc-rb__review-meta { flex-direction:column!important; gap:3px!important; }
  .iyc-rb .iyc-rb__actions .iyc-rb__button--primary { order:-1!important; }
}
@media (prefers-reduced-motion:reduce) { .iyc-rb * { scroll-behavior:auto!important; transition:none!important; } }
