/* Hero */
.hero{min-height:640px;position:relative;isolation:isolate;background:#f0f7fb url('/assets/img/logo/banner-raw.png') center center/cover no-repeat;overflow:hidden}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f5fafd 0%,#f5fafd 34%,#f5fafdea 49%,transparent 74%);z-index:-1}
.hero-content{padding-top:66px;padding-bottom:60px}
h1{font-size:clamp(3.625rem,6.1vw,5.375rem);font-weight:600;letter-spacing:-4px;line-height:1.04;margin:24px 0}
h1 em{z-index:0}
.hero-description{max-width:400px;color:#49667e;font-size:1rem;margin-bottom:28px}
.hero-signature{display:flex;gap:16px;align-items:center;margin-top:34px;font-size:0.6875rem;line-height:1.7}
.signature-line{height:33px;width:2px;background:var(--lime)}
.hero-signature strong{font-size:0.75rem}
.hero-caption{position:absolute;right:4%;bottom:35px;font-size:0.625rem;letter-spacing:3px;color:var(--blue);line-height:2}

/* STRIP */
.values-strip{background:var(--blue);color:white}
.values-strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px;text-transform:uppercase;font-size:0.625rem;letter-spacing:2px}
.strip-dot{background:var(--lime);height:5px;width:5px;border-radius:50%;flex-shrink:0}

/* Sobre */
.about-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:95px;align-items:center}
.portrait-wrap{position:relative;padding:0 20px 24px 0}
.portrait-wrap:before{content:'';position:absolute;inset:35px 0 0 30px;background:#eaf3ea;border-radius:140px 8px 8px 8px;z-index:-1}
.portrait{width:100%;height:555px;object-fit:cover;object-position:center top;border-radius:140px 6px 6px 6px}
.portrait-label{position:absolute;bottom:0;right:0;background:white;border:1px solid var(--line);padding:17px 22px;font-size:0.6875rem;border-radius:4px;box-shadow:0 10px 30px #0635690c}
.about-grid p:not(.eyebrow):not(.professional){color:var(--muted);font-size:0.875rem}
.professional{font-weight:800;color:var(--blue);font-size:0.9375rem;margin-bottom:22px}
.professional span{display:block;font-weight:500;font-size:0.75rem;letter-spacing:1px}
.text-link{display:inline-flex;gap:16px;align-items:center;font-size:0.75rem;font-weight:800;text-underline-offset:7px;margin-top:24px;color:var(--blue)}
.about-presentation{text-align: justify;}

/* Serviços */
.services{background:var(--pale)}
.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:40px}
.section-heading h2{margin-bottom:0}
.section-heading>p{max-width:340px;color:var(--muted);font-size:0.875rem}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);/*border-top:1px solid var(--line);border-left:1px solid var(--line);*/border-radius: 16px;}
.service{padding:30px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:start;transition: background-color 0.5s ease;border-radius: 16px;}
.service:hover{/*background-color: var(--light);*/background-image: linear-gradient(45deg, #fff, var(--light));}
/*.service:hover h3, .service:hover p, .service:hover a.text-link{color: var(--pale);}*/
.service-number{color:#94ca00;font-size:0.75rem;margin-bottom:30px;font-weight:800}
.service h3{font-size:1.25rem;max-width:260px;min-height:46px}
.service p{font-size:0.8125rem;color:var(--muted);margin-top:14px}
.service .text-link{margin-top:auto;padding-top:22px}

/* Passos */
.process{background:var(--blue);color:#cfdeec;position:relative;overflow:hidden}
.process .eyebrow,.contact .eyebrow{color:#b4d2e8}
.process h2,.process h3,.contact h2{color:#fff}
.process h2 em,.contact h2 em{color:var(--lime)}
.process .section-heading>p{color:#c4d6e6}
.steps{list-style:none;padding:0;margin:60px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}
.steps li{border-top:1px solid #ffffff38;padding-top:24px}
.steps li>span{color:var(--lime);font-size:0.8125rem;font-weight:700}
.steps h3{font-size:1.125rem;margin:25px 0 14px}
.steps p{font-size:0.8125rem}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}
.faq-grid>div>p:not(.eyebrow){max-width:300px;color:var(--muted);font-size:0.875rem}
.questions{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);interpolate-size: allow-keywords;}
details::details-content {height: 0;overflow: hidden;transition: height 300ms ease, content-visibility 300ms allow-discrete;}
details[open]::details-content{height: auto;}
summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:0.875rem;font-weight:700;line-height:1.5;color:var(--blue)}
summary::-webkit-details-marker{display:none}
summary span{font-size:1.5rem;font-weight:400;color:#638600}
details[open] summary span{transform:rotate(45deg)}
details p{font-size:0.8125rem;color:var(--muted);padding-bottom:22px}

/* Material de Conhecimento */
.resources{background:#f6f8f5}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.resource{text-decoration:none;border-top:2px solid var(--blue);padding:26px 0;display:flex;flex-direction:column;align-items:start}
.resource>span{font-size:0.625rem;letter-spacing:1.8px;color:var(--muted)}
.resource h3{font-size:1.375rem;margin:22px 0 14px}
.resource p{font-size:0.8125rem;color:var(--muted)}
.resource b{font-size:0.75rem;margin-top:auto;padding-top:24px}
.resource:hover b{text-decoration:underline}

/* Contato e Form */
.contact{background:var(--deep);color:#ccdae6;position:relative;overflow:hidden}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;position:relative}
.contact h2{font-size:clamp(2.125rem,4vw,3.375rem)}
.contact-grid>div>p:not(.eyebrow){max-width:380px;font-size:0.875rem}
address{font-style:normal;display:grid;gap:10px;font-size:0.8125rem;margin-top:35px}
address a{text-decoration:none}
address a:hover{text-decoration:underline}
address span{margin-top:12px}
form{background:white;border-radius:6px;padding:36px;color:var(--ink)}
form h3{font-size:1.4375rem}
form>p{color:var(--muted);font-size:0.75rem;margin-top:10px;margin-bottom:24px}
form>label{display:block;font-size:0.75rem;font-weight:700;margin:15px 0 6px}
input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #ccd8e1;border-radius:3px;background:#fbfcfd;padding:12px;color:var(--ink);font-size:0.75rem}
textarea{resize:vertical}
form label span{font-weight:400}
form .consent{display:flex;align-items:start;gap:8px;font-size:0.625rem;line-height:1.7;margin:20px 0}
.consent input{margin-top:3px;accent-color:var(--blue)}
form .button{width:100%}
form .form-note{font-size:0.625rem;margin:14px 0 0}

.toast {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 25%;
  left: 50%;
  z-index: 10;
  padding: 5px 10px 10px 10px;
  font-family: "nunito sans", sans-serif;
  font-size: 1rem;
  line-height: 1.3;
  color: #333;
  border-radius: 15px;
  background-color: #fff;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  animation: fadeInScale 2s ease 0s forwards, slideOutScale 2s ease 5s forwards;
}
.toast h3 {
  font-size: 0.8rem;
  text-align: right;
}
.toast h3, .toast p {
    margin: 0.5rem;
}
.toast--sucesso {
  border-left: 10px solid greenyellow;
}
.toast--erro {
  border-left: 10px solid red;
}
.toast--alerta {
  border-left: 10px solid orange;
}
@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0);
  }
  to {
    opacity: 1;
    transform: scale(1) translate(-50%, -25%);
  }
}
@keyframes slideOutScale {
  from {
    opacity: 1;
    transform: translate(-50%, -25%);
  }
  to {
    opacity: 0;
    transform: translate(15%, -25%);
  }
}

/* Responsividade */
@media(min-width:1600px){
    .hero{background-size:cover;min-height:720px}
    .hero-content{padding-top:90px}
}
@media(max-width:1050px){
    .container{width:calc(100% - 56px)}
    .about-grid,.contact-grid{gap:45px}
    .faq-grid{gap:45px}
    .hero{background-position:58% center}
    .hero:before{background:linear-gradient(90deg,#f5fafd 0%,#f5fafd 30%,#f5fafde6 48%,transparent 80%)}
    .portrait{height:530px}
    .service{padding:24px}
}
@media(max-width:800px){
    .section{padding:70px 0}
    .container{width:calc(100% - 40px)}
    .hero{min-height:640px;background-position:66% center}
    .hero:before{background:linear-gradient(90deg,#f5fafdfc 0%,#f5fafdef 35%,#f5fafd70 85%)}
    h1{font-size:4.125rem;letter-spacing:-3px}
    .hero{background-image: url('/assets/img/logo/banner-raw-800.png');}
    .hero-content{padding-top:55px}
    .hero-description{max-width:340px}
    .hero-caption{display:none}
    .values-strip .container{justify-content:center;flex-wrap:wrap;padding:18px 0;gap:10px 18px;font-size:8px}
    .values-strip .strip-dot{display:none}
    .about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
    .portrait-wrap{max-width:460px;margin: auto;}
    .portrait{height:500px}
    .section-heading{display:block}
    .section-heading>p{margin-top:22px;max-width:500px}
    .service-grid{grid-template-columns:repeat(2,1fr)}
    .steps{grid-template-columns:repeat(2,1fr);gap:35px}
    .resource-grid{gap:20px}
    .resource h3{font-size:1.125rem}
}
@media(max-width:480px){
    h1{font-size:3.75rem}
    .hero{background-position:68% center;background-image: url('/assets/img/logo/banner-raw-465.png');}
    .hero:before{background:linear-gradient(90deg,#f5fafdfc,#f5fafde8 55%,#f5fafd87)}
    .eyebrow{letter-spacing:1.5px;font-size:0.5625}
    .hero-description{font-size:0.875;max-width:280px}
    .hero-signature{margin-top:30px}
    .hero{min-height:620px}
    h2{letter-spacing:-1px}
    .service-grid,.resource-grid{grid-template-columns:1fr}
    .service{padding:26px}
    .service h3{min-height:0}
    .service-number{margin-bottom:18px}
    .steps{gap:25px}
    .steps h3{font-size:1rem}
    .portrait{height:440px}
    .portrait-label{font-size:0.5625rem;padding:14px}
    .contact a{overflow-wrap:anywhere}
}
