/* RAFI public estimation page. Shared modal and PAGE_REQUIRED styles are untouched. */
body.fxep-mode-public {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #090e1b !important;
  --fxep-text-1: #f4f6fc;
  --fxep-text-2: #b3bed2;
  --fxep-text-3: #98aac4;
  --fxep-max: 1120px;
  --fxep-border: #ffffff17;
  --fxep-orange: #ffc48a;
}
#fxep-public-root { background: radial-gradient(ellipse 60% 700px at 80% 180px, #34407236, transparent), radial-gradient(ellipse 40% 500px at 0 400px, #833d5020, transparent); }
#fxep-public-root *, #fxep-public-root *::before, #fxep-public-root *::after { box-sizing: border-box; }
#fxep-public-root button, #fxep-public-root input, #fxep-public-root textarea { font-family: inherit; }
#fxep-public-root button, #fxep-public-root a { -webkit-tap-highlight-color: transparent; }
#fxep-public-root :focus-visible { outline: 3px solid #ffc48a; outline-offset: 4px; }
#fxep-public-root .fxep-header { height: 76px; padding: 0 max(24px, calc((100vw - 1120px)/2)); background: #090e1bea; }
#fxep-public-root .fxep-header-back { min-height: 44px; padding: 10px 18px; font-size: 13px; }
#fxep-public-root .fxep-header-rafi-badge { font-size: 11px; color: #bbccff; }
#fxep-public-root .fxep-hero {
  max-width: 1200px; padding: 88px 40px 80px; display: grid;
  grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; text-align: left;
}
#fxep-public-root .fxep-hero-intro { min-width: 0; }
#fxep-public-root .fxep-hero-signal { margin-bottom: 26px; color: #b3c8ff; font-size: 10px; letter-spacing: .12em; }
#fxep-public-root .fxep-hero-eyebrow { display: block; font-size: 11px; color: #ffbe89; letter-spacing: .2em; margin-bottom: 18px; }
#fxep-public-root .fxep-hero-h1 { font-size: clamp(38px, 4.4vw, 62px); line-height: 1.06; letter-spacing: -.055em; font-weight: 750; margin: 0 0 26px; max-width: 550px; }
#fxep-public-root .fxep-hero-sub { font-size: 17px; line-height: 1.8; color: #b3bed2; margin: 0; max-width: 470px; }
.fxep-hero-signature { margin-top: 32px; padding-left: 18px; border-left: 2px solid #d599ae; font-size: 13px; line-height: 1.8; max-width: 300px; color: #dce3f0; }
#fxep-public-root .fxep-input-card { position: relative; width: 100%; margin: 0; padding: 30px; border: 1px solid #adbcff30; border-radius: 26px; background: linear-gradient(145deg,#202a416b,#111a2be8); box-shadow: 0 25px 70px #0004, inset 0 1px #ffffff0a; overflow: visible; }
#fxep-public-root .fxep-input-card::before { content: ''; position: absolute; height: 2px; top: -1px; left: 26px; right: 26px; background: linear-gradient(90deg,#ffc48a,#f59cc7,#98baff); }
.fxep-console-kicker { color: #c0ceef; font-size: 10px; font-weight: 700; letter-spacing: .16em; margin-bottom: 14px; }
.fxep-console-title { display: block; font-size: 25px; line-height: 1.25; font-weight: 700; letter-spacing: -.025em; margin-bottom: 22px; }
#fxep-public-root .fxep-input-row { padding: 0; align-items: flex-start; border: 1px solid #778db24a; border-radius: 15px; background: #0b1322; }
#fxep-public-root .fxep-input-icon { display: none; }
#fxep-public-root .fxep-nlp-input { width: 100%; min-width: 0; min-height: 112px; padding: 17px; margin: 0; border: 0; border-radius: 15px; background: transparent; color: #f4f6fc; resize: vertical; font-size: 16px; line-height: 1.65; }
#fxep-public-root .fxep-nlp-input::placeholder { color: #a0aec6; opacity: 1; }
#fxep-public-root .fxep-input-clear { min-width: 44px; min-height: 44px; flex-shrink: 0; }
#fxep-public-root .fxep-city-row { padding: 16px 0 12px; border: 0; gap: 12px; }
#fxep-public-root .fxep-city-label { color: #b3bed2; font-size: 13px; }
#fxep-public-root .fxep-city-chip { min-height: 44px; padding: 10px 16px; background: #ffffff07; border: 1px solid #ffffff24; color: #e0e8fa; font-size: 14px; }
#fxep-public-root .fxep-input-card button:not(.fxep-hero-cta):not(.fxep-input-clear) { min-height: 44px; }
#fxep-public-root .fxep-hero-cta { width: 100%; margin: 22px 0 0; min-height: 56px; border: 0; border-radius: 14px; background: linear-gradient(110deg,#ffc47e,#ee9ec6 60%,#a9bcff); color: #161927; font-size: 16px; font-weight: 750; box-shadow: 0 8px 24px #eb9dad16; }
#fxep-public-root .fxep-hero-cta:hover { filter: brightness(1.07); transform: none; }
.fxep-console-note { font-size: 11px; line-height: 1.7; color: #adbad0; text-align: center; margin: 14px 0 0; }
#fxep-public-root .fxep-how, #fxep-public-root .fxep-services, #fxep-public-root .fxep-outcomes, #fxep-public-root .fxep-faq { max-width: 1200px; padding: 54px 40px; margin: 0 auto; }
#fxep-public-root .fxep-section-label { font-size: 10px; line-height: 1.7; letter-spacing: .16em; color: #bfafca; margin-bottom: 14px; }
#fxep-public-root .fxep-section-title, #fxep-public-root .fxep-outcomes-heading { font-size: clamp(26px,3vw,36px); line-height: 1.2; letter-spacing: -.035em; margin: 0 0 16px; }
.fxep-section-copy, #fxep-public-root .fxep-outcomes-sub { font-size: 15px; line-height: 1.8; color: #b3bed2; margin: 0 0 26px; }
#fxep-public-root .fxep-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; margin-top: 32px; }
#fxep-public-root .fxep-step { padding: 0; gap: 16px; }
#fxep-public-root .fxep-step::before, #fxep-public-root .fxep-steps::before { display: none; }
#fxep-public-root .fxep-step-num { color: #ffc48a; background: #ffc48a0a; border-color: #ffc48a25; width: 40px; height: 40px; flex: 0 0 40px; }
#fxep-public-root .fxep-step-title { font-size: 16px; margin-bottom: 10px; }
#fxep-public-root .fxep-step-desc { font-size: 14px; line-height: 1.75; color: #b3bed2; }
#fxep-public-root .fxep-service-grid { grid-template-columns: repeat(3,1fr); gap: 12px; }
#fxep-public-root .fxep-service-item { min-height: 102px; padding: 20px; border-radius: 16px; background: #ffffff04; border: 1px solid #ffffff14; text-align: left; }
#fxep-public-root .fxep-service-item:hover { background: #ffffff08; border-color: #b0c5ff66; }
#fxep-public-root .fxep-service-name { font-size: 14px; line-height: 1.4; }
#fxep-public-root .fxep-service-badge { font-size: 11px; margin-top: 6px; color: #b4c5e5; }
#fxep-public-root .fxep-outcomes-grid { grid-template-columns: repeat(4,1fr); gap: 14px; }
#fxep-public-root .fxep-outcome-card { padding: 24px; border-radius: 18px; background: #ffffff03; }
#fxep-public-root .fxep-outcome-card.is-price { background: linear-gradient(145deg,#6e43311f,#55365c18); border-color: #ffc48a38; }
#fxep-public-root .fxep-outcome-name { font-size: 16px; margin: 14px 0 10px; }
#fxep-public-root .fxep-outcome-desc { font-size: 14px; line-height: 1.8; color: #b3bed2; }
#fxep-public-root .fxep-faq { max-width: 900px; padding-top: 70px; padding-bottom: 80px; }
#fxep-public-root .fxep-faq-q { min-height: 68px; font-size: 15px; padding: 20px; color: #f4f6fc; text-align: left; }
#fxep-public-root .fxep-faq-a { font-size: 14px; line-height: 1.8; color: #b3bed2; }
#fxep-public-root .fxep-footer { padding: 28px max(24px, calc((100vw - 1120px)/2)); gap: 24px; border-top: 1px solid #ffffff14; }
#fxep-public-root .fxep-footer-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; color: #b3bed2; }
#fxep-public-root .fxep-resume-wrap { max-width: 1120px; margin: 28px auto 0; padding: 0 24px; }
@media(max-width: 900px) {
  #fxep-public-root .fxep-hero { grid-template-columns: 1fr; max-width: 660px; gap: 32px; padding: 44px 24px; }
  #fxep-public-root .fxep-hero-h1 { font-size: 44px; }
  #fxep-public-root .fxep-hero-signature { display: none; }
  #fxep-public-root .fxep-outcomes-grid { grid-template-columns: repeat(2,1fr); }
  #fxep-public-root .fxep-steps { gap: 20px; }
}
@media(max-width: 600px) {
  #fxep-public-root .fxep-header { height: 64px; padding: 0 20px; }
  #fxep-public-root .fxep-hero { padding: 32px 20px; gap: 26px; }
  #fxep-public-root .fxep-hero-h1 { font-size: 38px; margin-bottom: 18px; }
  #fxep-public-root .fxep-hero-sub { font-size: 15px; line-height: 1.7; }
  #fxep-public-root .fxep-hero-signal { margin-bottom: 18px; font-size: 9px; }
  #fxep-public-root .fxep-input-card { padding: 22px 18px; border-radius: 22px; }
  #fxep-public-root .fxep-how, #fxep-public-root .fxep-services, #fxep-public-root .fxep-outcomes, #fxep-public-root .fxep-faq { padding: 36px 20px; }
  #fxep-public-root .fxep-steps { grid-template-columns: 1fr; gap: 26px; }
  #fxep-public-root .fxep-service-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  #fxep-public-root .fxep-service-item { padding: 16px 12px; gap: 10px; }
  #fxep-public-root .fxep-outcome-card { padding: 18px; }
  #fxep-public-root .fxep-footer { flex-direction: column; align-items: flex-start; padding: 24px 20px; }
  #fxep-public-root .fxep-footer-links { flex-wrap: wrap; gap: 6px 16px; }
}
@media(max-width: 360px) {
  #fxep-public-root .fxep-hero-h1 { font-size: 33px; }
  #fxep-public-root .fxep-service-grid, #fxep-public-root .fxep-outcomes-grid { grid-template-columns: 1fr; }
}
/* Discovery edition: shorter entry, distinct visual rhythm, honest examples. */
#fxep-public-root { overflow: clip; background: radial-gradient(ellipse 55% 650px at 85% 150px,#49318355,transparent), radial-gradient(ellipse 45% 600px at 5% 250px,#9f3d3428,transparent), #090e1b; }
#fxep-public-root .fxep-hero { padding-top: 64px; padding-bottom: 64px; gap: 72px; }
#fxep-public-root .fxep-hero-eyebrow { display: none; }
#fxep-public-root .fxep-hero-h1 { font-size: clamp(44px,5.5vw,76px); line-height: 1.02; letter-spacing: -.055em; }
#fxep-public-root .fxep-hero-h1 span { color: #f3b3cb; background: linear-gradient(100deg,#ffd38b,#ff9bc9 55%,#a9baff); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
#fxep-public-root .fxep-hero-sub { max-width: 400px; line-height: 1.65; }
#fxep-public-root .fxep-hero-signature { border: 0; padding: 0; display: grid; gap: 10px; color: #abb8d0; }
#fxep-public-root .fxep-hero-signature span:first-child { color: #ffd39c; }
#fxep-public-root .fxep-input-card { padding: 26px; background: linear-gradient(145deg,#293452df,#131929f5); box-shadow: 0 30px 80px #0006, 0 0 70px #b67bfa12, inset 0 1px #ffffff20; }
#fxep-public-root .fxep-input-card:focus-within { border-color: #c3b2f8; box-shadow: 0 30px 80px #0006, 0 0 48px #b67bfa20; }
#fxep-public-root .fxep-console-kicker { display: flex; gap: 12px; align-items: center; font-size: 13px; letter-spacing: .12em; margin-bottom: 22px; }
#fxep-public-root .fxep-console-kicker small { display: block; margin-top: 5px; font-size: 11px; font-weight: 400; letter-spacing: 0; color: #bec8dc; }
#fxep-public-root .fxep-rafi-orb { display: grid; place-items: center; flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; color: #fff2d9; font-size: 24px; background: radial-gradient(circle at 28% 22%,#f6c69b,#ac619f 40%,#47437d 72%); box-shadow: 0 0 25px #db97d33b, inset 0 0 0 1px #ffdfbc77; animation: fxep-orb-breathe 4s ease-in-out 2; }
#fxep-public-root .fxep-console-title { font-size: 22px; margin-bottom: 14px; }
#fxep-public-root .fxep-nlp-input { min-height: 86px; padding: 14px; line-height: 1.55; }
#fxep-public-root .fxep-hero-cta { margin-top: 6px; color: #161526 !important; background: linear-gradient(105deg,#ffd18c,#f3a8cd 58%,#b8b9ff) !important; text-shadow: none; letter-spacing: -.01em; box-shadow: 0 8px 28px #cf8baa25; }
#fxep-public-root .fxep-inspiration { margin-top: 14px; }
#fxep-public-root .fxep-inspiration summary { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer; font-size: 12px; color: #d4def2; list-style: none; }
#fxep-public-root .fxep-inspiration summary::-webkit-details-marker { display: none; }
#fxep-public-root .fxep-inspiration summary::after { content: '+'; font-size: 19px; }
#fxep-public-root .fxep-inspiration[open] summary::after { content: '−'; }
#fxep-public-root .fxep-console-note { margin-top: 4px; }
#fxep-public-root .fxep-discovery { max-width: 1120px; margin: 20px auto 44px; padding: 48px; border: 1px solid #d2c1f82b; border-radius: 30px; background: radial-gradient(ellipse at 100% 100%,#46589729,transparent 65%),linear-gradient(125deg,#211b32,#101827); position: relative; }
#fxep-public-root .fxep-discovery .fxep-section-title { font-size: clamp(30px,4vw,48px); }
#fxep-public-root .fxep-discovery .fxep-section-copy { max-width: 560px; margin-bottom: 22px; }
#fxep-public-root .fxep-example-choices { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
#fxep-public-root .fxep-example-choices button { min-height: 44px; padding: 10px 20px; border: 1px solid #aebcda35; border-radius: 24px; background: #ffffff05; color: #cbd5e7; cursor: pointer; font-size: 14px; }
#fxep-public-root .fxep-example-choices button[aria-pressed="true"] { background: #f4c59b; color: #24172a; border-color: #f4c59b; }
#fxep-public-root .fxep-example-stage { display: grid; grid-template-columns: 1fr 50px 1.25fr; align-items: center; min-height: 260px; gap: 18px; }
#fxep-public-root .fxep-example-before { padding: 28px; border-left: 2px solid #a997bd; }
#fxep-public-root .fxep-example-before p { font-size: clamp(23px,2.4vw,30px); line-height: 1.35; letter-spacing: -.03em; margin: 20px 0; color: #fff; }
#fxep-public-root .fxep-example-label { display: block; font-size: 10px; letter-spacing: .1em; line-height: 1.6; color: #d6b5d8; }
#fxep-public-root .fxep-example-caption { display: block; font-size: 12px; line-height: 1.7; color: #b3bed2; margin: 0; }
#fxep-public-root .fxep-example-transform { color: #ffd294; text-align: center; font-size: 32px; }
#fxep-public-root .fxep-example-after { padding: 26px; border-radius: 20px; border: 1px solid #9daed944; background: #192338; box-shadow: 0 14px 32px #0003; animation: fxep-example-in .25s ease-out; }
#fxep-public-root .fxep-example-after h3 { color: #f2f5ff; font-size: 20px; line-height: 1.4; letter-spacing: -.02em; margin: 14px 0; }
#fxep-public-root .fxep-example-after ul { padding: 0; list-style: none; margin: 18px 0; display: grid; gap: 8px; }
#fxep-public-root .fxep-example-after li { padding: 10px 12px; background: #ffffff06; border-radius: 8px; color: #d6e2fa; font-size: 14px; line-height: 1.5; }
#fxep-public-root .fxep-example-after li::before { content: '↳ '; color: #eeb8ce; }
#fxep-public-root .fxep-example-try { display: block; margin: 24px 0 0 auto; min-height: 44px; padding: 10px 0; color: #ffd39c; background: none; border: 0; font-size: 14px; font-weight: 600; cursor: pointer; }
#fxep-public-root .fxep-step { display: flex; flex-direction: column; padding: 24px; border-top: 1px solid #d7b5dd40; background: linear-gradient(#ffffff04,transparent); border-radius: 0 0 16px 16px; }
#fxep-public-root .fxep-step-num { font-size: 24px; border: 0; background: transparent; justify-content: flex-start; }
#fxep-public-root .fxep-service-item { transition: border-color .2s, background .2s; }
#fxep-public-root .fxep-service-item:hover { background: #c6b3fb0d; border-color: #b6a2e9; }
body.fxep-mode-page-required .fxf-canonical { display: none; }
body.fxep-mode-public .fxf-canonical { font-family: Inter,ui-sans-serif,system-ui,sans-serif; }
body.fxep-mode-public .fxf-canonical > .container { max-width: 1120px; padding-left: 24px; padding-right: 24px; margin: 0 auto; box-sizing: border-box; }
@keyframes fxep-orb-breathe { 50% { box-shadow: 0 0 32px #db97d369, inset 0 0 0 1px #ffdfbc77; } }
@keyframes fxep-example-in { from { opacity: .5; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:900px) {
  #fxep-public-root .fxep-hero { gap: 26px; padding: 32px 24px 40px; }
  #fxep-public-root .fxep-hero-signature { display: none; }
  #fxep-public-root .fxep-discovery { margin: 16px 24px 30px; padding: 32px; }
}
@media(max-width:600px) {
  #fxep-public-root .fxep-hero { padding: 22px 18px 28px; gap: 22px; }
  #fxep-public-root .fxep-hero-h1 { font-size: clamp(35px,9.5vw,44px); margin-bottom: 14px; }
  #fxep-public-root .fxep-hero-signal { font-size: 8px; margin-bottom: 16px; }
  #fxep-public-root .fxep-hero-sub { font-size: 14px; line-height: 1.6; }
  #fxep-public-root .fxep-input-card { padding: 18px; }
  #fxep-public-root .fxep-console-kicker { margin-bottom: 16px; }
  #fxep-public-root .fxep-rafi-orb { width: 38px; height: 38px; font-size: 21px; }
  #fxep-public-root .fxep-console-title { font-size: 20px; }
  #fxep-public-root .fxep-city-row { padding: 10px 0; }
  #fxep-public-root .fxep-hero-cta { min-height: 52px; }
  #fxep-public-root .fxep-inspiration { margin-top: 6px; }
  #fxep-public-root .fxep-discovery { margin: 12px 18px 24px; padding: 24px 18px; border-radius: 24px; }
  #fxep-public-root .fxep-discovery .fxep-section-title { font-size: 29px; }
  #fxep-public-root .fxep-example-stage { grid-template-columns: 1fr; gap: 14px; min-height: 0; }
  #fxep-public-root .fxep-example-before { padding: 8px 16px; }
  #fxep-public-root .fxep-example-before p { font-size: 23px; margin: 14px 0; }
  #fxep-public-root .fxep-example-transform { font-size: 23px; }
  #fxep-public-root .fxep-example-after { padding: 20px 16px; }
  #fxep-public-root .fxep-example-choices { gap: 6px; }
  #fxep-public-root .fxep-example-choices button { padding: 10px 12px; font-size: 13px; }
  #fxep-public-root .fxep-step { padding: 20px; gap: 8px; }
}
/* Journey edition — sections below the approved hero and discovery. */
#fxep-public-root .fxep-how .fxep-section-title span,
#fxep-public-root .fxep-services .fxep-section-title span,
#fxep-public-root .fxep-outcomes-heading span,
#fxep-public-root .fxep-faq .fxep-section-title span { color: #baa9d8; }
#fxep-public-root .fxep-how { display: grid; grid-template-columns: .85fr 1.15fr; column-gap: 70px; align-items: start; padding-top: 64px; padding-bottom: 64px; }
#fxep-public-root .fxep-how > .fxep-section-label { grid-column: 1; }
#fxep-public-root .fxep-how > .fxep-section-title { grid-column: 1; font-size: clamp(28px,3.3vw,42px); }
#fxep-public-root .fxep-steps { grid-column: 2; grid-row: 1 / 4; display: grid; grid-template-columns: 1fr; list-style: none; margin: 0; padding: 0; gap: 0; border: 1px solid #ccb9ed20; border-radius: 24px; background: linear-gradient(135deg,#25203880,#121c2b90); overflow: hidden; }
#fxep-public-root .fxep-step { flex-direction: row; gap: 20px; padding: 26px; border: 0; border-radius: 0; background: none; }
#fxep-public-root .fxep-step + .fxep-step { border-top: 1px solid #ffffff0d; }
#fxep-public-root .fxep-step-num { flex: 0 0 44px; width: 44px; height: 44px; display: grid; place-items: center; justify-content: center; font-size: 13px; color: #ffcf9b; border: 1px solid #ffcf9b40; border-radius: 50%; background: #ffcf9b08; }
#fxep-public-root .fxep-step:nth-child(2) .fxep-step-num { color: #e8aeca; border-color: #e8aeca40; }
#fxep-public-root .fxep-step:nth-child(3) .fxep-step-num { color: #b8c8ff; border-color: #b8c8ff40; }
#fxep-public-root .fxep-step-title { margin: 0 0 7px; font-size: 16px; line-height: 1.4; }
#fxep-public-root .fxep-step-desc { font-size: 14px; line-height: 1.7; }
#fxep-public-root .fxep-services { padding-top: 60px; padding-bottom: 64px; }
#fxep-public-root .fxep-services .fxep-section-title { font-size: clamp(30px,3.5vw,44px); }
#fxep-public-root .fxep-service-grid { gap: 16px; margin-top: 30px; }
#fxep-public-root .fxep-service-item { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; min-width: 0; min-height: 220px; padding: 26px; overflow: hidden; color: #edf2ff; background: radial-gradient(ellipse at 100% 0,#9379ba14,transparent 75%),#101827; border: 1px solid #b9acd92a; border-radius: 22px; cursor: pointer; }
#fxep-public-root .fxep-service-item:nth-child(3n+2) { background: radial-gradient(ellipse at 100% 0,#779bc01c,transparent 75%),#101827; }
#fxep-public-root .fxep-service-item:nth-child(3n) { background: radial-gradient(ellipse at 100% 0,#bd80651a,transparent 75%),#101827; }
#fxep-public-root .fxep-service-icon { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #d4b9f530; border-radius: 14px; color: #d5b5ed; background: #c3a5e00b; }
#fxep-public-root .fxep-service-item:nth-child(3n+2) .fxep-service-icon { color: #aacaef; }
#fxep-public-root .fxep-service-item:nth-child(3n) .fxep-service-icon { color: #f2c29a; }
#fxep-public-root .fxep-service-body { display: block; width: 100%; }
#fxep-public-root .fxep-service-category { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #a7b5cc; margin-bottom: 8px; }
#fxep-public-root .fxep-service-name { display: block; font-size: 17px; line-height: 1.4; font-weight: 650; }
#fxep-public-root .fxep-service-badge { display: block; margin-top: 14px; padding: 0; border: 0; background: none; color: #b7c6e6; font-size: 12px; }
#fxep-public-root .fxep-service-arrow { position: absolute; right: 22px; top: 26px; color: #bbc5dc; font-size: 23px; }
#fxep-public-root .fxep-service-item:hover { border-color: #ddbbe6aa; background-color: #1a2033; }
#fxep-public-root .fxep-outcomes { padding-top: 68px; padding-bottom: 68px; }
#fxep-public-root .fxep-outcomes-heading { font-size: clamp(30px,3.5vw,44px); }
#fxep-public-root .fxep-outcomes-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 12px 24px; margin-top: 30px; }
#fxep-public-root .fxep-outcome-card { display: flex; align-items: flex-start; gap: 18px; text-align: left; padding: 22px; border: 1px solid #afc0e122; border-radius: 18px; background: #ffffff03; }
#fxep-public-root .fxep-outcome-card.is-price { grid-row: span 3; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; padding: 36px; position: relative; overflow: hidden; background: radial-gradient(circle at 95% 0,#f0a1bc25,transparent 65%),linear-gradient(150deg,#302434,#171d30); border-color: #ecc39966; }
#fxep-public-root .fxep-outcome-icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; margin: 0; border-radius: 12px; background: #aec4ed0b; color: #b8cbed; }
#fxep-public-root .is-price .fxep-outcome-icon { flex: 0 0 64px; width: 64px; height: 64px; background: #f4c89e12; color: #ffd4a7; border: 1px solid #f4c89e40; border-radius: 18px; }
#fxep-public-root .is-price .fxep-outcome-icon svg { width: 34px; height: 34px; }
#fxep-public-root .fxep-outcome-tag { font-size: 9px; letter-spacing: .12em; line-height: 1.7; color: #a6b9d2; }
#fxep-public-root .is-price .fxep-outcome-tag { color: #f2cbb3; }
#fxep-public-root .fxep-outcome-name { font-size: 19px; line-height: 1.3; margin: 5px 0 8px; }
#fxep-public-root .is-price .fxep-outcome-name { color: #ffdab4; font-size: clamp(32px,4vw,48px); margin: 12px 0 18px; letter-spacing: -.04em; }
#fxep-public-root .fxep-outcome-desc { margin: 0; font-size: 14px; line-height: 1.7; }
#fxep-public-root .is-price .fxep-outcome-desc { font-size: 16px; color: #d1c8d7; max-width: 320px; }
#fxep-public-root .fxep-outcome-promise { margin-top: 30px; border-top: 1px solid #e4c6de26; padding-top: 20px; font-size: 13px; color: #edd6d1; }
#fxep-public-root .fxep-faq { max-width: 1200px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; padding-top: 60px; padding-bottom: 64px; }
#fxep-public-root .fxep-faq-intro { min-width: 0; }
#fxep-public-root .fxep-faq-list { min-width: 0; border-top: 1px solid #beadd637; }
#fxep-public-root .fxep-faq-item { margin: 0; border: 0; border-bottom: 1px solid #beadd62b; border-radius: 0; background: none; overflow: visible; }
#fxep-public-root .fxep-faq-item.open { background: #c0ace605; }
#fxep-public-root .fxep-faq-q { padding: 24px 12px; display: flex; gap: 20px; align-items: center; font-size: 15px; line-height: 1.6; font-weight: 600; background: none; }
#fxep-public-root .fxep-faq-chevron { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid #beadd642; border-radius: 50%; font-size: 20px; color: #eac7dc; transform: none; }
#fxep-public-root .fxep-faq-a { padding: 0 12px 24px; border: 0; line-height: 1.8; }
#fxep-public-root .fxep-faq-a[hidden] { display: none !important; }
#fxep-public-root .fxep-invitation { max-width: 1120px; margin: 12px auto 72px; padding: 56px 28px; border-radius: 28px; border: 1px solid #d5b0e02b; background: radial-gradient(ellipse at 50% 0,#8f4e8440,transparent 70%),linear-gradient(110deg,#1f2034,#151d2e); text-align: center; }
#fxep-public-root .fxep-invitation h2 { font-size: clamp(30px,4vw,48px); line-height: 1.15; margin: 16px 0; color: #f7f2fc; letter-spacing: -.035em; }
#fxep-public-root .fxep-invitation h2 span { color: #ecc0db; }
#fxep-public-root .fxep-invitation p { color: #bfc7da; font-size: 15px; line-height: 1.7; margin: 0 0 24px; }
#fxep-public-root .fxep-invitation button { display: inline-flex; justify-content: center; align-items: center; min-height: 54px; padding: 14px 30px; border: 0; border-radius: 14px; font-size: 15px; font-weight: 700; color: #191527; background: linear-gradient(105deg,#ffd18c,#f3a8cd 58%,#b8b9ff); cursor: pointer; }
#fxep-public-root .fxep-invitation small { display: block; margin-top: 16px; color: #b9c4d9; font-size: 11px; line-height: 1.7; }
@media(max-width:900px) {
  #fxep-public-root .fxep-how, #fxep-public-root .fxep-faq { grid-template-columns: 1fr; gap: 0; }
  #fxep-public-root .fxep-steps { grid-column: 1; grid-row: auto; margin-top: 16px; }
  #fxep-public-root .fxep-faq-list { margin-top: 8px; }
  #fxep-public-root .fxep-invitation { margin-left: 24px; margin-right: 24px; }
}
@media(max-width:600px) {
  #fxep-public-root .fxep-how, #fxep-public-root .fxep-services, #fxep-public-root .fxep-outcomes, #fxep-public-root .fxep-faq { padding: 32px 18px; }
  #fxep-public-root .fxep-how > .fxep-section-title, #fxep-public-root .fxep-services .fxep-section-title, #fxep-public-root .fxep-outcomes-heading { font-size: 29px; }
  #fxep-public-root .fxep-step { padding: 20px 16px; gap: 14px; }
  #fxep-public-root .fxep-step-num { flex-basis: 36px; width: 36px; height: 36px; font-size: 12px; }
  #fxep-public-root .fxep-step-title { font-size: 15px; }
  #fxep-public-root .fxep-step-desc { font-size: 13px; line-height: 1.65; }
  #fxep-public-root .fxep-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 22px; }
  #fxep-public-root .fxep-service-item { padding: 18px 14px; min-height: 210px; gap: 18px; border-radius: 18px; }
  #fxep-public-root .fxep-service-icon { width: 40px; height: 40px; border-radius: 12px; }
  #fxep-public-root .fxep-service-arrow { right: 13px; top: 18px; font-size: 19px; }
  #fxep-public-root .fxep-service-category { font-size: 9px; letter-spacing: .06em; }
  #fxep-public-root .fxep-service-name { font-size: 14px; line-height: 1.5; }
  #fxep-public-root .fxep-service-badge { margin-top: 10px; font-size: 11px; }
  #fxep-public-root .fxep-outcomes-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 24px; }
  #fxep-public-root .fxep-outcome-card.is-price { grid-row: auto; padding: 26px; gap: 24px; }
  #fxep-public-root .fxep-outcome-card { padding: 20px 16px; gap: 14px; }
  #fxep-public-root .fxep-outcome-name { font-size: 18px; }
  #fxep-public-root .fxep-outcome-tag { font-size: 9px; letter-spacing: .06em; }
  #fxep-public-root .fxep-outcome-desc { font-size: 13px; }
  #fxep-public-root .fxep-faq-q { padding: 20px 4px; font-size: 14px; gap: 12px; }
  #fxep-public-root .fxep-faq-a { padding: 0 4px 20px; font-size: 14px; }
  #fxep-public-root .fxep-invitation { margin: 12px 18px 44px; padding: 34px 20px; }
  #fxep-public-root .fxep-invitation button { width: 100%; }
}
@media(max-width:350px) {
  #fxep-public-root .fxep-service-grid { grid-template-columns: 1fr; }
  #fxep-public-root .fxep-service-item { min-height: 0; }
}
@media(prefers-reduced-motion: reduce) { #fxep-public-root *, #fxep-public-root *::before, #fxep-public-root *::after { scroll-behavior: auto; transition: none !important; animation: none !important; } }


/* ================================================================
   ESTIMATION — PREMIUM MASTER / MOBILE-FIRST
   Optical density, iOS stability, quieter surfaces, faster rhythm.
   No estimator/pricing/business logic.
   ================================================================ */
html:has(#fxep-public-root),
body:has(#fxep-public-root) {
  max-width: 100%;
  overflow-x: hidden;
  background: #090e1b;
  overscroll-behavior-x: none;
  -webkit-text-size-adjust: 100%;
}
#fxep-public-root { overflow-x: clip; }

/* Header = stable product chrome: never scales or morphs on scroll/focus. */
#fxep-public-root .fxep-header {
  transform: none !important;
  scale: 1 !important;
  contain: layout style;
  min-width: 0;
}
#fxep-public-root .fxep-header > * { transform: none !important; flex-shrink: 0; }
#fxep-public-root .fxep-header-spacer { flex-shrink: 1; }

/* Premium density: less editorial distance, more product rhythm. */
#fxep-public-root .fxep-discovery,
#fxep-public-root .fxep-how,
#fxep-public-root .fxep-services,
#fxep-public-root .fxep-outcomes,
#fxep-public-root .fxep-faq,
#fxep-public-root .fxep-invitation {
  scroll-margin-top: 76px;
}

/* Quieter surfaces + lighter GPU cost while scrolling. */
#fxep-public-root .fxep-input-card,
#fxep-public-root .fxep-example-after,
#fxep-public-root .fxep-steps,
#fxep-public-root .fxep-outcome-card,
#fxep-public-root .fxep-invitation {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Services read as compact actions, not large marketing tiles. */
#fxep-public-root .fxep-service-item {
  min-height: 0;
}

/* FAQ: the first three are the primary mobile decision questions. */
@media (max-width: 600px) {
  #fxep-public-root .fxep-header {
    height: 60px;
    min-height: 60px;
    padding: 0 16px;
    position: sticky;
    top: 0;
  }
  #fxep-public-root .fxep-header-brand { font-size: 16px; }
  #fxep-public-root .fxep-header-back { min-height: 40px; padding: 8px 12px; }
  #fxep-public-root .fxep-header-rafi-badge { font-size: 9px; }

  #fxep-public-root .fxep-hero {
    padding: 18px 16px 22px;
    gap: 16px;
  }
  #fxep-public-root .fxep-hero-signal { margin-bottom: 11px; }
  #fxep-public-root .fxep-hero-h1 {
    font-size: clamp(33px, 9vw, 40px);
    line-height: 1.02;
    margin-bottom: 10px;
  }
  #fxep-public-root .fxep-hero-sub {
    max-width: 34ch;
    font-size: 14px;
    line-height: 1.52;
  }
  #fxep-public-root .fxep-input-card { padding: 17px 15px; border-radius: 20px; }
  #fxep-public-root .fxep-console-kicker { margin-bottom: 12px; }
  #fxep-public-root .fxep-console-title { font-size: 19px; margin-bottom: 10px; }
  #fxep-public-root .fxep-nlp-input {
    min-height: 88px;
    padding: 14px;
    font-size: 16px !important;
    line-height: 1.5;
    resize: none;
  }
  #fxep-public-root .fxep-voice-btn,
  #fxep-public-root select,
  #fxep-public-root input,
  #fxep-public-root textarea { font-size: 16px !important; }
  #fxep-public-root .fxep-console-note { margin-top: 8px; line-height: 1.45; }
  #fxep-public-root .fxep-city-row { margin-top: 12px; }
  #fxep-public-root .fxep-hero-cta { min-height: 50px; margin-top: 4px; }

  #fxep-public-root .fxep-discovery,
  #fxep-public-root .fxep-how,
  #fxep-public-root .fxep-services,
  #fxep-public-root .fxep-outcomes,
  #fxep-public-root .fxep-faq {
    padding: 26px 16px;
  }
  #fxep-public-root .fxep-section-label { margin-bottom: 8px; }
  #fxep-public-root .fxep-section-title,
  #fxep-public-root .fxep-how > .fxep-section-title,
  #fxep-public-root .fxep-services .fxep-section-title,
  #fxep-public-root .fxep-outcomes-heading {
    font-size: 27px;
    line-height: 1.08;
    margin-bottom: 10px;
  }
  #fxep-public-root .fxep-section-copy,
  #fxep-public-root .fxep-outcomes-sub {
    font-size: 13px;
    line-height: 1.55;
    margin-bottom: 16px;
  }

  /* RAFI example = one compact transformation card. */
  #fxep-public-root .fxep-example-choices { margin-bottom: 14px; }
  #fxep-public-root .fxep-example-stage { gap: 8px; }
  #fxep-public-root .fxep-example-before { padding: 8px 12px; }
  #fxep-public-root .fxep-example-before p { font-size: 20px; margin: 9px 0; }
  #fxep-public-root .fxep-example-transform { font-size: 17px; line-height: 1; }
  #fxep-public-root .fxep-example-after { padding: 15px 14px; border-radius: 16px; }
  #fxep-public-root .fxep-example-after h3 { font-size: 17px; margin: 8px 0; }
  #fxep-public-root .fxep-example-after ul { margin: 10px 0; gap: 5px; }
  #fxep-public-root .fxep-example-after li { padding: 7px 9px; font-size: 12px; }
  #fxep-public-root .fxep-example-try { margin-top: 10px; min-height: 40px; }

  /* Three steps become a dense timeline. */
  #fxep-public-root .fxep-steps { margin-top: 12px; border-radius: 18px; }
  #fxep-public-root .fxep-step { padding: 14px 13px; gap: 11px; }
  #fxep-public-root .fxep-step-num { flex-basis: 32px; width: 32px; height: 32px; font-size: 10px; }
  #fxep-public-root .fxep-step-title { font-size: 14px; margin-bottom: 3px; }
  #fxep-public-root .fxep-step-desc { font-size: 12px; line-height: 1.45; }

  /* Services: ~30% less vertical mass. */
  #fxep-public-root .fxep-service-grid { gap: 8px; }
  #fxep-public-root .fxep-service-item { min-height: 126px; padding: 14px 12px; border-radius: 16px; }
  #fxep-public-root .fxep-service-icon { width: 38px; height: 38px; margin-bottom: 11px; }
  #fxep-public-root .fxep-service-arrow { right: 11px; top: 13px; font-size: 17px; }
  #fxep-public-root .fxep-service-category { margin-bottom: 4px; }
  #fxep-public-root .fxep-service-name { font-size: 13px; line-height: 1.35; }
  #fxep-public-root .fxep-service-badge { margin-top: 6px; font-size: 10px; }

  /* Outcome hierarchy: Price hero + compact alternatives. */
  #fxep-public-root .fxep-outcomes-grid { gap: 8px; margin-top: 16px; }
  #fxep-public-root .fxep-outcome-card { padding: 15px 14px; border-radius: 16px; }
  #fxep-public-root .is-price { padding: 19px 16px; }
  #fxep-public-root .is-price .fxep-outcome-name { font-size: 29px; margin: 7px 0 10px; }
  #fxep-public-root .fxep-outcome-name { font-size: 16px; margin: 3px 0 5px; }
  #fxep-public-root .fxep-outcome-desc { font-size: 12px; line-height: 1.5; }
  #fxep-public-root .fxep-outcome-promise { margin-top: 12px; padding-top: 10px; }

  /* FAQ: compact decision support. */
  #fxep-public-root .fxep-faq-q { min-height: 52px; padding: 14px 2px; font-size: 13px; line-height: 1.4; }
  #fxep-public-root .fxep-faq-a { padding: 0 2px 14px; font-size: 12px; line-height: 1.6; }
  #fxep-public-root .fxep-faq-chevron { flex-basis: 26px; width: 26px; height: 26px; font-size: 16px; }

  /* Signature closing card. */
  #fxep-public-root .fxep-invitation { margin: 20px 16px 30px; padding: 24px 18px; border-radius: 20px; }
  #fxep-public-root .fxep-invitation h2 { font-size: 29px; margin: 9px 0; }
  #fxep-public-root .fxep-invitation p { font-size: 13px; line-height: 1.5; margin-bottom: 16px; }
  #fxep-public-root .fxep-invitation button { width: 100%; min-height: 50px; }
  #fxep-public-root .fxep-invitation small { margin-top: 10px; }
}

@media (max-width: 380px) {
  #fxep-public-root .fxep-header { padding-inline: 12px; }
  #fxep-public-root .fxep-hero { padding-inline: 14px; }
  #fxep-public-root .fxep-service-item { min-height: 118px; padding: 12px 10px; }
}


/* ================================================================
   ESTIMATION — VISUAL SYSTEM MASTER
   One FIXEO palette, one typography system, one RAFI cockpit language.
   ================================================================ */
body.fxep-mode-public {
  --fxep-ink: #090d18;
  --fxep-surface: #111827;
  --fxep-surface-2: #182136;
  --fxep-surface-3: #202943;
  --fxep-rafi: #8fa8ff;
  --fxep-rafi-soft: #b8c7ff;
  --fxep-pink: #ef9ac5;
  --fxep-warm: #ffd08e;
  --fxep-line: #aebeff2e;
  --fxep-line-soft: #ffffff14;
  --fxep-copy: #b9c4d8;
}
#fxep-public-root,
#fxep-public-root button,
#fxep-public-root input,
#fxep-public-root textarea,
#fxep-public-root select,
#fxep-public-root option,
#fxep-public-root summary {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-style: normal;
}
#fxep-public-root {
  background:
    radial-gradient(ellipse 62% 560px at 82% 170px, #5365b526, transparent 72%),
    radial-gradient(ellipse 48% 420px at 2% 520px, #a5507720, transparent 72%),
    var(--fxep-ink);
}
#fxep-public-root .fxep-section-label,
#fxep-public-root .fxep-example-label,
#fxep-public-root .fxep-outcome-tag,
#fxep-public-root .fxep-service-category {
  color: #c6b8d5;
  font-weight: 750;
}
#fxep-public-root .fxep-section-copy,
#fxep-public-root .fxep-outcomes-sub,
#fxep-public-root .fxep-step-desc,
#fxep-public-root .fxep-outcome-desc,
#fxep-public-root .fxep-example-caption {
  color: var(--fxep-copy);
}

/* RAFI cockpit — flagship surface */
#fxep-public-root .fxep-input-card {
  isolation: isolate;
  border: 1px solid #aebeff42;
  background:
    radial-gradient(circle at 0 0, #7c62aa26, transparent 42%),
    radial-gradient(circle at 100% 0, #526fb22b, transparent 46%),
    linear-gradient(150deg,#1c2540 0%,#121a2d 58%,#101625 100%);
  box-shadow: 0 24px 64px #0006, 0 0 0 1px #ffffff05 inset;
}
#fxep-public-root .fxep-input-card::before {
  left: 22px;
  right: 22px;
  height: 2px;
  background: linear-gradient(90deg,var(--fxep-warm),var(--fxep-pink) 52%,var(--fxep-rafi));
  box-shadow: 0 0 18px #ef9ac54a;
}
#fxep-public-root .fxep-input-card:focus-within {
  border-color: #b8c7ff75;
  box-shadow: 0 24px 64px #0006, 0 0 34px #829aff17, 0 0 0 1px #ffffff08 inset;
}
#fxep-public-root .fxep-console-kicker {
  color: #f0e9f7;
  letter-spacing: .11em;
}
#fxep-public-root .fxep-console-kicker small {
  color: #c2ccdf;
  font-weight: 500;
}
#fxep-public-root .fxep-rafi-orb {
  background: radial-gradient(circle at 28% 22%,#fff0ce,#ef9ac5 34%,#8877cf 62%,#39456f 100%);
  box-shadow: 0 0 26px #e99ac34d, inset 0 0 0 1px #ffe6c9a3;
}
#fxep-public-root .fxep-console-title {
  color: #f7f8fc;
  font-weight: 750;
}
#fxep-public-root .fxep-input-row {
  border: 1px solid #9fb2e340;
  background: #080f1ded;
  box-shadow: inset 0 1px #ffffff06;
}
#fxep-public-root .fxep-input-row:focus-within {
  border-color: #aebeff7a;
  box-shadow: 0 0 0 3px #829aff12, inset 0 1px #ffffff08;
}
#fxep-public-root .fxep-nlp-input {
  color: #f7f8fc;
  font-weight: 560;
}
#fxep-public-root .fxep-nlp-input::placeholder { color: #8f9bb0; }

/* Secondary controls form one coherent command bar. */
#fxep-public-root .fxep-voice-btn,
#fxep-public-root .fxep-language-select,
#fxep-public-root select {
  border: 1px solid #aebeff3d !important;
  background: #ffffff08 !important;
  color: #edf1fb !important;
  box-shadow: inset 0 1px #ffffff0a;
  font-weight: 650;
}
#fxep-public-root .fxep-voice-btn {
  background: linear-gradient(110deg,#5f91c9aa,#a05e91aa) !important;
  border-color: #b9d6ff88 !important;
}
#fxep-public-root .fxep-city-label { color: #aeb9cd; }
#fxep-public-root .fxep-city-chip {
  border-color: #aebeff35;
  background: #ffffff08;
  color: #f0f3fb;
  font-weight: 650;
}

/* Signature primary CTA */
#fxep-public-root .fxep-hero-cta,
#fxep-public-root .fxep-invitation button {
  color: #171421 !important;
  background: linear-gradient(105deg,#ffd492 0%,#f0a0c9 54%,#aebcff 100%) !important;
  border: 1px solid #fff4df75 !important;
  box-shadow: 0 10px 28px #e89bb02e, inset 0 1px #ffffff9e;
  font-weight: 760;
  letter-spacing: -.012em;
}
#fxep-public-root .fxep-hero-cta:active,
#fxep-public-root .fxep-invitation button:active {
  transform: translateY(1px) scale(.995);
  filter: brightness(.98);
}

/* All premium surfaces now belong to the same color family. */
#fxep-public-root .fxep-discovery,
#fxep-public-root .fxep-steps,
#fxep-public-root .fxep-service-item,
#fxep-public-root .fxep-outcome-card,
#fxep-public-root .fxep-invitation {
  border-color: var(--fxep-line);
}
#fxep-public-root .fxep-discovery {
  background:
    radial-gradient(ellipse at 100% 100%,#5269a626,transparent 64%),
    linear-gradient(135deg,#171d31,#101725);
}
#fxep-public-root .fxep-example-after {
  background: linear-gradient(145deg,#1b2940,#142033);
  border-color: #9fb5ec4a;
}
#fxep-public-root .fxep-steps {
  background: linear-gradient(135deg,#1b2135,#111a2a);
}
#fxep-public-root .fxep-service-item {
  background: linear-gradient(145deg,#1c2940,#152033);
}
#fxep-public-root .fxep-outcome-card {
  background: linear-gradient(145deg,#182438,#111b2c);
}
#fxep-public-root .fxep-outcome-card.is-price {
  background:
    radial-gradient(circle at 95% 0,#ef9ac529,transparent 60%),
    linear-gradient(150deg,#30283b,#192137);
  border-color: #f3bdc06b;
}
#fxep-public-root .fxep-invitation {
  background:
    radial-gradient(ellipse at 50% 0,#a85b8a35,transparent 66%),
    linear-gradient(125deg,#211f35,#151d2e);
}

/* Typography hierarchy: remove inherited serif/italic accidents. */
#fxep-public-root h1,
#fxep-public-root h2,
#fxep-public-root h3,
#fxep-public-root p,
#fxep-public-root span,
#fxep-public-root li,
#fxep-public-root small,
#fxep-public-root label {
  font-family: inherit;
}
#fxep-public-root .fxep-hero-cta,
#fxep-public-root .fxep-invitation button,
#fxep-public-root .fxep-example-try {
  font-style: normal !important;
}

@media (max-width: 600px) {
  #fxep-public-root .fxep-input-card {
    padding: 16px 14px 15px;
    border-radius: 19px;
  }
  #fxep-public-root .fxep-console-kicker { margin-bottom: 10px; }
  #fxep-public-root .fxep-rafi-orb { width: 40px; height: 40px; }
  #fxep-public-root .fxep-console-title { margin-bottom: 9px; }
  #fxep-public-root .fxep-input-row { border-radius: 14px; }
  #fxep-public-root .fxep-nlp-input { min-height: 82px; }
  #fxep-public-root .fxep-city-row { padding: 8px 0 7px; margin-top: 7px; }
  #fxep-public-root .fxep-city-chip { min-height: 40px; padding: 8px 13px; }
  #fxep-public-root .fxep-hero-cta {
    min-height: 52px;
    margin-top: 5px;
    border-radius: 13px;
  }
}


/* Cascade master — unmistakable RAFI flagship hierarchy */
#fxep-public-root .fxep-input-card{
  border-radius:24px;
  border-color:#b5c3ff5c;
  background:
    radial-gradient(120% 80% at 0 0,#725c9f38,transparent 48%),
    radial-gradient(90% 70% at 100% 0,#4f6da83d,transparent 52%),
    linear-gradient(155deg,#202a48 0%,#151d33 52%,#0e1626 100%);
}
#fxep-public-root .fxep-console-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  font-size:13px;
  font-weight:800;
}
#fxep-public-root .fxep-console-kicker small{
  font-size:11px;
  color:#c9d1e2;
}
#fxep-public-root .fxep-console-title{
  font-size:22px;
  letter-spacing:-.025em;
}
#fxep-public-root .fxep-input-row{
  background:#070d18f2;
  border-color:#9eafe65c;
}
#fxep-public-root .fxep-city-row{
  display:flex;
  align-items:center;
  gap:9px;
}
#fxep-public-root .fxep-city-chip.detected{
  background:#ffffff0b;
  border-color:#b8c7ff45;
}
#fxep-public-root .fxep-hero-cta{
  color:#18131f !important;
  background:linear-gradient(100deg,#ffd58f 0%,#f09bc5 52%,#a6b9ff 100%) !important;
  box-shadow:0 12px 34px #ed9eb43a,0 0 0 1px #fff1d66b inset;
}
@media(max-width:600px){
  #fxep-public-root .fxep-input-card{padding:18px 15px 16px}
  #fxep-public-root .fxep-console-title{font-size:21px}
  #fxep-public-root .fxep-nlp-input{min-height:88px}
}


/* ESTIMATION — GLOBAL HEADER MOBILE FIT
   Scoped to /estimation public mode only. Canonical V5B remains unchanged elsewhere. */
@media (max-width: 768px) {
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-mobile,
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-mobile-bar {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-mobile-bar {
    padding-left: calc(10px + env(safe-area-inset-left,0px)) !important;
    padding-right: calc(10px + env(safe-area-inset-right,0px)) !important;
    gap: 7px !important;
    overflow: hidden !important;
  }
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-brand {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    gap: 6px !important;
    overflow: hidden !important;
  }
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-logo-img {
    height: 25px !important;
    max-width: 100px !important;
    flex-shrink: 1 !important;
  }
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-actions {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    gap: 5px !important;
  }
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-icon-btn,
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-avatar-link,
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-menu {
    width: 37px !important;
    height: 37px !important;
    min-width: 37px !important;
    flex: 0 0 37px !important;
    border-radius: 12px !important;
  }
}
@media (max-width: 380px) {
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-mobile-bar {
    padding-left: calc(8px + env(safe-area-inset-left,0px)) !important;
    padding-right: calc(8px + env(safe-area-inset-right,0px)) !important;
    gap: 5px !important;
  }
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-logo-img {
    height: 24px !important;
    max-width: 92px !important;
  }
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-actions { gap: 4px !important; }
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-icon-btn,
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-avatar-link,
  body.fxep-mode-public.fixeo-gh-enabled .fixeo-gh-menu {
    width: 35px !important;
    height: 35px !important;
    min-width: 35px !important;
    flex-basis: 35px !important;
  }
}


/* ESTIMATION — CTA COLOR HARMONY
   Same RAFI spectrum; primary and secondary differ by luminance only. */
#fxep-public-root .fxep-hero-cta,
#fxep-public-root .fxep-invitation button {
  color:#171421 !important;
  background:linear-gradient(105deg,#a9d8ff 0%,#c6b7ff 42%,#efa8cf 72%,#ffd49a 100%) !important;
  border-color:#f6e7ff80 !important;
  box-shadow:0 10px 30px #bd91d52b,0 0 0 1px #ffffff6b inset !important;
}
#fxep-public-root .fxep-example-choice.is-active,
#fxep-public-root .fxep-example-choice[aria-pressed="true"] {
  color:#f8f5ff !important;
  background:linear-gradient(105deg,#45698f 0%,#665b91 48%,#875a7a 100%) !important;
  border-color:#c5baff70 !important;
  box-shadow:inset 0 1px #ffffff18,0 7px 20px #0002 !important;
}
