  /* ============ PÁGINA CANAL DO FORNECEDOR ============ */
  .btn-white{background:#fff; color:var(--navy); box-shadow:0 14px 30px -12px rgba(0,0,0,.35);}
  .btn-white:hover{transform:translateY(-2px); box-shadow:0 20px 38px -12px rgba(0,0,0,.45);}
  .btn-ghost-navy{background:transparent; color:var(--navy); border:1.5px solid rgba(28,58,91,.28);}
  .btn-ghost-navy:hover{background:var(--gray);}

  .forn-hero{position:relative; overflow:hidden; color:#fff;
    background:linear-gradient(130deg, #14293f 0%, var(--navy) 42%, var(--blue) 135%);
    padding:190px 0 110px;}
  .forn-hero::before{content:''; position:absolute; right:-6%; top:-34%; width:560px; height:560px; border-radius:50%;
    background:radial-gradient(circle at 32% 32%, rgba(255,255,255,.16), rgba(255,255,255,0) 68%); pointer-events:none;}
  .forn-hero::after{content:''; position:absolute; left:-12%; bottom:-45%; width:460px; height:460px; border-radius:50%;
    background:radial-gradient(circle, rgba(0,150,215,.35), rgba(0,150,215,0) 70%); pointer-events:none;}
  .forn-hero .container{position:relative; z-index:1; max-width:920px;}
  .forn-eyebrow{display:inline-flex; align-items:center; gap:8px; text-transform:uppercase; letter-spacing:.14em;
    font-size:.78rem; font-weight:700; color:rgba(255,255,255,.72); font-family:var(--font-display); margin-bottom:18px;}
  .forn-eyebrow::before{content:''; width:26px; height:2px; background:var(--blue); display:inline-block;}
  .forn-hero h1{color:#fff; font-size:clamp(2.2rem,5vw,3.7rem); max-width:16ch;}
  @media(max-width:480px){.forn-hero h1{font-size:1.85rem;}}
  .forn-hero .lead{margin-top:22px; font-size:clamp(1.08rem,2vw,1.35rem); color:rgba(255,255,255,.92); max-width:44ch;}
  .forn-hero .hero-cta-row{margin-top:36px; display:flex; gap:14px; flex-wrap:wrap;}
  .forn-hero .btn{padding:15px 30px; font-size:.95rem;}

  .forn-section{padding:110px 0;}
  .forn-section.alt{background:var(--gray);}
  .forn-head{max-width:720px; margin:0 auto 52px; text-align:center;}
  .forn-head .kicker{text-transform:uppercase; letter-spacing:.13em; font-size:.78rem; font-weight:700; color:var(--blue);
    font-family:var(--font-display); display:block; margin-bottom:14px;}
  .forn-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);}
  .forn-head p{margin-top:16px; color:rgba(0,0,0,.6); font-size:1.08rem;}

  /* ---- Stepper form ---- */
  .stepper-card{max-width:840px; margin:0 auto; background:#fff; border-radius:var(--radius-lg);
    box-shadow:var(--shadow-soft); border:1px solid rgba(28,58,91,.1); overflow:hidden;}
  .steps-nav{display:flex; gap:6px; padding:30px 40px; border-bottom:1px solid rgba(28,58,91,.1);
    background:linear-gradient(180deg,#fbfcfe,#fff);}
  .step-item{flex:1; display:flex; flex-direction:column; align-items:center; gap:9px; position:relative; color:rgba(28,58,91,.45);}
  .step-item .num{width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-weight:700; font-family:var(--font-display); background:var(--gray); color:rgba(28,58,91,.5);
    border:2px solid transparent; transition:.3s var(--ease); position:relative; z-index:1;}
  .step-item .lbl{font-size:.82rem; font-weight:600; text-align:center;}
  .step-item.active{color:var(--navy);}
  .step-item.active .num{background:var(--blue); color:#fff; box-shadow:0 8px 20px -6px rgba(0,150,215,.6);}
  .step-item.done .num{background:var(--navy); color:#fff;}
  .step-item:not(:last-child)::after{content:''; position:absolute; top:20px; left:calc(50% + 26px);
    width:calc(100% - 52px); height:2px; background:rgba(28,58,91,.14);}
  .step-item.done:not(:last-child)::after{background:var(--navy);}

  .stepper-body{padding:38px 40px 8px;}
  .step-panel{display:none;}
  .step-panel.active{display:block; animation:fadeStep .4s var(--ease);}
  @keyframes fadeStep{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;}}
  .step-panel h3{font-size:1.18rem; margin-bottom:4px;}
  .step-panel .step-sub{color:rgba(0,0,0,.55); font-size:.92rem; margin-bottom:26px;}
  .field-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  .field{display:flex; flex-direction:column; gap:7px;}
  .field.full{grid-column:1 / -1;}
  .field label{font-size:.85rem; font-weight:600; color:var(--navy);}
  .field label .req{color:#d64545; margin-left:2px;}
  .field input, .field select{font-family:inherit; font-size:.95rem; padding:12px 14px;
    border:1.5px solid rgba(28,58,91,.18); border-radius:12px; background:#fff; color:var(--black);
    transition:border .2s, box-shadow .2s; width:100%;}
  .field select{cursor:pointer;}
  .field input:focus, .field select:focus{outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,150,215,.15);}
  .field .err{color:#d64545; font-size:.78rem; display:none;}
  .field.invalid input, .field.invalid select{border-color:#d64545; box-shadow:0 0 0 3px rgba(214,69,69,.12);}
  .field.invalid .err{display:block;}
  .region-chips{display:flex; flex-wrap:wrap; gap:10px;}
  .region-chip input{position:absolute; opacity:0; width:0; height:0;}
  .region-chip span{display:inline-block; padding:10px 18px; border:1.5px solid rgba(28,58,91,.2);
    border-radius:999px; font-size:.88rem; font-weight:600; color:var(--navy); cursor:pointer; transition:.2s;}
  .region-chip span:hover{border-color:var(--blue);}
  .region-chip input:checked + span{background:var(--navy); color:#fff; border-color:var(--navy);}
  .region-chip input:focus-visible + span{outline:3px solid var(--blue); outline-offset:2px;}
  .step-actions{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:26px 40px 36px;}
  .step-actions .btn{padding:13px 26px; font-size:.9rem;}
  .form-success{display:none; text-align:center; padding:56px 48px 52px;}
  .form-success.show{display:block; animation:fadeStep .5s var(--ease);}
  .form-success .check{width:72px; height:72px; border-radius:50%; margin:0 auto 20px;
    background:linear-gradient(135deg,var(--blue),var(--navy)); display:flex; align-items:center; justify-content:center;}
  .form-success h3{font-size:1.5rem; margin-bottom:24px;}
  .fs-body{max-width:56ch; margin:0 auto; text-align:left;}
  .fs-body p{color:rgba(0,0,0,.68); line-height:1.65; margin:0 0 14px;}
  .fs-body .fs-greet{color:var(--navy); font-weight:600;}
  .fs-sign{margin-top:22px; padding-top:18px; border-top:1px solid rgba(28,58,91,.12);
    color:var(--navy); font-weight:600; line-height:1.5;}
  .form-success #resetForm{margin-top:30px;}
  @media(max-width:600px){
    .form-success{padding:40px 22px;}
    .form-success h3{font-size:1.3rem;}
  }

  /* ---- Acolhida ---- */
  .acolhida-grid{display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:start; max-width:1120px; margin:0 auto;}
  .acolhida-copy h2{font-size:clamp(1.7rem,3.2vw,2.35rem); margin-bottom:20px;}
  .acolhida-copy p{color:rgba(0,0,0,.68); font-size:1.02rem; margin-bottom:22px;}
  .acolhida-copy .btn{margin-top:6px;}
  .acolhida-steps-title{font-family:var(--font-display); font-weight:700; color:var(--navy); font-size:1.15rem; margin-bottom:20px;}
  .acolhida-steps{display:flex; flex-direction:column; gap:14px;}
  .acolhida-step{display:flex; gap:16px; background:#fff; border:1px solid rgba(28,58,91,.1); border-radius:16px;
    padding:18px 20px; box-shadow:0 16px 34px -26px rgba(28,58,91,.55);}
  .acolhida-step .n{flex:none; width:34px; height:34px; border-radius:50%; background:var(--navy); color:#fff;
    font-weight:700; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:.95rem;}
  .acolhida-step p{font-size:.95rem; color:rgba(0,0,0,.75); align-self:center;}
  .acolhida-step a{color:var(--blue); font-weight:600; word-break:break-word;}
  @media(max-width:860px){.acolhida-grid{grid-template-columns:1fr; gap:40px;}}

  /* ---- Documentos ---- */
  .docs-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1120px; margin:0 auto;}
  .doc-card{background:#fff; border:1px solid rgba(28,58,91,.1); border-radius:20px; padding:30px 26px;
    display:flex; flex-direction:column; align-items:flex-start; gap:16px; min-height:210px;
    box-shadow:0 22px 46px -32px rgba(28,58,91,.55); transition:transform .3s var(--ease), box-shadow .3s ease;}
  .doc-card:hover{transform:translateY(-6px); box-shadow:0 32px 58px -30px rgba(28,58,91,.6);}
  .doc-ico{width:60px; height:60px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg, rgba(0,150,215,.12), rgba(28,58,91,.12)); flex:none;}
  .doc-ico img{width:38px; height:38px; object-fit:contain;}
  .doc-card h3{font-size:1.06rem; line-height:1.35;}
  .doc-card .doc-link{margin-top:auto; color:var(--blue); font-weight:700; font-size:.85rem;
    display:inline-flex; align-items:center; gap:6px;}
  .doc-card .doc-link svg{width:15px; height:15px;}
  .doc-links{margin-top:auto; display:flex; flex-direction:column; gap:10px;}
  .doc-links .doc-link{transition:color .2s ease;}
  .doc-links .doc-link:hover{color:var(--navy);}
  .doc-card.is-soon{cursor:default;}
  .doc-card.is-soon:hover{transform:none; box-shadow:0 22px 46px -32px rgba(28,58,91,.55);}
  .doc-soon{margin-top:auto; background:var(--gray); color:rgba(28,58,91,.7); font-weight:700; font-size:.75rem;
    letter-spacing:.04em; text-transform:uppercase; padding:6px 12px; border-radius:999px;}
  @media(max-width:860px){.docs-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.docs-grid{grid-template-columns:1fr;}}

  /* ---- FAQ ---- */
  .faq-wrap{max-width:840px; margin:0 auto; display:flex; flex-direction:column; gap:14px;}
  .faq-item{background:#fff; border:1px solid rgba(28,58,91,.12); border-radius:16px; overflow:hidden;
    transition:box-shadow .3s ease, border-color .3s ease;}
  .faq-item.open{box-shadow:0 24px 50px -30px rgba(28,58,91,.5); border-color:rgba(0,150,215,.35);}
  .faq-q{width:100%; text-align:left; background:none; border:none; padding:22px 26px; display:flex;
    justify-content:space-between; align-items:center; gap:18px; font-family:var(--font-display);
    font-weight:600; font-size:1.02rem; color:var(--navy);}
  .faq-q .ico{flex:none; width:28px; height:28px; border-radius:50%; background:var(--gray); position:relative; transition:.3s var(--ease);}
  .faq-q .ico::before, .faq-q .ico::after{content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    background:var(--navy); border-radius:2px;}
  .faq-q .ico::before{width:12px; height:2px;}
  .faq-q .ico::after{width:2px; height:12px; transition:transform .3s var(--ease);}
  .faq-item.open .faq-q .ico{background:var(--blue);}
  .faq-item.open .faq-q .ico::before, .faq-item.open .faq-q .ico::after{background:#fff;}
  .faq-item.open .faq-q .ico::after{transform:translate(-50%,-50%) scaleY(0);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .4s var(--ease);}
  .faq-a .inner{padding:0 26px 24px; color:rgba(0,0,0,.68); font-size:.97rem; line-height:1.75;}
  .faq-a .inner a{color:var(--navy,#0b2a5b); font-weight:600; text-decoration:underline;}
  .faq-item.open .faq-a{max-height:640px;}

  @media(max-width:620px){
    .forn-section{padding:80px 0;}
    .steps-nav{padding:24px 18px;}
    .step-item .lbl{font-size:.72rem;}
    .stepper-body{padding:30px 22px 4px;}
    .step-actions{padding:22px 22px 30px;}
    .field-grid{grid-template-columns:1fr;}
    .forn-hero{padding:150px 0 80px;}
  }
