*{box-sizing:border-box}
:root{--sc-bg:#f5f9ff;--sc-surface:#e8f0fc;--sc-text:#0b1e3f;--sc-muted:#4a5b78;--sc-primary:#1d4ed8;--sc-on-primary:#ffffff;--sc-secondary:#0b1e3f;--sc-on-secondary:#ffffff;--sc-tertiary:#1e5fbf;--sc-on-primary-soft:#c7d3f5;--sc-on-secondary-soft:#b6bcc5;--sc-font-heading:'Space Grotesk', 'Helvetica Neue', sans-serif;--sc-font-body:'Inter', 'Helvetica Neue', sans-serif;--sc-radius:12px;--sc-btn-radius:12px}
body{margin:0;background:var(--sc-bg);-webkit-font-smoothing:antialiased}
.sc-site{container:site/inline-size}
.sc-block{position:relative;box-sizing:border-box;font-family:var(--sc-font-body,'Archivo','Helvetica Neue',sans-serif);color:var(--sc-text,#1d1b18);line-height:1.5}
.sc-block *,.sc-block *::before,.sc-block *::after{box-sizing:border-box}
.sc-block :where(h1,h2,h3,h4,h5,h6,p,blockquote,figure,figcaption,ul,ol){margin:0}
.sc-block img{max-width:100%}
.sc-wrap{max-width:var(--max-w,1240px);margin:0 auto;padding:var(--pad-y,80px) 48px;position:relative;z-index:1}
@container site (max-width:760px){.sc-wrap{padding:calc(var(--pad-y,80px)*.65) 20px}}
.sc-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;opacity:0}
.sc-form-ok[hidden],.sc-form-err[hidden]{display:none!important}
/* bloco nav-01 */
.nav-01__row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.nav-01__menu{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.nav-01__links{display:flex;gap:32px;flex-wrap:wrap;align-items:center}
.nav-01__links a{color:inherit;text-decoration:none}
/* Hambúrguer: três traços que viram um X com o menu aberto */
.nav-01__burger{display:none;position:relative;width:44px;height:44px;margin-right:-10px;cursor:pointer;border-radius:6px}
.nav-01__burger input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.nav-01__burger:has(input:focus-visible){outline:2px solid currentColor;outline-offset:2px}
.nav-01__burger span,.nav-01__burger span::before,.nav-01__burger span::after{position:absolute;left:11px;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s;pointer-events:none}
.nav-01__burger span{top:21px}
.nav-01__burger span::before,.nav-01__burger span::after{content:"";left:0}
.nav-01__burger span::before{top:-7px}
.nav-01__burger span::after{top:7px}
.nav-01__burger:has(input:checked) span{background:transparent}
.nav-01__burger:has(input:checked) span::before{transform:translateY(7px) rotate(45deg);background:currentColor}
.nav-01__burger:has(input:checked) span::after{transform:translateY(-7px) rotate(-45deg);background:currentColor}
@container site (max-width:760px){
  .nav-01__row{gap:12px}
  .nav-01__burger{display:block}
  .nav-01__menu{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;gap:16px;padding:8px 0 4px}
  .nav-01__row:has([data-menu-toggle]:checked) .nav-01__menu{display:flex}
  .nav-01__links{flex-direction:column;align-items:flex-start;gap:14px}
}
/* bloco hero-slider-01 */
/* Hero com slider.
   Sem script: os slides ficam lado a lado numa faixa com rolagem horizontal
   (scroll-snap), que funciona sozinha. No editor, data-repeater-view="slides"
   mostra um slide por vez, com uma barra para ir aos outros e adicionar.
   Com o block.js (site publicado, Visualizar e prévia do painel): a raiz ganha
   .is-ready, os slides passam a ficar empilhados com troca em fade, setas e marcadores. */

.hero-slider-01 {
  overflow: hidden;
  background: var(--sc-secondary);
  color: #fff;
}

.hero-slider-01__track {
  position: relative;
  display: flex;
  height: min(var(--height, 88vh), 760px);
  min-height: 480px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: rgb(255 255 255 / .6) transparent;
}

.hero-slider-01__slide {
  position: relative;
  flex: 0 0 100%;
  overflow: hidden;
  scroll-snap-align: start;
}

/* Foto de fundo + véu escuro */
.hero-slider-01__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-slider-01__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / var(--overlay, 45%));
  pointer-events: none;
}

/* Conteúdo */
.hero-slider-01__content {
  position: relative;
  z-index: 1;
  height: 100%;
  max-width: var(--max-w, 1240px);
  margin: 0 auto;
  padding: 0 clamp(24px, 8vw, 120px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 20px;
}
.hero-slider-01[data-align="left"] .hero-slider-01__content {
  align-items: flex-start;
  text-align: left;
}

/* Texto branco fixo de propósito: fica sempre sobre a foto escurecida */
.hero-slider-01__eyebrow { color: rgb(255 255 255 / .85); }
.hero-slider-01__title {
  max-width: 900px;
  color: #fff;
  letter-spacing: -.02em;
  font-size: clamp(34px, 5.5vw, 64px);
}
.hero-slider-01__text {
  max-width: 620px;
  color: rgb(255 255 255 / .88);
  font-size: clamp(16px, 1.6vw, 19px);
}
.hero-slider-01__cta {
  margin-top: 8px;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.hero-slider-01__cta::after {
  content: "";
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ===== Com o script ===== */
.hero-slider-01.is-ready .hero-slider-01__track {
  display: block;
  overflow: hidden;
  scroll-snap-type: none;
}
.hero-slider-01.is-ready .hero-slider-01__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .8s ease, visibility .8s;
}
.hero-slider-01.is-ready .hero-slider-01__slide.is-active {
  opacity: 1;
  visibility: visible;
}
.hero-slider-01.is-ready .hero-slider-01__bg {
  transform: scale(1.06);
  transition: transform 6s ease;
}
.hero-slider-01.is-ready .is-active .hero-slider-01__bg { transform: scale(1); }
.hero-slider-01.is-ready .hero-slider-01__content > * {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .6s ease, transform .6s ease;
}
.hero-slider-01.is-ready .is-active .hero-slider-01__content > * { opacity: 1; transform: none; }
.hero-slider-01.is-ready .is-active .hero-slider-01__content > :nth-child(2) { transition-delay: .1s; }
.hero-slider-01.is-ready .is-active .hero-slider-01__content > :nth-child(3) { transition-delay: .2s; }
.hero-slider-01.is-ready .is-active .hero-slider-01__content > :nth-child(4) { transition-delay: .3s; }

/* Setas e marcadores (criados pelo script) */
.hero-slider-01__btn {
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  padding: 0;
  border: 1px solid rgb(255 255 255 / .5);
  border-radius: 50%;
  background: rgb(255 255 255 / .12);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
}
.hero-slider-01__btn:hover { background: rgb(255 255 255 / .28); }
.hero-slider-01__prev { left: 32px; }
.hero-slider-01__next { right: 32px; }
.hero-slider-01[data-arrows="false"] .hero-slider-01__btn { display: none; }

.hero-slider-01__dots {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 24px;
  display: flex;
  gap: 4px;
  justify-content: center;
}
.hero-slider-01__dot {
  width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-slider-01__dot span {
  display: block;
  width: 18px;
  height: 4px;
  border-radius: 2px;
  background: rgb(255 255 255 / .5);
  transition: width .2s, background .2s;
}
.hero-slider-01__dot[aria-current="true"] span { width: 36px; background: #fff; }

.hero-slider-01__btn:focus-visible,
.hero-slider-01__dot:focus-visible,
.hero-slider-01__cta:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

@container site (max-width: 760px) {
  .hero-slider-01__btn { display: none; }
  .hero-slider-01__dots { bottom: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slider-01.is-ready .hero-slider-01__slide,
  .hero-slider-01.is-ready .hero-slider-01__bg,
  .hero-slider-01.is-ready .hero-slider-01__content > * { transition: none; }
}
/* bloco cards-01 */
.cards-01__head{display:flex;flex-direction:column;gap:12px;margin-bottom:40px}
.cards-01__grid{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:24px}
.cards-01__card{background:var(--card-bg, var(--sc-surface));border-radius:var(--card-radius, var(--sc-radius));overflow:hidden;display:flex;flex-direction:column}
.cards-01__card img{display:block;width:100%;object-fit:cover;background:var(--sc-surface)}
.cards-01__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px}
@container site (max-width:760px){
  .cards-01__grid{grid-template-columns:minmax(0,1fr);gap:32px}
}
/* bloco text-01 */
.text-01__content{display:flex;flex-direction:column;gap:18px}
.text-01__content a{color:inherit}
/* bloco cta-01 */
.cta-01__content{display:flex;flex-direction:column;gap:18px}
.cta-01__actions{display:flex;justify-content:center;padding-top:10px}
/* bloco form-01 */
.form-01__head{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}
.form-01__fields{display:grid;grid-template-columns:repeat(var(--cols, 1),minmax(0,1fr));gap:20px}
.form-01__field.sc-field-checkbox,.form-01__field.sc-field-radio,.form-01__field:has(textarea){grid-column:1/-1}
.form-01 .sc-f{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}
.form-01 .sc-f-l{font-size:15px;font-weight:600;padding:0}
.form-01 .sc-f-req{color:var(--sc-tertiary)}
.form-01 :where(input[type=text],input[type=email],input[type=tel],select,textarea){width:100%;font:inherit;font-size:16px;color:var(--sc-text);background:var(--field-bg, var(--sc-bg));border:1px solid color-mix(in srgb, var(--sc-text) 22%, transparent);border-radius:var(--field-radius, 8px);padding:12px 14px;outline:none;transition:border-color .15s, box-shadow .15s}
.form-01 textarea{resize:vertical;min-height:120px}
.form-01 :where(input,select,textarea):focus-visible{border-color:var(--sc-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--sc-primary) 25%, transparent)}
.form-01 ::placeholder{color:var(--sc-muted);opacity:.8}
.form-01 input[type=range]{width:100%;accent-color:var(--sc-primary)}
.form-01 .sc-f-out{font-weight:400;color:var(--sc-muted);margin-left:6px}
.form-01 .sc-f-ends{display:flex;justify-content:space-between;font-size:13px;color:var(--sc-muted)}
.form-01 .sc-f-group{gap:10px}
.form-01 .sc-f-group legend{margin-bottom:10px}
.form-01 .sc-f-opt{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:16px;cursor:pointer}
.form-01 .sc-f-opt input{width:18px;height:18px;margin:0;accent-color:var(--sc-primary);flex:none}
.form-01__actions{display:flex;padding-top:28px}
.form-01__actions button{cursor:pointer;border:0}
.form-01__actions button:disabled{opacity:.6;cursor:progress}
.form-01__ok{margin-top:20px;padding:14px 16px;border-radius:var(--field-radius, 8px);background:color-mix(in srgb, var(--sc-primary) 12%, transparent)}
.form-01 .sc-form-err{margin:16px 0 0;color:#b42318;font-size:15px}
@container site (max-width:760px){
  .form-01__fields{grid-template-columns:minmax(0,1fr)}
}
/* bloco footer-01 */
.footer-01__row{display:flex;justify-content:space-between;align-items:center;gap:16px}
@container site (max-width:760px){
  .footer-01__row{flex-direction:column;align-items:flex-start}
}
