:root{
  --prof-navy:#061b49;
  --prof-blue:#006dff;
  --prof-blue-dark:#0046b8;
  --prof-blue-light:#eaf5ff;
  --prof-text:#53617d;
  --prof-border:rgba(0,78,180,.14);
  --prof-shadow:0 24px 54px rgba(0,42,105,.12);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:"Poppins", sans-serif;
}

body{
  background:#ffffff;
  color:var(--prof-navy);
}

.prof-page{
  width:100%;
  overflow:hidden;
  background:linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.prof-hero{
  position:relative;
  overflow:hidden;
  min-height:560px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 35%, rgba(255,255,255,.48) 51%, rgba(255,255,255,0) 70%, rgba(255,255,255,0) 100%),
    url('funcionarios.png') right top / auto 100% no-repeat,
    linear-gradient(180deg, #edf6ff 0%, #ffffff 100%);
}

.prof-hero::before{
  content:"";
  position:absolute;
  inset:82px 0 0 0;
  background-image:radial-gradient(rgba(0,109,255,.15) 1px, transparent 1px);
  background-size:14px 14px;
  opacity:.10;
  mask-image:linear-gradient(90deg, #000 0%, #000 38%, transparent 78%, transparent 100%);
  pointer-events:none;
}

.prof-hero::after{
  content:"";
  position:absolute;
  left:-110px;
  top:-140px;
  width:620px;
  height:620px;
  border-radius:50%;
  border:1px solid rgba(0,109,255,.12);
  box-shadow:
    80px 90px 0 rgba(0,109,255,.030),
    150px 160px 0 rgba(0,109,255,.020);
  pointer-events:none;
}

.prof-hero-top{
  position:relative;
  z-index:3;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 20px;
  background:linear-gradient(180deg, #00317a 0%, #001f5a 100%);
  box-shadow:0 10px 30px rgba(0,30,90,.16);
}

.prof-hero-top h1{
  margin:0;
  color:#fff;
  font-size:30px;
  line-height:1.1;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.5px;
  text-shadow:0 4px 14px rgba(0,0,0,.22);
}

.prof-hero-content{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1320px;
  min-height:478px;
  margin:0 auto;
  display:flex;
  align-items:center;
  padding:0 56px;
}

.prof-hero-text{
  width:100%;
  max-width:650px;
  padding:42px 0 36px;
}

.prof-label{
  width:max-content;
  max-width:100%;
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
  padding:0 22px;
  border-radius:8px;
  background:#d8ecff;
  color:#0062d8;
  font-size:23px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}

.prof-hero-text h2{
  margin:0 0 16px;
  color:var(--prof-navy);
  font-size:62px;
  line-height:.98;
  font-weight:900;
  letter-spacing:-2.2px;
  text-transform:uppercase;
  text-shadow:0 3px 0 rgba(255,255,255,.70);
}

.prof-hero-text > p{
  max-width:640px;
  margin:0;
  color:#4d5874;
  font-size:19px;
  line-height:1.42;
  font-weight:500;
}

.prof-benefits{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:26px;
  margin-top:44px;
}

.prof-benefit{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:12px;
  align-items:center;
  min-height:58px;
}

.prof-benefit-icon{
  width:50px;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#d9ecff;
  color:#004cb8;
}

.prof-benefit-icon svg{
  width:29px;
  height:29px;
}

.prof-benefit span:last-child{
  color:#07306c;
  font-size:13px;
  line-height:1.22;
  font-weight:800;
}

.prof-actions{
  position:relative;
  z-index:5;
  padding:0 28px 26px;
  margin-top:-94px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #ffffff 56%);
}

.prof-actions-panel{
  width:100%;
  max-width:1160px;
  margin:0 auto;
  padding:26px 32px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,42,105,.10);
}

.prof-actions-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}

.prof-action-card{
  min-height:184px;
  display:grid;
  grid-template-columns:128px 1fr;
  align-items:center;
  gap:26px;
  padding:28px 32px;
  border-radius:8px;
  color:#fff;
  text-decoration:none;
  box-shadow:0 18px 38px rgba(0,55,155,.18);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.prof-action-card:hover{
  transform:translateY(-3px);
  filter:brightness(1.03);
  box-shadow:0 24px 46px rgba(0,55,155,.24);
}

.prof-action-card-dark{
  background:
    radial-gradient(circle at 95% 40%, rgba(255,255,255,.12), transparent 28%),
    linear-gradient(135deg, #00357e 0%, #0049b8 100%);
}

.prof-action-card-blue{
  background:
    radial-gradient(circle at 95% 40%, rgba(255,255,255,.14), transparent 28%),
    linear-gradient(135deg, #006dff 0%, #0051d8 100%);
}

.prof-action-icon{
  width:104px;
  height:104px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.34);
  color:#fff;
}

.prof-action-icon svg{
  width:54px;
  height:54px;
}

.prof-action-content h3{
  margin:0 0 8px;
  color:#fff;
  font-size:25px;
  line-height:1.12;
  font-weight:900;
}

.prof-action-content p{
  max-width:400px;
  margin:0 0 18px;
  color:rgba(255,255,255,.94);
  font-size:15.5px;
  line-height:1.42;
  font-weight:500;
}

.prof-action-button{
  min-width:230px;
  min-height:46px;
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:0 24px;
  border-radius:7px;
  background:#fff;
  color:#004cb8;
  font-size:16px;
  line-height:1;
  font-weight:900;
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}

.prof-action-button svg{
  width:22px;
  height:22px;
}

.faq-section{
  padding:0 28px 54px;
  background:#fff;
}

.faq-card{
  width:100%;
  max-width:1160px;
  margin:0 auto;
  padding:24px 32px 26px;
  border:1px solid rgba(0,65,150,.13);
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,42,105,.08);
}

.faq-header{
  text-align:center;
  margin-bottom:18px;
}

.faq-title{
  margin:0;
  color:var(--prof-navy);
  font-size:24px;
  line-height:1.2;
  font-weight:900;
}

.faq-subtitle{
  margin:8px 0 0;
  color:#6b7280;
  font-size:15px;
  line-height:1.45;
  font-weight:500;
}

.faq-list{
  display:flex;
  flex-direction:column;
  gap:0;
  border:1px solid rgba(0,65,150,.13);
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}

.faq-item{
  border-bottom:1px solid rgba(0,65,150,.13);
  background:#fff;
  overflow:hidden;
}

.faq-item:last-child{
  border-bottom:0;
}

.faq-q{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:17px 58px 17px 30px;
  color:#00357e;
  font-size:14px;
  line-height:1.35;
  font-weight:800;
}

.faq-q::-webkit-details-marker{
  display:none;
}

.faq-q::after{
  content:"+";
  position:absolute;
  right:28px;
  top:50%;
  transform:translateY(-50%);
  color:#006dff;
  font-size:28px;
  line-height:1;
  font-weight:500;
}

.faq-item[open] .faq-q::after{
  content:"−";
}

.faq-a{
  padding:0 30px 18px;
  color:#52617f;
  font-size:14px;
  line-height:1.55;
  font-weight:500;
}

.faq-a p + p{
  margin-top:10px;
}

@media (max-width:1100px){
  .prof-hero{
    background:
      linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 42%, rgba(255,255,255,.45) 60%, rgba(255,255,255,0) 100%),
      url('../images/banners/banco-empregos-profissionais-hero.png') right top / auto 100% no-repeat,
      linear-gradient(180deg, #edf6ff 0%, #ffffff 100%);
  }

  .prof-hero-content{
    padding:0 32px;
  }

  .prof-hero-text{
    max-width:540px;
  }

  .prof-hero-text h2{
    font-size:48px;
  }

  .prof-benefits{
    grid-template-columns:1fr;
    gap:16px;
    max-width:360px;
  }

  .prof-actions-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .prof-hero{
    min-height:auto;
    background:
      linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.22) 34%, rgba(255,255,255,.96) 63%, #ffffff 100%),
      url('../images/banners/banco-empregos-profissionais-hero.png') center top / auto 300px no-repeat,
      linear-gradient(180deg, #edf6ff 0%, #ffffff 100%);
  }

  .prof-hero-top{
    min-height:68px;
  }

  .prof-hero-top h1{
    font-size:23px;
  }

  .prof-hero-content{
    min-height:auto;
    padding:300px 18px 128px;
  }

  .prof-hero-text{
    max-width:none;
    padding:28px 0 0;
  }

  .prof-label{
    min-height:42px;
    font-size:18px;
    padding:0 18px;
  }

  .prof-hero-text h2{
    font-size:39px;
  }

  .prof-hero-text > p{
    font-size:16px;
  }

  .prof-benefits{
    margin-top:26px;
  }

  .prof-actions{
    margin-top:-96px;
    padding:0 14px 24px;
  }

  .prof-actions-panel{
    padding:18px;
  }

  .prof-action-card{
    min-height:auto;
    grid-template-columns:86px 1fr;
    gap:18px;
    padding:22px 20px;
  }

  .prof-action-icon{
    width:76px;
    height:76px;
  }

  .prof-action-icon svg{
    width:40px;
    height:40px;
  }

  .prof-action-content h3{
    font-size:21px;
  }

  .prof-action-content p{
    font-size:14px;
  }

  .prof-action-button{
    min-width:0;
    min-height:42px;
    font-size:14px;
    padding:0 18px;
  }

  .faq-section{
    padding:0 14px 38px;
  }

  .faq-card{
    padding:22px 16px 22px;
  }

  .faq-title{
    font-size:22px;
  }

  .faq-subtitle{
    font-size:14px;
  }

  .faq-q{
    padding:15px 48px 15px 16px;
    font-size:13.5px;
  }

  .faq-q::after{
    right:18px;
  }

  .faq-a{
    padding:0 16px 16px;
    font-size:13.5px;
  }
}

@media (max-width:480px){
  .prof-hero{
    background:
      linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.26) 34%, rgba(255,255,255,.97) 63%, #ffffff 100%),
      url('../images/banners/banco-empregos-profissionais-hero.png') center top / auto 255px no-repeat,
      linear-gradient(180deg, #edf6ff 0%, #ffffff 100%);
  }

  .prof-hero-top h1{
    font-size:19px;
  }

  .prof-hero-content{
    padding-top:255px;
  }

  .prof-label{
    font-size:16px;
  }

  .prof-hero-text h2{
    font-size:32px;
  }

  .prof-action-card{
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
  }

  .prof-action-content p{
    max-width:100%;
  }

  .prof-action-button{
    width:100%;
  }
}