body:has(.marketplace-page) { margin:0; }
body:has(.marketplace-page) a { color:inherit; }
body:has(.marketplace-page) .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body:has(.marketplace-page) .landing-header a,body:has(.marketplace-page) .landing-footer a { text-decoration:none; }
.marketplace-page button { font-family:inherit; cursor:pointer; }
.marketplace-page a.landing-button { color:white; }
.marketplace-page a.landing-outline { color:var(--lp-ink); }
.marketplace-page a.landing-text-link,.marketplace-page .ea-consent a,.marketplace-page .ea-faq a { color:var(--lp-hover); }
/* Photo-led early access, using the existing Tangabid palette. */
.ea-hero { padding:80px 0; min-height:540px; display:flex; align-items:center; background-color:var(--lp-ink); background-image:linear-gradient(90deg,rgba(5,15,24,.94) 0%,rgba(5,15,24,.8) 34%,rgba(5,15,24,.25) 62%,rgba(5,15,24,.04) 100%),url("../images/marketplace%20hero.png"); background-size:cover; background-position:center 55%; color:white; }
.ea-hero-copy { max-width:600px; }
.marketplace-page h1 { font-size:clamp(34px,4vw,56px); line-height:1.08; font-weight:800; letter-spacing:-.035em; margin:0 0 24px; }
.marketplace-page h2 { font-size:28px; font-weight:700; line-height:1.2; margin:0 0 18px; }
.marketplace-page h3 { font-size:18px; font-weight:650; margin-bottom:12px; }
.ea-hero p { color:#edf3ee; font-size:18px; max-width:49ch; margin-bottom:24px; }
.marketplace-page .ea-hero h1 { font-size:clamp(34px,3.4vw,48px); }
.ea-hero .ea-small { max-width:none; }
.ea-hero h1 span { color:#8fea94; }
.ea-hero .landing-eyebrow { display:flex; align-items:center; gap:16px; font-size:11px; letter-spacing:.2em; color:#edf3ee; }
.ea-hero .landing-eyebrow::before { content:""; width:28px; height:2px; background:#8fea94; flex-shrink:0; }
.ea-hero .landing-actions { margin:28px 0 18px; gap:20px; }
.ea-hero-channel { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.ea-hero-channel svg { width:18px; height:18px; }
.ea-hero :focus-visible { outline:3px solid #fff; outline-offset:5px; }
.ea-small { font-size:13px!important; margin-top:18px; }
.ea-benefits { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.ea-benefits article+article { border-left:1px solid var(--lp-line); padding-left:48px; }
.ea-benefits ul { list-style:disc; padding-left:20px; color:var(--lp-muted); }
.ea-benefits li { padding:5px 0; }
.ea-registration { background-color:#173c2e; background-image:linear-gradient(115deg,rgba(5,20,30,.86),rgba(11,65,37,.55)),url("../images/marketplace%20hero.png"); background-size:cover; background-position:center; scroll-margin-top:20px; }
.ea-form-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); gap:48px; align-items:start; }
.ea-form-intro { padding:32px; border:1px solid rgba(255,255,255,.35); border-radius:16px; background:rgba(8,27,25,.72); color:#fff; box-shadow:0 16px 48px #0002; }
.ea-form-intro p { color:#edf3ee; }
.ea-form-intro .landing-eyebrow { color:#a0efad; }
.ea-form-intro p+p { margin-top:20px; }
.ea-form { padding:32px; border:1px solid rgba(255,255,255,.75); background:rgba(248,253,249,.96); border-radius:16px; min-width:0; box-shadow:0 24px 64px #0003; }
@supports ((backdrop-filter:blur(16px)) or (-webkit-backdrop-filter:blur(16px))) {
  .ea-form,.ea-form-intro { -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
  .ea-form { background:rgba(248,253,249,.86); }
  .ea-form-intro { background:rgba(8,27,25,.52); }
}
.ea-form fieldset { margin:0 0 26px; padding:0 0 16px; border:0; border-bottom:1px solid var(--lp-line); min-width:0; }
.ea-form legend { font-size:17px; font-weight:700; margin-bottom:18px; }
.ea-field { margin-bottom:18px; min-width:0; }
.ea-field>label { display:block; font-size:14px; font-weight:650; margin-bottom:8px; }
.ea-field input,.ea-field select,.ea-field textarea,.ea-search { width:100%; min-width:0; border:1px solid #83978b; border-radius:3px; background:white; min-height:46px; padding:10px 12px; color:var(--lp-ink); font:inherit; font-size:16px; }
.ea-two { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.ea-help { font-size:13px!important; margin-bottom:8px!important; }
.ea-products { margin-bottom:18px; }
.ea-products [role=group] { max-height:230px; overflow:auto; border:1px solid var(--lp-line); padding:12px; border-radius:3px; }
.ea-products label { display:flex; align-items:center; min-height:44px; gap:10px; font-size:15px; }
.ea-products input[type=checkbox],.ea-checkbox input,.ea-consent input { width:20px; height:20px; accent-color:var(--lp-green); flex-shrink:0; }
.ea-search { margin-bottom:10px; }
.ea-search-label { display:block; font-size:13px; margin-bottom:6px; color:var(--lp-muted); }
.ea-checkbox { display:flex; align-items:center; gap:10px; margin-bottom:12px!important; font-size:15px!important; }
.ea-role-hint { margin-bottom:20px!important; }
.ea-optional { margin-bottom:24px; border-bottom:1px solid var(--lp-line); padding-bottom:12px; }
.ea-optional summary,.ea-faq summary { cursor:pointer; min-height:48px; font-weight:650; padding:12px 0; }
.ea-optional[open] summary { margin-bottom:16px; }
.ea-consent { margin:24px 0; }
.ea-consent>label { display:flex; align-items:flex-start; gap:12px; font-size:14px; }
.ea-consent a { display:inline-block; min-height:44px; padding:12px 0; font-size:13px; color:var(--lp-hover); text-decoration:underline; }
.ea-errors { background:#fff2ed; border:1px solid #a43116; padding:16px; margin-bottom:24px; }
.ea-errors p,.ea-form .errorlist { color:#94260e; font-size:14px; }
.ea-errors a { text-decoration:underline; }
.ea-field-error input,.ea-field-error select { border-color:#94260e; }
.ea-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.ea-channel { background:var(--lp-ink); color:white; padding:48px 0; }
.ea-channel p { color:#dce6e1; max-width:70ch; margin-bottom:24px; }
.ea-channel :focus-visible { outline-color:white; }
.ea-faq { max-width:1000px; }
.ea-faq details { border-top:1px solid var(--lp-line); padding:8px 0; }
.ea-faq details p { padding:4px 0 18px; }
.ea-faq a { text-decoration:underline; color:var(--lp-hover); }
.ea-privacy,.ea-confirmation { max-width:1000px; }
.ea-privacy h2 { margin-top:32px; }
.ea-privacy .landing-button { margin-top:32px; }
.ea-confirmation>.landing-button { margin-bottom:24px; }
.marketplace-page [hidden] { display:none!important; }
@media(max-width:900px) { .ea-form-layout { grid-template-columns:1fr; gap:28px; } .ea-hero { padding:40px 0; } }
@media(max-width:540px) { .ea-two,.ea-benefits { grid-template-columns:1fr; } .ea-form { padding:20px; } .ea-benefits article+article { border-left:0; border-top:1px solid var(--lp-line); padding:24px 0 0; } .ea-hero .landing-button { width:100%; } }
.ea-combobox { position:relative; }
.ea-combobox>.ea-search { margin-bottom:0; }
.ea-district-results { position:absolute; z-index:10; top:100%; left:0; right:0; max-height:240px; overflow-y:auto; background:#fff; border:1px solid #83978b; box-shadow:0 10px 24px #080d251a; border-radius:0 0 6px 6px; }
.ea-district-results [role=option] { min-height:44px; padding:10px 14px; cursor:pointer; }
.ea-district-results [role=option]:hover,.ea-district-results [aria-selected=true] { background:var(--lp-soft); color:var(--lp-hover); }
.ea-combobox>p { font-size:14px; padding-top:8px; }
.ea-progress { margin-bottom:24px; }
.ea-progress p { color:var(--lp-hover); font-size:14px; font-weight:650; margin-bottom:8px; }
.ea-progress progress { width:100%; height:6px; accent-color:var(--lp-green); border:0; }
.ea-progress progress::-webkit-progress-bar { background:var(--lp-soft); border-radius:4px; }
.ea-progress progress::-webkit-progress-value { background:var(--lp-green); border-radius:4px; }
.ea-step-controls { display:flex; gap:12px; margin-bottom:16px; }
.ea-step-controls [data-step-next] { margin-left:auto; }
.ea-role-hint { font-size:14px!important; }
.ea-products [role=group] { max-height:180px; }

@media(max-width:900px) {
  .ea-hero { min-height:520px; background-position:60% center; }
  .ea-hero-copy { max-width:560px; }
}
@media(max-width:540px) {
  .ea-hero { padding:52px 0 36px; background-position:64% center; background-image:linear-gradient(90deg,rgba(5,15,24,.9),rgba(5,15,24,.64)),url("../images/marketplace%20hero.png"); }
  .marketplace-page .ea-hero h1 { font-size:38px; }
  .ea-hero p { font-size:16px; }
  .ea-hero .landing-actions { align-items:stretch; gap:12px; }
  .ea-hero-channel { justify-content:center; }
  .ea-form-intro { padding:24px; }
}
@media(prefers-reduced-transparency:reduce) {
  .ea-form { background:#f8fdf9; }
  .ea-form-intro { background:#102e25; }
}

.ea-registration-page { min-height:calc(100svh - 76px); }
.ea-registration-back { display:inline-block; margin-bottom:24px; padding:10px 0; font-size:13px; text-underline-offset:4px; }
.ea-registration-back:focus-visible { outline:2px solid white; outline-offset:4px; }
/* Focused registration screen: one card, with the original brand above it. */
body:has(.ea-registration-page) { background:#102b22; }
.ea-registration-brand { position:absolute; z-index:2; top:28px; left:5%; right:5%; display:flex; align-items:center; justify-content:space-between; color:white; }
.ea-registration-brand>a { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:28px; font-weight:750; }
.ea-registration-brand .ea-overview-link { font-size:14px; min-height:44px; text-decoration:underline; text-underline-offset:5px; }
.ea-registration-page { min-height:100svh; padding:110px 0 64px; background-position:center; }
.ea-registration-page .ea-form-layout { display:flex; justify-content:flex-end; }
.ea-registration-page .ea-form { width:min(100%,780px); padding:40px; background:rgba(255,254,249,.94); border-radius:20px; box-shadow:0 24px 80px #001d2440; }
.ea-form-heading { margin-bottom:26px; }
.ea-form-heading .landing-eyebrow { color:#315841; font-size:12px; letter-spacing:.08em; margin-bottom:16px; }
.marketplace-page .ea-form-heading h1 { font-size:clamp(28px,3vw,42px); letter-spacing:-.035em; margin-bottom:14px; }
.ea-form-heading>p:last-child { font-size:18px; line-height:1.5; }
.ea-registration-page .ea-progress { display:flex; align-items:center; gap:20px; border-bottom:1px solid var(--lp-line); padding-bottom:24px; margin-bottom:28px; }
.ea-registration-page .ea-progress p { white-space:nowrap; margin:0; }
.ea-registration-page .ea-progress progress { flex:1; min-width:0; }
.ea-registration-page .ea-form legend { font-size:26px; letter-spacing:-.025em; margin-bottom:20px; }
.ea-registration-page .ea-two { gap:0 24px; }
.ea-registration-page .ea-field input,.ea-registration-page .ea-field select,.ea-registration-page .ea-field textarea { border-radius:7px; min-height:48px; }
.ea-registration-page .ea-help { margin-top:8px; }
.ea-role-field { margin-bottom:28px; }
.ea-role-field>p { font-size:14px; font-weight:650; color:var(--lp-ink); margin-bottom:10px; }
.ea-role-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ea-role-tiles label { position:relative; display:flex; align-items:center; gap:10px; padding:16px 12px; border:1px solid #aeb8be; border-radius:10px; min-height:64px; cursor:pointer; color:var(--lp-ink); font-size:14px; font-weight:600; }
.ea-role-tiles label:has(input:checked) { border-color:var(--lp-green); background:#e9f5eb; color:var(--lp-hover); box-shadow:inset 0 0 0 1px var(--lp-green); }
.ea-role-tiles label:has(input:focus-visible) { outline:3px solid var(--lp-green); outline-offset:3px; }
.ea-role-tiles input { order:3; margin:0 0 0 auto; width:20px; height:20px; flex-shrink:0; accent-color:var(--lp-green); }
.ea-role-tiles svg { width:24px; height:24px; flex-shrink:0; }
.ea-registration-page .landing-button { border-radius:9px; }
.ea-registration-page .ea-small { font-size:12px!important; line-height:1.5; color:var(--lp-muted); margin-bottom:0; }
@media(max-width:900px) { .ea-registration-page .ea-form-layout { justify-content:center; } }
@media(max-width:540px) {
 .ea-registration-brand { top:18px; }
 .ea-registration-brand>a { font-size:24px; }
 .ea-registration-page { padding:88px 0 28px; }
 .ea-registration-page .ea-form { padding:24px 20px; border-radius:16px; }
 .ea-form-heading>p:last-child { font-size:16px; }
 .ea-role-tiles { grid-template-columns:1fr; gap:8px; }
 .ea-role-tiles label { min-height:52px; padding:12px 14px; }
 .ea-registration-page .ea-form legend { font-size:23px; }
}
@media(prefers-reduced-transparency:reduce) { .ea-registration-page .ea-form { background:#fffef9; } }
.ea-modal-open { overflow:hidden; }
.ea-success-modal { position:fixed; inset:0; margin:auto; width:calc(100% - 32px); max-width:500px; max-height:calc(100svh - 32px); overflow:auto; padding:36px 32px 28px; border:1px solid #d8dfd5; border-radius:18px; background:#fffdf6; color:var(--lp-ink); text-align:center; box-shadow:0 24px 80px #00171040; }
.ea-success-modal::backdrop { background:rgba(3,17,14,.65); backdrop-filter:blur(5px); }
.ea-modal-close { position:absolute; top:10px; right:10px; width:44px; height:44px; border:0; background:transparent; color:#4c5953; font-size:28px; }
.ea-success-check { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 20px; border-radius:50%; background:#e4f4e7; color:var(--lp-green); }
.ea-success-check svg { width:30px; height:30px; }
.ea-success-modal .ea-modal-eyebrow { color:#315841; font-size:11px; font-weight:700; letter-spacing:.12em; margin:0 0 12px; }
.marketplace-page .ea-success-modal h2 { font-size:26px; line-height:1.25; letter-spacing:-.025em; margin:0 0 16px; }
.ea-success-modal #ea-success-description { font-size:16px; line-height:1.55; color:var(--lp-muted); margin:0 0 24px; }
.ea-success-modal .landing-button { width:100%; border-radius:8px; justify-content:center; }
.ea-modal-later { display:block; width:100%; min-height:44px; margin:8px 0 12px; border:0; background:transparent; color:#244b37; font-size:15px; font-weight:600; }
.ea-success-modal .ea-modal-note { font-size:12px; color:#58655e; margin:0; }
.ea-success-modal :focus-visible { outline:3px solid #008a28; outline-offset:3px; }
@media(max-width:540px) { .ea-success-modal { padding:32px 24px 24px; } .marketplace-page .ea-success-modal h2 { font-size:23px; } }
.ea-form-language { display:flex; justify-content:flex-end; gap:6px; margin-bottom:20px; }
.ea-form-language button { min-height:44px; padding:8px 12px; border:1px solid #bccbc0; border-radius:6px; background:transparent; color:#234732; font-size:14px; }
.ea-form-language button[aria-pressed=true] { background:#e3f3e6; border-color:var(--lp-green); font-weight:700; }
.ea-form-language button:focus-visible { outline:3px solid var(--lp-green); outline-offset:3px; }
