*{box-sizing:border-box}
:root{--sc-bg:#fffaf0;--sc-surface:#fff1d6;--sc-text:#2a1410;--sc-muted:#6b4f46;--sc-primary:#d62828;--sc-on-primary:#ffffff;--sc-secondary:#1b1f3b;--sc-on-secondary:#ffffff;--sc-tertiary:#b3541e;--sc-on-primary-soft:#f5c9c9;--sc-on-secondary-soft:#bbbcc4;--sc-font-heading:'Archivo', 'Helvetica Neue', sans-serif;--sc-font-body:'Inter', 'Helvetica Neue', sans-serif;--sc-radius:16px;--sc-btn-radius:999px}
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-btn{transition:background-color .15s,border-color .15s,color .15s}
.sc-btn:hover{background:color-mix(in srgb,var(--sc-btn-bg) 85%,#000)!important;border-color:color-mix(in srgb,var(--sc-btn-bg) 85%,#000)!important}
.sc-btn-out:hover{background:transparent!important;color:color-mix(in srgb,var(--sc-btn-bg) 85%,#000)!important}
.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}
.sc-map{position:relative;display:block;overflow:hidden;background:#e8e4dc;max-width:100%}
.sc-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.sc-map-pv{position:absolute;inset:0;overflow:hidden}
.sc-map-tiles{position:absolute;left:50%;top:50%;width:0;height:0}
.sc-map-tiles img{position:absolute;width:256px!important;height:256px!important;max-width:none!important;user-select:none}
.sc-map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);line-height:0;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.sc-map-note,.sc-map-attr{position:absolute;font:500 11px/1.3 system-ui,sans-serif;background:rgba(255,255,255,.85);color:#333;padding:3px 7px}
.sc-map-note{left:8px;top:8px;border-radius:4px}
.sc-map-attr{right:0;bottom:0}
/* 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 faq-01 */
/* FAQ (acordeão).
   Sem script (enquanto se edita): todas as respostas ficam abertas, para cada uma poder
   ser editada.
   Com o block.js (site publicado, Visualizar e prévia do painel): a raiz ganha .is-ready,
   as perguntas viram botões e as respostas abrem e fecham (.is-open no item). */

.faq-01 .sc-wrap {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.faq-01__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.faq-01__title {
  font-size: clamp(28px, 3.5vw, 40px);
  letter-spacing: -.02em;
}
.faq-01__subtitle { max-width: 560px; }

.faq-01__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq-01__item {
  overflow: hidden;
  background: var(--item-bg, var(--sc-bg));
  border-radius: var(--item-radius, 12px);
}
.faq-01[data-shadow="true"] .faq-01__item { box-shadow: 0 1px 2px rgb(0 0 0 / .06); }

.faq-01__q {
  box-sizing: border-box;
  min-height: 64px;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.faq-01__question { flex: 1; }

.faq-01__icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent, var(--sc-primary));
  color: var(--sc-on-primary);
  transform: rotate(45deg);
  transition: transform .2s, background .2s, color .2s;
}

.faq-01__a {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows .25s ease;
}
.faq-01__a-inner {
  min-height: 0;
  overflow: hidden;
}
.faq-01__answer { padding: 0 24px 22px; }

/* Com o script */
.faq-01.is-ready .faq-01__q { cursor: pointer; }
.faq-01.is-ready .faq-01__q:hover { background: color-mix(in srgb, var(--sc-text) 3%, var(--item-bg, var(--sc-bg))); }
.faq-01.is-ready .faq-01__q:focus-visible {
  outline: 3px solid var(--accent, var(--sc-primary));
  outline-offset: -3px;
}
.faq-01.is-ready .faq-01__item:not(.is-open) .faq-01__a { grid-template-rows: 0fr; }
.faq-01.is-ready .faq-01__item:not(.is-open) .faq-01__icon {
  transform: none;
  background: color-mix(in srgb, var(--sc-text) 7%, transparent);
  color: var(--sc-text);
}

@container site (max-width: 760px) {
  .faq-01 .sc-wrap { gap: 28px; }
  .faq-01__q { padding: 16px 18px; }
  .faq-01__answer { padding: 0 18px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .faq-01__icon,
  .faq-01__a { transition: none; }
}
/* 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}
}
