/* Master v6 — arquitetura final de responsividade, zoom e acessibilidade */
*,*::before,*::after{box-sizing:border-box}
html{width:100%;max-width:100%;scroll-behavior:smooth}
body{width:100%;max-width:100%;min-width:0;margin:0;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
main,header,footer,section,article,div,nav,form,fieldset{min-width:0}
img,video,svg,canvas{display:block;max-width:100%;height:auto}
button,input,select,textarea{max-width:100%;font:inherit}
h1,h2,h3,h4,p,a,span,summary,address,blockquote{word-break:normal;overflow-wrap:break-word;hyphens:none}

/* Container mestre: mesma coluna de leitura em notebook e desktop. */
.site-container,.hero-content,.section-content,.container,.wrapper,section>.container{
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:clamp(1.25rem,3vw,2.5rem)!important;
  padding-right:clamp(1.25rem,3vw,2.5rem)!important;
}
main>section,.section-wrapper{height:auto!important;max-height:none!important;overflow:visible!important;position:relative}
.grid-2-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;align-items:center}
.grid-3-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;align-items:start}

/* Cabeçalho previsível, sem itens esmagados. */
.topbar{width:100%;max-width:100%;height:auto!important;min-height:76px;padding:1rem clamp(1.25rem,3vw,2.5rem);gap:1.5rem}
.topbar>*{min-width:0}
.desktop-nav{min-width:0;gap:clamp(.75rem,1.5vw,1.5rem)}
.desktop-nav a,.nav-cta{white-space:normal}

/* Hero: imagem e texto em células reais, nunca sobrepostos. */
.hero{
  display:grid!important;
  grid-template-columns:minmax(320px,1fr) minmax(420px,1fr)!important;
  grid-template-rows:auto!important;
  align-items:stretch;
  width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  position:relative;
  background:#f4f0e9;
}
.hero-image{position:relative!important;inset:auto!important;grid-column:1!important;grid-row:1!important;width:100%!important;height:auto!important;min-height:680px;overflow:hidden!important}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-copy,.content-block,.text-wrapper{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:780px!important;
  margin:0 auto!important;
}
.hero-copy{grid-column:2!important;grid-row:1!important;align-self:center;padding:4rem clamp(1.5rem,4vw,4rem)!important}
.hero h1{width:100%;max-width:780px!important;margin:0 0 1.5rem!important;font-size:3.5rem!important;line-height:1.2!important;letter-spacing:-.025em;white-space:normal!important;text-wrap:balance}
.hero p{font-size:1.125rem!important;line-height:1.6!important}
.hero-lead{max-width:62ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}
.hero-actions>*{min-width:0;max-width:100%}
.hero-decision,.steps-container,.helenia-steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2.5rem!important}
.hero-decision>*,.helenia-step-item{min-width:0}
.helenia-step-item{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem}
.hero-number,.vertical-note,.hero-stamp,.scroll-cue{max-width:100%}

/* Contraste e estados de navegação. */
.section-kicker,.kicker-text,.kicker,.overline{color:#8c6d58!important;font-weight:700;letter-spacing:.12em}
.tech-tab{width:100%;max-width:100%;background:transparent!important;color:#594537!important;white-space:normal!important;overflow-wrap:break-word;text-align:left}
.tech-tab.is-active,.tech-tab.active,.tech-tab[aria-selected="true"]{background:#f5f2ed!important;color:#2c2520!important;border-left:4px solid #8c6d58!important}

/* HelenIA no fluxo; formulário e calendário expandem o documento. */
.helena,.helena-panel,.helena-intro,.assistant-card,.assistant-booking,#bookingForm,.slot-list{min-width:0}
.helena{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.helena-panel{display:grid!important;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr)!important;align-items:start!important;gap:4rem;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.helena-intro,.assistant-card{position:relative!important;inset:auto!important;transform:none!important}
.helena-intro{width:auto!important;max-width:62ch}
.assistant-card{width:100%!important;max-width:720px;max-height:none!important;overflow:visible!important;margin-inline:auto}
.assistant-options,.result-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:1rem}
.assistant-options>*,.result-actions>*,.contact-actions>*{min-width:0;max-width:100%}

/* Demais seções em grids estáveis. */
.story-grid,.portrait{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4rem;align-items:center;height:auto!important;max-height:none!important;overflow:visible!important}
.story-image,.story-copy,.portrait-image,.portrait-copy{position:relative!important;inset:auto!important;transform:none!important;min-width:0;width:auto!important;max-width:100%}
.journey-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2.5rem}
.technology-stage{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;gap:3rem;height:auto!important;max-height:none!important;overflow:visible!important}
.tech-nav,.tech-display{min-width:0;width:auto!important;position:relative!important;inset:auto!important;transform:none!important}

/* Resultados: fotos completas, espaço reservado e texto HTML separado. */
.home-results-grid,.results-grid,.gallery-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;gap:2rem}
.result-card,.case-card,.home-result-card{min-width:0;max-width:100%;height:auto!important;max-height:none!important;overflow:visible!important}
.result-card__media{position:relative;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;background:#f5f2ed}
.result-card__open{display:block;width:100%;padding:0;border:0;background:#f5f2ed;cursor:zoom-in}
.result-card__open:focus-visible{outline:3px solid #8c6d58;outline-offset:4px}
.result-card__media img,.results-grid img,.gallery-grid img{width:100%;height:auto!important;max-height:none!important;aspect-ratio:1/1;object-fit:contain!important;object-position:center;background:#f5f2ed}
.result-card__badge{max-width:calc(100% - 2rem);white-space:normal}
.result-card__body{height:auto!important;max-height:none!important;overflow:visible!important}

/* Lightbox acessível: ESC, foco contido e sem bloquear a rolagem do documento. */
.results-lightbox-v6[hidden]{display:none}
.results-lightbox-v6{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:clamp(1rem,3vw,2.5rem);background:rgba(20,18,16,.9);overflow:auto}
.results-lightbox-v6__panel{position:relative;width:min(100%,1000px);max-height:none;padding:clamp(1rem,3vw,2rem);background:#f5f2ed;color:#2c2520}
.results-lightbox-v6__close{position:absolute;z-index:2;top:.75rem;right:.75rem;width:48px;height:48px;border:1px solid #594537;background:#fff;color:#2c2520;font-size:1.75rem;cursor:pointer}
.results-lightbox-v6__image{width:100%;max-height:72vh!important;aspect-ratio:auto!important;object-fit:contain!important;background:#f5f2ed}
.results-lightbox-v6__title{margin:1.25rem 3.5rem .5rem 0;font-size:1.35rem}
.results-lightbox-v6__caption{margin:0;max-width:75ch;line-height:1.6}

/* FAQ e contato. */
.faq{display:grid!important;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr)!important;gap:4rem;align-items:start;height:auto!important;max-height:none!important;overflow:visible!important}
.faq-title,.faq-list,.faq details,.faq summary{min-width:0}
.faq summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:start}
.contact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch;height:auto!important;max-height:none!important;overflow:visible!important}
.contact>img{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:100%!important;min-height:420px;object-fit:cover}
.contact-overlay{display:none!important}
.contact-copy{position:relative!important;inset:auto!important;transform:none!important;width:auto!important;max-width:none!important;min-width:0;background:#262b26;padding:clamp(3rem,5vw,5rem)}
.contact address{font-style:normal}

@media(max-width:1100px){
  .desktop-nav{display:none!important}
  .menu-toggle{display:inline-flex!important}
  .helena-panel{grid-template-columns:1fr!important;gap:3rem}
  .helena-intro,.assistant-card{max-width:760px}
  .technology-stage{grid-template-columns:1fr!important}
  .tech-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
}
@media(max-width:900px){
  .grid-2-cols,.grid-3-cols,.story-grid,.portrait,.journey-grid,.faq,.contact{grid-template-columns:1fr!important}
  .hero{grid-template-columns:1fr!important}
  .hero-image{grid-column:1!important;grid-row:1!important;min-height:0;height:clamp(360px,68vw,600px)!important}
  .hero-copy{grid-column:1!important;grid-row:2!important;max-width:780px!important;padding:3rem clamp(1.25rem,4vw,2.5rem)!important}
  .hero-number,.vertical-note,.hero-stamp,.scroll-cue{position:relative!important;inset:auto!important;transform:none!important}
  .contact>img{min-height:380px}
}
@media(max-width:768px){
  .nav-cta{display:none!important}
  .hero h1{font-size:2.5rem!important;line-height:1.2!important;text-wrap:pretty}
  .hero-copy h1 br,.helena-intro h2 br,.faq-title h2 br,.contact-copy h2 br{display:none}
  .hero-actions,.assistant-options,.result-actions,.contact-actions{align-items:stretch;flex-direction:column}
  .hero-actions>*,.assistant-options>*,.result-actions>*,.contact-actions>*{width:100%}
  .hero-decision,.steps-container,.helenia-steps{grid-template-columns:1fr!important;gap:1.5rem!important}
  .tech-nav{grid-template-columns:1fr}
  .tech-tab{min-height:48px}
  .contact>img{min-height:320px}
}
@media(max-height:800px) and (min-width:1024px){
  .hero,main>section{padding-top:3rem!important;padding-bottom:3rem!important;min-height:auto!important}
  .hero-image{min-height:560px}
}

/* O texto do kicker já existe no HTML; remove a duplicação criada pelo CSS legado. */
.hero-copy .kicker::before,
.hero-copy .kicker::after{content:none!important;display:none!important}


/* PR 37 — Hero legível, tecnologias e navegação móvel */
.hero-decision{border-color:rgba(44,37,32,.18)!important}
.hero-decision span,.hero-decision span+span{color:#594537!important;border-color:rgba(44,37,32,.16)!important;opacity:1!important}
.hero-decision b{color:#a06f56!important;opacity:1!important}

@media(max-width:768px){
  .hero-copy{background:#f9f7f4!important;color:#2c2520!important}
  .hero-copy .kicker{color:#8c6d58!important;opacity:1!important}
  .hero h1{color:#2c2520!important}
  .hero h1 em{color:#a06f56!important}
  .hero-lead,.hero-copy p{color:#5f5750!important;opacity:1!important}
  .hero-actions .primary-link{color:#fff!important;background:#bd8063!important;border-color:#bd8063!important}
  .hero-decision{margin-top:1.75rem!important;border-top:1px solid rgba(44,37,32,.18)!important;border-bottom:1px solid rgba(44,37,32,.18)!important}
  .hero-decision span,.hero-decision span+span{display:grid!important;grid-template-columns:2.2rem minmax(0,1fr);gap:.5rem;padding:.85rem 0!important;border-left:0!important;border-top:1px solid rgba(44,37,32,.12)!important;color:#594537!important;font-size:.72rem!important;line-height:1.35!important}
  .hero-decision span:first-child{border-top:0!important}
  .hero-decision b{display:block!important;width:auto!important;color:#a06f56!important;font-size:1.15rem!important}

  .technology-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:1rem!important;width:100%!important;max-width:none!important;margin:0!important;padding:3.5rem max(1.25rem,env(safe-area-inset-left)) 2rem!important}
  .technology-head .overline{display:block!important;width:100%!important;margin:0!important;white-space:nowrap!important;font-size:.68rem!important;line-height:1.4!important;letter-spacing:.11em!important}
  .technology-head h2{width:100%!important;max-width:14ch!important;margin:0!important;font-size:2.65rem!important;line-height:1.02!important}
  .technology-head>p:last-child{width:100%!important;max-width:34ch!important;margin:0!important;color:#594f47!important;font-size:.92rem!important;line-height:1.55!important}
  .technology-stage{margin-top:0!important}

  .topbar{height:72px!important;padding:0 1rem!important}
  .menu-toggle{position:relative!important;display:block!important;width:48px!important;height:48px!important;padding:0!important;border:0!important;background:transparent!important;justify-self:end!important}
  .menu-toggle span{position:absolute!important;left:12px!important;top:23px!important;width:24px!important;height:2px!important;margin:0!important;background:#2c2520!important;transform-origin:center!important;transition:transform .25s ease!important}
  .menu-toggle span:first-child{transform:translateY(-5px)!important}
  .menu-toggle span:last-child{transform:translateY(5px)!important}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)!important}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)!important}
  .mobile-nav{inset:72px 0 0!important;padding:1rem 1.25rem 2rem!important;gap:0!important;overflow-y:auto!important}
  .mobile-nav a{display:block!important;width:100%!important;padding:1rem 0!important;font-size:1.65rem!important;line-height:1.15!important;overflow-wrap:normal!important;word-break:normal!important}
}

@media(max-width:380px){
  .technology-head h2{font-size:2.35rem!important}
  .mobile-nav a{font-size:1.45rem!important}
}
