:root { --forest:#202923; --green:#294c3d; --peach:#f2c8a9; --ink:#25362c; --muted:#607066; --line:#dbe2da; --paper:#f6f7f3; --max:1160px; color:var(--ink); font-family:Inter,"Segoe UI",Arial,sans-serif; background:var(--paper); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
.hero-actions { display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px; }
.hero-simulate { display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#f2c8a9;font-size:14px;font-weight:650;text-underline-offset:4px; }
body { margin:0; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:4px; }
a,button,input { -webkit-tap-highlight-color:transparent; }
a:focus-visible,input:focus-visible { outline:3px solid #b66f39; outline-offset:4px; }
[hidden] { display:none !important; }
.skip-link { position:fixed; top:8px; left:8px; z-index:20; padding:12px 16px; border-radius:6px; color:var(--forest); background:#fff; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.site-header { background:#fff; border-bottom:1px solid var(--line); }
.header-inner,.hero-inner,.section,.footer-inner { width:min(var(--max),calc(100% - 48px)); margin-inline:auto; }
.header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand img { width:48px; height:48px; object-fit:contain; }
.brand strong { display:block; font-size:16px; line-height:1.2; }
.brand small { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.header-inner nav { display:flex; align-items:center; gap:24px; }
.header-inner nav a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; font-weight:650; text-decoration:none; }
.header-inner .catalog-link { gap:10px; padding-inline:16px; border:1px solid var(--line); border-radius:6px; }
.hero { color:#f7f7f0; background:var(--forest); }
.hero-inner { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr); align-items:center; gap:70px; padding-block:62px; }
.eyebrow { margin:0 0 14px; color:#8c643f; font-size:12px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; line-height:1.4; }
.hero .eyebrow { color:#d9c3ae; }
h1,h2,h3,p { overflow-wrap:break-word; }
h1 { max-width:620px; margin:0; font-size:clamp(38px,4.2vw,54px); font-weight:650; letter-spacing:-.045em; line-height:1.08; }
h1 span { color:var(--peach); }
.hero-description { max-width:540px; margin:22px 0 0; color:#d0d9d1; font-size:17px; line-height:1.65; }
.preliminary { max-width:550px; margin:22px 0; padding:15px 17px; border:1px solid #f2c8a944; border-radius:7px; background:#ffffff06; color:#e2e7df; font-size:14px; line-height:1.6; }
.preliminary strong { color:var(--peach); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:50px; padding:13px 20px; border:1px solid transparent; border-radius:6px; font-size:14px; font-weight:750; text-align:center; line-height:1.45; text-decoration:none; transition:background .15s; }
.button-primary { color:#263128; border-color:var(--peach); background:var(--peach); }
.button-primary:hover { background:#ffdbc0; }
.button-outline { color:var(--green); border-color:#8b9f91; background:#fff; }
.button-outline:hover { background:#e9eee7; }
.hero-help { max-width:490px; margin:12px 0 0; color:#bfcbbf; font-size:12px; line-height:1.6; }
.program-overview { padding:28px; border:1px solid #e9efe02b; border-radius:12px; background:#2b382e; }
.overview-label { margin:0 0 24px; color:#c8d4c6; font-size:13px; font-weight:650; }
.overview-rate strong { color:var(--peach); font-size:52px; font-weight:650; letter-spacing:-.05em; line-height:1.1; }
.overview-rate strong span { color:#d5e0d1; font-size:20px; font-weight:500; letter-spacing:0; }
.overview-rate p { max-width:240px; margin:12px 0 0; color:#d0d9cc; font-size:14px; line-height:1.6; }
.overview-bonus { display:grid; gap:8px; margin-top:24px; padding-top:22px; border-top:1px solid #dde7d825; }
.overview-bonus > span { color:#c3cfc0; font-size:13px; }
.overview-bonus strong { font-size:28px; font-weight:650; letter-spacing:-.035em; }
.overview-bonus small,.overview-note { color:#bdcbb9; font-size:12px; line-height:1.65; }
.overview-note { margin:22px 0 0; }
.section { margin-block:58px; }
h2 { margin:0; font-size:clamp(28px,3vw,36px); font-weight:650; line-height:1.15; letter-spacing:-.035em; }
h3 { margin:0; font-size:20px; font-weight:650; line-height:1.3; letter-spacing:-.025em; }
.section-heading { max-width:710px; margin-bottom:28px; }
.section-heading > p:last-child,.audience > p,.bonus-grid > div > p:last-child,.contact-section p:last-child { color:var(--muted); font-size:16px; line-height:1.7; }
.section-heading > p:last-child { margin:15px 0 0; }
.audience { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:64px; padding-bottom:38px; border-bottom:1px solid var(--line); }
.audience h2 { max-width:390px; font-size:30px; }
.audience > p { margin:0; }
.steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none; }
.steps li { padding:24px; border:1px solid var(--line); border-radius:9px; background:#fff; }
.step-number { display:inline-block; margin-bottom:20px; color:#8c643f; font-size:14px; font-weight:750; }
.steps p { margin:13px 0 0; color:var(--muted); font-size:14px; line-height:1.7; }
.steps strong { color:#3f5345; font-weight:650; }
.registration-note { margin:24px 0; padding-left:16px; border-left:3px solid #b5c6b5; }
.registration-note p { max-width:850px; margin:0 0 8px; color:var(--muted); font-size:14px; line-height:1.65; }
.text-link { display:inline-flex; align-items:center; min-height:40px; gap:10px; color:var(--green); font-size:14px; font-weight:650; }
.small-note { margin:12px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.rules-section { padding-block:1px; background:#eaf0e6; border-block:1px solid #dce5d7; }
.commission-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.commission-card { padding:26px 28px; border:1px solid #d5dfcf; border-radius:9px; background:#fff; }
.card-heading { display:flex; align-items:center; gap:20px; margin-bottom:16px; }
.rate { flex:none; color:var(--green); font-size:46px; font-weight:650; letter-spacing:-.04em; line-height:1; }
.commission-card ul { margin:0; padding-left:20px; color:var(--muted); font-size:15px; line-height:1.6; }
.commission-card li { padding-block:4px; }
.cement-note { display:flex; align-items:baseline; gap:20px; flex-wrap:wrap; margin-top:20px; padding:18px 22px; border:1px solid #d5dfcf; border-radius:7px; background:#f8faf6; }
.cement-note strong { font-size:16px; }
.cement-note p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.bonus-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:60px; margin-top:42px; }
.bonus-grid h3 { font-size:28px; }
.bonus-grid > div > p:last-child { margin:16px 0 0; font-size:15px; }
.bonus-table { width:100%; border-collapse:collapse; font-size:15px; text-align:left; }
.bonus-table caption { margin-bottom:12px; color:var(--muted); font-size:12px; text-align:left; line-height:1.5; }
.bonus-table th { padding:12px 14px; border-bottom:1px solid #cad8c5; color:#4f6354; font-size:13px; font-weight:650; }
.bonus-table td { padding:15px 14px; border-bottom:1px solid #d4dfce; }
.bonus-table td:last-child { color:var(--green); font-weight:750; }
.simulation-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:28px; align-items:start; }
.simulation-inputs { padding:28px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.simulation-inputs > p { margin:12px 0 24px; color:var(--muted); font-size:14px; line-height:1.65; }
.simulation-inputs > label { display:block; margin:18px 0 8px; font-size:14px; font-weight:650; }
.money-input { position:relative; }
.money-input > span:first-child { position:absolute; left:15px; top:15px; color:var(--muted); font-size:16px; pointer-events:none; }
.money-input input { width:100%; min-height:50px; padding:12px 14px 12px 46px; border:1px solid #b7c5b8; border-radius:6px; color:var(--ink); background:#fbfcf9; font:inherit; font-size:18px; }
.money-input input[aria-invalid="true"] { border-color:#a23626; }
.input-error { display:block; margin-top:8px; color:#a23626; font-size:13px; line-height:1.5; }
.simulation-inputs .simulation-local { margin:20px 0 0; color:#68766b; font-size:12px; }
.simulation-result { padding:28px; border-radius:10px; color:#edf3e8; background:var(--forest); }
.result-label { margin:0 0 22px; color:#c4d2bd; font-size:13px; font-weight:650; }
.simulation-result dl { margin:0; }
.simulation-result dl > div { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid #e3edda20; font-size:14px; line-height:1.4; }
.simulation-result dt { color:#c6d2c0; }
.simulation-result dd { flex:none; margin:0; font-weight:650; }
.bonus-status { margin:16px 0 0; color:#b8c9b1; font-size:12px; line-height:1.6; }
.result-total { display:grid; gap:8px; margin-top:22px; padding-top:22px; border-top:1px solid #e3edda40; }
.result-total span { color:#d8e2d2; font-size:14px; }
.result-total output { color:var(--peach); font-size:42px; font-weight:650; letter-spacing:-.04em; line-height:1.1; overflow-wrap:anywhere; }
.result-disclaimer { margin:18px 0 0; color:#c8d1c1; font-size:12px; line-height:1.65; }
.contact-section { display:flex; align-items:center; justify-content:space-between; gap:36px; padding:32px; border:1px solid #e7d4c2; border-radius:10px; background:#f8eee4; }
.contact-section > div { max-width:650px; }
.contact-section h2 { font-size:30px; }
.contact-section p:last-child { margin:12px 0 0; font-size:14px; }
.contact-section .button { flex:none; }
footer { color:#e2e8dd; background:var(--forest); }
.footer-inner { min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:24px; }
.footer-inner > span { font-size:15px; font-weight:650; }
.footer-inner small { display:block; margin-top:7px; color:#b6c5b0; font-size:12px; font-weight:400; }
.footer-inner nav { display:flex; flex-wrap:wrap; gap:22px; font-size:13px; }
.footer-inner nav a { display:inline-flex; align-items:center; min-height:44px; }
#como-funciona,#regras,#simulador { scroll-margin-top:24px; }
@media (max-width:880px) {
  .hero-inner { gap:32px; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); padding-block:42px; }
  h1 { font-size:40px; }
  .program-overview { padding:24px; }
  .overview-rate strong { font-size:44px; }
  .audience { gap:32px; }
  .steps { gap:14px; }
  .steps li { padding:20px; }
  .steps h3 { font-size:18px; }
  .bonus-grid { gap:30px; }
  .simulation-grid { grid-template-columns:1fr 1fr; gap:20px; }
  .simulation-inputs,.simulation-result { padding:22px; }
  .simulation-result dl > div { flex-wrap:wrap; gap:4px 12px; }
  .contact-section { align-items:flex-start; flex-direction:column; gap:22px; }
}
@media (max-width:680px) {
  .header-inner,.hero-inner,.section,.footer-inner { width:calc(100% - 32px); }
  .header-inner { min-height:68px; gap:12px; }
  .brand { gap:9px; }
  .brand img { width:40px; height:40px; }
  .brand strong { max-width:150px; font-size:14px; }
  .brand small { font-size:11px; }
  .header-inner nav { gap:0; }
  .header-inner nav a:not(.catalog-link) { display:none; }
  .header-inner .catalog-link { min-height:42px; padding-inline:10px; font-size:12px; }
  .hero-inner { grid-template-columns:1fr; gap:28px; padding-block:34px; }
  h1 { max-width:520px; font-size:38px; }
  .hero-description { margin-top:18px; font-size:16px; }
  .preliminary { margin-block:18px; font-size:14px; }
  .hero-copy .button { width:100%; }
  .program-overview { display:grid; grid-template-columns:1fr 1fr; gap:18px 22px; padding:22px; }
  .overview-label { grid-column:1/-1; margin:0; }
  .overview-rate strong { font-size:38px; }
  .overview-rate strong span { font-size:17px; }
  .overview-rate p { margin-top:8px; font-size:13px; }
  .overview-bonus { margin:0; padding:0; border:0; align-content:start; }
  .overview-bonus strong { font-size:26px; }
  .overview-note { grid-column:1/-1; margin:0; padding-top:15px; border-top:1px solid #dde7d825; }
  .section { margin-block:38px; }
  .audience { grid-template-columns:1fr; gap:16px; padding-bottom:28px; }
  .audience h2 { max-width:none; }
  .audience > p { font-size:15px; }
  .section-heading { margin-bottom:22px; }
  h2 { font-size:29px; }
  .section-heading > p:last-child { font-size:15px; }
  .steps,.commission-grid,.bonus-grid,.simulation-grid { grid-template-columns:1fr; }
  .steps { gap:12px; }
  .steps li { padding:20px; }
  .step-number { margin-bottom:12px; }
  .steps h3 { font-size:20px; }
  .registration-note { margin-block:20px; }
  .button-outline { width:100%; }
  .commission-grid { gap:14px; }
  .commission-card { padding:22px; }
  .rate { font-size:42px; }
  .cement-note { padding:18px; gap:8px; }
  .bonus-grid { margin-top:30px; gap:22px; }
  .bonus-table th,.bonus-table td { padding-inline:10px; }
  .bonus-table th { font-size:12px; }
  .bonus-table td { font-size:15px; }
  .simulation-result dl > div { flex-wrap:nowrap; }
  .result-total output { font-size:40px; }
  .contact-section { padding:24px; }
  .contact-section h2 { font-size:28px; }
  .contact-section .button { width:100%; }
  .footer-inner { align-items:flex-start; flex-direction:column; gap:18px; }
  .footer-inner nav { gap:10px 22px; }
}
@media (max-width:380px) {
  .header-inner,.hero-inner,.section,.footer-inner { width:calc(100% - 24px); }
  h1 { font-size:34px; }
  .program-overview { grid-template-columns:1fr; gap:16px; }
  .overview-label,.overview-note { grid-column:auto; }
  .overview-bonus { padding-top:16px; border-top:1px solid #dde7d825; }
  .simulation-result dl > div { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

/* A parceria começa com as pessoas e com uma conversa. */
.hero-inner { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; padding-block:48px; }
.hero-program { margin:0 0 18px; color:var(--peach); font-size:18px; font-weight:650; letter-spacing:.01em; }
.hero h1 { max-width:13ch; font-size:clamp(42px,4.2vw,56px); line-height:1.07; }
.hero-description { max-width:430px; margin:20px 0 0; font-size:16px; line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:24px; }
.hero-actions .button { min-height:50px; }
.hero-simulate { display:inline-flex; align-items:center; min-height:44px; color:#e5eadb; font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.hero-help { margin:16px 0 0; color:#d6d4c2; font-size:13px; line-height:1.55; }
.partner-visual { overflow:hidden; border-radius:12px; background:#f6f1e7; box-shadow:0 16px 32px #101d1630; }
.partner-photo { position:relative; margin:0; }
.partner-photo picture { display:block; }
.partner-photo img { display:block; width:100%; height:clamp(300px,29vw,380px); object-fit:cover; object-position:center 44%; }
.partner-photo figcaption { position:absolute; bottom:12px; right:12px; padding:5px 9px; border:1px solid #ffffff90; border-radius:4px; color:#38463c; background:#fffffff0; font-size:10px; }
.partner-story { padding:20px 24px; color:var(--ink); }
.partner-story > p { margin:0 0 15px; font-size:22px; line-height:1.3; letter-spacing:-.025em; }
.partner-story strong { font-weight:650; }
.partner-story ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; padding:15px 0 0; border-top:1px solid #d7ded1; list-style:none; }
.partner-story li { display:flex; align-items:center; gap:7px; color:#4d6351; font-size:13px; line-height:1.4; }
.partner-story li span { display:inline-flex; flex:none; align-items:center; justify-content:center; width:23px; height:23px; border-radius:50%; color:#294c3d; background:#dce6d7; font-size:11px; font-weight:650; }
.audience { display:block; }
.audience h2 { max-width:none; font-size:32px; }
.profession-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin:24px 0 0; padding:0; list-style:none; }
.profession-grid li { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:108px; padding:16px 10px; border:1px solid var(--line); border-radius:8px; color:#35513d; background:#fff; font-size:14px; font-weight:550; line-height:1.35; text-align:center; }
.profession-grid svg { display:block; flex:none; width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.audience > .audience-caption { margin:18px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.content-disclosure { margin-top:24px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.content-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:62px; padding:18px 22px; color:var(--green); font-size:16px; font-weight:650; line-height:1.45; cursor:pointer; list-style:none; }
.content-disclosure > summary::-webkit-details-marker { display:none; }
.content-disclosure > summary > span[aria-hidden] { flex:none; font-size:24px; line-height:1; transition:transform .2s; }
.content-disclosure[open] > summary { border-bottom:1px solid var(--line); }
.content-disclosure[open] > summary > span[aria-hidden] { transform:rotate(45deg); }
.content-disclosure > summary:focus-visible { outline:3px solid var(--peach); outline-offset:3px; }
.disclosure-content { padding:22px 24px; }
.registration-disclosure { margin-bottom:24px; }
.registration-disclosure .disclosure-content p { margin:0 0 14px; color:var(--muted); font-size:14px; line-height:1.75; }
.registration-disclosure .disclosure-content p:last-child { margin-bottom:0; }
.registration-disclosure .disclosure-content a { color:var(--green); text-underline-offset:3px; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.benefit-grid article { padding:24px; border:1px solid #d6e2d0; border-radius:10px; background:#ffffffbd; }
.benefit-grid article > span { display:block; color:#5c7058; font-size:13px; }
.benefit-grid article > strong { display:block; margin-top:12px; color:var(--green); font-size:28px; font-weight:650; line-height:1.2; letter-spacing:-.03em; }
.benefit-grid article:last-child > strong { font-size:24px; }
.benefit-grid article p { margin:14px 0 0; color:var(--muted); font-size:14px; line-height:1.6; }
.conditions-disclosure { margin-top:28px; background:#fcfdf9; }
.simulation-section { margin-block:36px; }
.simulation-disclosure { margin-top:0; }
.simulation-disclosure summary small { display:block; margin-top:5px; color:var(--muted); font-size:13px; font-weight:400; }
.simulation-intro { margin:0 0 22px; color:var(--muted); font-size:14px; line-height:1.65; }

@media (max-width:880px) {
  .hero-inner { gap:28px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
  .hero h1 { font-size:44px; }
  .partner-photo img { height:350px; }
  .partner-story { padding:18px; }
  .partner-story > p { font-size:20px; }
  .partner-story ol { gap:8px; }
  .partner-story li { flex-direction:column; align-items:flex-start; gap:5px; font-size:12px; }
  .profession-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .benefit-grid { gap:12px; }
  .benefit-grid article { padding:20px; }
  .benefit-grid article > strong { font-size:25px; }
  .benefit-grid article:last-child > strong { font-size:21px; }
}
@media (max-width:680px) {
  .hero-inner { grid-template-columns:1fr; gap:26px; padding-block:30px; }
  .hero-program { margin-bottom:14px; font-size:17px; }
  .hero h1 { max-width:13ch; font-size:42px; }
  .hero-description { margin-top:16px; font-size:15.5px; }
  .hero-actions { align-items:stretch; gap:10px; margin-top:22px; }
  .hero-actions .button { width:100%; }
  .hero-simulate { min-height:36px; }
  .hero-help { margin-top:10px; font-size:12.5px; }
  .partner-photo img { height:auto; aspect-ratio:4 / 3; }
  .partner-story { padding:18px; }
  .partner-story > p { font-size:20px; }
  .partner-story li { flex-direction:row; align-items:center; gap:6px; font-size:12px; }
  .partner-story li span { width:20px; height:20px; font-size:10px; }
  .audience { margin-top:34px; }
  .audience h2 { font-size:29px; }
  .profession-grid { gap:9px; margin-top:20px; }
  .profession-grid li { gap:10px; min-height:104px; padding:14px 7px; font-size:13px; }
  .audience > .audience-caption { font-size:13px; }
  .content-disclosure { margin-top:22px; }
  .content-disclosure > summary { min-height:60px; padding:16px; font-size:15px; }
  .disclosure-content { padding:18px; }
  .registration-disclosure { margin-bottom:22px; }
  .benefit-grid { grid-template-columns:1fr; }
  .benefit-grid article { padding:20px; }
  .benefit-grid article > strong { margin-top:9px; font-size:29px; }
  .benefit-grid article:last-child > strong { font-size:24px; }
  .benefit-grid article p { margin-top:10px; }
  .simulation-section { margin-block:30px; }
  .simulation-disclosure { margin-top:0; }
}
@media (max-width:380px) {
  .hero h1 { font-size:38px; }
  .profession-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partner-story { padding:16px; }
  .partner-story > p { font-size:19px; }
  .partner-story ol { gap:6px; }
  .partner-story li { font-size:11px; gap:5px; }
}

.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#cadastro { scroll-margin-top:24px; }
.partner-registration { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); align-items:start; gap:64px; }
.registration-intro { padding-top:12px; }
.registration-intro h2 { font-size:38px; }
.registration-intro > p:not(.eyebrow) { margin:20px 0 0; color:var(--muted); font-size:15px; line-height:1.75; }
.registration-guidance { margin-top:28px; padding:24px; border:1px solid #d9e3d3; border-radius:10px; background:#eaf0e5; }
.registration-symbol { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; margin-bottom:14px; border-radius:50%; color:var(--green); background:#d6e3ce; font-size:22px; }
.registration-guidance h3 { font-size:20px; }
.registration-guidance p { margin:12px 0 0; color:#60705c; font-size:14px; line-height:1.65; }
.registration-intro > .registration-conditions { padding-left:14px; border-left:2px solid #dcc0a9; font-size:13px !important; }
.registration-help { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:16px; color:var(--green); font-size:13px; font-weight:650; }
.partner-form { padding:30px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 8px 24px #20342706; }
.partner-form-heading { margin-bottom:24px; }
.partner-form-heading h3 { font-size:23px; }
.partner-form-heading p { margin:9px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.partner-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.registration-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.registration-field { min-width:0; }
.registration-field-wide { grid-column:1/-1; }
.registration-fields h4 { margin:8px 0 -2px; padding-top:20px; border-top:1px solid var(--line); color:var(--green); font-size:16px; font-weight:650; }
.registration-field label { display:block; margin-bottom:8px; color:#3e5142; font-size:13px; font-weight:650; }
.registration-field label span { color:var(--muted); font-weight:400; }
.registration-field input,.registration-field select { display:block; width:100%; min-height:48px; padding:11px 13px; border:1px solid #bfccbe; border-radius:6px; color:var(--ink); background:#fbfcf9; font:inherit; font-size:15px; line-height:1.5; }
.registration-field input::placeholder { color:#8b958a; opacity:1; font-size:14px; }
.registration-field select { padding-right:6px; }
.registration-field input:focus,.registration-field select:focus { border-color:var(--green); }
.registration-field input[aria-invalid="true"],.registration-field select[aria-invalid="true"] { border-color:#a23626; }
.registration-field input:disabled,.registration-field select:disabled { opacity:.75; background:#f0f3ed; }
.registration-error { display:block; margin-top:7px; color:#a23626; font-size:12px; line-height:1.5; }
.registration-consent { display:flex; align-items:flex-start; gap:11px; margin-top:26px; color:#61705d; font-size:12px; line-height:1.7; }
.registration-consent input { flex:none; width:19px; height:19px; margin:1px 0 0; accent-color:var(--green); }
.registration-consent a { color:var(--green); }
.registration-feedback { margin-top:22px; padding:15px 17px; border:1px solid #d9e3d4; border-radius:7px; color:#4c614c; background:#f3f7ee; }
.registration-feedback strong { display:block; font-size:14px; font-weight:650; }
.registration-feedback p { margin:7px 0 0; font-size:12px; line-height:1.65; overflow-wrap:anywhere; }
.registration-feedback[data-state="error"] { border-color:#e4c5ba; color:#8b392a; background:#fff6f1; }
.registration-feedback[data-state="pending"] { border-color:#decfb8; color:#766037; background:#fbf5e9; }
.registration-feedback[data-state="success"] { border-color:#b8d2b6; color:#31583a; background:#ecf5e7; }
.registration-feedback:focus { outline:2px solid var(--peach); outline-offset:3px; }
.registration-submit { width:100%; margin-top:20px; cursor:pointer; }
.registration-submit:disabled { cursor:default; opacity:.65; }
.registration-submit[aria-busy="true"] { cursor:wait; }
@media (max-width:880px) {
  .partner-registration { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:28px; }
  .registration-intro h2 { font-size:31px; }
  .partner-form { padding:24px; }
  .registration-guidance { padding:20px; }
}
@media (max-width:680px) {
  .partner-registration { grid-template-columns:1fr; gap:24px; }
  .registration-intro { padding-top:0; }
  .registration-intro h2 { font-size:30px; }
  .registration-intro h2 br { display:none; }
  .registration-intro > p:not(.eyebrow) { margin-top:14px; font-size:14px; }
  .registration-guidance { display:none; }
  .registration-intro > .registration-conditions { font-size:12px !important; }
  .registration-help { margin-top:10px; }
  .partner-form { padding:22px 18px; }
  .partner-form-heading { margin-bottom:22px; }
  .partner-form-heading h3 { font-size:22px; }
  .registration-fields { grid-template-columns:1fr; gap:17px; }
  .registration-field input,.registration-field select { min-height:50px; font-size:16px; }
  .registration-fields h4 { margin-top:3px; }
  .registration-consent { font-size:12px; }
}
