/* Página inicial inspirada no desenho enviado pelo usuário. */
body:has(.home-page){
  background:#f5f9fb;
  color:#112b3c;
}
body:has(.home-page) .preview{background:#132c3d;color:#e3f6ff}
body:has(.home-page) header{border-color:#cce4ef}
body:has(.home-page) .active-nav{box-shadow:0 2px #2dbbdf}
.home-page{max-width:1280px;padding:0 30px}
.home-stage{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#fff;
  border:1px solid #d9edf4;
  border-top:0;
  border-radius:0 0 32px 32px;
  box-shadow:0 25px 65px #1749690c;
  padding:0 clamp(28px,6vw,82px) 72px;
}
.home-sky{
  position:absolute;
  z-index:-1;
  inset:0 0 auto;
  height:193px;
  overflow:hidden;
  border-radius:0 0 38px 0;
  background:linear-gradient(115deg,#98cefb 0%,#78baf1 68%,#a4d4f8 100%);
}
.home-sky-orb{
  position:absolute;
  width:280px;
  height:280px;
  right:9%;
  top:-205px;
  border:1px solid #ffffff9e;
  border-radius:50%;
  box-shadow:0 0 0 39px #ffffff14,0 0 0 80px #ffffff12;
}
.home-sky-line{
  position:absolute;
  width:350px;
  height:150px;
  right:-80px;
  bottom:-92px;
  border:2px solid #ffffff75;
  border-radius:50%;
  transform:rotate(-15deg);
}
.home-intro{position:relative;padding-top:87px}
.home-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#123448;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.home-kicker-dot{width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid #154360}
.home-intro h1{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  column-gap:20px;
  margin:33px 0 19px;
  color:#101d28;
  font:700 clamp(47px,5.5vw,76px)/1.04 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;
}
.home-intro h1 em{
  display:inline-block;
  color:#12374c;
  font:400 clamp(52px,6vw,83px)/1 'Segoe Print','Brush Script MT',cursive;
  letter-spacing:-.075em;
  transform:rotate(-3deg);
}
.home-intro p{
  max-width:610px;
  margin:0;
  color:#506777;
  font-size:17px;
  line-height:1.65;
}
.home-search{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  margin:38px 0 0;
  padding:13px;
  background:#f1f9fc;
  border:1px solid #d3e9f2;
  border-radius:19px;
}
.home-search label{display:block;min-width:0}
.home-search .label{
  margin:0 0 7px 6px;
  color:#31586d;
  font-size:11px;
  font-weight:750;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.home-optional{font-weight:450;text-transform:none;color:#728a99}
.home-search select,.home-search input{
  height:50px;
  padding:10px 15px;
  color:#173649;
  background:#fff;
  border:1px solid #c7e0ec;
  border-radius:11px;
}
.home-search select:focus-visible,.home-search input:focus-visible{outline-color:#138fb7}
.home-search-button{
  height:50px;
  white-space:nowrap;
  padding:0 20px;
  background:#14364b;
  border-color:#14364b;
  border-radius:11px;
}
.home-search-button:hover{background:#21516c;border-color:#21516c}
.home-search-button span{font-size:19px;font-weight:400;line-height:1}
.home-steps-heading{
  display:flex;
  align-items:baseline;
  gap:17px;
  margin:67px 0 21px;
}
.home-steps-label{
  white-space:nowrap;
  color:#147a9d;
  font:700 23px/1.2 Georgia,serif;
}
.home-steps-heading p{margin:0;color:#5f7885;font-size:13px}
.home-steps{
  display:grid;
  grid-template-columns:minmax(0,1fr) 35px minmax(0,1fr) 35px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding-right:10px;
}
.home-step{
  min-height:222px;
  display:flex;
  flex-direction:column;
  position:relative;
  padding:24px;
  border:1px solid #bde4f0;
  border-radius:23px;
  background:#fff;
  box-shadow:9px 10px 0 #4cc6e7;
}
.home-step-number{
  color:#155371;
  font:italic 26px/1 Georgia,serif;
  letter-spacing:-.06em;
}
.home-step-icon{
  position:absolute;
  right:22px;
  top:17px;
  color:#68bdd8;
  font-size:32px;
  line-height:1;
}
.home-step strong{
  display:block;
  max-width:230px;
  margin:auto 0 8px;
  color:#172b39;
  font:700 clamp(18px,1.7vw,23px)/1.15 Georgia,serif;
  letter-spacing:-.025em;
}
.home-step-caption{color:#617b88;font-size:12px}
.home-step-arrow{color:#154a64;text-align:center;font:normal 29px/1 Georgia,serif}
.home-results{padding:68px 0 10px;scroll-margin-top:25px}
.home-results .section-head{margin:0 0 23px}
.home-results .section-head h2{color:#19394c;font-size:clamp(28px,3vw,36px)}
.home-results .eyebrow{color:#087f9d}
.home-results .card{
  border-color:#d1e4eb;
  box-shadow:0 12px 27px #2054700a;
}
.home-results .card:hover{border-color:#50bedc}
.home-results .avatar{background:#e5f5fc;color:#195875}
.home-results .score{background:#d7f3fa;color:#164a63}
.home-results .score.empty{background:#ebeff0;color:#677a82}
.home-results .stars,.home-results .card-foot b{color:#1687a8}
.home-page .pagination .button{background:#14364b;border-color:#14364b}
.home-page .pagination .button.secondary{background:transparent;color:#14364b;border-color:#a9cbd9}
@media(max-width:950px){
  .home-stage{padding-left:36px;padding-right:36px}
  .home-intro h1{font-size:clamp(45px,6vw,61px)}
  .home-intro h1 em{font-size:clamp(50px,6.8vw,67px)}
  .home-steps{gap:14px;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr)}
  .home-step{padding:18px;min-height:215px}
  .home-step strong{font-size:18px}
}
@media(max-width:700px){
  .home-page{padding:0 16px}
  .home-stage{padding:0 22px 43px;border-radius:0 0 24px 24px}
  .home-sky{height:156px;border-radius:0 0 29px 0}
  .home-sky-orb{right:-85px;top:-215px}
  .home-intro{padding-top:65px}
  .home-kicker{font-size:9px;letter-spacing:.12em}
  .home-intro h1{display:block;margin:27px 0 18px;font-size:clamp(43px,9.8vw,62px);line-height:1.02}
  .home-intro h1 span{display:block}
  .home-intro h1 em{display:block;width:max-content;max-width:100%;margin-top:-1px;font-size:clamp(48px,11vw,70px)}
  .home-intro p{font-size:14px}
  .home-search{grid-template-columns:1fr;margin-top:30px;padding:12px;gap:13px}
  .home-search .label{font-size:10px}
  .home-search-button{width:100%}
  .home-steps-heading{display:block;margin:48px 0 19px}
  .home-steps-heading p{margin-top:6px}
  .home-steps{display:flex;flex-direction:column;gap:12px;padding-right:8px}
  .home-step{min-height:140px;width:100%;padding:20px;box-shadow:7px 7px 0 #4cc6e7}
  .home-step strong{max-width:none;margin:25px 0 5px;font-size:20px}
  .home-step-arrow{font-size:25px;transform:rotate(90deg)}
  .home-results{padding-top:48px}
  .home-results .section-head{align-items:end}
}
@media(max-width:380px){
  .home-stage{padding-left:17px;padding-right:17px}
  .home-intro h1{font-size:41px}
  .home-intro h1 em{font-size:48px}
}

/* Busca dentro de uma universidade. */
body:has(.campus-page){background:#f5f9fb;color:#112b3c}
body:has(.campus-page) .preview{background:#132c3d;color:#e3f6ff}
body:has(.campus-page) header{border-color:#cce4ef}
body:has(.campus-page) .active-nav{box-shadow:0 2px #2dbbdf}
.campus-page{max-width:1280px;padding:25px 30px 80px}
.campus-back{display:inline-flex;margin-bottom:22px;color:#315c70;font-size:13px;font-weight:700;text-decoration:none}
.campus-back:hover{color:#087f9d}
.campus-hero{
  position:relative;overflow:hidden;
  padding:67px clamp(28px,6vw,82px) 56px;
  border:1px solid #a9daf2;border-radius:28px;
  background:linear-gradient(116deg,#9bd0fb 0%,#7ebcf0 66%,#a6d9fa 100%);
  box-shadow:0 24px 65px #17496913;
}
.campus-hero::before{content:"";position:absolute;width:390px;height:390px;right:-125px;top:-235px;border:1px solid #ffffff80;border-radius:50%;box-shadow:0 0 0 48px #ffffff16,0 0 0 95px #ffffff13;pointer-events:none}
.campus-overline{position:relative;color:#174561;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.campus-hero h1{position:relative;max-width:840px;margin:26px 0 18px;color:#102331;font:700 clamp(45px,5.7vw,73px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.055em}
.campus-hero h1 em{color:#154963;font:400 clamp(48px,6vw,78px)/1 'Segoe Print','Brush Script MT',cursive;letter-spacing:-.075em;white-space:nowrap}
.campus-hero p{position:relative;max-width:620px;margin:0;color:#254c61;font-size:16px;line-height:1.65}
.campus-search{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) auto;
  gap:12px;align-items:end;margin-top:43px;padding:15px;border:1px solid #c5e6f4;border-radius:18px;background:#ffffffeb;
  box-shadow:0 15px 40px #19577c1c;
}
.campus-search label{display:block;min-width:0}
.campus-search .label{margin:0 0 7px 6px;color:#31586d;font-size:11px;font-weight:750;text-transform:uppercase}
.campus-search select,.campus-search input{height:50px;padding:10px 15px;border:1px solid #c7e0ec;border-radius:10px;background:#fff;color:#173649}
.campus-search select:focus-visible,.campus-search input:focus-visible{outline-color:#138fb7}
.campus-search-button{height:50px;white-space:nowrap;padding:0 20px;border-color:#14364b;border-radius:10px;background:#14364b}
.campus-search-button:hover{background:#21516c;border-color:#21516c}
.campus-content{padding:64px clamp(4px,2vw,26px) 0}
.campus-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.campus-section-head .eyebrow{color:#087f9d}
.campus-section-head h2{margin:7px 0 0;color:#19394c;font:700 clamp(29px,3vw,37px)/1.15 Georgia,serif;letter-spacing:-.035em}
.campus-count{color:#6b8390;font-size:12px;white-space:nowrap}
.campus-chips{display:flex;flex-wrap:wrap;gap:10px}
.campus-chip{display:inline-flex;align-items:center;gap:15px;padding:12px 17px;border:1px solid #cde5ee;border-radius:999px;background:#fff;color:#23536c;font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 5px 14px #20547008}
.campus-chip:hover,.campus-chip.selected{border-color:#53bddb;background:#dcf5fb;color:#124b65}
.campus-chip span{font-size:15px}
.campus-subjects-head{margin-top:64px}
.campus-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.campus-subject{display:flex;flex-direction:column;min-height:183px;padding:23px;border:1px solid #d1e4eb;border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 12px 27px #2054700a;transition:transform .15s,border-color .15s}
.campus-subject:hover{transform:translateY(-3px);border-color:#50bedc}
.campus-subject-code{color:#0d7897;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.campus-subject h3{margin:20px 0 8px;color:#1b3c50;font:700 22px/1.18 Georgia,serif}
.campus-subject-department{color:#6b8390;font-size:12px}
.campus-subject-action{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:24px;color:#176d8b;font-size:12px;font-weight:750}
.campus-page .pagination .button{background:#14364b;border-color:#14364b}
.campus-page .pagination .button.secondary{background:transparent;color:#14364b;border-color:#a9cbd9}
@media(max-width:850px){
  .campus-search{grid-template-columns:repeat(2,minmax(0,1fr))}
  .campus-search-button{grid-column:1/-1}
  .campus-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .campus-page{padding:18px 16px 55px}
  .campus-back{margin-bottom:15px}
  .campus-hero{padding:48px 23px 28px;border-radius:23px}
  .campus-hero h1{margin:25px 0 17px;font-size:clamp(42px,10vw,58px)}
  .campus-hero h1 em{display:block;margin-top:5px;font-size:clamp(45px,11vw,62px);white-space:normal}
  .campus-hero p{font-size:14px}
  .campus-search{grid-template-columns:1fr;gap:14px;margin-top:29px;padding:12px}
  .campus-search-button{grid-column:auto;width:100%}
  .campus-content{padding:45px 2px 0}
  .campus-section-head{align-items:start}
  .campus-section-head h2{font-size:28px}
  .campus-count{padding-top:5px}
  .campus-subjects-head{margin-top:50px}
  .campus-subjects{grid-template-columns:1fr;gap:13px}
  .campus-subject{min-height:155px}
}
