/* ============================================================
   ENTHUSIAST EXCHANGE — SIGN UP / SIGN IN.
   One marketplace account: buyer + seller. Anatomy: crumbs →
   split hero (benefits dark panel · auth card) → seller
   payout-onboarding strip. Uses only fi-styles.css variables.
   ============================================================ */
.crumbs{ background:var(--paper); border-bottom:1px solid var(--line); }
.crumbs__inner{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:11px 0;
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; }
.crumbs a{ color:var(--carbon); } .crumbs a:hover{ color:var(--command); }
.crumbs .sep{ color:var(--line-input); } .crumbs .cur{ color:var(--ink); font-weight:500; }

.au{ padding-block:40px 48px; background:var(--bone); }
.au__grid{ display:grid; grid-template-columns:1fr; gap:20px; max-width:1020px; margin-inline:auto; }
@media (min-width:960px){ .au__grid{ grid-template-columns:1fr 1.05fr; align-items:stretch; } }

/* benefits panel */
.au-why{ background:var(--ocean-900); color:#fff; border-radius:var(--r); padding:30px 26px; position:relative; overflow:hidden; display:flex; flex-direction:column; }
.au-why__ghost{ position:absolute; right:-4%; bottom:-4%; font-family:var(--f-head); font-weight:900; font-size:120px; line-height:1;
  color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.07); pointer-events:none; user-select:none; }
.au-why__kicker{ font-family:var(--f-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--lime); margin-bottom:10px; }
.au-why h1{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:clamp(1.6rem,3.4vw,2.3rem); line-height:.95; margin-bottom:12px; }
.au-why h1 em{ color:var(--lime); font-style:normal; }
.au-why > p{ font-size:14px; line-height:1.65; color:rgba(255,255,255,.75); margin-bottom:20px; max-width:46ch; }
.au-why__list{ display:flex; flex-direction:column; gap:13px; position:relative; z-index:2; }
.au-why__item{ display:flex; gap:11px; align-items:flex-start; font-size:13px; line-height:1.55; color:rgba(255,255,255,.75); }
.au-why__item svg{ width:17px; height:17px; color:var(--lime); flex:none; margin-top:1px; }
.au-why__item b{ color:#fff; }
.au-why__quote{ margin-top:auto; padding-top:20px; border-top:1px solid var(--line-dark); display:flex; gap:11px; align-items:center; position:relative; z-index:2; }
.au-why__quote img{ width:38px; height:38px; border-radius:50%; object-fit:cover; flex:none; }
.au-why__quote p{ font-size:12.5px; line-height:1.5; color:rgba(255,255,255,.75); font-style:italic; }
.au-why__quote .who{ font-family:var(--f-mono); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--lime); font-style:normal; display:block; margin-top:3px; }

/* auth card */
.au-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh); overflow:hidden; }
.au-tabs{ display:flex; border-bottom:1px solid var(--line); }
.au-tab{ flex:1; text-align:center; padding:15px 10px; font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:14px;
  color:var(--carbon); background:var(--bone); border-bottom:3px solid transparent; cursor:pointer; transition:var(--t); }
.au-tab.is-active{ color:var(--ink); background:var(--paper); border-bottom-color:var(--lime); }
.au-body{ padding:22px 20px 24px; }
.au-fld{ margin-bottom:13px; }
.au-fld label{ display:block; font-family:var(--f-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--carbon); margin-bottom:6px; }
.au-fld input,.au-fld select{ width:100%; padding:12px 13px; border:1px solid var(--line-input); border-radius:var(--r-sm); font-size:15px; color:var(--ink); background:var(--paper); }
.au-fld input:focus{ outline:2px solid var(--command); outline-offset:1px; }
.au-fld .hint{ font-size:11.5px; color:var(--carbon); margin-top:5px; }
.au-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.au-intent{ display:flex; gap:8px; }
.au-intent .xchip{ flex:1; text-align:center; font-family:var(--f-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase;
  padding:10px 8px; border:1px solid var(--line-input); border-radius:var(--pill); color:var(--carbon); background:var(--paper); cursor:pointer; transition:var(--t); }
.au-intent .xchip.is-active{ background:var(--ocean-900); border-color:var(--ocean-900); color:var(--lime); }
.au-check{ display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:var(--carbon); line-height:1.5; margin:14px 0; }
.au-check input{ margin-top:2px; accent-color:var(--command); width:15px; height:15px; flex:none; }
.au-cta{ margin-bottom:14px; }
.au-div{ display:flex; align-items:center; gap:12px; font-family:var(--f-mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--carbon); margin-bottom:14px; }
.au-div::before,.au-div::after{ content:""; flex:1; height:1px; background:var(--line); }
.au-social{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:16px; }
.au-social button{ display:flex; align-items:center; justify-content:center; gap:8px; padding:11px 10px; border:1px solid var(--line-input);
  border-radius:var(--r-sm); font-family:var(--f-body); font-weight:700; font-size:13.5px; color:var(--ink); background:var(--paper); transition:var(--t); }
.au-social button:hover{ border-color:var(--ink); }
.au-social svg{ width:17px; height:17px; }
.au-legal{ font-size:11.5px; color:var(--carbon); line-height:1.6; text-align:center; }
.au-legal a{ color:var(--command); text-decoration:underline; text-underline-offset:2px; }
.au-verify{ display:flex; gap:9px; align-items:flex-start; background:var(--bone); border-radius:var(--r-sm); padding:11px 12px; margin-top:14px;
  font-size:12px; color:var(--carbon); line-height:1.55; }
.au-verify svg{ width:16px; height:16px; color:var(--command); flex:none; margin-top:1px; }
.au-verify b{ color:var(--ink); }

/* seller onboarding strip */
.au-sell{ padding-block:44px; }
.blocknum{ font-family:var(--f-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--command); }
.au-sell h2{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:24px; line-height:.95; color:var(--ink); margin:8px 0 10px; }
.au-sell h2 .hl{ color:var(--command); }
.au-sell__lead{ font-size:14px; line-height:1.65; color:var(--carbon); max-width:64ch; margin-bottom:20px; }
.au-sell__grid{ display:grid; grid-template-columns:1fr; gap:12px; }
@media (min-width:768px){ .au-sell__grid{ grid-template-columns:repeat(3,1fr); } }
.au-step{ border:1px solid var(--line); border-radius:var(--r); padding:18px 16px; background:var(--paper); }
.au-step__num{ font-family:var(--f-head); font-weight:900; font-size:30px; line-height:1; color:transparent; -webkit-text-stroke:1.2px var(--command); margin-bottom:9px; }
.au-step h3{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:14.5px; color:var(--ink); margin-bottom:7px; }
.au-step p{ font-size:12.5px; line-height:1.6; color:var(--carbon); }
.au-step p b{ color:var(--ink); }
.au-stripe{ margin-top:16px; font-family:var(--f-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--carbon);
  display:inline-flex; align-items:center; gap:7px; }
.au-stripe svg{ width:14px; height:14px; color:var(--command); }
/* KYC verification mock (Stripe-Identity-style) */
.kyc{ margin-top:22px; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-sm); overflow:hidden; }
.kyc__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 18px; background:var(--ocean-900); color:#fff; }
.kyc__title{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; }
.kyc__status{ font-family:var(--f-mono); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; background:var(--lime); color:var(--on-lime); padding:4px 9px; border-radius:var(--pill); }
.kyc__body{ padding:18px; display:grid; grid-template-columns:1fr; gap:12px; }
@media (min-width:860px){ .kyc__body{ grid-template-columns:1.1fr 1fr 1fr; } }
.kyc__panel{ border:1px solid var(--line); border-radius:var(--r-sm); padding:14px; }
.kyc__lbl{ font-family:var(--f-mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--carbon); margin-bottom:10px; display:flex; align-items:center; gap:7px; }
.kyc__lbl .n{ width:17px; height:17px; border-radius:50%; background:var(--command); color:#fff; display:grid; place-items:center; font-size:9px; flex:none; }
.kyc__rows{ display:flex; flex-direction:column; gap:8px; }
.kyc__row{ display:flex; justify-content:space-between; gap:10px; font-size:12.5px; color:var(--carbon); }
.kyc__row b{ color:var(--ink); font-family:var(--f-mono); font-size:11.5px; font-weight:500; }
.kyc__doc{ position:relative; border:1.5px solid var(--command); border-radius:var(--r-sm); aspect-ratio:8/5; background:linear-gradient(150deg,#26282c,#101214); display:grid; place-items:center; margin-bottom:8px; }
.kyc__doc span{ font-family:var(--f-mono); font-size:8.5px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.kyc__check{ position:absolute; top:7px; right:7px; width:19px; height:19px; border-radius:50%; background:var(--lime); color:var(--on-lime); display:grid; place-items:center; }
.kyc__check svg{ width:11px; height:11px; }
.kyc__hintline{ font-size:11px; color:var(--carbon); line-height:1.5; }
.kyc__foot{ padding:0 18px 16px; font-size:12px; color:var(--carbon); line-height:1.6; display:flex; gap:8px; align-items:flex-start; }
.kyc__foot svg{ width:15px; height:15px; color:var(--command); flex:none; margin-top:1px; }
.kyc__foot b{ color:var(--ink); }

/* ==== utilities (extracted from inline style attributes) ==== */
.u0cd3709{ align-self:center !important; color:#CE202F !important; font-weight:800 !important; font-size:18px !important; flex:none !important; }
.u2172334{ font-family:var(--f-mono) !important; font-size:7px !important; letter-spacing:.08em !important; color:#CE202F !important; writing-mode:vertical-rl !important; text-transform:uppercase !important; }
.u2661455{ font-size:11px !important; line-height:1.5 !important; color:#5F6368 !important; margin-top:4px !important; }
.u30af169{ font-family:var(--f-mono) !important; font-size:8.5px !important; letter-spacing:.05em !important; text-transform:uppercase !important; color:#5F6368 !important; margin-top:8px !important; }
.u576d1f1{ color:#15803d !important; }
.u825f047{ font-family:var(--f-mono) !important; font-size:9px !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:#CE202F !important; margin-bottom:9px !important; }
.u82e88f3{ margin-top:18px !important; }
.u8de3ef0{ width:3px !important; flex:1 !important; background:repeating-linear-gradient(180deg,#CE202F 0 6px,transparent 6px 11px) !important; border-radius:2px !important; }
.ua68b148{ align-self:stretch !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:3px !important; flex:none !important; padding:0 2px !important; }
.ub998cda{ display:grid !important; place-items:center !important; width:44px !important; height:44px !important; margin:0 auto 8px !important; border-radius:50% !important; background:#F4F4F5 !important; color:#CE202F !important; }
.uc4228fd{ display:flex !important; gap:10px !important; flex-wrap:wrap !important; align-items:stretch !important; }
.ud36ddd1{ display:block !important; font-family:var(--f-head) !important; font-weight:800 !important; text-transform:uppercase !important; font-size:13px !important; color:#141619 !important; line-height:1.1 !important; }
.ue041fff{ flex:1 !important; min-width:170px !important; background:#fff !important; border:1px solid #DEDFE2 !important; border-radius:12px !important; padding:15px 14px !important; text-align:center !important; }

/* ===== v2 dial-in (2026-07-27): guided join flow — account is step 1, KYC flows as step 3 ===== */
.joinflow{ display:flex; align-items:stretch; gap:10px; max-width:1020px; margin:0 auto 22px; }
.joinflow__step{ flex:1; display:flex; gap:11px; align-items:center; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:12px 14px; color:inherit; text-decoration:none; }
.joinflow__step .n{ width:26px; height:26px; border-radius:50%; background:var(--bone); color:var(--carbon); display:grid; place-items:center; font-family:var(--f-mono); font-size:12px; flex:none; }
.joinflow__step.is-active{ border-color:var(--command); box-shadow:inset 0 0 0 1px var(--command); }
.joinflow__step.is-active .n{ background:var(--command); color:#fff; }
.joinflow__step b{ display:block; font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:12.5px; color:var(--ink); line-height:1.15; }
.joinflow__step .s{ display:block; font-size:11px; color:var(--carbon); line-height:1.35; margin-top:2px; }
.joinflow__arrow{ align-self:center; color:var(--command); font-weight:800; font-size:16px; flex:none; }
a.joinflow__step:hover{ border-color:var(--command); }
@media (max-width:700px){
  .joinflow{ gap:6px; margin-bottom:16px; }
  .joinflow__step{ flex-direction:column; text-align:center; gap:6px; padding:10px 6px; }
  .joinflow__step .s, .joinflow__arrow{ display:none; }
  .joinflow__step b{ font-size:9.5px; }
}
/* phones see the form first — the pitch scrolls under it */
@media (max-width:959px){ .au-card{ order:-1; } }
.au-stepbadge{ display:inline-block; font-family:var(--f-mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--command); border:1px solid var(--command); border-radius:var(--pill); padding:4px 11px; margin-bottom:14px; }
.au-next{ font-size:11.5px; color:var(--carbon); line-height:1.5; text-align:center; margin:0 0 12px; }
.au-next b{ color:var(--ink); }
.au-next a{ color:var(--command); text-decoration:underline; text-underline-offset:2px; }
.au-social button{ min-height:46px; }
/* seller section = step 3, visually connected */
.au-sell{ border-top:1px solid var(--line); position:relative; overflow:hidden; }
.au-sell__ghost{ position:absolute; right:-2%; top:-8%; font-family:var(--f-head); font-weight:900; font-size:150px; line-height:1; color:transparent; -webkit-text-stroke:1.5px rgba(206,32,47,.09); pointer-events:none; user-select:none; }
.stepchip{ position:relative; z-index:2; display:inline-flex; align-items:center; gap:9px; background:var(--command); color:#fff; border-radius:var(--pill); font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; padding:5px 14px 5px 6px; margin-bottom:12px; }
.stepchip .n{ width:20px; height:20px; border-radius:50%; background:#fff; color:var(--command); display:grid; place-items:center; font-size:10.5px; font-weight:700; }
/* license flow tiles — first-class (was the buried inline strip) */
.kflow{ margin:4px 0 24px; position:relative; z-index:2; }
.kflow__kicker{ font-family:var(--f-mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--command); margin-bottom:9px; }
.kflow__row{ display:flex; gap:10px; flex-wrap:wrap; align-items:stretch; }
.kflow__tile{ flex:1; min-width:170px; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:15px 14px; text-align:center; }
.kflow__ico{ display:grid; place-items:center; width:44px; height:44px; margin:0 auto 8px; border-radius:50%; background:var(--bone); color:var(--command); }
.kflow__tile b{ display:block; font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:13px; color:var(--ink); line-height:1.1; }
.kflow__tile p{ font-size:11px; line-height:1.5; color:var(--carbon); margin-top:4px; }
.kflow__tile .ok{ color:#15803d; }
.kflow__arrow{ align-self:center; color:var(--command); font-weight:800; font-size:18px; flex:none; }
.kflow__eei{ align-self:stretch; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; flex:none; padding:0 2px; }
.kflow__eei i{ width:3px; flex:1; background:repeating-linear-gradient(180deg,var(--command) 0 6px,transparent 6px 11px); border-radius:2px; }
.kflow__eei span{ font-family:var(--f-mono); font-size:7px; letter-spacing:.08em; color:var(--command); writing-mode:vertical-rl; text-transform:uppercase; }
.kflow__foot{ font-family:var(--f-mono); font-size:8.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--carbon); margin-top:8px; }
.kyc__intro{ font-family:var(--f-mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--carbon); margin:20px 0 9px; position:relative; z-index:2; }

/* ===== v3 (2026-07-27): stateful auth + vertical trust stepper ===== */
.joinflow__step.is-done{ border-color:#15803d; }
.joinflow__step.is-done .n{ background:#15803d; color:#fff; }
.au-err{ background:rgba(206,32,47,.08); border:1px solid var(--command); color:var(--command); border-radius:var(--r-sm); font-size:12.5px; line-height:1.5; padding:9px 11px; margin-bottom:12px; }
.au-demo{ font-family:var(--f-mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase; color:var(--carbon); background:var(--bone); border-radius:var(--r-sm); padding:8px 10px; margin-top:12px; text-align:center; line-height:1.7; }
.au-demo b{ color:var(--ink); }
.au-big{ text-align:center; padding:8px 0 2px; }
.au-big .ico{ width:54px; height:54px; border-radius:50%; background:var(--bone); color:var(--command); display:grid; place-items:center; margin:0 auto 12px; }
.au-big .ico svg{ width:26px; height:26px; }
.au-big .ico--ok{ background:rgba(21,128,61,.1); color:#15803d; }
.au-big h3{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:19px; color:var(--ink); margin:8px 0 7px; }
.au-big p{ font-size:13px; line-height:1.6; color:var(--carbon); max-width:40ch; margin:0 auto 14px; }
.au-big p b{ color:var(--ink); }
.au-inrow{ display:flex; flex-direction:column; gap:8px; }
.au-inrow .btn{ text-align:center; }
.au-out{ font-size:11.5px; text-align:center; margin-top:12px; }
.au-out a{ color:var(--carbon); text-decoration:underline; text-underline-offset:2px; }
/* vertical trust stepper — step 3 as a guided walk */
.vstep{ max-width:880px; position:relative; z-index:2; margin-bottom:6px; }
.vstep__item{ display:grid; grid-template-columns:44px 1fr; gap:0 14px; }
.vstep__rail{ display:flex; flex-direction:column; align-items:center; }
.vstep__rail .n{ width:34px; height:34px; border-radius:50%; background:var(--command); color:#fff; display:grid; place-items:center; font-family:var(--f-head); font-weight:800; font-size:15px; flex:none; }
.vstep__rail .n.ok{ background:#15803d; }
.vstep__rail .line{ width:2px; flex:1; background:repeating-linear-gradient(180deg, var(--line-input) 0 6px, transparent 6px 11px); margin:6px 0; min-height:16px; }
.vstep__card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:16px; margin-bottom:14px; }
.vstep__head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:6px; }
.vstep__head h3{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:15px; color:var(--ink); }
.vstep__time{ font-family:var(--f-mono); font-size:8.5px; letter-spacing:.08em; text-transform:uppercase; background:var(--bone); color:var(--carbon); border-radius:var(--pill); padding:3px 9px; }
.vstep__card > p{ font-size:12.5px; line-height:1.6; color:var(--carbon); }
.vstep__card p b{ color:var(--ink); }
.vstep__card .kflow__row{ margin-top:12px; }
.vstep__card .kflow__tile{ min-width:150px; }
.vstep__trust{ display:flex; gap:8px; align-items:flex-start; margin-top:12px; padding-top:11px; border-top:1px dashed var(--line); font-size:11.5px; line-height:1.55; color:var(--carbon); }
.vstep__trust svg{ width:15px; height:15px; color:#15803d; flex:none; margin-top:1px; }
.vstep__trust b{ color:var(--ink); }
.au-big .ok{ color:#15803d; }

/* ===== v4 (2026-07-27): KYC micro-wizard — the forced step before listing ===== */
.kycw{ border:1.5px solid var(--line); border-radius:var(--r); padding:14px 14px 16px; }
.kycw__frame{ display:flex; align-items:center; gap:7px; font-family:var(--f-mono); font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--carbon); background:var(--bone); border-radius:var(--pill); padding:6px 11px; margin-bottom:12px; line-height:1.4; }
.kycw__frame svg{ width:12px; height:12px; color:#15803d; flex:none; }
.kycw__dots{ display:flex; gap:6px; justify-content:center; margin-bottom:14px; }
.kycw__dots i{ width:26px; height:4px; border-radius:2px; background:var(--line); }
.kycw__dots i.on{ background:var(--command); }
.kycw__h{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:17px; color:var(--ink); margin-bottom:12px; text-align:center; }
.kycw__caps{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:4px; }
.kycw__cap{ position:relative; border:1.5px dashed var(--line-input); border-radius:var(--r); background:var(--paper); padding:18px 10px 14px; display:flex; flex-direction:column; align-items:center; gap:7px; cursor:pointer; transition:var(--t); min-height:118px; }
.kycw__cap svg{ width:30px; height:30px; color:var(--command); }
.kycw__cap b{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:12px; color:var(--ink); }
.kycw__cap span{ font-family:var(--f-mono); font-size:8.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--carbon); }
.kycw__cap:hover{ border-color:var(--command); }
.kycw__cap.is-done{ border:1.5px solid #15803d; background:rgba(21,128,61,.05); }
.kycw__cap.is-done span{ color:#15803d; }
.kycw__why{ font-size:11px; line-height:1.5; color:var(--carbon); text-align:center; margin-top:10px; }
.kycw__checks{ display:flex; flex-direction:column; gap:11px; padding:4px 2px 8px; }
.kycw__chk{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--carbon); }
.kycw__chk i{ width:22px; height:22px; border-radius:50%; border:2px solid var(--line-input); flex:none; display:grid; place-items:center; color:#fff; font-style:normal; font-size:12px; }
.kycw__chk.on{ color:var(--ink); }
.kycw__chk.on i{ background:#15803d; border-color:#15803d; }
.kycw__chk.on i::before{ content:"\2713"; }
.kycw .btn:disabled{ opacity:.45; cursor:not-allowed; }
.au-tabs[hidden]{ display:none; }

/* ===== Stripe Identity surface (rendered by js/ee-identity.js) — deliberately NOT EE-branded:
   the visual handoff to Stripe's chrome IS the trust story ===== */
.stid{ position:fixed; inset:0; z-index:1200; display:grid; place-items:center; }
@media (min-width:640px){ .stid{ padding:24px; } }
.stid__back{ position:absolute; inset:0; background:rgba(10,18,32,.55); }
.stid__win{ position:relative; width:100%; height:100%; background:#fff; display:flex; flex-direction:column;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; }
@media (min-width:640px){ .stid__win{ width:400px; height:auto; min-height:540px; max-height:92vh; border-radius:12px; box-shadow:0 30px 70px rgba(0,0,0,.4); } }
.stid__head{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px 6px; }
.stid__biz{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:#0a2540; }
.stid__biz img{ width:22px; height:22px; border-radius:50%; }
.stid__x{ border:none; background:none; font-size:22px; line-height:1; color:#697386; cursor:pointer; padding:4px 8px; }
.stid__body{ flex:1; overflow-y:auto; padding:6px 24px 18px; }
.stid__s--center{ text-align:center; padding-top:34px; }
.stid__h{ font-size:18px; font-weight:700; color:#0a2540; line-height:1.35; margin:10px 0 14px; }
.stid__p{ font-size:13.5px; color:#425466; line-height:1.55; margin-bottom:14px; }
.stid__p b{ color:#0a2540; }
.stid__row{ display:flex; gap:11px; align-items:flex-start; font-size:13px; color:#425466; line-height:1.5; margin-bottom:13px; }
.stid__row svg{ width:19px; height:19px; color:#635BFF; flex:none; margin-top:1px; }
.stid__row a{ color:#635BFF; text-decoration:none; }
.stid__btn{ display:block; width:100%; background:#635BFF; color:#fff; border:none; border-radius:6px; padding:12px; font-size:14.5px; font-weight:600; cursor:pointer; text-align:center; margin-top:8px; font-family:inherit; }
.stid__btn:hover{ background:#5851df; }
.stid__ghostbtn{ display:block; width:100%; background:none; border:none; color:#635BFF; font-size:13.5px; font-weight:600; padding:12px; cursor:pointer; text-align:center; margin-top:2px; font-family:inherit; }
.stid__opts{ display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.stid__opt{ text-align:left; font-size:14px; color:#0a2540; background:#fff; border:1px solid #d5dbe1; border-radius:6px; padding:13px 14px; cursor:pointer; font-family:inherit; position:relative; }
.stid__opt.is-on{ border-color:#635BFF; box-shadow:0 0 0 1px #635BFF; }
.stid__opt.is-on::after{ content:"\2713"; position:absolute; right:14px; color:#635BFF; font-weight:700; }
.stid__cam{ position:relative; background:#0a2540; border-radius:8px; aspect-ratio:3/2; display:grid; place-items:center; overflow:hidden; margin-bottom:6px; }
.stid__frame{ width:78%; height:64%; border:2px dashed rgba(255,255,255,.55); border-radius:10px; display:grid; place-items:center; }
.stid__frame svg{ width:54px; height:54px; color:rgba(255,255,255,.5); }
.stid__cam--face{ aspect-ratio:1/1; }
@media (min-width:640px){ .stid__cam--face{ aspect-ratio:3/2.4; } }
.stid__oval{ width:52%; aspect-ratio:3/4; border:2.5px dashed rgba(255,255,255,.55); border-radius:50%; }
.stid__got{ position:absolute; inset:auto 10px 10px auto; background:#15803d; color:#fff; font-size:12px; font-weight:600; border-radius:20px; padding:6px 12px; }
.stid__cam.is-got{ outline:2.5px solid #15803d; outline-offset:-2.5px; }
.stid__spin{ width:38px; height:38px; border:3.5px solid #e6ebf1; border-top-color:#635BFF; border-radius:50%; margin:6px auto 16px; animation:stidspin .8s linear infinite; }
@keyframes stidspin{ to{ transform:rotate(360deg); } }
.stid__ok{ width:52px; height:52px; border-radius:50%; background:#15803d; color:#fff; font-size:26px; display:grid; place-items:center; margin:6px auto 16px; }
.stid__foot{ display:flex; align-items:center; justify-content:center; gap:14px; padding:12px; font-size:11.5px; color:#697386; border-top:1px solid #e6ebf1; }
.stid__foot svg{ width:11px; height:11px; }
.stid__foot b{ color:#425466; }
.stid__foot a{ color:#697386; text-decoration:none; }
.stid__lang{ color:#8792a2; }
body.stid-open{ overflow:hidden; }

/* EEI SSO surface — rides the stid frame with EEI-dark header */
.esso__head{ background:#141619; border-radius:12px 12px 0 0; padding-bottom:14px; }
.esso__head .stid__biz{ color:#fff; }
.esso__head .stid__x{ color:rgba(255,255,255,.7); }
@media (max-width:639px){ .esso__head{ border-radius:0; } }
.esso__btn{ background:#CE202F; }
.esso__btn:hover{ background:#B01C29; }
.esso__ghost{ color:#CE202F; }
.esso .eeam__lbl{ margin-top:10px; }
.esso .au-div{ margin:12px 0; }
.esso__social{ margin-bottom:4px; }
.esso__mail{ background:#141619; font-size:22px; }
/* one-action signed-out card */
.au-sso{ text-align:center; padding:6px 0 2px; }
.au-sso .ico{ width:54px; height:54px; border-radius:50%; background:var(--bone); display:grid; place-items:center; margin:0 auto 12px; }
.au-sso .ico img{ width:30px; height:30px; }
.au-sso h3{ font-family:var(--f-head); font-weight:800; text-transform:uppercase; font-size:19px; color:var(--ink); margin-bottom:7px; }
.au-sso p{ font-size:13.5px; line-height:1.6; color:var(--carbon); max-width:42ch; margin:0 auto 14px; }
.au-sso p b{ color:var(--ink); }
.au-sso .au-intent{ margin-bottom:14px; }

/* demo state controls — board-demo convenience, delete before production */
.demobar{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; max-width:1020px; margin:0 auto 16px; border:1.5px dashed var(--line-input); border-radius:var(--r); padding:9px 12px; background:var(--paper); }
.demobar__lbl{ font-family:var(--f-mono); font-size:8.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--carbon); margin-right:4px; }
.demobar__b{ font-family:var(--f-mono); font-size:9px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); background:var(--bone); border:1px solid var(--line-input); border-radius:var(--pill); padding:7px 12px; cursor:pointer; transition:var(--t); }
.demobar__b:hover{ border-color:var(--command); color:var(--command); }
.demobar__b--go{ background:#635BFF; border-color:#635BFF; color:#fff; }
.demobar__b--go:hover{ background:#5851df; color:#fff; }
